/* Car Detailing visual foundation. Same schema and token contract; distinct compositions. */
:root {
 --tfs-color-surface-page:var(--wp--preset--color--surface-page,#f5f4f0);
 --tfs-color-surface-muted:var(--wp--preset--color--surface-muted,#eae9e3);
 --tfs-color-text-body:var(--wp--preset--color--text-body,#171b1b);
 --tfs-color-text-muted:#626964;
 --tfs-color-text-error:#b02c21;
 --tfs-color-action-primary:var(--wp--preset--color--action-primary,#f26134);
 --tfs-color-action-secondary:var(--wp--preset--color--action-secondary,#171b1b);
 --tfs-color-accent:var(--wp--preset--color--accent,#f26134);
 --tfs-color-on-primary:#141918;
 --tfs-color-border-hairline:#d3d6cf;
 --tfs-color-border-soft:#dce0d8;
 --tfs-font-body:var(--wp--preset--font-family--body,"Epilogue",sans-serif);
 --tfs-space-section:clamp(4rem,8vw,7rem);
 --tfs-radius-sm:0;
 --tfs-radius-md:0;
 --tfs-font-size-base:1rem;
 --tfs-font-size-lead:clamp(1rem,1.1vw,1.125rem);
 --tfs-font-size-3xl:clamp(2rem,3.8vw,3.7rem);
 --tfs-font-size-display:clamp(2.7rem,5.1vw,5rem);
}
body { line-height:1.75; }
.cd-container { width:min(100% - 3rem,80rem); }
.cd-heading,.cd-display { font-weight:800; letter-spacing:-.055em; line-height:1.08; }
.cd-heading { max-width:21ch; }
.cd-description { line-height:1.8; margin-top:1.5rem; }
.cd-eyebrow { display:flex; align-items:center; gap:.7rem; font-size:.7rem; letter-spacing:.16em; }
.cd-eyebrow::before { content:""; width:1.5rem; height:2px; background:currentColor; }
.cd-button { padding:1rem 1.5rem; font-size:.75rem; font-weight:700; min-height:52px; gap:1.25rem; transition:background .2s,color .2s,transform .2s; }
.cd-button::after { content:"↗"; font-size:1.2rem; line-height:1; }
.cd-button:hover { filter:none; transform:translateY(-2px); background:#ff8059; }
.cd-button-secondary { border-color:currentColor; }
.cd-button-secondary:hover { background:var(--tfs-color-text-body); color:var(--tfs-color-surface-page); }
.cd-header { background:#fff; position:relative; z-index:30; }
.cd-header-row { min-height:90px; padding-block:1rem; }
.cd-logo { font-size:1rem; font-weight:800; letter-spacing:-.04em; display:flex; align-items:center; gap:.7rem; }
.cd-logo::before { content:"//"; display:grid; place-items:center; background:#f26134; color:#141918; width:36px; height:36px; font-size:1.2rem; letter-spacing:-.2em; padding-right:.2em; }
.cd-nav a { font-family:var(--tfs-font-heading); font-size:.75rem; font-weight:600; text-decoration:none; }
.cd-nav a:hover { color:#c34118; }
.cd-nav .cd-text-link { margin:0; }
.cd-header .cd-button { background:#171d1c; color:#fff; border-color:#171d1c; }
.cd-section { border:0; }
.cd-hero { position:relative; isolation:isolate; background:#111b1b; color:#fff; padding-block:clamp(4rem,7vw,7rem); min-height:650px; display:flex; align-items:center; overflow:hidden; }
.cd-hero .cd-container { position:relative; }
.cd-hero .cd-split { display:block; }
.cd-hero .cd-split>div:first-child { position:relative; z-index:2; max-width:41rem; }
.cd-hero .cd-display { max-width:12ch; }
.cd-hero .cd-description { color:#d3dcda; max-width:43ch; font-size:.95rem; }
.cd-hero .cd-eyebrow { color:#ff916d; }
.cd-hero .cd-media { position:absolute; z-index:-2; inset:calc(-1 * var(--tfs-space-section)) calc((min(100vw - 3rem,80rem) - 100vw)/2); width:auto; height:calc(100% + var(--tfs-space-section)*2); }
.cd-hero .cd-media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,20,20,.97),rgba(10,20,20,.86) 35%,rgba(10,20,20,.12) 75%),linear-gradient(0deg,rgba(10,20,20,.3),transparent); }
.cd-hero .cd-image { height:100%; width:100%; aspect-ratio:auto; object-fit:cover; object-position:center top; background:#111b1b; }
.cd-hero .cd-button-secondary { color:#fff; border-color:#82908e; }
.cd-hero .cd-actions { margin-top:2rem; }
.cd-hero .cd-cards { position:relative; }
[data-tfs-section="services_section"] { background:#fff; }
[data-tfs-section="services_section"] .cd-intro { display:grid; gap:0; }
.cd-card { padding:2rem; background:transparent; border:1px solid var(--tfs-color-border-soft); }
.cd-card h3 { font-size:1.15rem; letter-spacing:-.025em; font-weight:700; }
.cd-card p { font-size:.9rem; color:var(--tfs-color-text-muted); }
[data-collection="services"] { gap:1.5rem; }
[data-collection="services"] .cd-card { padding:0 1.75rem 1.75rem; border:0; background:#f3f4ef; display:flex; flex-direction:column; }
[data-collection="services"] .cd-image { width:calc(100% + 3.5rem); max-width:none; margin:0 -1.75rem 1.75rem; height:240px; aspect-ratio:auto; object-fit:contain; background:#17201e; }
[data-collection="services"] .cd-price { order:5; font:600 .85rem/1.5 var(--tfs-font-heading); margin-top:1.25rem; color:#232d28; }
[data-collection="services"] .cd-button { order:6; margin-top:auto; padding:1rem 0 0; align-self:flex-start; border:0; border-top:1px solid #d2d8cf; background:none; width:100%; justify-content:space-between; color:#28362c; }
[data-tfs-section="about_section"] { background:#f1f1e9; }
[data-tfs-section="about_section"] .cd-media { order:-1; }
[data-tfs-section="about_section"] .cd-image { aspect-ratio:1; object-fit:contain; background:#14201c; }
[data-tfs-section="about_section"] .cd-copy { max-width:50ch; font-size:.9rem; color:#626964; border-left:2px solid #f26134; padding-left:1.5rem; }
[data-tfs-section="why_choose_us_section"] { background:#13221e; color:#fff; }
[data-tfs-section="why_choose_us_section"] .cd-eyebrow { color:#f78c65; }
[data-tfs-section="why_choose_us_section"] .cd-heading { max-width:17ch; }
[data-collection="reasons"] { margin-top:3rem; gap:0; }
[data-collection="reasons"] .cd-card { border:0; border-top:1px solid #4a5950; padding:2rem 2rem 0 0; }
[data-collection="reasons"] p { color:#b5c3b8; }
.cd-step-number { display:block; font:500 .8rem/1 var(--tfs-font-heading); margin-bottom:2rem; color:var(--tfs-color-accent); }
[data-tfs-section="process_section"] { background:#fff; }
[data-collection="process_steps"] { gap:2rem; }
[data-collection="process_steps"] .cd-card { padding:2rem 0 0; border:0; border-top:1px solid #cbd3c9; }
[data-collection="process_steps"] .cd-step-number { width:3rem; height:3rem; border:1px solid #b7c5b9; display:grid; place-items:center; border-radius:50%; color:#273c2d; }
[data-tfs-section="pricing_section"] { background:#e9ede6; }
[data-collection="packages"] { gap:1rem; align-items:stretch; }
[data-collection="packages"] .cd-card { background:#fff; padding:2.3rem; border:0; display:flex; flex-direction:column; }
[data-collection="packages"] .cd-featured { background:#173327; color:#fff; box-shadow:inset 0 4px #f26134; }
[data-collection="packages"] .cd-featured p { color:#c7d4c8; }
[data-collection="packages"] .cd-price { font-size:2.2rem; letter-spacing:-.06em; color:#1a3322; }
[data-collection="packages"] .cd-featured .cd-price { color:#fff; }
[data-collection="packages"] .cd-eyebrow { min-height:1.25rem; color:#f78c65; }
[data-collection="packages"] .cd-list { font-size:.85rem; margin-block:2rem; flex:1; }
[data-collection="packages"] .cd-button { width:100%; justify-content:space-between; }
[data-tfs-section="gallery_section"] { background:#fff; }
[data-collection="images"] .cd-card { border:0; padding:0; }
[data-collection="images"] .cd-image { background:#e9ede6; height:320px; aspect-ratio:auto; object-fit:contain; margin-bottom:1.3rem; }
[data-collection="images"] .cd-card h3 { font-size:.95rem; }
[data-collection="images"] .cd-card p { font-size:.7rem; }
[data-tfs-section="testimonials_section"] { background:#e9ede6; }
[data-collection="testimonials"] { display:block; max-width:65rem; }
[data-collection="testimonials"] .cd-card { border:0; border-left:3px solid #f26134; padding:0 0 0 2rem; }
[data-collection="testimonials"] blockquote { font-family:var(--tfs-font-heading); font-size:clamp(1.4rem,2.5vw,2.5rem); line-height:1.5; letter-spacing:-.04em; }
[data-tfs-section="faq_section"] { background:#fff; }
.cd-faq details { padding:1.5rem 0; }
.cd-faq summary { font-size:.9rem; padding-right:1.5rem; }
.cd-faq .cd-copy { font-size:.9rem; color:#626964; }
[data-tfs-section="cta_section"] { background:#f26134; }
[data-tfs-section="cta_section"] .cd-container { display:flex; align-items:center; justify-content:space-between; }
[data-tfs-section="cta_section"] .cd-eyebrow { color:#472618; }
[data-tfs-section="cta_section"] .cd-description { color:#472d20; }
[data-tfs-section="cta_section"] .cd-button { background:#18261e; border-color:#18261e; color:#fff; }
.cd-contact { background:#f1f1e9; }
.cd-contact-layout { margin-top:2.5rem; align-items:start; }
.cd-contact-layout .cd-form { margin-top:0; background:#fff; border:1px solid var(--tfs-color-border-soft); }
.cd-contact-details { max-width:50rem; padding-top:1.5rem; border-top:1px solid #cbd3c9; }
.cd-footer { background:#13221e; color:#e4ece4; padding-block:4rem 2rem; }
.cd-footer h2 { font-size:1rem; }
.cd-footer p,.cd-footer a,.cd-footer td,.cd-footer th { font-size:.8rem; }
.cd-footer .cd-copyright { border-color:#4a5950; color:#b5c3b8; }
@media (min-width:900px) {
 [data-tfs-section="faq_section"]>.cd-container { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:5rem; align-items:start; }
 .cd-faq { margin-top:0; }
}
@media (min-width:1200px) {
 .cd-nav li>ul { background:#fff; }
}
@media (max-width:767px) {
 .cd-container { width:calc(100% - 2.5rem); }
 .cd-header-row { min-height:80px; }
 .cd-header .cd-actions { display:none; }
 .cd-header .cd-logo { max-width:70%; }
 .cd-hero { min-height:0; padding-top:3.5rem; padding-bottom:0; }
 .cd-hero .cd-split { display:flex; flex-direction:column; gap:2.5rem; }
 .cd-hero .cd-split>div:first-child { padding-bottom:0; }
 .cd-hero .cd-display { max-width:13ch; }
 .cd-hero .cd-media { position:relative; inset:auto; height:auto; width:calc(100% + 2.5rem); align-self:center; z-index:0; }
 .cd-hero .cd-image { width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; }
 .cd-hero .cd-media::after { display:none; }
 [data-collection="services"] .cd-image { height:230px; }
 [data-tfs-section="about_section"] .cd-media { order:0; }
 [data-tfs-section="about_section"] .cd-image { aspect-ratio:4/3; }
 [data-collection="images"] .cd-image { height:auto; aspect-ratio:4/3; }
 [data-collection="packages"] .cd-card { padding:2rem; }
 .cd-card { padding:1.5rem; }
}
