.review-brand { display:flex; justify-content:center; padding:12px 0 18px; }
.review-brand img { display:block; width:min(210px,60vw); height:auto; object-fit:contain; }
.review-shell { max-width:780px; padding-bottom:58px; }
.review-hero { position:relative; min-height:370px; overflow:hidden; border-radius:30px; background:#565b3f; box-shadow:0 20px 48px rgba(25,26,18,.15); color:#fff; }
.review-hero-photo,.review-hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.review-hero-photo { object-fit:cover; object-position:center 55%; }
.review-hero-shade { background:linear-gradient(90deg,rgba(20,27,21,.83),rgba(20,27,21,.26)),linear-gradient(0deg,rgba(20,27,21,.42),transparent 65%); }
.review-hero-content { position:relative; z-index:1; min-height:370px; padding:34px clamp(27px,5vw,52px); display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; }
.review-hero-logo { width:150px; height:104px; object-fit:contain; object-position:left center; margin-bottom:auto; }
.review-hero-kicker { font-size:12px; font-weight:750; letter-spacing:.15em; text-transform:uppercase; color:#f1e9d2; }
.review-hero h1 { color:#fff; font-size:clamp(34px,5vw,52px); line-height:1.08; letter-spacing:-.045em; max-width:620px; margin:12px 0; }
.review-hero p { color:rgba(255,255,255,.91); font-size:18px; line-height:1.5; max-width:570px; margin:0; }
.review-shell .review-form { margin-top:20px; padding:clamp(22px,4vw,38px); border:0; border-radius:28px; box-shadow:0 13px 36px rgba(25,26,18,.08); }
.review-stay-line { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; color:var(--muted); background:#f6f5f1; border-radius:16px; padding:14px 18px; font-size:14px; }
.review-stay-line strong { color:var(--ink); font-weight:650; }
.review-form-heading { margin:32px 0 24px; }
.review-form-heading .eyebrow { color:var(--ds-olive,#565b3f); }
.review-form-heading h2 { font-size:clamp(25px,3vw,32px); line-height:1.18; letter-spacing:-.035em; margin:7px 0 8px; }
.review-form-heading p { font-size:16px; color:var(--muted); line-height:1.5; margin:0; }
.review-form .star-field { display:block; padding:12px 0; margin:0 0 6px; border:0; border-radius:0; background:#fff; }
.review-form .star-field legend { width:auto; padding:0; font-size:17px; font-weight:650; line-height:1.35; margin:0 0 2px; }
.review-form .star-input { gap:3px; vertical-align:top; }
.review-form .star-input label { font-size:35px; padding:3px 5px; color:#d9d8d1; }
.review-form .star-input label:hover,.review-form .star-input label:hover ~ label,.review-form .star-input input:checked ~ label { color:#b18b4e; }
.review-form .star-input input:focus-visible + label { outline:3px solid var(--ds-olive,#565b3f); border-radius:10px; }
.review-form .review-favorite-field { margin:30px 0 22px; }
.review-form .review-favorite-field legend,.review-form .review-message-label { font-size:17px; font-weight:650; margin-bottom:11px; }
.review-form .review-favorites label { border-color:#e8e6df; background:#fff; min-height:49px; padding:12px 15px; }
.review-form .review-favorites label:has(input:checked) { color:#343b27; background:#edf0e8; border-color:#565b3f; }
.review-form textarea { width:100%; min-height:130px; border-radius:16px; padding:16px; resize:vertical; }
.review-form .form-actions { margin-top:22px; }
.review-form .full-btn { min-height:54px; font-size:16px; border-radius:999px; }
.review-privacy { margin:13px 0 0; color:var(--muted); font-size:13px; text-align:center; }
.incident-photo-thumb { display:inline-flex; align-items:center; gap:10px; margin-top:10px; color:var(--ink); text-decoration:none; font-size:13px; font-weight:650; }
.incident-photo-thumb img { display:block; width:78px; height:66px; object-fit:cover; border-radius:10px; background:#f5f4f0; }
.incident-photo-thumb:hover span { text-decoration:underline; }
.google-review-invite { padding:0!important; overflow:hidden; }
.google-review-photo { display:block; width:100%; height:210px; object-fit:cover; object-position:center 55%; }
.google-review-copy { padding:26px 30px 30px; text-align:left; }
.google-review-copy h2 { margin:7px 0 10px; font-size:25px; line-height:1.18; letter-spacing:-.02em; }
.google-review-copy p { margin:0 0 20px; line-height:1.55; color:var(--muted); }
.google-review-copy .btn { display:inline-flex; align-items:center; justify-content:center; }
.google-review-copy small { display:block; margin-top:14px; color:var(--muted); line-height:1.45; }
.reviews-dashboard { max-width:1300px; margin:0 auto; padding:6px 0 60px; }
.reviews-page-head { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:26px; }
.reviews-page-head h1 { margin:5px 0 6px; font-size:clamp(31px,3vw,43px); letter-spacing:-.04em; }
.reviews-page-head p { margin:0; }
.reviews-period { min-width:190px; }
.reviews-period label { display:block; margin-bottom:6px; }
.reviews-period select { width:100%; }
.reviews-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:16px; }
.reviews-kpis .panel { display:flex; flex-direction:column; gap:7px; margin:0; padding:22px; border:0; box-shadow:0 10px 28px rgba(25,26,18,.07); }
.reviews-kpis .panel > span,.reviews-kpis .panel small { color:var(--muted); }
.reviews-kpis .panel strong { font-size:34px; letter-spacing:-.04em; line-height:1.15; }
.reviews-pending-panel { margin:0 0 16px; border:0; box-shadow:0 10px 28px rgba(25,26,18,.07); }
.reviews-pending-panel .section-heading { align-items:flex-start; gap:18px; }
.reviews-pending-panel .section-heading h2 { margin:4px 0 5px; }
.reviews-pending-panel .section-heading p { margin:0; max-width:680px; }
.reviews-pending-list { display:grid; }
.reviews-pending-row { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:14px; padding:14px 0; border-top:1px solid #eeeae4; }
.reviews-pending-avatar { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#edf0e8; color:#565b3f; font-weight:700; }
.reviews-pending-info { min-width:0; }
.reviews-pending-info strong,.reviews-pending-info small { display:block; }
.reviews-pending-info small { color:var(--muted); margin-top:3px; }
.reviews-pending-row .btn { white-space:nowrap; }
.reviews-pending-pages { display:flex; align-items:center; justify-content:flex-end; gap:14px; padding-top:18px; border-top:1px solid #eeeae4; }
.reviews-pending-feedback { min-height:1.3em; margin:8px 0 0; }
.review-kpi-star { color:#ff3158; font-size:27px; }
.reviews-insights { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.reviews-insights .panel,.reviews-trend,.reviews-list-panel,.reviews-google-settings { margin:0 0 16px; border:0; box-shadow:0 10px 28px rgba(25,26,18,.07); }
.reviews-insights h2,.reviews-trend h2,.reviews-list-panel h2,.reviews-google-settings h2 { margin:4px 0 18px; }
.reviews-trend-bars { display:flex; align-items:end; gap:12px; min-height:158px; overflow-x:auto; }
.reviews-trend-item { flex:1 0 50px; max-width:95px; min-width:50px; display:flex; flex-direction:column; align-items:center; gap:5px; font-size:13px; }
.reviews-trend-track { display:flex; align-items:end; width:100%; height:105px; background:#f6f5f2; border-radius:12px; overflow:hidden; }
.reviews-trend-track i { display:block; width:100%; background:#ff3158; border-radius:12px 12px 0 0; }
.reviews-trend-item small { color:var(--muted); }
.review-metric { display:grid; grid-template-columns:minmax(125px,1.3fr) minmax(60px,2fr) 38px; align-items:center; gap:12px; margin:15px 0; }
.review-metric > strong { text-align:right; }
.review-meter { height:9px; border-radius:20px; background:#eeeae4; overflow:hidden; }
.review-meter i { display:block; height:100%; border-radius:inherit; background:#ff3158; }
.reviews-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.review-entry { border:1px solid #edeae6; border-radius:20px; padding:19px 20px; min-width:0; }
.review-entry.is-unread { border-color:#bec5a9; background:#fcfdf9; }
.review-entry:target { outline:3px solid #565b3f; outline-offset:3px; }
.review-entry { scroll-margin-top:110px; }
.review-entry-badges { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.review-ack-form { margin:16px 0 0; }
.review-entry-top,.review-entry-foot { display:flex; justify-content:space-between; align-items:start; gap:12px; }
.review-entry-top strong { display:block; line-height:1.3; }
.review-entry-top small,.review-entry-foot small { display:block; margin-top:4px; color:var(--muted); }
.review-entry-meta { display:flex; flex-wrap:wrap; gap:7px; margin-top:15px; }
.review-entry-meta span { padding:5px 9px; border-radius:999px; background:#f6f5f2; font-size:12px; }
.review-entry p { margin:14px 0 0; line-height:1.5; }
.review-comment { padding:13px 14px; background:#f8f7f5; border-radius:12px; }
.review-entry-foot { margin-top:17px; align-items:center; }
.reviews-google-settings > .muted { max-width:760px; }
.reviews-link-row { display:flex; gap:12px; align-items:center; }
.reviews-link-row input { flex:1; min-width:0; }
.reviews-link-row .btn { flex:none; }
.reviews-message { border-top:1px solid #eeeae4; margin-top:22px; padding-top:19px; }
.reviews-message textarea { display:block; width:100%; min-height:130px; margin:8px 0 12px; resize:vertical; }
@media (max-width:1000px) { .reviews-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .review-hero,.review-hero-content { min-height:345px; } .review-hero { border-radius:22px; } .review-hero-logo { width:135px; height:94px; } .review-hero p { font-size:16px; } .review-form .star-input label { font-size:38px; } .google-review-photo { height:165px; } .google-review-copy { padding:22px; } .google-review-copy h2 { font-size:22px; } .reviews-page-head { align-items:stretch; flex-direction:column; } .reviews-insights,.reviews-list { grid-template-columns:1fr; } .reviews-link-row { align-items:stretch; flex-direction:column; } .reviews-link-row .btn { width:100%; } .reviews-pending-row { grid-template-columns:42px minmax(0,1fr); } .reviews-pending-row .btn { grid-column:2; justify-self:start; } .reviews-pending-pages { flex-wrap:wrap; justify-content:center; } }
@media (max-width:440px) { .review-form .star-field { padding:17px; } .review-form .star-input { gap:1px; } .review-form .star-input label { font-size:32px; padding:2px; } .reviews-kpis { gap:9px; } .reviews-kpis .panel { padding:16px; } .reviews-kpis .panel strong { font-size:28px; } .review-metric { grid-template-columns:minmax(90px,1.3fr) minmax(50px,2fr) 32px; gap:7px; font-size:13px; } }
@media (max-width:440px) { .review-form .star-field { padding:12px 0; } }
