/* =========================================================
   WooCommerce — Premium UI pack (DYB preprod) — CLEAN CANONICAL
   Target pages (FR):
   - /fr/mon-compte/ (Woo account)
   - /fr/panier/     (Woo cart)
   - /fr/commande/   (Woo checkout)
   - /fr/favoris/    (Wishlist - YITH)
   Scope: ONLY WooCommerce surfaces (account/cart/checkout/wishlist/search results)
   Goal: clean, sharp, readable, no layout breakage.
   Notes:
   - This file intentionally removes older/duplicate "cart emergency" blocks.
   - Keep this file as the single source of truth for Woo premium styling.
   ========================================================= */

/* ---------- tokens (safe fallbacks) ---------- */
:root{
  --dyb-ink: #111111;
  --dyb-ink-soft: #2b2b2b;
  --dyb-muted: #6b7280;
  --dyb-border: #e5e7eb;
  --dyb-surface: #ffffff;
  --dyb-surface-2: #f7f7f8;
  --dyb-radius: 16px;
  --dyb-radius-sm: 12px;
  --dyb-shadow: 0 10px 30px rgba(0,0,0,.08);
  --dyb-shadow-sm: 0 6px 16px rgba(0,0,0,.08);
  --dyb-focus: 0 0 0 3px rgba(17,17,17,.18);
}

/* ---------- global scope reset (DO NOT touch site header/footer) ---------- */
body.woocommerce-account .woocommerce,
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-wishlist .woocommerce,
body.search.post-type-archive-product .woocommerce,
body.search.woocommerce .woocommerce{
  font-family: inherit;
  color: var(--dyb-ink);
}

/* container breathing room */
body.woocommerce-account .site-main,
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-wishlist .site-main,
body.search.post-type-archive-product .site-main,
body.search.woocommerce .site-main{
  padding: 24px 18px 56px;
}
@media (min-width: 1024px){
  body.woocommerce-account .site-main,
  body.woocommerce-cart .site-main,
  body.woocommerce-checkout .site-main,
  body.woocommerce-wishlist .site-main,
  body.search.post-type-archive-product .site-main,
  body.search.woocommerce .site-main{
    padding: 32px 24px 72px;
  }
}

/* headings */
body.woocommerce-account .woocommerce h1,
body.woocommerce-cart .woocommerce h1,
body.woocommerce-checkout .woocommerce h1,
body.woocommerce-wishlist .woocommerce h1,
body.search.post-type-archive-product .woocommerce h1,
body.search.woocommerce .woocommerce h1{
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0 0 22px;
}
body.woocommerce-account .woocommerce h2,
body.woocommerce-checkout .woocommerce h2{
  font-size: 20px;
  line-height: 1.25;
  margin: 0 0 14px;
}

/* ---------- forms: hard reset against theme weirdness ---------- */
body.woocommerce-account .woocommerce form,
body.woocommerce-cart .woocommerce form,
body.woocommerce-checkout .woocommerce form{
  margin: 0;
}

body.woocommerce-account .woocommerce form .form-row,
body.woocommerce-checkout .woocommerce form .form-row,
body.woocommerce-cart .woocommerce form .form-row{
  float: none !important;
  width: 100% !important;
  display: block !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}

body.woocommerce-account .woocommerce form .form-row label,
body.woocommerce-checkout .woocommerce form .form-row label,
body.woocommerce-cart .woocommerce form .form-row label{
  display: block !important;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.25;
  margin: 0 0 6px !important;
  color: var(--dyb-ink);
}

body.woocommerce-account .woocommerce input[type="text"],
body.woocommerce-account .woocommerce input[type="email"],
body.woocommerce-account .woocommerce input[type="password"],
body.woocommerce-account .woocommerce input[type="tel"],
body.woocommerce-account .woocommerce input[type="search"],
body.woocommerce-account .woocommerce select,
body.woocommerce-account .woocommerce textarea,
body.woocommerce-cart .woocommerce input[type="text"],
body.woocommerce-cart .woocommerce input[type="email"],
body.woocommerce-cart .woocommerce input[type="password"],
body.woocommerce-cart .woocommerce input[type="tel"],
body.woocommerce-cart .woocommerce input[type="search"],
body.woocommerce-cart .woocommerce select,
body.woocommerce-cart .woocommerce textarea,
body.woocommerce-checkout .woocommerce input[type="text"],
body.woocommerce-checkout .woocommerce input[type="email"],
body.woocommerce-checkout .woocommerce input[type="password"],
body.woocommerce-checkout .woocommerce input[type="tel"],
body.woocommerce-checkout .woocommerce input[type="search"],
body.woocommerce-checkout .woocommerce select,
body.woocommerce-checkout .woocommerce textarea{
  width: 100% !important;
  box-sizing: border-box !important;
  height: 46px;
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid var(--dyb-border);
  background: var(--dyb-surface);
  color: var(--dyb-ink);
  font-size: 15px;
  line-height: 1.2;
  outline: none;
}

body.woocommerce-account .woocommerce textarea,
body.woocommerce-checkout .woocommerce textarea{
  min-height: 110px;
  height: auto;
  padding: 12px 14px;
  resize: vertical;
}

body.woocommerce-account .woocommerce input:focus,
body.woocommerce-checkout .woocommerce input:focus,
body.woocommerce-cart .woocommerce input:focus,
body.woocommerce-account .woocommerce select:focus,
body.woocommerce-checkout .woocommerce select:focus,
body.woocommerce-account .woocommerce textarea:focus,
body.woocommerce-checkout .woocommerce textarea:focus{
  border-color: #bfc5cf;
  box-shadow: var(--dyb-focus);
}

/* checkboxes/radios: kill “black pill” effect from theme */
body.woocommerce-account .woocommerce input[type="checkbox"],
body.woocommerce-account .woocommerce input[type="radio"],
body.woocommerce-checkout .woocommerce input[type="checkbox"],
body.woocommerce-checkout .woocommerce input[type="radio"],
body.woocommerce-cart .woocommerce input[type="checkbox"],
body.woocommerce-cart .woocommerce input[type="radio"]{
  appearance: auto !important;
  width: auto !important;
  height: auto !important;
  min-width: 16px;
  min-height: 16px;
  box-shadow: none !important;
}

/* buttons */
body.woocommerce-account .woocommerce button.button,
body.woocommerce-account .woocommerce a.button,
body.woocommerce-account .woocommerce input.button,
body.woocommerce-cart .woocommerce button.button,
body.woocommerce-cart .woocommerce a.button,
body.woocommerce-cart .woocommerce input.button,
body.woocommerce-checkout .woocommerce button.button,
body.woocommerce-checkout .woocommerce a.button,
body.woocommerce-checkout .woocommerce input.button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 12px 18px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.08);
  background: #111;
  color: #fff;
  font-weight: 700;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: 0 12px 26px rgba(0,0,0,.16);
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}
body.woocommerce-account .woocommerce button.button:hover,
body.woocommerce-account .woocommerce a.button:hover,
body.woocommerce-cart .woocommerce button.button:hover,
body.woocommerce-cart .woocommerce a.button:hover,
body.woocommerce-checkout .woocommerce button.button:hover,
body.woocommerce-checkout .woocommerce a.button:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(0,0,0,.18);
}
body.woocommerce-account .woocommerce button.button:active,
body.woocommerce-cart .woocommerce button.button:active,
body.woocommerce-checkout .woocommerce button.button:active{
  transform: translateY(0);
}

body.woocommerce-account .woocommerce .button.alt,
body.woocommerce-cart .woocommerce .button.alt,
body.woocommerce-checkout .woocommerce .button.alt{
  background: #111;
}

/* links */
body.woocommerce-account .woocommerce a,
body.woocommerce-cart .woocommerce a,
body.woocommerce-checkout .woocommerce a{
  color: #0b57d0;
  text-decoration: none;
}
body.woocommerce-account .woocommerce a:hover,
body.woocommerce-cart .woocommerce a:hover,
body.woocommerce-checkout .woocommerce a:hover{
  text-decoration: underline;
}

/* notices */
body.woocommerce-account .woocommerce .woocommerce-message,
body.woocommerce-account .woocommerce .woocommerce-info,
body.woocommerce-cart .woocommerce .woocommerce-message,
body.woocommerce-cart .woocommerce .woocommerce-info,
body.woocommerce-checkout .woocommerce .woocommerce-message,
body.woocommerce-checkout .woocommerce .woocommerce-info{
  border: 1px solid var(--dyb-border);
  border-radius: 14px;
  background: var(--dyb-surface);
  padding: 14px 16px;
  box-shadow: var(--dyb-shadow-sm);
}

/* =========================================================
   MY ACCOUNT — logged-out (login/register) + logged-in dashboard
   ========================================================= */

body.woocommerce-account .woocommerce{
  max-width: 1200px;
  margin: 0 auto;
}

/* Logged-out: 2 cards grid */
body.woocommerce-account:not(.logged-in) .woocommerce{
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}
body.woocommerce-account:not(.logged-in) #customer_login{
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 18px;
  align-items: start;
  margin: 24px auto 0;
}
@media (min-width: 900px){
  body.woocommerce-account:not(.logged-in) #customer_login{
    grid-template-columns: 1fr 1fr;
    gap: 22px;
  }
}
body.woocommerce-account:not(.logged-in) #customer_login .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login .u-column2,
body.woocommerce-account:not(.logged-in) #customer_login .u-column1.col-1,
body.woocommerce-account:not(.logged-in) #customer_login .u-column2.col-2{
  float: none !important;
  width: auto !important;
  max-width: none !important;
  flex: none !important;
}
body.woocommerce-account:not(.logged-in) #customer_login .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login .u-column2{
  background: var(--dyb-surface);
  border: 1px solid var(--dyb-border);
  border-radius: var(--dyb-radius);
  padding: 22px;
  box-shadow: var(--dyb-shadow-sm);
}
body.woocommerce-account:not(.logged-in) #customer_login h2{
  margin: 0 0 14px;
  font-size: 18px;
}

/* Remember me + lost password */
body.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme{
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 10px 0 0 !important;
  font-weight: 600;
}
body.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme input{
  margin: 0 !important;
}
body.woocommerce-account .woocommerce-form-login .woocommerce-LostPassword{
  margin: 12px 0 0 !important;
}

/* Mailchimp checkbox inside register form (mc4wp) */
body.woocommerce-account #customer_login .mc4wp-checkbox{
  margin-top: 10px;
}
body.woocommerce-account #customer_login .mc4wp-checkbox label{
  display: inline-flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  font-weight: 500 !important;
  color: var(--dyb-ink-soft) !important;
}
body.woocommerce-account #customer_login .mc4wp-checkbox input{
  margin-top: 2px !important;
}

/* Logged-in: navigation + content grid */
body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content{
  float: none !important;
  width: auto !important;
}
body.woocommerce-account.logged-in .woocommerce{
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 22px;
  align-items: start;
}
@media (max-width: 900px){
  body.woocommerce-account.logged-in .woocommerce{
    grid-template-columns: 1fr;
  }
}

/* nav card */
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{
  background: var(--dyb-surface);
  border: 1px solid var(--dyb-border);
  border-radius: var(--dyb-radius);
  padding: 10px;
  box-shadow: var(--dyb-shadow-sm);
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul{
  list-style: none;
  padding: 0;
  margin: 0;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li{
  margin: 0;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 12px;
  border-radius: 12px;
  color: var(--dyb-ink) !important;
  font-weight: 600;
  text-decoration: none !important;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a:hover{
  background: var(--dyb-surface-2);
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a{
  background: #111;
  color: #fff !important;
}

/* content card */
body.woocommerce-account.logged-in .woocommerce-MyAccount-content{
  background: var(--dyb-surface);
  border: 1px solid var(--dyb-border);
  border-radius: var(--dyb-radius);
  padding: 22px;
  box-shadow: var(--dyb-shadow-sm);
}

/* tables inside account */
body.woocommerce-account .woocommerce table.shop_table{
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  border: 1px solid var(--dyb-border);
  border-radius: 14px;
  overflow: hidden;
  background: var(--dyb-surface);
}
body.woocommerce-account .woocommerce table.shop_table th,
body.woocommerce-account .woocommerce table.shop_table td{
  padding: 12px 14px;
  border-bottom: 1px solid var(--dyb-border);
}
body.woocommerce-account .woocommerce table.shop_table tr:last-child td{
  border-bottom: 0;
}

/* =========================================================
   MY ACCOUNT — Downloads table premium fix
   Target: /mon-compte/downloads/
   ========================================================= */

body.woocommerce-account .woocommerce-table--order-downloads,
body.woocommerce-account table.woocommerce-table--order-downloads,
body.woocommerce-account table.woocommerce-table.woocommerce-table--order-downloads{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
body.woocommerce-account .woocommerce-table--order-downloads th,
body.woocommerce-account .woocommerce-table--order-downloads td{
  vertical-align: middle;
}
body.woocommerce-account .woocommerce-table--order-downloads th{
  font-weight: 700;
  letter-spacing: .2px;
  white-space: nowrap;
}
body.woocommerce-account .woocommerce-table--order-downloads td.download-product{
  max-width: 520px;
}
body.woocommerce-account .woocommerce-table--order-downloads td.download-remaining,
body.woocommerce-account .woocommerce-table--order-downloads td.download-expires{
  width: 140px;
  white-space: nowrap;
  color: var(--dyb-muted);
}
body.woocommerce-account .woocommerce-table--order-downloads td.download-file{
  width: 240px;
  text-align: right;
}
body.woocommerce-account .woocommerce-table--order-downloads td.download-product a{
  display: block;
  font-weight: 600;
  color: #1d4ed8;
  text-decoration: none;
  line-height: 1.35;
  max-width: 520px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.woocommerce-account .woocommerce-table--order-downloads td.download-product a:hover{
  text-decoration: underline;
}
body.woocommerce-account .woocommerce-table--order-downloads td.download-file a.woocommerce-MyAccount-downloads-file{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  max-width: 220px;
  width: auto;
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 13px;
  line-height: 1;
  letter-spacing: .2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 900px){
  body.woocommerce-account .woocommerce-table--order-downloads td.download-file{
    width: auto;
    text-align: left;
  }
  body.woocommerce-account .woocommerce-table--order-downloads td.download-product a{
    max-width: 100%;
  }
  body.woocommerce-account .woocommerce-table--order-downloads td.download-file a.woocommerce-MyAccount-downloads-file{
    max-width: 100%;
    white-space: nowrap;
  }
}
@media (max-width: 640px){
  body.woocommerce-account .woocommerce-table--order-downloads thead{ display:none; }
  body.woocommerce-account .woocommerce-table--order-downloads tr{
    display:block;
    padding: 14px;
    border: 1px solid rgba(17, 24, 39, .08);
    border-radius: 16px;
    margin: 0 0 12px;
    background: #fff;
  }
  body.woocommerce-account .woocommerce-table--order-downloads td{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding: 10px 0;
    border:0;
  }
  body.woocommerce-account .woocommerce-table--order-downloads td:before{
    content: attr(data-title);
    font-weight:700;
    color:#111827;
    flex: 0 0 auto;
    max-width: 42%;
  }
  body.woocommerce-account .woocommerce-table--order-downloads td.download-product a{
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    text-align:right;
  }
  body.woocommerce-account .woocommerce-table--order-downloads td.download-file{
    text-align:right;
  }
  body.woocommerce-account .woocommerce-table--order-downloads td.download-file a.woocommerce-MyAccount-downloads-file{
    max-width: 210px;
  }
}

/* =========================================================
   PASSWORD "EYE" TOGGLE — visible + stable (canonical, single block)
   ========================================================= */
.woocommerce .password-input{
  position: relative !important;
  display: block !important;
  width: 100% !important;
}
.woocommerce .password-input input[type="password"],
.woocommerce .password-input input[type="text"]{
  padding-right: 56px !important;
}
.woocommerce button.show-password-input{
  position: absolute !important;
  top: 50% !important;
  right: 12px !important;
  transform: translateY(-50%) !important;
  width: 40px !important;
  height: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  border: 1px solid rgba(0,0,0,.15) !important;
  background: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.06) !important;
  z-index: 5 !important;
  cursor: pointer !important;
}
.woocommerce button.show-password-input::after{
  color: #111 !important;
  opacity: 1 !important;
  filter: none !important;
}
/* Fallback icon if theme/plugin killed Woo icon font */
.woocommerce button.show-password-input::after{
  content: "👁" !important;
  font-size: 16px !important;
  line-height: 1 !important;
}
.woocommerce button.show-password-input:hover{
  border-color: rgba(0,0,0,.28) !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.08) !important;
}
.woocommerce button.show-password-input:focus{
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0,0,0,.12) !important;
}

/* =========================================================
   CART (/fr/panier/) — canonical premium layout
   Fixes: narrow column, messy wraps, coupon/actions alignment
   ========================================================= */
body.woocommerce-cart .woocommerce{
  max-width: 1200px;
  margin: 0 auto;
  width: 100% !important;
}
@media (min-width: 1024px){
  body.woocommerce-cart .woocommerce{
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 22px;
    align-items: start;
  }
}

/* cart form card */
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart form.woocommerce-cart-form{
  background: var(--dyb-surface);
  border: 1px solid var(--dyb-border);
  border-radius: var(--dyb-radius);
  padding: 18px;
  box-shadow: var(--dyb-shadow-sm);
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: visible !important; /* no forced horizontal scroll */
}

/* Elementor cart shortcode sometimes sits inside a narrow column: force full width */
body.woocommerce-cart .elementor-widget-shortcode,
body.woocommerce-cart .elementor-widget-shortcode .elementor-shortcode,
body.woocommerce-cart .elementor-widget-shortcode .woocommerce,
body.woocommerce-cart .elementor-widget-shortcode .woocommerce-cart-form,
body.woocommerce-cart .elementor-widget-shortcode form.woocommerce-cart-form{
  width: 100% !important;
  max-width: 100% !important;
}
body.woocommerce-cart .elementor-column,
body.woocommerce-cart .elementor-column-wrap,
body.woocommerce-cart .elementor-widget-wrap{
  min-width: 0 !important;
}

/* cart table */
body.woocommerce-cart table.shop_table{
  border: 0;
  width: 100% !important;
  background: transparent;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed; /* stops crazy column width behavior */
}
body.woocommerce-cart table.shop_table th,
body.woocommerce-cart table.shop_table td{
  border-bottom: 1px solid var(--dyb-border);
  padding: 14px 10px;
  vertical-align: middle;
  white-space: normal !important;
  word-break: break-word;
  overflow-wrap: anywhere;
}
body.woocommerce-cart table.shop_table tr:last-child td{
  border-bottom: 0;
}

/* sensible column sizing on desktop/tablet */
@media (min-width: 992px){
  body.woocommerce-cart table.shop_table th.product-remove,
  body.woocommerce-cart table.shop_table td.product-remove{ width: 48px; }
  body.woocommerce-cart table.shop_table th.product-thumbnail,
  body.woocommerce-cart table.shop_table td.product-thumbnail{ width: 96px; }
  body.woocommerce-cart table.shop_table th.product-price,
  body.woocommerce-cart table.shop_table td.product-price{ width: 120px; }
  body.woocommerce-cart table.shop_table th.product-quantity,
  body.woocommerce-cart table.shop_table td.product-quantity{ width: 120px; }
  body.woocommerce-cart table.shop_table th.product-subtotal,
  body.woocommerce-cart table.shop_table td.product-subtotal{ width: 140px; }
}

body.woocommerce-cart .product-thumbnail img{
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid var(--dyb-border);
}
body.woocommerce-cart .product-name a{
  font-weight: 700;
  color: var(--dyb-ink) !important;
  line-height: 1.35 !important;
}
body.woocommerce-cart .product-name dl.variation{
  margin-top: 8px;
  font-size: 13px;
  color: var(--dyb-muted);
}
body.woocommerce-cart .product-name dl.variation dt{ font-weight: 600; }
body.woocommerce-cart .product-name dl.variation dd{ margin: 0 0 6px; }

body.woocommerce-cart .quantity input.qty{
  width: 92px !important;
  text-align: center;
}

/* cart actions */
body.woocommerce-cart table.shop_table td.actions{
  padding-top: 18px !important;
}
body.woocommerce-cart table.shop_table td.actions .coupon{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
  width: 100% !important;
}
body.woocommerce-cart table.shop_table td.actions .coupon input.input-text{
  flex: 1 1 260px !important;
  min-width: 220px !important;
  height: 44px !important;
  line-height: 44px !important;
}
body.woocommerce-cart table.shop_table td.actions .coupon button{
  flex: 0 0 auto !important;
  height: 44px !important;
  line-height: 44px !important;
  padding: 0 18px !important;
}
body.woocommerce-cart button[name="update_cart"]{
  background: #2b2b2b;
  margin-top: 12px !important;
  float: none !important;
  display: inline-flex !important;
}

/* totals sidebar */
body.woocommerce-cart .cart-collaterals{
  background: var(--dyb-surface);
  border: 1px solid var(--dyb-border);
  border-radius: var(--dyb-radius);
  padding: 18px;
  box-shadow: var(--dyb-shadow-sm);
}
body.woocommerce-cart .cart_totals h2{
  font-size: 18px;
  margin-bottom: 12px;
}
body.woocommerce-cart .cart_totals table{ border: 0; }
body.woocommerce-cart .cart_totals th,
body.woocommerce-cart .cart_totals td{ padding: 10px 0; }
body.woocommerce-cart .wc-proceed-to-checkout{ margin-top: 14px; }
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  width: 100%;
}

/* Mobile: stack actions cleanly */
@media (max-width: 767px){
  body.woocommerce-cart table.shop_table{
    table-layout: auto !important;
  }
  body.woocommerce-cart table.shop_table td.actions .coupon{
    flex-direction: column !important;
    align-items: stretch !important;
  }
  body.woocommerce-cart table.shop_table td.actions .coupon input.input-text,
  body.woocommerce-cart table.shop_table td.actions .coupon button,
  body.woocommerce-cart table.shop_table td.actions button[name="update_cart"]{
    width: 100% !important;
  }
}

/* =========================================================
   CHECKOUT (/fr/commande/) — premium layout
   ========================================================= */
body.woocommerce-checkout .woocommerce{
  max-width: 1200px;
  margin: 0 auto;
}
body.woocommerce-checkout form.woocommerce-checkout{
  display: block;
}
@media (min-width: 1024px){
  body.woocommerce-checkout form.woocommerce-checkout{
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 22px;
    align-items: start;
  }
  body.woocommerce-checkout #customer_details{ grid-column: 1; }
  body.woocommerce-checkout #order_review{
    grid-column: 2;
    position: sticky;
    top: 120px;
  }
}

/* fix theme floats in checkout columns */
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2{
  float: none !important;
  width: auto !important;
}

/* billing/shipping card */
body.woocommerce-checkout #customer_details{
  background: var(--dyb-surface);
  border: 1px solid var(--dyb-border);
  border-radius: var(--dyb-radius);
  padding: 22px;
  box-shadow: var(--dyb-shadow-sm);
}

/* order review card */
body.woocommerce-checkout #order_review{
  background: var(--dyb-surface);
  border: 1px solid var(--dyb-border);
  border-radius: var(--dyb-radius);
  padding: 18px;
  box-shadow: var(--dyb-shadow-sm);
}
body.woocommerce-checkout #order_review_heading{
  margin: 0 0 12px;
  font-size: 18px;
}
body.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table{
  border: 0;
  width: 100%;
}
body.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table th,
body.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table td{
  padding: 10px 0;
  border-bottom: 1px solid var(--dyb-border);
}
body.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tr:last-child td{
  border-bottom: 0;
}
body.woocommerce-checkout #place_order{ width: 100%; }

/* payment box */
body.woocommerce-checkout #payment{ background: transparent; }
body.woocommerce-checkout #payment ul.payment_methods{
  border: 0;
  padding: 0;
}
body.woocommerce-checkout .woocommerce-privacy-policy-text{
  color: var(--dyb-muted);
  font-size: 13px;
}

/* =========================================================
   WISHLIST (/fr/favoris/) — YITH
   ========================================================= */
body.woocommerce-wishlist .wishlist_table,
body.woocommerce-wishlist table.shop_table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--dyb-surface);
  border: 1px solid var(--dyb-border);
  border-radius: var(--dyb-radius);
  overflow: hidden;
  box-shadow: var(--dyb-shadow-sm);
}
body.woocommerce-wishlist .wishlist_table th,
body.woocommerce-wishlist .wishlist_table td{
  padding: 14px;
  border-bottom: 1px solid var(--dyb-border);
}
body.woocommerce-wishlist .wishlist_table tr:last-child td{
  border-bottom: 0;
}
body.woocommerce-wishlist .wishlist_table a{
  font-weight: 700;
}

/* =========================================================
   SEARCH results (?s=...&post_type=product)
   ========================================================= */
body.search.post-type-archive-product .woocommerce ul.products,
body.search.woocommerce .woocommerce ul.products{
  margin-top: 16px;
}

/* =========================================================
   MINI CART (Header dropdown) — Premium / clean
   Targets: #ac-cart-panel + Woo mini-cart markup
   ========================================================= */
#ac-cart-panel.ac-cart-panel{
  width: 380px;
  max-width: calc(100vw - 24px);
}
#ac-cart-panel .ac-dd-inner{
  background: #fff;
  border: 1px solid #e9e9ee;
  border-radius: 16px;
  box-shadow: 0 18px 40px rgba(0,0,0,.12);
  overflow: hidden;
}
#ac-cart-panel .ac-dd-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid #eee;
}
#ac-cart-panel .ac-dd-title{
  font-weight: 700;
  font-size: 14px;
  letter-spacing: .2px;
}
#ac-cart-panel .ac-dd-link{
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid #e9e9ee;
  background: #fafafb;
  color: #111;
}
#ac-cart-panel .ac-dd-link:hover{ background:#f3f4f6; }
#ac-cart-panel .ac-dd-body{
  padding: 10px 12px 12px;
  max-height: min(66vh, 520px);
  overflow: auto;
}
#ac-cart-panel ul.woocommerce-mini-cart{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
#ac-cart-panel li.woocommerce-mini-cart-item{
  position: relative;
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 10px;
  padding: 12px;
  border: 1px solid #eee;
  border-radius: 14px;
  background: #fff;
}
#ac-cart-panel li.woocommerce-mini-cart-item img{
  width: 56px !important;
  height: 56px !important;
  border-radius: 12px;
  object-fit: cover;
  margin: 0 !important;
}
#ac-cart-panel li.woocommerce-mini-cart-item > a:not(.remove){
  display: block;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.25;
  color: #111;
  text-decoration: none;
}
#ac-cart-panel a.remove.remove_from_cart_button{
  position: absolute;
  top: 10px;
  right: 10px;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  border: 1px solid #ececf2;
  background: #fff;
  color: #111 !important;
  text-decoration: none;
  font-size: 18px;
  line-height: 1;
}
#ac-cart-panel a.remove.remove_from_cart_button:hover{ background:#f3f4f6; }
#ac-cart-panel dl.variation{
  grid-column: 2 / -1;
  margin: 6px 0 0;
  padding: 8px 10px;
  border-radius: 12px;
  background: #fafafb;
  border: 1px solid #efeff5;
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
}
#ac-cart-panel dl.variation dt{
  font-size: 11px;
  font-weight: 700;
  color: #444;
}
#ac-cart-panel dl.variation dd{
  margin: 0;
  padding: 0;
  font-size: 12px;
  color: #111;
}
#ac-cart-panel dl.variation dd p{ margin: 0; }
#ac-cart-panel span.quantity{
  grid-column: 2 / -1;
  margin-top: 8px;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap: 10px;
  font-size: 12px;
  color: #333;
}
#ac-cart-panel span.quantity .amount{
  font-weight: 800;
  color: #111;
}
#ac-cart-panel p.woocommerce-mini-cart__total.total{
  margin: 12px 0 0;
  padding: 12px;
  border-top: 1px solid #eee;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  font-size: 13px;
}
#ac-cart-panel p.woocommerce-mini-cart__total.total strong{ font-weight: 800; }
#ac-cart-panel p.woocommerce-mini-cart__buttons.buttons{
  margin: 10px 0 0;
  padding: 0 12px 12px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
#ac-cart-panel p.woocommerce-mini-cart__buttons a.button{
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 12px 12px;
  border-radius: 12px;
  font-weight: 800;
  font-size: 13px;
  text-decoration: none;
  border: 1px solid #111;
  background: #fff;
  color: #111;
  min-height: 44px;
}
#ac-cart-panel p.woocommerce-mini-cart__buttons a.button.checkout{
  background: #111;
  color: #fff;
}
#ac-cart-panel p.woocommerce-mini-cart__buttons a.button:hover{ filter: brightness(.98); }
@media (max-width: 420px){
  #ac-cart-panel p.woocommerce-mini-cart__buttons.buttons{
    grid-template-columns: 1fr;
  }
}
