/* Infinity Digital — shop/account/info/cart/checkout overrides. Externalized for browser+CDN caching (was inline). Loaded late so it still wins the cascade. */
body ul.wc_payment_methods,
body .payment_methods.methods,
body form.checkout .wc_payment_methods{
  list-style:none!important;display:flex!important;flex-direction:column!important;
  gap:8px!important;padding:0!important;margin:0 0 16px!important;
}
body li.wc_payment_method,
body .wc_payment_methods .wc_payment_method{
  background:rgba(255,255,255,.04)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:10px!important;
  display:flex!important;align-items:center!important;flex-wrap:wrap!important;
  gap:12px!important;padding:12px 16px!important;
  margin:0!important;min-height:0!important;cursor:pointer;
  transition:border-color .2s ease,background .2s ease;
  position:relative;
}
body li.wc_payment_method:hover{border-color:rgba(255,255,255,.20)!important}
body li.wc_payment_method:has(input:checked),
body .wc_payment_methods .wc_payment_method:has(input:checked){
  border-color:#6366f1!important;
  background:rgba(99,102,241,.07)!important;
}
/* Custom dark radio button — 18px ring with accent dot when checked */
body li.wc_payment_method > input[type=radio]{
  -webkit-appearance:none!important;appearance:none!important;
  flex-shrink:0!important;
  width:18px!important;height:18px!important;min-width:18px!important;
  margin:0!important;padding:0!important;
  border:2px solid rgba(255,255,255,.25)!important;
  border-radius:50%!important;background:transparent!important;
  cursor:pointer!important;position:relative!important;
  float:none!important;top:auto!important;left:auto!important;
  vertical-align:middle!important;transition:border-color .2s ease;
}
body li.wc_payment_method > input[type=radio]:checked{
  border-color:#6366f1!important;
}
body li.wc_payment_method > input[type=radio]:checked::after{
  content:''!important;position:absolute!important;inset:3px!important;
  border-radius:50%!important;background:#6366f1!important;
}
/* Gateway label — name on the same row, icons aligned right */
body li.wc_payment_method > label,
body li.wc_payment_method > label[for]{
  display:inline-flex!important;align-items:center!important;
  flex:1 1 auto!important;gap:10px!important;
  margin:0!important;padding:0!important;
  font-size:14px!important;font-weight:600!important;
  color:#e7e9f0!important;background:transparent!important;
  cursor:pointer!important;min-height:0!important;line-height:1.2!important;
  border:none!important;
}
body li.wc_payment_method > label img{
  max-height:20px!important;height:20px!important;width:auto!important;
  margin:0 0 0 auto!important;display:inline-block!important;
  border-radius:4px;float:none!important;
}
body li.wc_payment_method > label img + img{margin-left:6px!important}
/* Description expand below — full width row */
body li.wc_payment_method .payment_box{
  flex-basis:100%!important;width:100%!important;
  margin:6px 0 0 30px!important;padding:0!important;
  background:transparent!important;border:none!important;
  color:#94a0b8!important;font-size:13px!important;line-height:1.6!important;
}
body li.wc_payment_method .payment_box::before{display:none!important}
body li.wc_payment_method .payment_box p{margin:0!important}

/* Place order — refined gradient button */
body #place_order{
  width:100%!important;padding:14px 28px!important;
  background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;
  color:#fff!important;border:none!important;border-radius:12px!important;
  font-size:15px!important;font-weight:700!important;letter-spacing:.3px!important;
  cursor:pointer!important;font-family:'Poppins',sans-serif!important;
  transition:transform .2s ease,box-shadow .25s ease,filter .2s ease!important;
  box-shadow:0 8px 24px -8px rgba(99,102,241,.6)!important;
  height:auto!important;min-height:0!important;
}
body #place_order:hover{transform:translateY(-2px);filter:brightness(1.07);
  box-shadow:0 14px 36px -10px rgba(99,102,241,.7)!important}

/* ── Checkout: compact mobile spacing (overrides page-template's loose padding) ── */
@media(max-width:760px){
  body .woocommerce-checkout,
  body form.checkout{margin-top:8px!important}
  body form.checkout #customer_details,
  body form.checkout .col2-set,
  body form.checkout .col-1,
  body form.checkout .col-2,
  body .woocommerce-billing-fields,
  body .woocommerce-billing-fields__field-wrapper{padding:0!important;margin:0!important}
  body .checkout-billing-card,
  body form.checkout .ids-checkout-card,
  body .billing-details-wrap,
  body .woocommerce form.checkout > .col2-set > div{
    padding:16px 14px!important;margin:0 0 14px!important;border-radius:12px!important;
  }
  body form.checkout h3,
  body form.checkout h3#order_review_heading,
  body .woocommerce-billing-fields h3{
    font-size:16px!important;font-weight:700!important;
    margin:0 0 12px!important;padding:0 0 8px!important;
  }
  body form.checkout p.form-row,
  body form.checkout .form-row{
    margin:0 0 10px!important;padding:0!important;
  }
  body form.checkout p.form-row label,
  body form.checkout .form-row label{
    font-size:10.5px!important;font-weight:700!important;
    letter-spacing:.7px!important;text-transform:uppercase!important;
    margin:0 0 4px!important;padding:0!important;display:block!important;
  }
  body form.checkout p.form-row input.input-text,
  body form.checkout p.form-row select,
  body form.checkout p.form-row textarea,
  body form.checkout .form-row input.input-text,
  body form.checkout .form-row select,
  body form.checkout .form-row textarea{
    height:42px!important;min-height:42px!important;
    padding:0 14px!important;font-size:14px!important;
    border-radius:10px!important;border:1px solid rgba(255,255,255,.12)!important;
    background:rgba(255,255,255,.04)!important;color:#e7e9f0!important;
  }
  body form.checkout textarea{height:auto!important;min-height:80px!important;padding:10px 14px!important}
  /* Coupon notice line — tighter */
  body .woocommerce-form-coupon-toggle,
  body .woocommerce-form-coupon-toggle .woocommerce-info,
  body .woocommerce-info{
    padding:10px 14px!important;font-size:13px!important;
    margin:0 0 12px!important;border-radius:10px!important;
  }
  /* Order review */
  body .woocommerce-checkout-review-order{padding:14px 16px!important;margin-top:14px!important}
  body .woocommerce-checkout-review-order-table{font-size:13px!important;margin:0!important}
  body .woocommerce-checkout-review-order-table th,
  body .woocommerce-checkout-review-order-table td{padding:8px 10px!important;line-height:1.45!important}
  body .woocommerce-checkout-review-order-table tfoot th,
  body .woocommerce-checkout-review-order-table tfoot td{padding:10px 10px!important}
  body .woocommerce-checkout-review-order h3,
  body #order_review_heading{font-size:16px!important;margin:0 0 10px!important;padding-bottom:8px!important}
  /* Payment method list — already compact, just tighten outer padding on mobile */
  body ul.wc_payment_methods{margin:12px 0 14px!important;gap:6px!important}
  body li.wc_payment_method{padding:10px 14px!important}
  body #place_order{padding:13px 24px!important;font-size:14.5px!important;margin-top:6px!important}
}
@media(max-width:480px){
  body form.checkout p.form-row input.input-text,
  body form.checkout .form-row input.input-text{height:40px!important}
  body .ids-container{padding-left:14px!important;padding-right:14px!important}
}

/* ══════════════════════════════════════════════════════════
   FOOTER — modern contact tiles + payment chips + bulletproof
   side-by-side mobile. Inline so it wins the cascade.
   ══════════════════════════════════════════════════════════ */
body .ids-footer__contact{
  display:grid!important;grid-template-columns:1fr;gap:10px!important;
  margin:18px 0!important;
}
body .ids-footer__contact-item{
  display:flex!important;align-items:center!important;gap:12px!important;
  padding:8px 10px!important;border-radius:10px!important;
  background:rgba(255,255,255,.025)!important;
  border:1px solid rgba(255,255,255,.06)!important;
  color:#c7cdde!important;text-decoration:none!important;
  font-size:13.5px!important;
  transition:border-color .2s ease,background .2s ease,transform .2s ease!important;
}
body .ids-footer__contact-item:hover{
  border-color:rgba(99,102,241,.35)!important;
  background:rgba(99,102,241,.06)!important;
  transform:translateY(-1px);
}
body .ids-footer__contact-item .ids-fc-icon{
  flex-shrink:0;width:36px;height:36px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(99,102,241,.12);color:#a5b4fc;
}
body .ids-footer__contact-item .ids-fc-icon svg{width:18px;height:18px;display:block;padding:0;background:transparent;border-radius:0;color:inherit}
body .ids-footer__contact-item .ids-fc-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
body .ids-footer__contact-item .ids-fc-label{
  font-size:10.5px;font-weight:700;letter-spacing:.6px;
  text-transform:uppercase;color:#8a90a8;
}
body .ids-footer__contact-item .ids-fc-val{
  font-size:13.5px;font-weight:600;color:#e7e9f0;
  word-break:break-word;line-height:1.3;
}
body .ids-fc--wa .ids-fc-icon{background:rgba(37,211,102,.15);color:#25D366}
body .ids-fc--fb .ids-fc-icon{background:rgba(24,119,242,.15);color:#1877F2}

/* Payment partner cards — white-bg cards holding inline SVG brand logos */
body .ids-pay-grid{
  display:flex!important;flex-wrap:wrap!important;
  gap:8px!important;justify-content:center!important;
  margin:6px 0 0!important;
}
body .ids-pay-card{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:88px!important;height:38px!important;padding:0 6px!important;
  background:#fff!important;border-radius:6px!important;
  border:1px solid rgba(0,0,0,.08)!important;
  box-shadow:0 1px 0 rgba(0,0,0,.04);
  transition:transform .2s ease,box-shadow .2s ease;
}
body .ids-pay-card:hover{transform:translateY(-2px);box-shadow:0 6px 14px -6px rgba(0,0,0,.45)}
body .ids-pay-card svg,
body .ids-pay-card img{max-width:100%!important;max-height:100%!important;width:auto;height:auto;display:block;object-fit:contain}
body .ids-footer__payments-note{
  text-align:center;font-size:11.5px;color:#8a90a8;
  margin:14px 0 0!important;letter-spacing:.3px;
}

/* MOBILE: bulletproof side-by-side */
@media(max-width:760px){
  body .ids-footer__grid{
    display:grid!important;grid-template-columns:1fr 1fr 1fr!important;
    gap:14px 16px!important;
  }
  body .ids-footer__brand{
    grid-column:1 / -1!important;
    display:grid!important;grid-template-columns:auto 1fr!important;
    align-items:center!important;gap:12px!important;
    padding:0 0 12px!important;margin:0!important;
    border-bottom:1px solid rgba(255,255,255,.06)!important;
  }
  body .ids-footer__brand .custom-logo,
  body .ids-footer__brand .ids-logo img{height:30px!important;margin:0!important}
  body .ids-footer__brand .ids-footer__tagline{display:none!important}
  body .ids-footer__brand .ids-footer__contact{
    grid-column:1 / -1!important;
    grid-template-columns:1fr 1fr!important;
    margin:12px 0 8px!important;
  }
  body .ids-footer__brand .ids-footer__trust-badges{
    grid-column:1 / -1!important;justify-content:center!important;
  }
  body .ids-footer__social{
    grid-column:2!important;justify-content:flex-end!important;
    margin:0!important;gap:6px!important;
  }
  body .ids-social-link{width:32px!important;height:32px!important;border-radius:9px!important}
  body .ids-social-link svg{width:15px!important;height:15px!important}

  body .ids-footer__col-title{
    font-size:10.5px!important;letter-spacing:1px!important;
    margin-bottom:10px!important;padding-bottom:6px!important;
  }
  body .ids-footer__col-title::after{width:18px;height:2px}
  body .ids-footer__links{gap:7px!important}
  body .ids-footer__links a{
    font-size:12px!important;line-height:1.35!important;
    white-space:normal;overflow-wrap:anywhere;word-break:break-word;
  }
  body .ids-footer__links a::before{display:none!important}

  body .ids-footer__contact-item{padding:7px 8px!important;gap:8px!important}
  body .ids-footer__contact-item .ids-fc-icon{width:30px!important;height:30px!important;border-radius:8px!important}
  body .ids-footer__contact-item .ids-fc-icon svg{width:14px!important;height:14px!important;padding:0!important;background:transparent!important}
  body .ids-footer__contact-item .ids-fc-label{font-size:9.5px!important}
  body .ids-footer__contact-item .ids-fc-val{font-size:12px!important}

  body .ids-footer__payments{padding:14px 0!important}
  body .ids-pay-grid{gap:6px!important}
  body .ids-pay-card{width:74px!important;height:32px!important;padding:0 4px!important;border-radius:5px!important}

  body .ids-footer__bottom{padding:10px 0!important}
  body .ids-footer__bottom-inner{
    flex-direction:row!important;justify-content:space-between!important;
    align-items:center!important;gap:8px!important;flex-wrap:wrap!important;
    text-align:left!important;
  }
  body .ids-footer__copy{font-size:11px!important;flex:1 1 auto}
  body .ids-footer__legal-links a{font-size:11px!important;padding:2px 5px!important}
}
@media(max-width:380px){
  body .ids-footer__grid{grid-template-columns:1fr 1fr!important}
  body .ids-footer__brand .ids-footer__contact{grid-template-columns:1fr!important}
}

/* ══════════════════════════════════════════════════════════
   QUANTITY STEPPER — premium pill (wins cascade vs Nasa/template)
   Covers our JS-built .ids-qty-stepper AND native WC/Nasa qty.
   ══════════════════════════════════════════════════════════ */
body .quantity,
body .ids-qty-stepper,
body form.cart .quantity,
body .woocommerce-variation-add-to-cart .quantity{
  display:inline-flex!important;align-items:center!important;
  gap:4px!important;width:auto!important;height:54px!important;
  padding:5px!important;margin:0!important;
  background:#1a1d2e!important;
  border:1px solid #2a2f45!important;border-radius:14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
  transition:border-color .2s ease,box-shadow .2s ease!important;
  vertical-align:middle!important;
}
body .quantity:hover,
body .ids-qty-stepper:hover,
body .quantity:focus-within{
  border-color:#6366f1!important;
  box-shadow:0 0 0 3px rgba(99,102,241,.16)!important;
}
body .quantity input.qty,
body .quantity input[type=number],
body .ids-qty-stepper input.qty{
  width:50px!important;height:100%!important;
  background:transparent!important;border:0!important;outline:0!important;
  color:#fff!important;font-size:17px!important;font-weight:700!important;
  font-family:inherit!important;text-align:center!important;
  padding:0!important;margin:0!important;border-radius:0!important;
  box-shadow:none!important;-moz-appearance:textfield!important;appearance:textfield!important;
}
body .quantity input.qty::-webkit-outer-spin-button,
body .quantity input.qty::-webkit-inner-spin-button{
  -webkit-appearance:none!important;margin:0!important;
}
body .ids-qty-btn,
body .quantity-btn,
body .quantity .minus,
body .quantity .plus,
body .quantity .nasa-quantity-button,
body .nasa-quantity-button,
body .quantity button{
  width:42px!important;height:100%!important;min-width:42px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  background:rgba(255,255,255,.05)!important;
  border:0!important;border-radius:10px!important;
  color:#e7e9f0!important;font-size:20px!important;font-weight:600!important;
  line-height:1!important;cursor:pointer!important;text-decoration:none!important;
  text-indent:0!important;flex-shrink:0!important;
  transition:background .18s ease,color .18s ease,transform .1s ease!important;
}
body .ids-qty-btn:hover,
body .quantity .minus:hover,
body .quantity .plus:hover,
body .nasa-quantity-button:hover,
body .quantity button:hover{
  background:#6366f1!important;color:#fff!important;
}
body .ids-qty-btn:active,
body .quantity .minus:active,
body .quantity .plus:active,
body .quantity button:active{ transform:scale(.9)!important; }
/* Neutralise any background-image arrows the theme injected on its buttons */
body .quantity .minus,
body .quantity .plus,
body .nasa-quantity-button{ background-image:none!important; }

/* ══════════════════════════════════════════════════════════
   CART CTA AREA — premium dark glass redesign (mobile-first)
   Owns: quantity row · Add to Cart · Buy Now
   Palette: bg #070B18 / card #101728 / primary #6C63FF / glow rgba(108,99,255,.35)
   Wins cascade over Nasa/Woodmart + variation_evaluator disabled state.
   ══════════════════════════════════════════════════════════ */

/* Cart-area wrapper: vertical stack with consistent rhythm */
body .ids-product-summary__cart-area form.cart,
body .ids-product-summary__cart-area form.variations_form.cart{
  display:flex!important;flex-direction:column!important;
  gap:14px!important;width:100%!important;margin:14px 0 0!important;
}
body form.variations_form .woocommerce-variation-add-to-cart{
  display:flex!important;flex-direction:column!important;
  gap:14px!important;align-items:stretch!important;
  margin-top:14px!important;
}

/* The two buy actions: full-width on every viewport */
body form.cart .quantity,
body form.cart .ids-qty-stepper,
body .woocommerce-variation-add-to-cart .quantity,
body form.cart .single_add_to_cart_button,
body form.cart button.single_add_to_cart_button,
body form.cart .ids-buy-now-btn,
body form.cart .ids-buy-now-js,
body form.cart .ids-buy-now-variable,
body form.cart a.ids-buy-now-btn{
  flex:1 1 100%!important;width:100%!important;max-width:100%!important;
  box-sizing:border-box!important;
}

/* QTY stepper row: compact, centered [-] [N] [+] group — NOT stretched. */
body form.cart .quantity,
body .woocommerce-variation-add-to-cart .quantity,
body .ids-qty-stepper{
  display:inline-flex!important;justify-content:center!important;
  align-items:center!important;gap:8px!important;
  width:auto!important;align-self:center!important;
  margin:0 auto!important;
  height:auto!important;min-height:54px!important;
  background:#101728!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:12px!important;padding:5px!important;
}
body form.cart .quantity input.qty,
body form.cart .quantity input[type=number]{
  flex:0 0 auto!important;width:64px!important;min-width:0!important;
  height:44px!important;
  background:transparent!important;border:0!important;outline:0!important;
  text-align:center!important;
  font:700 18px/1 Poppins,sans-serif!important;color:#fff!important;
  padding:0!important;margin:0!important;border-radius:0!important;
  -moz-appearance:textfield!important;appearance:textfield!important;
}
body form.cart .quantity input.qty::-webkit-outer-spin-button,
body form.cart .quantity input.qty::-webkit-inner-spin-button{
  -webkit-appearance:none!important;margin:0!important;
}
body form.cart .quantity .minus,
body form.cart .quantity .plus,
body form.cart .quantity .nasa-quantity-button,
body form.cart .quantity button,
body .ids-qty-btn{
  flex:0 0 44px!important;
  width:44px!important;min-width:44px!important;max-width:44px!important;
  height:44px!important;min-height:44px!important;max-height:44px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  border-radius:11px!important;border:0!important;
  background:rgba(108,99,255,.10)!important;
  color:#cdd2e6!important;font:600 22px/1 Poppins,sans-serif!important;
  cursor:pointer!important;padding:0!important;
  transition:background .18s ease,color .18s ease,
             transform .1s ease,box-shadow .2s ease!important;
}
body form.cart .quantity .minus:hover,
body form.cart .quantity .plus:hover,
body form.cart .quantity button:hover,
body .ids-qty-btn:hover{
  background:#6C63FF!important;color:#fff!important;
  box-shadow:0 6px 18px -4px rgba(108,99,255,.55)!important;
}
body form.cart .quantity .minus:active,
body form.cart .quantity .plus:active,
body form.cart .quantity button:active,
body .ids-qty-btn:active{
  transform:scale(.96)!important;
  box-shadow:0 0 12px rgba(108,99,255,.35)!important;
}
body form.cart .quantity:focus-within{
  border-color:rgba(108,99,255,.45)!important;
  box-shadow:0 0 0 3px rgba(108,99,255,.16)!important;
}
/* Row that holds the qty stepper: center it within the column stack. */
body .ids-product-summary__cart-area form.cart > .quantity,
body .ids-product-summary__cart-area form.variations_form.cart .woocommerce-variation-add-to-cart > .quantity,
body .ids-product-summary__cart-area form.variations_form.cart > .quantity{
  align-self:center!important;flex:0 0 auto!important;width:auto!important;
}

/* ══════════════════════════════════════════════════════════
   SHOPPING CART PAGE — premium card-based redesign
   Scope: body.page-template-page-shopping-cart only.
   Converts the WC <table> into a flex/grid card layout, restyles the
   coupon row, makes cart-totals a sticky glass card, narrows the
   container, and injects native +/- qty buttons via JS below.
   ══════════════════════════════════════════════════════════ */
body.page-template-page-shopping-cart .ids-entry-content,
body.page-template-page-shopping-cart .ids-entry-content > .section-element,
body.page-template-page-shopping-cart .ids-entry-content .row{
  max-width:1200px!important;margin-left:auto!important;margin-right:auto!important;
}
body.page-template-page-shopping-cart .woocommerce{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 340px!important;
  gap:24px!important;align-items:start!important;
}
@media(max-width:960px){
  body.page-template-page-shopping-cart .woocommerce{grid-template-columns:1fr!important}
}
body.page-template-page-shopping-cart .ids-entry-content .large-12,
body.page-template-page-shopping-cart .ids-entry-content .nasa-col{
  width:100%!important;max-width:100%!important;flex:1 1 100%!important;
  margin-bottom:0!important;padding-left:0!important;padding-right:0!important;
}

/* Cart form (left column) → card list */
body.page-template-page-shopping-cart .woocommerce-cart-form{
  background:#101728;border:1px solid rgba(255,255,255,.07);border-radius:18px;
  padding:18px 18px 8px;box-shadow:0 18px 50px -22px rgba(0,0,0,.45);
}
body.page-template-page-shopping-cart .woocommerce-cart-form table.shop_table thead,
body.page-template-page-shopping-cart .woocommerce-cart-form table.shop_table caption{display:none!important}
body.page-template-page-shopping-cart .woocommerce-cart-form table.shop_table,
body.page-template-page-shopping-cart .woocommerce-cart-form table.shop_table tbody{
  display:block!important;width:100%!important;background:transparent!important;border:0!important;
}
body.page-template-page-shopping-cart .woocommerce-cart-form table.shop_table tr.cart_item{
  display:grid!important;
  grid-template-columns:repeat(12,1fr)!important;
  column-gap:14px;row-gap:12px;align-items:center;
  padding:16px;margin-bottom:12px;
  background:linear-gradient(180deg,#141a2e 0%,#0f1424 100%)!important;
  border:1px solid rgba(255,255,255,.06)!important;border-radius:14px!important;
  position:relative;transition:border-color .2s ease,box-shadow .2s ease;
}
body.page-template-page-shopping-cart .woocommerce-cart-form table.shop_table tr.cart_item:hover{
  border-color:rgba(108,99,255,.30)!important;box-shadow:0 0 0 3px rgba(108,99,255,.06);
}
body.page-template-page-shopping-cart .woocommerce-cart-form table.shop_table tr.cart_item td{
  border:0!important;padding:0!important;background:transparent!important;
  font-size:14.5px;color:#cdd2e6;
}
body.page-template-page-shopping-cart td.product-remove{
  position:absolute!important;top:8px;right:10px;width:auto!important;
}
body.page-template-page-shopping-cart td.product-remove a.remove{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:50%;
  background:rgba(239,68,68,.12);color:#ef4444!important;
  font-size:18px;font-weight:600;text-decoration:none;
  transition:background .18s ease,color .18s ease,transform .12s ease;
}
body.page-template-page-shopping-cart td.product-remove a.remove:hover{
  background:#ef4444;color:#fff!important;transform:scale(1.08);
}
/* Card grid placement: row 1 = thumb + name (+ remove abs.) ; row 2 = price · qty · subtotal */
body.page-template-page-shopping-cart td.product-thumbnail{
  grid-column:1 / span 2!important;grid-row:1 / span 2!important;align-self:start!important;
}
body.page-template-page-shopping-cart td.product-thumbnail img{
  width:80px!important;height:80px!important;border-radius:12px!important;
  object-fit:cover;border:1px solid rgba(255,255,255,.06);
  box-shadow:0 6px 14px -6px rgba(0,0,0,.5);display:block;
}
body.page-template-page-shopping-cart td.product-name{
  grid-column:3 / span 10!important;grid-row:1!important;min-width:0;
  padding-right:36px!important;align-self:center!important;
}
body.page-template-page-shopping-cart td.product-name a{
  color:#fff!important;font:700 15px/1.35 Poppins,sans-serif;
  text-decoration:none!important;display:inline-block;margin-bottom:4px;
}
body.page-template-page-shopping-cart td.product-name a:hover{color:#7c83f7!important}
body.page-template-page-shopping-cart td.product-name dl.variation{
  margin:6px 0 0;padding:0;font-size:12.5px;color:#8a90a8;
  display:flex;flex-wrap:wrap;gap:6px 8px;
}
body.page-template-page-shopping-cart td.product-name dl.variation dt,
body.page-template-page-shopping-cart td.product-name dl.variation dd{
  display:inline-flex;align-items:center;padding:3px 8px;margin:0;
  background:rgba(108,99,255,.10);border:1px solid rgba(108,99,255,.20);
  border-radius:999px;font-weight:600;font-size:11.5px;letter-spacing:.2px;
}
body.page-template-page-shopping-cart td.product-name dl.variation dt{
  color:#8a90a8;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.07);
}
body.page-template-page-shopping-cart td.product-name dl.variation dd{color:#cdd2ff}
body.page-template-page-shopping-cart td.product-name dl.variation dd p{display:inline;margin:0}

body.page-template-page-shopping-cart td.product-price{
  grid-column:3 / span 4!important;grid-row:2!important;
  font-weight:700;color:#fff;font-size:14px;white-space:nowrap;
  align-self:center!important;
}
body.page-template-page-shopping-cart td.product-price::before{
  content:"Price";display:block;font-size:10px;letter-spacing:.8px;
  text-transform:uppercase;color:#5b6080;font-weight:700;margin-bottom:3px;
}

body.page-template-page-shopping-cart td.product-quantity{
  grid-column:7 / span 3!important;grid-row:2!important;
  justify-self:center!important;align-self:center!important;
}

body.page-template-page-shopping-cart td.product-subtotal{
  grid-column:10 / span 3!important;grid-row:2!important;
  font-weight:800;color:#fff;font-size:15.5px;
  white-space:nowrap;text-align:right!important;
  justify-self:end!important;align-self:center!important;
}
body.page-template-page-shopping-cart td.product-subtotal::before{
  content:"Subtotal";display:block;font-size:10px;letter-spacing:.8px;
  text-transform:uppercase;color:#5b6080;font-weight:700;margin-bottom:3px;
  text-align:right;
}
body.page-template-page-shopping-cart td.product-subtotal .woocommerce-Price-amount{
  background:linear-gradient(135deg,#7C73FF 0%,#6C63FF 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
@media(max-width:640px){
  body.page-template-page-shopping-cart td.product-thumbnail{
    grid-column:1 / span 3!important;grid-row:1 / span 2!important;
  }
  body.page-template-page-shopping-cart td.product-thumbnail img{width:72px!important;height:72px!important}
  body.page-template-page-shopping-cart td.product-name{
    grid-column:4 / span 9!important;padding-right:32px!important;
  }
  body.page-template-page-shopping-cart td.product-price{
    grid-column:4 / span 5!important;font-size:13.5px;
  }
  body.page-template-page-shopping-cart td.product-subtotal{
    grid-column:9 / span 4!important;font-size:14.5px;
  }
  body.page-template-page-shopping-cart td.product-quantity{
    grid-column:1 / span 12!important;grid-row:3!important;justify-self:start!important;
  }
  body.page-template-page-shopping-cart td.product-quantity .quantity{margin:0!important;justify-content:flex-start!important}
}

/* Ensure the WhatsApp / live-chat widget doesn't clip the last card */
body.page-template-page-shopping-cart .ids-entry-content{padding-bottom:96px!important}

/* ══════════════════════════════════════════════════════════
   INFO PAGES — premium dark redesign for Elementor-built
   About / Contact / Privacy / Terms / Refund / Product Request.
   Scoped to body.page-id-* so it never bleeds to other pages.
   ══════════════════════════════════════════════════════════ */
body.page-id-3725,  /* ABOUT US (elm-about-us) */
body.page-id-253,   /* Contact Us */
body.page-id-3724,  /* Contact Us (legacy elm-contact-us) */
body.page-id-4225,  /* Privacy Policy */
body.page-id-4289,  /* Terms and Conditions */
body.page-id-4236,  /* Product Request */
body.page-id-12,    /* Refund and Returns Policy */
body.page-id-3051,  /* About Us (legacy) */
body.page-id-3062   /* About Us Type 2 */
{ --ids-info-bg:#0a0f1d; --ids-info-card:#15182a; --ids-info-line:rgba(255,255,255,.07);
  --ids-info-accent:#6C63FF; --ids-info-text:#cdd2e6; --ids-info-mute:#8a90a8; }

/* Wider, breathable container with consistent vertical rhythm */
body.page-id-3725 .elementor-section,
body.page-id-3724 .elementor-section,
body.page-id-4225 .elementor-section,
body.page-id-4289 .elementor-section,
body.page-id-4236 .elementor-section,
body.page-id-12   .elementor-section,
body.page-id-3051 .elementor-section,
body.page-id-3062 .elementor-section{
  padding-top:48px!important;padding-bottom:48px!important;
}
body.page-id-3725 .elementor-container,
body.page-id-3724 .elementor-container,
body.page-id-4225 .elementor-container,
body.page-id-4289 .elementor-container,
body.page-id-4236 .elementor-container,
body.page-id-12   .elementor-container,
body.page-id-3051 .elementor-container,
body.page-id-3062 .elementor-container{
  max-width:1180px!important;
}

/* Page title hero */
body.page-id-3725 .ids-page-title,
body.page-id-3724 .ids-page-title,
body.page-id-4225 .ids-page-title,
body.page-id-4289 .ids-page-title,
body.page-id-4236 .ids-page-title,
body.page-id-12   .ids-page-title,
body.page-id-3051 .ids-page-title,
body.page-id-3062 .ids-page-title{
  font:800 clamp(28px,4.2vw,42px)/1.1 Poppins,sans-serif!important;
  letter-spacing:-.02em;margin:24px 0 8px;
  background:linear-gradient(135deg,#fff 0%,#cdd2ff 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}

/* SECTION HEADINGS (h2/h3 inside elementor heading widgets) */
body.page-id-3725 .elementor-widget-heading .elementor-heading-title,
body.page-id-3724 .elementor-widget-heading .elementor-heading-title,
body.page-id-4225 .elementor-widget-heading .elementor-heading-title,
body.page-id-4289 .elementor-widget-heading .elementor-heading-title,
body.page-id-4236 .elementor-widget-heading .elementor-heading-title,
body.page-id-12   .elementor-widget-heading .elementor-heading-title,
body.page-id-3051 .elementor-widget-heading .elementor-heading-title,
body.page-id-3062 .elementor-widget-heading .elementor-heading-title{
  font-family:'Poppins',sans-serif!important;color:#fff!important;
  font-weight:800!important;letter-spacing:-.01em!important;
  position:relative;display:inline-block;
}
/* Add the underline accent ONLY when the heading isn't a tiny inline label */
body.page-id-3725 .elementor-widget-heading.elementor-widget-heading > .elementor-widget-container > .elementor-heading-title.elementor-size-default,
body.page-id-3724 .elementor-widget-heading.elementor-widget-heading > .elementor-widget-container > .elementor-heading-title.elementor-size-default,
body.page-id-4225 .elementor-widget-heading > .elementor-widget-container > .elementor-heading-title,
body.page-id-4289 .elementor-widget-heading > .elementor-widget-container > .elementor-heading-title{
  padding-bottom:10px;
}
body.page-id-3725 .elementor-widget-heading .elementor-heading-title::after,
body.page-id-3724 .elementor-widget-heading .elementor-heading-title::after,
body.page-id-3051 .elementor-widget-heading .elementor-heading-title::after,
body.page-id-3062 .elementor-widget-heading .elementor-heading-title::after{
  content:"";position:absolute;left:0;bottom:0;width:48px;height:3px;
  background:linear-gradient(135deg,#7C73FF,#5A4DE6);border-radius:3px;
}
/* Heading sizes */
body.page-id-3725 h1.elementor-heading-title,
body.page-id-3724 h1.elementor-heading-title,
body.page-id-3051 h1.elementor-heading-title{font-size:clamp(28px,3.6vw,38px)!important}
body.page-id-3725 h2.elementor-heading-title,
body.page-id-3724 h2.elementor-heading-title,
body.page-id-4225 h2.elementor-heading-title,
body.page-id-4289 h2.elementor-heading-title{font-size:clamp(22px,2.6vw,28px)!important}
body.page-id-3725 h3.elementor-heading-title,
body.page-id-3724 h3.elementor-heading-title{font-size:clamp(18px,2.1vw,22px)!important}

/* TEXT EDITORS (body copy) — readable line-height + max measure */
body.page-id-3725 .elementor-widget-text-editor,
body.page-id-3724 .elementor-widget-text-editor,
body.page-id-4225 .elementor-widget-text-editor,
body.page-id-4289 .elementor-widget-text-editor,
body.page-id-4236 .elementor-widget-text-editor,
body.page-id-12   .elementor-widget-text-editor,
body.page-id-3051 .elementor-widget-text-editor,
body.page-id-3062 .elementor-widget-text-editor{
  color:#cdd2e6!important;
}
body.page-id-3725 .elementor-widget-text-editor p,
body.page-id-3724 .elementor-widget-text-editor p,
body.page-id-4225 .elementor-widget-text-editor p,
body.page-id-4289 .elementor-widget-text-editor p,
body.page-id-4236 .elementor-widget-text-editor p,
body.page-id-12   .elementor-widget-text-editor p,
body.page-id-3051 .elementor-widget-text-editor p,
body.page-id-3062 .elementor-widget-text-editor p{
  color:#cdd2e6!important;
  font:500 15.5px/1.75 Poppins,sans-serif!important;
  margin:0 0 14px!important;max-width:68ch;
}
body.page-id-3725 .elementor-widget-text-editor strong,
body.page-id-3724 .elementor-widget-text-editor strong,
body.page-id-4225 .elementor-widget-text-editor strong,
body.page-id-4289 .elementor-widget-text-editor strong{color:#fff!important;font-weight:700!important}
body.page-id-3725 .elementor-widget-text-editor a,
body.page-id-3724 .elementor-widget-text-editor a,
body.page-id-4225 .elementor-widget-text-editor a,
body.page-id-4289 .elementor-widget-text-editor a,
body.page-id-12   .elementor-widget-text-editor a{
  color:#a9aeff!important;text-decoration:none!important;
  border-bottom:1px solid rgba(124,131,247,.45);
  transition:color .2s ease,border-color .2s ease;
}
body.page-id-3725 .elementor-widget-text-editor a:hover,
body.page-id-3724 .elementor-widget-text-editor a:hover,
body.page-id-4225 .elementor-widget-text-editor a:hover,
body.page-id-4289 .elementor-widget-text-editor a:hover{
  color:#fff!important;border-color:#7c83f7!important;
}
/* List styling inside text editors (privacy / terms / refund are list-heavy) */
body.page-id-4225 .elementor-widget-text-editor ul,
body.page-id-4289 .elementor-widget-text-editor ul,
body.page-id-12   .elementor-widget-text-editor ul,
body.page-id-3725 .elementor-widget-text-editor ul,
body.page-id-3724 .elementor-widget-text-editor ul{
  margin:0 0 16px;padding:0;list-style:none;
}
body.page-id-4225 .elementor-widget-text-editor li,
body.page-id-4289 .elementor-widget-text-editor li,
body.page-id-12   .elementor-widget-text-editor li,
body.page-id-3725 .elementor-widget-text-editor li,
body.page-id-3724 .elementor-widget-text-editor li{
  position:relative;padding:6px 0 6px 24px;color:#cdd2e6;font-size:15px;line-height:1.7;
}
body.page-id-4225 .elementor-widget-text-editor li::before,
body.page-id-4289 .elementor-widget-text-editor li::before,
body.page-id-12   .elementor-widget-text-editor li::before,
body.page-id-3725 .elementor-widget-text-editor li::before,
body.page-id-3724 .elementor-widget-text-editor li::before{
  content:"";position:absolute;left:4px;top:14px;width:8px;height:8px;border-radius:50%;
  background:linear-gradient(135deg,#7C73FF,#5A4DE6);
  box-shadow:0 0 0 2px rgba(108,99,255,.18);
}

/* IMAGE / ILLUSTRATION sides — soft framed look */
body.page-id-3725 .elementor-widget-image img,
body.page-id-3724 .elementor-widget-image img,
body.page-id-3051 .elementor-widget-image img,
body.page-id-3062 .elementor-widget-image img{
  border-radius:18px!important;
  background:linear-gradient(180deg,#15182a 0%,#0e1120 100%);
  box-shadow:0 24px 60px -22px rgba(0,0,0,.6),
             inset 0 0 0 1px rgba(255,255,255,.06);
}

/* ACCORDION — premium dark card */
body.page-id-3725 .elementor-accordion,
body.page-id-3724 .elementor-accordion,
body.page-id-4225 .elementor-accordion,
body.page-id-4289 .elementor-accordion,
body.page-id-12   .elementor-accordion,
body.page-id-3051 .elementor-accordion,
body.page-id-3062 .elementor-accordion{
  display:flex;flex-direction:column;gap:10px;
  border:0!important;background:transparent!important;
}
body.page-id-3725 .elementor-accordion-item,
body.page-id-3724 .elementor-accordion-item,
body.page-id-4225 .elementor-accordion-item,
body.page-id-4289 .elementor-accordion-item,
body.page-id-12   .elementor-accordion-item,
body.page-id-3051 .elementor-accordion-item,
body.page-id-3062 .elementor-accordion-item{
  background:linear-gradient(180deg,#15182a 0%,#0f1424 100%)!important;
  border:1px solid var(--ids-info-line)!important;border-radius:14px!important;
  overflow:hidden;
  transition:border-color .2s ease,box-shadow .2s ease;
}
body.page-id-3725 .elementor-accordion-item:hover,
body.page-id-3724 .elementor-accordion-item:hover,
body.page-id-4225 .elementor-accordion-item:hover,
body.page-id-4289 .elementor-accordion-item:hover,
body.page-id-12   .elementor-accordion-item:hover,
body.page-id-3051 .elementor-accordion-item:hover,
body.page-id-3062 .elementor-accordion-item:hover{
  border-color:rgba(108,99,255,.32)!important;
  box-shadow:0 12px 30px -16px rgba(108,99,255,.30);
}
body.page-id-3725 .elementor-accordion-item .elementor-tab-title,
body.page-id-3724 .elementor-accordion-item .elementor-tab-title,
body.page-id-4225 .elementor-accordion-item .elementor-tab-title,
body.page-id-4289 .elementor-accordion-item .elementor-tab-title,
body.page-id-12   .elementor-accordion-item .elementor-tab-title,
body.page-id-3051 .elementor-accordion-item .elementor-tab-title,
body.page-id-3062 .elementor-accordion-item .elementor-tab-title{
  border:0!important;background:transparent!important;
  padding:18px 22px!important;
  font:700 15.5px/1.3 Poppins,sans-serif!important;color:#fff!important;
  cursor:pointer;display:flex;align-items:center;gap:12px;
  transition:color .18s ease,background .18s ease;
}
body.page-id-3725 .elementor-accordion-item .elementor-tab-title:hover,
body.page-id-3724 .elementor-accordion-item .elementor-tab-title:hover,
body.page-id-4225 .elementor-accordion-item .elementor-tab-title:hover,
body.page-id-4289 .elementor-accordion-item .elementor-tab-title:hover,
body.page-id-12   .elementor-accordion-item .elementor-tab-title:hover{
  background:rgba(108,99,255,.06)!important;
}
body.page-id-3725 .elementor-accordion-item .elementor-tab-title.elementor-active,
body.page-id-3724 .elementor-accordion-item .elementor-tab-title.elementor-active,
body.page-id-4225 .elementor-accordion-item .elementor-tab-title.elementor-active,
body.page-id-4289 .elementor-accordion-item .elementor-tab-title.elementor-active,
body.page-id-12   .elementor-accordion-item .elementor-tab-title.elementor-active{
  background:rgba(108,99,255,.10)!important;color:#fff!important;
  border-bottom:1px solid rgba(108,99,255,.20)!important;
}
/* Accordion icon: replace Elementor's tiny +/- text with a purple chevron pill */
body.page-id-3725 .elementor-accordion-icon,
body.page-id-3724 .elementor-accordion-icon,
body.page-id-4225 .elementor-accordion-icon,
body.page-id-4289 .elementor-accordion-icon,
body.page-id-12   .elementor-accordion-icon,
body.page-id-3051 .elementor-accordion-icon,
body.page-id-3062 .elementor-accordion-icon{
  width:30px!important;height:30px!important;flex-shrink:0;
  display:inline-flex!important;align-items:center;justify-content:center;
  background:rgba(108,99,255,.14)!important;border:1px solid rgba(108,99,255,.28)!important;
  border-radius:8px!important;color:#cdd2ff!important;
  margin-right:0!important;
  transition:background .2s ease,transform .25s ease,color .2s ease;
}
body.page-id-3725 .elementor-tab-title.elementor-active .elementor-accordion-icon,
body.page-id-3724 .elementor-tab-title.elementor-active .elementor-accordion-icon,
body.page-id-4225 .elementor-tab-title.elementor-active .elementor-accordion-icon,
body.page-id-4289 .elementor-tab-title.elementor-active .elementor-accordion-icon,
body.page-id-12   .elementor-tab-title.elementor-active .elementor-accordion-icon{
  background:linear-gradient(135deg,#7C73FF,#5A4DE6)!important;color:#fff!important;
  border-color:transparent!important;transform:rotate(180deg);
}
body.page-id-3725 .elementor-accordion-icon i,
body.page-id-3724 .elementor-accordion-icon i,
body.page-id-4225 .elementor-accordion-icon i,
body.page-id-4289 .elementor-accordion-icon i,
body.page-id-12   .elementor-accordion-icon i{font-size:14px!important;line-height:1!important}
body.page-id-3725 .elementor-tab-content,
body.page-id-3724 .elementor-tab-content,
body.page-id-4225 .elementor-tab-content,
body.page-id-4289 .elementor-tab-content,
body.page-id-12   .elementor-tab-content,
body.page-id-3051 .elementor-tab-content,
body.page-id-3062 .elementor-tab-content{
  border:0!important;background:transparent!important;
  padding:8px 22px 20px!important;color:#cdd2e6!important;
  font:500 14.5px/1.75 Poppins,sans-serif!important;
}

/* SIDEBAR / "Hour Of Operation" — glass card */
body.page-id-3725 .elementor-widget-wp-widget-nasa_banner_sc,
body.page-id-3724 .elementor-widget-wp-widget-nasa_banner_sc{
  background:radial-gradient(ellipse 85% 50% at 50% 0%,rgba(108,99,255,.12) 0%,transparent 60%),
             linear-gradient(180deg,#15182a 0%,#0e1120 100%)!important;
  border:1px solid rgba(108,99,255,.18)!important;border-radius:16px!important;
  padding:22px 24px!important;
  box-shadow:0 20px 50px -22px rgba(0,0,0,.5)!important;
}
/* If "Hour Of Operation" is rendered as plain heading + text-editor in a column,
   give that column itself the glass card treatment. */
body.page-id-3725 .elementor-column .elementor-widget-heading + .elementor-widget-text-editor,
body.page-id-3724 .elementor-column .elementor-widget-heading + .elementor-widget-text-editor{
  /* no special padding needed — typography rules above already apply */
}

/* Mobile fine-tuning */
@media(max-width:782px){
  body.page-id-3725 .elementor-section,
  body.page-id-3724 .elementor-section,
  body.page-id-4225 .elementor-section,
  body.page-id-4289 .elementor-section,
  body.page-id-12   .elementor-section,
  body.page-id-3051 .elementor-section,
  body.page-id-3062 .elementor-section{padding-top:32px!important;padding-bottom:32px!important}
  body.page-id-3725 .elementor-widget-text-editor p,
  body.page-id-3724 .elementor-widget-text-editor p,
  body.page-id-4225 .elementor-widget-text-editor p,
  body.page-id-4289 .elementor-widget-text-editor p,
  body.page-id-12   .elementor-widget-text-editor p{font-size:14.5px!important;line-height:1.7!important}
  body.page-id-3725 .elementor-accordion-item .elementor-tab-title,
  body.page-id-3724 .elementor-accordion-item .elementor-tab-title,
  body.page-id-4225 .elementor-accordion-item .elementor-tab-title,
  body.page-id-4289 .elementor-accordion-item .elementor-tab-title{padding:16px 18px!important;font-size:14.5px!important}
}

/* QTY stepper inside cart row */
body.page-template-page-shopping-cart td.product-quantity .quantity,
body.page-template-page-shopping-cart .woocommerce-cart-form .quantity{
  display:inline-flex!important;align-items:center!important;gap:6px!important;
  height:auto!important;min-height:44px;padding:4px!important;
  background:#0a0f1d!important;border:1px solid rgba(255,255,255,.08)!important;
  border-radius:12px!important;width:auto!important;
}
body.page-template-page-shopping-cart .woocommerce-cart-form .quantity input.qty,
body.page-template-page-shopping-cart .woocommerce-cart-form .quantity input[type=number]{
  width:44px!important;height:36px!important;
  background:transparent!important;border:0!important;outline:0!important;
  text-align:center!important;color:#fff!important;
  font:700 15px/1 Poppins,sans-serif!important;padding:0!important;margin:0!important;
  -moz-appearance:textfield!important;appearance:textfield!important;
}
body.page-template-page-shopping-cart .woocommerce-cart-form .quantity input.qty::-webkit-outer-spin-button,
body.page-template-page-shopping-cart .woocommerce-cart-form .quantity input.qty::-webkit-inner-spin-button{
  -webkit-appearance:none!important;margin:0!important;
}
body.page-template-page-shopping-cart .woocommerce-cart-form .quantity .ids-cart-qty-btn,
body.page-template-page-shopping-cart .woocommerce-cart-form .quantity .minus,
body.page-template-page-shopping-cart .woocommerce-cart-form .quantity .plus,
body.page-template-page-shopping-cart .woocommerce-cart-form .quantity .nasa-quantity-button{
  flex:0 0 36px!important;width:36px!important;height:36px!important;
  min-width:36px!important;min-height:36px!important;max-width:36px!important;max-height:36px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  background:rgba(108,99,255,.10)!important;color:#cdd2e6!important;border:0!important;
  border-radius:9px!important;cursor:pointer!important;padding:0!important;
  font:600 18px/1 Poppins,sans-serif!important;
  transition:background .18s ease,color .18s ease,transform .1s ease,box-shadow .2s ease!important;
}
body.page-template-page-shopping-cart .woocommerce-cart-form .quantity .ids-cart-qty-btn:hover,
body.page-template-page-shopping-cart .woocommerce-cart-form .quantity .minus:hover,
body.page-template-page-shopping-cart .woocommerce-cart-form .quantity .plus:hover,
body.page-template-page-shopping-cart .woocommerce-cart-form .quantity .nasa-quantity-button:hover{
  background:#6C63FF!important;color:#fff!important;
  box-shadow:0 6px 16px -4px rgba(108,99,255,.55)!important;
}
body.page-template-page-shopping-cart .woocommerce-cart-form .quantity button:active{
  transform:scale(.94)!important;
}

/* Actions row (coupon + update cart) */
body.page-template-page-shopping-cart .woocommerce-cart-form tr td.actions{
  display:flex!important;align-items:center;justify-content:space-between;
  gap:12px;flex-wrap:wrap;
  padding:14px 8px 6px!important;margin-top:4px;
  border-top:1px dashed rgba(255,255,255,.08)!important;background:transparent!important;
}
body.page-template-page-shopping-cart .woocommerce-cart-form td.actions .coupon{
  display:inline-flex!important;align-items:center;gap:8px;flex:1 1 320px;min-width:0;
  background:#0a0f1d;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:6px;
}
body.page-template-page-shopping-cart .woocommerce-cart-form td.actions .coupon label{display:none!important}
body.page-template-page-shopping-cart .woocommerce-cart-form td.actions .coupon input#coupon_code{
  flex:1 1 auto!important;min-width:0!important;
  background:transparent!important;border:0!important;outline:0!important;
  height:38px;padding:0 12px;color:#fff!important;
  font:600 14px/1 Poppins,sans-serif!important;
}
body.page-template-page-shopping-cart .woocommerce-cart-form td.actions .coupon input#coupon_code::placeholder{
  color:#5b6080;font-weight:500;
}
body.page-template-page-shopping-cart .woocommerce-cart-form td.actions .coupon button[name="apply_coupon"]{
  flex:0 0 auto;height:38px;padding:0 16px;
  background:rgba(108,99,255,.16)!important;color:#cdd2ff!important;
  border:1px solid rgba(108,99,255,.30)!important;border-radius:9px!important;
  font:700 12.5px/1 Poppins,sans-serif!important;letter-spacing:.5px;text-transform:uppercase;
  cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease;
}
body.page-template-page-shopping-cart .woocommerce-cart-form td.actions .coupon button[name="apply_coupon"]:hover{
  background:#6C63FF!important;color:#fff!important;border-color:#6C63FF!important;
}
body.page-template-page-shopping-cart .woocommerce-cart-form td.actions button[name="update_cart"]{
  flex:0 0 auto;height:46px;padding:0 22px;
  background:transparent!important;color:#cdd2e6!important;
  border:1.5px solid rgba(255,255,255,.14)!important;border-radius:12px!important;
  font:700 13px/1 Poppins,sans-serif!important;letter-spacing:.4px;text-transform:uppercase;
  cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease;
}
body.page-template-page-shopping-cart .woocommerce-cart-form td.actions button[name="update_cart"]:hover:not([disabled]){
  border-color:#6C63FF!important;color:#fff!important;background:rgba(108,99,255,.08)!important;
}
body.page-template-page-shopping-cart .woocommerce-cart-form td.actions button[name="update_cart"][disabled]{
  opacity:.45!important;cursor:not-allowed!important;
}

/* Cart totals (right column) — sticky glass card */
body.page-template-page-shopping-cart .cart-collaterals{
  width:auto!important;max-width:none!important;float:none!important;
}
body.page-template-page-shopping-cart .cart_totals{
  position:sticky;top:96px;
  width:auto!important;max-width:none!important;float:none!important;
  padding:24px 24px 22px!important;
  background:radial-gradient(ellipse 85% 50% at 50% 0%,rgba(108,99,255,.14) 0%,transparent 60%),
             linear-gradient(180deg,#15182a 0%,#0e1120 100%)!important;
  border:1px solid rgba(108,99,255,.20)!important;border-radius:18px!important;
  box-shadow:0 22px 60px -22px rgba(0,0,0,.55)!important;
}
body.page-template-page-shopping-cart .cart_totals h2{
  font:800 18px/1.2 Poppins,sans-serif!important;color:#fff!important;
  margin:0 0 16px!important;letter-spacing:-.01em;
}
body.page-template-page-shopping-cart .cart_totals table.shop_table{
  background:transparent!important;border:0!important;width:100%!important;border-collapse:collapse;
}
body.page-template-page-shopping-cart .cart_totals table.shop_table thead{display:none!important}
body.page-template-page-shopping-cart .cart_totals table.shop_table tr{
  display:flex;justify-content:space-between;align-items:center;
  padding:11px 0;border-bottom:1px dashed rgba(255,255,255,.07);
}
body.page-template-page-shopping-cart .cart_totals table.shop_table tr:last-child{border-bottom:0}
body.page-template-page-shopping-cart .cart_totals table.shop_table tr th,
body.page-template-page-shopping-cart .cart_totals table.shop_table tr td{
  padding:0!important;border:0!important;background:transparent!important;
  font:600 13.5px/1.4 Poppins,sans-serif;color:#8a90a8!important;text-align:right;
}
body.page-template-page-shopping-cart .cart_totals table.shop_table tr th{
  text-align:left;text-transform:uppercase;font-size:11.5px;letter-spacing:1px;
}
body.page-template-page-shopping-cart .cart_totals table.shop_table tr td{
  color:#fff!important;font-weight:700;font-size:14.5px;
}
body.page-template-page-shopping-cart .cart_totals .order-total td,
body.page-template-page-shopping-cart .cart_totals .order-total .woocommerce-Price-amount{
  font-size:22px!important;font-weight:800!important;
  background:linear-gradient(135deg,#7C73FF 0%,#6C63FF 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
body.page-template-page-shopping-cart .cart_totals .order-total th{
  font-size:13px!important;color:#cdd2e6!important;
}
body.page-template-page-shopping-cart .wc-proceed-to-checkout{padding:14px 0 0!important}
body.page-template-page-shopping-cart .wc-proceed-to-checkout .checkout-button,
body.page-template-page-shopping-cart .wc-proceed-to-checkout a.button{
  display:inline-flex!important;align-items:center;justify-content:center;gap:10px;
  width:100%!important;height:54px!important;
  font:800 14.5px/1 Poppins,sans-serif!important;letter-spacing:.6px!important;
  text-transform:uppercase!important;color:#fff!important;text-decoration:none!important;
  background:linear-gradient(135deg,#7C73FF 0%,#6C63FF 45%,#5A4DE6 100%)!important;
  border:1px solid rgba(255,255,255,.10)!important;border-radius:14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),
             0 14px 30px -8px rgba(108,99,255,.55)!important;
  transition:transform .15s ease,box-shadow .25s ease,filter .2s ease!important;
}
body.page-template-page-shopping-cart .wc-proceed-to-checkout .checkout-button:hover{
  filter:brightness(1.08)!important;transform:translateY(-2px)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),
             0 20px 38px -10px rgba(108,99,255,.65),
             0 0 0 4px rgba(108,99,255,.16)!important;
}
body.page-template-page-shopping-cart .wc-proceed-to-checkout .checkout-button::after{
  content:"→";font-size:20px;font-weight:700;line-height:1;
}

/* ══════════════════════════════════════════════════════════
   MY ACCOUNT DASHBOARD — balanced desktop + fixed mobile
   Wins cascade over external woocommerce.css. Targets the
   .ids-account / .ids-dash markup from ids_render_account_dashboard().
   ══════════════════════════════════════════════════════════ */

/* Kill the stray theme page-title ("My Account") above the dashboard —
   the .ids-dash hero already greets the user. */
body.woocommerce-account .ids-page-header,
body.woocommerce-account > .ids-main > .ids-container > .ids-page-title,
body.woocommerce-account .ids-page-title,
body.page-id-11 .ids-page-header,
body.page-id-11 .ids-page-title{display:none!important}

/* Desktop grid — sidebar + content, both grounded */
.ids-account{
  display:grid!important;grid-template-columns:260px minmax(0,1fr)!important;
  gap:24px!important;align-items:stretch!important;margin-top:8px!important;
  max-width:1180px!important;margin-left:auto!important;margin-right:auto!important;
}
/* Sidebar: profile card + nav fused into one sticky panel that runs the
   full height (no more dead space under the avatar). */
.ids-account__nav{
  position:sticky!important;top:90px!important;align-self:start!important;
  background:linear-gradient(180deg,#15182a 0%,#0e1120 100%)!important;
  border:1px solid rgba(255,255,255,.07)!important;border-radius:16px!important;
  overflow:hidden!important;display:flex!important;flex-direction:column!important;
}
.ids-account-user{
  display:flex;align-items:center;gap:12px;
  padding:20px 18px!important;margin:0!important;
  border-bottom:1px solid rgba(255,255,255,.07)!important;
  background:radial-gradient(ellipse 90% 60% at 50% 0%,rgba(108,99,255,.14) 0%,transparent 65%);
}
.ids-account-user__avatar{
  width:46px;height:46px;flex-shrink:0;border-radius:13px!important;
  display:flex;align-items:center;justify-content:center;
  font:800 19px/1 Poppins,sans-serif;color:#fff;
  background:linear-gradient(135deg,#7C73FF,#5A4DE6)!important;
  box-shadow:0 8px 20px -6px rgba(108,99,255,.55);
}
.ids-account-user__info{min-width:0;display:flex;flex-direction:column;gap:2px}
.ids-account-user__info strong{color:#fff!important;font:700 14px/1.3 Poppins,sans-serif;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ids-account-user__info span{color:#8a90a8!important;font-size:12px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.woocommerce-MyAccount-navigation{flex:1 1 auto}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:8px!important;margin:0!important;
  display:flex;flex-direction:column;gap:4px}
.woocommerce-MyAccount-navigation li{list-style:none}
.woocommerce-MyAccount-navigation li a{
  display:flex!important;align-items:center;gap:10px;
  padding:12px 14px!important;border:0!important;border-radius:10px!important;
  font:600 13.5px/1 Poppins,sans-serif!important;color:#a9aec6!important;
  text-decoration:none!important;transition:background .18s,color .18s;
}
.woocommerce-MyAccount-navigation li a:hover{
  color:#fff!important;background:rgba(255,255,255,.05)!important;
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--dashboard.is-active a{
  color:#fff!important;
  background:linear-gradient(135deg,rgba(124,115,255,.22),rgba(90,77,230,.16))!important;
  box-shadow:inset 0 0 0 1px rgba(108,99,255,.30)!important;padding-left:14px!important;
}

/* Content card */
.woocommerce-MyAccount-content{
  min-width:0;background:#101728!important;
  border:1px solid rgba(255,255,255,.07)!important;border-radius:16px!important;
  padding:26px!important;
}

/* Dashboard hero */
.ids-dash__hero{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:22px 24px!important;margin:0 0 18px!important;border-radius:16px;
  background:radial-gradient(ellipse 80% 70% at 0% 0%,rgba(108,99,255,.16) 0%,transparent 60%),
             linear-gradient(180deg,#15182a 0%,#0e1120 100%);
  border:1px solid rgba(108,99,255,.18);
}
.ids-dash__greet{font:800 clamp(20px,2.4vw,26px)/1.2 Poppins,sans-serif!important;
  color:#fff!important;margin:0 0 4px!important;letter-spacing:-.01em}
.ids-dash__sub{color:#a9aec6!important;font-size:14px!important;margin:0!important}
.ids-dash__cta{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;
  height:44px;padding:0 20px;border-radius:12px;text-decoration:none!important;
  font:700 13px/1 Poppins,sans-serif;letter-spacing:.4px;text-transform:uppercase;color:#fff!important;
  background:linear-gradient(135deg,#7C73FF 0%,#6C63FF 45%,#5A4DE6 100%);
  box-shadow:0 12px 26px -8px rgba(108,99,255,.55);
  transition:transform .15s ease,filter .2s ease;
}
.ids-dash__cta:hover{transform:translateY(-2px);filter:brightness(1.08)}

/* Stat grid */
.ids-dash__stats{
  display:grid!important;grid-template-columns:repeat(4,1fr)!important;
  gap:14px!important;margin:0 0 22px!important;
}
.ids-dash__stat{
  display:flex;align-items:center;gap:12px;min-width:0;
  padding:16px 16px!important;border-radius:14px!important;
  background:linear-gradient(180deg,#141a2e 0%,#0f1424 100%)!important;
  border:1px solid rgba(255,255,255,.06)!important;
  transition:border-color .2s ease,transform .15s ease;
}
.ids-dash__stat:hover{border-color:rgba(108,99,255,.30)!important;transform:translateY(-2px)}
.ids-dash__stat-icon{
  width:42px;height:42px;flex-shrink:0;border-radius:11px;
  display:flex;align-items:center;justify-content:center;color:#cdd2ff;
  background:rgba(108,99,255,.14);border:1px solid rgba(108,99,255,.22);
}
.ids-dash__stat-icon svg{width:20px;height:20px}
.ids-dash__stat-body{min-width:0}
.ids-dash__stat-value{
  font:800 clamp(16px,1.6vw,21px)/1.15 Poppins,sans-serif!important;color:#fff!important;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.ids-dash__stat-value .woocommerce-Price-amount,
.ids-dash .woocommerce-Price-amount,
.woocommerce-MyAccount-content .woocommerce-Price-amount{
  font-family:Poppins,'Hind Siliguri',system-ui,sans-serif!important;
  white-space:nowrap;
}
.ids-dash__stat-value .woocommerce-Price-currencySymbol,
.ids-dash .woocommerce-Price-currencySymbol{
  font-family:'Hind Siliguri','Noto Sans Bengali',Poppins,sans-serif!important;
  margin-left:2px;font-weight:700;
}
.ids-dash__stat-label{font:600 11.5px/1.2 Poppins,sans-serif!important;
  color:#8a90a8!important;text-transform:uppercase;letter-spacing:.6px;margin-top:3px}

/* Quick actions */
.ids-dash__heading{font:800 16px/1.2 Poppins,sans-serif!important;color:#fff!important;
  margin:0 0 14px!important}
.ids-dash__quick-grid{
  display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:12px!important;
  margin:0 0 24px!important;
}
.ids-dash__quick-card{
  display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;
  padding:20px 12px!important;border-radius:14px!important;text-decoration:none!important;
  background:linear-gradient(180deg,#141a2e 0%,#0f1424 100%)!important;
  border:1px solid rgba(255,255,255,.06)!important;color:#cdd2e6!important;
  transition:border-color .2s ease,transform .15s ease,background .2s ease;
}
.ids-dash__quick-card:hover{
  border-color:rgba(108,99,255,.35)!important;transform:translateY(-3px);
  background:linear-gradient(180deg,#1a2140 0%,#121a30 100%)!important;color:#fff!important;
}
.ids-dash__quick-icon{
  width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:rgba(108,99,255,.14);border:1px solid rgba(108,99,255,.24);color:#cdd2ff;
}
.ids-dash__quick-icon svg{width:21px;height:21px}
.ids-dash__quick-label{font:700 12.5px/1.3 Poppins,sans-serif!important}
.ids-dash__quick-card:hover .ids-dash__quick-icon{
  background:linear-gradient(135deg,#7C73FF,#5A4DE6);border-color:transparent;color:#fff;
}

/* Recent orders header */
.ids-dash__recent-head{display:flex;align-items:center;justify-content:space-between;
  gap:12px;margin-bottom:14px}
.ids-dash__view-all{color:#a9aeff!important;font:700 12.5px/1 Poppins,sans-serif!important;
  text-decoration:none!important}
.ids-dash__view-all:hover{color:#fff!important}

/* ── TABLET ── */
@media(max-width:960px){
  .ids-account{grid-template-columns:1fr!important;gap:16px!important}
  .ids-account__nav{position:static!important;top:auto!important}
  .ids-account-user{border-bottom:1px solid rgba(255,255,255,.07)!important}
  /* Nav becomes a horizontally-scrollable pill strip */
  .woocommerce-MyAccount-navigation ul{
    flex-direction:row!important;flex-wrap:nowrap!important;overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px!important;padding:12px!important;
  }
  .woocommerce-MyAccount-navigation ul::-webkit-scrollbar{display:none}
  .woocommerce-MyAccount-navigation li{flex:0 0 auto}
  .woocommerce-MyAccount-navigation li a{
    white-space:nowrap;padding:10px 16px!important;border-radius:999px!important;
    background:rgba(255,255,255,.04)!important;
  }
  .woocommerce-MyAccount-navigation li.is-active a{
    box-shadow:none!important;
    background:linear-gradient(135deg,#7C73FF,#5A4DE6)!important;color:#fff!important;
  }
  .ids-dash__quick-grid{grid-template-columns:repeat(2,1fr)!important}
}

/* ── MOBILE ── */
@media(max-width:560px){
  .woocommerce-MyAccount-content{padding:16px!important;border-radius:14px!important}
  .ids-dash__hero{padding:18px!important;flex-direction:column;align-items:flex-start;gap:14px}
  .ids-dash__cta{width:100%;justify-content:center}
  .ids-dash__stats{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}
  .ids-dash__stat{padding:14px!important;gap:10px}
  .ids-dash__stat-icon{width:38px;height:38px}
  .ids-dash__stat-value{font-size:clamp(15px,4.4vw,18px)!important}
  .ids-dash__quick-card{padding:16px 10px!important}
}
@media(max-width:380px){
  .ids-dash__stat-value{font-size:14.5px!important}
  .ids-dash__stat-label{font-size:10px!important;letter-spacing:.4px}
}

/* ══════════════════════════════════════════════════════════
   GLOBAL WC NOTICES — "X has been added to your cart" etc.
   Works on cart, checkout, single product, and shop pages.
   The default WC markup is:
     <div class="woocommerce-notices-wrapper">
       <ul class="woocommerce-message" role="alert">
         <li><a class="button">View cart</a> Product name has been added…</li>
       </ul>
     </div>
   The default also has an ::before "✓" pseudo that's positioned absolutely
   and overlapped text — that's the icon clipping the user reported.
   ══════════════════════════════════════════════════════════ */
body .woocommerce-message,
body .woocommerce-error,
body .woocommerce-info,
body ul.woocommerce-error,
body ul.woocommerce-message,
body ul.woocommerce-info{
  display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap;
  margin:0 0 18px!important;padding:14px 18px 14px 16px!important;
  border-radius:14px!important;
  font:600 14px/1.45 Poppins,sans-serif!important;
  list-style:none!important;position:relative!important;
  animation:idsNoticeIn .35s ease both;
}
body .woocommerce-message li,
body .woocommerce-error li,
body .woocommerce-info li{
  flex:1 1 auto;min-width:0;margin:0;padding:0;list-style:none;
  display:flex;align-items:center;gap:10px;
}
/* Kill WC's default absolutely-positioned check/×/i pseudo — we render our own */
body .woocommerce-message::before,
body .woocommerce-error::before,
body .woocommerce-info::before,
body .woocommerce-message li::before,
body .woocommerce-error li::before,
body .woocommerce-info li::before{content:none!important;display:none!important}
/* Inject our own icon via a <li>::before built from CSS */
body .woocommerce-message > li::before,
body .woocommerce-error  > li::before,
body .woocommerce-info   > li::before{
  content:""!important;display:inline-flex!important;flex-shrink:0;
  width:28px;height:28px;border-radius:50%;
  background-position:center;background-repeat:no-repeat;background-size:14px 14px;
}
body .woocommerce-message{
  background:linear-gradient(180deg,rgba(34,197,94,.10),rgba(34,197,94,.05))!important;
  border:1px solid rgba(34,197,94,.35)!important;color:#bbf7d0!important;
}
body .woocommerce-message > li::before{
  background-color:#22c55e;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  box-shadow:0 6px 16px -4px rgba(34,197,94,.55);
}
body .woocommerce-error{
  background:linear-gradient(180deg,rgba(239,68,68,.10),rgba(239,68,68,.05))!important;
  border:1px solid rgba(239,68,68,.40)!important;color:#fecaca!important;
}
body .woocommerce-error > li::before{
  background-color:#ef4444;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>");
  box-shadow:0 6px 16px -4px rgba(239,68,68,.55);
}
body .woocommerce-info{
  background:linear-gradient(180deg,rgba(108,99,255,.10),rgba(108,99,255,.05))!important;
  border:1px solid rgba(108,99,255,.40)!important;color:#cdd2ff!important;
}
body .woocommerce-info > li::before{
  background-color:#6C63FF;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><line x1='12' y1='8' x2='12' y2='12'/><line x1='12' y1='16' x2='12.01' y2='16'/><circle cx='12' cy='12' r='10'/></svg>");
  box-shadow:0 6px 16px -4px rgba(108,99,255,.55);
}
/* The View Cart / Return to shop button INSIDE notices */
body .woocommerce-message .button,
body .woocommerce-message a.button,
body .woocommerce-error a.button,
body .woocommerce-info a.button{
  flex:0 0 auto!important;margin-left:auto!important;
  display:inline-flex!important;align-items:center;justify-content:center;gap:6px;
  height:36px!important;padding:0 16px!important;
  font:700 12px/1 Poppins,sans-serif!important;letter-spacing:.5px!important;
  text-transform:uppercase!important;
  color:#fff!important;text-decoration:none!important;
  background:linear-gradient(135deg,#7C73FF 0%,#6C63FF 45%,#5A4DE6 100%)!important;
  border:1px solid rgba(255,255,255,.10)!important;border-radius:9px!important;
  box-shadow:0 8px 20px -8px rgba(108,99,255,.55),
             inset 0 1px 0 rgba(255,255,255,.18)!important;
  transition:transform .15s ease,filter .2s ease,box-shadow .2s ease!important;
}
body .woocommerce-message .button:hover,
body .woocommerce-error a.button:hover,
body .woocommerce-info a.button:hover{
  filter:brightness(1.08)!important;transform:translateY(-1px)!important;
  box-shadow:0 12px 26px -8px rgba(108,99,255,.7)!important;
}
@keyframes idsNoticeIn{
  from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:none}
}
/* Hide WC's notice wrapper when it's an EMPTY <div> (placeholder) — Woo
   prints these even when there are no notices, leaving a blank gap. */
body .woocommerce-notices-wrapper:empty{display:none!important}

/* ══════════════════════════════════════════════════════════
   COUPON APPLY — premium look + apply states (idle / loading
   / success / fail). Works on both cart page and checkout.
   ══════════════════════════════════════════════════════════ */
/* Container: tighten the row, add an icon label above the input on cart */
body form.checkout_coupon,
body .woocommerce-cart-form td.actions .coupon,
body.page-template-page-shopping-cart .woocommerce-cart-form td.actions .coupon{
  position:relative;
}
/* Cart page upgrade — taller input, animated states */
body.page-template-page-shopping-cart .woocommerce-cart-form td.actions .coupon{
  background:linear-gradient(180deg,#101728 0%,#0c1322 100%)!important;
  border:1px solid rgba(108,99,255,.20)!important;border-radius:12px!important;
  padding:6px!important;
  transition:border-color .25s ease,box-shadow .25s ease;
}
body.page-template-page-shopping-cart .woocommerce-cart-form td.actions .coupon:focus-within{
  border-color:rgba(108,99,255,.55)!important;
  box-shadow:0 0 0 3px rgba(108,99,255,.15)!important;
}
body.page-template-page-shopping-cart .woocommerce-cart-form td.actions .coupon::before{
  content:"";flex:0 0 auto;width:18px;height:18px;margin:0 4px 0 8px;align-self:center;
  background:no-repeat center/contain;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c83f7' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 12V8H6a2 2 0 0 1-2-2c0-1.1.9-2 2-2h12v4'/><path d='M4 6v12a2 2 0 0 0 2 2h14v-4'/><path d='M18 12a2 2 0 0 0 0 4h4v-4z'/></svg>");
}
/* Apply button — purple gradient with state animations */
body.page-template-page-shopping-cart .woocommerce-cart-form td.actions .coupon button[name="apply_coupon"],
body form.checkout_coupon button[name="apply_coupon"]{
  flex:0 0 auto!important;height:38px!important;padding:0 16px!important;
  display:inline-flex!important;align-items:center;justify-content:center;gap:7px;
  background:linear-gradient(135deg,#7C73FF 0%,#6C63FF 45%,#5A4DE6 100%)!important;
  color:#fff!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:9px!important;
  font:700 12.5px/1 Poppins,sans-serif!important;letter-spacing:.5px;text-transform:uppercase;
  cursor:pointer;position:relative;overflow:hidden;
  box-shadow:0 6px 16px -6px rgba(108,99,255,.55);
  transition:filter .2s ease,transform .15s ease,box-shadow .25s ease,background .25s ease;
}
body.page-template-page-shopping-cart .woocommerce-cart-form td.actions .coupon button[name="apply_coupon"]:hover,
body form.checkout_coupon button[name="apply_coupon"]:hover{
  filter:brightness(1.08);transform:translateY(-1px);
  box-shadow:0 10px 22px -6px rgba(108,99,255,.7);
}
/* States driven by the JS handler below */
.ids-coupon--loading button[name="apply_coupon"]{
  pointer-events:none!important;color:transparent!important;
}
.ids-coupon--loading button[name="apply_coupon"]::after{
  content:"";position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;
  border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;
  animation:idsCoupSpin .65s linear infinite;
}
@keyframes idsCoupSpin{to{transform:rotate(360deg)}}
.ids-coupon--ok{
  border-color:rgba(34,197,94,.55)!important;
  box-shadow:0 0 0 3px rgba(34,197,94,.18),0 8px 22px -8px rgba(34,197,94,.5)!important;
  animation:idsCoupOK .5s ease both;
}
.ids-coupon--ok button[name="apply_coupon"]{
  background:linear-gradient(135deg,#22c55e,#16a34a)!important;color:transparent!important;
}
.ids-coupon--ok button[name="apply_coupon"]::after{
  content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;
  background:no-repeat center/contain;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  animation:idsCoupCheck .35s ease both;
}
@keyframes idsCoupCheck{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}
@keyframes idsCoupOK{
  0%{transform:scale(1)} 30%{transform:scale(1.015)} 100%{transform:scale(1)}
}
.ids-coupon--err{
  border-color:rgba(239,68,68,.55)!important;
  box-shadow:0 0 0 3px rgba(239,68,68,.18),0 8px 22px -8px rgba(239,68,68,.5)!important;
  animation:idsCoupShake .45s ease both;
}
.ids-coupon--err button[name="apply_coupon"]{
  background:linear-gradient(135deg,#ef4444,#b91c1c)!important;color:transparent!important;
}
.ids-coupon--err button[name="apply_coupon"]::after{
  content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;
  background:no-repeat center/contain;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>");
}
@keyframes idsCoupShake{
  0%,100%{transform:translateX(0)}
  20%{transform:translateX(-6px)}
  40%{transform:translateX(6px)}
  60%{transform:translateX(-4px)}
  80%{transform:translateX(3px)}
}
/* Floating toast (used by the JS for AJAX-driven coupons on checkout) */
.ids-coupon-toast{
  position:fixed;left:50%;top:90px;transform:translate(-50%,-20px);
  z-index:2147483647;
  display:inline-flex;align-items:center;gap:10px;
  padding:11px 18px;border-radius:12px;
  background:rgba(20,24,38,.95);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.10);
  color:#fff;font:700 13.5px/1.3 Poppins,sans-serif;
  box-shadow:0 18px 40px -10px rgba(0,0,0,.6);
  opacity:0;pointer-events:none;
  transition:opacity .25s ease,transform .25s ease;
}
.ids-coupon-toast.is-on{opacity:1;transform:translate(-50%,0)}
.ids-coupon-toast--ok{border-color:rgba(34,197,94,.45);box-shadow:0 18px 40px -10px rgba(34,197,94,.4)}
.ids-coupon-toast--err{border-color:rgba(239,68,68,.45);box-shadow:0 18px 40px -10px rgba(239,68,68,.4)}
.ids-coupon-toast .ids-coupon-toast__icon{
  width:22px;height:22px;border-radius:50%;flex-shrink:0;
  background-position:center;background-repeat:no-repeat;background-size:12px 12px;
}
.ids-coupon-toast--ok .ids-coupon-toast__icon{
  background-color:#22c55e;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
}
.ids-coupon-toast--err .ids-coupon-toast__icon{
  background-color:#ef4444;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>");
}

/* ADD TO CART — premium secondary (dark glass with subtle purple ring) */
body form.cart .single_add_to_cart_button,
body form.cart button.single_add_to_cart_button,
body .woocommerce-variation-add-to-cart .single_add_to_cart_button{
  height:52px!important;min-height:52px!important;max-height:52px!important;
  padding:0 24px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:10px!important;
  font:700 14px/1 Poppins,sans-serif!important;letter-spacing:.5px!important;
  text-transform:uppercase!important;text-align:center!important;
  color:#fff!important;
  background:linear-gradient(180deg,#141a2e 0%,#0e1424 100%)!important;
  border:1.5px solid rgba(108,99,255,.32)!important;
  border-radius:14px!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 4px 14px -6px rgba(0,0,0,.5)!important;
  cursor:pointer!important;
  transition:border-color .22s ease,background .22s ease,
             box-shadow .22s ease,transform .12s ease,filter .22s ease!important;
}
body form.cart .single_add_to_cart_button::before{
  content:'';width:18px;height:18px;display:inline-block;
  background-repeat:no-repeat;background-size:contain;background-position:center;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='21' r='1'/><circle cx='20' cy='21' r='1'/><path d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/></svg>");
}
body form.cart .single_add_to_cart_button:hover{
  border-color:#6C63FF!important;
  background:linear-gradient(180deg,#1a2140 0%,#121a30 100%)!important;
  box-shadow:
    0 0 0 3px rgba(108,99,255,.14),
    0 10px 28px -10px rgba(108,99,255,.35)!important;
  transform:translateY(-1px)!important;
}
body form.cart .single_add_to_cart_button:active{
  transform:translateY(0) scale(.985)!important;transition:transform .05s ease!important;
}
/* Disabled state from variation evaluator → still readable + intentional */
body form.cart .single_add_to_cart_button.ids-is-disabled,
body form.cart .single_add_to_cart_button:disabled,
body form.cart .single_add_to_cart_button[disabled],
body form.cart .single_add_to_cart_button[aria-disabled="true"]{
  opacity:1!important;filter:none!important;cursor:not-allowed!important;
  color:rgba(255,255,255,.55)!important;
  border-color:rgba(255,255,255,.08)!important;
  background:linear-gradient(180deg,#0f1424 0%,#0a0f1d 100%)!important;
  box-shadow:none!important;transform:none!important;
}
body form.cart .single_add_to_cart_button.ids-is-disabled:hover,
body form.cart .single_add_to_cart_button:disabled:hover{
  transform:none!important;border-color:rgba(255,255,255,.08)!important;
  background:linear-gradient(180deg,#0f1424 0%,#0a0f1d 100%)!important;
  box-shadow:none!important;
}
body form.cart .single_add_to_cart_button.ids-is-disabled::before,
body form.cart .single_add_to_cart_button:disabled::before{ opacity:.45!important; }

/* BUY NOW — primary CTA: premium gradient + glow */
body form.cart .ids-buy-now-btn,
body form.cart .ids-buy-now-js,
body form.cart .ids-buy-now-variable,
body form.cart a.ids-buy-now-btn,
body form.cart button.ids-buy-now-btn{
  height:54px!important;min-height:54px!important;max-height:54px!important;
  padding:0 26px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:9px!important;
  font:700 14.5px/1 Poppins,sans-serif!important;letter-spacing:.5px!important;
  text-transform:uppercase!important;color:#fff!important;text-decoration:none!important;
  background:linear-gradient(135deg,#7C73FF 0%,#6C63FF 45%,#5A4DE6 100%)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:14px!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 8px 22px -6px rgba(108,99,255,.55),
    0 0 0 0 rgba(108,99,255,0)!important;
  cursor:pointer!important;position:relative!important;overflow:hidden!important;
  transition:transform .15s ease,box-shadow .25s ease,filter .2s ease!important;
}
body form.cart .ids-buy-now-btn::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.14),transparent 38%);
}
body form.cart .ids-buy-now-btn:hover{
  filter:brightness(1.08)!important;transform:translateY(-2px)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 14px 32px -8px rgba(108,99,255,.65),
    0 0 0 4px rgba(108,99,255,.16)!important;
}
body form.cart .ids-buy-now-btn:active{
  transform:translateY(0) scale(.98)!important;transition:transform .05s ease!important;
}
body form.cart .ids-buy-now-btn.ids-is-disabled,
body form.cart .ids-buy-now-btn[aria-disabled="true"],
body form.cart .ids-buy-now-btn:disabled{
  opacity:1!important;filter:grayscale(.5) brightness(.6)!important;
  cursor:not-allowed!important;box-shadow:none!important;transform:none!important;
}

/* Mobile fine-tuning */
@media(max-width:520px){
  body .ids-product-summary__cart-area form.cart{ gap:12px!important;margin-top:12px!important; }
  body form.cart .quantity,
  body .woocommerce-variation-add-to-cart .quantity,
  body .ids-qty-stepper{ height:52px!important; }
  body form.cart .quantity .minus,
  body form.cart .quantity .plus,
  body form.cart .quantity button,
  body .ids-qty-btn{ width:42px!important;height:42px!important;min-width:42px!important; }
  body form.cart .single_add_to_cart_button{ height:50px!important;min-height:50px!important;max-height:50px!important;font-size:13.5px!important; }
  body form.cart .ids-buy-now-btn{ height:52px!important;min-height:52px!important;max-height:52px!important;font-size:14px!important; }
}
@media(max-width:380px){
  body form.cart .single_add_to_cart_button{ letter-spacing:.3px!important;padding:0 18px!important; }
  body form.cart .ids-buy-now-btn{ letter-spacing:.3px!important;padding:0 18px!important; }
}

/* ============================================================
   Manual payment gateway cards — TapTap (.ids-*) + Redot Pay (.idr-*)
   Premium polish + FIX text cutoff (value white-space:nowrap +
   card overflow:hidden was clipping Name / bKash Number / UID).
   Update-safe: lives in theme CSS, not the plugin.
   ============================================================ */

/* Don't clip long values; keep the rounded corners */
.ids-card, .idr-card{
	overflow:visible !important;
	box-shadow:0 10px 34px rgba(0,0,0,0.30) !important;
}

/* ---- TapTap "Enter" detail rows: stop the cutoff ---- */
.ids-enter .ids-line{
	display:flex !important;
	flex-wrap:wrap !important;
	justify-content:space-between !important;
	align-items:baseline !important;
	gap:2px 12px !important;
	background:rgba(0,0,0,0.22) !important;
	border:1px solid rgba(255,255,255,0.10) !important;
	border-radius:10px !important;
	padding:10px 13px !important;
	margin:8px 0 !important;
}
.ids-enter .ids-line .label{
	min-width:auto !important;
	flex:0 0 auto !important;
	color:#fde68a !important;
	font-weight:700 !important;
	font-size:11px !important;
	letter-spacing:0.5px !important;
	text-transform:uppercase !important;
}
.ids-enter .ids-line .value{
	flex:1 1 100% !important;
	white-space:normal !important;
	word-break:break-word !important;
	overflow-wrap:anywhere !important;
	text-align:left !important;
	color:#ffffff !important;
	font-weight:700 !important;
	font-family:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace !important;
	font-size:15px !important;
	letter-spacing:0.3px !important;
	-webkit-user-select:all !important;
	user-select:all !important;
}

/* ---- Redot Pay UID highlight: never clip ---- */
.idr-uid, .idr-highlight{
	display:inline-block !important;
	white-space:normal !important;
	word-break:break-all !important;
	overflow-wrap:anywhere !important;
	font-family:'SFMono-Regular',Consolas,Menlo,monospace !important;
}

/* ---- Step list readability ---- */
.ids-steps li, .idr-steps li{ line-height:1.55 !important; }

/* ---- Inputs: comfortable touch target ---- */
.ids-input input, .idr-input input{
	font-size:16px !important;        /* prevents iOS zoom-on-focus */
	padding:13px 14px !important;
}

/* ---- WhatsApp CTA: readable dark text on green ---- */
.ids-wa-btn, .idr-wa-btn{
	color:#08361b !important;
	font-weight:800 !important;
}

/* ---- Mobile: tidy spacing ---- */
@media (max-width:600px){
	.ids-card-head, .idr-card-head{ padding:12px 14px !important; }
	.ids-steps, .idr-steps{ padding:14px 14px !important; }
	.ids-enter .ids-line .value{ font-size:14px !important; }
}
