/* ============================================================
   CouchModels.com — Global Stylesheet
   ============================================================ */
:root {
  --cream:#F5F0E8; --sand:#E8DFD0; --wm:#C9B99A;
  --tc:#C0714A; --tc-d:rgba(192,113,74,.12);
  --deep:#1A1410; --ch:#2E2620; --sl:#5C524A;
  --gold:#B8974A; --body:#3A322A;
  --grn:#4CAF70; --red:#E05252; --blu:#5294E0;
  --amz:#FF9900; --lsc:#5C2D91; --wf:#7B5EA7;
  --we:#3d6b3d; --pb:#8B3A3A; --cb:#1a1a2e;
  --jb:#c0392b; --wmt:#0071dc; --etsy:#f1641e;
  --chairish:#4a0072; --hm:#c5392a; --ikea:#0058a3;
  --rug:#2c7873; --tgt:#cc0000; --s6:#333;
  --dwr:#304878; --gld:#B8974A;
  --fd:'Cormorant Garamond',Georgia,serif;
  --fb:'DM Sans',sans-serif;
  --ease:cubic-bezier(0.16,1,0.3,1);
  --shadow:0 12px 40px rgba(26,20,16,.10);
  --shadow-lg:0 24px 64px rgba(26,20,16,.15);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{background:var(--cream);color:var(--body);font-family:var(--fb);line-height:1.65;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
h1,h2,h3,h4{font-family:var(--fd);font-weight:400;line-height:1.1;}

/* ── NAV ── */
.site-nav{position:sticky;top:0;z-index:200;background:var(--deep);border-bottom:1px solid rgba(255,255,255,.06);}
.nav-in{max-width:1400px;margin:0 auto;padding:0 32px;display:flex;align-items:center;gap:32px;height:64px;}
.logo{font-family:var(--fd);font-size:22px;font-weight:600;color:#F5F0E8;flex-shrink:0;}
.logo span{color:var(--tc);}
.nav-links{display:flex;gap:4px;list-style:none;margin-left:auto;}
.nav-links li{position:relative;}
.nav-links a{display:block;padding:8px 14px;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(245,240,232,.6);transition:color .2s;border-radius:4px;}
.nav-links a:hover,.nav-links a.active{color:#F5F0E8;}
.has-drop:hover .nav-drop{display:grid;}
.nav-drop{display:none;position:absolute;top:calc(100% + 8px);left:0;background:var(--ch);border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:8px;min-width:180px;grid-template-columns:1fr;gap:2px;box-shadow:0 20px 50px rgba(0,0,0,.4);}
.nav-drop a{font-size:12px;color:rgba(245,240,232,.7);padding:9px 14px;border-radius:4px;letter-spacing:.06em;text-transform:capitalize;}
.nav-drop a:hover{background:rgba(255,255,255,.06);color:#F5F0E8;}
.nav-cta{flex-shrink:0;background:var(--tc);color:#fff!important;padding:10px 20px;border-radius:4px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:background .2s;}
.nav-cta:hover{background:#a85c38;}
.nav-burger{display:none;background:none;border:none;color:#F5F0E8;font-size:22px;cursor:pointer;margin-left:auto;}

/* ── UTILS ── */
.container{max-width:1400px;margin:0 auto;padding:0 32px;}
.section{padding:80px 0;}
.section-sm{padding:56px 0;}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--tc);margin-bottom:14px;}
.section-title{font-size:clamp(32px,4vw,52px);font-weight:300;color:var(--deep);margin-bottom:16px;}
.section-title em{font-style:italic;color:var(--tc);}
.section-sub{font-size:16px;color:var(--sl);max-width:580px;margin-bottom:48px;line-height:1.7;}
.text-center{text-align:center;}.text-center .section-sub{margin-left:auto;margin-right:auto;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:4px;font-family:var(--fb);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .2s;border:none;}
.btn-primary{background:var(--tc);color:#fff;}.btn-primary:hover{background:#a85c38;transform:translateY(-1px);}
.btn-outline{background:transparent;border:1px solid var(--wm);color:var(--sl);}.btn-outline:hover{border-color:var(--tc);color:var(--tc);}
.btn-dark{background:var(--deep);color:var(--cream);}.btn-dark:hover{background:var(--ch);}
.btn-sm{padding:10px 20px;font-size:12px;}
.tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border-radius:2px;}
.tag-tc{background:var(--tc);color:#fff;}
.tag-gold{background:var(--gold);color:#fff;}
.tag-outline{background:transparent;border:1px solid var(--wm);color:var(--sl);}
.divider{height:1px;background:var(--sand);margin:0;}
.disc-bar{background:#FFF8E7;border-bottom:2px solid var(--gold);padding:10px 0;text-align:center;}
.disc-bar p{font-size:12px;color:var(--ch);max-width:900px;margin:0 auto;padding:0 20px;}

/* ── PRODUCT CARD (shared) ── */
.card{background:#fff;border:1px solid var(--sand);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s var(--ease),box-shadow .25s;}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.card-img{height:200px;position:relative;overflow:hidden;flex-shrink:0;background:#f0ede8;}
.card-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .5s var(--ease);}
.card:hover .card-img img{transform:scale(1.06);}
.card-img-inner{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .5s var(--ease);}
.card:hover .card-img-inner{transform:scale(1.06);}
.card-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,rgba(26,20,16,.35) 100%);}
.card-badges{position:absolute;top:10px;left:10px;display:flex;gap:5px;flex-wrap:wrap;z-index:2;}
.badge{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:2px;color:#fff;}
.b-store{background:rgba(26,20,16,.72);backdrop-filter:blur(4px);}
.b-hot{background:var(--tc);}.b-new{background:var(--gold);}.b-top{background:#4A6741;}
.card-body{padding:16px;flex:1;display:flex;flex-direction:column;}
.card-store-label{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sl);margin-bottom:5px;}
.card-name{font-family:var(--fd);font-size:17px;font-weight:600;line-height:1.25;color:var(--deep);margin-bottom:5px;}
.card-desc{font-size:12px;color:var(--sl);line-height:1.6;flex:1;margin-bottom:10px;}
.card-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.card-price{font-family:var(--fd);font-size:21px;font-weight:700;color:var(--deep);}
.card-rating{font-size:12px;color:var(--gold);}
.card-hls{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px;}
.hl{font-size:10px;font-weight:600;padding:3px 7px;border-radius:2px;background:var(--cream);color:var(--sl);border:1px solid var(--sand);}
.cta-btn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:11px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:filter .2s;color:#fff;}
.cta-btn:hover{filter:brightness(1.12);}
.btn-amz{background:var(--amz);color:#111;}
.btn-wf{background:var(--wf);}.btn-lsc{background:var(--lsc);}
.btn-gld{background:var(--gld);}.btn-dwr{background:var(--dwr);}
.btn-we{background:var(--we);}.btn-pb{background:var(--pb);}
.btn-cb{background:var(--cb);}.btn-jb{background:var(--jb);}
.btn-wmt{background:var(--wmt);}.btn-etsy{background:var(--etsy);}
.btn-chairish{background:var(--chairish);}.btn-hm{background:var(--hm);}
.btn-ikea{background:var(--ikea);}.btn-rug{background:var(--rug);}
.btn-tgt{background:var(--tgt);}.btn-s6{background:var(--s6);}
.btn-def{background:var(--deep);}
/* gradient fallbacks */
.g-taupe{background:linear-gradient(135deg,#7A6050,#B89880,#D4B8A0);}
.g-slate-blue{background:linear-gradient(135deg,#2A3848,#4A6080,#7090A8);}
.g-warm-grey{background:linear-gradient(135deg,#4A4440,#7A7068,#A8A098);}
.g-forest{background:linear-gradient(135deg,#2A3820,#4A6038,#6A8858);}
.g-terracotta{background:linear-gradient(135deg,#7A3820,#B86040,#D49070);}
.g-cream-gold{background:linear-gradient(135deg,#6A5830,#A89050,#C8B880);}
.g-midnight{background:linear-gradient(135deg,#18202A,#2A3848,#485870);}
.g-rust{background:linear-gradient(135deg,#6A2818,#A84828,#C87050);}
.g-olive{background:linear-gradient(135deg,#404820,#686830,#909848);}
.g-plum{background:linear-gradient(135deg,#3A2040,#604878,#8870A8);}
.g-navy{background:linear-gradient(135deg,#0A1828,#1A3050,#305080);}
.g-sand-warm{background:linear-gradient(135deg,#806040,#B89060,#D8C090);}
.g-charcoal-gr{background:linear-gradient(135deg,#282828,#484848,#686868);}
.g-cognac{background:linear-gradient(135deg,#6A3018,#A05028,#C07848);}
.g-sage{background:linear-gradient(135deg,#385038,#587858,#80A080);}
.g-blush{background:linear-gradient(135deg,#804858,#A87080,#C898A0);}
.g-tan-lth{background:linear-gradient(135deg,#7A5828,#B08040,#D0B068);}
.g-white-linen{background:linear-gradient(135deg,#909090,#B8B0A8,#D8D0C8);}
.g-emerald{background:linear-gradient(135deg,#1A3828,#305848,#508068);}
.g-caramel{background:linear-gradient(135deg,#704818,#A07030,#C09848);}
/* img shimmer */
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.img-loading{position:absolute;inset:0;background:linear-gradient(90deg,#f0ede8 25%,#e8e4de 50%,#f0ede8 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;}

/* ── GRIDS ── */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:32px;}

/* ── FOOTER ── */
.site-footer{background:var(--deep);padding:72px 0 0;}
.footer-in{max-width:1400px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.5fr;gap:48px;padding-bottom:56px;}
.footer-brand p{font-size:14px;color:rgba(245,240,232,.45);line-height:1.7;margin:14px 0 20px;}
.footer-logo{font-family:var(--fd);font-size:26px;font-weight:600;color:#F5F0E8;}
.footer-logo span{color:var(--tc);}
.footer-social{display:flex;gap:12px;font-size:20px;}
.footer-social a{transition:transform .2s;display:inline-block;}
.footer-social a:hover{transform:scale(1.2);}
.footer-col h5{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,240,232,.3);margin-bottom:18px;}
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:10px;}
.footer-col ul li a{font-size:14px;color:rgba(245,240,232,.55);transition:color .15s;}
.footer-col ul li a:hover{color:#F5F0E8;}
.footer-newsletter h5{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,240,232,.3);margin-bottom:12px;}
.footer-newsletter p{font-size:13px;color:rgba(245,240,232,.45);margin-bottom:14px;}
.nl-form{display:flex;flex-direction:column;gap:8px;}
.nl-form input{padding:11px 14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:4px;color:#F5F0E8;font-family:var(--fb);font-size:13px;outline:none;transition:border-color .2s;}
.nl-form input:focus{border-color:var(--tc);}
.nl-form input::placeholder{color:rgba(245,240,232,.3);}
.nl-form button{padding:12px;background:var(--tc);color:#fff;border:none;border-radius:4px;font-family:var(--fb);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .2s;}
.nl-form button:hover{background:#a85c38;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding:24px 32px;max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;}
.footer-bottom p,.disc-note{font-size:12px;color:rgba(245,240,232,.3);}
.disc-note a{color:rgba(245,240,232,.45);}

/* ── ALERTS / FORMS ── */
.form-group{margin-bottom:20px;}
.form-group label{display:block;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sl);margin-bottom:7px;}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:13px 16px;background:#fff;border:1px solid var(--sand);border-radius:5px;color:var(--body);font-family:var(--fb);font-size:15px;outline:none;transition:border-color .2s;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--tc);}
.form-group textarea{resize:vertical;min-height:120px;}
.alert{padding:14px 18px;border-radius:6px;margin-bottom:24px;font-size:14px;}
.alert-ok{background:rgba(76,175,112,.1);border:1px solid rgba(76,175,112,.3);color:#2d8a4e;}
.alert-err{background:rgba(224,82,82,.1);border:1px solid rgba(224,82,82,.3);color:#c0392b;}

/* ── BREADCRUMB ── */
.breadcrumb{padding:16px 0;font-size:13px;color:var(--sl);}
.breadcrumb a{color:var(--tc);}
.breadcrumb span{margin:0 8px;color:var(--wm);}

/* ── SCROLL REVEAL ── */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ── RESPONSIVE ── */
@media(max-width:1200px){.grid-4{grid-template-columns:repeat(3,1fr);}.footer-in{grid-template-columns:1fr 1fr 1fr;}}
@media(max-width:900px){.grid-4{grid-template-columns:repeat(2,1fr);}.grid-3{grid-template-columns:repeat(2,1fr);}.footer-in{grid-template-columns:1fr 1fr;}.nav-links{display:none;flex-direction:column;position:absolute;top:64px;left:0;right:0;background:var(--deep);padding:16px;border-top:1px solid rgba(255,255,255,.06);z-index:300;}.nav-links.open{display:flex;}.has-drop .nav-drop{position:static;background:transparent;border:none;padding:0;box-shadow:none;display:none;}.has-drop:hover .nav-drop,.nav-links.open .has-drop .nav-drop{display:flex;flex-direction:column;padding-left:14px;}.nav-burger{display:block;}.nav-in{position:relative;}}
@media(max-width:600px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr;}.container{padding:0 18px;}.section{padding:56px 0;}.footer-in{grid-template-columns:1fr;padding:0 18px 40px;}.footer-bottom{padding:20px 18px;flex-direction:column;}}

/* ── SEASONAL BANNER (managed by config.php seasonal_banner()) ── */
.seasonal-banner{color:#fff;padding:11px 0;text-align:center;position:relative;z-index:190;transition:all .3s;}
.sb-in{max-width:1400px;margin:0 auto;padding:0 56px;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;}
.sb-text{font-size:13px;font-weight:600;letter-spacing:.02em;}
.sb-cta{background:rgba(255,255,255,.22);color:#fff;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:3px;transition:background .2s;white-space:nowrap;}
.sb-cta:hover{background:rgba(255,255,255,.38);}
.sb-x{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,.65);font-size:20px;cursor:pointer;padding:2px 8px;line-height:1;transition:color .15s;}
.sb-x:hover{color:#fff;}
@media(max-width:600px){.sb-in{padding:0 44px;}.sb-text{font-size:12px;}}
