/*
Theme Name: Thread Experts
Theme URI: https://thread-sparkle-redesign.lovable.app
Author: Thread Experts
Description: Editorial WordPress theme for Thread Experts — premium bedding and home-textile exporter. Mirrors the design system of the original site.
Version: 1.0.0
License: GPL-2.0-or-later
Text Domain: threadexperts
*/

/* ---------- Tokens ---------- */
:root{
  --background:#f7f4ec;
  --foreground:#1f2b25;
  --card:#faf7ef;
  --primary:#1f4a36;
  --primary-foreground:#f9f6ee;
  --secondary:#ebe4d5;
  --muted:#ece5d4;
  --muted-foreground:#5e6a5e;
  --accent:#c46a3a;
  --accent-foreground:#f9f6ee;
  --border:rgba(31,43,37,.14);
  --radius:.25rem;
  --font-display:"Inter",ui-sans-serif,system-ui,sans-serif;
  --font-serif:"Fraunces",ui-serif,Georgia,serif;
  --font-mono:"JetBrains Mono",ui-monospace,monospace;
  --ease-out-expo:cubic-bezier(.19,1,.22,1);
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{box-sizing:border-box;border:0 solid var(--border);}
html{-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-display);font-feature-settings:"ss01","cv11";line-height:1.5;-webkit-font-smoothing:antialiased;}
img,svg{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;background:none;border:0;}
h1,h2,h3,h4,p{margin:0;}
::selection{background:var(--primary);color:var(--primary-foreground);}

/* ---------- Utilities ---------- */
.container{max-width:1400px;margin-inline:auto;padding-inline:1.5rem;}
@media (min-width:1024px){.container{padding-inline:2.5rem;}}
.font-serif{font-family:var(--font-serif);}
.font-mono{font-family:var(--font-mono);}
.italic{font-style:italic;}
.text-primary{color:var(--primary);}
.text-accent{color:var(--accent);}
.text-muted{color:var(--muted-foreground);}
.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);}

.btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 1.75rem;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;border-radius:var(--radius);transition:background-color .25s,color .25s,border-color .25s,opacity .25s;}
.btn-primary{background:var(--primary);color:var(--primary-foreground);}
.btn-primary:hover{background:var(--accent);}
.btn-ghost{border:1px solid rgba(31,43,37,.2);color:var(--foreground);}
.btn-ghost:hover{border-color:var(--primary);color:var(--primary);}
.btn-accent{background:var(--accent);color:var(--accent-foreground);}
.btn-accent:hover{opacity:.9;}

/* ---------- Top bar ---------- */
.topbar{display:none;background:var(--primary);color:var(--primary-foreground);}
@media (min-width:768px){.topbar{display:block;}}
.topbar-inner{height:36px;display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.04em;opacity:.95;}
.topbar-inner span,.topbar-inner a{opacity:.8;}
.topbar-right{display:flex;gap:1.5rem;align-items:center;}

/* ---------- Nav ---------- */
.site-nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--background) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;}
.brand{display:flex;align-items:center;gap:1rem;}
.brand img{height:80px;width:auto;filter:drop-shadow(0 1px 2px rgba(0,0,0,.06));}
@media (min-width:768px){.brand img{height:112px;}}
@media (min-width:1024px){.brand img{height:128px;}}
.brand-est{display:none;font-family:var(--font-mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted-foreground);}
@media (min-width:1024px){.brand-est{display:inline;}}
.nav-links{display:none;gap:2.25rem;}
@media (min-width:768px){.nav-links{display:flex;}}
.nav-links a{font-size:12px;font-weight:500;letter-spacing:.04em;color:rgba(31,43,37,.8);transition:color .2s;}
.nav-links a:hover{color:var(--primary);}
.nav-cta{padding:.75rem 1.25rem;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;background:var(--primary);color:var(--primary-foreground);border-radius:var(--radius);transition:background-color .25s;}
.nav-cta:hover{background:var(--accent);}

/* ---------- Hero ---------- */
.hero{padding:4rem 0 5rem;}
@media (min-width:1024px){.hero{padding:6rem 0 5rem;}}
.hero-grid{display:grid;gap:2.5rem;align-items:end;}
@media (min-width:1024px){.hero-grid{grid-template-columns:7fr 5fr;}}
.hero h1{font-family:var(--font-serif);font-size:clamp(2.75rem,8vw,6.5rem);line-height:.95;letter-spacing:-.02em;}
.hero h1 .accent-word{font-style:italic;font-weight:300;color:var(--primary);}
.hero-lede{margin-top:2rem;max-width:52ch;font-size:1.125rem;line-height:1.65;color:rgba(31,43,37,.75);}
.hero-ctas{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:1rem;}
.stats{margin-top:3.5rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;border-top:1px solid var(--border);padding-top:2rem;}
@media (min-width:640px){.stats{grid-template-columns:repeat(4,minmax(0,1fr));}}
.stat-value{font-family:var(--font-serif);font-size:2rem;color:var(--primary);letter-spacing:-.01em;}
@media (min-width:768px){.stat-value{font-size:2.25rem;}}
.stat-label{margin-top:.375rem;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-foreground);}
.hero-media{position:relative;}
.hero-media-img{position:relative;overflow:hidden;border-radius:var(--radius);}
.hero-media-img img{width:100%;aspect-ratio:4/5;object-fit:cover;}
.hero-badge{position:absolute;top:1.25rem;left:1.25rem;background:rgba(247,244,236,.9);backdrop-filter:blur(8px);padding:.5rem .75rem;font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;border-radius:var(--radius);}
.hero-promise{position:absolute;bottom:-2rem;left:-1rem;background:var(--card);border:1px solid var(--border);box-shadow:0 20px 40px -20px rgba(0,0,0,.25);padding:1.5rem;max-width:280px;border-radius:var(--radius);}
@media (min-width:1024px){.hero-promise{left:-3rem;}}
.hero-promise-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem;}
.hero-promise p{font-size:.875rem;line-height:1.4;}

/* ---------- Certifications ---------- */
.certs{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--secondary) 60%,transparent);}
.certs-inner{padding:1.5rem 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 2.5rem;}
@media (min-width:768px){.certs-inner{justify-content:space-between;}}
.certs-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted-foreground);}
.cert-item{font-size:12px;font-weight:500;color:rgba(31,43,37,.7);}

/* ---------- Section heading ---------- */
.section{padding:7rem 0;}
.section-header{display:flex;flex-direction:column;gap:2rem;justify-content:space-between;margin-bottom:4rem;}
@media (min-width:768px){.section-header{flex-direction:row;align-items:flex-end;}}
.section-title{font-family:var(--font-serif);font-size:2.25rem;letter-spacing:-.02em;line-height:1.02;}
@media (min-width:768px){.section-title{font-size:3.75rem;}}
.section-title .accent-word{font-style:italic;font-weight:300;color:var(--primary);}
.section-intro{max-width:28rem;color:rgba(31,43,37,.7);line-height:1.65;}

/* ---------- Collections ---------- */
.collections-grid{display:grid;gap:1.5rem;}
@media (min-width:768px){.collections-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;}}
.collection-card{position:relative;background:var(--card);border:1px solid var(--border);overflow:hidden;border-radius:var(--radius);transition:box-shadow .5s;}
.collection-card:hover{box-shadow:0 30px 60px -20px rgba(0,0,0,.25);}
.collection-card .img-wrap{overflow:hidden;}
.collection-card img{width:100%;aspect-ratio:5/4;object-fit:cover;transition:transform .7s;}
.collection-card:hover img{transform:scale(1.05);}
.collection-tag{position:absolute;top:1.25rem;right:1.25rem;background:rgba(247,244,236,.9);backdrop-filter:blur(8px);padding:.375rem .75rem;font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;border-radius:var(--radius);}
.collection-body{padding:1.75rem;}
@media (min-width:1024px){.collection-body{padding:2.25rem;}}
.collection-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem;}
.collection-title{font-family:var(--font-serif);font-size:1.5rem;letter-spacing:-.01em;margin-bottom:.75rem;}
@media (min-width:768px){.collection-title{font-size:1.875rem;}}
.collection-body p{color:rgba(31,43,37,.7);line-height:1.65;margin-bottom:1.25rem;}
.collection-link{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--primary);transition:color .25s;}
.collection-link:hover{color:var(--accent);}

/* ---------- Capabilities (dark band) ---------- */
.capabilities{background:var(--primary);color:var(--primary-foreground);padding:7rem 0;}
.capabilities .section-title{color:var(--primary-foreground);}
.capabilities .section-title .accent-word{color:var(--primary-foreground);opacity:.85;}
.capabilities .eyebrow{color:var(--accent);}
.capabilities-intro{font-size:1.125rem;line-height:1.65;opacity:.8;}
.cap-grid{display:grid;gap:1px;background:rgba(249,246,238,.1);}
@media (min-width:768px){.cap-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:1024px){.cap-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
.cap{background:var(--primary);padding:2.25rem;transition:background-color .5s;}
.cap:hover{background:var(--accent);}
.cap-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:2rem;}
.cap-n{font-family:var(--font-mono);font-size:10px;letter-spacing:.24em;opacity:.6;}
.cap-arrow{font-family:var(--font-serif);font-size:1.875rem;opacity:.4;transition:opacity .3s;}
.cap:hover .cap-arrow{opacity:1;}
.cap h3{font-family:var(--font-serif);font-size:1.5rem;letter-spacing:-.01em;margin-bottom:.75rem;}
.cap p{font-size:.875rem;opacity:.78;line-height:1.65;}

/* ---------- Quality / process ---------- */
.quality-grid{display:grid;gap:3rem;align-items:center;}
@media (min-width:1024px){.quality-grid{grid-template-columns:5fr 7fr;}}
.quality-media img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);}
.quality-body{padding-left:0;}
@media (min-width:1024px){.quality-body{padding-left:2.5rem;}}
.step{display:flex;gap:1.5rem;border-bottom:1px solid var(--border);padding-bottom:1.5rem;margin-bottom:1.75rem;}
.step:last-child{border-bottom:0;margin-bottom:0;}
.step-n{font-family:var(--font-mono);font-size:11px;letter-spacing:.24em;color:var(--accent);padding-top:.25rem;}
.step h3{font-family:var(--font-serif);font-size:1.25rem;margin-bottom:.375rem;}
.step p{color:rgba(31,43,37,.7);line-height:1.65;}

/* ---------- Testimonial ---------- */
.testimonial{background:var(--secondary);padding:6rem 0;text-align:center;}
.testimonial blockquote{max-width:1100px;margin:0 auto;font-family:var(--font-serif);font-size:1.5rem;line-height:1.25;letter-spacing:-.01em;}
@media (min-width:768px){.testimonial blockquote{font-size:2.25rem;}}
.testimonial-attrib{margin-top:2.5rem;font-family:var(--font-mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted-foreground);}

/* ---------- About ---------- */
.about-grid{display:grid;gap:2.5rem;align-items:center;}
@media (min-width:768px){.about-grid{grid-template-columns:5fr 7fr;}}
.about-body p{font-size:1.125rem;color:rgba(31,43,37,.75);line-height:1.65;margin-bottom:1.25rem;}

/* ---------- Contact ---------- */
.contact{background:var(--foreground);color:var(--background);padding:7rem 0;}
@media (min-width:768px){.contact{padding:9rem 0;}}
.contact-grid{display:grid;gap:3rem;align-items:flex-start;}
@media (min-width:768px){.contact-grid{grid-template-columns:7fr 5fr;}}
.contact h2{color:var(--background);font-family:var(--font-serif);font-size:3rem;letter-spacing:-.02em;line-height:1;margin-bottom:2rem;}
@media (min-width:768px){.contact h2{font-size:4.5rem;}}
.contact h2 .accent-word{font-style:italic;font-weight:300;color:var(--accent);}
.contact .eyebrow{color:var(--accent);}
.contact-lede{font-size:1.125rem;opacity:.75;max-width:36rem;line-height:1.65;margin-bottom:2.5rem;}
.contact-info{display:grid;gap:1.75rem;padding-left:0;}
@media (min-width:768px){.contact-info{padding-left:2rem;border-left:1px solid rgba(247,244,236,.15);}}
.contact-info .label{font-family:var(--font-mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;opacity:.5;margin-bottom:.5rem;}
.contact-info .value{font-size:1.125rem;}
.contact-info a:hover{color:var(--accent);}

/* ---------- Footer ---------- */
.site-footer{padding:2.5rem 0;border-top:1px solid var(--border);background:var(--background);}
.footer-inner{display:flex;flex-direction:column;align-items:center;gap:1.5rem;justify-content:space-between;}
@media (min-width:768px){.footer-inner{flex-direction:row;}}
.footer-brand{font-family:var(--font-serif);font-size:1rem;}
.footer-brand .italic{color:var(--primary);}
.footer-copy{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted-foreground);margin-left:.75rem;}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(31,43,37,.6);}
@media (min-width:768px){.footer-links{gap:2rem;}}
.footer-links a:hover{color:var(--primary);}

/* ---------- WP content defaults ---------- */
.entry-content{max-width:768px;margin:4rem auto;padding:0 1.5rem;font-size:1.05rem;line-height:1.7;}
.entry-content h1,.entry-content h2,.entry-content h3{font-family:var(--font-serif);margin:2rem 0 1rem;}
.entry-content a{color:var(--primary);text-decoration:underline;}
.entry-title{font-family:var(--font-serif);font-size:3rem;letter-spacing:-.02em;text-align:center;margin:4rem auto 0;max-width:1400px;padding:0 1.5rem;}
