[hidden]{display:none!important}
:focus-visible{outline:3px solid #7b938a;outline-offset:4px}
.language-picker{display:flex;align-items:center;gap:6px;background:#fffffff2;border-radius:24px;padding:0 10px;box-shadow:0 3px 12px #0001}
.language-picker select{width:auto;background:transparent;border:0;padding:10px 4px;font-size:13px;max-width:140px}
.promo-banner{height:auto;min-height:0;background:#ecece8}.promo-banner img{height:auto;width:100%;display:block;max-height:none}
.tab{transition:background .2s,color .2s}.panel{scroll-margin-top:62px}
.gallery button{padding:0;border:0;border-radius:14px;background:transparent;overflow:hidden;cursor:zoom-in}.gallery img{display:block;transition:transform .3s}.gallery button:hover img{transform:scale(1.035)}
.faq{border:0;display:grid;gap:9px}.faq-item{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;transition:background .22s,border-color .22s}.faq-item:has([aria-expanded=true]){background:var(--soft);border-color:#d9ddd6}.faq-question{width:100%;border:0;background:transparent;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px;font-size:13px;font-weight:650;line-height:1.5;color:inherit}.faq-question span{font-size:22px;font-weight:400;transition:transform .25s}.faq-question[aria-expanded=true] span{transform:rotate(45deg)}.faq-answer{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .25s,opacity .25s}.faq-answer>div{overflow:hidden}.faq-question[aria-expanded=true]+.faq-answer{grid-template-rows:1fr;opacity:1}.faq-answer p{margin:0;padding:0 17px 17px;font-size:13px;line-height:1.7;color:#666}
.review-slider{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x pan-y;overscroll-behavior-x:contain;padding:3px 1px 12px}.review-slider::-webkit-scrollbar{display:none}.review-card{flex:0 0 calc(100% - 20px);scroll-snap-align:start;border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff;min-width:0}.review-card header{display:flex;gap:11px;align-items:center}.avatar{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:#edf0e9;font-size:12px;font-weight:700}.review-card strong{font-size:14px}.review-card small{display:block;font-size:12px;color:#777;margin-top:4px}.review-stars{color:#bd8b2d;letter-spacing:2px;font-size:17px;margin:18px 0 10px}.review-card blockquote{margin:0;font-size:14px;line-height:1.75;color:#444}.slider-controls{display:flex;align-items:center;justify-content:center;gap:20px;font-size:12px;color:#777}.slider-controls button,.gallery-controls button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:white}.slider-controls button:disabled{opacity:.3;cursor:default}
#reviews{padding-bottom:92px;min-height:430px}.review-fab{position:fixed;z-index:21;bottom:calc(88px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);padding:13px 22px;border:0;border-radius:30px;background:#111;color:white;font-size:13px;font-weight:700;box-shadow:0 6px 25px #0003;white-space:nowrap}
dialog{border:0;border-radius:24px;padding:60px 30px 30px;width:min(410px,calc(100% - 36px));max-height:calc(100dvh - 48px);overflow:auto;color:var(--text);box-shadow:0 24px 100px #0003}dialog::backdrop{background:#17201b66;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}dialog[open]{animation:modal-in .2s ease-out}body:has(dialog[open]){overflow:hidden}.dialog-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:#f2f2f2;color:#111;line-height:1;cursor:pointer;z-index:2;appearance:none}.dialog-close svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;pointer-events:none}.dialog-close:focus-visible{outline:2px solid currentColor;outline-offset:3px}#gallery-dialog .dialog-close{background:#ffffff1f;color:#fff}.modal-eyebrow{font-size:10px;letter-spacing:1.8px;color:#777;margin:10px 0 16px}dialog h2{font-size:23px;line-height:1.25;letter-spacing:-.5px;margin:12px 15px 12px 0}.experience-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 4px}.experience-options button{border:1px solid var(--line);border-radius:16px;background:var(--soft);padding:20px 8px;display:grid;gap:12px;font-size:12px;font-weight:600;color:inherit;transition:transform .2s,background .2s}.experience-options button:hover{transform:translateY(-3px);background:#e9eee5}.experience-options button>span:first-child{font-size:32px}#private-feedback label{display:grid;gap:7px;margin-top:14px;font-size:13px;font-weight:600}#private-feedback input,#private-feedback textarea{font-size:16px;resize:vertical}.text-button{border:0;background:none;text-decoration:underline;padding:10px 0;color:#666}.success-icon{display:grid;place-items:center;width:54px;height:54px;background:#eaf1e5;border-radius:50%;font-size:25px;margin:5px 0 24px}#feedback-success p{font-size:14px;line-height:1.6;color:#666}#feedback-status,#review-link-status{font-size:13px;line-height:1.5;color:#86501f}.btn:disabled{opacity:.5;cursor:wait}
#gallery-dialog{width:min(1000px,calc(100% - 24px));padding:64px 12px 16px;background:#141614;color:white;overflow:hidden}#gallery-dialog::backdrop{background:#000b}#full-image{display:block;width:100%;height:min(70dvh,800px);object-fit:contain;touch-action:pan-y} .gallery-controls{display:flex;justify-content:center;gap:28px;align-items:center;margin-top:15px;font-size:13px}.gallery-controls button{color:white;background:#ffffff15;border-color:#ffffff30}
@keyframes modal-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@media(min-width:700px){.review-fab{bottom:112px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
#reviews{touch-action:auto}
.review-slider{touch-action:pan-x pan-y pinch-zoom}
#full-image{touch-action:pan-y pinch-zoom}
/* Contact and hours refinements */
.contact-info .info-row{align-items:flex-start;flex-direction:column;gap:11px;padding:16px}
.contact-value{min-width:0}.contact-value .info-value{overflow-wrap:anywhere;line-height:1.5}
.contact-icon-actions{display:flex;gap:8px;align-items:center}
.contact-icon{width:40px;height:40px;border:1px solid #e9e9e6;background:#f7f7f5;border-radius:11px;display:grid;place-items:center;color:#414740;text-decoration:none;transition:background .2s,transform .2s}
.contact-icon:hover{background:#ecefe9;transform:translateY(-1px)}.contact-icon svg{width:18px;height:18px}
.contact-info .info-label{font-size:10px;letter-spacing:.8px;color:#858585;margin-bottom:4px}
.opening-hours{padding:10px 2px 4px;font-size:14px}
.hours-status{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:5px;row-gap:4px;line-height:1.6;margin:0 0 24px}
.hours-status>svg{align-self:center;width:18px;height:18px;color:#686868;margin-right:5px;flex-shrink:0}
.hours-closed{color:#d52323}.hours-open{color:#35734b}.hours-next{color:#939393}
.hours-week{margin:0;display:grid;gap:10px}.hours-day{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;line-height:1.4}.hours-day dt,.hours-day dd{margin:0;font-weight:400}.hours-day.is-today{color:#d52323}.hours-day.is-today dt,.hours-day.is-today dd{font-weight:700}
@media(min-width:410px){.contact-info .info-row:not(:first-child){flex-direction:row;align-items:center}.contact-info .info-row:not(:first-child) .contact-icon-actions{gap:5px}.contact-info .info-row:not(:first-child) .contact-icon{width:36px;height:36px;flex-shrink:0}}
.contact-info .info-row,.contact-info .info-row:not(:first-child){flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}
.contact-info .contact-icon-actions,.contact-info .info-row:not(:first-child) .contact-icon-actions{gap:6px;flex-shrink:0}
.contact-info .contact-icon,.contact-info .info-row:not(:first-child) .contact-icon{width:40px;height:40px;flex-shrink:0}

#share-dialog textarea{font-size:15px;line-height:1.6;resize:vertical;margin:8px 0 10px}.share-message-label{font-size:12px;font-weight:600}

.service-search{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:0 12px;background:#fff}.service-search:focus-within{outline:2px solid #111;outline-offset:2px}.service-search svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;color:#666}.service-search input{width:100%;min-width:0;border:0;padding:14px 0;background:transparent;font-size:16px;outline:none}.service-search input::-webkit-search-cancel-button{display:none}.service-search button{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;padding:0;border:0;border-radius:8px;background:#f3f3f3;cursor:pointer}.service-search button[hidden],#service-results[hidden],#service-results .service[hidden],#service-search-empty[hidden]{display:none}#service-search-status{margin:10px 0 12px}.service-search-empty{padding:24px 16px;border:1px solid var(--line);border-radius:14px;color:#666;font-size:14px;line-height:1.6}#service-results .service.search-first{border-top:0}
