/* GBP grader page. Targets the old page's data-gbp-* hooks only; colours via home.css variables only. Loaded after home.css and page.css. */

/* ---- Hero ---- */
.gbp-hero{padding-block:clamp(56px,9vw,104px) 0;overflow:hidden}
.gbp-hero .glow-a{top:-360px;opacity:.55}
.gbp-hero-copy{display:grid;justify-items:center;gap:20px;max-width:880px;margin-inline:auto;text-align:center}
.gbp-hero h1{font-size:clamp(2.25rem,5.6vw,4rem);line-height:1.08}
.gbp-hero .gbp-pain{max-width:60ch;margin:0;color:var(--text-2);font-size:1.125rem}

/* ---- Runtime (support.js) ---- */
/* The raw grader markup stays hidden until support.js renders it (support.js adds the same rule; this covers no-JS). */
x-dc{display:none}
/* support.js sets html/body/#dc-root to 100% height for full-page components. This page has a header and footer
   outside the rendered block, so let it size to its content. */
body #dc-root,body #dc-root>.sc-host{height:auto}
[data-page]{position:relative}
.gbp-noscript{margin:32px auto 0;padding-inline:var(--gutter);text-align:center}

/* ---- Tool section ---- */
[data-gbp-report]{position:relative;z-index:1;max-width:920px;margin:clamp(36px,6vw,56px) auto 0;padding-inline:var(--gutter);display:grid;justify-items:center;gap:16px;text-align:center}
[data-gbp-kicker]{display:inline-flex;align-items:center;gap:10px;padding:9px 16px;border-radius:999px;background:var(--chip);color:var(--bg);font:500 .8125rem/1 var(--mono);letter-spacing:.04em;text-transform:uppercase}
[data-gbp-kicker] [data-pill-dot]{width:7px;height:7px;border-radius:50%;background:var(--orange)}
[data-gbp-intro]{max-width:62ch;margin:0;color:var(--text-2);font-size:1.0625rem}
[data-gbp-intro] [data-gbp-nosignup]{color:var(--text);font-weight:600}

[data-gbp-panel]{position:relative;width:100%;margin-top:8px;padding:clamp(20px,4vw,40px);background:rgba(var(--surface-rgb),.92);border:1px solid var(--border);border-radius:24px;text-align:left;box-shadow:0 40px 120px -60px rgba(var(--glow-rgb),.45)}

/* Form */
#gbp-form{display:grid;gap:20px}
[data-gbp-fields]{display:grid;gap:16px}
@media (min-width:640px){ [data-gbp-fields]{grid-template-columns:1fr 1fr} [data-gbp-field-wide]{grid-column:1/-1} }
[data-gbp-field]{display:grid;gap:8px}
[data-gbp-field] label{font-weight:500;font-size:.9375rem;color:var(--text)}
[data-gbp-optional]{margin-left:6px;font-weight:400;color:var(--text-3)}
[data-gbp-field] input{width:100%;min-height:52px;padding:12px 16px;background:var(--bg);color:var(--text);border:1px solid var(--border-2);border-radius:12px;font:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}
[data-gbp-field] input::placeholder{color:var(--text-3)}
[data-gbp-field] input:hover{border-color:rgba(var(--white-rgb),.38)}
[data-gbp-field] input:focus-visible{border-color:var(--orange);outline:2px solid var(--white);outline-offset:2px}
[data-gbp-field] input[aria-invalid="true"]{border-color:var(--orange);box-shadow:inset 0 0 0 1px var(--orange)}

[data-gbp-run]{justify-self:center;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:260px;min-height:52px;padding:0 28px;border:1px solid transparent;border-radius:999px;background:var(--orange);color:var(--on-accent);font:600 1rem/1 var(--font);letter-spacing:.02em;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}
[data-gbp-run]:hover:not(:disabled){transform:translateY(-1px);border-color:var(--orange-hover);box-shadow:0 0 0 4px rgba(var(--orange-hover-rgb),.25),0 12px 32px -10px rgba(var(--orange-rgb),.7)}
[data-gbp-run]:focus-visible{outline:2px solid var(--white);outline-offset:3px}
[data-gbp-run]:disabled{opacity:.6;cursor:progress}
@media (max-width:520px){ [data-gbp-run]{width:100%;min-width:0} }

[data-gbp-alert]{display:none;padding:12px 16px;border-radius:12px;border:1px solid rgba(var(--orange-rgb),.5);background:rgba(var(--orange-rgb),.08);color:var(--text);font-size:.9375rem}
[data-gbp-alert].is-visible{display:block}
[data-gbp-alert]::before{content:"!";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:10px;border-radius:50%;background:var(--orange);color:var(--on-accent);font-weight:700;font-size:.8125rem}

/* Picker */
[data-gbp-picker]{display:none;margin-top:28px;padding-top:28px;border-top:1px solid var(--border)}
[data-gbp-picker].is-visible{display:grid;gap:14px}
[data-gbp-picker-title]{margin:0;font:700 1.5rem/1.2 var(--display);letter-spacing:-.015em}
[data-gbp-picker-body],[data-gbp-picker-none],[data-gbp-picker-fallback]{margin:0;color:var(--text-2);font-size:1rem}
[data-gbp-picker-list]{display:grid;gap:10px}
[data-gbp-candidate]{display:grid;grid-template-columns:1fr auto;gap:4px 16px;width:100%;padding:16px 18px;text-align:left;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:14px;font:inherit;cursor:pointer;transition:border-color .2s,transform .2s}
[data-gbp-candidate]:hover{border-color:var(--orange-hover);transform:translateY(-1px)}
[data-gbp-candidate]:focus-visible{outline:2px solid var(--white);outline-offset:2px}
[data-gbp-candidate][data-match="true"]{border-color:var(--orange);box-shadow:inset 3px 0 0 var(--orange)}
[data-gbp-candidate-name]{font-weight:600;display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}
[data-gbp-candidate-badge]{padding:4px 10px;border-radius:999px;background:var(--chip);color:var(--bg);font:500 .75rem/1 var(--mono);letter-spacing:.04em;text-transform:uppercase}
[data-gbp-candidate-stats]{color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap}
[data-gbp-candidate-meta]{grid-column:1/-1;color:var(--text-3);font-size:.9375rem}
[data-gbp-picker-retry]{padding:0;background:none;border:0;color:var(--orange);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
[data-gbp-picker-fallback] a{color:var(--orange);text-underline-offset:3px}

/* Results */
[data-gbp-results]{display:none;margin-top:32px;padding-top:32px;border-top:1px solid var(--border)}
[data-gbp-results].is-visible{display:grid;gap:clamp(28px,4vw,40px)}

[data-gbp-summary]{display:grid;gap:24px;align-items:center;justify-items:center;text-align:center}
@media (min-width:640px){ [data-gbp-summary]{grid-template-columns:auto 1fr;justify-items:start;text-align:left} }
[data-gbp-ring]{position:relative;width:156px;height:156px;border-radius:50%;background:conic-gradient(var(--orange) calc(var(--pct,0) * 3.6deg),rgba(var(--white-rgb),.09) 0);box-shadow:0 0 60px -6px rgba(var(--glow-rgb),.45)}
[data-gbp-ring-inner]{position:absolute;inset:12px;border-radius:50%;background:var(--surface);display:grid;place-content:center;justify-items:center;gap:4px}
[data-gbp-score]{font:700 3rem/1 var(--display);font-variant-numeric:tabular-nums}
[data-gbp-score-max]{color:var(--text-3);font-size:.8125rem;letter-spacing:.04em;text-transform:uppercase}
[data-gbp-summary-copy]{display:grid;gap:8px;justify-items:inherit;min-width:0}
[data-gbp-name]{margin:0;font:700 clamp(1.5rem,3vw,1.875rem)/1.15 var(--display);letter-spacing:-.015em}
[data-gbp-address],[data-gbp-meta]{margin:0;color:var(--text-2);font-size:.9375rem}
[data-gbp-grade]{display:inline-flex;align-items:center;gap:8px;margin-top:6px;padding:8px 14px;border-radius:999px;background:var(--chip);color:var(--bg);font:700 .9375rem/1 var(--display)}
[data-gbp-grade]::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--orange)}
[data-gbp-headline]{margin:4px 0 0;font:700 1.25rem/1.3 var(--display);color:var(--text)}

/* Metrics: 5 tiles; 3 + 2 on wide screens */
[data-gbp-metrics]{display:grid;gap:12px}
@media (min-width:640px){ [data-gbp-metrics]{grid-template-columns:1fr 1fr} }
@media (min-width:900px){ [data-gbp-metrics]{grid-template-columns:repeat(6,1fr)} [data-gbp-metric]{grid-column:span 2} [data-gbp-metric]:nth-child(n+4){grid-column:span 3} }
[data-gbp-metric]{display:grid;gap:6px;align-content:start;padding:18px 18px 18px 20px;background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--state,var(--border-2));border-radius:14px}
[data-gbp-metric-head]{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
[data-gbp-metric-label]{color:var(--text-2);font:500 .8125rem/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase}
[data-gbp-metric-points]{font:700 1rem/1 var(--display);font-variant-numeric:tabular-nums;color:var(--text)}
[data-gbp-metric-display]{margin:0;font:700 1.375rem/1.2 var(--display)}
[data-gbp-metric-verdict]{margin:0;display:flex;align-items:center;gap:8px;font-weight:600;color:var(--state-text,var(--text))}
[data-gbp-metric-verdict]::before{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:.75rem;font-weight:700;flex:none}
/* Palette-only states (decision D2, option 1): the icon and the verdict word carry the meaning, not colour alone */
[data-gbp-metric][data-state="good"]{--state:var(--white);--state-text:var(--text)}
[data-gbp-metric][data-state="good"] [data-gbp-metric-verdict]::before{content:"✓";background:var(--white);color:var(--bg)}
[data-gbp-metric][data-state="fair"]{--state:var(--orange-alt);--state-text:var(--orange-alt)}
[data-gbp-metric][data-state="fair"] [data-gbp-metric-verdict]::before{content:"–";border:1.5px solid var(--orange-alt);color:var(--orange-alt)}
[data-gbp-metric][data-state="poor"]{--state:var(--orange);--state-text:var(--orange)}
[data-gbp-metric][data-state="poor"] [data-gbp-metric-verdict]::before{content:"!";background:var(--orange);color:var(--on-accent)}

/* Local benchmark */
[data-gbp-bench]{display:none}
[data-gbp-bench].is-visible{display:grid;gap:12px}
[data-gbp-bench-title],[data-gbp-actions-title],[data-gbp-sharelink-label]{margin:0;font:700 1.375rem/1.2 var(--display);letter-spacing:-.015em;color:var(--text)}
[data-gbp-bench-lede]{margin:0;color:var(--text-2)}
[data-gbp-table-wrap]{overflow-x:auto;border:1px solid var(--border);border-radius:14px}
[data-gbp-table-head],[data-gbp-row]{display:grid;grid-template-columns:40px minmax(0,1fr) 72px 88px;gap:12px;align-items:center;padding:12px 16px}
[data-gbp-table-head]{color:var(--text-3);font:500 .75rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--border)}
[data-gbp-table-head] span:nth-child(n+3),[data-gbp-row-rating],[data-gbp-row-reviews]{text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:520px){
  [data-gbp-panel]{padding:20px 16px}
  [data-gbp-table-head],[data-gbp-row]{grid-template-columns:22px minmax(0,1fr) 50px 56px;gap:8px;padding:10px 12px}
  [data-gbp-row-name]{white-space:normal;overflow-wrap:anywhere}
  [data-gbp-action]{grid-template-columns:32px 1fr;gap:12px;padding:16px}
  [data-gbp-action-rank]{width:32px;height:32px}
}
[data-gbp-row]+[data-gbp-row]{border-top:1px solid var(--border)}
[data-gbp-row-rank]{color:var(--text-3);font-variant-numeric:tabular-nums}
[data-gbp-row-name]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2)}
[data-gbp-row-rating],[data-gbp-row-reviews]{color:var(--text-2)}
[data-gbp-row][data-self="true"]{background:rgba(var(--orange-rgb),.12);box-shadow:inset 3px 0 0 var(--orange)}
[data-gbp-row][data-self="true"] [data-gbp-row-name]{color:var(--text);font-weight:700}
[data-gbp-row][data-self="true"] [data-gbp-row-rank],[data-gbp-row][data-self="true"] [data-gbp-row-reviews]{color:var(--orange);font-weight:700}

/* Top fixes */
[data-gbp-actions]{display:grid;gap:10px;margin:-14px 0 0;padding:0;list-style:none}
[data-gbp-action]{display:grid;grid-template-columns:36px 1fr;gap:16px;padding:18px;background:var(--surface-2);border:1px solid var(--border);border-radius:14px}
[data-gbp-action-rank]{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--orange);color:var(--on-accent);font:700 1rem/1 var(--display)}
[data-gbp-action-label]{margin:0 0 4px;font-weight:600;color:var(--text)}
[data-gbp-action-advice]{margin:0;color:var(--text-2)}

/* Review link */
[data-gbp-sharelink]{display:none}
[data-gbp-sharelink].is-visible{display:grid;gap:8px;padding:20px;background:var(--surface-2);border:1px solid var(--border);border-radius:14px}
[data-gbp-sharelink-body]{margin:0;color:var(--text-2)}
[data-gbp-sharelink-url]{color:var(--orange);font-weight:600;overflow-wrap:anywhere;text-underline-offset:3px}

/* Note + attribution */
[data-gbp-note]{margin:0;color:var(--text-3);font-size:.9375rem;max-width:72ch}
[data-gbp-powered]{display:flex;align-items:center;gap:12px;margin:-16px 0 0;color:var(--text-3);font:500 .75rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}

/* Booking CTA */
[data-gbp-cta]{position:relative;display:grid;justify-items:center;gap:14px;padding:clamp(24px,4vw,40px);text-align:center;background:radial-gradient(ellipse 80% 120% at 50% 0%,rgba(var(--glow-rgb),.28),rgba(var(--glow-rgb),0) 70%),var(--surface-2);border:1px solid rgba(var(--orange-rgb),.45);border-radius:20px}
[data-gbp-cta-title]{margin:0;font-size:clamp(1.5rem,3vw,2rem);max-width:24ch}
[data-gbp-cta-body]{margin:0;max-width:56ch;color:var(--text-2)}
[data-gbp-cta-book]{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 28px;border:1px solid transparent;border-radius:999px;background:var(--orange);color:var(--on-accent);font-weight:600;text-decoration:none;text-align:center;transition:transform .2s,box-shadow .2s,border-color .2s}
[data-gbp-cta-book]:hover{transform:translateY(-1px);border-color:var(--orange-hover);box-shadow:0 0 0 4px rgba(var(--orange-hover-rgb),.25),0 12px 32px -10px rgba(var(--orange-rgb),.7)}
[data-gbp-cta-book]:focus-visible{outline:2px solid var(--white);outline-offset:3px}

/* Space below the tool so the bottom-left chat bubble never covers it */
.gbp-after{height:calc(var(--chat-safe) + 24px)}

/* Booking modal (markup and script unchanged; only these rules restyled) */
#gbp-book-modal{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(var(--bg-rgb),.82);backdrop-filter:blur(4px)}
#gbp-book-modal.is-open{display:flex}
#gbp-book-modal .gbp-book-card{position:relative;width:100%;max-width:820px;max-height:92vh;display:flex;flex-direction:column;background:var(--white);border-radius:20px;overflow:hidden;box-shadow:0 0 0 1px var(--border),0 30px 90px -20px rgba(var(--glow-rgb),.5)}
#gbp-book-modal .gbp-book-scroll{flex:1 1 auto;overflow-y:auto}
#gbp-book-modal .gbp-book-close{position:absolute;top:12px;right:12px;z-index:3;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--bg);color:var(--text);font:700 22px/1 var(--font);cursor:pointer}
#gbp-book-modal .gbp-book-close:hover{background:var(--orange-hover)}
#gbp-book-modal .gbp-book-close:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
#gbp-book-modal iframe{width:100%;min-height:720px;border:0;display:block}

@media (prefers-reduced-motion:reduce){ [data-gbp-run],[data-gbp-candidate],[data-gbp-cta-book]{transition:none} [data-gbp-run]:hover,[data-gbp-candidate]:hover,[data-gbp-cta-book]:hover{transform:none} }
