/*
Theme Name: ClassicHolders
Author: ClassicHolders
Description: Premium classic-car accessories homepage with modular configuration showcase, vehicle interest pages, and built-in anti-spam contact form. Cloudflare Turnstile optional.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: classicholders
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
:root {
  --forest:#132822;
  --forest-dark:#0b1c17;
  --olive:#304237;
  --bronze:#ab7941;
  --bronze-dark:#926131;
  --paper:#f8f6f2;
  --paper2:#f1eee9;
  --white:#fff;
  --ink:#18241f;
  --muted:#5e615b;
  --line:#e2ddd5;
  --serif:'Libre Baskerville',Georgia,serif;
  --sans:'DM Sans',Arial,sans-serif;
  --shadow:0 12px 30px rgba(20,28,22,.06);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;background:#fff;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{color:var(--bronze-dark)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #c58d4e;outline-offset:3px}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3,h4{line-height:1.19}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}
h3{font-weight:600}
.ch-container{max-width:1320px;margin:0 auto;padding:0 5.2%}
.screen-reader-text,.ch-skip:not(:focus){position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ch-skip:focus{position:fixed;top:8px;left:8px;background:#fff;padding:10px 18px;z-index:9999}
.ch-announcement{background:var(--forest-dark);color:#cfa46c;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ch-announcement-row{display:flex;justify-content:space-between;gap:20px;padding-top:10px;padding-bottom:10px}
.ch-announcement-secondary{color:#e9e9e4;font-weight:500}
.ch-site-header{position:relative;z-index:100;background:#fff;border-bottom:1px solid #eeeae4}
.ch-header-inner{min-height:83px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.ch-brand{font-family:var(--serif);font-size:29px;letter-spacing:-.075em;white-space:nowrap;line-height:1.1;font-weight:700;color:var(--forest)!important}
.ch-brand-gold{color:#a4774c}
.ch-brand sup{font-family:var(--sans);font-size:9px;vertical-align:top;letter-spacing:0;padding-left:3px}
.ch-custom-logo{max-height:65px;width:auto;max-width:240px;object-fit:contain}
.ch-navigation{margin-left:auto}
.ch-nav-links{list-style:none;display:flex;align-items:center;gap:28px;margin:0;padding:0}
.ch-nav-links a{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.045em;color:#18211d;transition:color .2s}
.ch-nav-links a:hover,.ch-nav-links .current-menu-item a{color:var(--bronze)}
.ch-header-right{display:flex;align-items:center}
.ch-header-cta{display:inline-flex;align-items:center;gap:12px;border:1px solid #dfd9d0;padding:10px 14px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.025em;border-radius:3px;white-space:nowrap;transition:background .2s}
.ch-header-cta:hover{background:var(--paper)}
.ch-menu-toggle{display:none;background:none;border:0;padding:12px}
.ch-menu-toggle span:not(.screen-reader-text){display:block;width:22px;height:2px;background:var(--forest);margin:4px 0}
.ch-eyebrow{font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.15em;text-transform:uppercase;color:var(--bronze);display:block;margin-bottom:13px}
.ch-eyebrow-gold{color:#d2a66c}
.ch-button{appearance:none;border:1px solid var(--bronze);background:var(--bronze);color:#fff;display:inline-flex;gap:17px;align-items:center;justify-content:center;text-align:center;border-radius:3px;min-height:49px;padding:13px 24px;font-family:var(--sans);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;transition:background .2s,transform .2s}
.ch-button:hover{background:var(--bronze-dark);border-color:var(--bronze-dark);color:#fff;transform:translateY(-1px)}
.ch-text-link{color:#fff;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid #8c9e91;padding-bottom:6px}
.ch-text-link:hover{color:#edca9f}
.ch-outline-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:10px 18px;min-height:42px;border:1px solid #c9bba9;border-radius:3px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.045em;transition:background .2s,color .2s}
.ch-outline-button:hover{background:var(--forest);color:#fff;border-color:var(--forest)}
.ch-link-arrow{font-size:13px;font-weight:700;color:var(--bronze);text-transform:uppercase;letter-spacing:.04em}
/* Hero */
.ch-hero{display:grid;grid-template-columns:minmax(0,50%) minmax(0,50%);min-height:610px;background:var(--forest-dark);color:#fff;overflow:hidden}
.ch-hero-copy{display:flex;align-items:center;background:radial-gradient(circle at 0 100%,#423222 0,transparent 48%),linear-gradient(120deg,#0a1914,var(--forest) 75%)}
.ch-hero-copy-inner{width:min(650px,100%);padding:80px 8% 80px max(10.4%,calc((100vw - 1180px) / 2));}
.ch-hero h1{font-size:clamp(39px,4.15vw,67px);line-height:1.11;margin:0 0 22px;letter-spacing:-.06em;color:#fff}
.ch-hero p{font-size:17px;line-height:1.75;max-width:510px;color:#e1e1db;margin:0 0 27px}
.ch-hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.ch-hero-footnote{margin-top:65px;color:#c5c8bf;display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.12em;font-weight:600}
.ch-footnote-line{height:1px;width:35px;background:#b8844a}
.ch-hero-image{background-size:cover;background-position:50% 48%;min-height:560px;position:relative}
.ch-hero-image:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,26,21,.20),transparent 30%)}
.ch-photo-caption{position:absolute;right:22px;bottom:17px;color:#fff9;font-size:9px;font-weight:700;letter-spacing:.12em;background:#0a1818b5;padding:5px 10px;border-radius:3px}
/* Benefits */
.ch-value-strip,.ch-bottom-values{background:var(--paper);border-bottom:1px solid #eae6df}
.ch-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;padding-top:27px;padding-bottom:26px}
.ch-value{display:flex;align-items:flex-start;gap:16px;min-width:0}
.ch-icon{flex:0 0 33px;color:var(--forest)}
.ch-value h3{font-size:11px;line-height:1.4;margin:0 0 3px;letter-spacing:.04em;text-transform:uppercase}
.ch-value p{font-size:12px;line-height:1.5;color:#555c56;margin:0}
/* Configurations */
.ch-section{padding:84px 0 93px}
.ch-system{background:#fff}
.ch-section-intro{text-align:center;max-width:820px;margin:0 auto 42px}
.ch-section-intro h2{font-size:clamp(31px,3.1vw,49px);margin:0 0 15px}
.ch-section-intro p{color:var(--muted);font-size:16px;line-height:1.72;margin:0 auto;max-width:800px}
.ch-config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px}
.ch-config-card{background:#fff;min-width:0}
.ch-config-card img{width:100%;aspect-ratio:1.65;object-fit:cover;border-radius:4px;transition:filter .2s}
.ch-config-card img:hover{filter:brightness(.94)}
.ch-config-body{padding:21px 5px 5px;text-align:center}
.ch-config-body h3,.ch-config-body h2{font:400 21px/1.32 var(--serif);letter-spacing:-.035em;margin-bottom:8px}
.ch-config-body p{color:#545a54;font-size:13px;line-height:1.6;margin-bottom:18px}
.ch-internal-grid .ch-config-card{border:1px solid var(--line);border-radius:5px;overflow:hidden;box-shadow:var(--shadow)}
.ch-internal-grid .ch-config-card img{border-radius:0}
.ch-internal-grid .ch-config-body{padding:25px 22px 32px}
/* Vehicle banner */
.ch-car-banner{display:grid;grid-template-columns:57% 43%;min-height:360px;color:#fff;background:var(--forest-dark)}
.ch-car-art{min-height:360px;background-size:cover;background-position:center center;position:relative}
.ch-car-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,var(--forest-dark))}
.ch-car-message{padding:46px 10% 45px 5%;align-self:center}
.ch-car-message h2{font-size:clamp(30px,2.7vw,43px);color:#fff;line-height:1.21;margin-bottom:13px}
.ch-car-message p{color:#dddcd5;line-height:1.7;font-size:14px;max-width:510px;margin-bottom:24px}
.ch-make-form{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch}
.ch-make-form select{min-height:49px;border:0;border-radius:3px;background:#fff;flex:1 1 190px;max-width:280px;color:#26342b;font-size:13px;padding:9px 37px 9px 14px}
.ch-make-form .ch-button{flex:0 0 auto}
.ch-bottom-values{background:#f7f5f1}
.ch-bottom-values .ch-values{padding-top:39px;padding-bottom:37px}
.ch-cta-band{background:var(--forest);color:white;padding:63px 0}
.ch-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}
.ch-cta-inner h2{font-size:clamp(28px,2.8vw,41px);margin-bottom:9px;color:#fff}
.ch-cta-inner p{max-width:620px;color:#e0e4dd;font-size:14px;margin:0}
.ch-button-light{background:#fff;color:var(--forest);border-color:#fff}
.ch-button-light:hover{background:#e9dccb;color:var(--forest);border-color:#e9dccb}
/* Secondary pages */
.ch-page-hero{background:radial-gradient(circle at 86% 11%,#4a3d2a 0,transparent 31%),linear-gradient(115deg,#10251d,#23372e);color:#fff;padding:80px 0 85px}
.ch-page-hero h1{max-width:900px;color:#fff;font-size:clamp(40px,5vw,65px);margin:0 0 17px}
.ch-page-hero p{font-size:17px;color:#e0e3dc;max-width:690px;line-height:1.75;margin:0 0 23px}
.ch-page-hero .ch-button{margin-top:12px}
.ch-generic-content{padding-top:80px;padding-bottom:90px;max-width:960px}
.ch-prose h2{font-size:33px;line-height:1.3;margin-bottom:18px}
.ch-prose p{font-size:16px;line-height:1.9;color:#565d55}
.ch-prose a{color:var(--bronze-dark);text-decoration:underline;text-underline-offset:3px}
.ch-prose img{max-width:100%;height:auto;border-radius:4px}
.ch-page-extra:empty{display:none}
.ch-about-layout{display:grid;grid-template-columns:46% 54%;gap:65px;align-items:center}
.ch-about-photo img{width:100%;height:440px;object-fit:cover;border-radius:4px}
.ch-note{font-size:13px;line-height:1.8;background:var(--paper);border-left:3px solid var(--bronze);padding:17px 22px;margin-top:34px;color:#4c544d}
.ch-vehicle-section{background:#faf9f6}
.ch-vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ch-vehicle-card{border:1px solid #e5dfd7;background:#fff;padding:29px 27px 26px;box-shadow:0 8px 25px #17291c06}
.ch-vehicle-icon{font-size:24px;color:var(--bronze);line-height:1;margin-bottom:17px}
.ch-vehicle-card h2{font-size:24px;margin-bottom:10px}
.ch-vehicle-card p{color:#59615a;font-size:13px;min-height:40px;line-height:1.65;margin:0 0 14px}
.ch-vehicle-status{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:#f0ece5;color:#726657;padding:4px 9px;margin:0 0 20px;border-radius:2px}
.ch-vehicle-card>a{display:block;border-top:1px solid var(--line);padding-top:15px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--bronze-dark);font-weight:700}
.ch-filter-line{font-size:14px;background:#eae5da;padding:14px 18px;margin:0 0 22px}
.ch-filter-line a{margin-left:10px;text-decoration:underline}
.ch-faq-list{max-width:900px}
.ch-faq-item{border-bottom:1px solid var(--line)}
.ch-faq-item summary{cursor:pointer;list-style:none;font-weight:600;font-size:17px;padding:25px 10px 25px 0;display:flex;align-items:center;justify-content:space-between;gap:18px}
.ch-faq-item summary::-webkit-details-marker{display:none}
.ch-faq-item summary span{font-size:27px;color:var(--bronze);line-height:1;font-weight:400}
.ch-faq-item[open] summary span{transform:rotate(45deg)}
.ch-faq-item p{font-size:15px;line-height:1.85;max-width:730px;color:var(--muted);margin:0;padding-bottom:27px}
.ch-faq-bottom{text-align:center;padding:58px 10px 0}
.ch-faq-bottom h2{font-size:30px}
.ch-faq-bottom p{color:var(--muted)}
/* Contact form */
.ch-contact-section{background:#faf9f6}
.ch-contact-layout{display:grid;grid-template-columns:36% 64%;gap:40px;align-items:start}
.ch-contact-aside{padding:20px 24px 0 0}
.ch-contact-aside h2{font-size:33px;margin-bottom:20px}
.ch-contact-aside p{color:#61635e;font-size:15px;line-height:1.8}
.ch-contact-aside img{margin-top:30px;width:100%;border-radius:4px}
.ch-contact-aside .ch-aside-note{font-size:12px;margin-top:17px}
.ch-contact-form-panel{background:#fff;border:1px solid #eae5dd;padding:38px 39px;box-shadow:var(--shadow)}
.ch-contact-form-panel h2{font-size:32px;margin-bottom:9px}
.ch-contact-form-panel>p{color:var(--muted);font-size:13px}
.ch-contact-form{display:grid;gap:23px;margin-top:26px}
.ch-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ch-contact-form label{font-size:12px;font-weight:700;display:flex;flex-direction:column;gap:7px;color:#25332a}
.ch-contact-form input:not([type="hidden"]),.ch-contact-form select,.ch-contact-form textarea{border:1px solid #d9d9d2;background:#fff;border-radius:3px;width:100%;padding:12px 13px;color:#23302a;font-size:14px;min-height:47px;outline-offset:1px}
.ch-contact-form textarea{resize:vertical;min-height:155px}
.ch-contact-form input:focus,.ch-contact-form textarea:focus,.ch-contact-form select:focus{border-color:var(--bronze)}
.ch-contact-form input::placeholder,.ch-contact-form textarea::placeholder{color:#959a92}
.ch-contact-form .ch-human{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:#f7f5f0;padding:16px 19px;border:1px solid #eae5dc}
.ch-human label{font-size:13px}
.ch-contact-form .ch-human input{max-width:90px;min-height:42px!important}
.ch-contact-form>.ch-button{justify-self:start}
.ch-honeypot{position:absolute!important;left:-10000px;top:auto;height:1px;width:1px;overflow:hidden}
.ch-form-privacy{font-size:11px;color:#757973;line-height:1.7;margin: -9px 0 0}
.ch-form-feedback{font-size:14px;line-height:1.65;border-radius:3px;padding:14px 17px;margin:18px 0}
.ch-success{background:#eaf4eb;border:1px solid #b1d2b5;color:#1e5735}
.ch-error{background:#fff1eb;border:1px solid #e9c4b0;color:#824023}
/* Footer */
.ch-footer{background:#101e19;color:#e4e8e0;padding:69px 0 0}
.ch-footer-top{display:grid;grid-template-columns:2fr .8fr .8fr 1.1fr;gap:45px;padding-bottom:56px}
.ch-footer-brand{font-size:26px;color:#fff!important}
.ch-footer-top p{color:#a8b5ab;font-size:13px;line-height:1.8;margin:15px 0 0;max-width:310px}
.ch-footer-top h3{font-size:12px;color:#fff;text-transform:uppercase;letter-spacing:.075em;margin-bottom:20px}
.ch-footer-top a:not(.ch-brand):not(.ch-link-arrow){display:block;color:#b7c0b7;font-size:13px;line-height:2.6}
.ch-footer-top a:hover{color:#fff!important}
.ch-footer-bottom{border-top:1px solid #345043;padding:22px 0;display:flex;justify-content:space-between;gap:20px;color:#91a095;font-size:11px}
.ch-footer-contact .ch-link-arrow{color:#d0a36c;display:block;margin-top:18px}
/* Blog and WooCommerce */
.ch-post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.ch-post-card{padding:35px;border:1px solid var(--line);background:var(--paper)}
.ch-post-card h2{font-size:27px}
.ch-post-card .ch-date{font-size:12px;color:var(--bronze-dark)}
.ch-post-card p{font-size:15px;color:var(--muted)}
.woocommerce .products li.product{padding-bottom:20px!important}
.woocommerce .button{background:var(--bronze)!important;color:#fff!important;border-radius:3px!important}
.woocommerce a{color:var(--forest)}
/* Responsive */
@media (max-width:1110px){
.ch-container{padding-left:4%;padding-right:4%}
.ch-nav-links{gap:16px}
.ch-header-inner{gap:15px}
.ch-brand{font-size:25px}
.ch-header-cta{padding:8px 10px;font-size:11px}
.ch-hero-copy-inner{padding:70px 8%}
.ch-hero h1{font-size:clamp(38px,4.6vw,55px)}
.ch-values{gap:14px}
.ch-value{gap:10px}
.ch-value h3{font-size:10px}
.ch-value p{font-size:11px}
.ch-car-banner{grid-template-columns:52% 48%}
.ch-car-message{padding-right:6%}
.ch-make-form select{max-width:none}
}
@media (max-width:800px){
.ch-menu-toggle{display:block;order:3;margin-left:auto}
.ch-header-inner{min-height:70px}
.ch-navigation{display:none;position:absolute;top:100%;right:0;left:0;background:#fff;border-top:1px solid var(--line);box-shadow:0 14px 22px #0002}
.ch-navigation.ch-open{display:block}
.ch-nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:10px 5% 18px}
.ch-nav-links li a{display:block;padding:13px 10px}
.ch-header-right{margin-left:auto}
.ch-hero{grid-template-columns:1fr;min-height:auto}
.ch-hero-copy-inner{padding:67px 6% 66px}
.ch-hero h1{max-width:680px;font-size:clamp(41px,7.7vw,66px)}
.ch-hero p{max-width:650px}
.ch-hero-footnote{margin-top:40px}
.ch-hero-image{min-height:440px;background-position:center 43%}
.ch-values{grid-template-columns:repeat(2,1fr);column-gap:30px;row-gap:23px}
.ch-section{padding:64px 0 75px}
.ch-config-grid{gap:14px}
.ch-config-body h3,.ch-config-body h2{font-size:18px}
.ch-config-body .ch-outline-button{padding:10px;font-size:10px}
.ch-car-banner{grid-template-columns:1fr}
.ch-car-art{min-height:280px;background-position:center}
.ch-car-art:after{background:linear-gradient(0deg,var(--forest-dark),transparent 52%)}
.ch-car-message{padding:28px 6% 57px}
.ch-car-message h2{font-size:36px}
.ch-contact-layout{grid-template-columns:1fr;gap:35px}
.ch-contact-aside{display:grid;grid-template-columns:1.3fr 1fr;gap:0 25px;align-items:start}
.ch-contact-aside>.ch-eyebrow,.ch-contact-aside>h2,.ch-contact-aside>p:first-of-type{grid-column:1}
.ch-contact-aside img{grid-row:1/span 4;grid-column:2;margin-top:0}
.ch-contact-aside .ch-aside-note{grid-column:1 / -1}
.ch-footer-top{grid-template-columns:2fr 1fr 1fr;gap:30px}
.ch-footer-contact{grid-column:1/-1}
.ch-about-layout{gap:28px}
.ch-vehicle-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:590px){
.ch-announcement{font-size:9px;letter-spacing:.09em}
.ch-announcement-secondary{display:none}
.ch-header-cta{display:none}
.ch-brand{font-size:25px}
.ch-hero-copy-inner{padding:56px 6%}
.ch-hero h1{font-size:clamp(38px,10.2vw,52px)}
.ch-hero p{font-size:15px}
.ch-hero-actions{gap:23px}
.ch-hero-image{min-height:320px}
.ch-value-strip .ch-values,.ch-bottom-values .ch-values{grid-template-columns:1fr 1fr;gap:22px 12px}
.ch-value{flex-direction:column;gap:8px}
.ch-value h3{font-size:10px}
.ch-value p{font-size:11px}
.ch-icon{width:29px;height:29px}
.ch-section{padding:51px 0 61px}
.ch-section-intro{margin-bottom:30px}
.ch-section-intro h2{font-size:32px}
.ch-section-intro p{font-size:14px}
.ch-config-grid{grid-template-columns:1fr;gap:30px}
.ch-config-body{padding-top:14px}
.ch-config-body h3,.ch-config-body h2{font-size:21px}
.ch-config-body p{font-size:13px}
.ch-config-card img{aspect-ratio:1.85}
.ch-car-art{min-height:230px}
.ch-car-message{padding:24px 5% 47px}
.ch-car-message h2{font-size:30px}
.ch-make-form{flex-direction:column;align-items:stretch}
.ch-make-form select{flex:none;width:100%}
.ch-page-hero{padding:61px 0}
.ch-page-hero h1{font-size:clamp(36px,9.8vw,49px)}
.ch-page-hero p{font-size:15px}
.ch-cta-inner{align-items:flex-start;flex-direction:column}
.ch-about-layout{grid-template-columns:1fr}
.ch-about-photo img{height:330px}
.ch-vehicle-grid{grid-template-columns:1fr}
.ch-contact-aside{display:block;padding:0}
.ch-contact-aside img{max-width:380px;margin-top:20px}
.ch-contact-form-panel{padding:28px 22px}
.ch-form-grid{grid-template-columns:1fr}
.ch-contact-form .ch-human{align-items:stretch;flex-direction:column}
.ch-footer{padding-top:51px}
.ch-footer-top{grid-template-columns:1fr 1fr;gap:35px 18px}
.ch-footer-top>div:first-child,.ch-footer-contact{grid-column:1/-1}
.ch-footer-bottom{flex-direction:column;font-size:10px}
.ch-post-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
