/* =============================================================================
   IBTIKAR STORE — WOOCOMMERCE OVERRIDES — ebt design
   Resets default WC styles and applies the Ibtikar design system
   ============================================================================= */

/* =============================================================================
   1. RESET DEFAULT WOOCOMMERCE STYLES
   ============================================================================= */

.woocommerce table.shop_table { border: none; border-collapse: separate; border-spacing: 0; }
.woocommerce table.shop_table td,
.woocommerce table.shop_table th { border: none; }

/* WC buttons → ebt gradient */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background: linear-gradient(135deg, var(--primary), var(--primary-2)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  padding: 0 20px !important;
  min-height: 44px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  font-family: inherit !important;
  cursor: pointer !important;
  transition: .22s ease !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 8px 22px rgba(15,98,254,.22) !important;
  line-height: 1 !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 30px rgba(15,98,254,.30) !important;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background: linear-gradient(135deg, var(--primary-2), #083fad) !important;
}

/* Outline/secondary WC buttons */
.woocommerce a.button.button--secondary,
.woocommerce button.button.button--secondary {
  background: #fff !important;
  color: var(--text) !important;
  border: 1px solid var(--line) !important;
  box-shadow: none !important;
}

/* Remove quantity number arrows */
.woocommerce input[type=number]::-webkit-inner-spin-button,
.woocommerce input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; }
.woocommerce input[type=number] { -moz-appearance: textfield; }

/* Star rating */
.woocommerce .star-rating span::before,
.woocommerce p.stars a { color: #f59e0b !important; }

/* =============================================================================
   2. PRODUCT LOOP — ebt-products-grid
   ============================================================================= */
.woocommerce ul.products,
.woocommerce-page ul.products {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  float: none !important;
  clear: both;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
}
/* Explicit column overrides */
.woocommerce ul.products.columns-2 { grid-template-columns: repeat(2, 1fr) !important; }
.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, 1fr) !important; }
.woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, 1fr) !important; }

/* When using our ebt-products-grid class, override to let our CSS control */
ul.ebt-products-grid { grid-template-columns: repeat(3, 1fr) !important; }

/* Default WC li.product fallback (when NOT using ebt-product-card) */
.woocommerce ul.products li.product:not(.ebt-product-card),
.woocommerce-page ul.products li.product:not(.ebt-product-card) {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
  background: #fff;
  border-radius: var(--radius-lg);
  border: 1px solid var(--line);
  overflow: hidden;
  transition: .24s ease;
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
}
.woocommerce ul.products li.product:not(.ebt-product-card):hover {
  box-shadow: var(--shadow);
  transform: translateY(-4px);
}
.woocommerce ul.products li.product:not(.ebt-product-card) a img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  margin: 0 !important;
  transition: transform .4s ease;
}
.woocommerce ul.products li.product:not(.ebt-product-card):hover a img { transform: scale(1.05); }

.woocommerce ul.products li.product:not(.ebt-product-card) .woocommerce-loop-product__title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  padding: 14px 18px 8px !important;
  line-height: 1.4 !important;
}
.woocommerce ul.products li.product:not(.ebt-product-card) .price {
  padding: 0 18px 14px !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: var(--primary) !important;
  display: block !important;
}
.woocommerce ul.products li.product:not(.ebt-product-card) .price del { color: var(--muted) !important; font-size: 14px !important; font-weight: 400 !important; margin-inline-end: 6px; }
.woocommerce ul.products li.product:not(.ebt-product-card) .price ins { text-decoration: none !important; }
.woocommerce ul.products li.product:not(.ebt-product-card) .button { margin: 0 18px 18px !important; width: calc(100% - 36px) !important; }

/* On sale badge */
.woocommerce span.onsale {
  background: #ef4444 !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  padding: 4px 10px !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1 !important;
  top: 12px !important;
  inset-inline-start: 12px !important;
  inset-inline-end: auto !important;
  left: auto !important;
}

/* =============================================================================
   3. SINGLE PRODUCT
   ============================================================================= */
.woocommerce div.product div.images { float: none !important; width: auto !important; }
.woocommerce div.product div.summary { float: none !important; width: auto !important; }

/* Gallery */
.woocommerce div.product div.images .flex-viewport { border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--line); }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: 8px; margin-top: 10px; padding: 0 !important; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 72px !important; float: none !important; margin: 0 !important; }
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: var(--radius-md); border: 2px solid var(--line); cursor: pointer; transition: border-color .2s; width: 72px; height: 72px; object-fit: cover; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active { border-color: var(--primary); }

/* Price */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-size: clamp(22px, 2.5vw, 30px) !important;
  font-weight: 900 !important;
  color: var(--primary) !important;
  letter-spacing: -.03em !important;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del { color: var(--muted) !important; font-size: 18px !important; margin-inline-end: 8px; font-weight: 400 !important; }
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins { text-decoration: none !important; }

/* Quantity */
.woocommerce .quantity .qty {
  padding: 10px 12px !important;
  border: 1.5px solid var(--line) !important;
  border-radius: var(--radius-md) !important;
  width: 72px !important;
  text-align: center !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  font-family: inherit !important;
}
.woocommerce .quantity .qty:focus { border-color: var(--primary) !important; outline: none !important; box-shadow: 0 0 0 3px rgba(15,98,254,.12) !important; }

/* Add to cart form */
.woocommerce form.cart { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 15px; }
.woocommerce form.cart .single_add_to_cart_button { flex: 1; min-width: 180px; padding: 0 24px !important; height: 52px !important; font-size: 15px !important; }

/* Product tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom: 2px solid var(--line) !important; padding: 0 !important; margin-bottom: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-bottom: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: none !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  margin-bottom: -2px !important;
  padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  padding: 14px 24px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: var(--muted) !important;
  transition: color .2s !important;
  font-family: inherit !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--primary) !important; background: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--primary) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before { display: none !important; }
.woocommerce div.product .woocommerce-tabs .panel { padding: 28px 0 !important; border: none !important; background: none !important; }

/* Related / upsells headings */
.woocommerce .related h2,
.woocommerce .upsells h2,
.woocommerce .cross-sells h2 {
  font-size: clamp(18px, 2vw, 22px) !important;
  font-weight: 800 !important;
  letter-spacing: -.03em !important;
  margin-bottom: 20px !important;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

/* Product meta */
.woocommerce div.product .product_meta { margin-top: 14px; font-size: 13px; color: var(--muted); }
.woocommerce div.product .product_meta a { color: var(--primary); }

/* =============================================================================
   4. CART PAGE — inside ebt-cart-table-wrap
   ============================================================================= */
.woocommerce table.cart { width: 100%; }
.ebt-cart-table-wrap .woocommerce table.cart thead th {
  background: var(--bg);
  padding: 14px 16px !important;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .04em;
  border-bottom: 1px solid var(--line) !important;
  text-align: start;
}
.woocommerce #content table.cart td,
.woocommerce table.cart td,
.woocommerce-page #content table.cart td,
.woocommerce-page table.cart td { padding: 16px !important; border-top: 1px solid var(--line) !important; vertical-align: middle !important; }

.woocommerce table.cart td.product-thumbnail img { width: 72px !important; height: 72px !important; object-fit: cover !important; border-radius: var(--radius-md) !important; border: 1px solid var(--line) !important; }
.woocommerce table.cart td.product-name a { font-weight: 700; color: var(--text); text-decoration: none; }
.woocommerce table.cart td.product-name a:hover { color: var(--primary); }

/* Cart remove button */
.woocommerce table.cart a.remove { font-size: 20px !important; color: var(--muted) !important; }
.woocommerce table.cart a.remove:hover { color: #ef4444 !important; background: none !important; }

/* Cart actions row */
.woocommerce-cart-form .actions { display: flex; justify-content: space-between; align-items: center; padding: 16px; flex-wrap: wrap; gap: 12px; }

/* Cart totals */
.cart_totals h2 { font-size: 18px !important; font-weight: 800 !important; letter-spacing: -.02em !important; margin-bottom: 16px !important; }
.woocommerce .cart_totals table.shop_table { background: #fff; border-radius: var(--radius-lg); border: 1px solid var(--line) !important; overflow: hidden; }
.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td { padding: 14px 18px !important; border-bottom: 1px solid var(--line) !important; }
.woocommerce .cart_totals table.shop_table tr:last-child th,
.woocommerce .cart_totals table.shop_table tr:last-child td { border-bottom: none !important; }
.woocommerce .cart_totals table.shop_table tr.order-total th,
.woocommerce .cart_totals table.shop_table tr.order-total td { font-size: 17px !important; font-weight: 900 !important; }
.woocommerce .cart_totals .wc-proceed-to-checkout { padding: 14px 0 0 !important; }
.woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button { display: block; text-align: center; padding: 0 !important; height: 50px !important; font-size: 15px !important; }

/* =============================================================================
   5. CHECKOUT PAGE
   ============================================================================= */
.woocommerce-checkout #payment { background: #fff !important; border-radius: var(--radius-lg) !important; border: 1px solid var(--line) !important; padding: 20px !important; margin-top: 14px !important; }
.woocommerce-checkout #payment ul.payment_methods { padding: 0 !important; margin: 0 0 16px !important; border-bottom: 1px solid var(--line) !important; }
.woocommerce-checkout #payment div.payment_box { background: var(--bg) !important; border: none !important; border-radius: var(--radius-md) !important; padding: 14px !important; margin-top: 6px !important; color: var(--muted) !important; }
.woocommerce-checkout #payment div.payment_box::before { border-color: transparent transparent var(--bg) !important; }

/* Payment method labels — keep icons on one horizontal line */
#payment ul.payment_methods li label {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  cursor: pointer !important;
  padding: 12px 0 !important;
  font-weight: 600 !important;
}
#payment ul.payment_methods li label img {
  display: inline-block !important;
  max-height: 26px !important;
  width: auto !important;
  vertical-align: middle !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}
#payment ul.payment_methods li {
  list-style: none !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--line) !important;
}
#payment ul.payment_methods li:last-child { border-bottom: none !important; }

/* Order review table inside checkout */
.woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; }
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td { padding: 12px 0 !important; border-bottom: 1px solid var(--line) !important; font-size: 14px !important; }
.woocommerce-checkout-review-order-table .product-name { font-weight: 700; }
.woocommerce-checkout-review-order-table .order-total td { font-weight: 900 !important; font-size: 17px !important; color: var(--primary) !important; }

/* Checkout field wrappers — 2-col grid */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-shipping-fields__field-wrapper .form-row-wide { grid-column: 1 / -1; }

/* WC field inputs */
.woocommerce form .form-row label { font-size: 13px; font-weight: 700; color: var(--text); margin-bottom: 6px; display: block; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1.5px solid var(--line) !important;
  border-radius: var(--radius-md) !important;
  padding: 12px 14px !important;
  font-family: inherit !important;
  font-size: 14px !important;
  color: var(--text) !important;
  background: #fff !important;
  transition: border-color .18s !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus { border-color: var(--primary) !important; outline: none !important; box-shadow: 0 0 0 3px rgba(15,98,254,.10) !important; }

/* =============================================================================
   6. MY ACCOUNT
   ============================================================================= */

/* ─────────────────────────────────────────────────────────────────────────────
   CRITICAL: Neutralize WooCommerce plugin float layout (woocommerce-layout.css)
   The plugin sets:
     .woocommerce-account .woocommerce-MyAccount-navigation { float:left; width:30% }
     .woocommerce-account .woocommerce-MyAccount-content    { float:right; width:68% }
   Inside our 300px grid column, width:30% = ~90px → sidebar collapses to ~90px.
   Must override BOTH with !important before any of our layout rules.
───────────────────────────────────────────────────────────────────────────── */
.woocommerce-account .woocommerce-MyAccount-navigation {
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-MyAccount-content { padding: 0 !important; }

.woocommerce-orders-table--orders { width: 100%; border-collapse: collapse; }
.woocommerce-orders-table--orders thead th { text-align: start; font-size: 12px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; padding: 12px 16px; border-bottom: 2px solid var(--line); }
.woocommerce-orders-table--orders tbody td { padding: 14px 16px; border-bottom: 1px solid var(--line); font-size: 14px; }
.woocommerce-orders-table--orders .woocommerce-button.button { padding: 6px 14px !important; font-size: 12px !important; box-shadow: none !important; }

.woocommerce-MyAccount-content p { color: var(--muted); line-height: 1.75; }
.woocommerce-MyAccount-content .woocommerce-message { display: flex; align-items: center; gap: 12px; }

.woocommerce-address-fields .woocommerce-Address-title h3,
.woocommerce-column__title { font-size: 16px !important; font-weight: 800 !important; color: var(--text) !important; margin-bottom: 16px !important; }

/* =============================================================================
   7. WOOCOMMERCE NOTICES
   ============================================================================= */
.woocommerce-error,
.woocommerce-message,
.woocommerce-info { border-radius: var(--radius-lg) !important; padding: 14px 20px !important; margin-bottom: 20px !important; border: 1px solid !important; font-size: 14px !important; }
.woocommerce-message { background: #f0fdf4 !important; border-color: #86efac !important; color: #166534 !important; }
.woocommerce-error { background: #fef2f2 !important; border-color: #fca5a5 !important; color: #991b1b !important; }
.woocommerce-info { background: rgba(15,98,254,.06) !important; border-color: rgba(15,98,254,.18) !important; color: var(--primary) !important; }
.woocommerce-error a { color: #991b1b; font-weight: 700; }
.woocommerce-message a { color: #166534; font-weight: 700; }
.woocommerce-info a { color: var(--primary); font-weight: 700; }

/* =============================================================================
   8. STAR RATINGS
   ============================================================================= */
.woocommerce .star-rating { font-size: 13px !important; }
.woocommerce .star-rating::before { color: var(--line) !important; }
.woocommerce .star-rating span::before { color: #f59e0b !important; }
.woocommerce p.stars a { color: #f59e0b !important; }
.woocommerce p.stars a:hover,
.woocommerce p.stars a.active { color: #d97706 !important; }

/* Review form */
.woocommerce #reviews #reply-title { font-size: 18px; font-weight: 800; letter-spacing: -.02em; margin-bottom: 16px; }
.woocommerce #review_form #respond { padding: 20px; background: var(--bg); border-radius: var(--radius-lg); }

/* =============================================================================
   9. BREADCRUMB
   ============================================================================= */
.woocommerce .woocommerce-breadcrumb {
  font-size: 13px !important;
  color: var(--muted) !important;
  margin-bottom: 16px !important;
  background: none !important;
  padding: 0 !important;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}
.woocommerce .woocommerce-breadcrumb a { color: var(--muted) !important; text-decoration: none !important; }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--primary) !important; }

/* =============================================================================
   10. SHOP TOOLBAR
   ============================================================================= */
.woocommerce-products-header { margin-bottom: 20px; }
.woocommerce-products-header__title { font-size: clamp(22px, 3vw, 30px) !important; font-weight: 900 !important; letter-spacing: -.03em !important; }
.woocommerce-result-count { font-size: 13px !important; color: var(--muted) !important; }
.woocommerce-ordering select { border: 1.5px solid var(--line) !important; border-radius: var(--radius-md) !important; padding: 8px 12px !important; font-family: inherit !important; font-size: 13px !important; background: #fff !important; }

/* =============================================================================
   11. RESPONSIVE WOOCOMMERCE
   ============================================================================= */
@media (max-width: 860px) {
  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr !important; }
}

@media (max-width: 768px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }
  ul.ebt-products-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 480px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: 1fr !important; }
  ul.ebt-products-grid { grid-template-columns: 1fr !important; }
}

/* =============================================================================
   12. MINI CART (header widget)
   ============================================================================= */
.ebt-mini-cart-wrap { min-width: 300px; }
.ebt-mini-cart-items { max-height: 320px; overflow-y: auto; display: flex; flex-direction: column; gap: 12px; margin-bottom: 14px; }
.ebt-mini-cart-item { display: flex; gap: 10px; align-items: flex-start; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.ebt-mini-cart-item:last-child { border-bottom: none; }
.ebt-mini-cart-img { width: 56px; height: 56px; object-fit: cover; border-radius: var(--radius-md); border: 1px solid var(--line); flex-shrink: 0; }
.ebt-mini-cart-info { flex: 1; min-width: 0; }
.ebt-mini-cart-name { font-size: 13px; font-weight: 700; color: var(--text); display: block; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ebt-mini-cart-name:hover { color: var(--primary); }
.ebt-mini-cart-qty { font-size: 12px; color: var(--muted); margin-top: 3px; }
.ebt-mini-cart-price { font-size: 14px; font-weight: 800; color: var(--primary); margin-top: 4px; }
.ebt-mini-cart-remove { color: var(--muted); font-size: 18px; line-height: 1; text-decoration: none; flex-shrink: 0; padding: 2px; }
.ebt-mini-cart-remove:hover { color: #ef4444; }
.ebt-mini-cart-total { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-top: 2px solid var(--line); margin-bottom: 12px; }
.ebt-mini-cart-total strong { font-size: 14px; font-weight: 700; color: var(--text); }
.ebt-mini-cart-total .amount { font-size: 18px; font-weight: 900; color: var(--primary); }
.ebt-mini-cart-actions { display: flex; gap: 8px; }
.ebt-mini-cart-actions .ebt-btn-primary,
.ebt-mini-cart-actions .ebt-btn-secondary { flex: 1; justify-content: center; font-size: 13px; min-height: 40px; }
.ebt-mini-cart-empty { text-align: center; padding: 24px 0; color: var(--muted); font-size: 14px; }
.ebt-mini-cart-empty svg { margin: 0 auto 10px; display: block; color: var(--line); }

/* =============================================================================
   13. QUANTITY STEPPER (+/-)
   ============================================================================= */
.ebt-qty-wrap { display: inline-flex; align-items: center; border: 1.5px solid var(--line); border-radius: var(--radius-md); overflow: hidden; background: #fff; }
.ebt-qty-btn { width: 38px; height: 44px; background: var(--bg); border: none; cursor: pointer; font-size: 18px; font-weight: 700; color: var(--text); display: flex; align-items: center; justify-content: center; transition: background .15s; flex-shrink: 0; }
.ebt-qty-btn:hover { background: var(--line); }
.ebt-qty-wrap .qty { border: none !important; border-radius: 0 !important; border-inline: 1.5px solid var(--line) !important; width: 56px !important; text-align: center !important; padding: 0 !important; height: 44px !important; font-size: 16px !important; font-weight: 700 !important; background: #fff !important; }
.ebt-qty-wrap .qty:focus { outline: none !important; box-shadow: none !important; }

/* =============================================================================
   14. EMPTY CART PAGE
   ============================================================================= */
.ebt-empty-cart-page { padding: 60px 0; }
.ebt-empty-cart-inner { text-align: center; max-width: 480px; margin: 0 auto 48px; }
.ebt-empty-cart-inner svg { color: var(--line); margin: 0 auto 20px; display: block; }
.ebt-empty-cart-inner h2 { font-size: clamp(22px, 3vw, 28px); font-weight: 900; letter-spacing: -.03em; margin-bottom: 10px; color: var(--text); }
.ebt-empty-cart-inner p { color: var(--muted); line-height: 1.7; margin-bottom: 24px; }
.ebt-empty-cart-trust { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; margin-top: 40px; }
.ebt-empty-cart-trust .ebt-pv2-trust-box { padding: 18px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); }
.ebt-empty-cart-trust .ebt-pv2-trust-box strong { display: block; font-size: 14px; font-weight: 700; color: var(--text); margin-bottom: 5px; }
.ebt-empty-cart-trust .ebt-pv2-trust-box p { font-size: 13px; color: var(--muted); margin: 0; }

/* =============================================================================
   15. CHECKOUT COUPON & LOGIN TOGGLES
   ============================================================================= */
.woocommerce-info.woocommerce-checkout-coupon,
.woocommerce-info.woocommerce-checkout-login { margin-bottom: 20px !important; }
.woocommerce-form-coupon-toggle .showcoupon,
.woocommerce-form-login-toggle .showlogin { font-weight: 700 !important; color: var(--primary) !important; cursor: pointer; }
.checkout_coupon, .woocommerce-form-login { background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 20px; margin-bottom: 20px; }
.checkout_coupon { display: flex; gap: 12px; align-items: flex-end; flex-wrap: wrap; }
.checkout_coupon .form-row { flex: 1; margin: 0 !important; min-width: 200px; }
.checkout_coupon button { white-space: nowrap; }
.woocommerce-form-login .ebt-login-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.woocommerce-form-login .ebt-login-remember { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.woocommerce-form-login .ebt-login-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }

/* =============================================================================
   16. VARIATION PRODUCT (variable add-to-cart)
   ============================================================================= */
.ebt-variation-wrap { margin-bottom: 20px; }
.ebt-variation-row { margin-bottom: 14px; }
.ebt-variation-row label { display: block; font-size: 13px; font-weight: 700; color: var(--text); margin-bottom: 6px; }
.ebt-variation-select { width: 100%; border: 1.5px solid var(--line); border-radius: var(--radius-md); padding: 10px 14px; font-family: inherit; font-size: 14px; color: var(--text); background: #fff; transition: border-color .18s; }
.ebt-variation-select:focus { border-color: var(--primary); outline: none; box-shadow: 0 0 0 3px rgba(15,98,254,.10); }
.ebt-variation-clear { font-size: 12px; color: var(--muted); cursor: pointer; text-decoration: underline; margin-bottom: 14px; display: inline-block; }
.ebt-variation-clear:hover { color: var(--primary); }
.ebt-variation-price { margin-bottom: 16px; }
.ebt-variation-price .price { font-size: 22px !important; font-weight: 900 !important; color: var(--primary) !important; }
.ebt-variation-sku { font-size: 12px; color: var(--muted); margin-top: 4px; }
.ebt-variation-availability { font-size: 13px; margin-bottom: 10px; }
.ebt-variation-availability.instock { color: #16a34a; }
.ebt-variation-availability.outofstock { color: #dc2626; }
.variable-atc-form { display: flex; flex-direction: column; }
.variable-atc-form .woocommerce-variation-add-to-cart { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.variable-atc-form .woocommerce-variation-add-to-cart .quantity { flex-shrink: 0; }
.variable-atc-form .woocommerce-variation-add-to-cart .single_add_to_cart_button { flex: 1; min-width: 160px; }

/* =============================================================================
   17. ACCOUNT FORMS (login, lost password, addresses)
   ============================================================================= */
.ebt-account-login-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ebt-account-login-col { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 28px; }
.ebt-account-login-col h2 { font-size: 18px; font-weight: 800; letter-spacing: -.02em; margin-bottom: 20px; color: var(--text); }
.ebt-lost-password-wrap { max-width: 500px; margin: 0 auto; }
.ebt-lost-password-wrap .ebt-pv2-card { padding: 32px; }
.ebt-lost-password-wrap h2 { font-size: 20px; font-weight: 800; letter-spacing: -.02em; margin-bottom: 8px; color: var(--text); }
.ebt-back-to-login { margin-top: 20px; text-align: center; }
.ebt-back-to-login a { font-size: 13px; color: var(--primary); font-weight: 600; text-decoration: none; }
.ebt-back-to-login a:hover { text-decoration: underline; }
.ebt-addresses-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ebt-address-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 24px; }
.ebt-address-card-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.ebt-address-card-head h3 { font-size: 16px; font-weight: 800; color: var(--text); margin: 0; }
.ebt-address-card address { font-style: normal; font-size: 14px; color: var(--muted); line-height: 1.8; }
.ebt-address-no-address { color: var(--muted); font-size: 14px; }
.ebt-edit-address-form-wrap { max-width: 680px; }
.ebt-edit-address-form-wrap h3 { font-size: 18px; font-weight: 800; letter-spacing: -.02em; margin-bottom: 20px; color: var(--text); }
.ebt-form-grid-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ebt-form-grid-2col .form-row-wide { grid-column: 1 / -1; }

/* =============================================================================
   18. RESPONSIVE – NEW COMPONENTS
   ============================================================================= */
@media (max-width: 768px) {
  .ebt-account-login-grid { grid-template-columns: 1fr; }
  .ebt-addresses-grid { grid-template-columns: 1fr; }
  .woocommerce-form-login .ebt-login-grid { grid-template-columns: 1fr; }
  .ebt-form-grid-2col { grid-template-columns: 1fr; }
}

/* =============================================================================
   19. MINI CART TEMPLATE – additional class aliases
   ============================================================================= */
.ebt-mini-cart-list { list-style: none !important; padding: 0 !important; margin: 0 0 14px !important; max-height: 300px; overflow-y: auto; }
.ebt-mini-cart-item-inner { display: flex; gap: 10px; align-items: flex-start; padding-inline-end: 22px; flex: 1; }
.ebt-mini-cart-item-img img { width: 52px; height: 52px; object-fit: cover; border-radius: var(--radius-md); border: 1px solid var(--line); display: block; }
.ebt-mini-cart-item-info { flex: 1; min-width: 0; }
.ebt-mini-cart-item-name { font-size: 13px; font-weight: 700; color: var(--text); text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ebt-mini-cart-item-name:hover { color: var(--primary); }
.ebt-mini-cart-item-qty-price { font-size: 12px; color: var(--muted); margin-top: 4px; }
.ebt-mini-cart-item-qty-price .amount { font-weight: 700; color: var(--primary); }
.ebt-mini-cart-totals { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-top: 2px solid var(--line); margin-bottom: 12px; }
.ebt-mini-cart-totals strong { font-size: 13px; font-weight: 700; color: var(--text); }
.ebt-mini-cart-totals .amount { font-size: 17px; font-weight: 900; color: var(--primary); }
.ebt-mini-cart-buttons { display: flex; gap: 8px; }
.ebt-mini-cart-buttons .ebt-btn-primary,
.ebt-mini-cart-buttons .ebt-btn-secondary { flex: 1; text-align: center; justify-content: center; font-size: 13px; min-height: 40px; }
.ebt-mini-cart-empty-icon { color: var(--line); display: block; margin: 0 auto 12px; }
.ebt-mini-cart-empty-text { color: var(--muted); font-size: 14px; margin-bottom: 14px; }

/* WooCommerce cart widget default buttons → theme style */
.widget_shopping_cart .buttons { display: flex; gap: 8px; margin-top: 14px; }
.widget_shopping_cart .buttons a { flex: 1; display: inline-flex; align-items: center; justify-content: center; padding: 0 14px; min-height: 40px; font-size: 13px; font-weight: 700; border-radius: var(--radius-md); text-decoration: none; transition: .2s ease; text-align: center; }
.widget_shopping_cart .buttons a.cart-contents { background: var(--bg); color: var(--text); border: 1px solid var(--line); }
.widget_shopping_cart .buttons a.cart-contents:hover { background: var(--line); }
.widget_shopping_cart .buttons a.checkout { background: linear-gradient(135deg, var(--primary), var(--primary-2)); color: #fff; border: none; box-shadow: 0 6px 16px rgba(15,98,254,.22); }

/* =============================================================================
   20. ARCHIVE / SHOP PAGE LAYOUT — ebt-arc-* design system
   Matches 03_prototypes/category-page/product_archive_category_v2.html
   ============================================================================= */

/* Page wrapper */
.ebt-arc-page {
  padding: 28px 0 80px;
  background:
    radial-gradient(circle at 10% 10%, rgba(15,98,254,.08), transparent 22%),
    radial-gradient(circle at 88% 18%, rgba(20,184,166,.08), transparent 16%),
    linear-gradient(180deg, #f8fbff 0%, #f3f7fb 100%);
  min-height: 60vh;
}

/* Shared card surface */
.ebt-arc-card {
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 28px;
  box-shadow: 0 10px 28px rgba(15,23,42,.08);
}

/* Top line: breadcrumbs + actions */
.ebt-arc-topline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 18px;
}
.ebt-arc-breadcrumbs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  color: #5b6b82;
  font-size: 13px;
}
.ebt-arc-breadcrumbs a { color: #5b6b82; text-decoration: none; }
.ebt-arc-breadcrumbs a:hover { color: #0f62fe; }
.ebt-arc-breadcrumbs strong { color: #0f172a; }

/* Hero section */
.ebt-arc-hero {
  padding: 28px;
  overflow: hidden;
  position: relative;
  background:
    radial-gradient(circle at 12% 18%, rgba(15,98,254,.10), transparent 20%),
    radial-gradient(circle at 88% 16%, rgba(20,184,166,.10), transparent 18%),
    linear-gradient(180deg, #ffffff, #f8fbff);
}
.ebt-arc-hero-grid {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 20px;
  align-items: center;
}
.ebt-arc-badges { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.ebt-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}
.ebt-badge.primary { color: #0f62fe; background: rgba(15,98,254,.08); }
.ebt-badge.soft    { color: #334155; background: rgba(148,163,184,.12); }
.ebt-badge.success { color: #15803d; background: rgba(22,163,74,.10); }

.ebt-arc-title {
  margin: 0 0 12px;
  font-size: clamp(2rem, 3.4vw, 3.2rem);
  line-height: 1.08;
  letter-spacing: -.04em;
  color: #0f172a;
}
.ebt-arc-summary {
  margin: 0;
  color: #5b6b82;
  font-size: 16px;
  line-height: 1.95;
}
.ebt-arc-trustline { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.ebt-arc-trustline span {
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(15,23,42,.08);
  font-size: 13px;
  font-weight: 800;
  color: #334155;
}
.ebt-arc-hero-side { display: grid; gap: 12px; }
.ebt-arc-stat {
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(15,23,42,.08);
}
.ebt-arc-stat strong { display: block; font-size: 17px; font-weight: 800; margin-bottom: 6px; }
.ebt-arc-stat p { margin: 0; color: #5b6b82; line-height: 1.8; font-size: 13px; }

/* Filters bar */
.ebt-arc-filters { margin-top: 18px; padding: 18px; }
.ebt-arc-filters-row {
  display: grid;
  grid-template-columns: 1.2fr repeat(3, minmax(0,1fr)) auto;
  gap: 12px;
  align-items: center;
}
.ebt-arc-search-box {
  min-height: 52px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  border-radius: 16px;
  background: #fff;
  border: 1.5px solid rgba(15,23,42,.08);
  font-weight: 700;
  box-shadow: 0 10px 28px rgba(15,23,42,.08);
}
.ebt-arc-search-input {
  flex: 1;
  border: none;
  outline: none;
  font-family: inherit;
  font-size: 14px;
  color: #0f172a;
  background: transparent;
}
.ebt-arc-search-input::placeholder { color: #5b6b82; }
.ebt-arc-filter-box {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0 14px;
  border-radius: 16px;
  background: #fff;
  border: 1.5px solid rgba(15,23,42,.08);
  color: #334155;
  font-weight: 700;
  font-size: 14px;
  box-shadow: 0 10px 28px rgba(15,23,42,.08);
  cursor: pointer;
  position: relative;
}
.ebt-arc-filter-box:hover { border-color: #0f62fe; }
.ebt-arc-filter-label { display: flex; align-items: center; gap: 7px; }
.ebt-arc-filter-chevron { color: #5b6b82; flex-shrink: 0; transition: transform .2s; }
.ebt-arc-dropdown {
  display: none;
  flex-direction: column;
  position: absolute;
  top: calc(100% + 6px);
  inset-inline-start: 0;
  min-width: 200px;
  background: #fff;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 16px;
  box-shadow: 0 22px 60px rgba(15,23,42,.12);
  z-index: 200;
  padding: 8px;
  gap: 2px;
}
.ebt-arc-filter-box:hover .ebt-arc-dropdown,
.ebt-arc-filter-box.is-open .ebt-arc-dropdown { display: flex; }
.ebt-arc-dd-item {
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 13.5px;
  font-weight: 600;
  color: #334155;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background .15s, color .15s;
}
.ebt-arc-dd-item:hover { background: #f4f7fb; color: #0f62fe; }
.ebt-arc-dd-item.is-active { background: rgba(15,98,254,.08); color: #0f62fe; font-weight: 800; }
.ebt-arc-dd-count {
  font-size: 11px;
  background: #f4f7fb;
  border-radius: 999px;
  padding: 2px 7px;
  color: #5b6b82;
}
.ebt-arc-filter-chip {
  min-height: 52px;
  padding: 0 16px;
  border-radius: 16px;
  background: #fff;
  border: 1.5px solid rgba(15,23,42,.08);
  color: #334155;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  transition: background .2s, border-color .2s, color .2s;
}
.ebt-arc-filter-chip.is-active,
.ebt-arc-filter-chip:hover {
  background: rgba(15,98,254,.08);
  border-color: rgba(15,98,254,.2);
  color: #0f62fe;
}

/* Toolbar */
.ebt-arc-toolbar {
  margin-top: 16px;
  padding: 14px 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.ebt-arc-results { font-size: 14px; color: #5b6b82; font-weight: 700; }
.ebt-arc-results .woocommerce-result-count { margin: 0; font-size: 14px; color: #5b6b82; font-weight: 700; }
.ebt-arc-sort-wrap select,
.ebt-arc-sort-wrap .orderby {
  border: 1.5px solid rgba(15,23,42,.08) !important;
  border-radius: 12px !important;
  padding: 10px 14px !important;
  font-family: inherit !important;
  font-size: 13px !important;
  background: #fff !important;
  color: #334155 !important;
  font-weight: 700 !important;
}
.ebt-arc-view-wrap { display: flex; gap: 10px; align-items: center; }
.ebt-view-toggle { display: flex; gap: 6px; }
.ebt-view-btn {
  width: 38px; height: 38px;
  border-radius: 10px;
  background: #fff;
  border: 1.5px solid rgba(15,23,42,.08);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: #5b6b82;
  transition: background .2s, color .2s, border-color .2s;
  outline: none;
}
.ebt-view-btn.is-active,
.ebt-view-btn:hover {
  background: rgba(15,98,254,.08);
  border-color: rgba(15,98,254,.2);
  color: #0f62fe;
}
.ebt-arc-mobile-filter-btn { display: none; }

/* Main 2-column layout: sidebar + grid */
.ebt-arc-main {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 260px minmax(0,1fr);
  gap: 20px;
  align-items: start;
}

/* Sidebar */
.ebt-arc-sidebar {
  position: sticky;
  top: 20px;
  padding: 20px;
}
.ebt-arc-side-group + .ebt-arc-side-group { margin-top: 18px; }
.ebt-arc-side-group h3 {
  margin: 0 0 10px;
  font-size: 15px;
  font-weight: 800;
  color: #0f172a;
}
.ebt-arc-side-list { display: grid; gap: 8px; }
.ebt-arc-side-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(15,23,42,.08);
  color: #334155;
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none;
  transition: background .2s, color .2s, border-color .2s;
}
.ebt-arc-side-item:hover {
  background: rgba(15,98,254,.06);
  color: #0f62fe;
  border-color: rgba(15,98,254,.15);
}
.ebt-arc-side-count {
  font-size: 11px;
  background: #f4f7fb;
  border-radius: 999px;
  padding: 2px 7px;
  color: #5b6b82;
  font-weight: 600;
}
.ebt-arc-side-cta { display: flex; flex-direction: column; gap: 10px; }
.ebt-arc-side-cta .ebt-btn-primary,
.ebt-arc-side-cta .ebt-btn-secondary { justify-content: center; text-align: center; }

/* Product grid inside archive */
.ebt-arc-grid-wrap {}
.ebt-arc-grid-wrap ul.ebt-products-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 18px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Square compact cards — override min-height so aspect-ratio takes control */
.ebt-arc-grid-wrap ul.ebt-products-grid .ebt-product-media {
  min-height: unset !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
}
/* List view override */
.ebt-arc-grid-wrap.view-list ul.ebt-products-grid { grid-template-columns: 1fr !important; }
.ebt-arc-grid-wrap.view-list ul.ebt-products-grid .ebt-product-card {
  display: grid;
  grid-template-columns: 180px 1fr;
  align-items: center;
}
.ebt-arc-grid-wrap.view-list ul.ebt-products-grid .ebt-product-media {
  aspect-ratio: unset !important;
  height: 150px !important;
  min-height: unset !important;
  margin: 16px;
  border-radius: 14px;
}

/* Product card — main card shell */
.ebt-product-card {
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 24px;
  box-shadow: 0 10px 28px rgba(15,23,42,.08);
  overflow: hidden;
  transition: transform .28s ease, box-shadow .28s ease;
  display: flex;
  flex-direction: column;
}
.ebt-product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 44px rgba(15,23,42,.10);
}

/* Badge row */
.ebt-product-badge-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 16px 16px 0;
}
.ebt-product-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  color: #0f62fe;
  background: rgba(15,98,254,.08);
}
.ebt-product-badge.soft {
  color: #334155;
  background: rgba(148,163,184,.12);
}

/* Product media area */
.ebt-product-media {
  margin: 14px 16px 0;
  min-height: 220px;
  border-radius: 18px;
  background:
    radial-gradient(circle at 20% 20%, rgba(15,98,254,.14), transparent 26%),
    radial-gradient(circle at 80% 24%, rgba(20,184,166,.12), transparent 22%),
    linear-gradient(135deg, #f7fbff, #edf4fb);
  border: 1px solid rgba(15,23,42,.05);
  overflow: hidden;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ebt-product-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 16px;
}

/* Card content */
.ebt-product-content { padding: 18px 18px 16px; flex: 1; display: flex; flex-direction: column; }
.ebt-product-title {
  margin: 0 0 8px;
  font-size: 17px;
  line-height: 1.35;
  letter-spacing: -.02em;
  color: #0f172a;
  font-weight: 800;
}
.ebt-product-title a { color: inherit; text-decoration: none; }
.ebt-product-title a:hover { color: #0f62fe; }
.ebt-product-summary {
  margin: 0 0 12px;
  color: #5b6b82;
  line-height: 1.85;
  font-size: 13.5px;
}
.ebt-product-highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.ebt-product-chip {
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15,23,42,.08);
  font-size: 12px;
  font-weight: 700;
  color: #334155;
}
.ebt-product-price {
  margin-bottom: 14px;
  font-size: 18px !important;
  font-weight: 900 !important;
  color: #0f62fe !important;
}
.ebt-product-price .price { font-size: inherit !important; font-weight: inherit !important; color: inherit !important; }
.ebt-product-price del { color: #5b6b82 !important; font-size: 14px !important; font-weight: 400 !important; margin-inline-end: 6px; }
.ebt-product-price ins { text-decoration: none !important; }
.ebt-product-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: auto;
}
.ebt-product-actions .button,
.ebt-product-actions .ebt-btn-primary,
.ebt-product-actions .ebt-btn-secondary { flex: 1; justify-content: center; min-height: 44px !important; }

/* Buying guide + FAQ sections */
.ebt-arc-guide,
.ebt-arc-faq { margin-top: 24px; padding: 24px; }
.ebt-arc-guide-title {
  margin: 0 0 16px;
  font-size: 26px;
  font-weight: 900;
  letter-spacing: -.03em;
  color: #0f172a;
}
.ebt-arc-guide-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 18px;
}
.ebt-arc-panel {
  padding: 18px;
  border-radius: 18px;
  background: linear-gradient(180deg, #fff, #f9fbff);
  border: 1px solid rgba(15,23,42,.08);
}
.ebt-arc-panel h3 { margin: 0 0 10px; font-size: 17px; font-weight: 800; }
.ebt-arc-panel p { margin: 0; color: #5b6b82; line-height: 1.95; font-size: 15px; }
.ebt-arc-guide-list { display: grid; gap: 10px; }
.ebt-arc-guide-list div {
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,.08);
  background: #fff;
  font-size: 14px;
  font-weight: 700;
  color: #334155;
}

/* FAQ */
.ebt-arc-faq-list { display: grid; gap: 12px; }
.ebt-arc-faq-item {
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.08);
  background: #fff;
  overflow: hidden;
}
.ebt-arc-faq-q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 15px;
  font-weight: 800;
  color: #0f172a;
  font-family: inherit;
  text-align: start;
  gap: 12px;
}
.ebt-arc-faq-q:hover { color: #0f62fe; }
.ebt-arc-faq-icon { flex-shrink: 0; transition: transform .25s ease; color: #5b6b82; }
.ebt-arc-faq-q[aria-expanded="true"] .ebt-arc-faq-icon { transform: rotate(180deg); }
.ebt-arc-faq-a { padding: 0 20px 18px; }
.ebt-arc-faq-a p { margin: 0; color: #5b6b82; line-height: 1.9; font-size: 14px; }

/* Pagination */
.ebt-arc-pagination { margin-top: 22px; padding: 16px 18px; }
.ebt-arc-pagination .woocommerce-pagination ul {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}
.ebt-arc-pagination .woocommerce-pagination ul li { display: flex; }
.ebt-arc-pagination .woocommerce-pagination ul li a,
.ebt-arc-pagination .woocommerce-pagination ul li span {
  min-width: 44px;
  min-height: 44px;
  padding: 0 14px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid rgba(15,23,42,.08);
  color: #334155;
  font-weight: 800;
  font-size: 14px;
  box-shadow: 0 10px 28px rgba(15,23,42,.08);
  text-decoration: none;
  transition: background .2s, color .2s, border-color .2s;
}
.ebt-arc-pagination .woocommerce-pagination ul li a:hover {
  background: rgba(15,98,254,.06);
  border-color: #0f62fe;
  color: #0f62fe;
}
.ebt-arc-pagination .woocommerce-pagination ul li span.current {
  background: linear-gradient(135deg, #0f62fe, #0a4ed1);
  color: #fff;
  border-color: transparent;
}

/* Empty state */
.ebt-arc-empty {
  padding: 60px 24px;
  text-align: center;
}
.ebt-arc-empty-icon {
  color: rgba(15,23,42,.15);
  margin: 0 auto 20px;
  display: block;
  width: fit-content;
}
.ebt-arc-empty h2 { font-size: 22px; font-weight: 800; margin-bottom: 10px; color: #0f172a; }
.ebt-arc-empty p { color: #5b6b82; font-size: 15px; line-height: 1.8; margin-bottom: 20px; }

/* =============================================================================
   20a. SINGLE PRODUCT PAGE — ebt-pv2-* design system
   Matches 03_prototypes/product-page/product_page_v2_advanced.html
   ============================================================================= */

/* Sticky topbar */
.ebt-pv2-topbar {
  position: sticky;
  top: 0;
  z-index: 100;
  backdrop-filter: blur(14px);
  background: rgba(255,255,255,.75);
  border-bottom: 1px solid rgba(15,23,42,.08);
}
.ebt-pv2-topbar-inner {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.ebt-pv2-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  color: #5b6b82;
  font-size: 13px;
  align-items: center;
}
.ebt-pv2-breadcrumbs a { color: #5b6b82; text-decoration: none; }
.ebt-pv2-breadcrumbs a:hover { color: #0f62fe; }
.ebt-pv2-top-actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* Single product page */
.ebt-pv2-page { padding: 28px 0 80px; }

/* Shared card */
.ebt-pv2-card {
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 28px;
  box-shadow: 0 10px 28px rgba(15,23,42,.08);
}

/* Hero: gallery left, info column right */
.ebt-pv2-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
  gap: 26px;
  align-items: start;
}

/* Gallery */
.ebt-pv2-gallery { padding: 18px; }
.ebt-pv2-gallery-grid {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 14px;
}
.ebt-pv2-thumbs { display: grid; gap: 10px; }
.ebt-pv2-thumb {
  height: 82px;
  border-radius: 16px;
  border: 1px solid rgba(15,23,42,.08);
  background: linear-gradient(135deg, #f7fbff, #edf4fb);
  box-shadow: 0 10px 28px rgba(15,23,42,.08);
  transition: .22s ease;
  cursor: pointer;
  overflow: hidden;
}
.ebt-pv2-thumb.active,
.ebt-pv2-thumb:hover { border-color: rgba(15,98,254,.28); transform: translateY(-1px); }
.ebt-pv2-main-media {
  min-height: 460px;
  border-radius: 24px;
  border: 1px solid rgba(15,23,42,.06);
  background:
    radial-gradient(circle at 18% 18%, rgba(15,98,254,.12), transparent 24%),
    radial-gradient(circle at 82% 20%, rgba(20,184,166,.12), transparent 20%),
    linear-gradient(135deg, #fbfdff, #edf3f9);
  overflow: hidden;
  position: relative;
}

/* WC product image override inside gallery */
.ebt-pv2-gallery .woocommerce-product-gallery { margin: 0 !important; float: none !important; width: 100% !important; opacity: 1 !important; display: flex; gap: 14px; }
.rtl .ebt-pv2-gallery .woocommerce-product-gallery, [dir="rtl"] .ebt-pv2-gallery .woocommerce-product-gallery { flex-direction: row-reverse; }
.ebt-pv2-gallery .woocommerce-product-gallery__wrapper { border-radius: 24px; overflow: hidden; }
.ebt-pv2-gallery .woocommerce-product-gallery .flex-control-thumbs {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px;
  padding: 0 !important;
  margin: 0 !important;
}
.ebt-pv2-gallery .woocommerce-product-gallery .flex-control-thumbs li {
  float: none !important;
  width: 82px !important;
  height: 82px !important;
}
.ebt-pv2-gallery .woocommerce-product-gallery .flex-control-thumbs li img {
  width: 82px !important;
  height: 82px !important;
  object-fit: cover !important;
  border-radius: 14px !important;
  border: 2px solid rgba(15,23,42,.08) !important;
}
.ebt-pv2-gallery .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
  border-color: #0f62fe !important;
}

/* Info column */
.ebt-pv2-info { display: flex; flex-direction: column; gap: 18px; min-width: 0; }

/* Copy card */
.ebt-pv2-copy { padding: 24px; word-break: break-word; overflow-wrap: break-word; }
.ebt-pv2-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.ebt-pv2-title {
  margin: 0 0 10px;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.12;
  letter-spacing: -.04em;
  color: #0f172a;
}
.ebt-pv2-meta {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  color: #334155;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 14px;
}
.ebt-pv2-meta a { color: #0f62fe; text-decoration: none; }
.ebt-pv2-summary { margin: 0; color: #5b6b82; font-size: 16px; line-height: 1.95; }
.ebt-pv2-highlight-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.ebt-pv2-highlight {
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(15,23,42,.08);
  font-size: 13px;
  font-weight: 800;
  color: #334155;
}

/* Sticky purchase card */
.ebt-pv2-sticky-card {
  position: relative;
  padding: 22px;
  margin-top: 20px;
}
@media (min-width: 1025px) {
  .ebt-pv2-sticky-card {
    position: sticky;
    top: 90px;
  }
}
.ebt-pv2-price {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  margin-bottom: 14px;
}
.ebt-pv2-price .price {
  font-size: 26px !important;
  font-weight: 900 !important;
  color: #0f62fe !important;
  letter-spacing: -.03em !important;
}
.ebt-pv2-cta-stack { display: grid; gap: 10px; margin-bottom: 16px; }
.ebt-pv2-cta-stack .ebt-btn-primary,
.ebt-pv2-cta-stack .ebt-btn-secondary { justify-content: center; }
.ebt-pv2-trust-list { display: grid; gap: 10px; color: #334155; font-size: 14px; line-height: 1.7; }
.ebt-pv2-trust-list div {
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(15,98,254,.03);
  border: 1px solid rgba(15,23,42,.06);
}
.ebt-pv2-note {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(20,184,166,.08);
  color: #0f172a;
  font-size: 13px;
  line-height: 1.7;
  border: 1px solid rgba(20,184,166,.16);
}
.ebt-pv2-meta-strip { margin-top: 14px; font-size: 13px; color: #5b6b82; }
.ebt-pv2-meta-strip a { color: #0f62fe; text-decoration: none; }

/* Sections below hero */
.ebt-pv2-trust-strip,
.ebt-pv2-specs,
.ebt-pv2-description,
.ebt-pv2-final { margin-top: 24px; padding: 24px; }

.ebt-section-title {
  margin: 0 0 16px;
  font-size: 26px;
  line-height: 1.18;
  letter-spacing: -.03em;
  color: #0f172a;
  font-weight: 900;
}
.ebt-section-sub { margin: 0 0 18px; color: #5b6b82; line-height: 1.9; font-size: 15px; }

/* Trust grid — 4 boxes */
.ebt-pv2-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.ebt-pv2-trust-box {
  padding: 16px;
  border-radius: 18px;
  background: linear-gradient(180deg, #fff, #f8fbff);
  border: 1px solid rgba(15,23,42,.08);
}
.ebt-pv2-trust-box strong { display: block; margin-bottom: 6px; font-size: 15px; font-weight: 800; }
.ebt-pv2-trust-box p { margin: 0; color: #5b6b82; line-height: 1.8; font-size: 13px; }

/* Specs grid */
.ebt-pv2-specs-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.ebt-pv2-spec-group {
  padding: 18px;
  border-radius: 18px;
  background: linear-gradient(180deg, #fff, #f9fbff);
  border: 1px solid rgba(15,23,42,.08);
}
.ebt-pv2-spec-group h3 { margin: 0 0 12px; font-size: 17px; font-weight: 800; }
.ebt-pv2-chip-row { display: flex; flex-wrap: wrap; gap: 10px; }
.ebt-pv2-chip {
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(15,98,254,.07);
  color: #163259;
  font-size: 13px;
  font-weight: 800;
}

/* Description tabs */
.ebt-pv2-description .woocommerce-tabs { margin-top: 0; }
.ebt-pv2-description .woocommerce-tabs ul.tabs {
  border-bottom: 2px solid rgba(15,23,42,.08) !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
}
.ebt-pv2-description .woocommerce-tabs ul.tabs li {
  background: none !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  margin-bottom: -2px !important;
  padding: 0 !important;
}
.ebt-pv2-description .woocommerce-tabs ul.tabs li a {
  padding: 13px 22px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: #5b6b82 !important;
  font-family: inherit !important;
}
.ebt-pv2-description .woocommerce-tabs ul.tabs li.active { border-bottom-color: #0f62fe !important; }
.ebt-pv2-description .woocommerce-tabs ul.tabs li.active a { color: #0f62fe !important; }
.ebt-pv2-description .woocommerce-tabs .panel { padding: 24px 0 !important; border: none !important; background: none !important; }

/* Related products inside description section */
.ebt-pv2-description .related h2,
.ebt-pv2-description .upsells h2 {
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: -.03em !important;
  margin-bottom: 18px !important;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(15,23,42,.08);
}
.ebt-pv2-description .related ul.products,
.ebt-pv2-description .upsells ul.products {
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
}

/* Final CTA section */
.ebt-pv2-final {
  background:
    radial-gradient(circle at 12% 20%, rgba(15,98,254,.10), transparent 22%),
    radial-gradient(circle at 88% 18%, rgba(20,184,166,.10), transparent 18%),
    linear-gradient(180deg, #ffffff, #f7fbff);
}
.ebt-pv2-final-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
.ebt-pv2-final-copy { max-width: 720px; }
.ebt-pv2-final-copy h2 {
  margin: 0 0 10px;
  font-size: 28px;
  line-height: 1.14;
  letter-spacing: -.04em;
  font-weight: 900;
}
.ebt-pv2-final-copy p { margin: 0; color: #5b6b82; line-height: 1.9; font-size: 15px; }
.ebt-pv2-final-actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* =============================================================================
   20b. RESPONSIVE — ARCHIVE + SINGLE PRODUCT
   ============================================================================= */
@media (max-width: 1180px) {
  .ebt-arc-main { grid-template-columns: 240px minmax(0,1fr); }
  .ebt-arc-grid-wrap ul.products { grid-template-columns: repeat(2,1fr) !important; }
  .ebt-pv2-trust-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1020px) {
  .ebt-arc-main { grid-template-columns: 1fr; }
  .ebt-arc-sidebar { position: static; }
  .ebt-arc-mobile-filter-btn { display: inline-flex; }
  .ebt-arc-sidebar[data-mobile-open="false"] { display: none; }
  .ebt-pv2-hero { grid-template-columns: 1fr; }
  .ebt-pv2-sticky-card { position: static; }
  .ebt-pv2-specs-grid { grid-template-columns: 1fr 1fr; }
  .ebt-arc-guide-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .ebt-arc-filters-row { grid-template-columns: 1fr 1fr; }
  .ebt-arc-grid-wrap ul.products { grid-template-columns: repeat(2,1fr) !important; }
  .ebt-pv2-gallery-grid { grid-template-columns: 1fr; }
  .ebt-pv2-thumbs { grid-template-columns: repeat(4, 1fr); display: grid; flex-direction: unset; }
  .ebt-pv2-thumb { height: 70px; }
  .ebt-pv2-trust-grid { grid-template-columns: 1fr 1fr; }
  .ebt-pv2-specs-grid { grid-template-columns: 1fr; }
  .ebt-pv2-description .related ul.products,
  .ebt-pv2-description .upsells ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 540px) {
  .ebt-arc-filters-row { grid-template-columns: 1fr; }
  .ebt-arc-grid-wrap ul.products { grid-template-columns: 1fr !important; }
  .ebt-pv2-trust-grid { grid-template-columns: 1fr; }
  .ebt-pv2-description .related ul.products,
  .ebt-pv2-description .upsells ul.products { grid-template-columns: 1fr !important; }
  .ebt-arc-hero-grid { grid-template-columns: 1fr; }
}

/* =============================================================================
   21. CHECKOUT — CUSTOMER REGISTRATION & CONFIRMATION
   ============================================================================= */

/* Hero subtitle */
.ebt-shop-hero-sub {
  margin-top: 8px;
  color: #5b6b82;
  font-size: 16px;
}

/* Auth Section */
.ebt-checkout-auth-section {
  margin-bottom: 24px;
}

.ebt-checkout-auth-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

@media (max-width: 640px) {
  .ebt-checkout-auth-grid { grid-template-columns: 1fr; }
}

.ebt-auth-option {
  padding: 16px;
  border: 2px solid var(--line);
  border-radius: var(--radius-lg);
  cursor: pointer;
  transition: all 0.22s ease;
}

.ebt-auth-option.active,
.ebt-auth-option:hover {
  border-color: var(--primary);
  background: rgba(15,98,254,0.03);
}

.ebt-auth-radio {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  margin: 0;
}

.ebt-auth-radio input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.ebt-auth-radio-custom {
  width: 20px;
  height: 20px;
  border: 2px solid var(--line);
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 2px;
  transition: all 0.22s ease;
  position: relative;
}

.ebt-auth-radio input:checked + .ebt-auth-radio-custom {
  border-color: var(--primary);
  background: var(--primary);
}

.ebt-auth-radio input:checked + .ebt-auth-radio-custom::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  background: #fff;
  border-radius: 50%;
}

.ebt-auth-content strong {
  display: block;
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 4px;
  color: var(--text);
}

.ebt-auth-content p {
  margin: 0;
  font-size: 13px;
  color: #5b6b82;
  line-height: 1.5;
}

.ebt-auth-fields {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.ebt-auth-fields .ebt-form-group {
  margin-bottom: 12px;
}

.ebt-auth-fields .ebt-form-group:last-child {
  margin-bottom: 0;
}

/* Checkout Layout */
.ebt-checkout-layout {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 28px;
  align-items: start;
  padding: 28px 0 48px;
}

@media (max-width: 1024px) {
  .ebt-checkout-layout {
    grid-template-columns: 1fr;
  }
}

/* Checkout Sections */
.ebt-checkout-section {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 24px;
  margin-bottom: 20px;
  border: 1px solid var(--line);
}

.ebt-checkout-section-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 17px;
  font-weight: 800;
  color: var(--text);
  margin: 0 0 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.ebt-checkout-section-title svg {
  color: var(--primary);
  flex-shrink: 0;
}

/* Order Confirmation */
.ebt-order-confirmation {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 24px;
  border: 1px solid var(--line);
  position: sticky;
  top: 100px;
}

.ebt-checkout-review-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 17px;
  font-weight: 800;
  color: var(--text);
  margin: 0 0 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.ebt-checkout-review-title svg {
  color: var(--primary);
  flex-shrink: 0;
}

/* Order Review Table */
.woocommerce-checkout-review-order table.shop_table {
  border: none;
}

.woocommerce-checkout-review-order table.shop_table th,
.woocommerce-checkout-review-order table.shop_table td {
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}

.woocommerce-checkout-review-order table.shop_table tfoot td,
.woocommerce-checkout-review-order table.shop_table tfoot th {
  font-weight: 700;
}

.woocommerce-checkout-review-order .order-total th,
.woocommerce-checkout-review-order .order-total td {
  font-size: 18px;
  color: var(--primary);
  border-top: 2px solid var(--line);
  border-bottom: none;
  padding-top: 16px;
}

/* Checkout Form Fields */
.ebt-checkout-customer .form-row {
  margin-bottom: 16px;
}

.ebt-checkout-customer label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 6px;
}

.ebt-checkout-customer .woocommerce-input-wrapper {
  width: 100%;
}

.ebt-checkout-customer .input-text,
.ebt-checkout-customer select {
  width: 100%;
  padding: 12px 14px;
  border: 1.5px solid var(--line);
  border-radius: var(--radius-md);
  font-size: 14px;
  font-family: inherit;
  transition: border-color 0.22s ease;
  background: #fff;
}

.ebt-checkout-customer .input-text:focus,
.ebt-checkout-customer select:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(15,98,254,0.1);
}

/* Create Account Checkbox */
.woocommerce-checkout .create-account {
  margin-top: 16px;
  padding: 16px;
  background: rgba(15,98,254,0.03);
  border-radius: var(--radius-md);
}

.woocommerce-checkout .create-account label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-weight: 600;
}

.woocommerce-checkout .create-account input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--primary);
}

/* Order Comments */
.woocommerce-checkout #order_comments {
  width: 100%;
  padding: 12px 14px;
  border: 1.5px solid var(--line);
  border-radius: var(--radius-md);
  font-size: 14px;
  font-family: inherit;
  resize: vertical;
  min-height: 80px;
}

.woocommerce-checkout #order_comments:focus {
  outline: none;
  border-color: var(--primary);
}

/* Place Order Button */
.woocommerce-checkout #place_order {
  width: 100%;
  padding: 16px 24px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  min-height: 54px !important;
  background: linear-gradient(135deg, var(--primary), var(--primary-2)) !important;
  box-shadow: 0 8px 22px rgba(15,98,254,.35) !important;
}

.woocommerce-checkout #place_order:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 30px rgba(15,98,254,.45) !important;
}

/* Custom Field Styling */
#billing_company_name_field label,
#billing_vat_field label,
#billing_invoice_field label {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 6px;
  display: block;
}

#billing_invoice_field label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

#billing_invoice_field input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--primary);
}

/* Payment Methods */
.woocommerce-checkout #payment {
  background: transparent;
  border-radius: var(--radius-md);
  padding: 20px 0 0;
}

.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--line);
  padding-bottom: 16px;
  margin-bottom: 16px;
}

.woocommerce-checkout #payment ul.payment_methods li {
  padding: 10px 0;
}

.woocommerce-checkout #payment ul.payment_methods label {
  font-weight: 700;
}

.woocommerce-checkout #payment div.payment_box {
  background: rgba(15,98,254,0.05);
  border-radius: var(--radius-md);
  padding: 16px;
  margin: 10px 0;
}

/* Responsive Checkout */
@media (max-width: 768px) {
  .ebt-checkout-layout {
    padding: 16px 0 40px;
  }
  
  .ebt-checkout-section {
    padding: 16px;
  }
  
  .ebt-order-confirmation {
    position: static;
    margin-top: 20px;
  }
  
  .ebt-checkout-auth-grid {
    grid-template-columns: 1fr;
  }
}

/* =============================================================================
   22. THANK YOU / ORDER CONFIRMATION PAGE
   ============================================================================= */

/* Confirmation CTA Button */
.ebt-ty-confirm-cta {
  margin: 24px 0;
}

.ebt-btn-whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 32px;
  background: #25D366;
  color: #fff;
  border-radius: var(--radius-md);
  font-weight: 700;
  font-size: 16px;
  text-decoration: none;
  transition: all 0.22s ease;
  box-shadow: 0 8px 22px rgba(37,211,102,0.35);
}

.ebt-btn-whatsapp:hover {
  background: #20BD5A;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(37,211,102,0.45);
}

.ebt-btn-full {
  width: 100%;
}

/* Thank You Hero Status */
.ebt-ty-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: rgba(22,163,74,0.1);
  color: #15803d;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 16px;
}

.ebt-ty-status svg {
  flex-shrink: 0;
}

/* Thank You Steps */
.ebt-ty-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}

@media (max-width: 768px) {
  .ebt-ty-steps {
    grid-template-columns: 1fr;
  }
}

.ebt-ty-step {
  padding: 16px;
  background: rgba(15,98,254,0.03);
  border-radius: var(--radius-md);
}

.ebt-ty-step strong {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: 6px;
}

.ebt-ty-step p {
  margin: 0;
  font-size: 13px;
  color: #5b6b82;
  line-height: 1.6;
}

/* Thank You Grid */
.ebt-ty-grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 24px;
  margin-top: 24px;
}

@media (max-width: 1024px) {
  .ebt-ty-grid {
    grid-template-columns: 1fr;
  }
}

.ebt-ty-main {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.ebt-ty-sidebar {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Thank You Card */
.ebt-ty-card-title {
  font-size: 16px;
  font-weight: 800;
  color: var(--text);
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

/* Order Meta */
.ebt-ty-meta {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ebt-ty-meta-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid rgba(15,23,42,0.06);
}

.ebt-ty-meta-row:last-child {
  border-bottom: none;
}

.ebt-ty-meta-row span {
  color: #5b6b82;
  font-size: 14px;
}

.ebt-ty-meta-row strong {
  color: var(--text);
  font-size: 14px;
}

.ebt-ty-meta-total {
  margin-top: 8px;
  padding-top: 16px;
  border-top: 2px solid var(--line) !important;
  border-bottom: none !important;
}

.ebt-ty-meta-total span,
.ebt-ty-meta-total strong {
  font-size: 18px;
  font-weight: 900;
  color: var(--primary) !important;
}

/* Order Items */
.ebt-ty-items {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ebt-ty-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 16px;
  background: var(--bg);
  border-radius: var(--radius-md);
}

.ebt-ty-item-media {
  flex-shrink: 0;
}

.ebt-ty-item-media img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: var(--radius-md);
  border: 1px solid var(--line);
}

.ebt-ty-item-info {
  flex: 1;
  min-width: 0;
}

.ebt-ty-item-info h3 {
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 6px;
  color: var(--text);
}

.ebt-ty-item-info p {
  margin: 0;
  font-size: 13px;
  color: #5b6b82;
}

.ebt-ty-item-price {
  font-size: 15px;
  font-weight: 800;
  color: var(--primary);
  white-space: nowrap;
}

/* Address */
.ebt-ty-address {
  font-style: normal;
  font-size: 14px;
  line-height: 1.7;
  color: #5b6b82;
}

/* CTA Card */
.ebt-ty-cta-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Related Products Grid */
.ebt-ty-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 20px;
}

@media (max-width: 768px) {
  .ebt-ty-related-grid {
    grid-template-columns: 1fr;
  }
}

.ebt-pv2-related-card {
  background: var(--bg);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: all 0.22s ease;
}

.ebt-pv2-related-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}

.ebt-pv2-related-media {
  aspect-ratio: 4/3;
  overflow: hidden;
}

.ebt-pv2-related-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.ebt-pv2-related-card:hover .ebt-pv2-related-media img {
  transform: scale(1.05);
}

.ebt-pv2-related-card h3 {
  padding: 12px 12px 6px;
  font-size: 14px;
  font-weight: 700;
  margin: 0;
}

.ebt-pv2-related-card h3 a {
  color: var(--text);
  text-decoration: none;
}

.ebt-pv2-related-card h3 a:hover {
  color: var(--primary);
}

.ebt-pv2-related-card p {
  padding: 0 12px 12px;
  margin: 0;
  font-size: 12px;
  color: #5b6b82;
}

.ebt-pv2-related-card .ebt-btn-secondary {
  margin: 0 12px 12px;
  font-size: 12px;
  padding: 8px 16px;
  min-height: 36px;
}

/* Alert Box */
.ebt-ty-alert {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  background: rgba(239,68,68,0.1);
  border-radius: var(--radius-md);
  color: #dc2626;
  font-weight: 600;
  margin-bottom: 20px;
}

.ebt-ty-alert-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* =============================================================================
   CART FLOW CTA STACK — Primary + WhatsApp Buttons
   ============================================================================= */

.ebt-flow-cta-stack {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 20px;
}

.ebt-btn-primary {
  background: linear-gradient(135deg, var(--primary), var(--primary-2)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  padding: 14px 24px !important;
  min-height: 50px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  font-family: inherit !important;
  cursor: pointer !important;
  transition: .22s ease !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 8px 22px rgba(15,98,254,.22) !important;
  text-align: center;
}

.ebt-btn-primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 30px rgba(15,98,254,.30) !important;
}

.ebt-btn-full {
  width: 100%;
}

.ebt-btn-whatsapp {
  background: #25D366 !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  padding: 14px 24px !important;
  min-height: 50px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  font-family: inherit !important;
  cursor: pointer !important;
  transition: .22s ease !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px;
  box-shadow: 0 8px 22px rgba(37,211,102,.22) !important;
  text-align: center;
}

.ebt-btn-whatsapp:hover {
  background: #20BD5A !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 30px rgba(37,211,102,.30) !important;
}

.ebt-btn-whatsapp svg {
  flex-shrink: 0;
}

/* =============================================================================
   CART PAGE v2 — matches 03_prototypes/checkout-flow/cart_v2.html
   ============================================================================= */

/* 2-column page layout: main | 360px sidebar */
.ebt-flow-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) 360px;
  gap: 22px;
  align-items: start;
  padding: 34px 0 80px;
}

/* RTL: in Arabic dir, auto-placement fills left→right so first child lands in
   the narrow (360px) column.  Force section = wide column, aside = narrow. */
[dir="rtl"] .ebt-flow-grid > section { order: 2; }
[dir="rtl"] .ebt-flow-grid > aside  { order: 1; }

/* Main card padding */
.ebt-card-pad { padding: 28px; }

/* Hero text */
.ebt-flow-title {
  margin: 0 0 10px;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 900;
  letter-spacing: -.04em;
  line-height: 1.1;
  color: var(--text);
}
.ebt-flow-sub {
  margin: 0 0 6px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.9;
}

/* ── Cart item list ──────────────────────────── */
.ebt-cart-cards-list {
  display: grid;
  gap: 14px;
  margin-top: 20px;
}

.ebt-cart-item-card {
  display: grid;
  grid-template-columns: 120px 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 18px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid var(--line);
  transition: box-shadow .22s, border-color .22s;
}
.ebt-cart-item-card:hover {
  box-shadow: 0 6px 24px rgba(15,23,42,.08);
  border-color: rgba(15,98,254,.18);
}

/* Thumbnail */
.ebt-cart-item-media {
  min-height: 96px;
  border-radius: 16px;
  overflow: hidden;
  background: linear-gradient(135deg,#f7fbff,#edf4fb);
  border: 1px solid rgba(15,23,42,.05);
  display: flex;
  align-items: center;
  justify-content: center;
}
.ebt-cart-item-media a { display: contents; }
.ebt-cart-item-img {
  width: 100% !important;
  height: 100px !important;
  object-fit: contain !important;
  border-radius: 16px !important;
}

/* Info column */
.ebt-cart-item-info { min-width: 0; }
.ebt-cart-item-name {
  margin: 0 0 6px;
  font-size: 17px;
  font-weight: 700;
  color: var(--text);
}
.ebt-cart-item-name a { color: inherit; text-decoration: none; }
.ebt-cart-item-name a:hover { color: var(--primary); }
.ebt-cart-item-desc {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.75;
}
.ebt-cart-backorder {
  display: inline-block;
  font-size: 12px;
  color: #d97706;
  background: rgba(217,119,6,.08);
  border-radius: 999px;
  padding: 4px 10px;
  margin-bottom: 8px;
}

/* Quantity row */
.ebt-cart-item-qty-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.ebt-cart-qty-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
}

/* Price + remove column */
.ebt-cart-item-side {
  text-align: end;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  flex-shrink: 0;
}
.ebt-cart-item-price {
  font-size: 20px;
  font-weight: 900;
  color: var(--text);
  letter-spacing: -.02em;
}
.ebt-cart-item-unit-price {
  font-size: 13px;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 4px;
}
.ebt-cart-unit-label { font-size: 11px; }

/* Remove button */
.ebt-cart-item-remove { margin-top: 4px; }
.ebt-cart-remove-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted) !important;
  text-decoration: none;
  padding: 5px 10px;
  border-radius: 8px;
  background: var(--bg);
  border: 1px solid var(--line);
  transition: color .18s, background .18s, border-color .18s;
}
.ebt-cart-remove-btn:hover {
  color: #ef4444 !important;
  background: #fef2f2;
  border-color: #fca5a5;
}

/* ── Bottom actions bar (coupon + update) ────── */
.ebt-cart-actions-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.ebt-cart-coupon { flex: 1; min-width: 240px; }
.ebt-coupon-group {
  display: flex;
  gap: 8px;
}
.ebt-coupon-group input.input-text {
  flex: 1;
  min-height: 46px;
  padding: 10px 14px;
  border: 1.5px solid var(--line);
  border-radius: var(--radius-md);
  font: inherit;
  font-size: 14px;
  color: var(--text);
  background: #fff;
  transition: border-color .18s;
}
.ebt-coupon-group input.input-text:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(15,98,254,.10);
}
.ebt-cart-update-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 18px;
  border: 1.5px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
  cursor: pointer;
  transition: .2s;
  white-space: nowrap;
}
.ebt-cart-update-btn:hover {
  border-color: var(--primary);
  color: var(--primary);
}

/* ── Trust strip (4 boxes) ───────────────────── */
.ebt-cart-trust-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 24px;
}

/* ── Continue shopping ───────────────────────── */
.ebt-cart-continue {
  margin-top: 18px;
  display: flex;
}
.ebt-cart-continue .ebt-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 18px;
  border: 1.5px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
  cursor: pointer;
  transition: .2s;
  text-decoration: none;
}
.ebt-cart-continue .ebt-btn-secondary:hover {
  border-color: var(--primary);
  color: var(--primary);
}

/* ── Summary sidebar ─────────────────────────── */
.ebt-flow-summary-card {
  position: sticky;
  top: 20px;
  padding: 24px;
}
.ebt-flow-summary-title {
  margin: 0 0 18px;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -.03em;
  color: var(--text);
}

/* Teal note box */
.ebt-pv2-note {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(20,184,166,.08);
  border: 1px solid rgba(20,184,166,.18);
  font-size: 13px;
  line-height: 1.75;
  color: #0f766e;
}

/* Secondary button (standalone fallback) */
.ebt-btn-secondary {
  background: #fff !important;
  color: var(--text) !important;
  border: 1.5px solid var(--line) !important;
  border-radius: var(--radius-md) !important;
  padding: 12px 20px !important;
  min-height: 46px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  font-family: inherit !important;
  cursor: pointer !important;
  transition: .22s ease !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px;
  text-align: center;
}
.ebt-btn-secondary:hover {
  border-color: var(--primary) !important;
  color: var(--primary) !important;
  transform: translateY(-2px) !important;
}

/* ── Cart collaterals (WC totals inside sidebar) */
.cart-collaterals { margin-bottom: 20px; }
.cart-collaterals .cart_totals h2 {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--muted) !important;
  margin-bottom: 12px !important;
  letter-spacing: 0 !important;
}
.cart-collaterals .cart_totals table.shop_table {
  background: var(--bg) !important;
  border: 1px solid var(--line) !important;
  border-radius: 16px !important;
}
.cart-collaterals .cart_totals table.shop_table th,
.cart-collaterals .cart_totals table.shop_table td {
  padding: 12px 16px !important;
  font-size: 14px !important;
  border-bottom: 1px solid var(--line) !important;
}
.cart-collaterals .cart_totals table.shop_table tr.order-total th,
.cart-collaterals .cart_totals table.shop_table tr.order-total td {
  font-size: 18px !important;
  font-weight: 900 !important;
  color: var(--primary) !important;
  border-bottom: none !important;
}
.cart-collaterals .cart_totals .wc-proceed-to-checkout { display: none; }

/* ── Responsive ──────────────────────────────── */
@media (max-width: 1100px) {
  .ebt-flow-grid {
    grid-template-columns: 1fr;
  }
  .ebt-flow-summary-card { position: static; }
  .ebt-cart-trust-strip { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  .ebt-cart-item-card {
    grid-template-columns: 1fr;
  }
  .ebt-cart-item-side { align-items: flex-start; }
  .ebt-cart-trust-strip { grid-template-columns: 1fr; }
  .ebt-cart-actions-bar { flex-direction: column; align-items: stretch; }
  .ebt-coupon-group { flex-wrap: wrap; }
  .ebt-cart-continue { justify-content: stretch; }
  .ebt-cart-continue .ebt-btn-secondary { flex: 1; justify-content: center; }
  .ebt-flow-grid { padding: 20px 0 60px; }
}


/* ══════════════════════════════════════════════
   MY ACCOUNT — my-account.php styles
══════════════════════════════════════════════ */
/* ===== EBT MY-ACCOUNT LAYOUT ===== */
.ebt-ma-hero{
	background:linear-gradient(135deg,#0b1628 0%,#0f1f3c 55%,#162447 100%);
	padding:52px 0 40px;
	position:relative;
	overflow:hidden;
}
.ebt-ma-hero::before{
	content:'';
	position:absolute;
	inset:0;
	background:radial-gradient(ellipse 70% 60% at 80% 50%,rgba(26,86,219,.18) 0%,transparent 70%);
	pointer-events:none;
}
.ebt-ma-hero-inner{
	max-width:1180px;
	margin:0 auto;
	padding:0 24px;
	position:relative;
	z-index:1;
}
.ebt-ma-breadcrumb{
	display:flex;
	align-items:center;
	gap:8px;
	font-size:.82rem;
	color:rgba(255,255,255,.55);
	margin-bottom:28px;
	flex-wrap:wrap;
}
.ebt-ma-breadcrumb a{
	color:rgba(255,255,255,.65);
	text-decoration:none;
	transition:color .2s;
}
.ebt-ma-breadcrumb a:hover{color:#06b6d4;}
.ebt-ma-breadcrumb-sep{color:rgba(255,255,255,.3);font-size:.7rem;}
.ebt-ma-hero-user{
	display:flex;
	align-items:center;
	gap:20px;
}
.ebt-ma-hero-avatar{
	width:72px;height:72px;border-radius:50%;
	background:linear-gradient(135deg,#1a56db,#06b6d4);
	display:flex;align-items:center;justify-content:center;
	font-size:1.6rem;font-weight:700;color:#fff;
	flex-shrink:0;overflow:hidden;
	border:3px solid rgba(255,255,255,.2);
	box-shadow:0 4px 20px rgba(6,182,212,.25);
}
.ebt-ma-hero-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.ebt-ma-hero-info{}
.ebt-ma-hero-greeting{
	font-size:.9rem;color:rgba(255,255,255,.6);margin:0 0 4px;
}
.ebt-ma-hero-name{
	font-size:1.55rem;font-weight:700;color:#fff;margin:0 0 4px;line-height:1.2;
}
.ebt-ma-hero-email{font-size:.85rem;color:rgba(255,255,255,.5);margin:0;}

/* Layout */
.ebt-ma-wrap{
	max-width:1180px;
	margin:0 auto;
	padding:36px 24px 60px;
	display:grid;
	grid-template-columns:280px 1fr;
	gap:28px;
	align-items:start;
}
@media(max-width:900px){
	.ebt-ma-wrap{grid-template-columns:1fr;padding:20px 16px 48px;}
}

/* Sidebar */
.ebt-ma-sidebar{
	position:sticky;
	top:24px;
}
@media(max-width:900px){
	.ebt-ma-sidebar{position:static;}
}
.ebt-ma-nav-card{
	background:#fff;
	border-radius:20px;
	box-shadow:0 4px 24px rgba(15,31,61,.07);
	overflow:hidden;
	border:1px solid #e9edf5;
}
.ebt-ma-nav-user{
	padding:24px 20px 18px;
	border-bottom:1px solid #e9edf5;
	display:flex;
	align-items:center;
	gap:14px;
}
.ebt-ma-nav-avatar{
	width:52px;height:52px;border-radius:50%;
	background:linear-gradient(135deg,#1a56db,#06b6d4);
	display:flex;align-items:center;justify-content:center;
	font-size:1.1rem;font-weight:700;color:#fff;
	flex-shrink:0;overflow:hidden;
}
.ebt-ma-nav-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.ebt-ma-nav-name{
	font-weight:700;font-size:.95rem;color:#0b1628;
	display:block;margin-bottom:2px;
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.ebt-ma-nav-email{
	font-size:.78rem;color:#6b7280;
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
	display:block;
}
.ebt-ma-nav-list{
	list-style:none;margin:0;padding:10px 0;
}
.ebt-ma-nav-item a{
	display:flex;align-items:center;gap:12px;
	padding:11px 20px;
	font-size:.9rem;color:#374151;
	text-decoration:none;
	transition:background .18s,color .18s;
	border-radius:0;
	position:relative;
}
.ebt-ma-nav-item a:hover{background:#f0f7ff;color:#1a56db;}
.ebt-ma-nav-item.is-active > a,
.ebt-ma-nav-item.woocommerce-MyAccount-navigation-link--current > a{
	background:#eff6ff;
	color:#1a56db;
	font-weight:600;
}
.ebt-ma-nav-item.is-active > a::before,
.ebt-ma-nav-item.woocommerce-MyAccount-navigation-link--current > a::before{
	content:'';
	position:absolute;
	right:0;
	top:6px;bottom:6px;
	width:4px;
	background:linear-gradient(180deg,#1a56db,#06b6d4);
	border-radius:0 4px 4px 0;
}
.ebt-ma-nav-icon{font-size:1.05rem;line-height:1;flex-shrink:0;}

/* Support card */
.ebt-ma-support-card{
	margin:16px;
	background:linear-gradient(135deg,#0b1628,#1a2a4a);
	border-radius:14px;
	padding:18px 16px;
	text-align:center;
}
.ebt-ma-support-card p{
	font-size:.82rem;color:rgba(255,255,255,.7);margin:0 0 12px;line-height:1.5;
}
.ebt-ma-support-btn{
	display:inline-flex;align-items:center;gap:7px;
	background:#25d366;color:#fff;
	font-size:.82rem;font-weight:600;
	padding:9px 18px;border-radius:8px;
	text-decoration:none;
	transition:opacity .2s;
}
.ebt-ma-support-btn:hover{opacity:.88;color:#fff;}

/* Mobile nav tabs */
@media(max-width:900px){
	.ebt-ma-nav-card{border-radius:12px;}
	.ebt-ma-nav-user{display:none;}
	.ebt-ma-nav-list{
		display:flex;
		overflow-x:auto;
		padding:6px 8px;
		gap:4px;
		-webkit-overflow-scrolling:touch;
		scrollbar-width:none;
	}
	.ebt-ma-nav-list::-webkit-scrollbar{display:none;}
	.ebt-ma-nav-item{flex-shrink:0;}
	.ebt-ma-nav-item a{
		padding:8px 14px;
		border-radius:8px;
		font-size:.82rem;
		white-space:nowrap;
	}
	.ebt-ma-nav-item.is-active > a::before,
	.ebt-ma-nav-item.woocommerce-MyAccount-navigation-link--current > a::before{
		display:none;
	}
	.ebt-ma-support-card{display:none;}
}

/* Content */
.ebt-ma-content-panel{
	background:#fff;
	border-radius:20px;
	box-shadow:0 4px 24px rgba(15,31,61,.07);
	border:1px solid #e9edf5;
	min-height:400px;
	padding:32px;
}
@media(max-width:600px){
	.ebt-ma-content-panel{padding:20px 16px;border-radius:14px;}
}


/* ══════════════════════════════════════════════
   MY ACCOUNT — orders.php styles
══════════════════════════════════════════════ */
/* ===== EBT ORDERS LIST ===== */
.ebt-orders-page-head{
	display:flex;align-items:center;gap:12px;
	margin-bottom:24px;flex-wrap:wrap;
}
.ebt-orders-page-title{
	font-size:1.15rem;font-weight:800;color:#0b1628;margin:0;
}
.ebt-orders-count-badge{
	background:#e0e7ff;color:#3730a3;
	font-size:.75rem;font-weight:700;
	padding:3px 10px;border-radius:20px;
}

/* Order card */
.ebt-order-card{
	background:#fff;border:1px solid #e9edf5;
	border-radius:16px;padding:20px 22px;
	display:flex;align-items:center;gap:16px;
	flex-wrap:wrap;margin-bottom:12px;
	transition:transform .22s,box-shadow .22s,border-color .22s;
}
.ebt-order-card:hover{
	transform:translateY(-4px);
	box-shadow:0 8px 28px rgba(15,31,61,.10);
	border-color:#c7d7f5;
}
.ebt-order-card-left{flex:1;min-width:160px;}
.ebt-order-card-num{
	display:block;font-weight:700;font-size:1rem;
	color:#0b1628;text-decoration:none;margin-bottom:5px;
}
.ebt-order-card-num:hover{color:#1a56db;}
.ebt-order-card-meta{
	display:flex;align-items:center;gap:8px;
	font-size:.78rem;color:#6b7280;flex-wrap:wrap;
}
.ebt-order-card-meta-sep{color:#d1d5db;}
.ebt-order-card-middle{
	display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.ebt-order-card-total{
	font-weight:700;font-size:.95rem;color:#0b1628;
}
.ebt-order-card-right{
	display:flex;align-items:center;gap:8px;flex-wrap:wrap;
	margin-right:auto;
}
.ebt-order-btn{
	display:inline-flex;align-items:center;gap:5px;
	font-size:.8rem;font-weight:600;padding:7px 16px;
	border-radius:9px;text-decoration:none;
	transition:opacity .18s,transform .18s;
	border:1.5px solid transparent;
}
.ebt-order-btn:hover{opacity:.85;transform:translateY(-1px);}
.ebt-order-btn--primary{background:#1a56db;color:#fff;border-color:#1a56db;}
.ebt-order-btn--secondary{background:#fff;color:#374151;border-color:#d1d5db;}
.ebt-order-btn--pay{background:#15803d;color:#fff;border-color:#15803d;}
.ebt-order-btn--cancel{background:#fee2e2;color:#b91c1c;border-color:#fca5a5;}

/* Status badges */
.ebt-status-processing{background:#dbeafe;color:#1d4ed8;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap;}
.ebt-status-completed{background:#dcfce7;color:#15803d;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap;}
.ebt-status-cancelled{background:#fee2e2;color:#b91c1c;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap;}
.ebt-status-pending{background:#ffedd5;color:#c2410c;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap;}
.ebt-status-on-hold{background:#fef9c3;color:#a16207;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap;}
.ebt-status-refunded{background:#f1f5f9;color:#475569;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap;}
.ebt-status-failed{background:#fee2e2;color:#b91c1c;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap;}

/* Mini tracker strip */
.ebt-order-tracker-strip{
	width:100%;display:flex;align-items:center;gap:0;
	margin-top:14px;padding-top:14px;
	border-top:1px solid #f1f5f9;
}
.ebt-ots-step{
	flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;
	position:relative;font-size:.68rem;color:#9ca3af;font-weight:500;text-align:center;
}
.ebt-ots-step::before{
	content:'';position:absolute;top:10px;
	width:100%;height:2px;background:#e9edf5;z-index:0;
	right:50%;
}
.ebt-ots-step:last-child::before{display:none;}
.ebt-ots-dot{
	width:22px;height:22px;border-radius:50%;
	background:#e9edf5;border:2px solid #e9edf5;
	display:flex;align-items:center;justify-content:center;
	font-size:.62rem;z-index:1;position:relative;transition:all .3s;
}
.ebt-ots-step.done .ebt-ots-dot{background:#1a56db;border-color:#1a56db;color:#fff;font-size:.55rem;}
.ebt-ots-step.done .ebt-ots-dot::after{content:'✓';color:#fff;font-weight:700;}
.ebt-ots-step.active .ebt-ots-dot{
	background:linear-gradient(135deg,#1a56db,#06b6d4);
	border-color:transparent;
	box-shadow:0 0 0 4px rgba(26,86,219,.15);
}
.ebt-ots-step.done::before{ background:linear-gradient(90deg,#1a56db,#06b6d4); }
.ebt-ots-label{ font-size:.62rem;line-height:1.2;max-width:56px; }
.ebt-ots-step.done .ebt-ots-label,
.ebt-ots-step.active .ebt-ots-label{ color:#1a56db;font-weight:700; }
/* Tracking chip */
.ebt-ots-tracking-chip{
	display:inline-flex;align-items:center;gap:5px;
	background:#f0f7ff;border:1px solid #bfdbfe;
	border-radius:8px;padding:3px 10px;font-size:.72rem;
	font-weight:600;color:#1a56db;margin-top:10px;
	text-decoration:none;transition:background .18s;
}
.ebt-ots-tracking-chip:hover{background:#dbeafe;color:#1e40af;}
.ebt-ots-tracking-num{font-family:monospace;letter-spacing:.04em;direction:ltr;}

/* Pagination */
.ebt-orders-pagination{
	display:flex;align-items:center;justify-content:center;
	gap:8px;margin-top:28px;flex-wrap:wrap;
}
.ebt-orders-pag-btn{
	display:inline-flex;align-items:center;gap:6px;
	font-size:.85rem;font-weight:600;
	padding:9px 20px;border-radius:10px;
	text-decoration:none;border:1.5px solid #d1d5db;
	background:#fff;color:#374151;
	transition:background .18s,border-color .18s,color .18s,transform .18s;
}
.ebt-orders-pag-btn:hover{
	background:#eff6ff;border-color:#1a56db;color:#1a56db;
	transform:translateY(-2px);
}
.ebt-orders-pag-info{
	font-size:.82rem;color:#6b7280;padding:0 8px;
}

/* Empty */
.ebt-orders-empty{
	text-align:center;padding:60px 24px;
}
.ebt-orders-empty-icon{font-size:4rem;margin-bottom:16px;line-height:1;}
.ebt-orders-empty h3{
	font-size:1.05rem;font-weight:700;color:#0b1628;margin:0 0 8px;
}
.ebt-orders-empty p{font-size:.88rem;color:#6b7280;margin:0 0 24px;}
.ebt-orders-empty-btn{
	display:inline-flex;align-items:center;gap:8px;
	background:linear-gradient(135deg,#1a56db,#1e40af);
	color:#fff;font-weight:600;font-size:.88rem;
	padding:12px 28px;border-radius:10px;
	text-decoration:none;transition:opacity .2s,transform .2s;
}
.ebt-orders-empty-btn:hover{opacity:.88;transform:translateY(-2px);color:#fff;}


/* ══════════════════════════════════════════════
   MY ACCOUNT — view-order.php styles
══════════════════════════════════════════════ */
/* ════════════════════════════════════════════════
   EBT VIEW ORDER v2  —  Professional Tracking
════════════════════════════════════════════════ */
:root{
	--vo-navy:#0b1628;--vo-blue:#1a56db;--vo-cyan:#06b6d4;
	--vo-green:#15803d;--vo-red:#dc2626;--vo-muted:#6b7280;
	--vo-border:#e9edf5;--vo-bg:#f8fafc;
}
.ebt-vo2{ display:flex; flex-direction:column; gap:20px; }

/* ─ Header card ─ */
.ebt-vo2-header{
	background:linear-gradient(135deg,var(--vo-navy) 0%,#0f1f3c 55%,#162447 100%);
	border-radius:20px; padding:24px 28px;
	display:flex; align-items:center; justify-content:space-between;
	gap:16px; flex-wrap:wrap; position:relative; overflow:hidden;
}
.ebt-vo2-header::before{
	content:''; position:absolute; inset:0;
	background:radial-gradient(ellipse 55% 70% at 85% 50%,rgba(26,86,219,.18) 0%,transparent 70%);
	pointer-events:none;
}
.ebt-vo2-header-left{ position:relative; z-index:1; }
.ebt-vo2-order-num{
	font-size:1.35rem; font-weight:800; color:#fff; margin:0 0 6px;
}
.ebt-vo2-order-meta{
	display:flex; align-items:center; gap:10px; flex-wrap:wrap;
	font-size:.8rem; color:rgba(255,255,255,.6);
}
.ebt-vo2-status-pill{
	display:inline-flex; align-items:center; gap:6px;
	padding:5px 14px; border-radius:20px; font-size:.78rem; font-weight:700;
	backdrop-filter:blur(8px);
}
.ebt-vo2-status-pill.processing{ background:rgba(29,78,216,.35); color:#93c5fd; border:1px solid rgba(147,197,253,.3); }
.ebt-vo2-status-pill.completed { background:rgba(21,128,61,.35);  color:#86efac; border:1px solid rgba(134,239,172,.3); }
.ebt-vo2-status-pill.pending   { background:rgba(194,65,12,.3);   color:#fdba74; border:1px solid rgba(253,186,116,.3); }
.ebt-vo2-status-pill.on-hold   { background:rgba(161,98,7,.3);    color:#fde68a; border:1px solid rgba(253,230,138,.3); }
.ebt-vo2-status-pill.cancelled { background:rgba(220,38,38,.3);   color:#fca5a5; border:1px solid rgba(252,165,165,.3); }
.ebt-vo2-status-pill.refunded  { background:rgba(71,85,105,.3);   color:#cbd5e1; border:1px solid rgba(203,213,225,.3); }
.ebt-vo2-status-pill.failed    { background:rgba(220,38,38,.3);   color:#fca5a5; border:1px solid rgba(252,165,165,.3); }
.ebt-vo2-back-btn{
	position:relative; z-index:1;
	display:inline-flex; align-items:center; gap:6px;
	background:rgba(255,255,255,.1); color:rgba(255,255,255,.85);
	border:1px solid rgba(255,255,255,.15); border-radius:10px;
	padding:9px 18px; font-size:.82rem; font-weight:600;
	text-decoration:none; backdrop-filter:blur(8px);
	transition:background .2s, transform .2s;
}
.ebt-vo2-back-btn:hover{ background:rgba(255,255,255,.18); transform:translateY(-1px); color:#fff; }

/* ─ Tracking progress bar ─ */
.ebt-vo2-tracker{
	background:#fff; border:1px solid var(--vo-border);
	border-radius:20px; padding:28px 32px;
}
.ebt-vo2-tracker-title{
	font-size:.95rem; font-weight:700; color:var(--vo-navy);
	margin:0 0 24px; display:flex; align-items:center; gap:8px;
}
/* Progress rail */
.ebt-vo2-steps{ position:relative; display:flex; align-items:flex-start; justify-content:space-between; }
.ebt-vo2-rail{
	position:absolute;
	top:22px;
	right:0;
	width:100%; height:4px;
	background:#e9edf5; border-radius:2px; z-index:0;
}
.ebt-vo2-rail-fill{
	height:100%; border-radius:2px;
	background:linear-gradient(90deg,var(--vo-blue),var(--vo-cyan));
	transition:width 1.2s cubic-bezier(.4,0,.2,1);
	width:0%;
}
/* Step */
.ebt-vo2-step{
	display:flex; flex-direction:column; align-items:center;
	gap:8px; z-index:1; flex:1; text-align:center; position:relative;
}
.ebt-vo2-step-circle{
	width:46px; height:46px; border-radius:50%;
	display:flex; align-items:center; justify-content:center;
	font-size:1.15rem;
	border:3px solid #e9edf5;
	background:#fff;
	transition:all .4s;
	position:relative;
}
.ebt-vo2-step.done .ebt-vo2-step-circle{
	background:linear-gradient(135deg,var(--vo-blue),var(--vo-cyan));
	border-color:transparent;
	box-shadow:0 4px 16px rgba(26,86,219,.3);
}
.ebt-vo2-step.active .ebt-vo2-step-circle{
	background:linear-gradient(135deg,var(--vo-blue),var(--vo-cyan));
	border-color:transparent;
	box-shadow:0 0 0 6px rgba(26,86,219,.15);
	animation:vo2-pulse 2s infinite;
}
.ebt-vo2-step.done .ebt-vo2-step-circle::after{
	content:'✓'; font-size:1rem; color:#fff; font-weight:700;
	position:absolute; inset:0;
	display:flex; align-items:center; justify-content:center;
}
.ebt-vo2-step.done .ebt-vo2-step-icon{ display:none; }
.ebt-vo2-step-icon{ line-height:1; }
.ebt-vo2-step-label{
	font-size:.72rem; font-weight:600; color:var(--vo-muted);
	line-height:1.3; max-width:80px;
}
.ebt-vo2-step.done .ebt-vo2-step-label,
.ebt-vo2-step.active .ebt-vo2-step-label{ color:var(--vo-blue); font-weight:700; }
.ebt-vo2-step-desc{ font-size:.65rem; color:#9ca3af; }
@keyframes vo2-pulse{
	0%,100%{ box-shadow:0 0 0 6px rgba(26,86,219,.15); }
	50%{     box-shadow:0 0 0 10px rgba(26,86,219,.07); }
}
/* Cancelled alert */
.ebt-vo2-cancelled{
	display:flex; align-items:center; gap:14px;
	background:#fef2f2; border:1px solid #fecaca;
	border-radius:14px; padding:16px 20px;
}
.ebt-vo2-cancelled-icon{ font-size:2rem; }
.ebt-vo2-cancelled-text h4{ margin:0 0 4px; color:var(--vo-red); font-size:.95rem; }
.ebt-vo2-cancelled-text p{ margin:0; font-size:.82rem; color:#6b7280; }

/* ─ Tracking widget ─ */
.ebt-vo2-tracking-card{
	background:#fff; border:1px solid var(--vo-border);
	border-radius:20px; overflow:hidden;
}
.ebt-vo2-tracking-head{
	background:linear-gradient(135deg,#0b1628,#1a2a4a);
	padding:16px 22px;
	display:flex; align-items:center; gap:12px;
}
.ebt-vo2-tracking-head-icon{
	width:40px; height:40px; border-radius:10px;
	background:rgba(255,255,255,.1);
	display:flex; align-items:center; justify-content:center;
	font-size:1.2rem;
}
.ebt-vo2-tracking-head-text{ flex:1; }
.ebt-vo2-tracking-head-text h4{
	margin:0 0 2px; font-size:.92rem; font-weight:700; color:#fff;
}
.ebt-vo2-tracking-head-text p{ margin:0; font-size:.76rem; color:rgba(255,255,255,.55); }
.ebt-vo2-tracking-body{ padding:20px 22px; }

/* Carrier info row */
.ebt-vo2-carrier-row{
	display:flex; align-items:center; gap:12px;
	background:var(--vo-bg); border-radius:12px;
	padding:12px 16px; margin-bottom:16px;
}
.ebt-vo2-carrier-dot{
	width:10px; height:10px; border-radius:50%; flex-shrink:0;
}
.ebt-vo2-carrier-name{ font-weight:700; font-size:.88rem; color:var(--vo-navy); }
.ebt-vo2-carrier-method{ font-size:.75rem; color:var(--vo-muted); margin-top:1px; }

/* Tracking number display */
.ebt-vo2-tn-display{
	display:flex; align-items:center; gap:10px;
	background:#f0f7ff; border:1.5px solid #bfdbfe;
	border-radius:12px; padding:12px 16px; margin-bottom:16px;
	flex-wrap:wrap;
}
.ebt-vo2-tn-value{
	font-family:monospace; font-size:1rem; font-weight:700;
	color:var(--vo-blue); letter-spacing:.05em; flex:1;
	direction:ltr;
}
.ebt-vo2-tn-copy{
	display:inline-flex; align-items:center; gap:5px;
	background:var(--vo-blue); color:#fff;
	border:none; border-radius:8px; padding:7px 14px;
	font-size:.78rem; font-weight:600; cursor:pointer;
	transition:opacity .2s, transform .2s;
}
.ebt-vo2-tn-copy:hover{ opacity:.88; transform:translateY(-1px); }
.ebt-vo2-tn-track-btn{
	display:inline-flex; align-items:center; gap:7px;
	background:linear-gradient(135deg,#0ea5e9,#06b6d4);
	color:#fff; font-weight:700; font-size:.85rem;
	padding:11px 22px; border-radius:10px;
	text-decoration:none; width:100%; justify-content:center;
	transition:opacity .2s, transform .2s;
	margin-top:4px;
}
.ebt-vo2-tn-track-btn:hover{ opacity:.9; transform:translateY(-1px); color:#fff; }

/* Tracking number input form */
.ebt-vo2-tn-form-wrap{
	border-top:1px solid var(--vo-border); padding-top:16px;
	margin-top:16px;
}
.ebt-vo2-tn-form-title{
	font-size:.8rem; font-weight:700; color:var(--vo-navy); margin:0 0 10px;
	display:flex; align-items:center; gap:6px;
}
.ebt-vo2-tn-form{ display:flex; gap:8px; flex-wrap:wrap; }
.ebt-vo2-tn-input{
	flex:1; min-width:180px;
	border:1.5px solid #d1d5db; border-radius:10px;
	padding:10px 14px; font-size:.88rem;
	transition:border-color .2s;
	direction:ltr; font-family:monospace;
}
.ebt-vo2-tn-input:focus{ outline:none; border-color:var(--vo-blue); }
.ebt-vo2-tn-carrier-select{
	border:1.5px solid #d1d5db; border-radius:10px;
	padding:10px 14px; font-size:.85rem; background:#fff;
	transition:border-color .2s; min-width:140px;
}
.ebt-vo2-tn-carrier-select:focus{ outline:none; border-color:var(--vo-blue); }
.ebt-vo2-tn-save-btn{
	display:inline-flex; align-items:center; gap:6px;
	background:var(--vo-blue); color:#fff;
	border:none; border-radius:10px;
	padding:10px 20px; font-size:.85rem; font-weight:700;
	cursor:pointer; transition:opacity .2s, transform .2s; white-space:nowrap;
}
.ebt-vo2-tn-save-btn:hover{ opacity:.88; transform:translateY(-1px); }
.ebt-vo2-tn-feedback{ font-size:.78rem; margin-top:8px; }
.ebt-vo2-tn-feedback.success{ color:var(--vo-green); }
.ebt-vo2-tn-feedback.error{ color:var(--vo-red); }

/* ─ Two-column grid ─ */
.ebt-vo2-grid{
	display:grid; grid-template-columns:1fr 340px; gap:20px; align-items:start;
}
@media(max-width:900px){ .ebt-vo2-grid{ grid-template-columns:1fr; } }

/* ─ Items card ─ */
.ebt-vo2-items-card{
	background:#fff; border:1px solid var(--vo-border); border-radius:20px; overflow:hidden;
}
.ebt-vo2-items-head{
	padding:18px 22px; border-bottom:1px solid var(--vo-border);
	display:flex; align-items:center; justify-content:space-between;
}
.ebt-vo2-items-head h3{ margin:0; font-size:.95rem; font-weight:700; color:var(--vo-navy); }
.ebt-vo2-items-count{
	background:#e0e7ff; color:#3730a3;
	font-size:.72rem; font-weight:700; padding:3px 10px; border-radius:20px;
}
.ebt-vo2-item-row{
	display:flex; align-items:center; gap:14px;
	padding:14px 22px; border-bottom:1px solid #f1f5f9;
	transition:background .18s;
}
.ebt-vo2-item-row:last-child{ border-bottom:none; }
.ebt-vo2-item-row:hover{ background:#f8fafc; }
.ebt-vo2-item-img{
	width:60px; height:60px; border-radius:10px;
	object-fit:cover; border:1px solid var(--vo-border); flex-shrink:0;
}
.ebt-vo2-item-img-placeholder{
	width:60px; height:60px; border-radius:10px;
	background:linear-gradient(135deg,#e0e7ff,#dbeafe);
	display:flex; align-items:center; justify-content:center;
	font-size:1.4rem; flex-shrink:0;
}
.ebt-vo2-item-info{ flex:1; }
.ebt-vo2-item-name{
	font-weight:600; font-size:.88rem; color:var(--vo-navy);
	text-decoration:none; display:block; margin-bottom:4px;
}
.ebt-vo2-item-name:hover{ color:var(--vo-blue); }
.ebt-vo2-item-meta{ font-size:.75rem; color:var(--vo-muted); display:flex; gap:8px; flex-wrap:wrap; }
.ebt-vo2-item-qty{
	background:#f1f5f9; color:#374151;
	font-size:.72rem; font-weight:700;
	padding:2px 8px; border-radius:6px;
}
.ebt-vo2-item-price{ font-weight:700; font-size:.9rem; color:var(--vo-navy); white-space:nowrap; }

/* ─ Sidebar cards ─ */
.ebt-vo2-sidebar{ display:flex; flex-direction:column; gap:16px; }
.ebt-vo2-summary-card,
.ebt-vo2-address-card,
.ebt-vo2-notes-card{
	background:#fff; border:1px solid var(--vo-border); border-radius:18px; overflow:hidden;
}
.ebt-vo2-card-head{
	padding:14px 20px; border-bottom:1px solid var(--vo-border);
	font-size:.88rem; font-weight:700; color:var(--vo-navy);
	display:flex; align-items:center; gap:8px;
}
.ebt-vo2-card-body{ padding:16px 20px; }

/* Summary rows */
.ebt-vo2-sum-row{
	display:flex; justify-content:space-between; align-items:center;
	padding:7px 0; border-bottom:1px solid #f1f5f9; font-size:.85rem;
}
.ebt-vo2-sum-row:last-child{ border-bottom:none; }
.ebt-vo2-sum-label{ color:var(--vo-muted); }
.ebt-vo2-sum-val{ font-weight:600; color:var(--vo-navy); }
.ebt-vo2-sum-total .ebt-vo2-sum-label{ font-weight:700; color:var(--vo-navy); font-size:.9rem; }
.ebt-vo2-sum-total .ebt-vo2-sum-val{ font-size:1.05rem; color:var(--vo-blue); font-weight:800; }

/* Address card */
.ebt-vo2-address-body{ padding:16px 20px; font-size:.85rem; color:#374151; line-height:1.7; }
.ebt-vo2-address-body address{ font-style:normal; }
.ebt-vo2-address-map-btn{
	display:inline-flex; align-items:center; gap:6px;
	font-size:.78rem; font-weight:600; color:var(--vo-blue);
	text-decoration:none; margin-top:8px;
	transition:opacity .18s;
}
.ebt-vo2-address-map-btn:hover{ opacity:.75; }

/* Notes */
.ebt-vo2-note-bubble{
	background:#f0f7ff; border-right: 3px solid var(--vo-blue); border-left: none;
	border-radius:0 10px 10px 0; padding:10px 14px;
	font-size:.82rem; color:#374151; margin-bottom:10px;
	line-height:1.6;
}
.ebt-vo2-note-bubble:last-child{ margin-bottom:0; }
.ebt-vo2-note-date{ font-size:.7rem; color:#9ca3af; margin-top:4px; }

/* ─ Actions bar ─ */
.ebt-vo2-actions{
	display:flex; align-items:center; gap:10px; flex-wrap:wrap;
	padding-top:4px;
}
.ebt-vo2-action-btn{
	display:inline-flex; align-items:center; gap:6px;
	font-size:.82rem; font-weight:600; padding:10px 20px;
	border-radius:10px; text-decoration:none;
	transition:opacity .18s, transform .18s;
	border:1.5px solid transparent;
}
.ebt-vo2-action-btn:hover{ opacity:.85; transform:translateY(-1px); }
.ebt-vo2-action-btn--reorder{ background:var(--vo-blue); color:#fff; }
.ebt-vo2-action-btn--wa{ background:#25d366; color:#fff; }
.ebt-vo2-action-btn--back{ background:#fff; color:#374151; border-color:#d1d5db; }

/* ─ Responsive tweaks ─ */
@media(max-width:640px){
	.ebt-vo2-tracker{ padding:20px 16px; }
	.ebt-vo2-step-desc{ display:none; }
	.ebt-vo2-step-label{ font-size:.65rem; max-width:60px; }
	.ebt-vo2-step-circle{ width:36px; height:36px; font-size:.9rem; }
	.ebt-vo2-rail{ top:17px; }
	.ebt-vo2-header{ padding:18px 20px; }
	.ebt-vo2-items-card, .ebt-vo2-tracking-card{ border-radius:14px; }
}

/* ══════════════════════════════════════════════════════════
   EBT AUTH v3 — Login / Register Page  (fully responsive)
══════════════════════════════════════════════════════════ */
.ebt-auth-wrap {
  --auth-blue: #1a56db;
  --auth-green: #15803d;
  --auth-navy: #0b1628;
  --auth-border: #e9edf5;
  --auth-muted: #6b7280;
  --auth-bg: #f8fafc;
  --auth-radius: 20px;
  background: var(--auth-bg);
  min-height: 100vh;
  padding-bottom: 60px;
}

/* ─ Hero Banner ─────────────────────────────────────── */
.ebt-auth-hero {
  background: linear-gradient(135deg, #0b1628 0%, #0f1f3c 55%, #162447 100%);
  padding: 52px 24px 80px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.ebt-auth-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 80% 60% at 50% 100%, rgba(26,86,219,.2) 0%, transparent 65%);
  pointer-events: none;
}
.ebt-auth-hero-inner { position: relative; z-index: 1; max-width: 640px; margin: 0 auto; }
.ebt-auth-logo { display: inline-block; margin-bottom: 20px; }
.ebt-auth-logo img { height: 48px; width: auto; filter: brightness(0) invert(1); }
.ebt-auth-hero-title {
  font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 800;
  color: #fff; margin: 0 0 10px; letter-spacing: -.03em;
}
.ebt-auth-hero-sub { font-size: .95rem; color: rgba(255,255,255,.65); margin: 0 0 24px; }
.ebt-auth-hero-badges {
  display: flex; align-items: center; justify-content: center;
  gap: 12px; flex-wrap: wrap;
}
.ebt-auth-hero-badges span {
  background: rgba(255,255,255,.1); backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.15);
  color: rgba(255,255,255,.85); font-size: .78rem; font-weight: 600;
  padding: 6px 14px; border-radius: 20px;
}

/* ─ Cards Grid ──────────────────────────────────────── */
.ebt-auth-grid {
  max-width: 1060px; margin: -40px auto 0;
  padding: 0 20px;
  display: grid; gap: 24px;
  position: relative; z-index: 2;
}
.ebt-auth-grid--two  { grid-template-columns: 1fr 1fr; }
.ebt-auth-grid--one  { grid-template-columns: minmax(0, 520px); justify-content: center; }

/* ─ Auth Card ───────────────────────────────────────── */
.ebt-auth-card {
  background: #fff;
  border: 1px solid var(--auth-border);
  border-radius: var(--auth-radius);
  box-shadow: 0 8px 40px rgba(15,31,61,.09);
  padding: 32px 32px 28px;
  display: flex; flex-direction: column; gap: 20px;
}
.ebt-auth-card--register { border-top: 3px solid var(--auth-green); }
.ebt-auth-card:not(.ebt-auth-card--register) { border-top: 3px solid var(--auth-blue); }

/* Card header */
.ebt-auth-card-head { display: flex; align-items: center; gap: 14px; }
.ebt-auth-card-icon {
  width: 48px; height: 48px; border-radius: 14px; flex-shrink: 0;
  background: linear-gradient(135deg, #e0e7ff, #dbeafe);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem;
}
.ebt-auth-card-icon--green { background: linear-gradient(135deg, #dcfce7, #d1fae5); }
.ebt-auth-card-title { margin: 0 0 3px; font-size: 1.1rem; font-weight: 800; color: var(--auth-navy); }
.ebt-auth-card-sub { margin: 0; font-size: .8rem; color: var(--auth-muted); line-height: 1.5; }

/* ─ Google Sign-In wrapper ─────────────────────────── */
.ebt-auth-google-wrap { display: flex; flex-direction: column; gap: 14px; }
/* Force Google button to full width, centered */
.ebt-auth-google-wrap .googlesitekit-sign-in-with-google__frontend-output-button,
.ebt-auth-google-wrap [class*="googlesitekit"] {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
}
.ebt-auth-google-wrap iframe,
.ebt-auth-google-wrap > div > div { width: 100% !important; max-width: 100% !important; }

/* ─ OR Divider ──────────────────────────────────────── */
.ebt-auth-divider {
  display: flex; align-items: center; gap: 12px;
  color: var(--auth-muted); font-size: .8rem;
}
.ebt-auth-divider::before,
.ebt-auth-divider::after {
  content: ''; flex: 1; height: 1px; background: var(--auth-border);
}

/* ─ Form ────────────────────────────────────────────── */
.ebt-auth-form { display: flex; flex-direction: column; gap: 16px; }

/* Field */
.ebt-auth-field { display: flex; flex-direction: column; gap: 6px; }
.ebt-auth-label {
  display: flex; align-items: center; gap: 7px;
  font-size: .82rem; font-weight: 600; color: #374151;
}
.ebt-auth-label svg { color: var(--auth-muted); flex-shrink: 0; }
.ebt-auth-input {
  width: 100%; padding: 12px 16px;
  border: 1.5px solid var(--auth-border); border-radius: 12px;
  font-size: .9rem; color: var(--auth-navy);
  background: #fff; outline: none;
  transition: border-color .2s, box-shadow .2s;
  box-sizing: border-box;
}
.ebt-auth-input:focus {
  border-color: var(--auth-blue);
  box-shadow: 0 0 0 3px rgba(26,86,219,.1);
}
.ebt-auth-input::placeholder { color: #9ca3af; }

/* Password toggle */
.ebt-auth-pw-wrap { position: relative; }
.ebt-auth-pw-wrap .ebt-auth-input { padding-left: 44px; padding-right: 44px; }
.ebt-auth-pw-toggle {
  position: absolute; top: 50%; transform: translateY(-50%);
  left: 14px; right: auto;
  background: none; border: none; cursor: pointer;
  color: var(--auth-muted); padding: 4px;
  display: flex; align-items: center;
  transition: color .2s;
}
.ebt-auth-pw-toggle:hover { color: var(--auth-blue); }

/* Remember + lost */
.ebt-auth-row-between {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; flex-wrap: wrap;
}
.ebt-auth-check {
  display: flex; align-items: center; gap: 8px;
  cursor: pointer; font-size: .82rem; color: #374151; user-select: none;
}
.ebt-auth-check input[type="checkbox"] { display: none; }
.ebt-auth-check-box {
  width: 18px; height: 18px; border-radius: 5px;
  border: 2px solid var(--auth-border); background: #fff; flex-shrink: 0;
  transition: all .2s; position: relative;
}
.ebt-auth-check input:checked + .ebt-auth-check-box {
  background: var(--auth-blue); border-color: var(--auth-blue);
}
.ebt-auth-check input:checked + .ebt-auth-check-box::after {
  content: '✓'; position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: .7rem; color: #fff; font-weight: 800;
}
.ebt-auth-lost-link {
  font-size: .82rem; color: var(--auth-blue); text-decoration: none; font-weight: 600;
  transition: opacity .2s;
}
.ebt-auth-lost-link:hover { opacity: .75; }

/* Submit button */
.ebt-auth-submit {
  width: 100%;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  background: linear-gradient(135deg, var(--auth-blue), #1e40af);
  color: #fff; font-size: .95rem; font-weight: 700;
  padding: 14px 24px; border-radius: 12px; border: none;
  cursor: pointer; letter-spacing: .01em;
  transition: opacity .2s, transform .2s, box-shadow .2s;
  box-shadow: 0 4px 16px rgba(26,86,219,.3);
}
.ebt-auth-submit:hover { opacity: .9; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(26,86,219,.4); }
.ebt-auth-submit--green {
  background: linear-gradient(135deg, var(--auth-green), #166534);
  box-shadow: 0 4px 16px rgba(21,128,61,.3);
}
.ebt-auth-submit--green:hover { box-shadow: 0 6px 20px rgba(21,128,61,.4); }

/* Auto-pass notice */
.ebt-auth-auto-pass {
  background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 10px;
  padding: 12px 16px; font-size: .82rem; color: #166534;
}

/* Perks */
.ebt-auth-perks { display: flex; flex-direction: column; gap: 8px; }
.ebt-auth-perk {
  display: flex; align-items: center; gap: 10px;
  font-size: .82rem; color: #374151;
  background: #f8fafc; border-radius: 10px; padding: 10px 14px;
}
.ebt-auth-perk span { font-size: 1rem; flex-shrink: 0; }

/* Switch link */
.ebt-auth-switch {
  text-align: center; font-size: .82rem; color: var(--auth-muted); margin: 0;
}
.ebt-auth-switch-link {
  color: var(--auth-blue); font-weight: 700; text-decoration: none;
  transition: opacity .2s;
}
.ebt-auth-switch-link:hover { opacity: .75; }

/* ─ Trust row ───────────────────────────────────────── */
.ebt-auth-trust-row {
  display: flex; align-items: center; justify-content: center;
  gap: 32px; flex-wrap: wrap;
  max-width: 1060px; margin: 32px auto 0;
  padding: 0 20px;
}
.ebt-auth-trust-item {
  display: flex; align-items: center; gap: 8px;
  font-size: .8rem; color: var(--auth-muted); font-weight: 500;
}

/* ─ Responsive ──────────────────────────────────────── */
@media (max-width: 800px) {
  .ebt-auth-grid--two { grid-template-columns: 1fr; }
  .ebt-auth-hero { padding: 36px 20px 60px; }
  .ebt-auth-card { padding: 24px 20px 20px; gap: 16px; }
  .ebt-auth-trust-row { gap: 16px; }
}
@media (max-width: 480px) {
  .ebt-auth-hero-title { font-size: 1.35rem; }
  .ebt-auth-grid { padding: 0 12px; margin-top: -30px; }
  .ebt-auth-card { padding: 20px 16px; border-radius: 14px; }
  .ebt-auth-input { padding: 11px 14px; font-size: .88rem; }
  .ebt-auth-submit { padding: 13px 20px; font-size: .9rem; }
  .ebt-auth-row-between { flex-direction: column; align-items: flex-start; gap: 8px; }
  .ebt-auth-trust-row { gap: 12px; }
  .ebt-auth-trust-item { font-size: .75rem; }
}

/* ─ Also style the my-account wrapper for logged-in users ─ */
/* Fix: Make woocommerce page not add extra padding fighting our layout */
.woocommerce-account .woocommerce { padding: 0; }
.ebt-ma-content-panel .woocommerce { padding: 0; }

/* Clean up WC default nav styles inside our custom nav */
.ebt-ma-nav-card .woocommerce-MyAccount-navigation { background: transparent; }
.ebt-ma-nav-list { margin: 0 !important; padding: 10px 0 !important; list-style: none !important; }
.ebt-ma-nav-item a {
  text-decoration: none !important;
  color: #374151 !important;
}
.ebt-ma-nav-item a:hover { color: #1a56db !important; }
.ebt-ma-nav-item.is-active > a,
.ebt-ma-nav-item.woocommerce-MyAccount-navigation-link--current > a {
  color: #1a56db !important;
}

/* Dashboard content inside content panel */
.ebt-ma-content-panel h2 { font-size: 1.1rem !important; font-weight: 800 !important; }


/* ══════════════════════════════════════════════
   MY ACCOUNT — Sidebar nav: robust responsive layout
   Wider column, no mid-word breaks in Arabic
══════════════════════════════════════════════ */

/* ① Override the original 280px column → 300px for comfortable Arabic text */
.ebt-ma-wrap {
  grid-template-columns: 300px 1fr !important;
}
@media (max-width: 1100px) {
  .ebt-ma-wrap { grid-template-columns: 280px 1fr !important; }
}
@media (max-width: 900px) {
  .ebt-ma-wrap { grid-template-columns: 1fr !important; padding: 20px 16px 48px !important; }
}

/* ② Nav item links — allow natural word-wrap, never break mid-Arabic-word */
.ebt-ma-nav-item a {
  white-space: normal !important;
  overflow-wrap: break-word !important; /* only break truly unsplittable long words */
  word-break: normal !important;         /* ← fixes the mid-Arabic-char breakage */
  hyphens: none !important;
  line-height: 1.45 !important;
  align-items: flex-start !important;
  padding: 11px 18px !important;
}
.ebt-ma-nav-icon {
  margin-top: 2px;           /* align icon baseline with first text line */
  flex-shrink: 0 !important;
  font-size: 1rem !important;
  width: 22px !important;    /* fixed width so text column stays consistent */
  text-align: center !important;
}

/* ③ Active indicator — RTL: bar goes on the LEFT (inline-start) side */
.ebt-ma-nav-item.is-active > a::before,
.ebt-ma-nav-item.woocommerce-MyAccount-navigation-link--current > a::before {
  right: auto !important;
  left: 0 !important;
  border-radius: 4px 0 0 4px !important;
}


/* ══════════════════════════════════════════════════════════════
   MY ACCOUNT — Edit Address Form  (form-edit-address.php)
   Template classes: .ebt-addr-page, .ebt-addr-hero, .ebt-addr-card,
                     .ebt-addr-fields, .ebt-addr-actions
   CRITICAL: override WooCommerce plugin float layout on form-row-first/last
══════════════════════════════════════════════════════════════ */

/* ─── Page wrapper ─────────────────────────────────────────── */
.ebt-addr-page {
  max-width: 800px;
}

/* ─── Hero header ───────────────────────────────────────────── */
.ebt-addr-hero {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.ebt-addr-hero-icon {
  width: 52px; height: 52px;
  border-radius: 14px;
  background: linear-gradient(135deg, #dbeafe, #e0f2fe);
  color: #1a56db;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.ebt-addr-hero-text { flex: 1; min-width: 0; }
.ebt-addr-hero-title {
  font-size: 1.15rem;
  font-weight: 800;
  color: #0b1628;
  margin: 0 0 4px;
  line-height: 1.3;
}
.ebt-addr-hero-sub {
  font-size: .82rem;
  color: #6b7280;
  margin: 0;
  line-height: 1.5;
}
.ebt-addr-back-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: .82rem;
  font-weight: 600;
  color: #6b7280;
  text-decoration: none;
  padding: 7px 14px;
  border: 1.5px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
  transition: border-color .18s, color .18s;
  white-space: nowrap;
  margin-inline-start: auto;
}
.ebt-addr-back-link:hover {
  border-color: #1a56db;
  color: #1a56db;
}
@media (max-width: 520px) {
  .ebt-addr-back-link { display: none; }
}

/* ─── Form card ─────────────────────────────────────────────── */
.ebt-addr-card {
  background: #fff;
  border-radius: 20px;
  border: 1px solid #e9edf5;
  box-shadow: 0 4px 24px rgba(15,31,61,.07);
  padding: 32px 28px;
}
@media (max-width: 600px) {
  .ebt-addr-card { padding: 22px 18px; border-radius: 14px; }
}

/* ─── Fields grid ───────────────────────────────────────────── */
/*
 * CRITICAL — WooCommerce plugin woocommerce-layout.css sets:
 *   .woocommerce form .form-row-first { float: left;  width: 47% }
 *   .woocommerce form .form-row-last  { float: right; width: 47% }
 *   .woocommerce form .form-row-wide  { clear: both; }
 * These collapse fields inside our CSS Grid. We must override with !important.
 */
.ebt-addr-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 20px;
  margin-bottom: 0;
}
@media (max-width: 560px) {
  .ebt-addr-fields { grid-template-columns: 1fr; }
}

/* All form-row variants → reset WooCommerce float layout */
.ebt-addr-fields .form-row,
.ebt-addr-fields .form-row-first,
.ebt-addr-fields .form-row-last,
.ebt-addr-fields .form-row-wide {
  float: none !important;
  width: 100% !important;
  clear: none !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Wide fields span both columns */
.ebt-addr-fields .form-row-wide {
  grid-column: 1 / -1 !important;
}
/* First/Last names stay side-by-side in respective columns */
.ebt-addr-fields .form-row-first { grid-column: 1; }
.ebt-addr-fields .form-row-last  { grid-column: 2; }
@media (max-width: 560px) {
  .ebt-addr-fields .form-row-first,
  .ebt-addr-fields .form-row-last { grid-column: 1 / -1; }
}

/* ─── Labels ────────────────────────────────────────────────── */
.ebt-addr-fields .form-row label,
.ebt-addr-form .form-row label {
  display: block !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  color: #374151 !important;
  margin: 0 0 7px !important;
  letter-spacing: .01em;
}
.ebt-addr-fields .form-row label .required,
.ebt-addr-form .form-row label .required {
  color: #ef4444 !important;
  font-weight: 700 !important;
  margin-inline-start: 2px;
}
.ebt-addr-fields .form-row label.screen-reader-text {
  position: absolute !important;
  width: 1px !important; height: 1px !important;
  overflow: hidden !important; clip: rect(0,0,0,0) !important;
}

/* ─── Input wrapper ─────────────────────────────────────────── */
.ebt-addr-fields .woocommerce-input-wrapper,
.ebt-addr-form .woocommerce-input-wrapper {
  display: block !important;
  width: 100% !important;
}

/* ─── Inputs, textareas, selects ────────────────────────────── */
.ebt-addr-fields input.input-text,
.ebt-addr-fields input[type="text"],
.ebt-addr-fields input[type="email"],
.ebt-addr-fields input[type="tel"],
.ebt-addr-fields textarea,
.ebt-addr-fields select,
.ebt-addr-form input.input-text,
.ebt-addr-form input[type="text"],
.ebt-addr-form input[type="email"],
.ebt-addr-form input[type="tel"],
.ebt-addr-form textarea,
.ebt-addr-form select {
  display: block !important;
  width: 100% !important;
  height: 46px !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 0 14px !important;
  font-family: inherit !important;
  font-size: .9rem !important;
  color: #1e293b !important;
  background: #f9fafb !important;
  transition: border-color .18s, box-shadow .18s, background .18s !important;
  box-sizing: border-box !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  line-height: 46px !important;
}
.ebt-addr-fields textarea,
.ebt-addr-form textarea {
  height: auto !important;
  padding: 12px 14px !important;
  line-height: 1.6 !important;
  resize: vertical;
}
.ebt-addr-fields input.input-text:focus,
.ebt-addr-fields input[type="text"]:focus,
.ebt-addr-fields input[type="email"]:focus,
.ebt-addr-fields input[type="tel"]:focus,
.ebt-addr-fields textarea:focus,
.ebt-addr-fields select:focus,
.ebt-addr-form input.input-text:focus,
.ebt-addr-form select:focus {
  border-color: #1a56db !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(26,86,219,.10) !important;
  outline: none !important;
}
.ebt-addr-fields input::placeholder,
.ebt-addr-fields textarea::placeholder {
  color: #b0b9c8 !important;
}

/* ─── Native select (state/country fallback) ────────────────── */
.ebt-addr-fields select,
.ebt-addr-form select {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: left 12px center !important;
  padding-left: 38px !important;
}
[dir="rtl"] .ebt-addr-fields select,
.rtl .ebt-addr-fields select {
  background-position: right 12px center !important;
  padding-left: 14px !important;
  padding-right: 38px !important;
}

/* ─── Select2 (country dropdown) ───────────────────────────── */
.ebt-addr-fields .select2-container,
.ebt-addr-form .select2-container {
  width: 100% !important;
}
.ebt-addr-fields .select2-selection--single,
.ebt-addr-form .select2-selection--single {
  height: 46px !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 10px !important;
  background: #f9fafb !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 14px !important;
  transition: border-color .18s, box-shadow .18s, background .18s !important;
}
.ebt-addr-fields .select2-container--open .select2-selection--single,
.ebt-addr-form .select2-container--open .select2-selection--single {
  border-color: #1a56db !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(26,86,219,.10) !important;
  outline: none !important;
}
.ebt-addr-fields .select2-selection__rendered,
.ebt-addr-form .select2-selection__rendered {
  font-size: .9rem !important;
  color: #1e293b !important;
  line-height: 1 !important;
  padding: 0 !important;
}
.ebt-addr-fields .select2-selection__placeholder { color: #b0b9c8 !important; }
.ebt-addr-fields .select2-selection__arrow,
.ebt-addr-form .select2-selection__arrow {
  top: 50% !important;
  transform: translateY(-50%) !important;
  right: auto !important;
  left: 12px !important;
  height: 20px !important;
  width: 20px !important;
}
[dir="rtl"] .ebt-addr-fields .select2-selection__arrow,
.rtl .ebt-addr-fields .select2-selection__arrow {
  left: auto !important;
  right: 12px !important;
}

/* ─── Validation error highlight ───────────────────────────── */
.ebt-addr-fields .form-row.woocommerce-invalid input.input-text,
.ebt-addr-fields .form-row.woocommerce-invalid select {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 3px rgba(239,68,68,.10) !important;
}
.ebt-addr-fields .form-row.woocommerce-invalid label { color: #ef4444 !important; }
.ebt-addr-fields .form-row.woocommerce-validated input.input-text,
.ebt-addr-fields .form-row.woocommerce-validated select {
  border-color: #22c55e !important;
}

/* ─── Actions row ───────────────────────────────────────────── */
.ebt-addr-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid #f1f5f9;
}
.ebt-addr-btn-save {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: linear-gradient(135deg, #1a56db, #1e40af) !important;
  color: #fff !important;
  font-size: .9rem !important;
  font-weight: 700 !important;
  padding: 12px 28px !important;
  border-radius: 10px !important;
  border: none !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: opacity .2s, transform .2s, box-shadow .2s !important;
  box-shadow: 0 4px 14px rgba(26,86,219,.28) !important;
  letter-spacing: .01em;
}
.ebt-addr-btn-save:hover {
  opacity: .9 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(26,86,219,.38) !important;
}
.ebt-addr-btn-cancel {
  display: inline-flex;
  align-items: center;
  font-size: .85rem;
  font-weight: 600;
  color: #6b7280;
  padding: 11px 20px;
  border-radius: 10px;
  border: 1.5px solid #e2e8f0;
  background: #fff;
  text-decoration: none;
  transition: border-color .18s, color .18s;
}
.ebt-addr-btn-cancel:hover {
  border-color: #1a56db;
  color: #1a56db;
}
@media (max-width: 420px) {
  .ebt-addr-btn-save,
  .ebt-addr-btn-cancel { width: 100%; justify-content: center; }
}

/* ─── Also keep old class names working (backward compat) ───── */
.ebt-edit-address-wrap { max-width: 800px; }

/* ══════════════════════════════════════════════
   MY ACCOUNT — Account Details form (form-edit-account.php)
   Classes: .ebt-account-form-wrap, .ebt-form-grid, .ebt-field, .ebt-field.full
══════════════════════════════════════════════ */
.ebt-account-form-wrap {
  max-width: 760px;
}

/* The 2-col grid is already defined above for .ebt-form-grid.
   Fields inside it: */
.ebt-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 4px;
}
.ebt-field.full {
  grid-column: 1 / -1;
}
.ebt-field label {
  font-size: .82rem;
  font-weight: 700;
  color: #374151;
  margin: 0;
}
.ebt-field label .required {
  color: #e53e3e;
  margin-inline-start: 2px;
}
.ebt-field input.input-text,
.ebt-field input[type="text"],
.ebt-field input[type="email"],
.ebt-field input[type="password"],
.ebt-field textarea {
  width: 100%;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 11px 14px !important;
  font-family: inherit !important;
  font-size: .88rem !important;
  color: #1e293b !important;
  background: #fff !important;
  transition: border-color .18s, box-shadow .18s !important;
  box-sizing: border-box !important;
}
.ebt-field input.input-text:focus,
.ebt-field input[type="text"]:focus,
.ebt-field input[type="email"]:focus,
.ebt-field input[type="password"]:focus,
.ebt-field textarea:focus {
  border-color: #1a56db !important;
  box-shadow: 0 0 0 3px rgba(26,86,219,.10) !important;
  outline: none !important;
}
.ebt-field input::placeholder,
.ebt-field textarea::placeholder {
  color: #9ca3af;
}
.ebt-field small {
  font-size: .78rem !important;
  color: #6b7280 !important;
  line-height: 1.5 !important;
}

/* Password section card inside account form */
.ebt-account-form-wrap .ebt-pv2-card.ebt-card-pad {
  border-radius: 16px;
  border: 1px solid #e9edf5;
  box-shadow: 0 2px 12px rgba(15,31,61,.05);
  background: #f8fafc;
}
.ebt-account-form-wrap .ebt-pv2-card h3 {
  font-size: .95rem !important;
  font-weight: 700 !important;
  color: #0b1628 !important;
  display: flex;
  align-items: center;
  gap: 8px;
}
.ebt-account-form-wrap .ebt-pv2-card h3::before {
  content: '🔒';
  font-size: 1rem;
}

/* Submit row in account form */
.ebt-account-form-wrap [style*="margin-top:20px;display:flex"] {
  padding-top: 20px;
  border-top: 1px solid #f1f5f9;
}


/* ══════════════════════════════════════════════
   MY ACCOUNT — Addresses listing (addresses.php)
   Fix class mismatch: template uses ebt-address-card-header / ebt-addresses-intro etc.
══════════════════════════════════════════════ */
.ebt-addresses-wrap {
  max-width: 860px;
}
.ebt-addresses-intro {
  font-size: .85rem;
  color: #6b7280;
  margin: 0 0 24px;
  line-height: 1.6;
}
.ebt-addresses-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media (max-width: 640px) {
  .ebt-addresses-grid { grid-template-columns: 1fr; }
}
.ebt-address-card {
  background: #fff;
  border: 1px solid #e9edf5;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 3px 16px rgba(15,31,61,.06);
  transition: box-shadow .22s, transform .22s;
}
.ebt-address-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(15,31,61,.10);
}
/* Header bar */
.ebt-address-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: linear-gradient(135deg, #f0f7ff, #e8f0fe);
  border-bottom: 1px solid #e9edf5;
}
.ebt-address-title {
  font-size: .9rem;
  font-weight: 800;
  color: #0b1628;
  margin: 0;
}
/* Old class compat */
.ebt-address-card-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0; }
.ebt-address-card-head h3 { font-size: .9rem; font-weight: 800; color: #0b1628; margin: 0; }

/* Edit / Add button inside address card */
.ebt-address-edit-btn,
.ebt-address-card-header .ebt-btn-secondary {
  font-size: .78rem !important;
  font-weight: 600 !important;
  padding: 6px 14px !important;
  border-radius: 8px !important;
  border: 1.5px solid #cbd5e1 !important;
  background: #fff !important;
  color: #374151 !important;
  text-decoration: none !important;
  transition: border-color .18s, color .18s !important;
  white-space: nowrap;
}
.ebt-address-edit-btn:hover,
.ebt-address-card-header .ebt-btn-secondary:hover {
  border-color: #1a56db !important;
  color: #1a56db !important;
}

/* Address body */
.ebt-address-card-body {
  padding: 18px 20px;
  font-size: .85rem;
  color: #374151;
  line-height: 1.85;
  font-style: normal;
}
.ebt-address-card-body address {
  font-style: normal;
}

/* Empty state */
.ebt-address-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
  padding: 12px 0 4px;
  color: #9ca3af;
  font-size: .82rem;
}
.ebt-address-empty svg {
  color: #d1d5db;
}


/* ══════════════════════════════════════════════
   MY ACCOUNT — Dashboard (dashboard.php)
   Move inline <style> out; define .ebt-db-* here
══════════════════════════════════════════════ */

/* Welcome Banner */
.ebt-db-welcome {
  background: linear-gradient(135deg, #0b1628 0%, #0f1f3c 60%, #162447 100%);
  border-radius: 20px;
  padding: 28px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  position: relative;
  overflow: hidden;
}
.ebt-db-welcome::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 80% at 90% 50%, rgba(6,182,212,.15) 0%, transparent 70%);
  pointer-events: none;
}
.ebt-db-welcome-text { position: relative; z-index: 1; }
.ebt-db-welcome-title {
  font-size: 1.3rem; font-weight: 700; color: #fff;
  margin: 0 0 8px; line-height: 1.3;
}
.ebt-db-welcome-title strong { color: #06b6d4; }
.ebt-db-welcome-desc {
  font-size: .88rem; color: rgba(255,255,255,.65);
  margin: 0; line-height: 1.6;
}
.ebt-db-welcome-desc a { color: #06b6d4; text-decoration: none; }
.ebt-db-welcome-desc a:hover { text-decoration: underline; }
.ebt-db-welcome-avatar {
  width: 68px; height: 68px; border-radius: 50%;
  overflow: hidden; border: 3px solid rgba(255,255,255,.2);
  flex-shrink: 0; position: relative; z-index: 1;
}
.ebt-db-welcome-avatar img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 600px) {
  .ebt-db-welcome { padding: 20px; flex-direction: column; align-items: flex-start; }
  .ebt-db-welcome-avatar { display: none; }
}

/* Stats Row */
.ebt-db-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
@media (max-width: 600px) { .ebt-db-stats { grid-template-columns: 1fr; gap: 10px; } }
.ebt-db-stat-card {
  background: #fff; border-radius: 16px;
  padding: 20px 18px;
  border: 1px solid #e9edf5;
  box-shadow: 0 2px 12px rgba(15,31,61,.05);
  text-align: center;
  transition: transform .22s, box-shadow .22s;
}
.ebt-db-stat-card:hover { transform: translateY(-4px); box-shadow: 0 8px 28px rgba(15,31,61,.11); }
.ebt-db-stat-icon { font-size: 1.6rem; margin-bottom: 8px; line-height: 1; }
.ebt-db-stat-val {
  font-size: 1.5rem; font-weight: 800; color: #0b1628;
  margin-bottom: 4px; line-height: 1;
}
.ebt-db-stat-lbl { font-size: .78rem; color: #6b7280; font-weight: 500; }

/* Quick Actions */
.ebt-db-actions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 28px;
}
@media (max-width: 700px) { .ebt-db-actions { grid-template-columns: 1fr; gap: 10px; } }
@media (min-width: 480px) and (max-width: 700px) { .ebt-db-actions { grid-template-columns: repeat(2, 1fr); } }
.ebt-db-action-card {
  display: flex; align-items: center; gap: 14px;
  background: #fff; border-radius: 16px;
  padding: 18px 16px;
  border: 1px solid #e9edf5;
  box-shadow: 0 2px 12px rgba(15,31,61,.05);
  text-decoration: none; color: inherit;
  transition: transform .22s, box-shadow .22s, border-color .22s;
}
.ebt-db-action-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(15,31,61,.11);
  border-color: #c7d7f5; color: inherit;
}
.ebt-db-action-icon {
  width: 48px; height: 48px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.ebt-db-action-icon--blue { background: #dbeafe; color: #1a56db; }
.ebt-db-action-icon--green { background: #dcfce7; color: #15803d; }
.ebt-db-action-icon--purple { background: #ede9fe; color: #6d28d9; }
.ebt-db-action-text { flex: 1; min-width: 0; }
.ebt-db-action-text h3 { font-size: .92rem; font-weight: 700; color: #0b1628; margin: 0 0 2px; }
.ebt-db-action-text span { font-size: .78rem; color: #6b7280; }
.ebt-db-action-arrow { color: #9ca3af; flex-shrink: 0; }

/* Recent Orders */
.ebt-db-orders-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 16px;
}
.ebt-db-orders-title { font-size: 1rem; font-weight: 700; color: #0b1628; margin: 0; }
.ebt-db-orders-link { font-size: .82rem; color: #1a56db; text-decoration: none; font-weight: 600; }
.ebt-db-orders-link:hover { text-decoration: underline; }

/* Dashboard order cards */
.ebt-db-order-card {
  background: #fff; border: 1px solid #e9edf5;
  border-radius: 14px; padding: 16px 20px;
  display: flex; align-items: center;
  gap: 16px; flex-wrap: wrap;
  margin-bottom: 10px;
  transition: transform .2s, box-shadow .2s, border-color .2s;
  cursor: pointer;
}
.ebt-db-order-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 22px rgba(15,31,61,.09);
  border-color: #c7d7f5;
}
.ebt-db-order-left { flex: 1; min-width: 140px; }
.ebt-db-order-num {
  font-weight: 700; font-size: .95rem; color: #0b1628;
  text-decoration: none; margin-bottom: 4px; display: block;
}
.ebt-db-order-num:hover { color: #1a56db; }
.ebt-db-order-meta { font-size: .78rem; color: #6b7280; }
.ebt-db-order-middle { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ebt-db-order-total { font-weight: 700; font-size: .95rem; color: #0b1628; }
.ebt-db-order-right { display: flex; align-items: center; gap: 8px; margin-inline-start: auto; }
.ebt-db-order-action {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: .78rem; font-weight: 600; padding: 6px 14px;
  border-radius: 8px; text-decoration: none;
  transition: opacity .18s, transform .18s;
  border: 1.5px solid transparent;
}
.ebt-db-order-action:hover { opacity: .85; transform: translateY(-1px); }
.ebt-db-order-action--primary { background: #1a56db; color: #fff; border-color: #1a56db; }
.ebt-db-order-action--secondary { background: #fff; color: #374151; border-color: #d1d5db; }

/* Dashboard status badges (slightly smaller than orders page) */
.ebt-db .ebt-status-processing,
.ebt-db .ebt-status-completed,
.ebt-db .ebt-status-cancelled,
.ebt-db .ebt-status-pending,
.ebt-db .ebt-status-on-hold,
.ebt-db .ebt-status-refunded,
.ebt-db .ebt-status-failed {
  padding: 3px 10px !important;
}

/* Empty state */
.ebt-db-empty { text-align: center; padding: 48px 24px; }
.ebt-db-empty-icon { font-size: 3.5rem; margin-bottom: 16px; line-height: 1; }
.ebt-db-empty p { color: #6b7280; margin-bottom: 20px; font-size: .9rem; }
.ebt-db-empty-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: linear-gradient(135deg, #1a56db, #1e40af);
  color: #fff; font-weight: 600; font-size: .88rem;
  padding: 11px 24px; border-radius: 10px;
  text-decoration: none; transition: opacity .2s, transform .2s;
}
.ebt-db-empty-btn:hover { opacity: .88; transform: translateY(-2px); color: #fff; }

/* Section title */
.ebt-db-section-title { font-size: 1rem; font-weight: 700; color: #0b1628; margin: 0 0 14px; }

/* Shipping address preview card */
.ebt-db-addr-card {
  background: #f8faff; border: 1px solid #e9edf5;
  border-radius: 14px; padding: 18px 20px;
  margin-top: 20px;
}
.ebt-db-addr-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 10px;
}
.ebt-db-addr-head h4 { font-size: .9rem; font-weight: 700; color: #0b1628; margin: 0; }
.ebt-db-addr-edit { font-size: .78rem; color: #1a56db; text-decoration: none; font-weight: 600; }
.ebt-db-addr-edit:hover { text-decoration: underline; }
.ebt-db-addr-body { font-size: .85rem; color: #374151; line-height: 1.7; }
