/* ══════════════════════════════════════════════════════════════
   HERO PAGES INTERNES — injecté via hook WooCommerce
   (panier, checkout, confirmation)
   ══════════════════════════════════════════════════════════════ */

.inner-hero {
    /* En dehors du .apdg-container — naturellement pleine largeur */
    width: 100%;
    height: 200px;
    overflow: hidden;
    background: var(--color-surface-100);
    display: block;
}

.inner-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 40%;
    display: block;
}

@media (max-width: 768px) {
    .inner-hero { height: 120px; }
}

/*
 * APDG Store — pages.css
 * Panier, Mon compte, Contact — design Figma avril 2026
 */

/* ══ PANIER ══════════════════════════════════════════════════ */

.cart-hero { width:100%; height:220px; overflow:hidden; background:var(--color-surface-100); }
.cart-hero__img { width:100%; height:100%; object-fit:cover; object-position:center 30%; display:block; }

.cart-page-wrap { padding-block:48px; background:var(--color-surface-50); min-height:50vh; }

.cart-empty { display:flex; flex-direction:column; align-items:center; gap:var(--gap-lg); padding:80px 0; text-align:center; color:var(--color-surface-400); }
.cart-empty p { font-family:var(--font-body); font-size:var(--text-base); color:var(--color-surface-600); }

.cart-table-wrap { width:100%; overflow-x:auto; margin-bottom:40px; }
.cart-table { width:100%; border-collapse:collapse; font-family:var(--font-body); }
.cart-table thead th { 
color: var(--Colors-surface-950-color-surface, #09090B);
	/* Title/small/semi bold */
	font-family: var(--Typography-Title-Font-familly, Bitter);
	font-size: var(--Typography-Title-size-Small---18px, 18px);
	font-style: normal;
	font-weight: var(--Typography-Weight-Semi-Bold---600, 600);
	line-height: var(--Typography-height-title-Small---18px, 26px); /* 144.444% */
	padding-bottom:16px;
    text-transform:none;
}
.cart-col--price, .cart-col--lots, .cart-col--qty, .cart-col--total { text-align:center; }
.cart-row { border-bottom:1px solid var(--color-surface-100); transition:background .15s; }
.cart-row:hover { background:var(--color-primary-50); }
.cart-row td { padding:20px 16px; vertical-align:middle; }

.cart-product { display:flex; align-items:center; gap:16px; }
.cart-product__img img { width:76px; height:76px; object-fit:cover; border-radius:var(--radius-md); background:var(--color-surface-100); display:block; }
.cart-product__info { display:flex; flex-direction:column; gap:4px; }
.cart-product__name { font-family:var(--font-body); font-size:var(--text-base); font-weight:var(--fw-semibold); color:var(--color-primary-950); }
.cart-product__remove { font-family:var(--font-body); font-size:var(--text-sm); color:var(--color-primary-500); text-decoration:none; transition:opacity .15s; }
.cart-product__remove:hover { opacity:.7; }

.cart-stepper { display:inline-flex; align-items:center; gap:8px; background:var(--color-surface-50); border:1px solid var(--color-surface-200); border-radius:var(--radius-full); padding:6px 14px; }
.cart-stepper__btn { display:flex; align-items:center; justify-content:center; width:24px; height:24px; border:none; background:none; cursor:pointer; color:var(--color-surface-950); border-radius:50%; transition:background .15s; flex-shrink:0; }
.cart-stepper__btn:hover { background:var(--color-surface-100); }
.cart-stepper__input { width:36px; text-align:center; border:none; background:none; font-family:var(--font-body); font-size:var(--text-base); font-weight:var(--fw-medium); color:var(--color-surface-950); outline:none; -moz-appearance:textfield; }
.cart-stepper__input::-webkit-inner-spin-button, .cart-stepper__input::-webkit-outer-spin-button { -webkit-appearance:none; }
.cart-stepper__label { font-family:var(--font-body); font-size:var(--text-sm); color:var(--color-surface-600); }

.cart-bottom { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:8px; align-items:start; }

/* Upload facture */
.cart-invoice__title { font-family:var(--font-body); font-size:var(--text-base); font-weight:var(--fw-medium); color:var(--color-surface-950); margin-bottom:12px; display:flex; align-items:center; gap:6px; }
.cart-invoice__required { font-size:var(--text-sm); font-weight:var(--fw-regular); color:var(--color-surface-600); }

.cart-invoice__drop { border:1.5px dashed var(--color-primary-500); border-radius:var(--radius-md); background:var(--color-primary-50); min-height:140px; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s,border-color .2s; position:relative; padding:20px; }
.cart-invoice__drop:hover { background:var(--color-primary-200); }
.cart-invoice__drop.dragging { border-color:var(--color-primary-800); }
.cart-invoice__drop.has-file { background:#f0fdf4; border-color:#22c55e; border-style:solid; }

.cart-invoice__input { display:none; }

.cart-invoice__empty { display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; pointer-events:none; }
.cart-invoice__cta { font-family:var(--font-body); font-size:var(--text-base); color:var(--color-surface-600); }
.cart-invoice__empty small { font-size:var(--text-sm); color:var(--color-surface-400); }

.cart-invoice__filled { display:flex; align-items:center; gap:12px; width:100%; background:#fff; border-radius:var(--radius-sm); padding:10px 14px; }
.cart-invoice__filled svg { color:var(--color-primary-500); flex-shrink:0; }
.cart-invoice__filled > div { flex:1; display:flex; flex-direction:column; gap:2px; }
.cart-invoice__filled span { font-size:var(--text-sm); font-weight:var(--fw-medium); color:var(--color-surface-950); }
.cart-invoice__filled small { font-size:12px; color:var(--color-surface-400); }
.cart-invoice__clear { background:none; border:none; cursor:pointer; color:var(--color-surface-400); padding:4px; border-radius:4px; display:flex; transition:color .15s; flex-shrink:0; }
.cart-invoice__clear:hover { color:#dc2626; }

/* Récapitulatif */
.cart-recap { background:var(--color-surface-100); border-radius:var(--radius-md); padding:24px; display:flex; flex-direction:column; gap:10px; }
.cart-recap__line { font-family:var(--font-body); font-size:var(--text-base); font-weight:var(--fw-medium); color:var(--color-surface-950); }
.cart-recap__line--sub { display:flex; gap:16px; font-weight:var(--fw-regular); font-size:var(--text-sm); color:var(--color-surface-600); flex-wrap:wrap; }
.cart-recap__total { font-family:var(--font-body); font-size:var(--text-base); font-weight:var(--fw-bold); color:var(--color-surface-950); padding-top:10px; border-top:1px solid var(--color-surface-200); margin-top:4px; }
.cart-recap__btn { width:100%; text-align:center; justify-content:center; padding:14px 24px; background:var(--color-primary-950); color:var(--color-surface-50); border-radius:var(--radius-full); font-size:var(--text-base); font-weight:var(--fw-medium); text-decoration:none; display:block; margin-top:4px; transition:opacity .2s; }
.cart-recap__btn:hover { opacity:.85; color:var(--color-surface-50); }
.cart-recap__btn--disabled { background:var(--color-surface-300); color:var(--color-surface-600); cursor:not-allowed; pointer-events:none; }
.cart-recap__notice { font-family:var(--font-body); font-size:var(--text-sm); color:var(--color-primary-500); text-align:center; }

/* ══ MON COMPTE ══════════════════════════════════════════════ */

.myaccount-wrap { padding-block:48px; background:var(--color-surface-50); min-height:60vh; }
.myaccount-layout { display:grid; grid-template-columns:300px 1fr; gap:40px; align-items:flex-start; }

.myaccount-sidebar { border:1px solid var(--color-surface-100); border-radius:var(--radius-md); overflow:hidden; }
.myaccount-sidebar__list { list-style:none; }
.myaccount-sidebar__item { border-bottom:1px solid var(--color-surface-100); }
.myaccount-sidebar__item:last-child { border-bottom:none; }
.myaccount-sidebar__link { display:block; padding:16px 20px; font-family:var(--font-body); font-size:var(--text-base); font-weight:var(--fw-regular); color:var(--color-surface-800); text-decoration:none; transition:background .15s; }
.myaccount-sidebar__link:hover { background:var(--color-primary-50); }
.myaccount-sidebar__link--active,
.is-active .myaccount-sidebar__link { background:var(--color-primary-50); color:var(--color-primary-950); font-weight:var(--fw-medium); }

.myaccount-content { font-family:var(--font-body); }
.myaccount-content h2,
.woocommerce-MyAccount-content h2 { font-family:var(--font-title); font-size:28px; font-weight:var(--fw-semibold); color:var(--color-primary-950); margin-bottom:8px; }
.woocommerce-MyAccount-content > p { font-size:var(--text-base); color:var(--color-surface-600); margin-bottom:24px; }

/* Tableau historique */
.woocommerce-orders-table,
.woocommerce-MyAccount-orders { width:100%; border-collapse:collapse; font-family:var(--font-body); border:1px dashed var(--color-primary-200); border-radius:var(--radius-md); overflow:hidden; }
.woocommerce-orders-table thead th { font-size:var(--text-sm); font-weight:var(--fw-semibold); color:var(--color-surface-600); padding:14px 20px; text-align:left; border-bottom:1px solid var(--color-surface-100); background:var(--color-surface-50); }
.woocommerce-orders-table tbody tr { border-bottom:1px solid var(--color-surface-100); transition:background .15s; }
.woocommerce-orders-table tbody tr:last-child { border-bottom:none; }
.woocommerce-orders-table tbody tr:hover { background:var(--color-primary-50); }
.woocommerce-orders-table tbody td { padding:18px 20px; font-size:var(--text-base); color:var(--color-surface-800); }

.woocommerce-orders-table .button,
.woocommerce-MyAccount-orders .button,
a.woocommerce-button.button { background:none!important; border:none!important; box-shadow:none!important; color:var(--color-primary-500)!important; font-family:var(--font-body)!important; font-size:var(--text-base)!important; font-weight:var(--fw-medium)!important; padding:0!important; text-decoration:none!important; transition:opacity .15s!important; }
.woocommerce-orders-table .button:hover { opacity:.7!important; }

/* ══ PAGE CONTACT ════════════════════════════════════════════ */

/* La page entière est en fond vert clair,
   mais la colonne droite (formulaire) est en blanc */
.contact-wrap {
    background: var(--color-primary-50);
    padding-block: 0;
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 0;
    align-items: stretch;
    min-height: 70vh;
}

/* Colonne gauche — fond primary-50 (vert clair) */
.contact-left {
    background: var(--color-primary-50);
}
.contact-left__inner {
    max-width: 460px;
    margin-left: auto;
    padding: 64px 48px 64px 100px;
}

.contact-photo {
    margin-bottom: 24px;
}
.contact-photo__img {
    width: 100%;
    max-width: 300px;
    height: auto;
    border-radius: 12px;
    display: block;
    object-fit: cover;
}

.contact-members {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px 16px;
    margin-top: 4px;
}

.contact-member {}

.contact-member__name {
    font-family: var(--font-body);
    font-size: var(--text-base);
    font-weight: var(--fw-semibold);
    color: var(--color-primary-950);
    margin-bottom: 10px;
}

.contact-member__row {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    color: var(--color-surface-600);
    margin-bottom: 6px;
    display: flex;
    flex-direction: column;
    gap: 1px;
}
.contact-member__row span:first-child {
    font-weight: var(--fw-medium);
    color: var(--color-surface-800);
}
.contact-member__row a {
    color: var(--color-surface-600);
    text-decoration: none;
}
.contact-member__row a:hover { color: var(--color-primary-500); }

/* Colonne droite — fond blanc */
.contact-right {
    background: var(--color-surface-50);
}
.contact-right__inner {
    max-width: 600px;
    margin-right: auto;
    padding: 100px;
}

.contact-right__title {
    font-family: var(--font-title);
    font-size: 32px;
    font-weight: var(--fw-semibold);
    color: var(--color-primary-950);
    margin-bottom: 12px;
    line-height: 1.2;
}

.contact-right__intro {
    font-family: var(--font-body);
    font-size: var(--text-base);
    color: var(--color-surface-600);
    line-height: 1.6;
    margin-bottom: 28px;
}

/* Formulaire */
.contact-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.contact-form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.contact-form__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.contact-form__field label {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: var(--fw-medium);
    color: var(--color-surface-800);
    display: flex;
    align-items: center;
    gap: 2px;
}

.contact-form__req {
    color: var(--color-primary-500);
    margin-left: 1px;
}

.contact-form__field input,
.contact-form__field textarea {
    font-family: var(--font-body);
    font-size: var(--text-base);
    color: var(--color-surface-950);
    background: var(--color-surface-50);
    border: 1.5px solid var(--color-surface-200);
    border-radius: var(--radius-full);
    padding: 12px 20px;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
    width: 100%;
    box-sizing: border-box;
}

.contact-form__field textarea {
    border-radius: 12px;
    resize: vertical;
    min-height: 140px;
    line-height: 1.5;
}

.contact-form__field input:focus,
.contact-form__field textarea:focus {
    border-color: var(--color-primary-500);
    box-shadow: 0 0 0 3px rgba(80,121,87,0.1);
}

.contact-form__field input::placeholder,
.contact-form__field textarea::placeholder {
    color: var(--color-surface-300);
}

.contact-form__hint {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    color: var(--color-surface-500);
    line-height: 1.5;
    margin-top: -4px;
}

.contact-form__submit {
    width: 100%;
    background: var(--color-primary-800);
    color: var(--color-surface-50);
    border: none;
    border-radius: var(--radius-full);
    padding: 16px 24px;
    font-family: var(--font-body);
    font-size: var(--text-base);
    font-weight: var(--fw-medium);
    cursor: pointer;
    transition: opacity 0.2s;
    margin-top: 4px;
}
.contact-form__submit:hover { opacity: 0.85; }

/* Messages statut */
.contact-success,
.contact-error {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    border-radius: 10px;
    font-family: var(--font-body);
    font-size: var(--text-base);
    margin-bottom: 16px;
}
.contact-success { background: #f0fdf4; border: 1px solid #bbf7d0; color: #15803d; }
.contact-error   { background: #fef2f2; border: 1px solid #fecaca; color: #dc2626; }

/* ══ RESPONSIVE ══════════════════════════════════════════════ */

@media (max-width:1024px) {
    .cart-bottom { grid-template-columns:1fr; }
    .contact-grid { grid-template-columns:1fr; }
    .contact-left__inner, .contact-right__inner { max-width:100%; padding:40px 24px; margin:0; }
    .myaccount-layout { grid-template-columns:1fr; }
}

@media (max-width:768px) {
    .cart-hero { height:150px; }
    .cart-table thead { display:none; }
    .cart-row { display:block; padding:16px 0; }
    .cart-row td { display:flex; justify-content:space-between; align-items:center; padding:8px 0; border:none; }
    .cart-row td::before { content:attr(data-label); font-size:var(--text-sm); font-weight:var(--fw-medium); color:var(--color-surface-600); }
    .cart-col--product { flex-direction:column; align-items:flex-start; }
    .contact-form__row { grid-template-columns:1fr; }
    .contact-members { grid-template-columns:1fr; }
}

/* ══════════════════════════════════════════════════════════════
   PAGE PANIER — design Figma (node 2116:3901)
   ══════════════════════════════════════════════════════════════ */

/* Hero 200px */
.cart-hero {
    height: 200px;
    overflow: hidden;
    background: var(--color-surface-100);
}
.cart-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    display: block;
}

/* Page wrapper */
.cart-page {
    background: var(--color-surface-50);
    padding: 60px 0 80px;
}

/* Vide */
.cart-empty {
    text-align: center;
    padding: 80px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-surface-600);
}

/* ── Tableau produits — pleine largeur ─────────────────── */
.cart-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 40px;
}

/* Headers */
.cart-th {
    font-family: var(--font-title);
    font-size: 14px;
    font-weight: var(--fw-semibold);
    color: var(--color-surface-600);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0 16px 16px;
    border-bottom: 2px solid var(--color-surface-200);
    text-align: left;
    white-space: nowrap;
}
.cart-th--price,
.cart-th--lots,
.cart-th--units,
.cart-th--total  { text-align: center; }
.cart-th--remove { width: 48px; }

/* Lignes */
.cart-row {
    border-bottom: 1px solid var(--color-surface-100);
}
.cart-row:last-child { border-bottom: none; }

.cart-td {
    padding: 20px 16px;
    font-family: var(--font-body);
    font-size: 15px;
    color: var(--color-surface-950);
    vertical-align: middle;
    text-align: center;
}
.cart-td--product { text-align: left; }

/* Petit label HT / "unités" */
.cart-td__ht,
.cart-td__label {
    font-size: 12px;
    color: var(--color-surface-600);
    display: block;
    margin-top: 2px;
}

/* Produit : image + texte */
.cart-product {
    display: flex;
    align-items: center;
    gap: 16px;
}

.cart-product__img {
    width: 100px;
    height: 100px;
    background: var(--color-surface-100);
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.cart-product__img img {
    width: 82px;
    height: 82px;
    object-fit: contain;
    display: block;
}

.cart-product__details {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cart-product__name {
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: var(--fw-semibold);
    color: var(--color-surface-950);
    text-decoration: none;
    line-height: 22px;
}
.cart-product__name:hover { color: var(--color-primary-500); }

.cart-product__colisage {
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--color-surface-600);
    line-height: 20px;
}

/* Stepper — fond gris pill */
.cart-stepper {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--color-surface-200);  /* gris comme Figma */
    border-radius: 100px;
    padding: 8px 14px;
}

.cart-stepper__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: none;
    background: none;
    cursor: pointer;
    color: var(--color-surface-950);
    flex-shrink: 0;
    border-radius: 50%;
    transition: background 0.15s;
}
.cart-stepper__btn:hover { background: var(--color-surface-300); }

.cart-stepper__input {
    width: 28px;
    text-align: center;
    border: none;
    background: none;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: var(--fw-semibold);
    color: var(--color-surface-950);
    outline: none;
    -moz-appearance: textfield;
}
.cart-stepper__input::-webkit-inner-spin-button,
.cart-stepper__input::-webkit-outer-spin-button { -webkit-appearance: none; }

.cart-stepper__unit {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: var(--fw-medium);
    color: var(--color-surface-600);
}

/* Quantité totale */
.cart-units {
    font-weight: var(--fw-semibold);
    font-size: 15px;
    color: var(--color-surface-950);
}

/* Bouton supprimer */
.cart-remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    color: var(--color-surface-400);
    text-decoration: none;
    margin: 0 auto;
    transition: background 0.15s, color 0.15s;
}
.cart-remove:hover {
    background: #fef2f2;
    color: #ef4444;
}

/* ── Zone inférieure ──────────────────────────────────── */
.cart-bottom {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 24px;
    flex-wrap: wrap;
}

/* ── Card upload facture ─────────────────────────────── */
.cart-invoice-card {
    width: 380px;
    background: var(--color-surface-100);
    border-radius: 12px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex-shrink: 0;
}

.cart-invoice-card__title {
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: var(--fw-medium);
    color: var(--color-surface-950);
    margin: 0;
    display: flex;
    align-items: baseline;
    gap: 6px;
    flex-wrap: wrap;
}

.cart-invoice-card__required {
    font-size: 12px;
    color: var(--color-surface-600);
    font-weight: var(--fw-regular);
}

.cart-invoice-card__drop {
    min-height: 120px;
    background: var(--color-primary-50);
    border: 1.5px dashed var(--color-primary-500);
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
    transition: background 0.15s, border-color 0.15s;
}
.cart-invoice-card__drop:hover,
.cart-invoice-card__drop.is-dragging {
    background: var(--color-primary-200);
    border-color: var(--color-primary-800);
}
.cart-invoice-card__drop.has-file {
    background: var(--color-surface-50);
    border-style: solid;
    cursor: default;
}

.cart-invoice-card__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-align: center;
    color: var(--color-primary-500);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: var(--fw-medium);
}
.cart-invoice-card__empty small {
    font-size: 12px;
    color: var(--color-primary-500);
    font-weight: var(--fw-regular);
}

.cart-invoice-card__filled {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
}

.cart-invoice-card__clear {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: none;
    background: var(--color-surface-200);
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--color-surface-950);
}
.cart-invoice-card__clear:hover { background: var(--color-surface-300); }

/* ── Card récapitulatif ──────────────────────────────── */
.cart-summary-card {
    width: 380px;
    background: var(--color-surface-100);
    border-radius: 12px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex-shrink: 0;
}

.cart-summary-card__rows {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cart-summary-card__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: var(--font-body);
    font-size: 15px;
    color: var(--color-surface-950);
    line-height: 24px;
}

.cart-summary-card__val { font-weight: var(--fw-semibold); }

.cart-summary-card__divider {
    height: 1px;
    background: var(--color-surface-200);
    border-radius: 100px;
    margin: 4px 0;
}

.cart-summary-card__row--total {
    font-family: var(--font-title);
    font-size: 18px;
    font-weight: var(--fw-semibold);
    color: var(--color-primary-950);
}
.cart-summary-card__row--total .cart-summary-card__val {
    font-size: 20px;
    font-weight: var(--fw-bold);
}

/* Bouton principal */
.cart-summary-card__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 56px;
    border-radius: 100px;
    background: var(--color-primary-800);
    color: var(--color-primary-50);
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: var(--fw-medium);
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: opacity 0.2s;
    line-height: 1;
}
.cart-summary-card__btn:hover { opacity: 0.88; color: var(--color-primary-50); }

/* Grisé = facture manquante */
.cart-summary-card__btn--disabled {
    background: var(--color-surface-300);
    color: var(--color-surface-400);
    cursor: not-allowed;
    pointer-events: none;
}

.cart-summary-card__error {
    font-family: var(--font-body);
    font-size: 12px;
    color: #ef4444;
    text-align: center;
    margin: 0;
    line-height: 18px;
}

/* Lien "continuer" */
.cart-summary-card__link-continue {
    display: block;
    text-align: center;
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-surface-600);
    text-decoration: none;
    line-height: 22px;
    margin-top: 4px;
}
.cart-summary-card__link-continue:hover { color: var(--color-primary-500); }

.cart-summary-card__actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* ══════════════════════════════════════════════════════════════
   PAGE CHECKOUT
   ══════════════════════════════════════════════════════════════ */

.checkout-page {
    background: var(--color-surface-50);
    padding: 80px 0;
}

.checkout-layout {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 64px;
    align-items: flex-start;
}

/* Titres de section */
.checkout-section-title {
    font-family: var(--font-title);
    font-size: 24px;
    font-weight: var(--fw-semibold);
    color: var(--color-primary-950);
    margin: 0 0 24px;
    line-height: 32px;
}

/* Champs WooCommerce */
.checkout-fields .form-row {
    margin-bottom: 16px;
}

.checkout-fields label {
    display: block;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: var(--fw-medium);
    color: var(--color-surface-950);
    margin-bottom: 6px;
    line-height: 22px;
}

.checkout-fields input[type="text"],
.checkout-fields input[type="email"],
.checkout-fields input[type="tel"],
.checkout-fields input[type="number"],
.checkout-fields textarea,
.checkout-fields select {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid var(--color-surface-200);
    border-radius: 8px;
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-surface-950);
    background: var(--color-surface-50);
    outline: none;
    transition: border-color 0.15s;
    appearance: none;
    line-height: 24px;
}

.checkout-fields input:focus,
.checkout-fields select:focus,
.checkout-fields textarea:focus {
    border-color: var(--color-primary-500);
    box-shadow: 0 0 0 3px rgba(80,121,87,0.12);
}

.checkout-fields .form-row-first,
.checkout-fields .form-row-last {
    display: inline-block;
    width: calc(50% - 8px);
}
.checkout-fields .form-row-first { margin-right: 16px; }

/* Notes */
.checkout-notes { margin-top: 32px; }

/* Récapitulatif droite */
.checkout-summary {
    position: sticky;
    top: calc(var(--nav-height) + 24px);
}

.checkout-summary__title {
    font-family: var(--font-title);
    font-size: 24px;
    font-weight: var(--fw-semibold);
    color: var(--color-primary-950);
    margin: 0 0 24px;
}

.checkout-summary__products {
    background: var(--color-surface-100);
    border-radius: 8px;
    padding: 24px;
    margin-bottom: 24px;
}

/* Review order WooCommerce */
.checkout-summary__products table.shop_table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-surface-950);
}

.checkout-summary__products table th,
.checkout-summary__products table td {
    padding: 10px 0;
    border-bottom: 1px solid var(--color-surface-200);
    line-height: 22px;
}

.checkout-summary__products table tr:last-child td,
.checkout-summary__products table tr:last-child th {
    border-bottom: none;
}

.checkout-summary__products .order-total th,
.checkout-summary__products .order-total td {
    font-weight: var(--fw-bold);
    font-size: 16px;
}

/* Mentions légales */
.checkout-terms {
    margin-bottom: 20px;
}

.checkout-terms__text {
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-surface-600);
    line-height: 22px;
}
.checkout-terms__text a { color: var(--color-primary-600); }

/* Bouton valider */
.checkout-submit {
    width: 100%;
    height: 56px;
    border-radius: 100px;
    background: var(--color-primary-800);
    color: var(--color-primary-50);
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: var(--fw-medium);
    border: none;
    cursor: pointer;
    transition: opacity 0.2s;
}
.checkout-submit:hover { opacity: 0.88; }

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 1024px) {
    .checkout-layout { grid-template-columns: 1fr; }
    .checkout-summary { position: static; }
    .cart-bottom { justify-content: stretch; }
    .cart-invoice-card,
    .cart-summary-card { width: 100%; }
}

@media (max-width: 768px) {
    .cart-page,
    .checkout-page { padding: 40px 0; }
    .cart-table-wrap { margin-bottom: 24px; }
    .cart-th, .cart-td { padding: 12px 16px; }
    .cart-product { gap: 12px; }
    .cart-th--qty, .cart-td--qty { display: none; } /* masqué sur mobile */
    .checkout-fields .form-row-first,
    .checkout-fields .form-row-last {
        display: block;
        width: 100%;
        margin-right: 0;
    }
}

/* ══════════════════════════════════════════════════════════════
   PAGE CONFIRMATION COMMANDE (thankyou)
   ══════════════════════════════════════════════════════════════ */

.thankyou-page {
    background: var(--color-surface-50);
    padding: 80px 0;
}

/* ── Card de confirmation ──────────────────────────────────── */
.thankyou-confirm {
    display: flex;
    align-items: flex-start;
    gap: 32px;
    background: var(--color-primary-50);   /* #f2f7f3 — vert très clair */
    border: 1px solid var(--color-primary-200);
    border-radius: 16px;
    padding: 40px;
    margin-bottom: 64px;
}

/* Icône ronde verte */
.thankyou-confirm__icon {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--color-primary-500);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.thankyou-confirm__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.thankyou-confirm__title {
    font-family: var(--font-title);
    font-size: 28px;
    font-weight: var(--fw-semibold);
    color: var(--color-primary-950);
    line-height: 36px;
    margin: 0;
}

.thankyou-confirm__sub {
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-surface-600);
    line-height: 24px;
    max-width: 640px;
    margin: 0;
}

/* Méta commande en ligne */
.thankyou-confirm__meta {
    display: flex;
    align-items: center;
    gap: 0;
    flex-wrap: wrap;
    background: var(--color-surface-50);
    border: 1px solid var(--color-surface-200);
    border-radius: 12px;
    padding: 20px 24px;
}

.thankyou-confirm__meta-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 120px;
    padding: 0 24px;
}

.thankyou-confirm__meta-item:first-child { padding-left: 0; }
.thankyou-confirm__meta-item:last-child  { padding-right: 0; }

.thankyou-confirm__meta-label {
    font-family: var(--font-body);
    font-size: 12px;
    color: var(--color-surface-600);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 18px;
}

.thankyou-confirm__meta-value {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: var(--fw-semibold);
    color: var(--color-surface-950);
    line-height: 24px;
}

.thankyou-confirm__meta-sep {
    width: 1px;
    height: 40px;
    background: var(--color-surface-200);
    flex-shrink: 0;
}

/* Boutons d'action */
.thankyou-confirm__actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.thankyou-confirm__btn-download {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--color-primary-800);
    color: var(--color-primary-50);
    border-radius: 100px;
    padding: 14px 28px;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: var(--fw-medium);
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: opacity 0.2s;
    line-height: 24px;
}
.thankyou-confirm__btn-download:hover { opacity: 0.88; color: var(--color-primary-50); }

.thankyou-confirm__btn-account {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: transparent;
    color: var(--color-primary-800);
    border: 1.5px solid var(--color-primary-800);
    border-radius: 100px;
    padding: 13px 28px;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: var(--fw-medium);
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    line-height: 24px;
}
.thankyou-confirm__btn-account:hover {
    background: var(--color-primary-800);
    color: var(--color-primary-50);
}

/* ── Layout résumé + adresse ────────────────────────────────── */
.thankyou-layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 48px;
    align-items: flex-start;
}

.thankyou-section-title {
    font-family: var(--font-title);
    font-size: 20px;
    font-weight: var(--fw-semibold);
    color: var(--color-primary-950);
    margin: 0 0 24px;
    line-height: 28px;
}

/* ── Tableau récapitulatif ────────────────────────────────── */
.thankyou-summary__table-wrap {
    background: var(--color-surface-50);
    border: 1px solid var(--color-surface-200);
    border-radius: 12px;
    overflow: hidden;
}

.thankyou-summary__table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-surface-950);
}

.thankyou-summary__table thead th {
    font-weight: var(--fw-semibold);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-surface-600);
    padding: 16px 24px;
    border-bottom: 1px solid var(--color-surface-200);
    text-align: left;
}

.thankyou-summary__table thead th:not(:first-child) { text-align: right; }

.thankyou-summary__table tbody td {
    padding: 16px 24px;
    border-bottom: 1px solid var(--color-surface-100);
    vertical-align: middle;
}

.thankyou-summary__table tfoot td {
    padding: 14px 24px;
    border-top: 1px solid var(--color-surface-200);
    font-weight: var(--fw-semibold);
    font-size: 16px;
    text-align: right;
}
.thankyou-summary__table tfoot td:first-child { text-align: left; }

.thankyou-summary__total-row td {
    background: var(--color-primary-50);
    font-family: var(--font-title);
    font-size: 18px;
    font-weight: var(--fw-semibold);
    color: var(--color-primary-950);
}

/* Produit dans le tableau */
.thankyou-summary__product {
    display: flex;
    align-items: center;
    gap: 16px;
}

.thankyou-summary__product-img {
    width: 60px;
    height: 60px;
    object-fit: contain;
    background: var(--color-surface-100);
    border-radius: 6px;
    flex-shrink: 0;
}

.thankyou-summary__product-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.thankyou-summary__product-name {
    font-weight: var(--fw-semibold);
    font-size: 15px;
    color: var(--color-surface-950);
    line-height: 22px;
}

.thankyou-summary__product-colisage {
    font-size: 13px;
    color: var(--color-surface-600);
    line-height: 20px;
}

.thankyou-summary__qty,
.thankyou-summary__total {
    text-align: right;
    font-weight: var(--fw-semibold);
    white-space: nowrap;
}

/* ── Adresse de livraison ────────────────────────────────── */
.thankyou-address__card {
    background: var(--color-surface-100);
    border-radius: 12px;
    padding: 24px;
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 24px;
    color: var(--color-surface-950);
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 20px;
}

.thankyou-address__name {
    font-weight: var(--fw-semibold);
    font-size: 16px;
}

.thankyou-address__email {
    color: var(--color-surface-600);
    font-size: 14px;
    margin-top: 8px;
}

/* Statut commande */
.thankyou-status {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--color-primary-50);
    border: 1px solid var(--color-primary-200);
    border-radius: 100px;
    padding: 10px 20px;
    width: fit-content;
}

.thankyou-status__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--color-primary-500);
    flex-shrink: 0;
}

.thankyou-status__label {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: var(--fw-medium);
    color: var(--color-primary-800);
    line-height: 22px;
}

/* ── Pas de commande ─────────────────────────────────────── */
.thankyou-noorder {
    text-align: center;
    padding: 80px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-surface-600);
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 1024px) {
    .thankyou-layout { grid-template-columns: 1fr; }
    .thankyou-confirm { flex-direction: column; gap: 24px; }
    .thankyou-confirm__meta { flex-direction: column; gap: 16px; }
    .thankyou-confirm__meta-item { padding: 0; }
    .thankyou-confirm__meta-sep { width: 100%; height: 1px; }
}

@media (max-width: 768px) {
    .thankyou-page { padding: 40px 0; }
    .thankyou-confirm { padding: 24px; }
    .thankyou-confirm__title { font-size: 22px; }
    .thankyou-confirm__actions { flex-direction: column; }
    .thankyou-confirm__btn-download,
    .thankyou-confirm__btn-account { justify-content: center; }
    .thankyou-summary__table thead { display: none; }
    .thankyou-summary__table tbody td { display: block; border: none; padding: 8px 16px; }
    .thankyou-summary__product { padding-top: 16px; }
}
.woocommerce-cart .woocommerce-notices-wrapper{
    display:none;
}