/* ═══════════════════════════════════════════════════════
   DZ CHECKOUT PRO v6 — PREMIUM DARK CHECKOUT UI
   Design: Dark luxury · Orange glow · Geometric depth
═══════════════════════════════════════════════════════ */

/* ── Variables (scoped to DZP elements — overridden by PHP inline style per admin settings) ── */
.dzp-section,.dzp-hero,.dzp-wrap-checkout,.dzp-full-cart,
.dzp-cart-drawer,.dzp-cart-fab,.dzp-wizard,.dzp-modal,
.woocommerce-checkout,.woocommerce-cart,
.woocommerce-checkout .woocommerce,
.woocommerce-cart .woocommerce,
.dzp-pf {
  --P:#F47920; --PD:#c75e0a; --A:#38bdf8;
  --BG:#0c0e14; --SRF:#13161f; --SRF2:#1a1e2c;
  --BR:#272b3a; --TX:#f0f2f8; --MU:#7c84a0;
  --IBG:#1a1e2c; --IBD:#2e334a; --IFO:#F47920;
  --LC:#c5c9da; --BTN:#F47920; --BTNT:#fff; --PRC:#F47920;
  --FH:'Syne',sans-serif; --FB:'Cairo',sans-serif;
  --FS:15px; --R:14px; --RI:10px;
  --glow:0 0 24px rgba(244,121,32,.25);
  --glow2:0 0 40px rgba(244,121,32,.35);
  --sh:0 4px 24px rgba(0,0,0,.4);
}

/* ── Page ── */
.woocommerce-cart,
.woocommerce-checkout {
  background: var(--BG) !important;
  min-height: 100vh;
}
/* Subtle grid pattern overlay */
.woocommerce-checkout::before {
  content: '';
  position: fixed; inset: 0; z-index: 0;
  background-image:
    linear-gradient(rgba(244,121,32,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(244,121,32,.03) 1px, transparent 1px);
  background-size: 40px 40px;
  pointer-events: none;
}
.woocommerce-checkout .woocommerce { position: relative; z-index: 1; }

@keyframes dzpFadeUp {
  from { opacity:0; transform:translateY(16px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes dzpPulse {
  0%,100% { box-shadow: var(--glow); }
  50%      { box-shadow: var(--glow2); }
}
@keyframes dzpSpin {
  to { transform: rotate(360deg); }
}

/* ══════════════════════════════════════
   ████  CART PAGE  ████
══════════════════════════════════════ */
.woocommerce-cart table.cart {
  border: none !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: var(--R) !important;
  overflow: hidden !important;
  background: var(--SRF) !important;
  border: 1px solid var(--BR) !important;
  box-shadow: var(--sh) !important;
  animation: dzpFadeUp .5s ease both;
}
.woocommerce-cart table.cart thead th {
  background: var(--SRF2) !important;
  color: var(--MU) !important;
  font-family: var(--FH) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  padding: 14px 20px !important;
  border: none !important;
  border-bottom: 1px solid var(--BR) !important;
}
.woocommerce-cart table.cart tbody td {
  padding: 18px 20px !important;
  border-top: 1px solid var(--BR) !important;
  border-left: none !important; border-right: none !important; border-bottom: none !important;
  vertical-align: middle !important;
  font-family: var(--FB) !important;
  color: var(--TX) !important;
  background: transparent !important;
  transition: background .15s !important;
}
.woocommerce-cart table.cart tbody tr:hover td {
  background: rgba(244,121,32,.04) !important;
}
.woocommerce-cart td.product-thumbnail img {
  border-radius: calc(var(--RI) - 2px) !important;
  width: 60px !important; height: 60px !important;
  object-fit: cover !important;
  border: 1px solid var(--BR) !important;
}
.woocommerce-cart td.product-name a {
  font-family: var(--FH) !important;
  font-weight: 700 !important; font-size: 14px !important;
  color: var(--TX) !important; text-decoration: none !important;
}
.woocommerce-cart td.product-name a:hover { color: var(--P) !important; }
.woocommerce-cart td.product-quantity .qty {
  background: var(--IBG) !important;
  border: 1px solid var(--IBD) !important;
  border-radius: var(--RI) !important;
  color: var(--TX) !important;
  font-family: var(--FH) !important; font-weight: 700 !important;
  padding: 8px 12px !important; width: 64px !important; text-align: center !important;
}
.woocommerce-cart td.product-quantity .qty:focus {
  border-color: var(--P) !important; outline: none !important;
  box-shadow: 0 0 0 3px rgba(244,121,32,.2) !important;
}
.woocommerce-cart td.product-price,
.woocommerce-cart td.product-subtotal {
  font-family: var(--FH) !important; font-weight: 800 !important; color: var(--PRC) !important;
}
.woocommerce-cart td.product-remove a.remove {
  background: rgba(239,68,68,.1) !important; color: #ef4444 !important;
  border-radius: 50% !important; width: 30px !important; height: 30px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-size: 18px !important; transition: all .15s !important; border: 1px solid rgba(239,68,68,.2) !important;
  text-decoration: none !important;
}
.woocommerce-cart td.product-remove a.remove:hover {
  background: #ef4444 !important; color: #fff !important; border-color: #ef4444 !important;
}
.woocommerce-cart .actions { padding: 16px 20px !important; background: var(--SRF2) !important; border-top: 1px solid var(--BR) !important; }
.woocommerce-cart .actions .button {
  background: transparent !important; color: var(--MU) !important;
  border: 1px solid var(--BR) !important; border-radius: var(--RI) !important;
  padding: 10px 18px !important; font-family: var(--FH) !important;
  font-weight: 600 !important; font-size: 12px !important; cursor: pointer !important;
  transition: all .15s !important;
}
.woocommerce-cart .actions .button:hover { border-color: var(--P) !important; color: var(--P) !important; }
.woocommerce-cart .coupon { display: flex !important; gap: 0 !important; }
.woocommerce-cart .coupon input {
  background: var(--IBG) !important; border: 1px solid var(--IBD) !important;
  border-radius: var(--RI) 0 0 var(--RI) !important;
  color: var(--TX) !important; font-family: var(--FB) !important;
  padding: 10px 14px !important; font-size: 13px !important; height: auto !important;
}
.woocommerce-cart .coupon input:focus { border-color: var(--P) !important; outline: none !important; }
.woocommerce-cart .coupon .button {
  background: var(--P) !important; color: #fff !important;
  border: 1px solid var(--P) !important; border-radius: 0 var(--RI) var(--RI) 0 !important;
}
.woocommerce-cart .cart_totals {
  background: var(--SRF) !important; border: 1px solid var(--BR) !important;
  border-radius: var(--R) !important; box-shadow: var(--sh) !important; overflow: hidden !important;
  animation: dzpFadeUp .5s .1s ease both;
}
.woocommerce-cart .cart_totals::before {
  content: ''; display: block; height: 2px;
  background: linear-gradient(90deg, var(--P), var(--A), var(--P));
  background-size: 200% 100%;
  animation: shimmer 2s linear infinite;
}
@keyframes shimmer { to { background-position: -200% 0; } }
.woocommerce-cart .cart_totals h2 {
  font-family: var(--FH) !important; font-size: 14px !important; font-weight: 800 !important;
  color: var(--TX) !important; padding: 18px 22px 0 !important; margin: 0 0 14px !important;
}
.woocommerce-cart .cart_totals table { width:100% !important; border-collapse:collapse !important; }
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  padding: 12px 22px !important;
  border-top: 1px solid var(--BR) !important;
  border-left: none !important; border-right: none !important; border-bottom: none !important;
  font-family: var(--FB) !important; font-size: 14px !important; color: var(--TX) !important;
}
.woocommerce-cart .cart_totals table th { color: var(--MU) !important; font-weight: 600 !important; }
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  font-family: var(--FH) !important; font-weight: 900 !important;
  font-size: 22px !important; color: var(--PRC) !important;
}
.woocommerce-cart .cart_totals .wc-proceed-to-checkout { padding: 18px 22px !important; }
.woocommerce-cart a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a {
  display: block !important;
  background: linear-gradient(135deg, var(--BTN) 0%, var(--PD) 100%) !important;
  color: var(--BTNT) !important; border-radius: var(--RI) !important;
  padding: 16px 24px !important; font-family: var(--FH) !important;
  font-size: 14px !important; font-weight: 800 !important; letter-spacing: .5px !important;
  text-align: center !important; text-decoration: none !important;
  text-transform: uppercase !important; border: none !important;
  box-shadow: 0 4px 20px rgba(244,121,32,.4) !important;
  transition: all .25s !important;
}
.woocommerce-cart a.checkout-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 30px rgba(244,121,32,.55) !important;
}

/* ══════════════════════════════════════
   ████  CHECKOUT HERO  ████
══════════════════════════════════════ */
.dzp-hero {
  position: relative;
  border-radius: var(--R);
  overflow: hidden;
  margin-bottom: 20px;
  animation: dzpFadeUp .5s ease both;
}
.dzp-hero-bg {
  background: linear-gradient(135deg, #1a0e06 0%, var(--SRF) 50%, #060d1a 100%);
  border: 1px solid var(--BR);
  padding: 32px 36px;
  position: relative;
}
/* Geometric decoration */
.dzp-hero-bg::before {
  content: '';
  position: absolute; top: -80px; right: -80px;
  width: 280px; height: 280px; border-radius: 50%;
  background: radial-gradient(circle, rgba(244,121,32,.15) 0%, transparent 70%);
  pointer-events: none;
}
.dzp-hero-bg::after {
  content: '';
  position: absolute; bottom: -60px; left: -60px;
  width: 200px; height: 200px; border-radius: 50%;
  background: radial-gradient(circle, rgba(56,189,248,.08) 0%, transparent 70%);
  pointer-events: none;
}
/* Animated top border */
.dzp-hero-line {
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--P), var(--A), var(--P), transparent);
  background-size: 200% 100%;
  animation: shimmer 3s linear infinite;
}
.dzp-hero-inner {
  display: flex; align-items: center; gap: 18px;
  position: relative; z-index: 1;
}
.dzp-hero-flag-wrap {
  position: relative;
  width: 56px; height: 56px; flex-shrink: 0;
}
.dzp-hero-flag-wrap::after {
  content: '';
  position: absolute; inset: -4px;
  border-radius: 50%;
  border: 1px solid rgba(244,121,32,.3);
  animation: dzpPulse 2s ease-in-out infinite;
}
.dzp-hero-flag { font-size: 40px; line-height: 1; display: block; }
.dzp-hero-text h2 {
  font-family: var(--FH); font-size: 22px; font-weight: 900;
  color: var(--TX); margin: 0 0 5px; letter-spacing: -.3px;
}
.dzp-hero-text p { font-family: var(--FB); font-size: 13px; color: var(--MU); margin: 0; }
.dzp-hero-badges {
  display: flex; gap: 8px; flex-wrap: wrap;
  margin-top: 18px; position: relative; z-index: 1;
}
.dzp-badge {
  display: flex; align-items: center; gap: 5px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  color: var(--TX); font-family: var(--FH);
  font-size: 11px; font-weight: 600;
  padding: 5px 13px; border-radius: 20px;
  backdrop-filter: blur(4px);
  transition: all .2s;
}
.dzp-badge:hover {
  border-color: var(--P);
  background: rgba(244,121,32,.1);
  color: var(--P);
}

/* ══════════════════════════════════════
   ████  SECTION CARD  ████
══════════════════════════════════════ */
.dzp-section {
  background: var(--SRF);
  border-radius: var(--R);
  border: 1px solid var(--BR);
  box-shadow: var(--sh);
  overflow: hidden;
  margin-bottom: 16px;
  position: relative;
  animation: dzpFadeUp .5s .08s ease both;
}
.dzp-section::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent 0%, var(--P) 30%, var(--A) 70%, transparent 100%);
}

.dzp-sec-head {
  display: flex; align-items: center; gap: 13px;
  padding: 20px 26px 16px;
  flex-direction: row-reverse; /* RTL: icon right, text left */
  justify-content: flex-start;
}
[dir="ltr"] .dzp-sec-head { flex-direction: row; }

.dzp-sec-icon-wrap {
  position: relative; width: 40px; height: 40px; flex-shrink: 0;
}
.dzp-sec-icon-bg {
  width: 40px; height: 40px;
  background: linear-gradient(135deg, rgba(244,121,32,.2), rgba(244,121,32,.05));
  border: 1px solid rgba(244,121,32,.3);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px;
  backdrop-filter: blur(4px);
}
.dzp-sec-head h3 {
  font-family: var(--FH) !important; font-size: 16px !important;
  font-weight: 800 !important; color: var(--TX) !important;
  margin: 0 !important; letter-spacing: -.2px !important;
}
.dzp-sec-sub {
  font-family: var(--FB); font-size: 12px; color: var(--MU); margin-top: 2px;
}

/* ══════════════════════════════════════
   ████  FIELDS GRID  ████
══════════════════════════════════════ */
.dzp-grid {
  padding: 4px 26px 26px;
  display: grid; gap: 16px 18px;
}
.dzp-grid2 { grid-template-columns: 1fr 1fr; }
.dzp-grid1 { grid-template-columns: 1fr; }

/* ── Individual field — floating label design ── */
.dzp-field { display: flex; flex-direction: column; gap: 0; }
.dzp-full  { grid-column: 1/-1; }

/* Label row */
.dzp-lrow {
  display: flex; align-items: center; gap: 7px;
  margin-bottom: 7px;
  flex-direction: row-reverse; /* RTL */
  justify-content: flex-start;
}
[dir="ltr"] .dzp-lrow { flex-direction: row; }

.dzp-ico {
  width: 15px; height: 15px;
  color: var(--P); flex-shrink: 0;
  opacity: .8;
}
.dzp-ico svg { width: 100%; height: 100%; stroke-linecap: round; stroke-linejoin: round; }

.dzp-lbl {
  font-family: var(--FB) !important;
  font-size: 12px !important; font-weight: 600 !important;
  color: var(--LC) !important; letter-spacing: .2px !important;
}
.dzp-req { color: var(--P); margin-inline-start: 3px; font-size: 13px; line-height: 1; }

/* Input wrap */
.dzp-iw { position: relative; }

/* ── THE INPUT — premium glow on focus ── */
.dzp-in {
  width: 100% !important; box-sizing: border-box !important;
  background: var(--IBG) !important;
  border: 1px solid var(--IBD) !important;
  border-radius: var(--RI) !important;
  padding: 12px 42px 12px 16px !important;
  font-size: var(--FS) !important; font-family: var(--FB) !important;
  color: var(--TX) !important;
  height: auto !important;
  transition: border-color .2s, box-shadow .2s, background .2s !important;
  appearance: none !important; -webkit-appearance: none !important;
  direction: rtl !important; text-align: right !important;
  outline: none !important;
}
[dir="ltr"] .dzp-in {
  padding: 12px 16px 12px 42px !important;
  direction: ltr !important; text-align: left !important;
}
.dzp-in:hover {
  border-color: rgba(244,121,32,.4) !important;
  background: rgba(26,30,44,.8) !important;
}
.dzp-in:focus {
  border-color: var(--IFO) !important;
  background: rgba(20,16,10,.6) !important;
  box-shadow: 0 0 0 3px rgba(244,121,32,.15), 0 0 20px rgba(244,121,32,.1) !important;
}
.dzp-in::placeholder { color: rgba(124,132,160,.5) !important; font-size: 13px !important; }
.dzp-in:focus::placeholder { opacity: .4 !important; }

/* Icon inside input */
.dzp-iw > .dzp-ico {
  position: absolute; top: 50%; transform: translateY(-50%);
  inset-inline-end: 14px; pointer-events: none; z-index: 1;
  width: 16px; height: 16px;
  transition: color .2s, opacity .2s;
}
.dzp-in:focus + .dzp-ico,
.dzp-iw:focus-within > .dzp-ico { color: var(--P); opacity: 1; }

/* Select */
.dzp-sel { padding-inline-end: 36px !important; cursor: pointer !important; }
.dzp-arr {
  position: absolute; inset-inline-end: 14px; top: 50%; transform: translateY(-50%);
  color: var(--MU); font-size: 10px; pointer-events: none; font-weight: 700;
  transition: color .2s;
}
.dzp-iw:focus-within .dzp-arr { color: var(--P); }

/* Textarea */
.dzp-ta {
  resize: vertical !important; min-height: 90px !important; line-height: 1.7 !important;
  padding-right: 16px !important; padding-left: 16px !important;
}

/* Color picker */
.dzp-cpick { display: flex; align-items: center; gap: 12px; }
.dzp-color-in {
  height: 46px !important; width: 80px !important;
  padding: 4px !important; cursor: pointer !important;
  border-radius: var(--RI) !important; border: 1px solid var(--IBD) !important;
  background: var(--IBG) !important;
}
.dzp-clbl { font-family: var(--FH); font-size: 13px; color: var(--MU); font-weight: 600; }

/* Radio buttons */
.dzp-radios { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2px; }
.dzp-radio {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 15px;
  background: var(--IBG); border: 1px solid var(--IBD); border-radius: var(--RI);
  cursor: pointer; font-family: var(--FB); font-size: 14px; color: var(--TX);
  transition: all .2s;
}
.dzp-radio:hover { border-color: rgba(244,121,32,.5); }
.dzp-radio input { display: none; }
.dzp-rdot {
  width: 17px; height: 17px; border-radius: 50%;
  border: 2px solid var(--IBD); position: relative;
  transition: all .2s; flex-shrink: 0;
}
.dzp-radio input:checked ~ .dzp-rdot {
  border-color: var(--P); background: var(--P);
  box-shadow: 0 0 8px rgba(244,121,32,.4);
}
.dzp-radio input:checked ~ .dzp-rdot::after {
  content: ''; position: absolute; inset: 3px;
  border-radius: 50%; background: #fff;
}
.dzp-radio:has(input:checked) {
  border-color: rgba(244,121,32,.5);
  background: rgba(244,121,32,.07);
  box-shadow: 0 0 12px rgba(244,121,32,.1);
}

/* Checkbox */
.dzp-chk {
  display: flex; align-items: center; gap: 10px;
  cursor: pointer; font-family: var(--FB); font-size: 14px; color: var(--TX);
  padding: 8px 0;
}
.dzp-chk input { display: none; }
.dzp-cbox {
  width: 22px; height: 22px; border-radius: 6px; flex-shrink: 0;
  background: var(--IBG); border: 1px solid var(--IBD);
  position: relative; transition: all .2s;
}
.dzp-chk input:checked ~ .dzp-cbox {
  background: var(--P); border-color: var(--P);
  box-shadow: 0 0 10px rgba(244,121,32,.35);
}
.dzp-chk input:checked ~ .dzp-cbox::after {
  content: ''; position: absolute; left: 6px; top: 3px;
  width: 7px; height: 11px;
  border: 2px solid #fff; border-top: 0; border-left: 0;
  transform: rotate(45deg);
}

/* ── File Upload Zone ── */
.dzp-drop {
  position: relative;
  background: var(--IBG);
  border: 1.5px dashed var(--IBD);
  border-radius: var(--RI);
  padding: 24px 20px;
  text-align: center;
  cursor: pointer;
  transition: all .25s;
  overflow: hidden;
}
.dzp-drop::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at center, rgba(244,121,32,.04) 0%, transparent 70%);
  opacity: 0; transition: opacity .25s;
}
.dzp-drop:hover::before, .dzp-drop.over::before { opacity: 1; }
.dzp-drop:hover, .dzp-drop.over {
  border-color: var(--P);
  box-shadow: 0 0 20px rgba(244,121,32,.15);
}
.dzp-finput {
  position: absolute; inset: 0; opacity: 0;
  cursor: pointer; width: 100%; height: 100%;
}
.dzp-drop-ico { font-size: 30px; display: block; margin-bottom: 8px; }
.dzp-drop-ui strong {
  font-family: var(--FH); font-size: 13px; font-weight: 700; color: var(--TX); display: block;
}
.dzp-drop-ui small { font-family: var(--FB); font-size: 11px; color: var(--MU); margin-top: 3px; display: block; }
.dzp-drop.has-file { border-style: solid; border-color: rgba(244,121,32,.5); }
.dzp-drop-done {
  display: flex; align-items: center; gap: 10px;
  background: rgba(244,121,32,.1); border: 1px solid rgba(244,121,32,.2);
  border-radius: 8px; padding: 10px 14px;
  font-family: var(--FB); font-size: 13px; color: var(--P); font-weight: 600;
}
.dzp-drop-prog { height: 3px; background: var(--BR); border-radius: 2px; margin-top: 10px; overflow: hidden; }
.dzp-drop-bar  { height: 100%; background: linear-gradient(90deg, var(--P), var(--A)); border-radius: 2px; transition: width .3s; }

/* Divider */
.dzp-divider {
  display: flex; align-items: center; gap: 12px;
  font-family: var(--FH); font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1px; color: var(--MU);
  margin: 4px 0;
}
.dzp-divider::before, .dzp-divider::after { content: ''; flex: 1; height: 1px; background: var(--BR); }

/* HTML block */
.dzp-html { font-family: var(--FB); font-size: 13px; color: var(--TX); }

/* Note toggle */
.dzp-note-btn {
  display: inline-flex; align-items: center; gap: 7px;
  background: none; border: none; cursor: pointer;
  font-family: var(--FB); font-size: 13px; font-weight: 600;
  color: var(--MU); padding: 6px 0;
  transition: color .2s;
}
.dzp-note-btn:hover { color: var(--P); }

.dzp-hint { font-family: var(--FB); font-size: 11px; color: var(--MU); margin-top: 5px; display: block; }

/* ══════════════════════════════════════
   ORDER REVIEW + PAYMENT
══════════════════════════════════════ */
.woocommerce-checkout #order_review,
.woocommerce-checkout #payment {
  background: var(--SRF) !important;
  border: 1px solid var(--BR) !important;
  border-radius: var(--R) !important;
  box-shadow: var(--sh) !important;
  padding: 22px 26px !important;
  margin-bottom: 16px !important;
  position: relative !important; overflow: hidden !important;
  animation: dzpFadeUp .5s .14s ease both;
}
.woocommerce-checkout #order_review::before,
.woocommerce-checkout #payment::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--A), transparent);
}
.woocommerce-checkout #order_review h3,
.woocommerce-checkout #payment h3 {
  font-family: var(--FH) !important; font-size: 15px !important;
  font-weight: 800 !important; color: var(--TX) !important; margin: 0 0 16px !important;
}
.woocommerce-checkout table.shop_table {
  border: none !important; border-collapse: collapse !important; width: 100% !important;
}
.woocommerce-checkout table.shop_table th {
  background: var(--SRF2) !important; color: var(--MU) !important;
  font-family: var(--FH) !important; font-size: 10px !important;
  text-transform: uppercase !important; letter-spacing: 1.2px !important;
  font-weight: 700 !important; padding: 10px 14px !important; border: none !important;
}
.woocommerce-checkout table.shop_table td {
  padding: 12px 14px !important;
  border-top: 1px solid var(--BR) !important;
  border-left: none !important; border-right: none !important; border-bottom: none !important;
  font-family: var(--FB) !important; font-size: 13px !important; color: var(--TX) !important;
}
.woocommerce-checkout table.shop_table .order-total td,
.woocommerce-checkout table.shop_table .order-total th {
  font-family: var(--FH) !important; font-weight: 900 !important;
  font-size: 18px !important; color: var(--PRC) !important;
}

/* Payment methods — mobile-first redesign */
.woocommerce-checkout #payment ul.payment_methods {
  border: none !important; padding: 0 !important;
  margin: 0 0 20px !important; display: flex !important;
  flex-direction: column !important; gap: 10px !important;
  list-style: none !important;
}
.woocommerce-checkout #payment ul.payment_methods li {
  background: var(--SRF2) !important;
  border: 2px solid var(--BR) !important;
  border-radius: 14px !important;
  padding: 0 !important; margin: 0 !important;
  list-style: none !important;
  cursor: pointer !important;
  transition: border-color .2s, background .2s !important;
  overflow: hidden !important;
}
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked),
.woocommerce-checkout #payment ul.payment_methods li.dzp-pay-active {
  border-color: var(--P) !important;
  background: rgba(244,121,32,.05) !important;
}
/* Radio label row */
.woocommerce-checkout #payment ul.payment_methods li label {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 16px 18px !important;
  font-family: var(--FH) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--TX) !important;
  cursor: pointer !important;
  margin: 0 !important;
  width: 100% !important;
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
  width: 18px !important; height: 18px !important;
  accent-color: var(--P) !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
}
/* Payment detail box (account info + receipt upload) */
.woocommerce-checkout .payment_box {
  background: transparent !important;
  border: none !important;
  padding: 0 18px 16px !important;
  margin: 0 !important;
}
.dzp-pay-box {
  background: rgba(255,255,255,.025);
  border: 1px solid var(--BR);
  border-radius: 10px;
  padding: 14px;
  font-size: 13px;
}
.dzp-pay-desc { color: var(--MU); margin: 0 0 12px; font-family: var(--FB); }
/* Account info table */
.dzp-pay-account {
  background: var(--BG);
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 12px;
  border: 1px solid var(--BR);
}
.dzp-pay-row {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--BR);
}
.dzp-pay-row:last-child { border-bottom: none; }
.dzp-pay-lbl {
  font-size: 11px; color: var(--MU); font-weight: 600;
  min-width: 48px; flex-shrink: 0; font-family: var(--FB);
}
.dzp-pay-val {
  font-weight: 700; color: var(--TX); font-size: 14px;
  font-family: var(--FH); letter-spacing: .5px;
  word-break: break-all; flex: 1;
}
/* Note bar */
.dzp-pay-note {
  font-size: 12px; color: var(--MU);
  margin-bottom: 12px; padding: 9px 12px;
  background: rgba(244,121,32,.07);
  border-radius: 7px;
  border-inline-start: 3px solid var(--P);
  font-family: var(--FB); line-height: 1.5;
}
/* QR code */
.dzp-qr-wrap { text-align: center; margin-bottom: 14px; }
.dzp-qr-img {
  max-width: 150px; border-radius: 10px;
  border: 2px solid var(--BR); padding: 4px;
  background: rgba(255,255,255,.05);
}


/* ── THE BUTTON ── */
.woocommerce-checkout #payment .place-order { padding: 0 !important; background: transparent !important; border: none !important; }
.woocommerce-checkout #place_order {
  width: 100% !important;
  background: linear-gradient(135deg, var(--BTN) 0%, var(--PD) 100%) !important;
  color: var(--BTNT) !important; border: none !important;
  border-radius: var(--RI) !important; padding: 17px 28px !important;
  font-family: var(--FH) !important; font-size: 15px !important;
  font-weight: 900 !important; text-transform: uppercase !important; letter-spacing: .8px !important;
  cursor: pointer !important; transition: all .25s ease !important;
  box-shadow: 0 4px 20px rgba(244,121,32,.4), 0 0 0 1px rgba(244,121,32,.2) !important;
  position: relative !important; overflow: hidden !important;
}
.woocommerce-checkout #place_order::before {
  content: '';
  position: absolute; top: 0; left: -100%; width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.1), transparent);
  transition: left .6s;
}
.woocommerce-checkout #place_order:hover::before { left: 100%; }
.woocommerce-checkout #place_order:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 32px rgba(244,121,32,.55), 0 0 0 1px rgba(244,121,32,.3) !important;
}

/* Trust badges */
.dzp-trust {
  display: flex; justify-content: center; gap: 18px; flex-wrap: wrap;
  margin-top: 12px; font-family: var(--FB); font-size: 11px; color: var(--MU);
}
.dzp-trust span { display: flex; align-items: center; gap: 4px; }

/* Notices */
.woocommerce-error, .woocommerce-message, .woocommerce-info {
  background: var(--SRF) !important; border-radius: var(--RI) !important;
  color: var(--TX) !important; font-family: var(--FB) !important;
  border-left: 3px solid var(--P) !important;
}
.woocommerce-error li, .woocommerce-message li, .woocommerce-info li { color: var(--TX) !important; }

/* ── Mobile ── */
@media (max-width: 640px) {
  .dzp-grid2 { grid-template-columns: 1fr !important; }
  .dzp-hero-bg { padding: 22px 18px; }
  .dzp-hero-text h2 { font-size: 18px; }
  .dzp-sec-head, .dzp-grid { padding-left: 18px; padding-right: 18px; }
  .woocommerce-checkout #order_review,
  .woocommerce-checkout #payment { padding: 18px !important; }
  .woocommerce-cart table.cart thead { display: none; }
  .woocommerce-cart table.cart tbody tr { display: block; border-top: 1px solid var(--BR); }
  .woocommerce-cart table.cart tbody td { display: block; border-top: none !important; }
}

/* ═══════════════════════════════════════════════════════
   DZ CHECKOUT PRO v8 — FIXES & NEW COMPONENTS
═══════════════════════════════════════════════════════ */

/* ── CRITICAL: All text must be visible on dark bg ── */
.dzp-section,
.dzp-section * {
  color: var(--TX);
}
.dzp-section label,
.dzp-lbl {
  color: var(--LC) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  display: block !important;
  margin-bottom: 6px !important;
  font-family: var(--FB) !important;
}
.dzp-section h3 {
  color: var(--TX) !important;
  font-family: var(--FH) !important;
}
.dzp-sec-sub { color: var(--MU) !important; }
.dzp-req { color: #ef4444 !important; margin-inline-start: 2px; }
.dzp-hint { color: var(--MU) !important; font-size: 11px !important; display: block; margin-top: 4px; }

/* ── Input fix: text always visible ── */
.dzp-in,
.dzp-in:focus,
.dzp-sel {
  background: var(--IBG) !important;
  color: var(--TX) !important;
  border-color: var(--IBD) !important;
}
.dzp-in::placeholder { color: var(--MU) !important; opacity: 1; }
.dzp-in:-webkit-autofill,
.dzp-in:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--TX) !important;
  -webkit-box-shadow: 0 0 0 1000px var(--IBG) inset !important;
}

/* Select arrow always visible */
.dzp-sel {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237c84a0' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: left 10px center !important;
  padding-left: 34px !important;
}
.dzp-sel option {
  background: #1a1e2c !important;
  color: var(--TX) !important;
}

/* Phone validation feedback */
.dzp-phone-ok  { border-color: #22c55e !important; }
.dzp-phone-err { border-color: #ef4444 !important; }

/* ── Cart summary (shows product + variations) ── */
.dzp-cart-summary {
  margin: 0 24px 20px;
  padding: 14px 16px;
  background: rgba(255,255,255,.03);
  border: 1px solid var(--BR);
  border-radius: var(--RI);
}
.dzp-cart-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 7px 0;
  border-bottom: 1px solid rgba(255,255,255,.05);
  font-family: var(--FB);
  font-size: 13px;
}
.dzp-cart-item:last-child { border-bottom: none; }
.dzp-ci-name  { flex: 1; color: var(--TX) !important; font-weight: 600; }
.dzp-ci-qty   { color: var(--MU) !important; font-size: 12px; flex-shrink: 0; }
.dzp-ci-vars  { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 3px; }
.dzp-ci-var   { font-size: 11px; color: var(--MU) !important; background: rgba(244,121,32,.08); border: 1px solid rgba(244,121,32,.2); border-radius: 4px; padding: 1px 6px; }
.dzp-ci-var strong { color: var(--P) !important; }

/* ── Delivery Type Toggle ── */
.dzp-delivery-wrap {
  margin: 0 24px 20px;
  animation: dzpFadeUp .3s ease;
}
.dzp-del-label {
  font-size: 12px;
  font-weight: 700;
  color: var(--LC) !important;
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-bottom: 10px;
  font-family: var(--FB);
}
.dzp-del-types {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}
.dzp-del-opt {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 10px;
  background: var(--SRF2);
  min-width: 0; overflow: hidden;
  border: 2px solid var(--BR);
  border-radius: var(--RI);
  cursor: pointer;
  transition: all .2s;
  position: relative;
}
.dzp-del-opt input { display: none; }
.dzp-del-opt:hover { border-color: rgba(244,121,32,.4); background: rgba(244,121,32,.04); }
.dzp-del-opt.active {
  border-color: var(--P) !important;
  background: rgba(244,121,32,.08) !important;
  box-shadow: 0 0 0 1px rgba(244,121,32,.2) !important;
}
.dzp-del-ico  { font-size: 20px; flex-shrink: 0; }
.dzp-del-txt  { font-family: var(--FH); font-size: 13px; font-weight: 700; color: var(--TX) !important; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.dzp-del-price { font-family: var(--FH); font-size: 13px; font-weight: 900; color: var(--P) !important; white-space: nowrap; flex-shrink: 0; }

/* Shipping info bar */
.dzp-shipping-info {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 16px;
  background: rgba(244,121,32,.07);
  border: 1px solid rgba(244,121,32,.2);
  border-radius: var(--RI);
  margin-bottom: 12px;
  font-family: var(--FB);
  font-size: 13px;
  animation: dzpFadeUp .25s ease;
}
.dzp-ship-price { color: var(--TX) !important; }
.dzp-ship-price strong { color: var(--P) !important; font-family: var(--FH); font-size: 16px; }
.dzp-ship-days { color: var(--MU) !important; font-size: 12px; margin-inline-start: auto; }

/* Stops list */
.dzp-stops-wrap {
  background: var(--SRF2);
  border: 1px solid var(--BR);
  border-radius: var(--RI);
  overflow: hidden;
}
.dzp-stops-head {
  padding: 11px 16px;
  background: rgba(56,189,248,.06);
  border-bottom: 1px solid var(--BR);
  font-family: var(--FH);
  font-size: 12px;
  font-weight: 700;
  color: var(--A) !important;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.dzp-stops-list {
  max-height: 220px;
  overflow-y: auto;
  padding: 8px;
  display: grid;
  gap: 6px;
}
.dzp-stop-item {
  padding: 10px 12px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 8px;
}
.dzp-stop-item strong { font-size: 13px; color: var(--TX) !important; display: block; }
.dzp-stop-item span   { font-size: 12px; color: var(--MU) !important; }
.dzp-stop-item small  { font-size: 11px; color: var(--MU) !important; display: block; margin-top: 2px; }

/* ── Stop cards (selectable) ── */
.dzp-stop-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  background: var(--SRF2);
  border: 2px solid var(--BR);
  border-radius: var(--RI);
  cursor: pointer;
  transition: all .2s;
}
.dzp-stop-card:hover {
  border-color: var(--A);
  background: rgba(var(--A-rgb,244,121,32),.06);
}
.dzp-stop-card.dzp-stop-selected {
  border-color: var(--A);
  background: rgba(var(--A-rgb,244,121,32),.1);
  box-shadow: 0 0 0 3px rgba(var(--A-rgb,244,121,32),.15);
}
.dzp-stop-name {
  font-size: 13px;
  font-weight: 700;
  color: var(--TX) !important;
  margin-bottom: 3px;
}
.dzp-stop-comm {
  font-size: 12px;
  color: var(--A) !important;
  margin-bottom: 2px;
}
.dzp-stop-addr {
  font-size: 11px;
  color: var(--MU) !important;
}
.dzp-stop-phone {
  font-size: 11px;
  color: var(--A) !important;
  margin-top: 2px;
  direction: ltr;
  text-align: right;
}
.dzp-stops-list {
  max-height: 280px;
  overflow-y: auto;
  padding: 10px;
  display: grid;
  gap: 8px;
}

/* ── Note button ── */
.dzp-note-wrap { padding: 0 24px 20px; }
.dzp-note-btn {
  background: transparent;
  border: 1px dashed var(--BR);
  color: var(--MU) !important;
  border-radius: var(--RI);
  padding: 10px 18px;
  font-family: var(--FB);
  font-size: 13px;
  cursor: pointer;
  width: 100%;
  text-align: center;
  transition: all .2s;
}
.dzp-note-btn:hover { border-color: var(--P); color: var(--P) !important; }

/* ── Product variation display in cart ── */
.dzp-variation { color: var(--MU) !important; font-size: 11px !important; display: block; margin-top: 4px; }
.dzp-attr { margin-inline-end: 8px; }
.dzp-attr strong { color: var(--TX) !important; }

/* ── WooCommerce order review table fix ── */
.woocommerce-checkout table.shop_table,
.woocommerce-checkout .woocommerce-checkout-review-order-table {
  background: var(--SRF) !important;
  border: 1px solid var(--BR) !important;
  border-radius: var(--R) !important;
  overflow: hidden !important;
}
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td { color: var(--TX) !important; }
.woocommerce-checkout table.shop_table .cart-subtotal th,
.woocommerce-checkout table.shop_table .cart-subtotal td { color: var(--MU) !important; }
.woocommerce-checkout table.shop_table .shipping th,
.woocommerce-checkout table.shop_table .shipping td { color: var(--TX) !important; }
.woocommerce-checkout table.shop_table .shipping td label { color: var(--TX) !important; font-weight: 600 !important; }
/* Make shipping row stand out */
.woocommerce-checkout table.shop_table tr.shipping {
  background: rgba(244,121,32,.04) !important;
}
.woocommerce-checkout table.shop_table tr.shipping th::before { content: '🚚 '; }

/* Shipping radio */
.woocommerce-checkout #shipping_method li { 
  color: var(--TX) !important;
  font-family: var(--FB) !important;
  font-size: 13px !important;
}
.woocommerce-checkout #shipping_method li input { accent-color: var(--P) !important; }

/* ── Woocommerce notices dark fix ── */
.woocommerce-error li,
.woocommerce-message li,
.woocommerce-info  li { color: var(--TX) !important; }
.woocommerce-error { border-left-color: #ef4444 !important; }
.woocommerce-error li::before { color: #ef4444 !important; }

/* ── Variable product form in checkout ── */
.woocommerce-variation-add-to-cart .variations select { 
  background: var(--IBG) !important;
  color: var(--TX) !important;
  border: 1px solid var(--IBD) !important;
}

/* ── Mobile responsive ── */
@media (max-width: 600px) {
  .dzp-del-types { grid-template-columns: 1fr; }
  .dzp-cart-summary { margin: 0 14px 16px; }
  .dzp-delivery-wrap { margin: 0 14px 16px; }
  .dzp-note-wrap { padding: 0 14px 16px; }
}

/* ═══════════════════════════════════════
   MOBILE GLOBAL FIXES
═══════════════════════════════════════ */
html { overflow-x: hidden; }
body { overflow-x: hidden; max-width: 100vw; }

/* All DZP containers: never overflow */
.dzp-section, .dzp-hero, .dzp-wrap-checkout,
.dzp-full-cart, .dzp-cart-drawer, .dzp-wizard,
.dzp-modal, .dzp-pay-box, .dzp-receipt-section {
  max-width: 100%;
  box-sizing: border-box;
  word-break: break-word;
  overflow-wrap: break-word;
}
.dzp-in, .dzp-sel, .dzp-ta {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Payment on mobile */
@media (max-width: 480px) {
  /* Payment method labels */
  .woocommerce-checkout #payment ul.payment_methods li label {
    padding: 14px 14px !important;
    font-size: 13px !important;
  }
  .woocommerce-checkout .payment_box { padding: 0 14px 14px !important; }

  /* Payment account rows */
  .dzp-pay-val { font-size: 13px !important; letter-spacing: 0 !important; }
  .dzp-pay-lbl { min-width: 40px !important; font-size: 10px !important; }

  /* QR code sizing */
  .dzp-qr-img { max-width: 120px !important; }

  /* Checkout form padding */
  .woocommerce-checkout #payment { padding: 16px !important; }
  .woocommerce-checkout #order_review { padding: 16px !important; overflow-x: hidden; }

  /* Order review table on phone */
  .woocommerce-checkout table.shop_table th { font-size: 9px !important; padding: 8px 10px !important; }
  .woocommerce-checkout table.shop_table td { font-size: 12px !important; padding: 10px !important; }
  .woocommerce-checkout table.shop_table .order-total td,
  .woocommerce-checkout table.shop_table .order-total th { font-size: 16px !important; }

  /* Place order button */
  .woocommerce-checkout #place_order { padding: 15px !important; font-size: 14px !important; }

  /* Hero section */
  .dzp-hero-bg { padding: 18px 14px !important; }
  .dzp-hero-text h2 { font-size: 16px !important; }
  .dzp-hero-badges { gap: 5px !important; flex-wrap: wrap; }
  .dzp-badge { font-size: 10px !important; padding: 4px 8px !important; }

  /* Trust */
  .dzp-trust { gap: 10px !important; font-size: 10px !important; }

  /* Delivery type toggle */
  .dzp-del-types { gap: 8px !important; }
  .dzp-del-opt { padding: 10px 12px !important; }
  .dzp-del-txt { font-size: 12px !important; }

  /* Wizard */
  .dzp-wiz-step-counter { font-size: 11px !important; }
  .dzp-wiz-opt-text { font-size: 13px !important; min-width: 60px !important; padding: 10px !important; }
}

@media (max-width: 360px) {
  .dzp-section h3 { font-size: 14px !important; }
  .dzp-hero-text h2 { font-size: 14px !important; }
  .woocommerce-checkout #payment ul.payment_methods li label { font-size: 12px !important; }
}


/* ════════════════════════════════════════
   MOBILE OVERFLOW + TEXT CLIPPING FIXES
════════════════════════════════════════ */
html, body {
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}
/* Prevent any DZP element from causing horizontal scroll */
.dzp-section, .dzp-hero, .dzp-wrap-checkout,
.dzp-full-cart, .dzp-cart-drawer, .dzp-wizard {
  max-width: 100%;
  box-sizing: border-box;
  word-break: break-word;
  overflow-wrap: break-word;
}
/* All text inputs: never overflow */
.dzp-in, .dzp-sel, .dzp-ta {
  max-width: 100% !important;
  box-sizing: border-box !important;
}
/* Labels and text: wrap correctly */
.dzp-lbl, .dzp-hint, .dzp-ci-name, .dzp-ci-var,
.dzp-di-name, .dzp-fc-item-name, .dzp-modal-item-name {
  overflow-wrap: break-word;
  word-break: break-word;
}
/* Payment section on mobile */
@media (max-width: 500px) {
  .dzp-pay-val { font-size: 12px !important; letter-spacing: 0; }
  .dzp-pay-lbl { width: 45px; }
  .dzp-qr-img { max-width: 130px; }
  /* Checkout form padding */
  .dzp-section { padding-left: 4px !important; padding-right: 4px !important; }
  .dzp-grid, .dzp-sec-head { padding-left: 12px !important; padding-right: 12px !important; }
  /* Cart summary in checkout */
  .dzp-cart-summary { margin: 0 10px 14px; }
  /* Delivery type cards */
  .dzp-del-types { grid-template-columns: 1fr !important; gap: 8px !important; }
  .dzp-del-opt { padding: 10px 12px !important; }
  /* Stop badge text overflow */
  .dzp-badge { font-size: 11px !important; padding: 4px 10px !important; }
  /* Trust section */
  .dzp-trust { flex-wrap: wrap; gap: 6px !important; }
  .dzp-trust span { font-size: 11px !important; }
  /* Step counter text */
  .dzp-wiz-step-counter { font-size: 11px !important; }
  /* Order review overflow */
  .woocommerce-checkout #order_review { overflow-x: hidden; }
  #order_review table { font-size: 13px; }
  #order_review table td, #order_review table th { padding: 8px 6px !important; }
}
@media (max-width: 380px) {
  .dzp-hero-text h2 { font-size: 15px !important; }
  .dzp-hero-badges { gap: 4px !important; }
  .dzp-badge { font-size: 10px !important; }
  .dzp-section h3 { font-size: 15px !important; }
}

/* ══ Receipt upload drop zone ══
   Class names: .dzp-drop-ui | .dzp-drop-prog | .dzp-drop-bar | .dzp-drop-done | .dzp-fval */
.dzp-drop {
  padding: 18px 16px;
  cursor: pointer;
  border: 2px dashed var(--BR,#272b3a);
  border-top: none;
  border-radius: 0 0 10px 10px;
  transition: background .18s, border-color .18s;
  min-height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.dzp-drop:hover,
.dzp-drop.dzp-drag-over {
  background: rgba(244,121,32,.06);
  border-color: rgba(244,121,32,.4);
}
.dzp-drop-ui { width: 100%; text-align: center; }
.dzp-pick-lbl {
  color: var(--P,#F47920);
  cursor: pointer;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.dzp-pick-lbl input[type=file] { display: none; }
/* Progress bar */
.dzp-drop-prog { width: 100%; padding: 4px 0; }
.dzp-drop-bar-track {
  height: 6px;
  background: var(--BR,#272b3a);
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 8px;
}
.dzp-drop-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--P,#F47920), var(--PD,#c75e0a));
  border-radius: 6px;
  width: 0%;
  transition: width .15s;
}
/* Done state */
.dzp-drop-done {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 8px;
}
/* ── Phone & numbers always LTR — digits must not reverse ── */
input[type="tel"].dzp-in,
input[name="billing_phone"],
#billing_phone,
.dzp-field input[type="tel"] {
  direction: ltr !important;
  text-align: left !important;
  unicode-bidi: embed !important;
}

/* ── Ensure all DZP inputs are clickable and typeable ── */
.dzp-in, .dzp-sel, .dzp-ta {
  pointer-events: auto !important;
  user-select: text !important;
  -webkit-user-select: text !important;
  cursor: text !important;
  opacity: 1 !important;
}
.dzp-sel { cursor: pointer !important; }

/* ── Phone always LTR ── */
input[type="tel"].dzp-in,
input[name="billing_phone"],
#billing_phone {
  direction: ltr !important;
  text-align: left !important;
  unicode-bidi: embed !important;
}

/* ── Stops list scrollable ── */
#dzp-stops-list {
  max-height: 320px;
  overflow-y: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 4px;
}
.dzp-stop-card {
  cursor: pointer;
  border: 2px solid transparent;
  border-radius: 10px;
  padding: 10px 14px;
  background: var(--SRF, #1e2436);
  transition: border-color .15s, background .15s;
  flex: 1 1 calc(50% - 4px);
  min-width: 180px;
}
.dzp-stop-card:hover { border-color: var(--P, #F47920); }
.dzp-stop-card.dzp-stop-selected { border-color: var(--P, #F47920); background: rgba(244,121,32,.08); }
.dzp-stop-name { font-weight: 600; font-size: 14px; }
.dzp-stop-comm { font-size: 12px; color: var(--TX2, #9ca3af); margin-top: 2px; }
.dzp-stop-addr { font-size: 11px; color: var(--TX2, #9ca3af); }
.dzp-stop-phone { font-size: 11px; color: var(--P, #F47920); margin-top: 3px; }

/* ════════════════════════════════
   UX IMPROVEMENTS v23
════════════════════════════════ */

/* Smooth show/hide for delivery wrap */
.dzp-delivery-wrap {
  transition: opacity .25s ease;
}

/* Better stop card grid on mobile */
@media (max-width: 600px) {
  .dzp-stops-list { max-height: 240px; }
  .dzp-stop-card  { padding: 10px 12px; }
  .dzp-del-types  { grid-template-columns: 1fr; }
}

/* Loading spinner for stops */
.dzp-stops-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px;
  color: var(--MU, #7c84a0);
  font-size: 13px;
}
.dzp-stops-loading::before {
  content: '';
  width: 18px; height: 18px;
  border: 2px solid rgba(244,121,32,.2);
  border-top-color: var(--P, #F47920);
  border-radius: 50%;
  animation: dzpSpinF .7s linear infinite;
  flex-shrink: 0;
}
@keyframes dzpSpinF { to { transform: rotate(360deg); } }

/* FAB pulse */
@keyframes dzpFabPulse {
  0%   { transform: scale(1); }
  35%  { transform: scale(1.20); box-shadow: 0 0 0 10px rgba(244,121,32,.18); }
  100% { transform: scale(1); }
}
.dzp-cart-fab.dzp-pulse { animation: dzpFabPulse .55s ease; }

/* Better phone input direction */
input[type="tel"].dzp-in,
input[name="billing_phone"],
#billing_phone {
  direction: ltr !important;
  text-align: left !important;
}

/* Checkout grid 2-col auto */
@media (max-width: 560px) {
  .dzp-grid.two { grid-template-columns: 1fr !important; }
  .dzp-field { grid-column: 1 / -1 !important; }
}

/* Stop card — no stops message */
.dzp-no-stops-msg {
  padding: 16px;
  text-align: center;
  color: var(--MU, #7c84a0);
  font-size: 13px;
}

/* Sync progress bar in admin */
.dzp-sync-bar {
  height: 4px;
  background: rgba(244,121,32,.15);
  border-radius: 4px;
  overflow: hidden;
  margin-top: 8px;
}
.dzp-sync-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--P,#F47920), #f59e0b);
  border-radius: 4px;
  transition: width .4s ease;
}

/* Hide WC "Your order" heading — DZP shows its own order summary */
.woocommerce-checkout .woocommerce-checkout-review-order > h3,
.woocommerce-checkout #order_review_heading,
h3#order_review_heading { display: none !important; }

/* Fix trust badges layout at bottom */
.dzp-trust { 
    display: flex !important; 
    gap: 10px !important; 
    flex-wrap: wrap !important; 
    padding: 10px 0 !important;
    direction: rtl !important;
}
.dzp-trust span { 
    font-size: 13px !important; 
    color: var(--MU, #7c84a0) !important;
    white-space: nowrap !important;
}

/* Fix bottom section overflow */
.woocommerce-checkout-review-order-table { 
    background: var(--SRF, #13161f) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}

/* Hide per-wilaya manual price table - use global defaults instead */
#dzp-manual-rates-wrap { display: none !important; }
.dzp-manual-rates-section { display: none !important; }

/* ── Office Pickup Stops v59 ── */
#dzp-stops-wrap { margin-top:14px; }
.dzp-stops-head { font-size:13px; font-weight:700; color:var(--TX); margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid var(--BR); }
#dzp-stops-list {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:10px; max-height:300px; overflow-y:auto; padding-right:4px; direction:rtl;
}
.dzp-stop-card {
  position:relative; display:flex; flex-direction:column; gap:4px;
  padding:12px 14px; background:var(--SRF2); border:2px solid var(--BR);
  border-radius:10px; cursor:pointer; transition:all .15s;
}
.dzp-stop-card:hover { border-color:rgba(244,121,32,.5); transform:translateY(-1px); }
.dzp-stop-card.dzp-stop-selected { border-color:#F47920 !important; background:rgba(244,121,32,.07) !important; }
.dzp-stop-card.dzp-stop-selected::after {
  content:'✓'; position:absolute; top:8px; left:10px;
  width:18px; height:18px; background:#F47920; color:#fff;
  border-radius:50%; font-size:10px; font-weight:900;
  display:flex; align-items:center; justify-content:center;
}
.dzp-stop-header { display:flex; align-items:flex-start; justify-content:space-between; gap:6px; }
.dzp-stop-name  { font-size:13px; font-weight:700; color:var(--TX); line-height:1.3; }
.dzp-stop-comm  { font-size:11px; color:var(--TX2,#7c84a0); }
.dzp-stop-addr  { font-size:11px; color:var(--TX2,#7c84a0); line-height:1.3; }
.dzp-stop-phone { font-size:11px; color:var(--TX2,#7c84a0); }
.dzp-stop-map {
  font-size:16px; text-decoration:none; flex-shrink:0;
  padding:2px 4px; border-radius:6px; transition:background .15s;
  line-height:1;
}
.dzp-stop-map:hover { background:rgba(244,121,32,.15); }
.dzp-no-stops-msg {
  text-align:center; padding:20px; color:var(--TX2,#7c84a0);
  font-size:13px; display:flex; flex-direction:column; align-items:center; gap:4px;
}

/* ═══════════════════════════════════════
   RTL DIRECTION FIXES — colon & price values
   Prevent Unicode bidi algorithm from placing
   colons or number values on the wrong side in
   mixed Arabic/LTR (price, phone) content.
═══════════════════════════════════════ */

/* Drawer & cart-page price values — isolate LTR numbers from RTL label */
.dzp-fc-sum-row span:last-child,
.dzp-drawer-subtotal-val,
.dzp-di-price,
.dzp-fc-item-total,
#dzp-ship-amount,
.dzp-del-price,
.dzp-ship-price strong {
  unicode-bidi: isolate;
  direction: ltr;
  text-align: left;
}

/* Thank-you page value cells — phone already has dir=ltr; isolate all values */
.dzp-ty-row-val {
  unicode-bidi: isolate;
}

/* Order summary table in checkout — keep numbers LTR inside RTL table */
[dir="rtl"] .woocommerce-checkout table.shop_table td.product-total bdi,
[dir="rtl"] .woocommerce-checkout table.shop_table td.amount {
  unicode-bidi: isolate;
  direction: ltr;
}

/* Stop-card phone number — always LTR digits */
.dzp-stop-phone {
  direction: ltr;
  text-align: right; /* visually right-aligned in RTL card */
  unicode-bidi: embed;
}
