/* Additions on top of the styles carried over from the previous site: the booking and quote forms
   (HCC Booking plugin) dressed in the site's own colours, type and button style. */

:root { --hcc-brand: #174174; --hcct-blue: #1e90ff; --hcct-teal: #55afd2; --hcct-navy: #174174; }

.hcct-embed { max-width: 1180px; margin: 0 auto; padding: 36px 20px 64px; text-align: left; }
.hcct-embed .hcc-booking, .hcct-embed .hcc-quote, .content-wrapper .hcc-portal, .content-wrapper .hcc-booking, .content-wrapper .hcc-quote {
  --hcc-ink: #333; --hcc-muted: #5b6770; --hcc-line: #e1e6ea; --hcc-soft: #f5f8fb; --hcc-r: 6px;
  font-family: inherit; font-size: 16px;
}
.hcct-embed h2, .hcct-embed h3, .hcct-embed h4 { color: var(--hcct-navy); font-weight: 500; line-height: 1.25; }

/* Buttons: the site's blue, squared-off button */
.hcct-embed .hcc-btn, .content-wrapper .hcc-btn { background: var(--hcct-blue); border-radius: 3px; font-weight: 500; letter-spacing: .01em; transition: background .15s ease, transform .1s ease; }
.hcct-embed .hcc-btn:hover, .content-wrapper .hcc-btn:hover { background: var(--hcct-navy); filter: none; }
.hcct-embed .hcc-btn:active { transform: translateY(1px); }
.hcct-embed .hcc-btn-ghost, .content-wrapper .hcc-btn-ghost { background: #fff; color: var(--hcct-blue) !important; border-color: var(--hcct-blue); }
.hcct-embed .hcc-btn-ghost:hover { background: #f0f7ff; }

/* Fields and cards */
.hcct-embed .hcc-field input, .hcct-embed .hcc-field select, .hcct-embed .hcc-field textarea, .content-wrapper .hcc-field input, .content-wrapper .hcc-field select, .content-wrapper .hcc-field textarea, .content-wrapper .hcc-inline input {
  padding: 11px 12px; min-height: 46px; height: auto; margin: 0; font-size: 16px; line-height: 1.4; box-shadow: none;
}
.hcct-embed .hcc-field textarea { min-height: 96px; }
.hcct-embed .hcc-field label { margin: 0; color: #333; }
.hcct-embed .hcc-field input, .hcct-embed .hcc-field select, .hcct-embed .hcc-field textarea { border-radius: 4px; border-color: #cfd6dc; }
.hcct-embed .hcc-chip, .hcct-embed .hcc-extra, .hcct-embed .hcc-space { border-radius: 6px; }
.hcct-embed .hcc-extra-img { border-radius: 4px 4px 0 0; }
.hcct-embed .hcc-summary { border-radius: 6px; border-top: 4px solid var(--hcct-blue); box-shadow: 0 8px 28px rgba(23, 65, 116, .10); }
.hcct-embed .hcc-side { top: 110px; }
.hcct-embed .hcc-step:first-child { padding-top: 4px; }
.hcct-embed .hcc-included { border-left: 4px solid var(--hcct-teal); border-radius: 4px; }

/* Quote and contact forms sit on a centred card, like the old booking widget did */
.hcct-embed .hcc-quote { max-width: 900px; margin: 0 auto; background: #fff; border: 1px solid var(--hcc-line); border-radius: 6px; padding: 36px 40px 40px; box-shadow: 0 8px 28px rgba(23, 65, 116, .08); }
.hcct-embed .hcc-quote > .hcc-sub:first-child { text-align: center; font-size: 1.05rem; margin-bottom: 22px; }
.hcct-embed .hcc-q-head h2 { font-size: 1.9rem; }
.hcct-embed .hcc-q-subhead { color: var(--hcct-teal); }
.hcct-embed .hcc-q-step h3 { color: var(--hcct-navy); font-weight: 600; }
.hcct-embed .hcc-quote h3 { margin-top: 28px; }
.hcct-embed .hcc-q-step h3 { margin-top: 0; }
.hcct-embed .hcc-yn button.is-on { background: var(--hcct-navy); }
.hcct-embed .hcc-quote .hcc-btn-lg { min-width: 260px; }
.hcct-embed .hcc-quote:not(.hcc-quote-steps) .hcc-btn-lg { display: flex; width: auto; margin: 26px auto 0; }
.hcct-embed .hcc-success h2 { color: var(--hcct-navy); }

/* Contact page: breathing room between the form and the address / map row */
.content-wrapper > .hcct-embed { padding-left: 0; padding-right: 0; }

/* Floating call / text dock in the site's navy */
#hcc-dock { --dock: #174174; }

@media (max-width: 640px) {
  .hcct-embed { padding: 22px 14px 44px; }
  .hcct-embed .hcc-quote { padding: 22px 16px 26px; border-radius: 4px; }
  .hcct-embed .hcc-q-head h2 { font-size: 1.5rem; }
  .hcct-embed .hcc-quote .hcc-btn-lg { min-width: 0; width: 100%; }
}

/* Cleaner app page: no site chrome. */
body.hcct-app #masthead, body.hcct-app .s-footer, body.hcct-app .s-archive-banner { display: none; }
