/* Car-key pages only. Reuse Phase 8A/8B tokens, cards, buttons, typography and spacing. */
body.gem-car-keys-page { background:var(--gem-bg); }
body.gem-service-page.gem-car-keys-page main.wp-block-group { margin:0!important; padding:0!important; background:var(--gem-bg); overflow:visible; }
body.gem-service-page.gem-car-keys-page:not(.gem-service-post-page) .wp-block-post-content { width:100%; max-width:none; margin:0!important; }
body.gem-car-keys-page .gem-keys :is(h1,h2,h3) { color:var(--gem-text); letter-spacing:-.03em; }
.gem-keys { background:var(--gem-bg); color:var(--gem-text); font:16px/1.65 var(--gem-font); width:100%; max-width:none; }
.gem-keys .gem-keys-hero { margin:0; padding:56px 0; background:linear-gradient(135deg,var(--gem-bg),var(--gem-section)); }
.gem-keys .gem-keys-hero-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr); gap:48px; align-items:center; }
.gem-keys .gem-keys-hero-grid>div { min-width:0; }
.gem-keys .gem-keys-hero h1 { max-width:20ch; font-size:clamp(36px,4vw,58px); }
.gem-keys .gem-keys-hero-panel { padding:32px; border:1px solid var(--gem-border); border-top:3px solid var(--gem-red); border-radius:var(--gem-radius); background:var(--gem-card); }
.gem-keys .gem-keys-hero-panel>.gem-v8-icon { width:80px; height:80px; color:var(--gem-amber); margin-bottom:20px; }
.gem-keys .gem-keys-hero-panel h2 { font-size:26px; margin-bottom:16px; }
.gem-keys .gem-keys-hero-note { margin-top:20px; font-size:13px; }
.gem-keys .gem-keys-enquiry-link { display:inline-flex; padding:12px 0; gap:16px; color:var(--gem-amber); font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.gem-keys .gem-keys-choice-links { display:grid; gap:10px; margin-top:24px; }
.gem-keys .gem-keys-choice-links a { display:flex; justify-content:space-between; gap:16px; border-top:1px solid var(--gem-border); padding:12px 0 0; color:var(--gem-amber); font-size:14px; }
.gem-keys .gem-keys-prose { display:grid; gap:20px; max-width:82ch; }
.gem-keys .gem-keys-prose a { color:var(--gem-amber); text-decoration:underline; text-underline-offset:4px; }
.gem-keys .gem-keys-security { display:flex; align-items:flex-start; gap:20px; padding:24px; border:1px solid var(--gem-border); border-left:4px solid var(--gem-red); border-radius:var(--gem-radius-sm); background:var(--gem-card); }
.gem-keys .gem-keys-security>.gem-v8-icon { width:44px; height:44px; flex:none; color:var(--gem-amber); }
.gem-keys .gem-keys-security strong { color:var(--gem-text); }
.gem-keys .gem-keys-faq { display:grid; gap:12px; max-width:90ch; }
.gem-keys .gem-keys-faq details { padding:0 24px; border:1px solid var(--gem-border); border-radius:var(--gem-radius-sm); background:var(--gem-card); }
.gem-keys .gem-keys-faq summary { min-height:60px; padding:16px 0; cursor:pointer; color:var(--gem-text); font-weight:650; }
.gem-keys .gem-keys-faq details>p { padding-bottom:24px; }
.gem-keys .gem-keys-related { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.gem-keys .gem-keys-related a { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:18px; border:1px solid var(--gem-border); border-radius:var(--gem-radius-sm); background:var(--gem-card); color:var(--gem-amber); font-size:14px; }
.gem-keys .gem-keys-enquiry-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:48px; align-items:start; }
.gem-keys .gem-keys-enquiry-layout>div { min-width:0; }
.gem-keys .gem-keys-enquiry-layout .gem-keys-security { margin-top:24px; }
.gem-keys .gem-keys-formbox { padding:28px; border:1px solid var(--gem-border); border-radius:var(--gem-radius); background:var(--gem-card); }
.gem-keys .gem-keys-formbox .gem-form { max-width:none!important; gap:20px!important; }
.gem-keys .gem-form label { display:grid; gap:8px; min-width:0; font-size:14px; color:var(--gem-text); }
.gem-keys .gem-form :is(input:not([type=hidden]),select,textarea) { box-sizing:border-box; min-width:0; max-width:100%; min-height:48px; background:var(--gem-bg); color:var(--gem-text); border:1px solid #64768a!important; border-radius:8px; padding:12px!important; font:16px/1.4 var(--gem-font); }
.gem-keys .gem-form :is(input,textarea)::placeholder { color:var(--gem-muted); opacity:1; }
.gem-keys .gem-form :is(input,select,textarea):focus-visible { outline:3px solid var(--gem-amber); outline-offset:3px; }
.gem-keys .gem-keys-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; min-width:0; margin:0; padding:20px 0 0; border:0; border-top:1px solid var(--gem-border); }
.gem-keys .gem-keys-fields legend { color:var(--gem-text); font-weight:700; font-size:16px; padding:0 8px 0 0; }
.gem-keys .gem-keys-fields legend span { color:var(--gem-muted); font-size:13px; font-weight:400; }
.gem-keys .gem-keys-fields>p { grid-column:1/-1; font-size:13px; }
.gem-keys .gem-contact-actions button { width:auto!important; max-width:100%; min-height:48px; font-family:var(--gem-font); }
.gem-keys .gem-contact-actions button[type=submit] { color:#141a20!important; background:var(--gem-amber)!important; }
.gem-keys .gem-contact-actions button[type=reset] { color:var(--gem-text)!important; background:var(--gem-elevated)!important; border-color:var(--gem-border)!important; }
.gem-keys .gem-keys-formbox .g-recaptcha { max-width:100%; }
.gem-keys .gem-keys-formbox .g-recaptcha+span { color:var(--gem-muted)!important; }
.gem-keys :is(section,article)[id] { scroll-margin-top:24px; }
@media(max-width:1120px) {
 .gem-keys .gem-keys-hero-grid { gap:32px; }
 .gem-keys .gem-keys-enquiry-layout { gap:32px; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
 .gem-keys .gem-keys-formbox { padding:24px; }
 .gem-keys .gem-keys-fields { grid-template-columns:1fr; }
}
@media(max-width:960px) {
 .gem-keys .gem-keys-hero-grid,.gem-keys .gem-keys-enquiry-layout { grid-template-columns:1fr; }
 .gem-keys .gem-keys-hero-panel { max-width:72ch; }
 .gem-keys .gem-keys-related { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .gem-keys .gem-keys-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 .gem-keys .gem-keys-hero { padding:32px 0; }
 .gem-keys .gem-keys-hero-grid { gap:24px; }
 .gem-keys .gem-keys-hero h1 { font-size:36px; }
 .gem-keys .gem-keys-hero-panel { padding:24px; }
 .gem-keys .gem-keys-related,.gem-keys .gem-keys-fields { grid-template-columns:1fr; }
 .gem-keys .gem-keys-security { padding:18px; gap:12px; }
 .gem-keys .gem-keys-security>.gem-v8-icon { width:30px; height:30px; }
 .gem-keys .gem-keys-formbox { padding:20px 6px; }
 .gem-keys .gem-keys-formbox>.gem-form { padding:0!important; }
 .gem-keys .gem-keys-enquiry-layout { gap:24px; }
}
