/* =========================================================
   CSC — PANIER V3
   Structure WooCommerce conservée, style robuste
   ========================================================= */

.csc-cart-page{
  background:#fff;
  font-family:var(--csc-font,Montserrat,Arial,sans-serif);
}
.csc-cart-page svg{
  fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}

/* HERO */
.csc-cart-hero{
  position:relative;
  padding:58px 0 34px;
  background:linear-gradient(180deg,#f7fbfe 0%,#fff 94%);
  overflow:hidden;
}
.csc-cart-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);
  align-items:center;
  gap:52px;
  min-height:390px;
}
.csc-cart-hero__copy{max-width:740px}
.csc-cart-hero h1{
  margin:11px 0 18px;
  font-size:clamp(48px,5vw,76px);
  line-height:.98;
  letter-spacing:-.055em;
  color:var(--csc-text);
}
.csc-cart-hero h1 strong{color:var(--csc-primary);font-weight:900}
.csc-cart-hero p{
  max-width:650px;margin:0;color:var(--csc-text-light);
  font-size:16px;line-height:1.8;
}
.csc-cart-hero__scene{color:var(--csc-primary)}
.csc-cart-hero__scene svg{display:block;width:100%;height:auto;overflow:visible}
.csc-cart-cloud{fill:#fff;stroke:none;filter:drop-shadow(0 10px 18px rgba(74,147,200,.10))}
.csc-cart-cloud--one{animation:cscCartCloud 11s ease-in-out infinite alternate}
.csc-cart-cloud--two{animation:cscCartCloud 14s ease-in-out infinite alternate-reverse}
.csc-cart-shop path:first-child{fill:#f3f9fc}
.csc-cart-bag path:first-child{fill:#fff}
.csc-cart-heart{fill:#efbf93;stroke:none;transform-box:fill-box;transform-origin:center;animation:cscCartHeart 2.6s ease-in-out infinite}
.csc-cart-ground{stroke:#c6dfea;stroke-width:3}
@keyframes cscCartCloud{from{transform:translateX(-5px)}to{transform:translateX(13px)}}
@keyframes cscCartHeart{0%,100%{transform:scale(1)}15%{transform:scale(1.12)}28%{transform:scale(1)}}

/* LAYOUT */
.csc-cart-content{padding:34px 0 94px}
.csc-cart-content .woocommerce{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);
  gap:42px;
  align-items:start;
}
.csc-cart-content .woocommerce-notices-wrapper{grid-column:1/-1}
.csc-cart-content .woocommerce-cart-form{grid-column:1;min-width:0}
.csc-cart-content .cart-collaterals{
  grid-column:2;
  grid-row:2;
  position:sticky;
  top:110px;
}
.csc-cart-content .cart-collaterals,
.csc-cart-content .cart-collaterals .cart_totals{
  width:auto!important;
  float:none!important;
}

/* TABLE PANIER DESKTOP */
.csc-cart-content table.shop_table{
  width:100%!important;
  border:1px solid var(--csc-border)!important;
  border-radius:20px!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  overflow:hidden;
  background:#fff;
  margin:0!important;
}
.csc-cart-content table.shop_table thead{
  background:#f7fafc;
}
.csc-cart-content table.shop_table th{
  padding:14px 12px!important;
  border:0!important;
  border-bottom:1px solid var(--csc-border)!important;
  color:var(--csc-text-light);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.csc-cart-content table.shop_table td{
  padding:16px 12px!important;
  border:0!important;
  border-bottom:1px solid #edf2f4!important;
  vertical-align:middle!important;
  background:#fff!important;
}
.csc-cart-content table.shop_table tr:last-child td{border-bottom:0!important}
.csc-cart-content .product-thumbnail{width:96px}
.csc-cart-content .product-thumbnail img{
  width:82px!important;height:82px!important;
  object-fit:cover;border-radius:14px;background:#f4f8fa;
}
.csc-cart-content .product-name a{
  color:var(--csc-text);
  text-decoration:none;
  font-size:15px;
  font-weight:900;
  letter-spacing:-.015em;
}
.csc-cart-content .product-name dl.variation{
  margin:7px 0 0;
  font-size:10px;
  color:var(--csc-text-light);
}
.csc-cart-content .product-price{
  white-space:nowrap;
  color:var(--csc-text-light);
  font-size:12px;
}
.csc-cart-content .product-subtotal{
  white-space:nowrap;
  color:var(--csc-text);
  font-size:14px;
  font-weight:900;
}
.csc-cart-content .quantity .qty{
  width:72px!important;
  min-height:44px;
  border:1px solid var(--csc-border)!important;
  border-radius:12px!important;
  background:#fff!important;
  padding:0 8px!important;
  font-size:14px!important;
}
.csc-cart-content .product-remove{width:44px;text-align:center}
.csc-cart-content .product-remove a{
  width:32px;height:32px;
  display:inline-grid!important;
  place-items:center;
  border-radius:50%;
  background:#fff0ee!important;
  color:#c45247!important;
  font-size:20px!important;
  line-height:1!important;
}

/* ACTIONS */
.csc-cart-content td.actions{
  padding:16px!important;
  background:#fbfcfd!important;
}
.csc-cart-content td.actions:after{content:"";display:block;clear:both}
.csc-cart-content .coupon{
  float:left!important;
  display:flex!important;
  align-items:center;
  gap:8px;
}
.csc-cart-content .coupon[hidden]{display:none!important}
.csc-cart-content .coupon input{
  width:200px!important;
  min-height:44px!important;
  border:1px solid var(--csc-border)!important;
  border-radius:12px!important;
  background:#fff!important;
  padding:0 12px!important;
}
.csc-cart-content button.button{
  min-height:44px!important;
  border:0!important;
  border-radius:12px!important;
  background:var(--csc-primary)!important;
  color:#fff!important;
  padding:0 15px!important;
  font-size:12px!important;
  font-weight:900!important;
}
.csc-cart-content td.actions > button.button{
  float:right!important;
}
.csc-cart-content button.button:disabled{
  opacity:.45!important;
  background:#9fcbe3!important;
}
.csc-cart-coupon{
  margin:14px 0 0;
}
.csc-cart-coupon__toggle{
  min-height:42px;
  padding:0 13px;
  border:1px solid var(--csc-border);
  border-radius:12px;
  background:#fff;
  color:var(--csc-text);
  font:inherit;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}

/* TOTAL */
.csc-cart-content .cart_totals{
  padding:24px!important;
  border:1px solid var(--csc-border)!important;
  border-radius:20px!important;
  background:#fff;
  box-shadow:0 16px 38px rgba(31,70,94,.07);
}
.csc-cart-content .cart_totals h2{
  margin:0 0 16px;
  font-size:28px;
  line-height:1;
  letter-spacing:-.04em;
}
.csc-cart-content .cart_totals table{
  border:0!important;
  margin:0 0 18px!important;
}
.csc-cart-content .cart_totals th,
.csc-cart-content .cart_totals td{
  padding:12px 0!important;
  border:0!important;
  border-top:1px solid #edf2f4!important;
  background:transparent!important;
  font-size:12px;
}
.csc-cart-content .cart_totals tr:first-child th,
.csc-cart-content .cart_totals tr:first-child td{border-top:0!important}
.csc-cart-content .cart_totals th{
  color:var(--csc-text-light);
  font-weight:700;
}
.csc-cart-content .cart_totals td{
  text-align:right;
  font-weight:900;
}
.csc-cart-content .order-total th,
.csc-cart-content .order-total td{
  font-size:14px!important;
  color:var(--csc-text)!important;
}
.csc-cart-content .wc-proceed-to-checkout{padding:8px 0 0!important}
.csc-cart-content .checkout-button{
  min-height:54px!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  margin:0!important;
  border-radius:14px!important;
  background:var(--csc-primary)!important;
  font-size:14px!important;
  font-weight:900!important;
}
.csc-cart-content .checkout-button:hover{background:var(--csc-primary-hover)!important}

/* NOTICES */
.csc-cart-content .woocommerce-message,
.csc-cart-content .woocommerce-info,
.csc-cart-content .woocommerce-error{
  border:0!important;
  border-radius:14px!important;
  background:#f5f9fb!important;
  color:var(--csc-text)!important;
  box-shadow:none!important;
}

/* MOBILE */
@media(max-width:1050px){
  .csc-cart-hero__grid{grid-template-columns:1fr;min-height:auto}
  .csc-cart-hero__scene{max-width:700px;margin:0 auto}
  .csc-cart-content .woocommerce{grid-template-columns:1fr}
  .csc-cart-content .woocommerce-cart-form,
  .csc-cart-content .cart-collaterals{
    grid-column:1;
    grid-row:auto;
  }
  .csc-cart-content .cart-collaterals{position:static}
}
@media(max-width:760px){
  .csc-cart-hero{padding:42px 0 18px}
  .csc-cart-hero h1{font-size:46px}

  .csc-cart-content table.shop_table,
  .csc-cart-content table.shop_table tbody,
  .csc-cart-content table.shop_table tr,
  .csc-cart-content table.shop_table td{
    display:block!important;
    width:100%!important;
  }
  .csc-cart-content table.shop_table thead{display:none!important}
  .csc-cart-content table.shop_table{
    border:0!important;
    background:transparent;
  }
  .csc-cart-content table.shop_table tbody tr.woocommerce-cart-form__cart-item{
    position:relative;
    display:grid!important;
    grid-template-columns:76px minmax(0,1fr);
    gap:8px 12px;
    margin-bottom:12px;
    padding:12px 46px 12px 12px;
    border:1px solid var(--csc-border);
    border-radius:16px;
    background:#fff;
  }
  .csc-cart-content table.shop_table tbody tr.woocommerce-cart-form__cart-item td{
    display:block!important;
    border:0!important;
    padding:0!important;
  }
  .csc-cart-content .product-thumbnail{grid-row:1/5;grid-column:1}
  .csc-cart-content .product-name,
  .csc-cart-content .product-price,
  .csc-cart-content .product-quantity,
  .csc-cart-content .product-subtotal{grid-column:2}
  .csc-cart-content .product-thumbnail img{
    width:76px!important;height:76px!important;
  }
  .csc-cart-content .product-remove{
    position:absolute;
    right:10px;
    top:10px;
    width:32px!important;
  }
  .csc-cart-content td.actions{
    display:flex!important;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    margin-top:12px;
    border:1px solid var(--csc-border)!important;
    border-radius:14px;
  }
  .csc-cart-content .coupon{
    float:none!important;
    width:100%;
  }
  .csc-cart-content .coupon input{
    flex:1;
    min-width:0!important;
    width:auto!important;
  }
  .csc-cart-content td.actions > button.button{
    float:none!important;
    width:100%;
  }
}

@media(prefers-reduced-motion:reduce){
  .csc-cart-cloud,.csc-cart-heart{animation:none!important}
}


/* =========================================================
   V6 — LARGEUR DE CONTENU CENTRÉE
   ========================================================= */

/*
 * Garde-fou local : même si le wrapper global du thème n'est pas chargé
 * ou est écrasé par WooCommerce, le parcours panier/checkout reste centré.
 */
.csc-cart-page .csc-wrap--hero{
  width:min(100% - 48px, 1380px)!important;
  max-width:1380px!important;
  margin-inline:auto!important;
  padding-inline:0!important;
}

@media(max-width:760px){
  .csc-cart-page .csc-wrap--hero{
    width:min(100% - 28px, 1380px)!important;
  }
}

/* =========================================================
   CSC — Livraison dans le récapitulatif du panier
   Ne change ni les formulaires ni le calcul WooCommerce.
   ========================================================= */
.csc-cart-content .cart_totals .shop_table{width:100%!important;table-layout:auto!important}
.csc-cart-content .cart_totals .shop_table th{width:32%;min-width:110px;white-space:normal;word-break:normal;overflow-wrap:normal;vertical-align:top;text-transform:none;letter-spacing:0}
.csc-cart-content .cart_totals .shop_table td{width:68%;min-width:0;vertical-align:top;overflow-wrap:normal;word-break:normal}
.csc-cart-content .cart_totals .woocommerce-shipping-totals td{text-align:left!important}
.csc-cart-content .cart_totals ul#shipping_method,
.csc-cart-content .cart_totals ul.woocommerce-shipping-methods{list-style:none!important;margin:0 0 10px!important;padding:0!important;display:grid;gap:9px}
.csc-cart-content .cart_totals ul#shipping_method > li,
.csc-cart-content .cart_totals ul.woocommerce-shipping-methods > li{list-style:none!important;display:flex;align-items:flex-start;gap:8px;margin:0!important;padding:0!important;line-height:1.45;text-align:left}
.csc-cart-content .cart_totals ul#shipping_method > li::before,
.csc-cart-content .cart_totals ul.woocommerce-shipping-methods > li::before{content:none!important;display:none!important}
.csc-cart-content .cart_totals ul#shipping_method input[type="radio"],
.csc-cart-content .cart_totals ul.woocommerce-shipping-methods input[type="radio"]{flex:0 0 auto;width:16px;height:16px;margin:2px 0 0!important;accent-color:var(--csc-primary,#4895ce)}
.csc-cart-content .cart_totals ul#shipping_method label,
.csc-cart-content .cart_totals ul.woocommerce-shipping-methods label{display:block;flex:1;min-width:0;margin:0!important;font-size:12px;line-height:1.5;cursor:pointer;overflow-wrap:break-word}
.csc-cart-content .cart_totals .woocommerce-shipping-destination,
.csc-cart-content .cart_totals .woocommerce-shipping-calculator{font-size:12px;line-height:1.55;text-align:left;margin:9px 0 0!important}
.csc-cart-content .cart_totals .shipping-calculator-button{color:var(--csc-primary,#4895ce);font-weight:800}
@media(max-width:540px){
  .csc-cart-content .cart_totals{padding:16px!important}
  .csc-cart-content .cart_totals .shop_table th{width:33%;min-width:0;font-size:11px!important}
  .csc-cart-content .cart_totals .shop_table td{width:67%;font-size:12px!important}
}
