/*
Theme Name: Custom Auto Theme
Author: System
Version: 1.0
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;0,700;1,400&family=Outfit:wght@300;400;500;600&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-body);background:var(--c-cream);color:var(--c-text);line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}

:root{
--c-black:#0a0a0a;
--c-cream:#f5f0e8;
--c-cream-dark:#ebe5d9;
--c-gold:#c9a84c;
--c-gold-soft:rgba(201,168,76,0.12);
--c-text:#2a2a2a;
--c-text-soft:#8a8580;
--c-white:#ffffff;
--c-border:#d8d3c8;
--font-display:'Cormorant Garamond',Georgia,serif;
--font-body:'Outfit',sans-serif;
--max-w:1280px;
}

/* HEADER */
.cl-header{background:var(--c-black);position:sticky;top:0;z-index:200;border-bottom:1px solid rgba(201,168,76,0.2)}
.cl-header-inner{max-width:var(--max-w);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:64px}
.cl-logo{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--c-cream);letter-spacing:.08em;text-transform:uppercase}
.cl-logo span{color:var(--c-gold)}
.cl-nav{display:flex;gap:28px;align-items:center}
.cl-nav a{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:rgba(245,240,232,0.6);transition:color .4s}
.cl-nav a:hover,.cl-nav a.active{color:var(--c-gold)}
.cl-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:none;border:none}
.cl-burger span{width:22px;height:1.5px;background:var(--c-cream);transition:.3s}
.cl-mobile-nav{display:none;background:var(--c-black);padding:20px 24px;border-bottom:1px solid rgba(201,168,76,0.15)}
.cl-mobile-nav.open{display:block}
.cl-mobile-nav a{display:block;padding:10px 0;color:rgba(245,240,232,0.7);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,0.05)}

/* HERO */
.cl-hero{padding:80px 24px 60px;border-bottom:1px solid var(--c-border)}
.cl-hero-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr 320px;gap:60px;align-items:start}
.cl-hero-tag{font-size:.65rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--c-gold);margin-bottom:20px;display:inline-block}
.cl-hero h1{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,4.2rem);font-weight:300;color:var(--c-black);line-height:1.15;margin-bottom:28px;letter-spacing:-.01em}
.cl-hero-lead{font-size:1.05rem;color:var(--c-text-soft);line-height:1.85;max-width:640px;margin-bottom:24px}
.cl-hero-meta{font-size:.78rem;color:var(--c-text-soft);display:flex;gap:20px;padding-top:20px;border-top:1px solid var(--c-border)}
.cl-hero-meta strong{color:var(--c-text);font-weight:500}
.cl-gold-line{width:40px;height:1px;background:var(--c-gold);margin:20px 0}

/* SIDEBAR (hero & main) */
.cl-sidebar{display:flex;flex-direction:column;gap:28px}
.cl-sidebar-card{background:var(--c-white);padding:24px;border:1px solid var(--c-border);transition:border-color .4s}
.cl-sidebar-card:hover{border-color:var(--c-gold)}
.cl-sidebar-card h4{font-family:var(--font-display);font-size:1.1rem;color:var(--c-black);margin-bottom:10px;font-weight:600}
.cl-sidebar-card p{font-size:.82rem;color:var(--c-text-soft);line-height:1.6}
.cl-sidebar-card .cl-card-tag{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--c-gold);font-weight:600;margin-bottom:8px;display:block}
.cl-sidebar-divider{height:1px;background:linear-gradient(90deg,transparent,var(--c-gold),transparent);opacity:.3}

/* MAIN LAYOUT */
.cl-main{max-width:var(--max-w);margin:0 auto;padding:48px 24px 80px;display:grid;grid-template-columns:1fr 320px;gap:60px;align-items:start}
.cl-content{}
.cl-sticky{position:sticky;top:80px}

/* ARTICLE BODY */
.cl-section{margin-bottom:48px}
.cl-section-label{display:block;font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--c-gold);margin-bottom:12px}
.cl-section h2{font-family:var(--font-display);font-size:1.9rem;color:var(--c-black);font-weight:400;margin-bottom:16px;line-height:1.25}
.cl-section p{margin-bottom:16px;color:var(--c-text);font-size:.95rem;line-height:1.8}

/* IMAGE */
.cl-img{margin:40px 0;position:relative;overflow:hidden}
.cl-img img{width:100%;height:360px;object-fit:cover;display:block;filter:saturate(0.9);transition:filter .6s}
.cl-img:hover img{filter:saturate(1)}
.cl-img figcaption{font-size:.72rem;color:var(--c-text-soft);margin-top:10px;font-style:italic;text-align:right}
.cl-img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--c-gold);opacity:.4}

/* QUOTE */
.cl-quote{margin:44px 0;padding:32px 0;border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border);position:relative}
.cl-quote::before{content:'\201C';font-family:var(--font-display);font-size:5rem;color:var(--c-gold-soft);position:absolute;top:-10px;left:0;line-height:1;opacity:.6}
.cl-quote blockquote{font-family:var(--font-display);font-size:1.35rem;font-style:italic;color:var(--c-black);line-height:1.5;padding-left:40px;font-weight:300}
.cl-quote cite{display:block;font-size:.78rem;color:var(--c-text-soft);margin-top:12px;padding-left:40px;font-style:normal;letter-spacing:.05em}

/* HIGHLIGHT BOX */
.cl-highlight{background:var(--c-black);color:var(--c-cream);padding:36px 40px;margin:44px 0;position:relative;overflow:hidden}
.cl-highlight::before{content:'';position:absolute;top:0;left:0;width:2px;height:100%;background:var(--c-gold)}
.cl-highlight h3{font-family:var(--font-display);font-size:1.3rem;margin-bottom:14px;font-weight:400;color:var(--c-cream)}
.cl-highlight p{font-size:.9rem;color:rgba(245,240,232,0.75);line-height:1.75}
.cl-highlight ul{margin:14px 0 0 20px}
.cl-highlight ul li{font-size:.88rem;color:rgba(245,240,232,0.7);margin-bottom:6px;position:relative;padding-left:16px}
.cl-highlight ul li::before{content:'—';position:absolute;left:0;color:var(--c-gold)}

/* CARDS GRID */
.cl-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:36px 0}
.cl-card{background:var(--c-white);border:1px solid var(--c-border);padding:28px 24px;transition:all .4s;position:relative}
.cl-card::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--c-gold);transition:width .5s}
.cl-card:hover::after{width:100%}
.cl-card:hover{border-color:var(--c-gold);transform:translateY(-2px)}
.cl-card-num{font-family:var(--font-display);font-size:2.5rem;font-weight:300;color:var(--c-cream-dark);line-height:1;margin-bottom:8px}
.cl-card h3{font-family:var(--font-display);font-size:1.05rem;color:var(--c-black);margin-bottom:10px;font-weight:600}
.cl-card p{font-size:.84rem;color:var(--c-text-soft);line-height:1.65}
.cl-card-label{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--c-gold);font-weight:600;margin-top:12px;display:inline-block}

/* RECOMMENDATION BLOCKS */
.cl-rec{display:flex;gap:20px;background:var(--c-white);border:1px solid var(--c-border);padding:24px;margin-bottom:16px;transition:border-color .4s;align-items:flex-start}
.cl-rec:hover{border-color:var(--c-gold)}
.cl-rec-icon{width:48px;height:48px;background:var(--c-gold-soft);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.cl-rec h4{font-family:var(--font-display);font-size:1rem;color:var(--c-black);margin-bottom:6px;font-weight:600}
.cl-rec p{font-size:.82rem;color:var(--c-text-soft);line-height:1.6}

/* CONCLUSION */
.cl-conclusion{border-left:2px solid var(--c-gold);padding:32px 36px;margin:44px 0;background:var(--c-gold-soft)}
.cl-conclusion h3{font-family:var(--font-display);font-size:1.4rem;color:var(--c-black);margin-bottom:14px;font-weight:400}
.cl-conclusion p{color:var(--c-text);font-size:.92rem;margin-bottom:10px;line-height:1.75}

/* NEWSLETTER */
.cl-newsletter{background:var(--c-black);padding:40px;text-align:center;margin:48px 0}
.cl-newsletter h3{font-family:var(--font-display);font-size:1.5rem;color:var(--c-cream);font-weight:300;margin-bottom:8px}
.cl-newsletter p{font-size:.82rem;color:rgba(245,240,232,0.5);margin-bottom:20px}
.cl-nl-form{display:flex;gap:0;max-width:420px;margin:0 auto}
.cl-nl-form input[type="email"]{flex:1;padding:12px 16px;background:rgba(255,255,255,0.08);border:1px solid rgba(201,168,76,0.3);color:var(--c-cream);font-family:var(--font-body);font-size:.85rem;outline:none;transition:border-color .3s}
.cl-nl-form input[type="email"]::placeholder{color:rgba(245,240,232,0.3)}
.cl-nl-form input[type="email"]:focus{border-color:var(--c-gold)}
.cl-nl-form button{padding:12px 24px;background:var(--c-gold);color:var(--c-black);font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border:none;cursor:pointer;transition:opacity .3s}
.cl-nl-form button:hover{opacity:.85}

/* TAGS */
.cl-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;padding-top:20px;border-top:1px solid var(--c-border)}
.cl-tag{font-size:.7rem;padding:5px 14px;border:1px solid var(--c-border);color:var(--c-text-soft);transition:all .3s;letter-spacing:.04em}
.cl-tag:hover{border-color:var(--c-gold);color:var(--c-gold)}

/* FOOTER */
.cl-footer{background:var(--c-black);color:rgba(245,240,232,0.5);padding:60px 24px 24px;border-top:1px solid rgba(201,168,76,0.15)}
.cl-footer-inner{max-width:var(--max-w);margin:0 auto}
.cl-footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.cl-footer-brand .cl-logo{font-size:1.6rem}
.cl-footer-brand p{font-size:.82rem;line-height:1.7;margin-top:14px;max-width:280px}
.cl-footer-col h5{font-size:.68rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--c-gold);margin-bottom:16px}
.cl-footer-col a{display:block;font-size:.82rem;color:rgba(245,240,232,0.45);margin-bottom:10px;transition:color .3s}
.cl-footer-col a:hover{color:var(--c-cream)}
.cl-footer-bottom{border-top:1px solid rgba(255,255,255,0.06);padding-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.cl-footer-copy{font-size:.75rem}
.cl-footer-links{display:flex;gap:20px}
.cl-footer-links a{font-size:.72rem;color:rgba(245,240,232,0.35);transition:color .3s}
.cl-footer-links a:hover{color:var(--c-cream)}
.cl-disclaimer{max-width:var(--max-w);margin:20px auto 0;padding-top:16px;border-top:1px solid rgba(255,255,255,0.04);font-size:.7rem;color:rgba(245,240,232,0.25);line-height:1.6}

/* COOKIE BANNER */
#cl-cookie-toggle{display:none}
.cl-cookie-banner{position:fixed;bottom:20px;right:20px;background:var(--c-black);border:1px solid rgba(201,168,76,0.25);padding:20px 24px;max-width:380px;z-index:300;opacity:1;transition:opacity .4s;color:var(--c-cream)}
#cl-cookie-toggle:checked~.cl-cookie-banner{opacity:0;pointer-events:none}
.cl-cookie-banner p{font-size:.78rem;color:rgba(245,240,232,0.65);line-height:1.55;margin-bottom:14px}
.cl-cookie-actions{display:flex;gap:10px;align-items:center}
.cl-cookie-accept{padding:8px 20px;background:var(--c-gold);color:var(--c-black);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border:none;cursor:pointer;font-family:var(--font-body)}
.cl-cookie-decline{padding:8px 16px;background:transparent;color:rgba(245,240,232,0.5);font-size:.72rem;border:1px solid rgba(255,255,255,0.15);cursor:pointer;font-family:var(--font-body)}
.cl-cookie-link{font-size:.7rem;color:var(--c-gold);margin-left:auto}

/* LEGAL PAGES */
.cl-legal{max-width:780px;margin:0 auto;padding:60px 24px 80px}
.cl-legal h1{font-family:var(--font-display);font-size:2.2rem;font-weight:300;color:var(--c-black);margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--c-border)}
.cl-legal h2{font-family:var(--font-display);font-size:1.2rem;color:var(--c-black);margin:28px 0 12px;font-weight:600}
.cl-legal p{font-size:.9rem;color:var(--c-text);margin-bottom:14px;line-height:1.75}
.cl-legal ol{counter-reset:legal;margin:0 0 20px 0}
.cl-legal ol li{counter-increment:legal;padding:12px 0;border-bottom:1px solid var(--c-cream-dark);font-size:.9rem;color:var(--c-text);line-height:1.7;padding-left:32px;position:relative}
.cl-legal ol li::before{content:counter(legal) '.';position:absolute;left:0;font-family:var(--font-display);font-weight:600;color:var(--c-gold);font-size:1rem}

/* SUCCESS */
.cl-success{text-align:center;padding:120px 24px;max-width:600px;margin:0 auto}
.cl-success h1{font-family:var(--font-display);font-size:2.8rem;font-weight:300;color:var(--c-black);margin-bottom:20px}
.cl-success p{font-size:1rem;color:var(--c-text-soft);margin-bottom:28px;line-height:1.8}
.cl-success a{display:inline-block;padding:14px 32px;background:var(--c-black);color:var(--c-cream);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:background .3s}
.cl-success a:hover{background:var(--c-gold);color:var(--c-black)}

/* 404 */
.cl-404{text-align:center;padding:100px 24px 60px}
.cl-404 h1{font-family:var(--font-display);font-size:8rem;font-weight:300;color:var(--c-cream-dark);line-height:1;margin-bottom:16px}
.cl-404 h2{font-family:var(--font-display);font-size:1.6rem;color:var(--c-black);font-weight:300;margin-bottom:24px}
.cl-404 p{font-size:.9rem;color:var(--c-text-soft);margin-bottom:36px}
.cl-404-links{display:flex;flex-direction:column;gap:12px;max-width:400px;margin:0 auto}
.cl-404-links a{padding:14px 20px;border:1px solid var(--c-border);font-size:.85rem;color:var(--c-text);transition:all .3s;display:block}
.cl-404-links a:hover{border-color:var(--c-gold);color:var(--c-gold)}

/* ANIMATIONS */
@keyframes cl-fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.cl-anim{animation:cl-fadeUp .7s ease forwards}
.cl-anim-d1{animation:cl-fadeUp .7s ease .1s forwards;opacity:0}
.cl-anim-d2{animation:cl-fadeUp .7s ease .2s forwards;opacity:0}
.cl-anim-d3{animation:cl-fadeUp .7s ease .3s forwards;opacity:0}

/* RESPONSIVE */
@media(max-width:900px){
.cl-hero-inner,.cl-main{grid-template-columns:1fr;gap:32px}
.cl-hero{padding:48px 24px 36px}
.cl-nav{display:none}
.cl-burger{display:flex}
.cl-cards{grid-template-columns:1fr}
.cl-footer-top{grid-template-columns:1fr 1fr;gap:28px}
.cl-sticky{position:static}
.cl-nl-form{flex-direction:column}
.cl-nl-form button{width:100%}
}
@media(max-width:480px){
.cl-hero h1{font-size:1.8rem}
.cl-footer-top{grid-template-columns:1fr;gap:24px}
.cl-cookie-banner{left:12px;right:12px;max-width:none;bottom:12px}
.cl-highlight{padding:24px 20px}
.cl-conclusion{padding:24px 20px}
}
