/* ============================================================
   FD — Panier & commande
   ============================================================ */

/* ---------- Titre ---------- */
.woocommerce-cart .fd-container > h1,
.woocommerce-checkout .fd-container > h1{ /* sécurité si WooCommerce imprime un titre */ }

.fd-page-title{
  font-family:var(--fd-font-display);font-size:clamp(30px,4.4vw,54px);
  text-transform:uppercase;letter-spacing:-.03em;line-height:.95;
  padding:30px 0 22px;margin:0;border-bottom:1px solid var(--fd-line);
}

/* ---------- Layout panier ---------- */
.fd-cart-layout{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:start;padding:26px 0 60px}
.fd-cart-main{min-width:0}
.fd-cart-aside{position:sticky;top:calc(var(--fd-header-h) + 16px)}

/* ---------- Lignes ---------- */
.fd-cart-lines{border:1px solid var(--fd-line)}
.fd-cart-lines__head{
  display:grid;grid-template-columns:1fr 120px 120px;gap:12px;
  background:var(--fd-paper);padding:11px 16px;border-bottom:1px solid var(--fd-line);
  font-family:var(--fd-font-mono);font-size:10px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--fd-grey);
}
.fd-cart-lines__head span:last-child{text-align:right}

.fd-cart-line{
  display:grid;grid-template-columns:1fr 120px 120px;gap:12px;align-items:center;
  padding:16px;border-bottom:1px solid var(--fd-line);position:relative;background:#fff;
}
.fd-cart-line:last-of-type{border-bottom:0}

.fd-cart-line__prod{display:flex;gap:14px;align-items:flex-start;min-width:0}
.fd-cart-line__remove{
  width:24px;height:24px;flex:none;display:grid;place-items:center;
  border:var(--fd-bw) solid var(--fd-line);color:var(--fd-grey);font-size:15px;line-height:1;
  margin-top:26px;transition:.15s;
}
.fd-cart-line__remove:hover{background:var(--fd-red);border-color:var(--fd-red);color:#fff}
.fd-cart-line__thumb{width:76px;flex:none;aspect-ratio:1;background:var(--fd-paper);border:1.5px solid var(--fd-line);padding:5px;display:block}
.fd-cart-line__thumb img{width:100%;height:100%;object-fit:contain}
.fd-cart-line__info{min-width:0}
.fd-cart-line__name{display:block;font-size:13.5px;font-weight:700;line-height:1.32;margin-bottom:4px}
.fd-cart-line__name:hover{text-decoration:underline}
.fd-cart-line__meta{font-size:11.5px;color:var(--fd-grey);line-height:1.5}
.fd-cart-line__meta p{margin:0}
.fd-cart-line__unit{font-family:var(--fd-font-mono);font-size:10.5px;color:var(--fd-grey);margin-top:5px;letter-spacing:.02em}

.fd-cart-line__qty .quantity{display:block}
.fd-cart-line__qty input.qty{
  width:64px;height:40px;text-align:center;border:1px solid var(--fd-line);
  font-family:var(--fd-font-sans);font-weight:800;font-size:13px;background:#fff;
}
.fd-cart-line__total{text-align:right;font-family:var(--fd-font-display);font-size:19px;letter-spacing:-.02em}
.fd-cart-line__total small{display:block;font-family:var(--fd-font-sans);font-size:11px;color:var(--fd-grey);text-decoration:line-through}

/* ---------- Actions ---------- */
.fd-cart-actions{
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:14px 16px;border-top:1px solid var(--fd-line);background:var(--fd-paper);
}
.fd-cart-coupon{display:flex;border:1px solid var(--fd-line);background:#fff;flex:1;max-width:320px}
.fd-cart-coupon input{flex:1;border:0;outline:0;padding:11px 12px;font-size:12.5px;min-width:0}
.fd-cart-coupon button{
  border:0;border-left:1px solid var(--fd-line);background:#fff;
  font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:0 16px;
}
.fd-cart-coupon button:hover{background:var(--fd-ink);color:#fff}
.fd-cart-update{
  background:var(--fd-ink);color:#fff;border:1px solid var(--fd-line);
  font-weight:900;font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;padding:12px 22px;
}
.fd-cart-update:hover{background:var(--fd-red);border-color:var(--fd-red)}
.fd-cart-update:disabled{opacity:.35;cursor:not-allowed}

/* ---------- Totaux ---------- */
.fd-cart-totals{border:1px solid var(--fd-line)}
.fd-cart-totals .cart_totals h2{
  background:var(--fd-ink);color:#fff;padding:14px 18px;margin:0;
  font-family:var(--fd-font-display);font-size:14px;text-transform:uppercase;
}
.fd-cart-totals .shop_table{width:100%;border:0;margin:0}
.fd-cart-totals .shop_table th,
.fd-cart-totals .shop_table td{
  padding:12px 18px;border-bottom:1px solid var(--fd-line);text-align:left;
  font-size:12.5px;font-weight:600;
}
.fd-cart-totals .shop_table td{text-align:right;font-weight:800}
.fd-cart-totals .order-total th,
.fd-cart-totals .order-total td{
  border-bottom:0;border-top:1px solid var(--fd-line);
  font-family:var(--fd-font-display);font-size:20px;letter-spacing:-.02em;padding:16px 18px;
}
.fd-cart-totals .fd-cart-hint th{
  background:var(--fd-paper);font-size:11.5px;font-weight:700;color:var(--fd-ink-soft);
  border-bottom:1px solid var(--fd-line);text-align:left;
}
.fd-cart-totals .cart-discount th,
.fd-cart-totals .cart-discount td{color:var(--fd-red)}
.fd-cart-totals .cart-discount .amount{color:var(--fd-red)}

.fd-cart-totals .wc-proceed-to-checkout a.checkout-button{
  display:block;width:100%;padding:20px;text-align:center;
  background:var(--fd-red);color:#fff;border:1px solid var(--fd-line);
  font-family:var(--fd-font-sans);font-weight:900;font-size:14px;text-transform:uppercase;
  letter-spacing:.08em;box-shadow:var(--fd-shadow-hard);
  transition:transform var(--fd-t-fast) var(--fd-ease),box-shadow var(--fd-t-fast) var(--fd-ease);
}
.fd-cart-totals .wc-proceed-to-checkout a.checkout-button:hover{
  transform:translate(3px,3px);box-shadow:2px 2px 0 var(--fd-ink);
}

.fd-cart-assure{margin-top:16px;border:1px solid var(--fd-line);padding:14px;display:flex;flex-direction:column;gap:11px}

/* ---------- Notices ---------- */
.woocommerce-cart .woocommerce-notices-wrapper:empty{display:none}
.fd-container .woocommerce-message,
.fd-container .woocommerce-info,
.fd-container .woocommerce-error{
  list-style:none;margin:16px 0;padding:14px 16px;border:1px solid var(--fd-line);
  background:var(--fd-paper);font-size:13px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;
}
.fd-container .woocommerce-message::before,
.fd-container .woocommerce-info::before,
.fd-container .woocommerce-error::before{display:none}
.fd-container .woocommerce-message .button,
.fd-container .woocommerce-info .button{
  margin-left:auto;background:var(--fd-ink);color:#fff;border:1px solid var(--fd-line);
  padding:8px 14px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;
}
.fd-container .woocommerce-error{background:#FFF3F0;border-color:var(--fd-red)}

/* ---------- Responsive panier ---------- */
@media (max-width:1024px){
  .fd-cart-layout{grid-template-columns:1fr;gap:24px}
  .fd-cart-aside{position:static}
  .fd-cart-lines__head{display:none}
  .fd-cart-line{grid-template-columns:1fr auto;grid-template-areas:"prod total" "qty qty";row-gap:10px}
  .fd-cart-line__prod{grid-area:prod}
  .fd-cart-line__qty{grid-area:qty}
  .fd-cart-line__total{grid-area:total}
}

/* ============================================================
   COMMANDE
   ============================================================ */
.woocommerce-checkout form.checkout{
  display:grid;grid-template-columns:1fr 400px;gap:40px;align-items:start;
  padding:26px 0 60px;
}
.woocommerce-checkout #customer_details{grid-column:1;min-width:0}
.woocommerce-checkout #order_review_heading{display:none}
.woocommerce-checkout #order_review{
  grid-column:2;grid-row:1;border:1px solid var(--fd-line);
  position:sticky;top:calc(var(--fd-header-h) + 16px);
}
.woocommerce-checkout #order_review .shop_table{
  border:0;margin:0;width:100%;
}
.woocommerce-checkout #order_review .shop_table thead th{
  background:var(--fd-ink);color:#fff;padding:12px 16px;
  font-family:var(--fd-font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
}
.woocommerce-checkout #order_review .shop_table td,
.woocommerce-checkout #order_review .shop_table th{padding:11px 16px;border-bottom:1px solid var(--fd-line);font-size:12.5px}
.woocommerce-checkout #order_review .shop_table .order-total td,
.woocommerce-checkout #order_review .shop_table .order-total th{
  border-top:1px solid var(--fd-line);border-bottom:0;
  font-family:var(--fd-font-display);font-size:19px;letter-spacing:-.02em;
}
.woocommerce-checkout #payment{
  border:0;background:transparent;border-radius:0;
}
.woocommerce-checkout #payment ul.payment_methods{
  border:1px solid var(--fd-line);border-top:0;padding:14px;background:#fff;
}
.woocommerce-checkout #payment div.payment_box{
  background:var(--fd-paper);border:1px solid var(--fd-line);
}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #place_order{
  width:100%;padding:20px;background:var(--fd-red);color:#fff;
  border:1px solid var(--fd-line);border-radius:0;
  font-family:var(--fd-font-sans);font-weight:900;font-size:14px;
  text-transform:uppercase;letter-spacing:.08em;box-shadow:var(--fd-shadow-hard);
}
.woocommerce-checkout #place_order:hover{background:var(--fd-red-dark)}

/* Champs */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3{
  font-family:var(--fd-font-display);font-size:16px;text-transform:uppercase;margin:0 0 14px;
}
.woocommerce-checkout .form-row{margin-bottom:14px;padding:0}
.woocommerce-checkout .form-row label{
  display:block;font-family:var(--fd-font-mono);font-size:10px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;
}
.woocommerce-checkout .form-row .required{color:var(--fd-red);text-decoration:none}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea{
  width:100%;padding:13px 14px;border:1px solid var(--fd-line);
  border-radius:0;background:#fff;font-size:13px;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus{outline:3px solid var(--fd-red);outline-offset:1px}
.woocommerce-checkout .form-row.woocommerce-invalid input,
.woocommerce-checkout .form-row.woocommerce-invalid select{border-color:var(--fd-red)}

@media (max-width:1024px){
  .woocommerce-checkout form.checkout{grid-template-columns:1fr;gap:24px}
  .woocommerce-checkout #order_review{grid-column:1;grid-row:auto;position:static;order:2}
  .woocommerce-checkout #customer_details{order:1}
}

/* ============================================================
   Correctifs panier / commande
   ============================================================ */

/* Le panier occupe toute la largeur du conteneur */
.woocommerce-cart .fd-entry__content,
.woocommerce-checkout .fd-entry__content{max-width:100%!important}
.fd-cart-layout{max-width:100%}

/* ---------- Totaux : colonnes propres ---------- */
.fd-cart-totals .shop_table th{
  text-align:left!important;width:62%;vertical-align:top;
  font-family:var(--fd-font-sans);font-weight:600!important;
}
.fd-cart-totals .shop_table td{
  text-align:right!important;width:38%;vertical-align:top;
}
.fd-cart-totals .shop_table tr + tr th,
.fd-cart-totals .shop_table tr + tr td{border-top:1px solid var(--fd-line)}

/* Ligne d'expédition */
.fd-cart-totals .woocommerce-shipping-totals th{font-weight:700!important}
.fd-cart-totals .woocommerce-shipping-totals td{
  font-weight:600!important;font-size:11.5px!important;line-height:1.5;
}
.fd-cart-totals .woocommerce-shipping-methods{
  list-style:none;margin:0!important;padding:0!important;
}
.fd-cart-totals .woocommerce-shipping-methods li{margin:0;padding:0;text-align:right}
.fd-cart-totals .woocommerce-shipping-destination{
  font-size:11px;color:var(--fd-grey);font-weight:500;margin-top:6px;
}
.fd-cart-totals .woocommerce-shipping-calculator{margin-top:6px}
.fd-cart-totals .woocommerce-shipping-calculator a{
  font-family:var(--fd-font-mono);font-size:10px;text-transform:uppercase;
  letter-spacing:.06em;text-decoration:underline;color:var(--fd-grey);
}
.fd-cart-totals .woocommerce-shipping-calculator .form-row{margin-top:8px}
.fd-cart-totals .woocommerce-shipping-calculator input,
.fd-cart-totals .woocommerce-shipping-calculator select{
  width:100%;border:var(--fd-bw) solid var(--fd-line);padding:8px;font-size:12px;
}
.fd-cart-totals .woocommerce-shipping-calculator button{
  background:var(--fd-ink);color:#fff;border:0;padding:8px 12px;font-size:10.5px;
  text-transform:uppercase;font-weight:900;letter-spacing:.05em;margin-top:6px;
}

/* Éléments parasites sous le bouton */
.fd-cart-totals .wc-proceed-to-checkout{padding:0;margin:16px 0 0}
.fd-cart-totals .wc-proceed-to-checkout a{margin-bottom:0!important}

/* Bouton « Mettre à jour » */
.fd-cart-update:disabled{
  background:#C9C9C4!important;border-color:#C9C9C4!important;color:#fff!important;
  cursor:not-allowed;box-shadow:none;
}

/* Réassurance panier : respiration */
.fd-cart-assure .fd-ri + .fd-ri{border-top:1px solid var(--fd-line);padding-top:11px}

/* ---------- CHECKOUT : colonne formulaire ---------- */
.woocommerce-checkout form.checkout{max-width:100%}
.woocommerce-checkout .col2-set{display:block}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{width:100%!important;float:none!important;padding:0}
.woocommerce-checkout .col2-set::after{content:none}
.woocommerce-checkout .woocommerce-billing-fields .form-row,
.woocommerce-checkout .woocommerce-additional-fields .form-row{margin-bottom:14px}

@media (max-width:760px){
  .woocommerce-checkout .col2-set{grid-template-columns:1fr}
}

/* ---------- Checkout : une colonne, champs par paires ---------- */
.woocommerce-checkout .col2-set{grid-template-columns:1fr!important;gap:0}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper{
  display:grid;grid-template-columns:1fr 1fr;gap:0 18px;
}
.woocommerce-checkout .form-row-wide,
.woocommerce-checkout .form-row-full,
.woocommerce-checkout .woocommerce-additional-fields .form-row{grid-column:1/-1}
.woocommerce-checkout .woocommerce-additional-fields{margin-top:6px}
.woocommerce-checkout .woocommerce-additional-fields h3{margin-top:20px}
@media (max-width:640px){
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-additional-fields__field-wrapper{grid-template-columns:1fr}
}
