/* ===================================================================
   Stellar Checkout Section CSS
   Matches Gandharva Checkout UI Design & Full-Width WooCommerce Compatibility
   =================================================================== */

/* ---------- FULL-WIDTH PAGE CONTAINER RESETS (ASTRA & THEME OVERRIDES) ---------- */
body.woocommerce-checkout,
body.woocommerce-cart,
body:has(.stellar-checkout-wrap),
body:has(.stellar-cart-wrap) {
  background-color: #F8F3EA !important;
  background: #F8F3EA !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-checkout #page,
body.woocommerce-cart #page,
body.woocommerce-checkout #content,
body.woocommerce-cart #content,
body.woocommerce-checkout .site-content,
body.woocommerce-cart .site-content,
body.woocommerce-checkout .ast-container,
body.woocommerce-cart .ast-container,
body.woocommerce-checkout #primary,
body.woocommerce-cart #primary,
body.woocommerce-checkout #main,
body.woocommerce-cart #main,
body.woocommerce-checkout .entry-content,
body.woocommerce-cart .entry-content,
body.woocommerce-checkout .woocommerce,
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .ast-article-post,
body.woocommerce-cart .ast-article-post,
body.woocommerce-checkout .ast-article-single,
body.woocommerce-cart .ast-article-single {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Suppress redundant coupon/login toggle banners from checkout header */
.woocommerce-form-coupon-toggle,
.woocommerce-form-login-toggle,
.woocommerce-form-coupon,
.woocommerce-checkout #payment .place-order {
  display: none !important;
}

/* ---------- WOOCOMMERCE NOTICES & MESSAGES (GANDHARVA LUXURY STYLING) ---------- */
.woocommerce-NoticeGroup,
.woocommerce-NoticeGroup-checkout,
.stellar-checkout-wrap .woocommerce-NoticeGroup,
.stellar-checkout-wrap .woocommerce-NoticeGroup-checkout {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin-bottom: 24px !important;
  display: block !important;
}

ul.woocommerce-error,
.woocommerce-error,
.woocommerce-message,
.woocommerce-info:not(#msg-razorpay-success),
.woocommerce-notice:not(#msg-razorpay-success) {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
  padding: 16px 20px !important;
  margin: 0 0 20px 0 !important;
  border-radius: 14px !important;
  box-sizing: border-box !important;
  font-family: "Figtree", system-ui, -apple-system, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  list-style: none !important;
  position: relative !important;
}

/* Error Notice (Soft Burgundy/Rose luxury tone) */
ul.woocommerce-error,
.woocommerce-error,
.woocommerce-NoticeGroup-checkout .woocommerce-error {
  background-color: #FDF3F2 !important;
  border: 1px solid #E8B4B0 !important;
  color: #782520 !important;
}

ul.woocommerce-error li,
.woocommerce-error li {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  color: #782520 !important;
  font-weight: 500 !important;
}

ul.woocommerce-error li::before,
.woocommerce-error li::before {
  content: "⚠️";
  font-size: 14px;
  line-height: 1.4;
  flex-shrink: 0;
}

/* Success Notice (Soft Forest Sage tone) */
.woocommerce-message {
  background-color: #F0F6F2 !important;
  border: 1px solid #B7D8C4 !important;
  color: #22382C !important;
  font-weight: 500 !important;
}

.woocommerce-message::before {
  content: "✓ ";
  font-weight: 700;
  color: #22382C;
  margin-right: 6px;
}

/* Info Notice (Soft Sand tone) */
.woocommerce-info {
  background-color: #F6EFE3 !important;
  border: 1px solid #E5DCCB !important;
  color: #1E2822 !important;
  font-weight: 500 !important;
}

.woocommerce-error a,
.woocommerce-message a,
.woocommerce-info a {
  color: #22382C !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}

.woocommerce-error a:hover,
.woocommerce-message a:hover,
.woocommerce-info a:hover {
  color: #17271E !important;
}

/* Ensure Header & Footer stretch 100% edge-to-edge without boxed restrictions */
body.woocommerce-checkout #masthead,
body.woocommerce-cart #masthead,
body.woocommerce-checkout .site-header,
body.woocommerce-cart .site-header,
body.woocommerce-checkout .ast-main-header-wrap,
body.woocommerce-cart .ast-main-header-wrap,
body.woocommerce-checkout .stellar-header-wrap,
body.woocommerce-cart .stellar-header-wrap,
body.woocommerce-checkout #colophon,
body.woocommerce-cart #colophon,
body.woocommerce-checkout .site-footer,
body.woocommerce-cart .site-footer,
body.woocommerce-checkout .stellar-footer-wrap,
body.woocommerce-cart .stellar-footer-wrap {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ---------- CHECKOUT WRAPPER ---------- */
.stellar-checkout-wrap,
.woocommerce-checkout:not(.co) {
  --ink: #1E2822;
  --text: #1E2822;
  --muted: #5B6C5F;
  --line: #E5DCCB;
  --surface: #FFFFFF;
  --plate: #F3E8D3;
  --bg: #F8F3EA;
  --forest: #22382C;
  --forest-hover: #17271E;
  --onforest: #F5EEDB;
  --danger: #A2432F;
  --ok: #2D4536;

  width: 100%;
  max-width: 1760px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3.5vw, 64px);
  box-sizing: border-box;
  font-family: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: #1E2822;
  background: transparent;
}

/* ---------- PAGE TITLE & BREADCRUMBS ---------- */
.stellar-checkout-wrap .page-title {
  padding: 36px 0 24px;
}

.stellar-checkout-wrap .crumbs {
  font-size: 13.5px;
  color: #5B6C5F;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.stellar-checkout-wrap .crumbs a {
  color: #5B6C5F;
  text-decoration: none;
  transition: color 0.15s ease;
}

.stellar-checkout-wrap .crumbs a:hover {
  color: #22382C;
  text-decoration: underline;
}

.stellar-checkout-wrap .page-title h1 {
  font-family: "Marcellus", "Palatino Linotype", Palatino, Georgia, serif;
  font-size: clamp(32px, 3.8vw, 44px);
  font-weight: 400;
  letter-spacing: 0.01em;
  margin: 0;
  line-height: 1.15;
  color: #1E2822;
}

/* ---------- CHECKOUT MAIN GRID LAYOUT ---------- */
.stellar-checkout-wrap .checkout-grid {
  display: grid;
  grid-template-columns: 1fr clamp(340px, 28vw, 440px);
  gap: clamp(28px, 4vw, 60px);
  padding: 0 0 60px;
  align-items: start;
}

/* ---------- LEFT COLUMN: CHECKOUT FORM ---------- */
form.co {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

/* Form Fields */
.stellar-checkout-wrap .field,
form.co .field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  color: #1E2822;
}

.stellar-checkout-wrap .field.full,
form.co .field.full {
  grid-column: 1 / -1;
}

.stellar-checkout-wrap .field label,
form.co .field label {
  color: #1E2822;
  font-weight: 500;
  font-size: 13.5px;
}

.stellar-checkout-wrap .field input,
.stellar-checkout-wrap .field textarea,
.stellar-checkout-wrap .field select,
form.co .field input,
form.co .field textarea,
form.co .field select {
  flex: 1;
  width: 100%;
  border: 1px solid #E5DCCB;
  background-color: #F8F3EA;
  background: #F8F3EA;
  border-radius: 12px;
  padding: 11px 14px;
  font-family: inherit;
  font-size: 14.5px;
  color: #1E2822;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.stellar-checkout-wrap .field select,
form.co .field select {
  height: 44px;
  appearance: auto;
  cursor: pointer;
}

.stellar-checkout-wrap .field input:focus,
.stellar-checkout-wrap .field textarea:focus,
.stellar-checkout-wrap .field select:focus,
form.co .field input:focus,
form.co .field textarea:focus,
form.co .field select:focus {
  border-color: #5B7262;
  box-shadow: 0 0 0 2px rgba(91, 114, 98, 0.12);
}

/* Inline Field Error Highlighting */
.stellar-checkout-wrap .field.has-error input,
.stellar-checkout-wrap .field.has-error select,
.stellar-checkout-wrap .field.has-error textarea,
.stellar-checkout-wrap .field.woocommerce-invalid input,
.stellar-checkout-wrap .field.woocommerce-invalid select,
form.co .field.has-error input,
form.co .field.has-error select,
form.co .field.woocommerce-invalid input,
form.co .field.woocommerce-invalid select {
  border-color: #C55345;
  background-color: #FFF9F8;
  box-shadow: 0 0 0 2px rgba(197, 83, 69, 0.14);
}

.stellar-checkout-wrap .field.has-error label,
form.co .field.has-error label {
  color: #842029;
}

/* ---------- PAYMENT METHODS STACKED CARDS ---------- */
.stellar-checkout-wrap .pay,
form.co .pay,
.woocommerce-checkout #payment,
#payment.woocommerce-checkout-payment {
  display: flex;
  flex-direction: column;
  gap: 10px;
  grid-column: 1 / -1;
  margin-top: 4px;
  background: transparent;
  border: none;
  padding: 0;
}

.stellar-checkout-wrap .stellar-pay-methods-list,
#payment .stellar-pay-methods-list,
#payment ul.wc_payment_methods,
#payment ul.payment_methods {
  display: flex;
  flex-direction: column;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.stellar-checkout-wrap .pay label,
form.co .pay label,
#payment label.pay-option,
#payment .wc_payment_method label,
#payment label {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 14px 18px;
  border: 1px solid #E5DCCB;
  border-radius: 14px;
  background-color: #FFFFFF;
  background: #FFFFFF;
  cursor: pointer;
  transition: all 0.15s ease;
  font-size: 14.5px;
  font-weight: 500;
  color: #1E2822;
  margin: 0;
  box-sizing: border-box;
  width: 100%;
}

.stellar-checkout-wrap .pay label:has(input:checked),
.stellar-checkout-wrap .pay label.active,
form.co .pay label:has(input:checked),
form.co .pay label.active,
#payment label.pay-option:has(input:checked),
#payment label.pay-option.active,
#payment .wc_payment_method:has(input:checked) label,
#payment label.active {
  border-color: #5B7262;
  background-color: #EFE4CF;
  background: #EFE4CF;
}

.stellar-checkout-wrap .pay input[type="radio"],
form.co .pay input[type="radio"],
#payment input[type="radio"] {
  accent-color: #22382C;
  width: 18px;
  height: 18px;
  margin: 0;
  cursor: pointer;
  flex-shrink: 0;
}

.stellar-checkout-wrap .payment_box,
#payment .payment_box {
  background: #F8F3EA;
  border-radius: 12px;
  padding: 12px 16px;
  font-size: 13.5px;
  color: #5B6C5F;
  margin-top: -2px;
  margin-bottom: 6px;
  border: 1px solid #E5DCCB;
}

/* Payment notices when no gateways are available */
#payment .woocommerce-info,
#payment .woocommerce-notice--info {
  display: block;
  background-color: #F8F3EA;
  border: 1px solid #E5DCCB;
  border-radius: 14px;
  padding: 16px 20px;
  font-size: 14.5px;
  line-height: 1.5;
  color: #1E2822;
  margin: 6px 0 14px;
  box-sizing: border-box;
  width: 100%;
}

#payment ul.woocommerce-error {
  display: none;
}

/* ---------- PLACE ORDER BUTTON ---------- */
.stellar-checkout-wrap .btn,
form.co .btn,
#place_order,
button#placeOrder,
.woocommerce-checkout #place_order {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  border: none;
  background-color: #22382C;
  background: #22382C;
  color: #F5EEDB;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.01em;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.15s ease;
  font-family: inherit;
  box-sizing: border-box;
  margin-top: 18px;
}

.stellar-checkout-wrap .btn:hover,
form.co .btn:hover,
#place_order:hover,
button#placeOrder:hover,
.woocommerce-checkout #place_order:hover {
  background-color: #17271E;
  color: #F5EEDB;
}

/* ---------- RIGHT COLUMN: ORDER SUMMARY CARD ---------- */
.stellar-checkout-wrap .summary {
  background-color: #FFFFFF;
  background: #FFFFFF;
  border: 1px solid #EBE2D3;
  border-radius: 20px;
  padding: 28px 26px;
  position: sticky;
  top: 100px;
  box-shadow: 0 4px 20px rgba(35, 48, 42, 0.02);
  color: #1E2822;
  box-sizing: border-box;
}

.stellar-checkout-wrap .summary h2 {
  font-family: "Marcellus", "Palatino Linotype", Palatino, Georgia, serif;
  font-size: 22px;
  font-weight: 400;
  margin: 0 0 20px;
  color: #1E2822;
  line-height: 1.2;
}

.stellar-checkout-wrap .row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
  font-size: 14.5px;
  color: #5B6C5F;
}

.stellar-checkout-wrap .row span:last-child,
.stellar-checkout-wrap .row b:last-child {
  color: #1E2822;
  font-weight: 500;
}

.stellar-checkout-wrap .row.discount span:last-child {
  color: #2D4536;
  font-weight: 500;
}

.stellar-checkout-wrap .row.total {
  border-top: 0;
  margin-top: 14px;
  padding-top: 10px;
  font-weight: 700;
  font-size: 16px;
  color: #1E2822;
}

.stellar-checkout-wrap .row.total span:first-child {
  font-weight: 700;
  font-size: 16px;
  color: #1E2822;
}

.stellar-checkout-wrap .row.total span:last-child,
.stellar-checkout-wrap .row.total b:last-child {
  font-size: 18px;
  color: #1E2822;
  font-weight: 700;
}

/* Coupon Box Section */
.stellar-checkout-wrap .coupon-box-wrapper {
  margin: 20px 0 0;
}

.stellar-checkout-wrap .coupon {
  display: flex;
  gap: 8px;
  align-items: center;
}

.stellar-checkout-wrap .coupon input {
  flex: 1;
  width: 100%;
  height: 42px;
  border: 1px solid #EBE0CD;
  background-color: #F6EFE3;
  background: #F6EFE3;
  border-radius: 12px;
  padding: 0 14px;
  font-size: 14px;
  font-weight: 500;
  color: #1E2822;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  font-family: inherit;
  box-sizing: border-box;
}

.stellar-checkout-wrap .coupon input::placeholder {
  color: #5B6C5F;
  opacity: 0.8;
}

.stellar-checkout-wrap .coupon input:focus {
  border-color: #5B7262;
  box-shadow: 0 0 0 2px rgba(91, 114, 98, 0.12);
}

.stellar-checkout-wrap .coupon input.applied {
  background-color: #F6EFE3;
  color: #1E2822;
}

.stellar-checkout-wrap .coupon button {
  height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid #D6CAB6;
  background-color: #FFFFFF;
  color: #1E2822;
  font-weight: 500;
  font-size: 13.5px;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  font-family: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.stellar-checkout-wrap .coupon button:hover {
  border-color: #5B7262;
  background-color: #F3E8D3;
}

.stellar-checkout-wrap .coupon-applied-msg,
.stellar-checkout-wrap .promo-hint {
  font-size: 12.5px;
  color: #385542;
  margin: 8px 0 14px;
  line-height: 1.4;
}

/* WhatsApp support link */
.stellar-checkout-wrap .wa-link {
  display: block;
  text-align: center;
  margin-top: 14px;
  color: #5B6C5F;
  font-size: 13px;
  font-weight: 500;
  text-decoration: underline;
  transition: color 0.15s ease;
}

.stellar-checkout-wrap .wa-link:hover {
  color: #22382C;
}

/* ---------- EMPTY CHECKOUT STATE ---------- */
.stellar-checkout-wrap .checkout-empty {
  padding: 70px 24px;
  text-align: center;
  border: 1px dashed #E5DCCB;
  border-radius: 20px;
  background-color: #FFFFFF;
  margin: 20px 0 60px;
}

.stellar-checkout-wrap .checkout-empty h2 {
  font-family: "Marcellus", "Palatino Linotype", Palatino, Georgia, serif;
  font-size: 28px;
  font-weight: 400;
  margin: 0 0 12px;
  color: #1E2822;
}

.stellar-checkout-wrap .checkout-empty p {
  color: #5B6C5F;
  margin: 0 0 24px;
  font-size: 15px;
}

.stellar-checkout-wrap .checkout-empty .btn {
  display: inline-flex;
  width: auto;
  min-width: 200px;
}

/* ---------- RESPONSIVE DESIGN ---------- */
@media (max-width: 980px) {
  .stellar-checkout-wrap .checkout-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .stellar-checkout-wrap .summary {
    position: static;
  }
}

@media (max-width: 560px) {
  .stellar-checkout-wrap {
    padding: 0 16px;
  }
  form.co {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .stellar-checkout-wrap .summary {
    padding: 22px 18px;
  }
}

/* Checkout Line Items & Variations Preview in Summary */
.checkout-items-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid #E5DCCB;
}

.checkout-item-line {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  font-size: 14px;
}

.checkout-item-details {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.checkout-item-name {
  font-weight: 500;
  color: #1E2822;
}

.checkout-item-qty {
  font-weight: 600;
  color: #5B6C5F;
  font-size: 13px;
}

.checkout-item-price {
  font-weight: 600;
  color: #1E2822;
  white-space: nowrap;
}

.stellar-checkout-wrap .item-variations-meta,
.item-variations-meta {
  font-size: 12.5px;
  color: #5B6C5F;
  margin: 2px 0 0;
  line-height: 1.35;
}

.stellar-checkout-wrap .item-variations-meta dl.variation,
.item-variations-meta dl.variation {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3px 8px;
  margin: 0;
  padding: 0;
}

.stellar-checkout-wrap .item-variations-meta dt.variation-label,
.item-variations-meta dt.variation-label {
  font-weight: 500;
  color: #5B6C5F;
  margin: 0;
  display: inline;
}

.stellar-checkout-wrap .item-variations-meta dd.variation-value,
.item-variations-meta dd.variation-value {
  margin: 0;
  display: inline;
  font-weight: 600;
  color: #1E2822;
}

.stellar-checkout-wrap .item-variations-meta dd p,
.item-variations-meta dd p {
  margin: 0;
  display: inline;
}

/* ===================================================================
   GANDHARVA / SARVEDA REDESIGNED THANK YOU & ORDER CONFIRMATION PAGE
   =================================================================== */
.stellar-thankyou-wrap,
.woocommerce-checkout .woocommerce-order,
.woocommerce-order {
  max-width: 880px !important;
  margin: 40px auto 80px !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
  font-family: "Figtree", system-ui, -apple-system, sans-serif !important;
  color: #1F3328 !important;
}

.stellar-thankyou-wrap .woocommerce-order,
.woocommerce-order {
  background: #FFFFFF !important;
  border-radius: 20px !important;
  border: 1px solid rgba(227, 216, 195, 0.8) !important;
  box-shadow: 0 12px 40px rgba(28, 53, 42, 0.05) !important;
  padding: 44px 48px !important;
  box-sizing: border-box !important;
}

@media (max-width: 768px) {
  .stellar-thankyou-wrap,
  .woocommerce-checkout .woocommerce-order,
  .woocommerce-order {
    margin: 20px auto 60px !important;
    padding: 0 12px !important;
  }
  .stellar-thankyou-wrap .woocommerce-order,
  .woocommerce-order {
    padding: 24px 18px !important;
    border-radius: 16px !important;
  }
}

/* ---------- Status Card (Success & Failed) ---------- */
.stellar-order-status-card {
  text-align: center !important;
  margin-bottom: 32px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.stellar-order-status-card .stellar-status-icon {
  width: 76px !important;
  height: 76px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 16px !important;
  box-shadow: 0 8px 24px rgba(22, 109, 70, 0.22) !important;
}

.stellar-order-status-card .success-icon {
  background: linear-gradient(135deg, #166D46 0%, #1e8555 100%) !important;
  color: #FFFFFF !important;
}

.stellar-order-status-card .failed-icon {
  background: linear-gradient(135deg, #B91C1C 0%, #DC2626 100%) !important;
  color: #FFFFFF !important;
  box-shadow: 0 8px 24px rgba(185, 28, 28, 0.22) !important;
}

.stellar-order-badge {
  display: inline-block !important;
  background: #FAF3E6 !important;
  color: #B98A3E !important;
  border: 1px solid rgba(185, 138, 62, 0.3) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  padding: 4px 14px !important;
  border-radius: 20px !important;
  margin-bottom: 12px !important;
}

.stellar-order-status-card .stellar-status-title {
  font-family: "Marcellus", "Merriweather", Georgia, serif !important;
  font-size: clamp(24px, 3.2vw, 32px) !important;
  font-weight: 400 !important;
  color: #1F3328 !important;
  margin: 0 0 10px 0 !important;
  line-height: 1.2 !important;
}

.stellar-order-status-card .stellar-status-msg,
.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
  font-size: 15px !important;
  color: #55665C !important;
  line-height: 1.6 !important;
  max-width: 600px !important;
  margin: 0 auto 20px !important;
  text-align: center !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* ---------- Order Overview Grid ---------- */
.stellar-order-overview-box {
  margin-bottom: 36px !important;
}

.woocommerce-order-overview.woocommerce-thankyou-order-details {
  list-style: none !important;
  margin: 0 0 32px 0 !important;
  padding: 20px 24px !important;
  background: #FBF8F3 !important;
  border: 1px solid #EFE6D8 !important;
  border-radius: 14px !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
  gap: 16px 20px !important;
}

.woocommerce-order-overview li {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  border: none !important;
}

.woocommerce-order-overview li .label,
.woocommerce-order-overview li {
  font-size: 12px !important;
  color: #7B8A80 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  font-weight: 500 !important;
}

.woocommerce-order-overview li strong,
.woocommerce-order-overview li .value {
  font-size: 15px !important;
  color: #1F3328 !important;
  font-weight: 700 !important;
  margin-top: 2px !important;
  word-break: break-word !important;
}

.woocommerce-order-overview li.order strong,
.woocommerce-order-overview li .highlight-order {
  color: #166D46 !important;
  font-size: 16px !important;
}

.woocommerce-order-overview li.total strong,
.woocommerce-order-overview li .price-val {
  color: #166D46 !important;
  font-size: 17px !important;
  font-weight: 800 !important;
}

.woocommerce-order-overview li.method strong,
.woocommerce-order-overview li .payment-badge {
  display: inline-block !important;
  background: #E8F2EC !important;
  color: #166D46 !important;
  padding: 2px 10px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

/* ---------- Order Details Section & Table ---------- */
.woocommerce-order-details {
  margin-top: 28px !important;
  margin-bottom: 32px !important;
}

.woocommerce-order-details__title {
  font-family: "Marcellus", "Merriweather", Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: #1F3328 !important;
  margin: 0 0 16px 0 !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid #EFE6D8 !important;
}

table.woocommerce-table--order-details {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #EFE6D8 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin-bottom: 24px !important;
  background: #FFFFFF !important;
}

table.woocommerce-table--order-details thead th {
  background: #FAF5EC !important;
  color: #63705F !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 14px 18px !important;
  border-bottom: 1px solid #EFE6D8 !important;
  text-align: left !important;
}

table.woocommerce-table--order-details thead th.product-total {
  text-align: right !important;
}

table.woocommerce-table--order-details tbody td {
  padding: 16px 18px !important;
  border-bottom: 1px solid #F3EDE3 !important;
  vertical-align: middle !important;
}

table.woocommerce-table--order-details td.product-name a {
  color: #1F3328 !important;
  font-weight: 600 !important;
  font-size: 14.5px !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

table.woocommerce-table--order-details td.product-name a:hover {
  color: #166D46 !important;
  text-decoration: underline !important;
}

table.woocommerce-table--order-details strong.product-quantity {
  display: inline-block !important;
  background: #F1ECE2 !important;
  color: #5B6C5F !important;
  font-size: 12px !important;
  padding: 2px 8px !important;
  border-radius: 12px !important;
  margin-left: 6px !important;
  font-weight: 700 !important;
}

table.woocommerce-table--order-details td.product-total {
  text-align: right !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  color: #1F3328 !important;
}

table.woocommerce-table--order-details tfoot th {
  padding: 12px 18px !important;
  font-weight: 600 !important;
  color: #5B6C5F !important;
  border-top: 1px solid #F3EDE3 !important;
  text-align: left !important;
}

table.woocommerce-table--order-details tfoot td {
  padding: 12px 18px !important;
  text-align: right !important;
  font-weight: 600 !important;
  color: #1F3328 !important;
  border-top: 1px solid #F3EDE3 !important;
}

table.woocommerce-table--order-details tfoot tr:last-child th,
table.woocommerce-table--order-details tfoot tr:last-child td {
  background: #FAF5EC !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #166D46 !important;
  border-top: 2px solid #E3D8C3 !important;
}

/* ---------- Customer Details / Addresses ---------- */
.woocommerce-customer-details {
  margin-top: 32px !important;
  padding: 24px !important;
  background: #FBF8F3 !important;
  border: 1px solid #EFE6D8 !important;
  border-radius: 14px !important;
}

.woocommerce-column__title {
  font-family: "Marcellus", "Merriweather", Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  color: #1F3328 !important;
  margin: 0 0 14px 0 !important;
}

.woocommerce-customer-details address {
  font-style: normal !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: #35443B !important;
}

.woocommerce-customer-details--phone,
.woocommerce-customer-details--email {
  margin: 8px 0 0 0 !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #166D46 !important;
  display: inline-block !important;
  margin-right: 14px !important;
}

/* ---------- Thank You Action Buttons ---------- */
.stellar-thankyou-actions,
.woocommerce-order .stellar-thankyou-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  justify-content: center !important;
  margin-top: 36px !important;
  padding-top: 20px !important;
  border-top: 1px solid #F3EDE3 !important;
}

.stellar-btn-primary {
  background: #166D46 !important;
  color: #FFFFFF !important;
  padding: 13px 26px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(22, 109, 70, 0.25) !important;
  transition: all 0.2s ease !important;
}

.stellar-btn-primary:hover {
  background: #115234 !important;
  color: #FFFFFF !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(22, 109, 70, 0.35) !important;
  text-decoration: none !important;
}

.stellar-btn-secondary {
  background: #FFFFFF !important;
  color: #1F3328 !important;
  border: 1px solid #D5C9B4 !important;
  padding: 13px 22px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.stellar-btn-secondary:hover {
  background: #F9F0E1 !important;
  border-color: #B98A3E !important;
  color: #1F3328 !important;
  text-decoration: none !important;
}

/* ===================================================================
   ORDER-PAY SCREEN & RAZORPAY PAYMENT PROCESSING OVERLAY
   =================================================================== */
body.woocommerce-order-pay #order_review,
form#order_review {
  max-width: 760px !important;
  margin: 40px auto 80px !important;
  background: #FFFFFF !important;
  border-radius: 20px !important;
  border: 1px solid rgba(227, 216, 195, 0.8) !important;
  box-shadow: 0 12px 40px rgba(28, 53, 42, 0.05) !important;
  padding: 40px !important;
  box-sizing: border-box !important;
  font-family: "Figtree", system-ui, -apple-system, sans-serif !important;
}

@media (max-width: 768px) {
  body.woocommerce-order-pay #order_review,
  form#order_review {
    margin: 20px auto 60px !important;
    padding: 24px 18px !important;
    border-radius: 16px !important;
  }
}

form#order_review table.shop_table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #EFE6D8 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin-bottom: 24px !important;
}

form#order_review table.shop_table thead th {
  background: #FAF5EC !important;
  color: #63705F !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 14px 18px !important;
  border-bottom: 1px solid #EFE6D8 !important;
}

form#order_review table.shop_table tbody td {
  padding: 14px 18px !important;
  border-bottom: 1px solid #F3EDE3 !important;
}

form#order_review #btn-razorpay {
  display: block !important;
  width: 100% !important;
  background: linear-gradient(135deg, #166D46 0%, #1e8555 100%) !important;
  color: #FFFFFF !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: 16px 28px !important;
  border-radius: 12px !important;
  border: none !important;
  cursor: pointer !important;
  box-shadow: 0 6px 20px rgba(22, 109, 70, 0.3) !important;
  letter-spacing: 0.3px !important;
  transition: all 0.2s ease !important;
  margin-top: 14px !important;
}

form#order_review #btn-razorpay:hover {
  background: #115234 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(22, 109, 70, 0.4) !important;
}

form#order_review #btn-razorpay-cancel {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  background: transparent !important;
  color: #7B8A80 !important;
  border: none !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  margin-top: 10px !important;
  padding: 8px !important;
  text-decoration: underline !important;
}

form#order_review #btn-razorpay-cancel:hover {
  color: #1F3328 !important;
}

/* ---------- Modern Payment Processing & Wait Overlay ---------- */
#msg-razorpay-success,
.stellar-pay-waiting-overlay {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#msg-razorpay-success.is-visible,
.stellar-pay-waiting-overlay.is-visible,
#msg-razorpay-success[style*="display: block"]:not([style*="none"]),
#msg-razorpay-success[style*="display:block"]:not([style*="none"]),
#msg-razorpay-success[style*="display: flex"]:not([style*="none"]),
#msg-razorpay-success[style*="display:flex"]:not([style*="none"]),
.stellar-pay-waiting-overlay[style*="display: block"]:not([style*="none"]),
.stellar-pay-waiting-overlay[style*="display: flex"]:not([style*="none"]) {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 99999999 !important;
  background: rgba(18, 30, 23, 0.94) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  margin: 0 !important;
  border: none !important;
  box-sizing: border-box !important;
  color: #FFFFFF !important;
  text-align: center !important;
  font-family: "Figtree", system-ui, -apple-system, sans-serif !important;
  animation: stellarFadeIn 0.3s ease forwards !important;
}

#msg-razorpay-success[style*="display: none"],
#msg-razorpay-success[style*="display:none"],
#msg-razorpay-success.is-hidden,
.stellar-pay-waiting-overlay.is-hidden {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Suppress any default WooCommerce notice icon that could get positioned top-left */
#msg-razorpay-success::before,
.stellar-pay-waiting-overlay::before,
p#msg-razorpay-success::before,
.woocommerce p#msg-razorpay-success::before,
.woocommerce-page p#msg-razorpay-success::before,
.woocommerce-info#msg-razorpay-success::before {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
}

/* Dedicated Centered Spinner Element */
.stellar-wait-spinner {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  min-height: 58px !important;
  margin: 0 auto 24px auto !important;
  align-self: center !important;
  border: 4px solid rgba(255, 255, 255, 0.18) !important;
  border-top-color: #FCD34D !important;
  border-right-color: #166D46 !important;
  border-radius: 50% !important;
  animation: stellarSpin 0.9s cubic-bezier(0.5, 0, 0.5, 1) infinite !important;
  box-sizing: border-box !important;
  display: block !important;
}

.stellar-wait-title,
#msg-razorpay-success {
  font-size: 21px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: #FFFFFF !important;
  text-align: center !important;
}

.stellar-wait-desc {
  display: block !important;
  font-size: 14.5px !important;
  color: #D3E0D8 !important;
  max-width: 440px !important;
  margin: 12px auto 0 auto !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  text-align: center !important;
}

/* WooCommerce blockUI Center Guarantee */
.blockUI.blockOverlay {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 999999 !important;
}

.woocommerce .blockUI.blockOverlay::before,
.woocommerce-page .blockUI.blockOverlay::before,
.blockUI.blockOverlay::before {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  z-index: 1000000 !important;
}

@keyframes stellarSpin {
  to { transform: rotate(360deg); }
}

@keyframes stellarFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}




