/* ===================================================
   DermaEssential — derrmaessential.com
   Prefix: dse-
=================================================== */

:root{
  --dse-maroon:#6b1730;
  --dse-rose:#c23c6e;
  --dse-rose-deep:#a62f5c;
  --dse-rose-light:#f3c7d6;
  --dse-blush:#fdf2f6;
  --dse-blush-2:#fff8fa;
  --dse-gold:#d79a35;
  --dse-gold-dark:#b97a1f;
  --dse-dark:#2a1b22;
  --dse-gray:#6b5a62;
  --dse-white:#ffffff;
  --dse-border:#f0d7e0;
  --dse-shadow: 0 10px 30px rgba(107,23,48,0.09);
  --dse-radius: 18px;
  --dse-font: 'Poppins', 'Segoe UI', Arial, sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:var(--dse-font);
  font-size:20px;
  line-height:1.65;
  color:var(--dse-dark);
  background:var(--dse-white);
  overflow-x:hidden;
  width:100%;
}
img{max-width:100%; height:auto; display:block;}
a{color:var(--dse-rose-deep); text-decoration:none;}
a:hover{color:var(--dse-maroon);}
ul{padding-left:1.2em;}
.dse-container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
}
section{
  padding:64px 0;
}
h1,h2,h3,h4{
  font-family:var(--dse-font);
  color:var(--dse-maroon);
  line-height:1.25;
  margin-top:0;
}
h1{font-size:2.1rem;}
h2{font-size:1.75rem; margin-bottom:.6em;}
h3{font-size:1.3rem;}
p{margin:0 0 1em 0;}
.dse-eyebrow{
  display:inline-block;
  color:var(--dse-rose-deep);
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.82rem;
  margin-bottom:10px;
}
.dse-section-head{
  text-align:center;
  max-width:780px;
  margin:0 auto 42px auto;
}
.dse-section-head p{color:var(--dse-gray); font-size:1.05rem;}

/* ============ BUTTONS ============ */
.dse-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:16px 34px;
  border-radius:50px;
  font-weight:700;
  font-size:1.05rem;
  border:none;
  cursor:pointer;
  text-align:center;
  transition:transform .15s ease, box-shadow .15s ease;
}
.dse-btn-primary{
  background:linear-gradient(135deg,var(--dse-gold) 0%, var(--dse-gold-dark) 100%);
  color:#3a2305;
  box-shadow:0 8px 20px rgba(183,122,31,.35);
}
.dse-btn-primary:hover{transform:translateY(-2px); box-shadow:0 12px 26px rgba(183,122,31,.45); color:#3a2305;}
.dse-btn-secondary{
  background:var(--dse-white);
  color:var(--dse-rose-deep);
  border:2px solid var(--dse-rose);
}
.dse-btn-secondary:hover{background:var(--dse-rose-light); color:var(--dse-maroon);}
.dse-secured{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:.92rem;
  color:var(--dse-gray);
  margin-top:12px;
}

/* ============ HEADER / NAV ============ */
.dse-header{
  position:sticky;
  top:0;
  z-index:999;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--dse-border);
}
.dse-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 24px;
  max-width:1200px;
  margin:0 auto;
}
.dse-logo{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  font-size:1.3rem;
  color:var(--dse-maroon);
}
.dse-logo span{color:var(--dse-rose);}
.dse-nav-links{
  display:flex;
  align-items:center;
  gap:28px;
  list-style:none;
  margin:0;
  padding:0;
}
.dse-nav-links a{
  color:var(--dse-dark);
  font-weight:600;
  font-size:1rem;
}
.dse-nav-links a:hover{color:var(--dse-rose-deep);}
.dse-nav-order{
  background:linear-gradient(135deg,var(--dse-gold) 0%, var(--dse-gold-dark) 100%);
  color:#3a2305 !important;
  padding:11px 24px;
  border-radius:50px;
  font-weight:700 !important;
}
.dse-burger{
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
  padding:8px;
}
.dse-burger span{width:26px; height:3px; background:var(--dse-maroon); border-radius:2px;}

/* mobile sticky CTA bar */
.dse-mobile-cta{
  display:none;
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:998;
  padding:12px 16px;
  background:var(--dse-white);
  border-top:1px solid var(--dse-border);
  box-shadow:0 -6px 20px rgba(107,23,48,.12);
}
.dse-mobile-cta a{
  display:block;
  width:100%;
  text-align:center;
  padding:14px;
  border-radius:50px;
  background:linear-gradient(135deg,var(--dse-gold) 0%, var(--dse-gold-dark) 100%);
  color:#3a2305;
  font-weight:800;
  font-size:1.05rem;
}

/* ============ HERO ============ */
.dse-hero{
  background:var(--dse-white);
  padding:56px 0 48px 0;
}
.dse-hero-grid{
  display:grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap:48px;
  align-items:center;
}
.dse-hero-media{order:1;}
.dse-hero-text{order:2;}
.dse-hero-media img{
  border-radius:24px;
}
.dse-hero-viz{
  margin-top:22px;
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--dse-shadow);
}
.dse-hero h1{font-size:2.3rem; margin-bottom:16px;}
.dse-hero-lead{font-size:1.1rem; color:var(--dse-gray);}
.dse-hero-bullets{
  list-style:none;
  padding:0;
  margin:20px 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 18px;
}
.dse-hero-bullets li{
  display:flex;
  align-items:flex-start;
  gap:8px;
  font-weight:600;
  font-size:.98rem;
}
.dse-hero-bullets li::before{
  content:"✓";
  color:var(--dse-white);
  background:var(--dse-rose);
  width:20px; height:20px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.7rem;
  flex-shrink:0;
  margin-top:2px;
}
.dse-numbered{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin:22px 0;
}
.dse-numbered-box{
  background:var(--dse-blush);
  border:1px solid var(--dse-border);
  border-radius:14px;
  padding:14px 16px;
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.dse-numbered-box .dse-num{
  font-weight:800;
  color:var(--dse-white);
  background:var(--dse-maroon);
  width:28px; height:28px;
  min-width:28px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.85rem;
}
.dse-numbered-box span.dse-num-text{font-size:.92rem; font-weight:600;}
.dse-hero-extra{
  background:var(--dse-blush);
  border-radius:14px;
  padding:18px 20px;
  margin:20px 0;
  border:1px solid var(--dse-border);
}
.dse-hero-extra table{width:100%; border-collapse:collapse; font-size:.92rem;}
.dse-hero-extra td{padding:6px 4px; border-bottom:1px dashed var(--dse-border);}
.dse-hero-cta-row{margin-top:10px;}
.dse-trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin-top:26px;
  font-size:.88rem;
  color:var(--dse-gray);
  font-weight:600;
}
.dse-trust-row span{display:flex; align-items:center; gap:6px;}

/* ============ WHY CHOOSE ============ */
.dse-why{background:var(--dse-blush);}
.dse-why-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.dse-why-card{
  background:var(--dse-white);
  border-radius:16px;
  padding:26px 20px;
  text-align:center;
  box-shadow:var(--dse-shadow);
}
.dse-why-card .dse-icon{
  width:56px; height:56px;
  margin:0 auto 14px auto;
  border-radius:50%;
  background:var(--dse-rose-light);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.5rem;
}
.dse-why-card h3{font-size:1.05rem; margin-bottom:6px;}
.dse-why-card p{font-size:.92rem; color:var(--dse-gray); margin:0;}

/* ============ WAVE CTA BANNER ============ */
.dse-wave-banner{
  background:linear-gradient(120deg, var(--dse-rose) 0%, var(--dse-rose-deep) 100%);
  color:var(--dse-white);
  padding:46px 0;
  position:relative;
  overflow:hidden;
}
.dse-wave-banner h2, .dse-wave-banner p{color:var(--dse-white);}
.dse-wave-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:20px;
}
.dse-wave-banner .dse-btn-primary{box-shadow:0 8px 24px rgba(0,0,0,.2);}

/* ============ TWO COLUMN CONTENT (image left) ============ */
.dse-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:46px;
  align-items:center;
}
.dse-split-media img{
  border-radius:20px;
  box-shadow:var(--dse-shadow);
}
.dse-split p{color:var(--dse-dark);}
.dse-split-list{list-style:none; padding:0; margin:18px 0;}
.dse-split-list li{
  display:flex;
  gap:10px;
  margin-bottom:10px;
  font-weight:600;
}
.dse-split-list li::before{
  content:"❀";
  color:var(--dse-rose-deep);
}

/* ============ PRICING ============ */
.dse-pricing{background:var(--dse-blush);}
.dse-stock-note{
  text-align:center;
  background:var(--dse-rose-light);
  color:var(--dse-maroon);
  padding:10px 18px;
  border-radius:50px;
  display:inline-block;
  font-weight:700;
  font-size:.9rem;
  margin:0 auto 30px auto;
}
.dse-stock-wrap{text-align:center;}
.dse-pricing-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}
.dse-price-card{
  background:var(--dse-white);
  border-radius:20px;
  padding:0 0 28px 0;
  text-align:center;
  box-shadow:var(--dse-shadow);
  border:1px solid var(--dse-border);
  position:relative;
  overflow:hidden;
}
.dse-price-card.dse-popular{
  border:2px solid var(--dse-gold);
  transform:translateY(-10px);
}
.dse-price-badge{
  background:var(--dse-rose);
  color:var(--dse-white);
  padding:12px;
  font-weight:800;
  letter-spacing:.03em;
}
.dse-price-card.dse-popular .dse-price-badge{
  background:linear-gradient(135deg,var(--dse-gold) 0%, var(--dse-gold-dark) 100%);
  color:#3a2305;
}
.dse-price-card img{
  max-width:78%;
  margin:20px auto 10px auto;
}
.dse-price-supply{color:var(--dse-gray); font-size:.88rem; font-weight:600; margin-bottom:6px;}
.dse-price-amount{font-size:2.6rem; font-weight:800; color:var(--dse-maroon);}
.dse-price-amount sup{font-size:1.1rem; top:-1em;}
.dse-price-amount small{font-size:.95rem; font-weight:600; color:var(--dse-gray);}
.dse-price-save{color:var(--dse-rose-deep); font-weight:700; font-size:.92rem; margin:8px 0;}
.dse-price-total{font-size:.88rem; color:var(--dse-gray); margin-bottom:14px;}
.dse-price-total del{color:#b2a0a6;}
.dse-price-ship{
  display:inline-block;
  background:var(--dse-blush);
  color:var(--dse-maroon);
  font-size:.82rem;
  font-weight:700;
  padding:6px 14px;
  border-radius:50px;
  margin-bottom:16px;
}
.dse-price-card .dse-btn{width:85%;}
.dse-payment-badges{margin-top:14px; font-size:.8rem; color:var(--dse-gray);}

/* ============ GUARANTEE ============ */
.dse-guarantee{
  display:grid;
  grid-template-columns:0.4fr 1fr;
  gap:40px;
  align-items:center;
  background:var(--dse-white);
  border:2px dashed var(--dse-rose-light);
  border-radius:24px;
  padding:40px;
}
.dse-guarantee-badge{
  width:100%;
  aspect-ratio:1/1;
  border-radius:50%;
  background:linear-gradient(135deg,var(--dse-gold) 0%, var(--dse-gold-dark) 100%);
  color:#3a2305;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-weight:800;
  padding:14px;
}
.dse-guarantee-badge span{display:block;}
.dse-guarantee-badge .dse-g-num{font-size:2.2rem;}

/* ============ BONUSES ============ */
.dse-bonus-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.dse-bonus-card{
  background:var(--dse-blush);
  border-radius:16px;
  padding:24px;
  border:1px solid var(--dse-border);
}
.dse-bonus-card h3{font-size:1rem; display:flex; gap:8px; align-items:center;}

/* ============ SHIPPING BANNER ============ */
.dse-shipping-banner{
  background:var(--dse-rose-light);
  border-radius:20px;
  padding:30px 36px;
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
  justify-content:space-between;
}
.dse-shipping-banner h3{margin:0; color:var(--dse-maroon);}

/* ============ REVIEWS ============ */
.dse-reviews-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.dse-review-card{
  background:var(--dse-white);
  border:1px solid var(--dse-border);
  border-radius:18px;
  padding:26px;
  box-shadow:var(--dse-shadow);
}
.dse-review-photo{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:top center;
  border-radius:14px;
  margin-bottom:16px;
}
.dse-stars{color:var(--dse-gold-dark); font-size:1rem; margin-bottom:10px;}
.dse-review-name{font-weight:700; color:var(--dse-maroon); margin-top:14px; font-size:.95rem;}
.dse-review-meta{color:var(--dse-gray); font-size:.82rem;}

/* ============ FAQ ============ */
.dse-faq{max-width:860px; margin:0 auto;}
.dse-faq-item{
  border-bottom:1px solid var(--dse-border);
  padding:18px 0;
}
.dse-faq-item summary{
  font-weight:700;
  cursor:pointer;
  color:var(--dse-maroon);
  font-size:1.05rem;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.dse-faq-item summary::-webkit-details-marker{display:none;}
.dse-faq-item summary::after{
  content:"+";
  font-size:1.4rem;
  color:var(--dse-rose);
  transition:transform .2s ease;
}
.dse-faq-item[open] summary::after{transform:rotate(45deg);}
.dse-faq-item p{margin-top:12px; color:var(--dse-gray);}

/* ============ FINAL CTA ============ */
.dse-final-cta{
  background:linear-gradient(120deg, var(--dse-maroon) 0%, var(--dse-rose-deep) 100%);
  color:var(--dse-white);
  text-align:center;
  border-radius:28px;
  padding:56px 30px;
  margin:0 24px;
}
.dse-final-cta h2, .dse-final-cta p{color:var(--dse-white);}

/* ============ LABEL ============ */
.dse-label-wrap{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:40px;
  align-items:center;
}

/* ============ REFERENCES ============ */
.dse-ref-list{
  list-style:decimal;
  color:var(--dse-gray);
  font-size:.92rem;
  padding-left:1.4em;
}
.dse-ref-list li{margin-bottom:8px;}

/* ============ INGREDIENT CARDS ============ */
.dse-ingredient-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
}
.dse-ing-card{
  background:var(--dse-white);
  border:1px solid var(--dse-border);
  border-radius:18px;
  padding:26px;
  box-shadow:var(--dse-shadow);
}
.dse-ing-card h3{display:flex; align-items:center; gap:10px; font-size:1.15rem;}
.dse-ing-card .dse-ing-num{
  background:var(--dse-rose);
  color:#fff;
  width:30px; height:30px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.85rem;
  font-weight:800;
  flex-shrink:0;
}
.dse-ing-card ul{margin:10px 0 0 0; padding-left:1.1em; color:var(--dse-gray); font-size:.94rem;}

/* ============ SUPPLEMENT FACTS TABLE ============ */
.dse-facts-table{
  width:100%;
  border-collapse:collapse;
  background:var(--dse-white);
  border:2px solid var(--dse-maroon);
  border-radius:10px;
  overflow:hidden;
}
.dse-facts-table th, .dse-facts-table td{
  padding:12px 16px;
  border-bottom:1px solid var(--dse-border);
  text-align:left;
  font-size:.95rem;
}
.dse-facts-table th{background:var(--dse-rose-light); color:var(--dse-maroon);}

/* ============ CONTENT LINK CALLOUT (contextual interlinks) ============ */
.dse-link-callout{
  background:var(--dse-blush);
  border-left:4px solid var(--dse-rose);
  padding:16px 20px;
  border-radius:10px;
  margin:24px 0;
  font-size:.96rem;
}

/* ============ BLOG GRID ============ */
.dse-blog-hero{
  background:var(--dse-blush);
  text-align:center;
  padding:52px 0 40px 0;
}
.dse-blog-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.dse-blog-card{
  background:var(--dse-white);
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--dse-shadow);
  display:flex;
  flex-direction:column;
}
.dse-blog-card img{aspect-ratio:16/9; object-fit:cover; width:100%;}
.dse-blog-card-body{padding:22px 22px 26px 22px; flex:1; display:flex; flex-direction:column;}
.dse-blog-card .dse-eyebrow{margin-bottom:8px;}
.dse-blog-card h3{font-size:1.15rem; margin-bottom:10px;}
.dse-blog-card p{color:var(--dse-gray); font-size:.92rem; flex:1;}
.dse-blog-card .dse-read-more{font-weight:700; color:var(--dse-rose-deep);}
.dse-blog-card-link{display:block; height:100%; transition:transform .15s ease;}
.dse-blog-card-link:hover{transform:translateY(-4px);}
.dse-blog-card-link:hover .dse-blog-card{box-shadow:0 16px 36px rgba(107,23,48,.16);}

/* ============ GENERIC CONTENT PAGE ============ */
.dse-page-hero{
  background:var(--dse-blush);
  padding:48px 0;
  text-align:center;
}
.dse-prose h2{margin-top:1.4em;}
.dse-prose ul{color:var(--dse-dark);}
.dse-breadcrumb{font-size:.85rem; color:var(--dse-gray); margin-bottom:10px;}
.dse-breadcrumb a{color:var(--dse-rose-deep);}

/* ============ CONTACT ============ */
.dse-contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
}
.dse-contact-card{
  background:var(--dse-blush);
  border-radius:18px;
  padding:30px;
}
.dse-form-group{margin-bottom:16px;}
.dse-form-group label{display:block; font-weight:700; margin-bottom:6px; font-size:.95rem;}
.dse-form-group input, .dse-form-group textarea{
  width:100%;
  padding:12px 14px;
  border-radius:10px;
  border:1px solid var(--dse-border);
  font-family:var(--dse-font);
  font-size:1rem;
}

/* ============ FOOTER ============ */
.dse-footer{
  background:var(--dse-blush);
  border-top:1px solid var(--dse-border);
  padding:52px 0 24px 0;
  margin-top:40px;
}
.dse-footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1.2fr;
  gap:30px;
  margin-bottom:30px;
}
.dse-footer h4{color:var(--dse-maroon); font-size:1rem; margin-bottom:14px;}
.dse-footer ul{list-style:none; padding:0; margin:0;}
.dse-footer ul li{margin-bottom:10px;}
.dse-footer ul a{color:var(--dse-gray); font-size:.92rem;}
.dse-footer ul a:hover{color:var(--dse-rose-deep);}
.dse-footer p{color:var(--dse-gray); font-size:.92rem;}
.dse-footer-bottom{
  border-top:1px solid var(--dse-border);
  padding-top:20px;
  font-size:.82rem;
  color:var(--dse-gray);
  text-align:center;
}
.dse-disclaimer-box{
  font-size:.82rem;
  color:var(--dse-gray);
  background:var(--dse-white);
  border-radius:12px;
  padding:18px 22px;
  margin-bottom:24px;
}

/* ============ RESPONSIVE ============ */
@media (max-width:1024px){
  .dse-why-grid{grid-template-columns:repeat(2,1fr);}
  .dse-pricing-grid{grid-template-columns:repeat(3,1fr); gap:16px;}
  .dse-footer-grid{grid-template-columns:1fr 1fr;}
  .dse-bonus-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:900px){
  .dse-nav-links{
    display:none;
    position:absolute;
    top:100%;
    left:0; right:0;
    background:var(--dse-white);
    flex-direction:column;
    align-items:flex-start;
    padding:20px 24px;
    border-bottom:1px solid var(--dse-border);
    box-shadow:var(--dse-shadow);
    gap:16px;
  }
  .dse-nav-links.dse-open{display:flex;}
  .dse-burger{display:flex;}
  .dse-mobile-cta{display:block;}
  body{padding-bottom:70px;}
  .dse-hero-grid, .dse-split, .dse-guarantee, .dse-label-wrap, .dse-contact-grid{
    grid-template-columns:1fr;
  }
  .dse-hero-media{order:1;}
  .dse-hero-text{order:2;}
  .dse-split-media{order:1;}
  .dse-split-text{order:2;}
  .dse-pricing-grid, .dse-reviews-grid, .dse-blog-grid, .dse-ingredient-grid, .dse-bonus-grid{
    grid-template-columns:1fr;
  }
  .dse-price-card.dse-popular{transform:none;}
  h1{font-size:1.8rem;}
  .dse-hero h1{font-size:1.8rem;}
  h2{font-size:1.45rem;}
}
@media (max-width:600px){
  body{font-size:18px;}
  section{padding:44px 0;}
  .dse-hero-bullets{grid-template-columns:1fr;}
  .dse-numbered{grid-template-columns:1fr;}
  .dse-final-cta{margin:0 12px; padding:40px 20px;}
}
