/* ============================================================
   AMOLAK JEWEL / JIK 91 — Knitwear Manufacturing Co.
   Design tokens
   ============================================================ */
:root{
  --ivory:#FAF8F3;
  --ivory-deep:#F2EEE4;
  --charcoal:#17171A;
  --charcoal-soft:#2A2A2F;
  --navy:#0C1B33;
  --navy-deep:#081326;
  --navy-light:#16294A;
  --gold:#C6A15B;
  --gold-bright:#E9C778;
  --gold-pale:#EFE1BE;
  --grey:#6E6E73;
  --grey-light:#A9A9AE;
  --line: rgba(198,161,91,.35);
  --shadow: 0 20px 60px -20px rgba(12,27,51,.35);
  --radius: 14px;
  --maxw: 1280px;
  --speed: .45s;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--ivory);
  color:var(--charcoal);
  font-family:'Poppins',sans-serif;
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}

button{font-family:inherit;cursor:pointer;border:none;background:none;}
input,textarea,select{font-family:inherit;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
h1,h2,h3,h4{font-family:'Playfair Display',serif;font-weight:600;margin:0;color:rgb(25, 25, 100);}
.eyebrow{
  font-family:'Cinzel',serif;
  letter-spacing:.28em;
  text-transform:uppercase;
  font-size:.72rem;
  color:var(--gold);
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--gold);display:inline-block;}
.section-head{max-width:640px;margin:0 auto 46px;text-align:center;}
.section-head h2{font-size:clamp(1.9rem,3vw,2.7rem);margin:14px 0 12px;}
.section-head p{color:var(--grey);font-size:1rem;margin:0;}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}

/* ---------- Signature element: stitched thread divider ---------- */
.stitch-divider{width:100%;height:26px;display:flex;justify-content:center;margin:0 auto;}
.stitch-divider svg{width:220px;height:26px;overflow:visible;}
.stitch-divider path{
  fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;
  stroke-dasharray:8 10;
  stroke-dashoffset:400;
  animation:stitchDraw 1.8s ease forwards;
}
@keyframes stitchDraw{to{stroke-dashoffset:0;}}
.stitch-divider.dark path{stroke:var(--gold-bright);}

/* ============================================================
   Buttons
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 34px;
  font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;
  border-radius:2px;
  transition:transform var(--speed) ease, box-shadow var(--speed) ease, background var(--speed) ease, color var(--speed) ease;
  white-space:nowrap;
}
.btn-primary{
  background:linear-gradient(120deg,var(--gold) 0%, var(--gold-bright) 100%);
  color:var(--navy-deep);
  box-shadow:0 12px 30px -10px rgba(198,161,91,.6);
}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 18px 34px -10px rgba(198,161,91,.75);}
.btn-outline{
  background:transparent;
  color:var(--ivory);
  border:1px solid rgba(250,248,243,.6);
}
.btn-outline:hover{background:rgba(250,248,243,.12);transform:translateY(-3px);}
.btn-outline.on-light{color:var(--navy);border-color:var(--navy);}
.btn-outline.on-light:hover{background:var(--navy);color:var(--ivory);}
.btn-sm{padding:10px 22px;font-size:.72rem;}
.btn-ghost-gold{color:var(--gold);border:1px solid var(--gold);background:transparent;}
.btn-ghost-gold:hover{background:var(--gold);color:var(--navy-deep);}

/* ============================================================
   Reveal on scroll
   ============================================================ */
.reveal{opacity:0;transform:translateY(36px);transition:opacity .8s ease, transform .8s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal-scale{opacity:0;transform:scale(.92);transition:opacity .8s ease, transform .8s ease;}
.reveal-scale.in{opacity:1;transform:scale(1);}

/* ============================================================
   Section base + page hero banner (interior pages)
   ============================================================ */
section{padding:85px 0;}
.page-banner{
  position:relative;height:46vh;min-height:340px;display:flex;align-items:flex-end;
  background-size:cover;background-position:center;
}
.page-banner::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(8,19,38,.55), rgba(8,19,38,.9));}
.page-banner .container{position:relative;z-index:2;padding-bottom:56px;color:var(--ivory);}
.breadcrumb{font-size:.8rem;color:var(--grey-light);margin-top:14px;}
.breadcrumb a{color:var(--gold-bright);}

/* ============================================================
   Intro split
   ============================================================ */
.intro-split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.intro-media{position:relative;}
.intro-media img{border-radius:var(--radius);box-shadow:var(--shadow);}
.intro-media .stat-chip{
  position:absolute;bottom:-30px;right:-30px;background:var(--navy);color:var(--ivory);
  padding:24px 30px;border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;
}
.intro-media .stat-chip strong{display:block;font-family:'Playfair Display',serif;font-size:2rem;color:var(--gold-bright);}
.intro-media .stat-chip span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-light);}
.intro-list{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0 32px;}
.intro-list li{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--charcoal-soft);}
.intro-list li i{color:var(--gold);margin-top:3px;}
@media (max-width:940px){.intro-split{grid-template-columns:1fr;gap:70px 0;}.intro-media{margin-bottom:20px;}}

/* ============================================================
   Brand collections
   ============================================================ */
.brand-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.brand-card{
  position:relative;height:460px;border-radius:var(--radius);overflow:hidden;
  background-size:cover;background-position:center;
}
.brand-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(12,27,51,.15) 30%, rgba(12,27,51,.95));transition:background var(--speed);}
.brand-card:hover::before{background:linear-gradient(180deg, rgba(12,27,51,.35) 0%, rgba(12,27,51,.97));}
.brand-card-body{position:absolute;bottom:0;left:0;right:0;padding:38px;color:var(--ivory);}
.brand-card-body .eyebrow{color:var(--gold-bright);}
.brand-card-body .eyebrow::before{background:var(--gold-bright);}
.brand-mark{font-family:'Cinzel',serif;font-size:2rem;letter-spacing:.1em;margin:12px 0 8px;color:var(--ivory);}
.brand-card-body p{color:rgba(250,248,243,.8);margin-bottom:20px;max-width:380px;}
.brand-card img.zoom{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s ease;z-index:-1;}
.brand-card:hover img.zoom{transform:scale(1.08);}
@media (max-width:820px){.brand-grid{grid-template-columns:1fr;}}

/* ============================================================
   Category cards
   ============================================================ */
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.cat-card{position:relative;border-radius:var(--radius);overflow:hidden;height:230px;}
.cat-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease;}
.cat-card:hover img{transform:scale(1.12);}
.cat-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(12,27,51,0) 30%, rgba(8,19,38,.9));}
.cat-card-label{position:absolute;left:20px;right:20px;bottom:18px;z-index:2;color:var(--ivory);}
.cat-card-label h4{color:var(--ivory);font-size:1.08rem;margin-bottom:8px;}
.cat-card-label a{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-bright);display:inline-flex;align-items:center;gap:6px;opacity:0;transform:translateY(8px);transition:all var(--speed);}
.cat-card:hover .cat-card-label a{opacity:1;transform:translateY(0);}
@media (max-width:1080px){.category-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:720px){.category-grid{grid-template-columns:repeat(2,1fr);}}

/* ============================================================
   Product cards
   ============================================================ */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.product-card{
  background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 12px 30px -18px rgba(12,27,51,.25);
  transition:transform var(--speed) ease, box-shadow var(--speed) ease;
}
.product-card:hover{transform:translateY(-8px);box-shadow:0 22px 40px -18px rgba(12,27,51,.35);}
.product-media{position:relative;height:260px;overflow:hidden;}
.product-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease;}
.product-card:hover .product-media img{transform:scale(1.08);}
.wishlist{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;color:var(--navy);font-size:.95rem;}
.product-overlay{
  position:absolute;inset:0;background:rgba(12,27,51,.55);display:flex;align-items:center;justify-content:center;gap:10px;
  opacity:0;transition:opacity var(--speed);
}
.product-card:hover .product-overlay{opacity:1;}
.product-overlay button, .product-overlay a{width:42px;height:42px;border-radius:50%;background:var(--ivory);color:var(--navy);display:flex;align-items:center;justify-content:center;}
.product-body{padding:20px 22px 24px;}
.product-brand{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;display:block;}
.product-body h4{font-size:1.05rem;margin-bottom:6px;}
.product-body p{font-size:.85rem;color:var(--grey);margin-bottom:14px;}
.product-body .btn{width:100%;justify-content:center;}
@media (max-width:1080px){.product-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:720px){.product-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.product-grid{grid-template-columns:1fr;}}

/* ============================================================
   Best selling slider
   ============================================================ */
.bs-track-wrap{overflow:hidden;}
.bs-track{display:flex;gap:26px;transition:transform .6s ease;}
.bs-track .product-card{min-width:280px;flex:0 0 auto;}
.bs-controls{display:flex;justify-content:flex-end;gap:12px;margin-bottom:30px;}
.bs-controls button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);color:var(--navy);display:flex;align-items:center;justify-content:center;transition:all var(--speed);}
.bs-controls button:hover{background:var(--navy);color:var(--ivory);border-color:var(--navy);}

/* ============================================================
   Why choose us
   ============================================================ */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.why-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px 26px;text-align:center;transition:transform var(--speed);}
.why-card:hover{transform:translateY(-6px);border-color:var(--gold);}
.why-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--navy-light));color:var(--gold-bright);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin:0 auto 18px;}
.why-card h4{font-size:1rem;margin-bottom:8px;}
.why-card p{font-size:.85rem;color:var(--grey);margin:0;}
@media (max-width:980px){.why-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.why-grid{grid-template-columns:1fr;}}

/* ============================================================
   Process timeline
   ============================================================ */
.section-dark{background:var(--navy-deep);color:var(--ivory);}
.section-dark h2, .section-dark h3, .section-dark h4{color:var(--ivory);}
.section-dark .section-head p{color:var(--grey-light);}
.timeline{display:flex;justify-content:space-between;position:relative;gap:20px;}
.timeline::before{content:"";position:absolute;top:26px;left:0;right:0;height:1px;background:repeating-linear-gradient(90deg,var(--gold) 0 8px,transparent 8px 16px);}
.tl-step{flex:1;text-align:center;position:relative;}
.tl-num{width:54px;height:54px;border-radius:50%;background:var(--navy-light);border:1px solid var(--gold);color:var(--gold-bright);font-family:'Playfair Display',serif;font-size:1.2rem;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;position:relative;z-index:2;}
.tl-step h4{color:var(--ivory);font-size:.95rem;margin-bottom:8px;}
.tl-step p{color:var(--grey-light);font-size:.82rem;padding:0 8px;}
@media (max-width:900px){.timeline{flex-direction:column;}.timeline::before{display:none;}.tl-step{display:flex;gap:20px;align-items:flex-start;text-align:left;}.tl-num{margin:0;flex-shrink:0;}}

/* ============================================================
   Stats counter
   ============================================================ */
.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;text-align:center;}
.stat-item strong{display:block;font-family:'Playfair Display',serif;font-size:clamp(2rem,3.2vw,2.8rem);color:var(--navy);}
.stat-item span{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);}
@media (max-width:900px){.stats-grid{grid-template-columns:repeat(3,1fr);row-gap:34px;}}
@media (max-width:560px){.stats-grid{grid-template-columns:repeat(2,1fr);}}

/* ============================================================
   Catalogue CTA banner
   ============================================================ */
.cta-banner{
  background:linear-gradient(120deg,var(--navy) 0%, var(--navy-deep) 100%);
  border-radius:var(--radius);color:var(--ivory);padding:70px 60px;
  display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;
  position:relative;overflow:hidden;
}
.cta-banner::after{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border:1px solid rgba(233,199,120,.25);border-radius:50%;}
.cta-banner h2{color:var(--ivory);max-width:520px;}
.cta-banner-actions{display:flex;gap:16px;flex-wrap:wrap;position:relative;z-index:2;}

/* ============================================================
   Testimonials
   ============================================================ */
.testi-track-wrap{overflow:hidden;max-width:760px;margin:0 auto;}
.testi-track{display:flex;transition:transform .6s ease;}
.testi-card{min-width:100%;text-align:center;padding:0 20px;}
.testi-card img{width:76px;height:76px;border-radius:50%;object-fit:cover;margin:0 auto 20px;border:3px solid var(--gold-pale);}
.testi-stars{color:var(--gold);margin-bottom:16px;font-size:.9rem;}
.testi-quote{font-family:'Playfair Display',serif;font-size:1.3rem;font-style:italic;color:var(--navy);margin-bottom:20px;line-height:1.5;}
.testi-name{font-weight:600;}
.testi-role{font-size:.8rem;color:var(--grey);}
.testi-dots{display:flex;justify-content:center;gap:8px;margin-top:34px;}
.testi-dots button{width:9px;height:9px;border-radius:50%;background:var(--line);}
.testi-dots button.active{background:var(--gold);}

/* ============================================================
   Marquee
   ============================================================ */
.marquee-wrap{background:var(--navy);padding:26px 0;overflow:hidden;white-space:nowrap;}
.marquee-track{display:inline-flex;animation:marquee 32s linear infinite;}
.marquee-track span{
  font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--gold-pale);padding:0 26px;letter-spacing:.02em;
}
.marquee-track span.dot{color:var(--gold);font-size:.8rem;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ============================================================
   Gallery
   ============================================================ */
.gallery-grid{column-count:4;column-gap:20px;}
.gallery-grid img{width:100%;border-radius:10px;margin-bottom:20px;transition:transform .5s ease, filter .5s ease;cursor:pointer;}
.gallery-grid img:hover{transform:scale(1.02);filter:brightness(1.05);}
@media (max-width:980px){.gallery-grid{column-count:3;}}
@media (max-width:680px){.gallery-grid{column-count:2;}}

/* ============================================================
   CTA banner 2 (bulk manufacturing)
   ============================================================ */
.cta-strip{
  background:url('https://images.unsplash.com/photo-1544022613-e87ca75a784a?q=80&w=1740&auto=format&fit=crop') center/cover;
  position:relative;padding:90px 0;text-align:center;
}
.cta-strip::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(8,19,38,.82), rgba(8,19,38,.92));}
.cta-strip .container{position:relative;z-index:2;color:var(--ivory);}
.cta-strip h2{color:var(--ivory);margin-bottom:16px;}
.cta-strip p{color:var(--grey-light);max-width:520px;margin:0 auto 34px;}
.cta-strip-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

/* ============================================================
   Contact preview / contact page
   ============================================================ */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:stretch;}
.contact-info-card{background:var(--navy);color:var(--ivory);border-radius:var(--radius);padding:40px;display:flex;flex-direction:column;gap:22px;}
.contact-info-card h3{color:var(--ivory);}
.contact-row{display:flex;gap:16px;align-items:flex-start;}
.contact-row i{width:40px;height:40px;border-radius:50%;background:var(--navy-light);color:var(--gold-bright);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.contact-row strong{display:block;font-size:.9rem;}
.contact-row span{font-size:.85rem;color:var(--grey-light);}
.map-frame{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);height:260px;}
.map-frame iframe{width:100%;height:100%;border:0;}
.form-card{background:#fff;border-radius:var(--radius);padding:40px;box-shadow:var(--shadow);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;}
.form-field.full{grid-column:1/-1;}
.form-field label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--grey);}
.form-field input,.form-field select,.form-field textarea{
  padding:13px 16px;border:1px solid var(--line);border-radius:8px;background:var(--ivory);font-size:.92rem;color:var(--charcoal);
  transition:border-color var(--speed);
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--gold);outline:none;}
.form-note{font-size:.78rem;color:var(--grey);margin-top:10px;}

/* ============================================================
   Footer
   ============================================================ */
.site-footer{background:var(--navy-deep);color:var(--grey-light);padding:80px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.08);}
.footer-col h5{color:var(--ivory);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:22px;font-family:'Poppins',sans-serif;}
.footer-col ul li{margin-bottom:12px;}
.footer-col ul li a{font-size:.88rem;transition:color var(--speed), padding var(--speed);}
.footer-col ul li a:hover{color:var(--gold-bright);padding-left:4px;}
.footer-logo{font-family:'Cinzel',serif;color:var(--ivory);font-size:1.3rem;letter-spacing:.1em;margin-bottom:16px;}
.footer-col p{font-size:.88rem;line-height:1.8;}
.footer-social{display:flex;gap:12px;margin-top:20px;}
.footer-social a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;transition:all var(--speed);}
.footer-social a:hover{background:var(--gold);border-color:var(--gold);color:var(--navy-deep);}
.newsletter{display:flex;gap:0;margin-top:18px;max-width:340px;}
.newsletter input{flex:1;padding:13px 16px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.04);color:var(--ivory);border-radius:6px 0 0 6px;}
.newsletter button{padding:13px 20px;background:var(--gold);color:var(--navy-deep);border-radius:0 6px 6px 0;font-size:.85rem;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:24px 0;font-size:.8rem;flex-wrap:wrap;gap:14px;}
.footer-bottom ul{display:flex;gap:22px;flex-wrap:wrap;}
.footer-bottom a:hover{color:var(--gold-bright);}
@media (max-width:980px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;}}

/* ============================================================
   About page extras
   ============================================================ */
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.value-card{padding:30px 24px;border:1px solid var(--line);border-radius:var(--radius);text-align:center;}
.value-card i{font-size:1.6rem;color:var(--gold);margin-bottom:14px;}
.value-card h4{font-size:1rem;margin-bottom:8px;}
.value-card p{font-size:.85rem;color:var(--grey);margin:0;}
@media (max-width:900px){.value-grid{grid-template-columns:repeat(2,1fr);}}
.timeline-v{position:relative;padding-left:40px;}
.timeline-v::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:1px;background:repeating-linear-gradient(180deg,var(--gold) 0 8px,transparent 8px 16px);}
.tlv-item{position:relative;padding-bottom:44px;}
.tlv-item::before{content:"";position:absolute;left:-40px;top:4px;width:17px;height:17px;border-radius:50%;background:var(--ivory);border:2px solid var(--gold);}
.tlv-item h4{font-size:1.1rem;margin-bottom:6px;}
.tlv-year{font-family:'Cinzel',serif;color:var(--gold);font-size:.8rem;letter-spacing:.08em;}
.cert-strip{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;}
.cert-strip .cert{width:130px;height:90px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--grey);font-size:.75rem;text-align:center;padding:10px;}

/* ============================================================
   Product listing / filters
   ============================================================ */
.listing-layout{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:flex-start;}
.filters{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;position:sticky;top:110px;}
.filters h4{font-size:.95rem;margin-bottom:16px;}
.filter-group{margin-bottom:24px;}
.filter-group h5{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--grey);margin-bottom:12px;}
.filter-group label{display:flex;align-items:center;gap:8px;font-size:.86rem;margin-bottom:9px;color:var(--charcoal-soft);}
.listing-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;flex-wrap:wrap;gap:14px;}
.search-box{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:10px 16px;flex:1;max-width:320px;}
.search-box input{border:none;background:none;flex:1;font-size:.88rem;}
.sort-select{border:1px solid var(--line);border-radius:8px;padding:10px 16px;font-size:.85rem;background:#fff;}
.pagination{display:flex;justify-content:center;gap:10px;margin-top:50px;}
.pagination a{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:all var(--speed);}
.pagination a.active,.pagination a:hover{background:var(--navy);color:var(--ivory);border-color:var(--navy);}
@media (max-width:900px){.listing-layout{grid-template-columns:1fr;}.filters{position:static;}}

/* ============================================================
   Product details page
   ============================================================ */
.pd-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
.pd-gallery-main{border-radius:var(--radius);overflow:hidden;margin-bottom:16px;height:460px;}
.pd-gallery-main img{width:100%;height:100%;object-fit:cover;}
.pd-thumbs{display:flex;gap:14px;}
.pd-thumbs img{width:84px;height:84px;object-fit:cover;border-radius:8px;cursor:pointer;border:2px solid transparent;transition:border-color var(--speed);}
.pd-thumbs img.active{border-color:var(--gold);}
.pd-info .brand-tag{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;display:block;}
.pd-info h1{font-size:2rem;margin-bottom:14px;}
.pd-price{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--navy);margin-bottom:20px;}
.pd-desc{color:var(--grey);margin-bottom:26px;}
.pd-specs{width:100%;border-collapse:collapse;margin-bottom:30px;}
.pd-specs tr{border-bottom:1px solid var(--line);}
.pd-specs td{padding:10px 0;font-size:.88rem;}
.pd-specs td:first-child{color:var(--grey);width:180px;}
.pd-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:10px;}
.related-products{margin-top:-80px;}

/* ============================================================
   Misc utility
   ============================================================ */
.flex-between{display:flex;justify-content:space-between;align-items:center;}
.text-center{text-align:center;}
.mt-40{margin-top:40px;}
.bg-ivory-deep{background:var(--ivory-deep);}
