/* Collision Core theme layout. Components (buttons, form, repair file, slots) live in the engine's cc-front.css. */

/* Utility bar + header */
.cc-utility { font-size: .88rem; }
.cc-utility a { color: inherit; text-decoration: none; }
.cc-utility a:hover { text-decoration: underline; }
.cc-header { position: sticky; top: 0; z-index: 40; border-bottom: 1px solid var(--wp--preset--color--line); }
.cc-header .wp-block-site-title a { text-decoration: none; font-weight: 800; letter-spacing: -.01em; }
.cc-header .wp-block-site-title { white-space: nowrap; }
.cc-header .wp-block-navigation { font-size: .95rem; }
.cc-header .cc-cta__buttons { flex-wrap: nowrap; gap: 8px; }
.cc-header .cc-cta__buttons .cc-button { min-height: 44px; padding: 8px 16px; font-size: .95rem; white-space: nowrap; }
@media (max-width: 1439px) { .cc-header .cc-cta__buttons .cc-button--ghost { display: none; } }
@media (max-width: 1099px) { .cc-header .cc-cta { display: none; } }
.cc-header .cc-cta__buttons .cc-button small, .cc-header .cc-cta__buttons .cc-button--text { display: none; }
@media (max-width: 781px) { .cc-header .cc-cta { display: none; } }
.admin-bar .cc-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .cc-header { top: 46px; } }

/* Hero */
.cc-hero { position: relative; overflow: hidden; }
.cc-hero .cc-hero__kicker { font-size: 1.05rem; font-weight: 700; font-stretch: 100%; line-height: 1.3; letter-spacing: 0; color: var(--wp--preset--color--steel); margin: 0 0 14px; max-width: none; }
.cc-hero .cc-hero__headline { font-size: var(--wp--preset--font-size--display); font-weight: 800; font-stretch: 68%; line-height: .95; letter-spacing: -.02em; max-width: 14ch; margin: 0; color: var(--wp--preset--color--ink); }
.cc-hero .cc-hero__sub { font-size: var(--wp--preset--font-size--large); max-width: 46ch; }
.cc-hero__media { position: relative; }
/* Photo on top with a soft lift; the proof folder tucks under its bottom-right corner
   so it only covers the ground line, never faces or the shop sign. */
.cc-hero__media > .cc-slot { position: relative; z-index: 0; width: 88%; border-radius: 8px; box-shadow: 0 30px 60px -28px rgba(0,0,0,.55), 0 12px 24px -12px rgba(0,0,0,.3); }
.cc-hero__media .cc-proof { position: relative; z-index: 1; right: auto; bottom: auto; margin: -72px -12px 0 auto; width: min(340px, 78%); padding: 30px 18px 18px; }
.cc-hero__media .cc-proof:first-child { margin-top: 0; margin-left: 0; width: 100%; }
.cc-hero__media .cc-proof ul { gap: 6px; }
.cc-hero__media .cc-proof li { padding-block: 7px; font-size: .9rem; line-height: 1.35; }
@media (max-width: 781px) {
  .cc-hero__media > .cc-slot { width: 100%; }
  .cc-hero__media .cc-proof { margin: -40px 0 0 auto; width: 92%; }
}

/* Stakes: what goes wrong when the bill-payer decides the repair */
.cc-stakes { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 0; border-top: 2px solid var(--wp--preset--color--ink); }
.cc-stakes li { padding: 20px 20px 20px 0; border-bottom: 1px solid var(--wp--preset--color--line); max-width: none; }
.cc-stakes strong { display: block; font-size: 1.25rem; font-stretch: 80%; margin-bottom: 4px; }

/* Three-step plan: a real sequence, so it is numbered */
.cc-steps { counter-reset: step; list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: clamp(16px, 3vw, 40px); }
.cc-steps > li { counter-increment: step; position: relative; padding-top: 64px; max-width: none; }
.cc-steps > li::before { content: counter(step); position: absolute; top: 0; left: 0; font-size: 3.6rem; font-weight: 900; font-stretch: 62%; line-height: 1; color: var(--wp--preset--color--accent); }
.cc-steps strong { display: block; font-size: 1.3rem; font-stretch: 80%; margin-bottom: 6px; }

/* Dark sections */
.cc-section--dark { color: var(--wp--preset--color--base); }
.cc-section--dark h2, .cc-section--dark h3 { color: inherit; }
.cc-section--dark a:not(.cc-button) { color: inherit; }

/* Article template */
.cc-article-aside { position: sticky; top: 110px; }

/* Footer */
.cc-footer { font-size: .95rem; }
.cc-footer a { color: inherit; }
.cc-footer .wp-block-heading { color: inherit; font-size: 1.1rem; font-stretch: 85%; }
.cc-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }

/* Content rhythm on long answer pages */
.entry-content > h2 { margin-top: 2.2em; }
.entry-content > h3 { margin-top: 1.6em; }

:focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 2px; }

/* Contact grid */
.cc-contact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px 32px; }
.cc-contact-grid p { margin: 0; }

/* Header density */
.cc-header .wp-block-navigation__container { gap: 1.05em; }
@media (max-width: 781px) {
  .cc-utility .wp-block-cc-info:nth-child(2) { display: none; }
  .cc-utility { font-size: .8rem; }
}
