/* Brand alignment for the existing interactive tools. Their stylesheets are scoped
   under .tool at build time; this hides their duplicate intros (the page hero replaces
   them) and lifts their controls to the rebrand's shapes. */
.tool { position: relative; z-index: 1; padding: clamp(40px, 5vw, 72px) 0 var(--section); font-family: var(--font-body); color: var(--ink); background: transparent; }
.tool > main, .tool .booking-main, .tool .coverage-page-main { margin: 0 auto; }
.tool .intro, .tool .coverage-intro, .tool .planner-intro, .tool .desk-heading { display: none; }
.tool h2, .tool h3 { font-family: var(--font-display); color: var(--navy-900); font-weight: 500; letter-spacing: -.01em; }
.tool .primary, .tool .coverage-primary { border-radius: 999px !important; padding: 14px 24px !important; font-weight: 700 !important; font-family: var(--font-body) !important; }
.tool .secondary, .tool .coverage-secondary { border-radius: 999px !important; padding: 13px 22px !important; font-family: var(--font-body) !important; }
.tool .booking-card, .tool .coverage-card, .tool .ac-panel { border-radius: var(--r-lg) !important; border-color: var(--line) !important; box-shadow: var(--shadow-md) !important; }
.tool .booking-summary, .tool .coverage-sidebar { border-radius: var(--r-lg) !important; background: var(--navy-900) !important; }
.tool .day, .tool .slot { border-radius: var(--r-sm) !important; }
.tool input, .tool select, .tool textarea { font-family: var(--font-body) !important; border-radius: var(--r-sm) !important; }
.tool .ac-wrap { width: min(100% - 2 * var(--gutter), var(--wrap)); margin-inline: auto; }
.tool footer { display: none; }
.tool .booking-summary h2, .tool .booking-summary h3 { color: var(--white); }
.tool .booking-summary .eyebrow { color: var(--gold-400); }
.tool .booking-summary { position: sticky; top: 120px; align-self: start; }
.tool .summary-emblem { border-color: var(--gold-400); color: var(--navy-900); }
.tool .booking-summary .phone { color: var(--gold-400); }
@media (max-width: 800px) { .tool .booking-summary { position: static; } }

/* Booking: use the full content width */
.tool .booking-main { max-width: var(--wrap); width: min(100% - 2 * var(--gutter), var(--wrap)); padding: 0; }
.tool .booking-layout { grid-template-columns: minmax(0, 1fr) 380px; gap: 28px; }
.tool .booking-card { padding: clamp(24px, 3vw, 40px); }
.tool .days { gap: 12px; }
.tool .day { padding: 16px 8px; }
.tool .day strong { font-size: 1.9rem; }
.tool .slots { gap: 12px; }
.tool .slot { padding: 14px; font-size: .95rem; }
.tool .booking-summary { padding: 32px; }
@media (max-width: 1080px) { .tool .booking-layout { grid-template-columns: minmax(0, 1fr); } .tool .booking-summary { position: static; } }

/* Audit: readable small print inside the wrapped tools */
.tool .demo-note, .tool .small-print, .tool .desk-form-footer { font-size: .84rem; line-height: 1.5; }
.tool .day span, .tool .timezone, .tool .desk-required, .tool .desk-optional { font-size: .75rem; }
