/* Daltex Glass — Services pages design system
   Scoped under .dx-svc to avoid clashing with Woodmart theme styles. */
.dx-svc{
  --dx-navy:#0f2038; --dx-navy2:#16294a; --dx-blue:#1246ab;
  --dx-orange:#F66123; --dx-orange-d:#d94e15;
  --dx-ink:#20303f; --dx-gray:#5b6675; --dx-line:#e5e9ef;
  --dx-bg:#f6f8fb; --dx-white:#fff;
  --dx-rad:14px; --dx-shadow:0 10px 30px rgba(15,32,56,.10);
  color:var(--dx-ink);
  font-family:inherit;
  line-height:1.65;
  /* break out of any theme content container -> full-bleed, no h-scroll.
     symmetric negative margins are container-padding-proof (no 100vw overflow) */
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow-x:clip;
}
.dx-svc *{box-sizing:border-box}
.dx-svc img{max-width:100%;height:auto;display:block}
.dx-svc a{color:var(--dx-blue);text-decoration:none}
.dx-wrap{max-width:1200px;margin-inline:auto;padding-inline:20px}

/* ---------- HERO ---------- */
.dx-hero{position:relative;min-height:clamp(360px,52vw,560px);display:flex;align-items:center;
  color:#fff;overflow:hidden;background:var(--dx-navy)}
.dx-hero__bg{position:absolute;inset:0;object-fit:cover;width:100%;height:100%}
.dx-hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(9,18,34,.92) 0%,rgba(9,18,34,.72) 42%,rgba(9,18,34,.28) 100%)}
.dx-hero__inner{position:relative;z-index:2;padding-block:64px}
.dx-eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--dx-orange);margin-bottom:14px}
.dx-hero h1{color:#fff;font-size:clamp(2rem,4.4vw,3.3rem);line-height:1.08;margin:0 0 18px;font-weight:800;max-width:16ch}
.dx-hero p{font-size:clamp(1.02rem,1.5vw,1.22rem);color:#dfe6f1;max-width:56ch;margin:0 0 30px}
.dx-btns{display:flex;gap:14px;flex-wrap:wrap}
.dx-btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:1rem;
  padding:15px 30px;border-radius:9px;transition:.2s;border:2px solid transparent;cursor:pointer}
.dx-btn--primary{background:var(--dx-orange);color:#fff!important}
.dx-btn--primary:hover{background:var(--dx-orange-d)}
.dx-btn--ghost{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.55)}
.dx-btn--ghost:hover{background:#fff;color:var(--dx-navy)!important}
.dx-btn--dark{background:var(--dx-navy);color:#fff!important}
.dx-btn--dark:hover{background:var(--dx-blue)}

/* ---------- BREADCRUMB ---------- */
.dx-crumb{font-size:.86rem;color:#c9d3e2;position:relative;z-index:2;margin-bottom:16px}
.dx-crumb a{color:#c9d3e2}.dx-crumb a:hover{color:#fff}
.dx-crumb span{color:var(--dx-orange)}

/* ---------- SECTIONS ---------- */
.dx-sec{padding-block:clamp(48px,6vw,86px)}
.dx-sec--alt{background:var(--dx-bg)}
.dx-head{max-width:760px;margin:0 auto 46px;text-align:center}
.dx-head .dx-eyebrow{color:var(--dx-orange)}
.dx-head h2{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;color:var(--dx-navy);margin:0 0 14px;line-height:1.14}
.dx-head p{color:var(--dx-gray);font-size:1.06rem;margin:0}
.dx-lead{max-width:820px;margin:0 auto;font-size:1.12rem;color:#3a4756;text-align:center}

/* ---------- CATEGORY BLOCKS (hub) ---------- */
.dx-cat{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;margin-bottom:26px}
.dx-cat + .dx-cat{margin-top:12px}
.dx-cat__media{border-radius:var(--dx-rad);overflow:hidden;box-shadow:var(--dx-shadow);aspect-ratio:4/3}
.dx-cat__media img{width:100%;height:100%;object-fit:cover}
.dx-cat--rev .dx-cat__media{order:2}
.dx-cat__num{font-size:.82rem;font-weight:800;color:var(--dx-orange);letter-spacing:.12em;text-transform:uppercase}
.dx-cat h3{font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:800;color:var(--dx-navy);margin:8px 0 12px}
.dx-cat p{color:var(--dx-gray);margin:0 0 20px}
.dx-catlinks{display:flex;flex-direction:column;gap:10px}
.dx-catlink{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 18px;background:#fff;border:1px solid var(--dx-line);border-radius:11px;
  font-weight:700;color:var(--dx-navy)!important;transition:.18s}
.dx-catlink:hover{border-color:var(--dx-orange);box-shadow:var(--dx-shadow);transform:translateY(-1px)}
.dx-catlink span{color:var(--dx-gray);font-weight:500;font-size:.88rem}
.dx-catlink .dx-ar{color:var(--dx-orange);font-weight:800;font-size:1.1rem}
.dx-catlink__txt{display:flex;flex-direction:column;gap:1px}
.dx-catlink__txt strong{color:var(--dx-navy);font-weight:700}

/* text cards (no image) */
.dx-tgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.dx-tcard{background:#fff;border:1px solid var(--dx-line);border-left:4px solid var(--dx-orange);
  border-radius:12px;padding:22px 24px;transition:.18s}
.dx-tcard:hover{box-shadow:var(--dx-shadow);transform:translateY(-2px)}
.dx-tcard h4{margin:0 0 8px;color:var(--dx-navy);font-size:1.12rem;font-weight:800}
.dx-tcard p{margin:0;color:var(--dx-gray);font-size:.95rem}
@media(max-width:700px){.dx-tgrid{grid-template-columns:1fr}}

/* ---------- SERVICE CARDS GRID ---------- */
.dx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.dx-grid--2{grid-template-columns:repeat(2,1fr)}
.dx-card{background:#fff;border:1px solid var(--dx-line);border-radius:var(--dx-rad);overflow:hidden;
  display:flex;flex-direction:column;transition:.2s}
.dx-card:hover{box-shadow:var(--dx-shadow);transform:translateY(-3px);border-color:transparent}
.dx-card__media{aspect-ratio:16/10;overflow:hidden;background:var(--dx-bg)}
.dx-card__media img{width:100%;height:100%;object-fit:cover;transition:.4s}
.dx-card:hover .dx-card__media img{transform:scale(1.05)}
.dx-card__body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.dx-card h4{font-size:1.18rem;font-weight:800;color:var(--dx-navy);margin:0 0 9px}
.dx-card p{color:var(--dx-gray);font-size:.96rem;margin:0 0 16px;flex:1}
.dx-card .dx-more{font-weight:700;color:var(--dx-orange)!important;font-size:.95rem}

/* ---------- CHECK LIST ---------- */
.dx-checks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px 30px}
.dx-checks li{position:relative;padding-left:32px;color:var(--dx-ink);font-weight:500}
.dx-checks li::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;
  background:var(--dx-orange);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/13px no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/13px no-repeat}

/* ---------- FEATURES (why us) ---------- */
.dx-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.dx-feat{background:#fff;border:1px solid var(--dx-line);border-radius:var(--dx-rad);padding:28px 24px;text-align:center}
.dx-feat__ic{width:56px;height:56px;margin:0 auto 16px;border-radius:14px;background:rgba(246,97,35,.12);
  display:flex;align-items:center;justify-content:center}
.dx-feat__ic svg{width:28px;height:28px;fill:var(--dx-orange)}
.dx-feat h4{font-size:1.08rem;font-weight:800;color:var(--dx-navy);margin:0 0 8px}
.dx-feat p{color:var(--dx-gray);font-size:.93rem;margin:0}

/* ---------- SPLIT (image + copy) ---------- */
.dx-split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.dx-split__media{border-radius:var(--dx-rad);overflow:hidden;box-shadow:var(--dx-shadow);aspect-ratio:4/3}
.dx-split__media img{width:100%;height:100%;object-fit:cover}
.dx-split h2{color:var(--dx-navy)}
.dx-split .dx-checks{grid-template-columns:1fr;margin-top:18px}

/* ---------- INDUSTRIES TAGS ---------- */
.dx-tags{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:920px;margin:0 auto}
.dx-tag{background:#fff;border:1px solid var(--dx-line);border-radius:40px;padding:11px 22px;
  font-weight:600;color:var(--dx-navy);font-size:.95rem}

/* ---------- CTA BAND ---------- */
.dx-cta{position:relative;background:linear-gradient(120deg,var(--dx-navy),var(--dx-navy2));color:#fff;
  border-radius:18px;padding:clamp(38px,5vw,60px);text-align:center;overflow:hidden}
.dx-cta::before{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(246,97,35,.35),transparent 70%)}
.dx-cta h2{color:#fff;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:800;margin:0 0 12px;position:relative}
.dx-cta p{color:#d7deea;max-width:56ch;margin:0 auto 26px;position:relative}
.dx-cta .dx-btns{justify-content:center;position:relative}

/* ---------- RESPONSIVE ---------- */
@media(max-width:900px){
  .dx-grid,.dx-feats{grid-template-columns:repeat(2,1fr)}
  .dx-cat,.dx-split{grid-template-columns:1fr;gap:26px}
  .dx-cat--rev .dx-cat__media{order:0}
  .dx-checks{grid-template-columns:1fr}
}
@media(max-width:560px){
  .dx-grid,.dx-grid--2,.dx-feats{grid-template-columns:1fr}
  .dx-hero__inner{padding-block:44px}
  .dx-btn{width:100%;justify-content:center}
}

/* ---------- ARTICLE (rich sub-service content) ---------- */
.dx-article{max-width:900px;margin:0 auto}
.dx-article h3{font-size:clamp(1.3rem,2.2vw,1.7rem);color:var(--dx-navy);font-weight:800;
  margin:40px 0 12px;padding-left:16px;border-left:4px solid var(--dx-orange);line-height:1.2}
.dx-article h3:first-child{margin-top:0}
.dx-article p{color:#3a4756;margin:0 0 14px}
.dx-article ul{list-style:none;padding:0;margin:2px 0 18px}
.dx-article ul li{position:relative;padding-left:28px;margin-bottom:9px;color:var(--dx-ink)}
.dx-article ul li::before{content:"";position:absolute;left:2px;top:7px;width:12px;height:12px;
  border-radius:50%;background:rgba(246,97,35,.18);box-shadow:inset 0 0 0 3px var(--dx-orange)}

/* ---------- PROCESS STEPS ---------- */
.dx-steps{counter-reset:dxstep;max-width:900px;margin:0 auto;display:grid;gap:13px}
.dx-step{position:relative;background:#fff;border:1px solid var(--dx-line);border-radius:12px;
  padding:17px 22px 17px 66px;counter-increment:dxstep}
.dx-step::before{content:counter(dxstep,decimal-leading-zero);position:absolute;left:16px;top:50%;
  transform:translateY(-50%);width:36px;height:36px;border-radius:9px;background:var(--dx-navy);
  color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.9rem}
.dx-step p{margin:0;color:var(--dx-ink);font-weight:500}

/* ---------- FAQ ACCORDION ---------- */
.dx-faq{max-width:860px;margin:0 auto;display:grid;gap:12px}
.dx-faq details{background:#fff;border:1px solid var(--dx-line);border-radius:12px}
.dx-faq details[open]{box-shadow:var(--dx-shadow)}
.dx-faq summary{cursor:pointer;list-style:none;padding:18px 54px 18px 22px;font-weight:700;
  color:var(--dx-navy);position:relative}
.dx-faq summary::-webkit-details-marker{display:none}
.dx-faq summary::after{content:"+";position:absolute;right:22px;top:14px;font-size:1.5rem;
  line-height:1;color:var(--dx-orange);font-weight:700}
.dx-faq details[open] summary::after{content:"\2212"}
.dx-faq details[open] summary{color:var(--dx-orange)}
.dx-faq__a{padding:0 22px 20px;color:#3a4756}
.dx-faq__a p{margin:0 0 10px}.dx-faq__a p:last-child{margin:0}

/* ---------- INFO STRIP (location/hours) ---------- */
.dx-info{max-width:900px;margin:26px auto 0;display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.dx-info span{background:#fff;border:1px solid var(--dx-line);border-radius:10px;padding:12px 18px;
  color:var(--dx-navy);font-weight:600;font-size:.95rem}
