/*
Theme Name: Dezo Industry
Theme URI: https://dezoindustry.example
Author: Dezo Industry
Description: Custom one-page manufacturer site for Dezo Industry — sportswear, streetwear, leatherwear and fashion wear.
Version: 1.3
Text Domain: dezo-industry
*/

:root{
  --ink:#0f1117;
  --panel:#181b23;
  --panel2:#1e222c;
  --steel:#2b303c;
  --gold:#d7a34e;
  --gold-soft:#e9c281;
  --emerald:#1f8a72;
  --bone:#f3efe6;
}
body{background:var(--ink);color:var(--bone);font-family:'Inter',sans-serif;margin:0;}
h1,h2,h3,.font-display{font-family:'Oswald',sans-serif;}
.seam{background-image:repeating-linear-gradient(90deg,var(--gold) 0 10px,transparent 10px 20px);height:2px;}
.panel{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--steel);}
.btn-gold{background:var(--gold);color:#161208;}
.btn-gold:hover{background:var(--gold-soft);}
.btn-outline{border:1px solid var(--emerald);color:var(--emerald);}
.btn-outline:hover{background:var(--emerald);color:#0c1512;}
.chip{background:var(--steel);border:1px solid #3a4050;}
.badge-moq{background:rgba(31,138,114,0.18);color:#4fd6ba;border:1px solid rgba(31,138,114,0.4);}
::selection{background:var(--gold);color:#161208;}

.notice{border-left:3px solid var(--emerald);background:rgba(31,138,114,0.12);}
.notice-error{border-left:3px solid #c15353;background:rgba(193,83,83,0.12);}

/* Hero entrance — pure CSS, does not depend on any JS library loading */
.hero-in{animation:heroIn .7s ease both;}
.hero-in.d1{animation-delay:.08s;}
.hero-in.d2{animation-delay:.16s;}
@keyframes heroIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}

/* Animated media section */
.slideshow{position:relative;overflow:hidden;}
.slideshow img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
  animation:dezoFade 16s infinite;}
.slideshow img:nth-child(1){animation-delay:0s;}
.slideshow img:nth-child(2){animation-delay:4s;}
.slideshow img:nth-child(3){animation-delay:8s;}
.slideshow img:nth-child(4){animation-delay:12s;}
@keyframes dezoFade{
  0%{opacity:0;transform:scale(1.04);}
  6%{opacity:1;transform:scale(1.0);}
  25%{opacity:1;transform:scale(1.06);}
  31%{opacity:0;transform:scale(1.08);}
  100%{opacity:0;}
}
.pulse-dot{animation:dezoPulse 1.8s ease-in-out infinite;}
@keyframes dezoPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(37,211,102,.55);}
  50%{box-shadow:0 0 0 10px rgba(37,211,102,0);}
}

/* FAQ — native <details>/<summary>, no JS required to open/close */
.faq-item summary{list-style:none;cursor:pointer;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';color:var(--gold);font-size:1.25rem;line-height:1;transition:transform .2s;}
.faq-item[open] summary::after{transform:rotate(45deg);}

/* Ambient background — pure CSS, always renders regardless of JavaScript */
.bg-mesh{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none;}
.bg-mesh span{position:absolute;border-radius:50%;filter:blur(70px);opacity:.32;}
.bg-mesh span:nth-child(1){width:42vw;height:42vw;left:-10vw;top:-10vw;background:var(--gold);animation:meshFloat 26s ease-in-out infinite;}
.bg-mesh span:nth-child(2){width:36vw;height:36vw;right:-8vw;top:20vh;background:var(--emerald);animation:meshFloat 32s ease-in-out infinite reverse;}
.bg-mesh span:nth-child(3){width:30vw;height:30vw;left:20vw;bottom:-12vw;background:#3a5a8c;animation:meshFloat 22s ease-in-out infinite;}
@keyframes meshFloat{
  0%,100%{transform:translate(0,0) scale(1);}
  50%{transform:translate(4vw,3vw) scale(1.12);}
}
#dezoParticles{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5;}
@media (prefers-reduced-motion: reduce){
  .bg-mesh span{animation:none;}
}

/* Hero/gallery carousel — pure CSS (radio-driven), no JS required */
.dcarousel .dc-radio{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none;}
.dc-slides{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;}
.dc-slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease;z-index:1;}
.dc-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
/* Responsive carousel framing: wider on desktop, taller on phones for a stronger visual presentation. */
@media (max-width: 700px){
  .dc-slides{aspect-ratio:4/3;}
  .dc-slide img{object-fit:cover;object-position:center;}
}
.dc-cap{position:absolute;left:0;right:0;bottom:0;padding:1.25rem;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent);}
.dc-arrows label{display:none;position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:2.25rem;height:2.25rem;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;align-items:center;justify-content:center;cursor:pointer;font-size:1.4rem;line-height:1;}
.dc-arrows label.prev{left:.75rem;}
.dc-arrows label.next{right:.75rem;}
.dc-dots{display:flex;gap:.5rem;justify-content:center;margin-top:.9rem;}
.dc-dots label{width:.6rem;height:.6rem;border-radius:999px;background:var(--steel);cursor:pointer;transition:background .2s;}
#dc1:checked ~ .dc-slides .dc-s1,#dc2:checked ~ .dc-slides .dc-s2,#dc3:checked ~ .dc-slides .dc-s3,#dc4:checked ~ .dc-slides .dc-s4,#dc5:checked ~ .dc-slides .dc-s5{opacity:1;z-index:2;}
#dc1:checked ~ .dc-slides .dc-arrows label[data-for="1"],#dc2:checked ~ .dc-slides .dc-arrows label[data-for="2"],#dc3:checked ~ .dc-slides .dc-arrows label[data-for="3"],#dc4:checked ~ .dc-slides .dc-arrows label[data-for="4"],#dc5:checked ~ .dc-slides .dc-arrows label[data-for="5"]{display:flex;}
#dc1:checked ~ .dc-dots label[data-for="1"],#dc2:checked ~ .dc-dots label[data-for="2"],#dc3:checked ~ .dc-dots label[data-for="3"],#dc4:checked ~ .dc-dots label[data-for="4"],#dc5:checked ~ .dc-dots label[data-for="5"]{background:var(--gold);}

/* Instagram feed grid */
.ig-overlay{background:rgba(0,0,0,.5);}

/* Process tabs — pure CSS (radio-driven), same reliable technique as the
   hero carousel: no JavaScript required, so it can't silently fail. */
.dtabs .dtab-radio{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none;}
.dtab-buttons{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.75rem;}
.dtab-buttons label{padding:.65rem 1.25rem;border-radius:999px;background:var(--steel);color:var(--bone);cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s,color .2s;}
.dtab-panel{display:none;}
#ptab1:checked ~ .dtab-panels .dtab-p1{display:block;}
#ptab2:checked ~ .dtab-panels .dtab-p2{display:block;}
#ptab1:checked ~ .dtab-buttons label[data-for="1"],
#ptab2:checked ~ .dtab-buttons label[data-for="2"]{background:var(--gold);color:#161208;}



/* Stronger on-scroll reveal — visual only; no layout or content changes. */
.scroll-reveal{opacity:0;transform:translate3d(0,64px,0) scale(.985);filter:none;transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1);will-change:auto;}
.scroll-reveal.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0);}
.scroll-reveal-child{opacity:0;transform:translate3d(0,38px,0) scale(.98);filter:none;transition:opacity .45s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),transform .45s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms);will-change:auto;}
.scroll-reveal-child.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0);}
@media (prefers-reduced-motion: reduce){
  .scroll-reveal,.scroll-reveal-child{opacity:1;transform:none;filter:none;transition:none;will-change:auto;}
}

/* Responsive presentation for Customization & Print capability cards only. */
.dezo-capability-card{
  min-width:0;
}
.dezo-capability-video{
  width:100%;
  aspect-ratio:21 / 9;
  position:relative;
  overflow:hidden;
  background:#000;
}
.dezo-capability-video video{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  background:#000;
}
@media (max-width:767px){
  .dezo-capability-card{
    border-radius:0.75rem;
  }
  .dezo-capability-video{
    aspect-ratio:16 / 9;
  }
  .dezo-capability-card > .p-5{
    padding:1rem;
  }
  .dezo-capability-card > .p-5 h3{
    font-size:1.05rem;
    line-height:1.3;
    margin-bottom:.35rem;
  }
  .dezo-capability-card > .p-5 p{
    font-size:.875rem;
    line-height:1.5;
  }
}

/* Mobile capability card: the CARD itself is 9:16. Keep the video area
   comfortably horizontal inside the card and use the remaining space for
   the capability text. No other sections are affected. */
@media (max-width:767px){
  /* Mobile capability card: the entire card and its video share a true 9:16 frame.
     Text is layered over the lower part so the card remains exactly 9:16 without
     distorting or adding height below the video. */
  .dezo-capability-card{
    aspect-ratio:9 / 16;
    position:relative;
    min-width:0;
    min-height:0;
    overflow:hidden;
    border-radius:.75rem;
  }
  .dezo-capability-card .dezo-capability-video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    aspect-ratio:9 / 16;
  }
  .dezo-capability-card .dezo-capability-video video{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }
  .dezo-capability-card > .p-5{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:2;
    padding:3.75rem 1rem 1.1rem;
    margin:0;
    background:linear-gradient(180deg,rgba(15,17,23,0) 0%,rgba(15,17,23,.72) 35%,rgba(15,17,23,.96) 100%);
    color:var(--bone);
  }
  .dezo-capability-card > .p-5 h3{
    margin:0 0 .4rem;
    font-size:1.05rem;
    line-height:1.2;
    text-shadow:0 1px 3px rgba(0,0,0,.45);
  }
  .dezo-capability-card > .p-5 p{
    margin:0;
    font-size:.82rem;
    line-height:1.45;
    color:rgba(243,239,230,.9);
  }
}

/* Category catalog pages — additive only. */
.dezo-category-card{position:relative;overflow:hidden}
.dezo-category-open{display:flex;align-items:center;justify-content:space-between;margin-top:1.25rem;padding-top:.9rem;border-top:1px solid rgba(255,255,255,.08);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.dezo-category-open span{transition:transform .25s ease}.dezo-category-card:hover .dezo-category-open span{transform:translateX(4px)}
.dezo-category-hero{position:relative;background:radial-gradient(circle at 85% 20%,rgba(198,166,82,.16),transparent 32%),linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.01));border:1px solid rgba(255,255,255,.08)}
.dezo-category-hero:after{content:"";position:absolute;right:-10%;top:-45%;width:420px;height:420px;border:1px solid rgba(198,166,82,.18);border-radius:50%;box-shadow:0 0 0 70px rgba(198,166,82,.025),0 0 0 140px rgba(198,166,82,.015);pointer-events:none}
.dezo-category-kicker{font-size:.7rem;letter-spacing:.18em;color:var(--gold);text-transform:uppercase;font-weight:600}
.dezo-category-pill{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(198,166,82,.28);color:#d7c58d;background:rgba(198,166,82,.06);padding:.5rem .7rem;border-radius:999px}
.dezo-catalog-card{border:1px solid rgba(255,255,255,.08);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.dezo-catalog-card:hover{transform:translateY(-4px);border-color:rgba(198,166,82,.45);box-shadow:0 18px 45px rgba(0,0,0,.25)}
.dezo-catalog-cover{height:250px;background:#111820;position:relative;overflow:hidden}
.dezo-catalog-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.dezo-catalog-card:hover .dezo-catalog-cover img{transform:scale(1.03)}
.dezo-catalog-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#171b20,#0d1014);gap:.45rem;color:#e7d49a}
.dezo-catalog-placeholder span{font-size:2.8rem;font-weight:800;letter-spacing:.08em}.dezo-catalog-placeholder strong{font-size:.7rem;letter-spacing:.18em;color:#8c929b}
.dezo-catalog-badge{position:absolute;left:14px;top:14px;padding:.45rem .6rem;border-radius:999px;background:rgba(0,0,0,.68);backdrop-filter:blur(8px);font-size:.62rem;letter-spacing:.13em;color:#fff}
.dezo-catalog-download{border:1px solid rgba(255,255,255,.12);color:#fff;min-width:48px;text-align:center;transition:border-color .2s ease,color .2s ease}.dezo-catalog-download:hover{border-color:var(--gold);color:var(--gold)}
.dezo-empty-icon{width:64px;height:64px;margin:0 auto 18px;border:1px solid rgba(198,166,82,.35);border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--gold);font-weight:800;letter-spacing:.08em}
.dezo-back-link{transition:color .2s ease}.dezo-category-page{min-height:calc(100vh - 90px)}
@media (max-width:640px){.dezo-category-hero{padding:1.5rem}.dezo-category-hero:after{right:-40%;top:-30%;width:300px;height:300px}.dezo-catalog-cover{height:210px}.dezo-category-page{padding-top:7rem}}

/* Catalog contact actions — added only to the catalog pages. */
.dezo-catalog-actions .dezo-catalog-action{display:flex;align-items:center;justify-content:center;min-height:42px;padding:.65rem .45rem;border:1px solid rgba(255,255,255,.10);border-radius:.65rem;background:rgba(255,255,255,.025);color:#d9dde2;font-size:.78rem;font-weight:600;letter-spacing:.01em;text-align:center;transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease}
.dezo-catalog-actions .dezo-catalog-action:hover{transform:translateY(-1px);border-color:rgba(198,166,82,.55);color:#fff;background:rgba(198,166,82,.08)}
.dezo-catalog-actions .dezo-whatsapp-action:hover{border-color:rgba(54,190,92,.65);background:rgba(54,190,92,.08)}
.dezo-catalog-actions .dezo-email-action:hover{border-color:rgba(105,160,255,.65);background:rgba(105,160,255,.08)}
.dezo-outline-action{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.025);color:#fff;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.dezo-outline-action:hover{transform:translateY(-2px);border-color:rgba(198,166,82,.6);background:rgba(198,166,82,.08)}
@media (max-width:640px){.dezo-category-contact-actions{display:grid;grid-template-columns:1fr 1fr}.dezo-category-contact-actions .btn-gold{grid-column:1/-1;text-align:center}.dezo-category-contact-actions .dezo-outline-action{text-align:center}.dezo-catalog-actions .dezo-catalog-action{font-size:.72rem}}

/* Catalog preview: scoped only to catalog/category pages. */
.dezo-catalog-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:18px;}
.dezo-catalog-modal[hidden]{display:none;}
.dezo-catalog-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(6px);}
.dezo-catalog-modal-panel{position:relative;width:min(1100px,96vw);height:min(88vh,900px);background:#111;border:1px solid var(--steel);border-radius:16px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.55);display:flex;flex-direction:column;}
.dezo-catalog-modal-head{height:58px;flex:0 0 58px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--steel);background:#151515;}
.dezo-catalog-modal-close{font-size:30px;line-height:1;color:#aaa;background:none;border:0;cursor:pointer;padding:4px 10px;}
.dezo-catalog-modal-close:hover{color:#fff;}
#dezoCatalogPreviewFrame{width:100%;height:100%;border:0;background:#fff;}
body.dezo-modal-open{overflow:hidden;}
@media(max-width:640px){.dezo-catalog-modal{padding:8px}.dezo-catalog-modal-panel{width:100%;height:92vh;border-radius:12px}.dezo-catalog-modal-head{height:52px;flex-basis:52px}}
/* Catalog preview viewer: scoped only to the catalog preview modal. */
.dezo-catalog-pdf-viewer{position:relative;flex:1;overflow:auto;background:#262626;padding:12px;display:flex;flex-direction:column;align-items:center;gap:14px;-webkit-overflow-scrolling:touch}
.dezo-catalog-pdf-viewer:empty{display:block}
.dezo-pdf-page{width:100%;display:flex;justify-content:center;flex:0 0 auto}
.dezo-pdf-page canvas{display:block;max-width:100%;height:auto;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.dezo-catalog-pdf-loading{position:absolute;inset:58px 0 0;display:flex;align-items:center;justify-content:center;color:#c8c8c8;font-size:14px;background:#262626;z-index:2}
.dezo-catalog-pdf-loading[hidden]{display:none}
@media(max-width:640px){.dezo-catalog-pdf-viewer{padding:8px;gap:10px}.dezo-catalog-pdf-loading{inset:52px 0 0}}


/* Admin-controlled logo and announcement bar — additive only. */
.dezo-brand-link{display:flex;align-items:center;min-width:0;padding:6px 14px;margin-left:2px;box-sizing:border-box}
.dezo-header-logo{display:block;width:auto;height:52px;max-width:240px;min-width:52px;object-fit:contain;object-position:center;image-rendering:auto}
.dezo-header-logo[src$=".png"]{background:transparent}
.dezo-announcement-bar{position:relative;z-index:35;display:block;overflow:hidden;width:100%;height:64px;margin-top:72px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.09);background:linear-gradient(90deg,rgba(10,12,15,.98),rgba(18,20,24,.98),rgba(10,12,15,.98));color:#e9e2cf;white-space:nowrap;box-shadow:0 10px 30px rgba(0,0,0,.16)}
.dezo-announcement-track{display:inline-flex;align-items:center;height:100%;min-width:max-content;animation:dezoAnnouncementScroll 28s linear infinite;will-change:transform}
.dezo-announcement-bar:hover .dezo-announcement-track{animation-play-state:paused}
.dezo-announcement-item{display:inline-flex;align-items:center;padding:0 2.2rem;font-size:.9rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.dezo-announcement-separator{color:var(--gold);font-size:1.25rem}
@keyframes dezoAnnouncementScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.dezo-hero-section{padding-top:30px}
@media(max-width:640px){.dezo-brand-link{padding:10px 22px;margin-left:4px}.dezo-header-logo{height:88px;max-width:300px;min-width:88px}.dezo-announcement-bar{height:56px;margin-top:64px}.dezo-announcement-item{padding:0 1.25rem;font-size:.72rem;letter-spacing:.065em}.dezo-announcement-track{animation-duration:22s}.dezo-hero-section{padding-top:22px}}

/* Premium header logo presentation — header/logo only. No other site sections changed. */
header .dezo-brand-link{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-width:96px;
  min-height:78px;
  padding:4px 18px;
  margin-left:0;
  border-radius:18px;
  background:radial-gradient(circle at center,rgba(198,166,82,.075) 0%,rgba(198,166,82,.025) 42%,transparent 72%);
}
header .dezo-brand-link::after{
  content:"";
  position:absolute;
  inset:8px 10px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:16px;
  pointer-events:none;
}
header .dezo-header-logo{
  position:relative;
  z-index:1;
  display:block;
  width:auto;
  height:72px;
  max-width:280px;
  min-width:72px;
  object-fit:contain;
  object-position:center;
  image-rendering:auto;
  filter:drop-shadow(0 5px 12px rgba(0,0,0,.32));
}
@media (max-width:640px){
  header nav{min-height:112px;padding-top:10px;padding-bottom:10px;}
  header .dezo-brand-link{
    min-width:120px;
    min-height:104px;
    padding:2px 24px;
    border-radius:22px;
    background:radial-gradient(circle at center,rgba(198,166,82,.095) 0%,rgba(198,166,82,.028) 46%,transparent 74%);
  }
  header .dezo-brand-link::after{inset:8px 12px;border-radius:19px;}
  header .dezo-header-logo{
    height:104px;
    max-width:330px;
    min-width:104px;
  }
}

/* FINAL TARGETED FIX — header overlap + excessive section spacing only.
   Do not change content, media, buttons, typography, colors or functionality. */
.dezo-announcement-bar{margin-top:104px;}
.dezo-hero-section{padding-top:24px;}
main > section[id]{padding-top:56px !important;padding-bottom:56px !important;}

@media (max-width:640px){
  /* The mobile header is taller because of the premium logo. Start the
     announcement bar below the complete fixed header so animated text can
     never pass underneath/behind the logo. */
  .dezo-announcement-bar{margin-top:132px;}
  .dezo-hero-section{padding-top:18px;}
  main > section[id]{padding-top:40px !important;padding-bottom:40px !important;}
}
