.guest-reviews{width:100%;max-width:1100px;margin:12px auto 48px;padding:32px 20px 0;scroll-margin-top:110px;position:relative}
.guest-reviews:before{content:"";position:absolute;top:0;left:20px;right:20px;height:1px;background:var(--border-dark)}
.reviews-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.reviews-eyebrow{color:var(--accent-amber);font-size:.68rem;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;margin-bottom:8px}
.reviews-heading h2{color:var(--bark);font-size:1.8rem;font-weight:600;line-height:1.3;margin-bottom:8px}
.reviews-intro{font-size:.86rem;color:var(--text-muted)}
.reviews-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:12px 20px;border-radius:9px;font-size:.84rem;font-weight:600;cursor:pointer;transition:background .2s,box-shadow .2s;border:1px solid var(--bark);white-space:nowrap}
.reviews-button-primary{background:var(--bark);color:var(--card-bg);box-shadow:var(--shadow-sm)}
.reviews-button-primary:hover{background:var(--bark-hover);box-shadow:var(--shadow)}
.reviews-button-primary>span{font-size:1.25rem;line-height:1}
.reviews-button-outline{background:transparent;color:var(--bark);border-color:var(--border-dark);padding:10px 18px;min-height:40px}
.reviews-button-outline:hover{background:#efe7d6;border-color:var(--bark)}
.reviews-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:start}
.reviews-summary{padding:25px 20px;text-align:center;background:#efe7d6;border:1px solid var(--border);border-radius:12px}
.reviews-score{display:flex;align-items:baseline;justify-content:center;gap:8px;color:var(--bark)}
#reviews-average{font-family:'Lora',serif;font-size:3.1rem;line-height:1.2;font-weight:600}
.reviews-score-max{font-size:.85rem;color:var(--text-muted)}
.review-stars{color:var(--accent-gold);letter-spacing:3px;font-size:1.1rem;white-space:nowrap}
.reviews-summary .review-stars{margin:9px 0}
#reviews-count{color:var(--text-muted);font-size:.75rem}
.reviews-summary-line{height:1px;background:var(--border);margin:20px 16px 16px}
.reviews-thanks{font-family:'Lora',serif;font-style:italic;color:var(--text-muted);font-size:.85rem;line-height:1.6}
.reviews-list{display:grid;gap:12px}
.review-card{padding:22px 24px;background:var(--card-bg);border:1px solid var(--border);border-radius:12px}
.review-peek{height:88px;overflow:hidden;position:relative;border-radius:12px;user-select:none;pointer-events:none}
.review-peek:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(44,30,25,.035),rgba(244,238,225,.55) 52%,var(--bg));border-radius:12px}
.review-card-header{display:flex;align-items:center;gap:12px}
.review-avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;border-radius:50%;background:#eee2cf;color:var(--bark);font-family:'Lora',serif;font-size:.9rem;font-weight:600}
.review-author{min-width:0;flex:1}.review-author h3{font-family:'Inter',sans-serif;font-size:.85rem;font-weight:600;overflow-wrap:anywhere;color:var(--text)}
.review-origin{font-size:.68rem;color:var(--text-muted);margin-top:3px}
.review-card-header .review-stars{font-size:1rem;letter-spacing:2px}
.review-text{font-size:.9rem;line-height:1.75;margin-top:16px;white-space:pre-wrap;overflow-wrap:anywhere}
.reviews-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:16px}
.reviews-collapse{border:0;background:transparent;color:var(--text-muted);font-size:.78rem;cursor:pointer;padding:10px 0;text-decoration:underline;text-underline-offset:4px}
.reviews-collapse:hover{color:var(--bark)}
.reviews-visible{font-size:.7rem;color:var(--text-muted);margin-left:auto}
.reviews-status{color:var(--bark);font-size:.83rem;margin-top:14px}.reviews-status:empty{display:none}
.review-dialog{margin:auto;width:calc(100% - 32px);max-width:530px;max-height:calc(100dvh - 32px);overflow:auto;background:var(--card-bg);color:var(--text);padding:34px;border:1px solid var(--border-dark);border-radius:18px;box-shadow:var(--shadow-lg)}
.review-dialog::backdrop{background:rgba(44,30,25,.55);backdrop-filter:blur(3px)}
.review-dialog h2{color:var(--bark);font-size:1.65rem;line-height:1.4;margin-bottom:8px;padding-right:12px}
#review-dialog-intro{color:var(--text-muted);font-size:.83rem;line-height:1.65;margin-bottom:23px}
.review-dialog-close{position:absolute;top:12px;right:12px;background:transparent;color:var(--text-muted);border:0;width:36px;height:36px;font-size:1.6rem;cursor:pointer;border-radius:50%}
.review-dialog-close:hover{background:#efe7d6}
.review-rating{border:0;margin-bottom:21px}.review-rating legend,.review-field{font-size:.8rem;font-weight:600;color:var(--text)}
.review-rating-options{display:flex;gap:5px;margin-top:7px}.review-rating-options label{position:relative;cursor:pointer;display:block;width:43px;height:46px}
.review-rating-options input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}
.review-rating-options span{display:flex;align-items:center;justify-content:center;height:100%;font-size:2.25rem;color:#c4b79b;transition:color .15s,transform .15s;pointer-events:none}
.review-rating-options label.is-lit span{color:var(--accent-gold)}
.review-rating-options input:focus-visible+span{outline:2px solid var(--bark);outline-offset:1px;border-radius:6px}
.rating-caption{font-size:.72rem;color:var(--text-muted);margin-top:4px;font-weight:400}
.review-field{display:block;margin-top:16px}.review-field input,.review-field textarea{display:block;width:100%;margin-top:7px;padding:12px 14px;border:1px solid var(--border-dark);border-radius:8px;background:#fffcf6;color:var(--text);font-size:.86rem;line-height:1.6;font-weight:400;outline:none}
.review-field textarea{resize:vertical;min-height:115px;max-height:280px}
.review-field input:focus,.review-field textarea:focus{border-color:var(--bark);box-shadow:0 0 0 3px rgba(99,23,38,.08)}
.review-field input::placeholder,.review-field textarea::placeholder{color:#8b7c70;opacity:1}
.review-field-help{display:flex;gap:16px;justify-content:space-between;color:var(--text-muted);font-size:.65rem;line-height:1.6;margin-top:7px}.review-field-help>span:last-child{white-space:nowrap}
.review-submit{width:100%;margin-top:24px}.review-local-note{color:var(--text-muted);text-align:center;font-size:.67rem;margin-top:12px;line-height:1.6}
.review-form-error{font-size:.8rem;color:var(--bark);margin-top:12px}
.review-dialog.is-success>:not(#review-success):not(.review-dialog-close){display:none}
.review-success{text-align:center;padding:18px 2px 4px}
.review-success-mark{display:flex;align-items:center;justify-content:center;width:54px;height:54px;margin:0 auto 18px;border-radius:50%;background:#efe7d6;color:var(--bark);font-size:1.7rem;font-weight:600}
.review-dialog .review-success h2{padding:0;margin:0 0 10px}
.review-success p{max-width:330px;margin:0 auto;color:var(--text-muted);font-size:.84rem;line-height:1.7}
.review-success .reviews-button{min-width:166px;margin-top:25px}
.guest-reviews button:focus-visible,.review-dialog button:focus-visible{outline:2px solid var(--accent-gold);outline-offset:4px}
.guest-reviews [hidden],.review-dialog [hidden]{display:none!important}
@media(max-width:650px){.guest-reviews{margin:8px auto 32px;padding-top:26px;scroll-margin-top:95px}.reviews-heading{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:20px}.reviews-heading h2{font-size:1.5rem}.reviews-layout{grid-template-columns:1fr;gap:14px}.reviews-summary{display:grid;grid-template-columns:auto 1fr;column-gap:22px;align-items:center;padding:16px 20px;text-align:left}.reviews-score{grid-row:1/3;justify-content:flex-start}#reviews-average{font-size:2.65rem}.reviews-summary .review-stars{margin:0 0 4px}.reviews-summary-line,.reviews-thanks{display:none}.review-card{padding:18px}.review-card-header{flex-wrap:wrap;gap:10px}.review-avatar{width:36px;height:36px}.review-card-header .review-stars{width:100%;padding-left:46px;margin-top:-6px}.review-text{font-size:.85rem;margin-top:12px}.reviews-controls{gap:12px}.reviews-visible{width:100%;margin-left:0}.review-dialog{padding:28px 22px}.review-dialog h2{font-size:1.4rem}.review-field-help>span:first-child{max-width:220px}}
@media(prefers-reduced-motion:reduce){.review-card{animation:none}.guest-reviews *,.review-dialog *{scroll-behavior:auto!important}}
@media(max-width:650px){.review-peek{height:112px}}

#hero-reviews,#hero-reviews:hover,#hero-reviews:focus-visible,#hero-reviews:active{transform:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}
#hero-reviews .hero-badge-external-icon{transform:none;transition:none}
#hero-reviews:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}

.reviews-button:disabled{opacity:.65;cursor:wait}.review-load-error{color:var(--text-muted);font-size:.85rem;line-height:1.7}.review-load-error button{margin-top:12px}.review-local-note a{color:inherit;text-decoration:underline;text-underline-offset:2px}
