:root{--primary:#0f766e;--primary-dark:#115e59;--primary-light:#e6f4f2;--gold:#f59e0b;--gold-text:#b45309;--danger:#dc2626;--background:#fffbf2;--surface:#fff;--border:#e5e7eb;--text-primary:#1f2937;--text-secondary:#6b7280;--shadow:0 6px 20px rgba(17,94,89,.08);--radius-card:20px;--radius-md:14px;--radius-sm:10px;--screen-pad:20px;--max-width:560px}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--background);color:var(--text-primary);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans Thai,Leelawadee UI,Tahoma,sans-serif;min-height:100dvh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.shell{margin:0 auto;max-width:var(--max-width);min-height:100dvh;padding:0 var(--screen-pad) 48px}.brand{align-items:center;display:flex;gap:10px;padding:22px 0 16px}.brand-logo{display:block;height:24px;width:auto}.brand-lang{align-items:center;display:inline-flex;font-size:13px;font-weight:600;gap:2px;margin-left:auto}.brand-lang a,.brand-lang span{color:var(--text-secondary);padding:12px 9px}.brand-lang span[aria-current]{color:var(--primary-dark);text-decoration:underline;text-underline-offset:4px}.brand-pin.brand-pin-after{margin-left:0}.brand-pin{align-items:center;background:var(--primary-light);border-radius:999px;color:var(--primary-dark);display:inline-flex;font-size:13px;font-weight:600;gap:4px;margin-left:auto;padding:5px 11px}.hero{background:linear-gradient(135deg,var(--primary-dark),var(--primary));border-radius:var(--radius-card);box-shadow:var(--shadow);color:#fff;margin-bottom:22px;padding:22px}.hero h1{font-size:21px;font-weight:800;line-height:1.35}.hero p{color:hsla(0,0%,100%,.88);font-size:14px;margin-top:8px}.section-title{font-size:16px;font-weight:700;margin:6px 0 14px}.category-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr 1fr}.category-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;padding:18px;transition:transform .12s ease}.category-tile:active{transform:scale(.98)}.category-icon{align-items:center;background:var(--primary-light);border-radius:14px;color:var(--primary-dark);display:inline-flex;height:46px;justify-content:center;width:46px}.category-label{font-size:16px;font-weight:700}.category-desc{color:var(--text-secondary);font-size:12.5px}.list{display:flex;flex-direction:column;gap:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);overflow:hidden}.photo{display:block}.card-cover{background:var(--primary-light);height:168px;object-fit:cover;width:100%}.card-cover-empty{align-items:center;color:var(--primary);display:flex;justify-content:center}.card-body{display:flex;flex-direction:column;gap:6px;padding:16px}.card-title{font-size:16px;font-weight:700}.card-shop{color:var(--text-secondary);font-size:13px}.card-sub{align-items:center;display:flex;gap:8px;justify-content:space-between}.card-sub .card-shop{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-capacity{align-items:center;color:var(--text-secondary);display:inline-flex;flex-shrink:0;font-size:13px;gap:4px}.card-meta{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-top:4px}.price{color:var(--primary);font-size:16px;font-weight:800}.rating{align-items:center;color:var(--gold-text);display:inline-flex;font-size:13px;font-weight:600;gap:3px}.rating svg{color:var(--gold)}.btn{align-items:center;background:var(--primary);border:none;border-radius:var(--radius-md);color:#fff;display:flex;font-size:16px;font-weight:700;gap:8px;justify-content:center;padding:15px 18px;width:100%}.btn:disabled{opacity:.55}.btn.is-disabled{opacity:.55;pointer-events:none}.btn-ghost{background:var(--surface);border:1px solid var(--border);color:var(--primary-dark)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:14px;font-weight:600}.date-button,.field input,.field textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:16px;padding:13px 14px;width:100%}.date-button{align-items:center;cursor:pointer;display:flex;gap:10px;justify-content:space-between;min-height:50px;text-align:left}.date-button.is-empty{color:var(--text-secondary)}.date-button:focus-visible{border-color:var(--primary);outline:none}.date-button-icon{color:var(--primary);flex-shrink:0}.sheet-backdrop{align-items:flex-end;animation:sheet-fade .16s ease-out;background:rgba(17,24,39,.45);display:flex;inset:0;justify-content:center;position:fixed;z-index:50}.sheet{animation:sheet-rise .2s ease-out;background:var(--surface);border-radius:var(--radius-card) var(--radius-card) 0 0;box-shadow:var(--shadow);max-height:92dvh;max-width:var(--max-width);outline:none;overflow:hidden;width:100%}.sheet,.sheet-body{display:flex;flex-direction:column}.sheet-body{gap:12px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 16px 12px}.sheet-body:last-child{padding-bottom:calc(16px + env(safe-area-inset-bottom))}@media (min-width:640px){.sheet-backdrop{align-items:center}.sheet{border-radius:var(--radius-card);max-width:440px}}@keyframes sheet-rise{0%{transform:translateY(24px);opacity:0}}@keyframes sheet-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.sheet,.sheet-backdrop{animation:none}}.sheet-head{align-items:center;display:flex;justify-content:space-between}.sheet-title{font-size:18px;font-weight:700}.sheet-close{align-items:center;background:none;border:none;border-radius:999px;display:flex;height:44px;justify-content:center;margin-right:-10px;width:44px}.sheet-close,.sheet-helper{color:var(--text-secondary)}.sheet-helper{font-size:14px}.stay-picks{display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr 1fr}.stay-pick{border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:2px;min-width:0;padding:10px 12px}.stay-pick.is-active{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.stay-pick-label{color:var(--text-secondary);font-size:12px;font-weight:600}.stay-pick-value{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stay-pick-value.is-empty{color:var(--text-secondary);font-weight:400}.sheet-foot{border-top:1px solid var(--border);display:grid;flex-shrink:0;grid-gap:10px;gap:10px;grid-template-columns:auto 1fr;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.sheet-clear{padding-inline:16px;width:auto}.cal-head{align-items:center;display:flex;justify-content:space-between}.cal-month{font-size:16px;font-weight:700}.cal-nav{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--primary-dark);display:flex;height:44px;justify-content:center;width:44px}.cal-nav:disabled{color:var(--border)}.cal-grid{display:flex;flex-direction:column;gap:2px;margin-top:6px}.cal-row{display:grid;grid-template-columns:repeat(7,1fr)}.cal-weekday{color:var(--text-secondary);font-size:13px;font-weight:600;padding:4px 0;text-align:center}.cal-cell{display:flex;justify-content:center}.cal-cell.is-range{background:var(--primary-light)}.cal-cell.is-start:has(+.is-range,+.is-end){background:linear-gradient(to right,transparent 50%,var(--primary-light) 50%)}.cal-cell.is-range+.cal-cell.is-end,.cal-cell.is-start+.cal-cell.is-end{background:linear-gradient(to left,transparent 50%,var(--primary-light) 50%)}.cal-day{align-items:center;aspect-ratio:1;background:none;border:1px solid transparent;border-radius:999px;color:var(--text-primary);display:flex;font-family:inherit;font-size:16px;justify-content:center;max-width:48px;min-height:44px;width:100%}.cal-cell.is-range .cal-day{color:var(--primary-dark);font-weight:600}.cal-day.is-today{border-color:var(--primary);color:var(--primary);font-weight:600}.cal-day:disabled{cursor:default}.cal-day.is-past,.cal-day:disabled:not(.is-struck){color:var(--text-secondary);opacity:.45}.cal-day.is-struck{color:var(--text-secondary);opacity:1;-webkit-text-decoration-color:var(--text-primary);text-decoration-color:var(--text-primary);-webkit-text-decoration-line:line-through;text-decoration-line:line-through;text-decoration-thickness:1.5px}.cal-day.is-picked,.cal-day.is-picked:disabled{background:var(--primary);border-color:var(--primary);color:var(--surface);font-weight:700;opacity:1}.cal-day:not(:disabled):focus-visible{outline:2px solid var(--primary);outline-offset:1px}@media (hover:hover) and (pointer:fine){.cal-day:not(:disabled):not(.is-picked):hover{background:var(--primary-light)}}.cal-legend{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;gap:8px}.cal-legend-mark{font-weight:600;-webkit-text-decoration-color:var(--text-primary);text-decoration-color:var(--text-primary);-webkit-text-decoration-line:line-through;text-decoration-line:line-through;text-decoration-thickness:1.5px}.stepper{gap:10px}.stepper,.stepper-btn{align-items:center;display:flex}.stepper-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--primary-dark);flex-shrink:0;height:50px;justify-content:center;width:50px}.stepper-btn:disabled{color:var(--border)}.field .stepper-input{flex:1 1;font-weight:700;min-width:0;text-align:center}.field input:focus,.field textarea:focus{border-color:var(--primary);outline:none}.field-error{color:var(--danger);font-size:13px}.photo-picker{display:flex;flex-wrap:wrap;gap:8px}.photo-picker figure{height:72px;margin:0;position:relative;width:72px}.photo-picker img{border-radius:var(--radius-sm);height:100%;object-fit:cover;width:100%}.photo-remove{align-items:center;background:rgba(31,41,55,.72);border:none;border-radius:999px;color:#fff;cursor:pointer;display:flex;height:30px;justify-content:center;padding:0;position:absolute;right:-8px;top:-8px;width:30px}.photo-remove:after{content:"";inset:-7px;position:absolute}.photo-add{align-items:center;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--primary-dark);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;font-size:11px;gap:2px;height:72px;justify-content:center;width:72px}.photo-add:disabled{color:var(--text-secondary);cursor:default;opacity:.65}.callout{background:var(--primary-light);border-radius:var(--radius-md);color:var(--primary-dark);display:flex;gap:10px;font-size:13.5px;padding:14px}.back{display:inline-flex;font-size:14px;font-weight:600;gap:4px;padding:18px 0 8px}.back,.state{align-items:center;color:var(--text-secondary)}.state{display:flex;flex-direction:column;gap:10px;padding:64px 20px;text-align:center}.spinner{animation:spin .8s linear infinite;border-radius:50%;border:3px solid var(--primary-light);border-top-color:var(--primary);height:34px;width:34px}@keyframes spin{to{transform:rotate(1turn)}}.summary{background:var(--primary-light);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:4px;padding:16px}.summary-label{color:var(--primary-dark);font-size:13px}.summary-price{color:var(--primary-dark);font-size:20px;font-weight:800}.summary-hint{color:var(--primary-dark);font-size:12px}.summary-lines{border-top:1px solid rgba(17,94,89,.15);display:grid;grid-gap:4px;gap:4px;list-style:none;margin:6px 0 0;padding:8px 0 0}.summary-lines li{color:var(--primary-dark);display:flex;font-size:13px;gap:12px;justify-content:space-between}.summary-terms{border-top:1px solid rgba(17,94,89,.15);color:var(--primary-dark);font-size:12.5px;line-height:1.6;margin-top:6px;padding-top:8px}.success-icon{align-items:center;background:var(--primary-light);border-radius:50%;color:var(--primary);display:flex;height:72px;justify-content:center;margin:0 auto;width:72px}.footer-note{color:var(--text-secondary);font-size:12px;padding:28px 0 0;text-align:center}.post-author{gap:10px;margin-bottom:4px}.post-author,.post-avatar{align-items:center;display:flex}.post-avatar{background:var(--primary-light);border-radius:50%;color:var(--primary-dark);flex-shrink:0;font-weight:700;height:42px;justify-content:center;overflow:hidden;width:42px}.post-avatar-img{height:100%;object-fit:cover;width:100%}.post-name{align-items:center;display:inline-flex;font-weight:700;gap:5px}.post-verified{color:var(--primary)}.post-type-tag{background:var(--primary-light);border-radius:999px;color:var(--primary-dark);font-size:12.5px;font-weight:600;margin-left:auto;padding:4px 10px}.post-text{font-size:15.5px;line-height:1.6;margin:6px 0;white-space:pre-wrap}.intro{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:-6px 0 18px}.breadcrumb{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:13px;gap:2px;padding:4px 0 14px}.breadcrumb-item{align-items:center;display:inline-flex;gap:2px}.breadcrumb a{color:var(--primary-dark);font-weight:600}.breadcrumb [aria-current=page]{color:var(--text-secondary)}.detail-cover{aspect-ratio:16/10;background:var(--primary-light);border-radius:var(--radius-card);box-shadow:var(--shadow);object-fit:cover;width:100%}.detail-cover-empty{align-items:center;color:var(--primary);display:flex;justify-content:center}.detail-gallery{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(4,1fr);margin-top:8px}.photo-open{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;border-radius:var(--radius-card);cursor:zoom-in;display:block;padding:0;position:relative;width:100%}.detail-gallery .photo-open{border-radius:var(--radius-sm)}.photo-open img{display:block}.photo-open:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.photo-count{background:var(--surface);border-radius:999px;bottom:12px;box-shadow:var(--shadow);color:var(--text-primary);font-size:13px;font-weight:600;gap:6px;padding:6px 10px;right:12px}.photo-count,.photo-more{align-items:center;display:flex;position:absolute}.photo-more{background:rgba(17,24,39,.55);border-radius:var(--radius-sm);color:var(--surface);font-size:18px;font-weight:700;inset:0;justify-content:center}.viewer{animation:sheet-fade .16s ease-out;background:rgba(0,0,0,.94);inset:0;outline:none;position:fixed;z-index:60}.viewer-track{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;scroll-snap-type:x mandatory;scrollbar-width:none}.viewer-track::-webkit-scrollbar{display:none}.viewer-slide{flex:0 0 100%;margin:0;padding:calc(64px + env(safe-area-inset-top)) 0 calc(56px + env(safe-area-inset-bottom));scroll-snap-align:center;scroll-snap-stop:always}.viewer-slide,.viewer-slide .photo{align-items:center;display:flex;height:100%;justify-content:center}.viewer-slide .photo{width:100%}.viewer-img{max-height:100%;max-width:100%;object-fit:contain}.viewer-button{align-items:center;background:hsla(0,0%,100%,.16);border:none;border-radius:999px;color:var(--surface);display:flex;height:44px;justify-content:center;position:absolute;width:44px}.viewer-button:focus-visible{outline:2px solid var(--surface);outline-offset:2px}.viewer-close{right:12px;top:calc(12px + env(safe-area-inset-top))}.viewer-nav{display:none;top:50%;transform:translateY(-50%)}.viewer-prev{left:16px}.viewer-next{right:16px}.viewer-nav:disabled{opacity:.3}@media (hover:hover) and (pointer:fine){.viewer-nav{display:flex}}.viewer-count{bottom:calc(16px + env(safe-area-inset-bottom));color:var(--surface);font-size:14px;font-weight:600;left:0;margin:0;pointer-events:none;position:absolute;right:0;text-align:center}@media (prefers-reduced-motion:reduce){.viewer{animation:none}}.detail-gallery img{aspect-ratio:1/1;border-radius:var(--radius-sm);object-fit:cover;width:100%}.detail-title{font-size:22px;font-weight:800;line-height:1.3;margin:18px 0 6px}.detail-shop{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:15px;font-weight:600;gap:8px}.verified-badge{font-size:12.5px;gap:4px}.new-shop,.verified-badge{align-items:center;background:var(--primary-light);border-radius:999px;color:var(--primary-dark);display:inline-flex;font-weight:700;padding:3px 9px}.new-shop{font-size:12px}.detail-meta{align-items:center;display:flex;flex-wrap:wrap;gap:14px;margin:14px 0 4px}.detail-capacity{color:var(--text-secondary)}.detail-capacity,.detail-response{align-items:center;display:inline-flex;font-size:14px;gap:5px}.detail-response{color:var(--primary-dark);font-weight:500}.detail-section{margin-top:22px}.detail-heading{font-size:15px;font-weight:700;margin-bottom:6px}.detail-desc{color:var(--text-primary);font-size:14.5px;line-height:1.7;white-space:pre-wrap}.detail-address{align-items:flex-start;color:var(--text-secondary);display:flex;font-size:14px;gap:6px;line-height:1.6}.terms-grid{display:grid;grid-gap:10px;gap:10px}.terms-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);display:grid;grid-gap:6px;gap:6px;padding:14px 16px}.terms-card h3{font-size:14.5px;font-weight:700;margin:0 0 2px}.terms-row{display:flex;font-size:14px;gap:12px;justify-content:space-between;margin:0}.terms-row span{color:var(--text-secondary)}.terms-rule{align-items:flex-start;color:var(--text-primary);display:flex;font-size:14px;gap:8px;margin:0}.terms-rule svg{color:var(--primary);flex:none;margin-top:2px}.terms-rule.is-no svg{color:var(--danger)}.terms-note{color:var(--text-secondary);font-size:13.5px;line-height:1.55;margin:0}.terms-note strong{color:var(--text-primary)}.terms-deposit{color:var(--primary-dark);font-size:14px;font-weight:600;margin:0}.detail-section+.callout{margin-top:22px}.cta-book{bottom:16px;box-shadow:var(--shadow);margin-top:24px;position:-webkit-sticky;position:sticky;z-index:5}.review-summary{align-items:center;background:var(--primary-light);border-radius:var(--radius-md);display:flex;gap:12px;padding:12px 14px}.review-score{font-size:26px;font-weight:800;line-height:1}.review-summary-meta{display:flex;flex-direction:column;gap:3px}.review-summary-count{color:var(--primary-dark);font-size:13.5px}.review-empty{color:var(--text-secondary);font-size:13.5px}.review-stars{display:inline-flex;flex-shrink:0;gap:1px}.star-on{color:var(--gold)}.star-off{color:var(--border)}.review-note{align-items:flex-start;color:var(--text-secondary);display:flex;font-size:12.5px;gap:6px;line-height:1.5;margin:10px 0 12px}.review-note svg{color:var(--primary);flex-shrink:0;margin-top:2px}.review-filters{display:flex;gap:8px;margin-bottom:12px;overflow-x:auto;padding-bottom:2px}.chip{background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);flex-shrink:0;font-size:13px;font-weight:600;min-height:44px;padding:0 14px}.chip[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--surface)}.review-list{gap:10px;list-style:none}.review-item,.review-list{display:flex;flex-direction:column}.review-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);gap:8px;padding:12px 14px}.review-head{gap:10px}.review-avatar,.review-head{align-items:center;display:flex}.review-avatar{background:var(--primary-light);border-radius:50%;color:var(--primary-dark);flex-shrink:0;font-size:14px;font-weight:700;height:32px;justify-content:center;width:32px}.review-who{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.review-name{align-items:center;display:inline-flex;font-size:14px;font-weight:700;gap:4px}.review-verified{color:var(--primary);display:inline-flex}.review-date{color:var(--text-secondary);font-size:12px}.review-comment{font-size:14px;line-height:1.6;white-space:pre-wrap}.review-photos{display:flex;gap:6px}.review-photos img{border-radius:var(--radius-sm);display:block;height:72px;object-fit:cover;width:72px}.review-more{margin-top:12px}.contact-row{display:flex;gap:10px}.contact-row .btn{flex:1 1;min-width:0}.contact-hint{line-height:1.5;margin-top:8px}.contact-hint,.post-date{color:var(--text-secondary);font-size:12.5px}.post-shop{background:var(--background);border:1px solid var(--border);border-radius:14px;color:inherit;gap:10px;padding:10px 12px;text-decoration:none}.post-shop,.post-shop-icon{align-items:center;display:flex}.post-shop-icon{background:var(--primary-light);border-radius:10px;color:var(--primary-dark);flex-shrink:0;height:38px;justify-content:center;width:38px}.post-shop-text{display:flex;flex-direction:column;gap:2px;min-width:0}.post-shop-name{font-size:14px;font-weight:700}.site-footer{border-top:1px solid var(--border);color:var(--text-secondary);font-size:13px;margin:0 auto;max-width:var(--max-width);padding:20px var(--screen-pad) 32px}.site-footer nav{display:flex;flex-wrap:wrap;gap:4px 18px;margin-bottom:8px}.site-footer a{color:var(--primary-dark);display:inline-block;font-weight:600;padding:6px 0}.form-legal{color:var(--text-secondary);font-size:13px;margin-top:10px;text-align:center}.form-legal a,.legal a{color:var(--primary-dark);font-weight:600;text-decoration:underline;text-underline-offset:2px}.legal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);font-size:15px;line-height:1.7;padding:22px 20px}.legal h1{font-size:21px;font-weight:800;line-height:1.35}.legal-updated{color:var(--text-secondary);font-size:13px;margin:4px 0 16px}.legal h2{font-size:16px;font-weight:700;margin:22px 0 8px}.legal p+p,.legal p+ul,.legal ul+p{margin-top:10px}.legal ol,.legal ul{display:flex;flex-direction:column;gap:8px;padding-left:20px}.legal-callout{background:var(--primary-light);color:var(--primary-dark);margin-top:14px;padding:14px 16px}.guide-hero,.legal-callout{border-radius:var(--radius-md)}.guide-hero{aspect-ratio:16/9;display:block;height:auto;margin-bottom:16px;object-fit:cover;width:100%}.guide-cta{margin:16px 0 6px}.guide-cta .btn{text-decoration:none}.guide-cta p{color:var(--text-secondary);font-size:13px;margin-top:8px;text-align:center}.legal.guide a.btn{color:#fff}.legal.guide a.btn-ghost{color:var(--primary-dark);margin-top:10px}.guide-faq{display:flex;flex-direction:column;gap:14px}.guide-faq dt{font-weight:700}.guide-faq dd{margin:4px 0 0}.guide-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin-bottom:8px;padding:0}.guide-list a{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--primary-dark);display:block;font-weight:600;padding:14px 16px}.guide-cards{display:grid;grid-gap:14px;gap:14px;grid-template-columns:1fr;margin-bottom:14px}@media (min-width:640px){.guide-cards{grid-template-columns:1fr 1fr}}.guide-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}.guide-card img{aspect-ratio:16/9;display:block;height:auto;object-fit:cover;width:100%}.guide-card-title{font-size:16px;font-weight:700;padding:14px 16px 4px}.guide-card-desc{color:var(--text-secondary);font-size:14px;line-height:1.6;padding:0 16px 16px}.shop-benefits,.shop-categories,.shop-steps{display:flex;flex-direction:column;gap:10px;list-style:none;margin-bottom:8px;padding:0}.shop-benefits li,.shop-steps li{align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;gap:12px;padding:14px 16px}.shop-benefits li>span:last-child{display:flex;flex-direction:column;gap:2px}.shop-benefits li>span:last-child>span{color:var(--text-secondary);font-size:14px;line-height:1.6}.shop-benefits .category-icon{flex-shrink:0}.shop-step-number,.shop-steps li{align-items:center}.shop-step-number{background:var(--primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:700;height:28px;justify-content:center;width:28px}.shop-categories{flex-direction:row;flex-wrap:wrap;margin-bottom:18px}.shop-categories li{align-items:center;background:var(--primary-light);border-radius:999px;color:var(--primary-dark);display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:8px 14px}.sample-frame{border:2px dashed var(--border);border-radius:var(--radius-card);margin-bottom:8px;padding:12px}.sample-tag{color:var(--text-secondary);font-size:13px;font-weight:600;margin-bottom:10px;text-align:center}.sample-frame .card-cover-empty{flex-direction:column;font-size:14px;font-weight:600;gap:6px}.sample-pill{align-items:center;background:var(--primary-light);border-radius:999px;color:var(--primary-dark);display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:3px 9px}.legal-back{margin-top:24px}.search-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;margin-bottom:14px;padding:16px}.link-button{background:none;border:none;color:var(--primary-dark);font-size:14px;font-weight:700;min-height:44px;padding:0 4px}.search-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:-6px;min-height:24px}.search-label{font-size:14px;font-weight:600}.search-clear{margin:-10px -4px}.search-guests{align-items:center;border-top:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;padding-top:12px}.search-guests .stepper-btn{height:44px;width:44px}.search-guests .stepper-input{background:none;border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:17px;font-weight:700;padding:0;text-align:center;width:44px}.search-guests .stepper-input:focus{outline:2px solid var(--primary)}.filter-row{display:flex;gap:8px;margin-bottom:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.filter-pill{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--text-primary);display:inline-flex;flex-shrink:0;font-size:14px;font-weight:600;gap:4px;min-height:44px;padding:0 14px;white-space:nowrap}.filter-pill svg{color:var(--text-secondary)}.filter-pill.is-active{background:var(--primary-light);border-color:var(--primary)}.filter-pill.is-active,.filter-pill.is-active svg{color:var(--primary-dark)}.result-bar{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px;min-height:44px}.result-count{color:var(--text-secondary);font-size:14px;font-weight:600}.option-list{display:flex;flex-direction:column;gap:4px;margin-top:8px}.option-row{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--text-primary);display:flex;font-size:16px;justify-content:space-between;min-height:52px;padding:0 12px;text-align:left;width:100%}.option-row.is-selected{background:var(--primary-light);color:var(--primary-dark);font-weight:700}.card-price{display:flex;flex-direction:column}.card-price-hint{color:var(--text-secondary);font-size:12px;font-weight:600}.card-cta{align-items:center;border-top:1px solid var(--border);color:var(--primary-dark);display:flex;font-size:14px;font-weight:700;justify-content:space-between;margin-top:8px;padding-top:10px}.stay-chip{font-size:13.5px;font-weight:600;gap:8px;margin-top:14px;padding:12px 14px}.stay-chip svg{flex-shrink:0}.stay-chip.is-refused{background:var(--surface);border:1px solid var(--border);color:var(--text-primary)}.concierge{flex-direction:column;gap:12px;padding:28px 0 8px;text-align:center}.concierge,.concierge-icon{align-items:center;display:flex}.concierge-icon{background:var(--primary-light);border-radius:50%;color:var(--primary);height:64px;justify-content:center;width:64px}.concierge-title{font-size:18px;font-weight:800}.concierge-text{color:var(--text-secondary);font-size:14px;line-height:1.6;max-width:34ch}.concierge-hours{display:block;white-space:nowrap}.concierge-sub{align-self:flex-start;font-size:15px;font-weight:700;margin-top:18px}.concierge .category-grid{text-align:left;width:100%}.intro-footer{font-size:13px;margin:28px 0 0}.stay-eyebrow{align-items:center;background:hsla(0,0%,100%,.16);border-radius:999px;display:inline-flex;font-size:13px;font-weight:700;gap:6px;margin-bottom:10px;padding:5px 12px}.stay-callout{margin-top:18px}.stay-chip{align-items:center;background:var(--primary-light);border-radius:var(--radius-md);color:var(--primary-dark);display:flex;font-size:14px;gap:10px;padding:10px 6px 10px 14px}.stay-chip-text{flex:1 1;min-width:0}.stay-chip-text strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stay-chip-hint{color:var(--primary-dark);font-size:12.5px;opacity:.85}.stay-chip-remove{align-items:center;background:none;border:0;border-radius:999px;color:var(--primary-dark);display:inline-flex;flex:none;height:44px;justify-content:center;width:44px}.poster-actions{gap:10px;padding:22px 0 18px}.poster,.poster-actions{display:flex;flex-direction:column}.poster{align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius-card);padding:32px 24px 28px;text-align:center}.poster-logo{height:26px;width:auto}.poster-eyebrow{color:var(--text-secondary);font-size:15px;margin-top:22px}.poster-name{color:var(--primary-dark);font-size:26px;font-weight:800;line-height:1.3;margin-top:2px;overflow-wrap:anywhere}.poster .qr{height:auto;margin:18px 0 14px;max-width:320px;width:78%}.poster-lead{font-size:18px;font-weight:700;line-height:1.45}.poster-sub{font-size:13.5px;margin-top:4px}.poster-note,.poster-sub{color:var(--text-secondary)}.poster-note{border-top:1px solid var(--border);font-size:12.5px;margin-top:18px;padding-top:12px;width:100%}@media print{@page{margin:12mm}body,html{background:#fff}.poster-actions,.site-footer{display:none}.poster-shell{max-width:none;min-height:0;padding:0}.poster{border:0;border-radius:0;padding:0}.poster .qr{max-width:none;width:62%}}.field-hint{font-size:13px}.card-promoted,.field-hint{color:var(--text-secondary)}.card-promoted{background:var(--surface);border:1px solid var(--border);border-radius:999px;flex-shrink:0;font-size:11.5px;font-weight:600;padding:2px 8px}.web-payment{display:grid;grid-gap:12px;gap:12px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--primary-light)}.web-payment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;color:var(--primary-dark)}.web-payment-head p,.web-payment-muted{margin:4px 0 0;color:var(--text-secondary);font-size:.86rem;line-height:1.5}.web-payment-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid var(--border);font-size:.9rem}.web-payment-status{display:inline-flex;align-items:center;gap:5px;text-align:right;color:var(--text-secondary)}.web-payment-status-confirmed{color:var(--primary-dark)}.web-payment-status-not_found{color:var(--danger)}.web-payment-file{position:relative;overflow:hidden}.web-payment-file input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.web-payment-file.is-disabled{opacity:.55}.web-payment-success{align-items:flex-start;background:var(--surface);border:1px solid var(--primary);border-radius:var(--radius-md);color:var(--primary-dark);display:flex;gap:10px;padding:12px}.web-payment-success svg{flex-shrink:0}.web-payment-success p{color:var(--text-secondary);font-size:.86rem;line-height:1.5;margin:2px 0 0}.back-tight{padding-top:0}.requests-head{align-items:center;display:flex;gap:12px;justify-content:space-between}.requests-head .section-title{font-size:20px;margin:6px 0}.requests-refresh{align-items:center;background:none;border:0;color:var(--primary-dark);display:inline-flex;font-size:13.5px;font-weight:600;gap:6px;min-height:44px;padding:0 4px}.requests-refresh:disabled{opacity:.6}.line-steps{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0;padding-left:22px}.requests-count{color:var(--text-secondary);font-size:13.5px;margin-bottom:12px}.requests-note{margin-top:18px}.state-tight{padding:36px 12px 28px}.state-tight strong{color:var(--text-primary);font-size:16px}.state-tight span{font-size:14px;max-width:36ch}.request-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;padding:18px}.request-head{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.request-title{font-size:16.5px;font-weight:700;line-height:1.35;min-width:0;overflow-wrap:anywhere}.request-badge{border-radius:999px;flex-shrink:0;font-size:12.5px;font-weight:700;padding:4px 10px;white-space:nowrap}.request-badge-waiting{background:rgba(245,158,11,.16);color:var(--gold-text)}.request-badge-action{background:var(--primary);color:#fff}.request-badge-good{background:var(--primary-light);color:var(--primary-dark)}.request-badge-neutral{background:var(--surface);border:1px solid var(--border);color:var(--text-secondary)}.request-badge-bad{background:rgba(220,38,38,.1);color:var(--danger)}.request-shop{color:var(--text-secondary);font-size:14px;margin-top:-6px}.request-when{align-items:center;display:flex;font-size:15px;gap:8px}.request-when svg{color:var(--text-secondary);flex-shrink:0}.request-next{background:var(--primary-light);border-radius:var(--radius-sm);color:var(--primary-dark)}.request-hold,.request-next{font-size:13.5px;padding:10px 12px}.request-hold{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.35);border-radius:var(--radius-sm);color:var(--gold-text)}.request-note{color:var(--text-secondary);font-size:14px;overflow-wrap:anywhere}.request-price{align-items:baseline;display:flex;gap:10px;justify-content:space-between}.request-price span{color:var(--text-secondary);font-size:13.5px}.request-price strong{font-size:17px;text-align:right}.request-actions{display:flex;gap:10px}.request-actions .btn{flex:1 1;padding:12px 10px}.request-confirm{border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:12px;padding:14px}.request-confirm p{font-size:14.5px}.request-issue-input{border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;min-height:96px;padding:10px 12px;resize:vertical;width:100%}.request-issue-file{align-items:flex-start;color:var(--text-secondary);display:flex;flex-direction:column;font-size:13px;gap:6px}.request-issue-file input{font:inherit;max-width:100%}.btn-danger{background:var(--danger)}.request-foot{align-items:center;display:flex;justify-content:space-between;margin:-4px 0 -8px}.request-cancel,.request-link{align-items:center;background:none;border:0;display:inline-flex;font-size:14px;font-weight:600;gap:2px;min-height:44px}.request-link{color:var(--primary-dark)}.request-cancel{color:var(--text-secondary);text-decoration:underline;text-underline-offset:3px}.request-cancel:disabled{opacity:.6}.requests-entry{align-items:center;color:var(--primary-dark);display:inline-flex;font-size:14px;font-weight:600;gap:6px;min-height:44px}