/* ═══════════════════════════════════════════════════════════════
   Digital Empires v2.0 — Main CSS
   WordPress 7.0 compatible
═══════════════════════════════════════════════════════════════ */

/* ── Reset everything first ─────────────────────────────────── */
html,body{margin:0;padding:0;box-sizing:border-box;}
*,*::before,*::after{box-sizing:border-box;}
img{max-width:100%;height:auto;display:block;}
ul{list-style:none;margin:0;padding:0;}
a{text-decoration:none;color:inherit;}
button{cursor:pointer;border:none;background:none;font-family:inherit;}
p{margin:0 0 14px;}
h1,h2,h3{margin:0;}

/* ── Variables ─────────────────────────────────────────────── */
:root{
  --cream: #FFFDF7;
  --cream2: #F5F0E8;
  --navy:  #13111C;
  --navy2: #1E1B2E;
  --text:  #2A2535;
  --muted: #6B6680;
  --orange:#F97316;
  --orange2:#DC5A0A;
  --oglow: rgba(249,115,22,.35);
  --gold:  #F59E0B;
  --white: #FFFFFF;
  --border:#E8E0D5;
  --r:     14px;
  --rlg:   22px;
  --sh:    0 4px 16px rgba(0,0,0,.08);
  --shlg:  0 12px 40px rgba(0,0,0,.14);
  --shxl:  0 24px 64px rgba(0,0,0,.18);
  --ff-d:  'Playfair Display',Georgia,serif;
  --ff:    'Plus Jakarta Sans','Segoe UI',system-ui,sans-serif;
  --mw:    820px;
  --mww:   1020px;
}

body{font-family:var(--ff);font-size:17px;line-height:1.7;color:var(--text);background:var(--cream);-webkit-font-smoothing:antialiased;}

/* ── Containers ────────────────────────────────────────────── */
.de-wrap      {max-width:var(--mw);margin:0 auto;padding:0 24px;}
.de-wrap-wide {max-width:var(--mww);margin:0 auto;padding:0 24px;}

/* ── Header ─────────────────────────────────────────────────── */
.de-header{position:sticky;top:0;z-index:999;background:rgba(255,253,247,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);transition:box-shadow .3s;}
.de-header.scrolled{box-shadow:var(--sh);}
.de-header-inner{max-width:var(--mww);margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap;}
.de-logo{display:flex;align-items:center;gap:6px;font-family:var(--ff-d);font-weight:700;font-size:17px;color:var(--navy);text-decoration:none;white-space:nowrap;flex-shrink:0;}
.de-logo span{color:var(--navy);}

/* Header button — shrinks gracefully on mobile */
.de-header .de-btn-sm{font-size:12px;padding:9px 16px;white-space:nowrap;flex-shrink:0;}

@media(max-width:480px){
  .de-header-inner{padding:10px 16px;}
  .de-logo{font-size:15px;gap:5px;}
  .de-header .de-btn-sm{font-size:11px;padding:8px 13px;letter-spacing:0;}
}
@media(max-width:360px){
  .de-logo span{display:none;} /* hide text, keep star on very small screens */
  .de-header .de-btn-sm{font-size:11px;padding:8px 12px;}
}

/* ── Buttons ────────────────────────────────────────────────── */
.de-btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--ff);font-weight:800;border-radius:100px;transition:transform .18s,box-shadow .18s;cursor:pointer;text-decoration:none;text-align:center;letter-spacing:.3px;white-space:nowrap;}
.de-btn:hover{transform:translateY(-2px);}
.de-btn-orange{background:linear-gradient(135deg,var(--orange),#FF8C42);color:#fff;box-shadow:0 6px 24px var(--oglow);}
.de-btn-orange:hover{background:linear-gradient(135deg,var(--orange2),var(--orange));box-shadow:0 10px 32px var(--oglow);}
.de-btn-sm {font-size:13px;padding:10px 20px;}
.de-btn-lg {font-size:16px;padding:18px 40px;}
.de-btn-xl {font-size:18px;padding:22px 48px;}
.de-btn-pulse{animation:pulse 2.2s ease-in-out infinite;}
@keyframes pulse{0%,100%{box-shadow:0 6px 24px var(--oglow);}50%{box-shadow:0 12px 44px rgba(249,115,22,.55);}}

.de-cta-center{display:flex;justify-content:center;margin-top:48px;}

/* ── Trust row ─────────────────────────────────────────────── */
.de-trust{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:18px;font-size:13px;color:var(--muted);font-weight:500;flex-wrap:wrap;}
.de-trust-dark{color:rgba(255,255,255,.55);}

/* ══════════════════════════════════════════════════════════════
   HERO
══════════════════════════════════════════════════════════════ */
.de-hero{background:var(--cream);padding:60px 0 72px;text-align:center;}

.de-badge{display:inline-block;background:linear-gradient(135deg,var(--navy2),#312D4B);color:var(--gold);font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;padding:8px 20px;border-radius:100px;margin-bottom:28px;}

.de-price-strip{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:20px;flex-wrap:wrap;}
.de-old-price{font-size:15px;color:var(--muted);}
.de-old-price s{text-decoration-color:var(--orange);}
.de-new-price{font-size:18px;font-weight:600;color:var(--navy);}
.de-new-price strong{color:var(--orange);font-size:24px;}

/* Countdown */
.de-countdown-wrap{margin-bottom:36px;}
.de-countdown-label{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:10px;letter-spacing:.8px;text-transform:uppercase;}
.de-countdown{display:inline-flex;align-items:center;gap:6px;background:var(--navy);border-radius:var(--r);padding:16px 24px;}
.de-cd-unit{display:flex;flex-direction:column;align-items:center;gap:3px;}
.de-cd-unit span{font-family:var(--ff-d);font-size:32px;font-weight:700;color:#fff;line-height:1;min-width:42px;text-align:center;}
.de-cd-unit small{font-size:10px;font-weight:600;color:var(--gold);text-transform:uppercase;letter-spacing:.8px;}
.de-cd-sep{font-size:28px;font-weight:700;color:var(--gold);margin-bottom:14px;}

.de-h1{font-family:var(--ff-d);font-size:clamp(28px,5vw,48px);font-weight:900;color:var(--navy);line-height:1.2;margin-bottom:18px;}
.de-accent{color:var(--orange);font-style:italic;}
.de-hero-sub{font-size:18px;color:var(--muted);margin-bottom:44px;}
.de-hero-img-wrap{max-width:580px;margin:0 auto 44px;}
.de-hero-img{width:100%;border-radius:var(--rlg);box-shadow:var(--shxl);}

.de-benefits-box{max-width:600px;margin:0 auto 44px;text-align:left;background:var(--white);border:1px solid var(--border);border-radius:var(--rlg);padding:32px 36px;box-shadow:var(--sh);}
.de-benefits-title{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:16px;text-align:center;}
.de-checks li{padding:6px 0;display:flex;align-items:flex-start;gap:8px;font-size:16px;line-height:1.5;color:var(--text);}
.de-checks-light li{color:rgba(255,255,255,.9);}

/* ══════════════════════════════════════════════════════════════
   COURSE GROUPS
══════════════════════════════════════════════════════════════ */
.de-group{padding:72px 0;}

.de-group-intro{text-align:center;font-size:clamp(19px,2.8vw,26px);font-style:italic;font-weight:800;color:#D81B60;margin-bottom:40px;line-height:1.4;}
.de-group-intro em{font-style:normal;}

.de-course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:36px;}

.de-course-card{background:var(--white);border:1px solid var(--border);border-radius:var(--rlg);overflow:hidden;box-shadow:var(--shlg);transition:transform .2s,box-shadow .2s;}
.de-course-card:hover{transform:translateY(-6px);box-shadow:var(--shxl);}
.de-course-card img{width:100%;height:auto;display:block;object-fit:contain;border-radius:0;}
.de-course-name{padding:16px 18px 20px;font-weight:600;font-size:15px;color:var(--navy);text-align:center;line-height:1.4;}

.de-group-cta{display:flex;justify-content:center;margin-top:4px;}

/* ── Scroll bar ─────────────────────────────────────────────── */
.de-scroll-bar{text-align:center;padding:28px 24px;background:linear-gradient(135deg,var(--navy2),#312D4B);color:var(--gold);font-weight:700;font-size:16px;}

/* ══════════════════════════════════════════════════════════════
   SECTIONS (generic)
══════════════════════════════════════════════════════════════ */
.de-section{padding:72px 0;background:var(--white);}
.de-section-h2{font-family:var(--ff-d);font-size:clamp(24px,4vw,36px);font-weight:900;color:var(--navy);text-align:center;margin-bottom:40px;line-height:1.25;}

/* ══════════════════════════════════════════════════════════════
   COURSE BREAKDOWN
══════════════════════════════════════════════════════════════ */
.de-breakdown{background:var(--white);}
.de-bd-item{display:grid;grid-template-columns:160px 1fr;gap:28px;align-items:start;background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:28px;box-shadow:var(--sh);margin-bottom:24px;transition:box-shadow .2s;}
.de-bd-item:hover{box-shadow:var(--shlg);}
.de-bd-img img{width:100%;border-radius:8px;object-fit:cover;aspect-ratio:1;}
.de-bd-num{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--navy);color:#fff;border-radius:50%;font-size:13px;font-weight:800;margin-bottom:10px;}
.de-bd-text h3{font-family:var(--ff-d);font-size:20px;font-weight:700;color:var(--navy);line-height:1.3;margin-bottom:6px;}
.de-bd-tagline{font-style:italic;color:var(--muted);font-size:14px;margin-bottom:10px;}
.de-bd-text p{font-size:15px;color:var(--text);line-height:1.65;}
.de-bd-price{margin-top:10px;font-size:14px;color:var(--muted);}
.de-bd-price strong{color:var(--orange);font-weight:800;}

/* ══════════════════════════════════════════════════════════════
   WHO IS THIS FOR
══════════════════════════════════════════════════════════════ */
.de-fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 48px;max-width:620px;margin:0 auto 36px;}

/* ══════════════════════════════════════════════════════════════
   BIO
══════════════════════════════════════════════════════════════ */
.de-bio-label{text-align:center;font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:40px;}
.de-bio-grid{display:grid;grid-template-columns:260px 1fr;gap:52px;align-items:start;}
.de-bio-photos img{border-radius:var(--rlg);box-shadow:var(--shlg);width:100%;}
.de-bio-name{font-family:var(--ff-d);font-size:clamp(26px,4vw,34px);font-weight:900;color:var(--navy);line-height:1.2;margin-bottom:20px;}
.de-bio-text p{font-size:16px;line-height:1.75;margin-bottom:14px;}
.de-stats li{padding:6px 0;font-size:16px;font-weight:600;color:var(--navy);display:flex;align-items:center;gap:8px;}

/* ══════════════════════════════════════════════════════════════
   FAQ
══════════════════════════════════════════════════════════════ */
.de-faqs{display:flex;flex-direction:column;gap:12px;}
.de-faq{background:var(--white);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);}
.de-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;padding:22px 28px;font-size:17px;font-weight:700;color:var(--navy);text-align:left;gap:12px;transition:background .15s;}
.de-faq-q:hover,.de-faq-q[aria-expanded="true"]{background:var(--cream2);}
.de-faq-icon{font-size:22px;font-weight:300;color:var(--orange);flex-shrink:0;transition:transform .25s;}
.de-faq-q[aria-expanded="true"] .de-faq-icon{transform:rotate(45deg);}
.de-faq-a{display:none;padding:0 28px 22px;font-size:16px;color:var(--text);line-height:1.7;}
.de-faq.open .de-faq-a{display:block;}

/* ══════════════════════════════════════════════════════════════
   FINAL CTA
══════════════════════════════════════════════════════════════ */
.de-final{background:var(--navy);padding:80px 0;}
.de-final-h2{font-family:var(--ff-d);font-size:clamp(24px,4vw,38px);font-weight:900;color:#fff;text-align:center;line-height:1.25;margin-bottom:52px;}
.de-final-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;}
.de-final-img img{border-radius:var(--rlg);box-shadow:var(--shxl);width:100%;}
.de-final-right .de-checks li{color:rgba(255,255,255,.9);}
.de-final-price{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:var(--r);padding:20px 24px;margin:28px 0;text-align:center;}
.de-final-was{font-size:15px;color:rgba(255,255,255,.5);margin-bottom:8px;}
.de-final-was s{text-decoration-color:var(--orange);}
.de-final-now{font-size:22px;font-weight:700;color:#fff;}
.de-final-now strong{color:var(--gold);font-size:34px;}

/* ══════════════════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════════════════ */
.de-footer{background:var(--navy);border-top:1px solid #2E2A3E;padding:48px 24px;text-align:center;}
.de-footer-inner{max-width:var(--mw);margin:0 auto;}
.de-footer-disc{font-size:12px;color:rgba(255,255,255,.3);line-height:1.6;margin-bottom:20px;}
.de-footer-links{margin-bottom:14px;}
.de-footer-links a{font-size:13px;color:rgba(255,255,255,.4);margin:0 8px;transition:color .15s;}
.de-footer-links a:hover{color:rgba(255,255,255,.8);}
.de-footer-copy{font-size:12px;color:rgba(255,255,255,.2);}

/* ══════════════════════════════════════════════════════════════
   WOOCOMMERCE CHECKOUT
══════════════════════════════════════════════════════════════ */
.de-woo-wrap{min-height:60vh;padding:60px 0;background:var(--cream);}
.de-woo-inner{max-width:var(--mw);margin:0 auto;padding:0 24px;}
.de-checkout-banner{background:linear-gradient(135deg,var(--navy2),#312D4B);color:var(--gold);font-weight:700;font-size:16px;padding:16px 32px;border-radius:var(--r);text-align:center;margin-bottom:40px;}

.woocommerce-billing-fields h3,.woocommerce-shipping-fields h3,.woocommerce-additional-fields h3{font-family:var(--ff-d);font-size:22px;color:var(--navy);margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--orange);}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea{width:100%;padding:14px 18px;border:1.5px solid var(--border);border-radius:8px;font-family:var(--ff);font-size:15px;color:var(--text);background:#fff;outline:none;transition:border-color .2s,box-shadow .2s;}
.woocommerce form .form-row input.input-text:focus{border-color:var(--orange);box-shadow:0 0 0 3px var(--oglow);}

.woocommerce #payment #place_order,
.woocommerce button.button.alt,
.woocommerce a.button.alt{background:linear-gradient(135deg,var(--orange),#FF8C42)!important;color:#fff!important;border:none!important;border-radius:100px!important;font-family:var(--ff)!important;font-weight:800!important;font-size:18px!important;padding:20px 48px!important;width:100%!important;box-shadow:0 6px 24px var(--oglow)!important;cursor:pointer!important;transition:transform .18s,box-shadow .18s!important;}
.woocommerce #payment #place_order:hover{transform:translateY(-2px)!important;box-shadow:0 10px 32px var(--oglow)!important;}

.woocommerce-checkout-review-order-table{width:100%;border-collapse:collapse;margin-bottom:32px;font-family:var(--ff);}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{padding:14px 18px;border-bottom:1px solid var(--border);font-size:15px;}
.woocommerce-checkout-review-order-table th{background:var(--cream2);font-weight:700;color:var(--navy);}
.woocommerce-checkout-review-order-table .order-total th,.woocommerce-checkout-review-order-table .order-total td{font-size:20px;font-weight:800;color:var(--navy);}
.woocommerce-checkout-review-order-table .order-total .amount{color:var(--orange);}

.woocommerce #payment{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:28px;margin-top:24px;}
.col2-set{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.col2-set .col-1{grid-column:1;}.col2-set .col-2{grid-column:2;}

/* Generic page */
.de-page-content{min-height:60vh;max-width:var(--mw);margin:0 auto;padding:60px 24px;font-family:var(--ff);}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════════ */
@media(max-width:860px){
  .de-course-grid{grid-template-columns:1fr 1fr;gap:20px;}
  .de-final-grid{grid-template-columns:1fr;}
  .de-bio-grid{grid-template-columns:1fr;}
  .de-bio-photos{display:flex;gap:16px;}
  .de-bio-photos img{margin-top:0!important;}
  .col2-set{grid-template-columns:1fr;}
  .col2-set .col-1,.col2-set .col-2{grid-column:1;}
}
@media(max-width:600px){
  .de-course-grid{grid-template-columns:1fr;}
  .de-fit-grid{grid-template-columns:1fr;}
  .de-bd-item{grid-template-columns:1fr;}
  .de-bd-img{max-width:160px;}
  
  .de-cd-unit span{font-size:24px;min-width:32px;}
  .de-btn-xl{font-size:16px;padding:18px 28px;}
  .de-countdown{padding:12px 14px;gap:4px;}
  .de-trust{gap:12px;font-size:12px;}
  .de-benefits-box{padding:24px 18px;}
  .de-final-right .de-btn{width:100%;max-width:100%;}
}

/* ══════════════════════════════════════════════════════════════
   COUPON FIELD — Checkout
══════════════════════════════════════════════════════════════ */
.de-coupon-wrap{
  background:#fff8f0;
  border:1.5px dashed var(--orange);
  border-radius:var(--r);
  padding:16px 20px;
  margin-bottom:28px;
}
.de-coupon-title{
  font-size:15px;
  color:var(--text);
  margin:0;
  font-weight:500;
}
.de-coupon-toggle{
  color:var(--orange);
  font-weight:700;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}
.de-coupon-toggle:hover{color:var(--orange2);}
.de-coupon-form{margin-top:14px;}
.de-coupon-row{
  display:flex;
  gap:10px;
  align-items:center;
}
.de-coupon-input{
  flex:1;
  padding:12px 16px;
  border:1.5px solid var(--border);
  border-radius:8px;
  font-family:var(--ff);
  font-size:15px;
  color:var(--text);
  outline:none;
  transition:border-color .2s;
}
.de-coupon-input:focus{
  border-color:var(--orange);
  box-shadow:0 0 0 3px var(--oglow);
}
.de-coupon-input::placeholder{color:#bbb;}
.de-coupon-msg{
  margin-top:10px;
  font-size:14px;
  font-weight:600;
  min-height:20px;
}
@media(max-width:480px){
  .de-coupon-row{flex-direction:column;align-items:stretch;}
  .de-coupon-row .de-btn{width:100%;justify-content:center;}
}

/* ── Hide billing address on checkout ────────────────────────── */
body.de-checkout .woocommerce-billing-fields h3,
body.de-checkout .woocommerce-billing-fields .form-row:not(#billing_email_field),
body.de-checkout .woocommerce-additional-fields,
body.de-checkout .woocommerce-shipping-fields,
body.de-checkout #ship-to-different-address,
body.de-checkout .woocommerce-account-fields,
body.de-checkout .hidden {
  display: none !important;
}

/* ══════════════════════════════════════════════════════════════
   CHECKOUT PAGE — Full Redesign
══════════════════════════════════════════════════════════════ */

/* Hide WooCommerce default coupon field (keep only ours) */
.woocommerce-form-coupon-toggle,
.checkout_coupon,
.woocommerce-info.woocommerce-form-coupon-toggle { display:none !important; }

/* Main checkout wrapper */
body.de-checkout .de-woo-wrap {
  background: linear-gradient(135deg, #fff9f5 0%, #F5F0E8 100%);
  padding: 48px 0 80px;
  min-height: 100vh;
}
body.de-checkout .de-woo-inner {
  max-width: 620px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Checkout banner */
.de-checkout-banner {
  background: linear-gradient(135deg, var(--navy2), #312D4B);
  color: var(--gold);
  font-weight: 700;
  font-size: 16px;
  padding: 18px 32px;
  border-radius: var(--rlg);
  text-align: center;
  margin-bottom: 32px;
  box-shadow: 0 8px 24px rgba(19,17,28,0.2);
  letter-spacing: 0.2px;
}

/* Checkout form card */
.woocommerce-checkout {
  background: var(--white);
  border-radius: var(--rlg);
  box-shadow: 0 8px 40px rgba(0,0,0,0.08);
  padding: 40px;
  margin-bottom: 24px;
}

/* Section headings */
.woocommerce-billing-fields h3,
.woocommerce-checkout h3 {
  font-family: var(--ff-d);
  font-size: 20px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--cream2);
  display: none !important; /* hide "Billing details" heading */
}

/* Contact info label */
#billing_email_field label {
  font-size: 13px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin-bottom: 8px;
  display: block;
}

/* Email input — full width, centered, tall */
#billing_email_field {
  margin: 0 auto 28px !important;
  width: 100% !important;
}
#billing_email {
  width: 100% !important;
  padding: 16px 20px !important;
  font-size: 16px !important;
  border: 2px solid var(--border) !important;
  border-radius: 12px !important;
  text-align: center !important;
  font-family: var(--ff) !important;
  color: var(--navy) !important;
  background: var(--cream) !important;
  transition: border-color .2s, box-shadow .2s !important;
  display: block !important;
}
#billing_email:focus {
  border-color: var(--orange) !important;
  box-shadow: 0 0 0 4px var(--oglow) !important;
  background: #fff !important;
  outline: none !important;
}

/* Order review table */
.woocommerce-checkout-review-order {
  background: var(--white);
  border-radius: var(--rlg);
  box-shadow: 0 8px 40px rgba(0,0,0,0.08);
  padding: 32px 40px;
  margin-bottom: 24px;
}
.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 0;
}
.woocommerce-checkout-review-order-table thead {
  background: var(--cream2);
  border-radius: 8px;
}
.woocommerce-checkout-review-order-table th {
  padding: 12px 16px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--muted);
}
.woocommerce-checkout-review-order-table td {
  padding: 16px;
  font-size: 15px;
  border-bottom: 1px solid var(--border);
  color: var(--text);
}
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
  font-size: 22px;
  font-weight: 900;
  color: var(--navy);
  border-bottom: none;
  padding-top: 20px;
}
.woocommerce-checkout-review-order-table .order-total .amount {
  color: var(--orange);
}

/* Payment section */
.woocommerce-checkout #payment {
  background: var(--white);
  border-radius: var(--rlg);
  box-shadow: 0 8px 40px rgba(0,0,0,0.08);
  padding: 32px 40px;
  border: none;
}
.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--border);
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.woocommerce-checkout #payment ul.payment_methods li {
  padding: 12px 0;
  font-size: 15px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Place order button */
.woocommerce-checkout #payment #place_order {
  background: linear-gradient(135deg, var(--orange), #FF8C42) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 100px !important;
  font-family: var(--ff) !important;
  font-weight: 900 !important;
  font-size: 18px !important;
  padding: 22px 48px !important;
  width: 100% !important;
  box-shadow: 0 8px 28px var(--oglow) !important;
  cursor: pointer !important;
  transition: transform .18s, box-shadow .18s !important;
  letter-spacing: 0.3px !important;
  animation: pulse 2.2s ease-in-out infinite !important;
}
.woocommerce-checkout #payment #place_order:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 36px var(--oglow) !important;
}

/* Trust badges below button */
.woocommerce-checkout #payment .place-order::after {
  content: '🔒 Secure Payment  ·  💳 Encrypted  ·  ⚡ Instant Access';
  display: block;
  text-align: center;
  font-size: 12px;
  color: var(--muted);
  margin-top: 14px;
  font-weight: 500;
}

/* Coupon field — our custom one */
.de-coupon-wrap {
  background: #fff8f0;
  border: 1.5px dashed var(--orange);
  border-radius: var(--r);
  padding: 16px 20px;
  margin-bottom: 24px;
}

/* Guest checkout notice */
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout p.form-row.woocommerce-SavedPaymentMethods-saveNew {
  font-size: 13px;
  color: var(--muted);
  text-align: center;
  margin-top: 12px;
}

/* Hide unnecessary elements */
body.de-checkout .woocommerce-billing-fields h3,
body.de-checkout #ship-to-different-address,
body.de-checkout .woocommerce-shipping-fields,
body.de-checkout .woocommerce-additional-fields,
body.de-checkout .woocommerce-account-fields,
body.de-checkout .col2-set .col-2 { display: none !important; }

body.de-checkout .col2-set {
  display: block !important;
}
body.de-checkout .col2-set .col-1 {
  width: 100% !important;
  float: none !important;
}

/* Mobile */
@media(max-width:600px){
  .woocommerce-checkout,
  .woocommerce-checkout-review-order,
  .woocommerce-checkout #payment { padding: 24px 20px; }
  .de-checkout-banner { font-size: 14px; padding: 14px 20px; }
}

/* ══════════════════════════════════════════════════════════════
   CHECKOUT REDESIGN v2 — Full override
══════════════════════════════════════════════════════════════ */

/* Page background */
body.de-checkout { background: linear-gradient(160deg,#fff9f5 0%,#F5F0E8 100%) !important; }
body.de-checkout .de-woo-wrap { background: transparent; padding: 40px 0 80px; }
body.de-checkout .de-woo-inner { max-width: 560px; margin: 0 auto; padding: 0 20px; }

/* ── Secure banner ── */
.de-checkout-banner {
  background: linear-gradient(135deg,#13111C,#2D2847);
  color: #F59E0B;
  font-weight: 800;
  font-size: 15px;
  padding: 16px 24px;
  border-radius: 16px;
  text-align: center;
  margin-bottom: 24px;
  box-shadow: 0 8px 28px rgba(19,17,28,.25);
  letter-spacing: .3px;
}

/* ── Coupon field — full redesign ── */
.de-coupon-wrap {
  background: #ffffff;
  border: 2px solid #FFE0C2;
  border-radius: 16px;
  padding: 18px 22px;
  margin-bottom: 20px;
  box-shadow: 0 2px 12px rgba(249,115,22,.08);
}
.de-coupon-title {
  font-size: 14px;
  color: #666;
  margin: 0 0 0 0;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
}
.de-coupon-toggle {
  color: var(--orange);
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  border-bottom: 1.5px dashed var(--orange);
}
.de-coupon-form { margin-top: 14px; }
.de-coupon-row {
  display: flex;
  gap: 10px;
  align-items: stretch;
}
.de-coupon-input {
  flex: 1;
  padding: 13px 16px;
  border: 1.5px solid #E8E0D5;
  border-radius: 10px;
  font-family: var(--ff);
  font-size: 14px;
  color: var(--navy);
  background: #FAFAFA;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}
.de-coupon-input:focus {
  border-color: var(--orange);
  box-shadow: 0 0 0 3px rgba(249,115,22,.15);
  background: #fff;
}
.de-coupon-input::placeholder { color: #C0B8B0; font-size: 13px; }
.de-coupon-wrap .de-btn-sm {
  padding: 13px 22px;
  font-size: 13px;
  border-radius: 10px;
  flex-shrink: 0;
}
.de-coupon-msg { margin-top: 10px; font-size: 13px; font-weight: 600; min-height: 18px; }

/* ── Email field — centered, wide, beautiful ── */
body.de-checkout .woocommerce-checkout {
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 8px 40px rgba(0,0,0,.07);
  padding: 36px 40px;
  margin-bottom: 20px;
}
body.de-checkout #billing_email_field {
  width: 100% !important;
  margin: 0 auto 8px !important;
  float: none !important;
  clear: both;
}
body.de-checkout #billing_email_field label {
  display: block;
  text-align: center;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: #999;
  margin-bottom: 10px;
}
body.de-checkout #billing_email_field label .required { display:none; }
body.de-checkout #billing_email {
  display: block !important;
  width: 100% !important;
  padding: 18px 24px !important;
  font-size: 16px !important;
  font-family: var(--ff) !important;
  color: var(--navy) !important;
  background: #FAFAFA !important;
  border: 2px solid #E8E0D5 !important;
  border-radius: 14px !important;
  text-align: center !important;
  transition: all .2s !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.04) !important;
  outline: none !important;
}
body.de-checkout #billing_email:focus {
  border-color: var(--orange) !important;
  box-shadow: 0 0 0 4px rgba(249,115,22,.12) !important;
  background: #fff !important;
}
body.de-checkout #billing_email::placeholder { color:#C0B8B0 !important; }

/* ── Guest checkout text ── */
body.de-checkout .woocommerce-checkout p:not(#billing_email_field p) {
  text-align: center;
  font-size: 12px;
  color: #bbb;
  margin-top: 10px;
}

/* ── Order review table ── */
body.de-checkout .woocommerce-checkout-review-order {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 8px 40px rgba(0,0,0,.07);
  padding: 32px 40px;
  margin-bottom: 20px;
}
body.de-checkout .woocommerce-checkout-review-order h3 {
  font-family: var(--ff);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: #999;
  margin-bottom: 20px;
  border: none;
  padding: 0;
  display: block !important;
}
body.de-checkout .woocommerce-checkout-review-order-table { border-collapse: collapse; width: 100%; }
body.de-checkout .woocommerce-checkout-review-order-table thead { display:none; }
body.de-checkout .woocommerce-checkout-review-order-table tbody td {
  padding: 14px 0;
  font-size: 15px;
  border-bottom: 1px solid #F0EAE0;
  color: var(--text);
}
body.de-checkout .woocommerce-checkout-review-order-table .order-total td,
body.de-checkout .woocommerce-checkout-review-order-table .order-total th {
  padding: 20px 0 0;
  font-size: 24px;
  font-weight: 900;
  border: none;
}
body.de-checkout .woocommerce-checkout-review-order-table .order-total .amount { color: var(--orange); }

/* ── Payment box ── */
body.de-checkout .woocommerce-checkout #payment {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 8px 40px rgba(0,0,0,.07);
  padding: 32px 40px;
  border: none !important;
  margin-top: 0;
}
body.de-checkout #payment ul.payment_methods {
  border-bottom: 1px solid #F0EAE0 !important;
  padding-bottom: 20px !important;
  margin-bottom: 24px !important;
}
body.de-checkout #payment ul.payment_methods li label {
  font-size: 15px;
  font-weight: 600;
  color: var(--navy);
}

/* ── Place order button ── */
body.de-checkout #place_order {
  background: linear-gradient(135deg,#F97316,#FF8C42) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 100px !important;
  font-family: var(--ff) !important;
  font-weight: 900 !important;
  font-size: 17px !important;
  padding: 20px 40px !important;
  width: 100% !important;
  cursor: pointer !important;
  box-shadow: 0 8px 28px rgba(249,115,22,.4) !important;
  transition: transform .18s, box-shadow .18s !important;
  animation: pulse 2.2s ease-in-out infinite !important;
  letter-spacing: .3px !important;
}
body.de-checkout #place_order:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 36px rgba(249,115,22,.5) !important;
}

/* Trust badges */
body.de-checkout .place-order::after {
  content: '🔒 Encrypted  ·  💳 Stripe & PayPal  ·  ⚡ Instant Access';
  display: block;
  text-align: center;
  font-size: 12px;
  color: #bbb;
  margin-top: 14px;
  font-weight: 500;
  letter-spacing: .2px;
}

/* Mobile */
@media(max-width:560px){
  body.de-checkout .woocommerce-checkout,
  body.de-checkout .woocommerce-checkout-review-order,
  body.de-checkout .woocommerce-checkout #payment { padding: 24px 20px; }
  body.de-checkout #billing_email { font-size:15px !important; padding:15px 18px !important; }
}

/* ══════════════════════════════════════════════════════════════
   STRIPE CARD FIELDS — Beautiful layout
══════════════════════════════════════════════════════════════ */

/* Payment method labels */
body.de-checkout #payment ul.payment_methods { list-style:none !important; padding:0 !important; }
body.de-checkout #payment ul.payment_methods li {
  padding: 14px 16px !important;
  border: 1.5px solid #E8E0D5 !important;
  border-radius: 12px !important;
  margin-bottom: 10px !important;
  cursor: pointer;
  transition: border-color .2s, background .2s;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
body.de-checkout #payment ul.payment_methods li:has(input:checked) {
  border-color: var(--orange) !important;
  background: #FFF8F2 !important;
}
body.de-checkout #payment ul.payment_methods li input[type="radio"] {
  accent-color: var(--orange);
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/* Stripe card container */
body.de-checkout #wc-stripe-cc-form,
body.de-checkout .wc-stripe-elements-field,
body.de-checkout #stripe-card-element {
  background: #FAFAFA !important;
  border: 2px solid #E8E0D5 !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  margin-top: 14px !important;
  transition: border-color .2s !important;
}
body.de-checkout #wc-stripe-cc-form.focused,
body.de-checkout #stripe-card-element.StripeElement--focus {
  border-color: var(--orange) !important;
  box-shadow: 0 0 0 3px rgba(249,115,22,.12) !important;
}

/* Card number, expiry, CVC individual fields */
body.de-checkout .wc-stripe-elements-field {
  display: block !important;
  margin-bottom: 10px !important;
}
body.de-checkout #wc-stripe-cc-form .form-row {
  margin-bottom: 10px !important;
}
body.de-checkout #wc-stripe-cc-form label {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #999 !important;
  margin-bottom: 8px !important;
  display: block !important;
}

/* Expiry + CVC side by side */
body.de-checkout #wc-stripe-cc-form .form-row-first,
body.de-checkout #wc-stripe-cc-form .form-row-last {
  width: 48% !important;
  display: inline-block !important;
}
body.de-checkout #wc-stripe-cc-form .form-row-first { margin-right: 4% !important; }

/* Save card checkbox */
body.de-checkout .woocommerce-SavedPaymentMethods-saveNew {
  font-size: 13px !important;
  color: #999 !important;
  margin-top: 12px !important;
}

/* PayPal section */
body.de-checkout #payment_method_ppcp-gateway + label img,
body.de-checkout #payment_method_paypal + label img {
  height: 24px !important;
  vertical-align: middle !important;
}

/* Error notices */
body.de-checkout .woocommerce-NoticeGroup .woocommerce-error {
  background: #FFF1F0 !important;
  border: 1.5px solid #FFCCC7 !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  list-style: none !important;
  color: #CF1322 !important;
  font-size: 14px !important;
  margin-bottom: 20px !important;
}
body.de-checkout .woocommerce-NoticeGroup .woocommerce-error li::before { display:none !important; }
