.intro{padding:var(--space-2xl) 0}.intro__content{text-align:center;max-width:680px;margin:0 auto}.intro__text{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--color-text-secondary);font-weight:300;line-height:1.8}.intro__text strong{color:var(--color-text);font-weight:500}.features__grid{gap:var(--space-2xl);grid-template-columns:1fr;display:grid}@media (width>=768px){.features__grid{grid-template-columns:repeat(3,1fr)}}.feature-card{text-align:center;padding:var(--space-2xl) var(--space-lg)}.feature-card__icon{width:48px;height:48px;margin:0 auto var(--space-lg);color:var(--color-accent)}.feature-card__title{font-family:var(--font-serif);font-size:var(--text-xl);margin-bottom:var(--space-md);font-weight:400}.feature-card__text{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.8}.detail{gap:var(--space-2xl);grid-template-columns:1fr;align-items:center;display:grid}@media (width>=768px){.detail{gap:var(--space-3xl);grid-template-columns:1fr 1fr}.detail--reverse .detail__media{order:2}}.detail__media{border-radius:var(--radius-md);position:relative;overflow:hidden}.detail__icon{display:none}.detail__media img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform var(--transition-slow)}.detail__media:hover img{transform:scale(1.03)}.detail__content{padding:var(--space-lg) 0}.detail__label{font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-md);font-weight:500;display:block}.detail__title{font-family:var(--font-serif);font-size:var(--text-2xl);margin-bottom:var(--space-lg);font-weight:300;line-height:1.3}.detail__text{color:var(--color-text-secondary);margin-bottom:var(--space-md);line-height:1.8}.detail__list{margin-top:var(--space-lg);list-style:none}.detail__list li{padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border-light);font-size:var(--text-sm);color:var(--color-text-secondary);align-items:center;gap:var(--space-sm);display:flex}.detail__list li:last-child{border-bottom:none}.detail__list li:before{content:"✧";color:var(--color-accent-soft);flex-shrink:0;font-size:.95em;line-height:1}@media (width<=767px){[aria-labelledby=gift-title] .detail__content .btn{width:fit-content;margin-inline:auto;margin-top:var(--space-xl);display:flex}[aria-labelledby=gift-title] .detail__content{padding-bottom:var(--space-xs)}}.gallery__grid{gap:var(--space-sm);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=640px){.gallery__grid{gap:var(--space-md);grid-template-columns:repeat(3,1fr)}}@media (width>=1024px){.gallery__grid{grid-template-columns:repeat(4,1fr)}}.gallery__item{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-card);cursor:pointer;aspect-ratio:1;box-shadow:0 4px 14px var(--color-shadow);transition:transform var(--transition-base), box-shadow var(--transition-base);-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.gallery__item:hover,.gallery__item:focus-visible{box-shadow:0 10px 28px var(--color-shadow-strong);transform:translateY(-2px)}.gallery__item:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.gallery__item img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.gallery__item:hover img{transform:scale(1.06)}.gallery__item:after{content:"";transition:background var(--transition-base);pointer-events:none;background:0 0;position:absolute;inset:0}.gallery__item:hover:after{background:#00000014}.gallery__item--more .gallery__item-overlay{color:#fff;text-align:center;pointer-events:none;z-index:1;text-shadow:0 2px 12px #00000080;padding:var(--space-md);transition:background var(--transition-base);background:linear-gradient(#3a261c4d 0%,#3a261cb3 100%);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gallery__item--more:hover .gallery__item-overlay{background:linear-gradient(#3a261c33 0%,#3a261c8c 100%)}.gallery__item-overlay-count{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:300;line-height:1}.gallery__item-overlay-text{font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;opacity:.92;margin-top:.5em}.lightbox{z-index:200;background:var(--color-overlay);opacity:0;visibility:hidden;transition:opacity var(--transition-base), visibility var(--transition-base);-webkit-backdrop-filter:blur(8px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox[aria-hidden=false]{opacity:1;visibility:visible}.lightbox{cursor:e-resize}.lightbox.lightbox--prev-zone{cursor:w-resize}.lightbox__img{object-fit:contain;border-radius:var(--radius-md);max-width:95vw;max-height:95vh;transition:opacity var(--transition-base);cursor:default;box-shadow:0 24px 48px #0006}.lightbox--swapping .lightbox__img{opacity:0}.lightbox__ghost{z-index:250;object-fit:cover;object-position:center;pointer-events:none;opacity:0;visibility:hidden;filter:drop-shadow(0 0 #0000);will-change:top, left, width, height, border-radius, clip-path;border-radius:0;position:fixed}.lightbox__ghost--visible{opacity:1;visibility:visible}.lightbox--shared-active .lightbox__img{opacity:0;transition:none}.lightbox__img--instant{transition:none!important}.lightbox__close{top:var(--space-lg);right:var(--space-lg);color:#fff;cursor:pointer;width:44px;height:44px;transition:background var(--transition-fast);background:#ffffff14;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;font-family:inherit;font-size:1.4rem;display:flex;position:absolute}.lightbox__close:hover{background:#fff3}.lightbox__nav{color:#fff;cursor:pointer;width:48px;height:48px;transition:background var(--transition-fast);z-index:1;background:#ffffff14;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox__nav:hover{background:#fff3}.lightbox__prev{left:var(--space-lg)}.lightbox__next{right:var(--space-lg)}.lightbox__paginator{bottom:var(--space-md);align-items:center;gap:var(--space-sm);color:#ffffffeb;pointer-events:none;text-shadow:0 2px 8px #00000073;flex-direction:column;display:flex;position:absolute;left:50%;transform:translate(-50%)}.lightbox__counter{font-family:var(--font-serif);font-size:var(--text-base);letter-spacing:.18em;font-weight:300}.lightbox__counter-current{color:#fff}.lightbox__counter-sep{opacity:.5;margin:0 .5em}.lightbox__counter-total{opacity:.65}.lightbox__progress{background:#fff3;border-radius:999px;width:clamp(120px,24vw,220px);height:1px;overflow:hidden}.lightbox__progress-bar{width:0%;height:100%;transition:width var(--transition-base);background:#ffffffd9;display:block}@media (width<=640px){.lightbox__close{top:var(--space-md);right:var(--space-md)}.lightbox__nav{width:40px;height:40px}.lightbox__prev{left:var(--space-sm)}.lightbox__next{right:var(--space-sm)}}@media (width<=900px) and (orientation:landscape){.lightbox__paginator{bottom:var(--space-sm)}}@media (prefers-reduced-motion:reduce){.lightbox__img,.lightbox__progress-bar{transition:none}}.nearby__grid{gap:var(--space-lg);grid-template-columns:1fr;display:grid}@media (width>=640px){.nearby__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.nearby__grid{grid-template-columns:repeat(3,1fr)}}.nearby-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:box-shadow var(--transition-base), transform var(--transition-base);overflow:hidden}.nearby-card:hover{box-shadow:0 8px 24px var(--color-shadow);transform:translateY(-2px)}.nearby-card__body{padding:var(--space-lg)}.nearby-card__title{font-family:var(--font-serif);font-size:var(--text-lg);margin-bottom:var(--space-sm);font-weight:400}.nearby-card__text{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7}.nearby-card__distance{font-size:var(--text-xs);color:var(--color-accent);margin-top:var(--space-sm);font-weight:500}.reviews__grid{gap:var(--space-lg);grid-template-columns:1fr;display:grid}@media (width>=768px){.reviews__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.reviews__grid{grid-template-columns:repeat(3,1fr)}}.review-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-xl);gap:var(--space-md);flex-direction:column;display:flex}.review-card__stars{color:var(--color-accent-soft);font-size:var(--text-sm);letter-spacing:2px}.review-card__text{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--color-text-secondary);flex:1;font-style:italic;font-weight:300;line-height:1.7}.review-card__author{font-size:var(--text-xs);color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--color-border-light);display:flex}.review-card__source{font-size:var(--text-xs);color:var(--color-text-muted);transition:color var(--transition-fast);text-decoration:none}.review-card__source:hover{color:var(--color-accent)}.reviews__more{text-align:center;margin-top:var(--space-2xl)}.reviews__more nav{justify-content:center;gap:var(--space-md) var(--space-sm);flex-wrap:wrap;display:flex}.pricing__card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-width:520px;padding:var(--space-md) var(--space-2xl) var(--space-xl);text-align:center;box-shadow:0 8px 32px var(--color-shadow);margin:0 auto}.pricing__amount{font-family:var(--font-serif);font-size:var(--text-3xl);color:var(--color-text);margin-bottom:var(--space-xs);font-weight:300}.pricing__period{font-size:var(--text-sm);color:var(--color-text-muted)}.pricing__includes{text-align:left;margin-bottom:var(--space-2xl);list-style:none}.pricing__includes li{padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border-light);font-size:var(--text-sm);color:var(--color-text-secondary);align-items:center;gap:var(--space-md);display:flex}.pricing__includes li:last-child{border-bottom:none}.pricing__includes li svg{width:16px;height:16px;color:var(--color-accent);flex-shrink:0}.pricing__note{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-2xl)}.calendar{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-width:480px;padding:var(--space-xl) var(--space-lg);box-shadow:0 8px 32px var(--color-shadow);margin:0 auto}@media (width>=768px){.calendar{max-width:880px;padding:var(--space-xl) var(--space-lg)}}.calendar__months{gap:var(--space-xl);flex-direction:column;display:flex}.calendar__month-block{flex-direction:column;display:flex}.calendar__month-header{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.calendar__nav-spacer{flex-shrink:0;width:36px;height:36px;display:block}.calendar__month-title{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--color-text);text-align:center;letter-spacing:.01em;flex:auto;margin:0;font-weight:400}@media (width>=768px){.calendar__months{flex-direction:row;align-items:flex-start;gap:0}.calendar__month-block{min-width:0;padding:0 var(--space-lg);flex:1 1 0}.calendar__month-block+.calendar__month-block{border-left:1px solid var(--color-border-light)}}@media (width<=767px){.calendar__month-block+.calendar__month-block .calendar__header{display:none}}.calendar__prev,.calendar__next{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;width:36px;height:36px;transition:all var(--transition-fast);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-family:inherit;font-size:1.2rem;line-height:1;display:flex}.calendar__prev:hover,.calendar__next:hover{border-color:var(--color-accent);color:var(--color-accent)}.calendar__prev:disabled,.calendar__next:disabled{opacity:.3;cursor:default;pointer-events:none}.calendar__header{margin-bottom:var(--space-xs);grid-template-columns:repeat(7,1fr);display:grid}.calendar__dow{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;text-align:center;padding:var(--space-xs) 0;font-weight:500}.calendar__body{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.calendar__row{display:contents}.cal-day{aspect-ratio:1;font-size:var(--text-sm);color:var(--color-text);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;display:flex;position:relative}.cal-day--empty{visibility:hidden}.cal-day--past{color:var(--color-text-muted);opacity:.5}.cal-day--today{box-shadow:inset 0 0 0 1.5px var(--color-accent);font-weight:500}.cal-day--reserved{color:var(--color-text-muted);background:#d8a57247}.cal-day--checkout{background:linear-gradient(to bottom right,#d8a57247 33%,#0000 33%)}.cal-day--checkin{background:linear-gradient(to bottom right,#0000 67%,#d8a57247 67%)}@media screen{.cal-day{transition:opacity var(--transition-fast)}.cal-day--clickable{cursor:pointer;transition:background-color var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast)}.cal-day--clickable:hover{box-shadow:inset 0 0 0 1.5px var(--color-accent)}.cal-day--clickable:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.cal-day--disabled-pending{opacity:.35;cursor:not-allowed}.cal-day--selected-anchor,.cal-day--selected-start,.cal-day--selected-end{font-weight:500;background:var(--color-accent)!important;color:var(--color-bg)!important}.cal-day--selected-mid{background:var(--color-accent-soft);color:#3a261c}.calendar--state-range .cal-day:not(.cal-day--selected-anchor):not(.cal-day--selected-start):not(.cal-day--selected-end):not(.cal-day--selected-mid){opacity:.4}@media (hover:hover){.cal-day--preview-mid{background:var(--color-border)}.cal-day--preview-end{box-shadow:inset 0 0 0 1.5px var(--color-accent)}}}.calendar__legend{justify-content:center;gap:var(--space-lg);margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border-light);display:flex}.calendar__legend-item{align-items:center;gap:var(--space-xs);font-size:var(--text-xs);color:var(--color-text-muted);display:flex}.calendar__dot{flex-shrink:0;width:14px;height:14px}.calendar__dot--free{border:1px solid var(--color-border)}.calendar__dot--checkin{background:linear-gradient(to bottom right,#0000 67%,#d8a57247 67%)}.calendar__dot--checkout{background:linear-gradient(to bottom right,#d8a57247 33%,#0000 33%)}.calendar__dot--reserved{background:#d8a57247}.calendar__stay-info{text-align:center;margin-top:var(--space-md);font-size:var(--text-xs);color:var(--color-text-muted)}.calendar__sister-note{text-align:center;margin-top:var(--space-sm);font-size:var(--text-sm);color:var(--color-text-secondary)}.calendar__sister-note a{color:var(--color-accent);text-underline-offset:2px;text-decoration:underline}.calendar__sister-note a:hover{color:var(--color-accent-hover)}.calendar__action-hint{margin-top:var(--space-md);text-align:center;font-size:var(--text-sm);color:var(--color-text-secondary)}.calendar__hint{align-items:center;gap:var(--space-xs);margin-top:var(--space-md);text-align:center;font-size:var(--text-sm);color:var(--color-text-secondary);flex-direction:column}.calendar__hint-text{margin:0}.calendar__summary{margin-top:var(--space-lg);padding:var(--space-lg);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md)}.calendar__summary-row{justify-content:space-between;gap:var(--space-md);padding:var(--space-xs) 0;font-size:var(--text-sm);color:var(--color-text-secondary);display:flex}.calendar__summary-row+.calendar__summary-row{border-top:1px solid var(--color-border-light)}.calendar__summary-row--total{font-size:var(--text-base);color:var(--color-text);font-weight:500}.calendar__summary-label{white-space:nowrap}.calendar__summary-value{font-variant-numeric:tabular-nums;text-align:right}.calendar__summary-value-segment{white-space:nowrap;display:inline-block}.calendar__summary-actions{align-items:center;gap:var(--space-sm);margin-top:var(--space-md);flex-direction:column;display:flex}.calendar__summary-clear{color:var(--color-text-secondary);font-size:var(--text-sm);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:underline}.calendar__summary-clear:hover{color:var(--color-accent)}.calendar__summary-continue{min-width:180px}.calendar__summary-continue:disabled{opacity:.6;cursor:not-allowed}.calendar__sr-status{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.calendar__hint,.calendar__summary{display:none}.calendar--state-pending .calendar__hint{display:flex}.calendar--state-pending .calendar__action-hint,.calendar--state-range .calendar__action-hint,.calendar--state-pending .calendar__stay-info,.calendar--state-range .calendar__stay-info,.calendar--state-pending .calendar__sister-note,.calendar--state-range .calendar__sister-note{display:none}.calendar--state-range .calendar__summary{display:block}.calendar__error{text-align:center;padding:var(--space-xl) var(--space-md);color:var(--color-text-secondary);grid-column:1/-1}.calendar__error-title{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--color-text);margin:0 0 var(--space-sm);font-weight:400}.calendar__error-text{font-size:var(--text-sm);max-width:32ch;margin:0 auto var(--space-md);line-height:1.6}.calendar__error-text a{color:var(--color-accent)}.calendar__error-retry{margin-bottom:var(--space-md)}.calendar__error-sister{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.calendar__error-sister a{color:var(--color-accent)}.cal-day--skeleton{color:var(--color-text-muted);opacity:.5}@media (prefers-reduced-motion:no-preference){.cal-day--skeleton{animation:1.6s ease-in-out infinite calSkeletonPulse}}@keyframes calSkeletonPulse{0%,to{color:var(--color-text-muted);opacity:.5}50%{color:var(--color-text);opacity:1}}@keyframes calRangeDimIn{0%{opacity:1}to{opacity:.4}}@keyframes calMidFadeIn{0%{color:inherit;background-color:#0000}to{background-color:var(--color-accent-soft);color:#3a261c}}@media (prefers-reduced-motion:no-preference){.calendar--state-range .cal-day:not(.cal-day--past):not(.cal-day--selected-anchor):not(.cal-day--selected-start):not(.cal-day--selected-end):not(.cal-day--selected-mid){animation:.4s ease-out backwards calRangeDimIn}.calendar--state-range .cal-day--selected-mid{animation:.35s ease-out backwards calMidFadeIn}}@media (width<=400px){.calendar{padding:var(--space-lg) var(--space-md)}.calendar__legend{gap:var(--space-sm) var(--space-md);flex-wrap:wrap}}.instagram-embed{justify-content:center;display:flex}.contact__grid{gap:var(--space-2xl);grid-template-columns:1fr;display:grid}@media (width>=768px){.contact__grid{grid-template-columns:1fr 1fr}}.contact__info{gap:var(--space-xl);flex-direction:column;display:flex}.contact__block-title{font-family:var(--font-serif);font-size:var(--text-lg);margin-bottom:var(--space-sm);font-weight:400}.contact__block-text{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7}.contact__block-text a{margin-top:var(--space-xs);display:block}.contact__social{gap:var(--space-md);margin-top:var(--space-md);display:flex}.contact__social a{border:1px solid var(--color-border);width:40px;height:40px;color:var(--color-text-secondary);transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.contact__social a:hover{border-color:var(--color-accent);color:var(--color-accent)}.contact__social svg{width:18px;height:18px}.contact__map{border-radius:var(--radius-md);border:1px solid var(--color-border);min-height:300px;overflow:hidden}.contact__map iframe{filter:saturate(.8);border:none;width:100%;height:100%;min-height:300px}@media (width<=767px){.contact__info{display:contents}.contact__map{order:2}.contact__sister{order:3}}.footer{padding:var(--space-2xl) 0;border-top:1px solid var(--color-border);text-align:center}.footer__text{font-size:var(--text-xs);color:var(--color-text-secondary)}.footer__text a{color:var(--color-text-secondary)}.footer__text a:hover{color:var(--color-accent)}.wa-cta{z-index:90;position:fixed;bottom:clamp(1rem,2vw,1.5rem);right:clamp(1rem,2vw,1.5rem)}@media (width<=767px){.js .wa-cta{transition:opacity .35s}.wa-cta--obscured{pointer-events:none;opacity:0!important}}.wa-button{color:#fff;width:56px;height:56px;box-shadow:0 4px 16px var(--color-shadow-strong);transition:transform var(--transition-base), box-shadow var(--transition-base), background-color var(--transition-base);background-color:#25d366;border-radius:50%;justify-content:center;align-items:center;display:flex}.wa-button:hover{box-shadow:0 6px 20px var(--color-shadow-strong);background-color:#1ebe57;transform:translateY(-2px)}.wa-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.wa-cta[data-open=true] .wa-button{filter:grayscale();opacity:.55;transition:filter var(--transition-base), opacity var(--transition-base), background-color var(--transition-base), box-shadow var(--transition-base)}.wa-cta[data-open=true] .wa-button:hover,.wa-cta[data-open=true] .wa-button:focus-visible{filter:none;opacity:1}.wa-button img{width:64%;height:64%;display:block}.wa-qr{width:280px;padding:var(--space-lg) var(--space-lg) var(--space-md);background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 12px 32px var(--color-shadow-strong);opacity:0;visibility:hidden;transform-origin:100% 100%;transition:opacity var(--transition-fast), transform var(--transition-fast), visibility 0s linear .15s;pointer-events:none;position:absolute;bottom:calc(100% + .75rem);right:0;transform:translateY(8px)scale(.96)}.wa-cta[data-open=true] .wa-qr{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--transition-base), transform var(--transition-base), visibility 0s;transform:translateY(0)scale(1)}.wa-qr__title{font-family:var(--font-serif);font-size:var(--text-xl);white-space:nowrap;color:var(--color-text);margin:0 0 .5rem;padding-right:1.5rem;font-weight:400;line-height:1.15}.wa-qr__hint{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 var(--space-md);line-height:1.4}.wa-qr__code{aspect-ratio:1;border-radius:var(--radius-md);background-color:#fff;width:100%;padding:10px;display:block;position:relative}.wa-qr__svg{color:#1a1a1a;width:100%;height:100%;display:block}.wa-qr__badge{background-color:#25d366;border-radius:50%;justify-content:center;align-items:center;width:22%;height:22%;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 6px #fff}.wa-qr__badge img{width:64%;height:64%;display:block}.wa-qr__close{cursor:pointer;width:28px;height:28px;color:var(--color-text-secondary);transition:background-color var(--transition-fast), color var(--transition-fast);background-color:#0000;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:.5rem;right:.5rem}.wa-qr__close:hover{background-color:var(--color-bg-warm);color:var(--color-text)}.wa-qr__close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.wa-qr__close svg{width:14px;height:14px}@media (width<=767px){.wa-qr{display:none}}.reservation-modal{background:var(--color-bg-card);color:var(--color-text);border-radius:var(--radius-lg);width:min(560px,100vw - 2rem);max-height:calc(100vh - 2rem);font-family:var(--font-sans);box-shadow:0 24px 60px var(--color-shadow);border:none;margin:auto;padding:0;position:fixed;inset:0;overflow:hidden}.reservation-modal::backdrop{backdrop-filter:blur(2px);background:#3a261c73}.reservation-modal__inner{padding:var(--space-xl) var(--space-lg);gap:var(--space-lg);flex-direction:column;max-height:calc(100vh - 2rem);display:flex;position:relative;overflow-y:auto}.reservation-modal__close{top:var(--space-md);right:var(--space-md);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-family:inherit;font-size:1rem;line-height:1;display:flex;position:absolute}.reservation-modal__close:hover{border-color:var(--color-accent);color:var(--color-accent)}.reservation-modal__title{font-family:var(--font-serif);font-size:var(--text-2xl);padding-right:var(--space-2xl);margin:0;font-weight:400}.reservation-modal__summary{background:var(--color-bg-elevated);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.reservation-modal__summary-context{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 var(--space-xs);text-align:center}.reservation-modal__summary-row{justify-content:space-between;gap:var(--space-md);padding:var(--space-xs) 0;font-size:var(--text-sm);color:var(--color-text-secondary);display:flex}.reservation-modal__summary-row+.reservation-modal__summary-row{border-top:1px solid var(--color-border-light)}.reservation-modal__summary-row--total{font-size:var(--text-base);color:var(--color-text);font-weight:500}.reservation-modal__summary-label{white-space:nowrap}.reservation-modal__summary-value{font-variant-numeric:tabular-nums;text-align:right}.reservation-form{gap:var(--space-md);flex-direction:column;margin:0;display:flex}.reservation-form__field{gap:var(--space-xs);flex-direction:column;display:flex}.reservation-form__label{font-size:var(--text-sm);color:var(--color-text-secondary)}.reservation-form__optional{color:var(--color-text-muted);font-style:italic}.reservation-form__input,.reservation-form__textarea{font-family:inherit;font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);transition:border-color var(--transition-fast);width:100%;min-width:0}.reservation-form__textarea{resize:vertical;min-height:4.5rem}.reservation-form__input:focus-visible,.reservation-form__textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}.reservation-form__input.is-invalid,.reservation-form__textarea.is-invalid{border-color:#c44d3a}.reservation-form__preview{background:var(--color-bg-elevated);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:0}.reservation-form__preview-summary{cursor:pointer;padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;align-items:center;gap:var(--space-sm);list-style:none;display:flex}.reservation-form__preview-summary::-webkit-details-marker{display:none}.reservation-form__preview-summary:before{content:"";width:8px;height:8px;transition:transform var(--transition-fast);border-bottom:2px solid;border-right:2px solid;display:inline-block;transform:translateY(-2px)rotate(-45deg)}.reservation-form__preview[open]>.reservation-form__preview-summary:before{transform:translateY(-2px)rotate(45deg)}.reservation-form__preview-text{padding:0 var(--space-md) var(--space-md);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:var(--text-xs);white-space:pre-wrap;color:var(--color-text);max-height:240px;margin:0;line-height:1.5;overflow-y:auto}.reservation-form__actions{gap:var(--space-sm);flex-direction:column;display:flex}.reservation-form__dispatch{text-align:center;justify-content:center;width:100%}.reservation-form__dispatch svg{flex-shrink:0;width:16px;height:16px}@media (width>=480px){.reservation-form__actions{gap:var(--space-md)}}.reservation-form__tertiary{text-align:center;font-size:var(--text-sm);color:var(--color-accent);text-underline-offset:3px;margin-top:var(--space-xs);cursor:pointer;padding:var(--space-xs);background:0 0;border:none;order:3;font-family:inherit;text-decoration:underline;display:inline-block}.reservation-form__tertiary:hover{color:var(--color-accent-hover)}.reservation-form__back{color:var(--color-text-secondary);font-size:var(--text-sm);text-underline-offset:3px;cursor:pointer;padding:var(--space-xs);background:0 0;border:none;align-self:center;font-family:inherit;text-decoration:underline}.reservation-form__back:hover{color:var(--color-accent)}.reservation-form[hidden],.reservation-confirmation[hidden]{display:none}.reservation-confirmation{gap:var(--space-lg);flex-direction:column;display:flex}.reservation-confirmation__body{gap:var(--space-md);font-size:var(--text-base);color:var(--color-text);flex-direction:column;display:flex}.reservation-confirmation__body p{margin:0;line-height:1.5}.reservation-confirmation__body a{color:var(--color-accent);text-underline-offset:2px;text-decoration:underline}.reservation-confirmation__body a:hover{color:var(--color-accent-hover)}.reservation-confirmation__inline-action{color:var(--color-accent);text-underline-offset:2px;cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.reservation-confirmation__inline-action:hover{color:var(--color-accent-hover)}.reservation-confirmation__inline-action[data-copied=true]{color:var(--color-text-secondary);cursor:default;text-decoration:none}.reservation-confirmation__actions{gap:var(--space-sm);flex-direction:column;display:flex}@media (width>=480px){.reservation-confirmation__actions{gap:var(--space-md);flex-direction:row}.reservation-confirmation__actions>.btn{flex:1 1 0;min-width:0}}