/* ====== WooCommerce dark overrides (Ellacar) ====== */

/* Boutons WC */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background: var(--ec-brand) !important;
  color: #111827 !important;
  border-radius: 14px !important;
  border: none !important;
  font-weight: 950 !important;
  padding: 12px 16px !important;
  text-shadow: none !important;
  box-shadow: none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover { filter: brightness(.95) !important; }

/* Notices */
.woocommerce-message, .woocommerce-info {
  background: rgba(255,179,0,.08) !important;
  border-top-color: var(--ec-brand) !important;
  color: rgba(255,255,255,.80) !important;
  border-radius: 14px !important;
}
ul.woocommerce-error {
  background: rgba(255,42,0,.08) !important;
  border-top-color: #ff4444 !important;
  color: #ffb3a7 !important;
  border-radius: 14px !important;
}

/* Tables */
.woocommerce table.shop_table {
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.04) !important;
  color: #fff !important;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  border-top: 1px solid rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.80) !important;
  background: transparent !important;
}

/* Champs WC (my account etc.) */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  background: rgba(7,10,20,.55) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 14px !important;
  padding: 12px !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color: rgba(255,179,0,.50) !important;
  box-shadow: 0 0 0 3px rgba(255,179,0,.12) !important;
  outline: none !important;
}
.woocommerce form .form-row label { color: rgba(255,255,255,.55) !important; }

/* Select2 dark */
.select2-container--default .select2-selection--single {
  background: rgba(7,10,20,.55) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 14px !important;
  color: #fff !important;
  height: 46px !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { color: #fff !important; line-height: 44px !important; padding: 0 14px !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { top: 50% !important; transform: translateY(-50%) !important; }
.select2-dropdown { background: #0b1b3a !important; border: 1px solid rgba(255,255,255,.14) !important; border-radius: 14px !important; }
.select2-container--default .select2-results__option { color: rgba(255,255,255,.80) !important; }
.select2-container--default .select2-results__option--highlighted { background: rgba(255,179,0,.14) !important; color: #fff !important; }

/* Cart & checkout WC natifs (si nos templates ne sont pas actifs) */
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout .woocommerce {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 18px !important;
  padding: 20px !important;
  color: #fff !important;
}

/* My account sidebar */
.woocommerce-account .woocommerce-MyAccount-navigation {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  border-radius: 16px;
  padding: 12px;
  margin-bottom: 20px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block; padding: 10px 14px; border-radius: 10px;
  color: rgba(255,255,255,.70); text-decoration: none; font-weight: 700; font-size: 14px;
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: rgba(255,179,0,.10); color: #ffda6a;
}

/* =============================================================
   WooCommerce — Checkout premium (Design v4)
   Objectif: forcer un layout propre même si un style tiers override.
   ============================================================= */

body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout.woocommerce-page .woocommerce{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  color: var(--ec-text) !important;
}

/* Container */
body.woocommerce-checkout form.checkout{
  max-width: 1180px !important;
  margin: 0 auto !important;
}

/* Grid layout */
@media (min-width: 981px){
  body.woocommerce-checkout form.checkout{
    display: grid !important;
    grid-template-columns: 1.1fr .9fr !important;
    gap: 18px !important;
    align-items: start !important;
  }
  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review{
    float: none !important;
    width: auto !important;
    max-width: none !important;
  }
  body.woocommerce-checkout #order_review{
    position: sticky !important;
    top: 96px !important;
    align-self: start !important;
  }
}

/* Cards */
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout .woocommerce-checkout-payment{
  background: #fff !important;
  border: 1px solid var(--ec-line) !important;
  border-radius: var(--ec-radius) !important;
  box-shadow: var(--ec-shadow-sm) !important;
  padding: 16px !important;
}

body.woocommerce-checkout h3,
body.woocommerce-checkout #order_review_heading{
  color: var(--ec-text) !important;
  font-weight: 950 !important;
  letter-spacing: -.02em !important;
  margin: 0 0 12px !important;
}

/* Force form rows to be sane */
body.woocommerce-checkout .woocommerce form .form-row{
  float: none !important;
  width: 100% !important;
  display: block !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
}

/* 2 columns inside billing/shipping when possible */
@media (min-width: 981px){
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-address-fields__field-wrapper{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-wide,
  body.woocommerce-checkout .woocommerce-address-fields__field-wrapper .form-row-wide{
    grid-column: 1 / -1 !important;
  }
}

/* Labels */
body.woocommerce-checkout .woocommerce form .form-row label{
  display: block !important;
  margin: 0 0 6px !important;
  color: var(--ec-muted) !important;
  font-weight: 900 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}

/* Inputs */
body.woocommerce-checkout .woocommerce form .form-row .woocommerce-input-wrapper{
  display: block !important;
  width: 100% !important;
}

body.woocommerce-checkout .woocommerce form .form-row input.input-text,
body.woocommerce-checkout .woocommerce form .form-row textarea,
body.woocommerce-checkout .woocommerce form .form-row select{
  width: 100% !important;
  max-width: 100% !important;
  background: #fff !important;
  color: var(--ec-text) !important;
  border: 1px solid var(--ec-line-strong) !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .woocommerce form .form-row input.input-text:focus,
body.woocommerce-checkout .woocommerce form .form-row textarea:focus,
body.woocommerce-checkout .woocommerce form .form-row select:focus{
  border-color: rgba(255,179,0,.65) !important;
  box-shadow: 0 0 0 4px rgba(255,179,0,.18) !important;
  outline: none !important;
}

/* Select2 in checkout */
body.woocommerce-checkout .select2-container--default .select2-selection--single{
  background: #fff !important;
  border: 1px solid var(--ec-line-strong) !important;
  border-radius: 14px !important;
  height: 46px !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{
  color: var(--ec-text) !important;
  line-height: 44px !important;
}
body.woocommerce-checkout .select2-dropdown{
  background: #fff !important;
  border: 1px solid var(--ec-line-strong) !important;
  border-radius: 14px !important;
}
body.woocommerce-checkout .select2-container--default .select2-results__option{
  color: var(--ec-text) !important;
}

/* Buttons */
body.woocommerce-checkout .woocommerce a.button,
body.woocommerce-checkout .woocommerce button.button,
body.woocommerce-checkout .woocommerce input.button,
body.woocommerce-checkout .woocommerce #respond input#submit,
body.woocommerce-checkout #place_order{
  width: 100% !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  font-weight: 950 !important;
  text-decoration: none !important;
}

/* Review table light */
body.woocommerce-checkout .woocommerce table.shop_table{
  background: #fff !important;
  color: var(--ec-text) !important;
  border: 1px solid var(--ec-line) !important;
}
body.woocommerce-checkout .woocommerce table.shop_table th,
body.woocommerce-checkout .woocommerce table.shop_table td{
  color: var(--ec-text) !important;
  border-top: 1px solid var(--ec-line) !important;
}

/* Coupon / notices */
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message{
  color: var(--ec-text) !important;
}

