/* ══════════════════════════════════════════════════════════════
   HERO PAGES INTERNES — injecté via hook WooCommerce
   (panier, checkout, confirmation)
   ══════════════════════════════════════════════════════════════ */
.home-section__header--center {
    text-align: center;
}

.home-section__header {
    margin-bottom: var(--gap-2xl);
}

.home-section__eyebrow {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: var(--fw-regular);
    color: var(--color-surface-950);
    margin-bottom: 4px;
}

.home-section__title {
    font-family: var(--font-title);
    font-size: var(--text-title);
    font-weight: var(--fw-semibold);
    color: var(--color-surface-950);
    line-height: var(--lh-title);
}

.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-page {
	position: relative;
}


.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 {
    position: relative;
}

.contact-member:last-child::before {
  	content: '';
    position: absolute;
    top: 0;
    left: -20px;
    height: 100%;
    border-left: 1px solid  var(--color-primary-200);
}

.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, .apdg-login-form input:focus {
    border-color: var(--color-primary-500) !important;
    box-shadow: 0 0 0 3px rgba(80,121,87,0.1) !important;
  	background-color: #F2F7F3 !important;
}
.contact-form__field input:focus::placeholder, .contact-form__field textarea:focus::placeholder, .apdg-login-form input:focus::placeholder {
	color: var(--color-primary-500) !important;
	opacity: 0.5 !important;
}

.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: #71717A;
    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;
}


/* ══ 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: #71717A;
    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: 40px 0;
}
.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;
}
/* ═══════════════════════════════════════════════════════════════
   PAGE CONTACT — layout uniquement
   À ajouter dans woocommerce.css (ou CSS principal du thème)
═══════════════════════════════════════════════════════════════ */

/* ── Grid 2 colonnes dans le container ──────────────────────── */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

/* ── Colonne gauche — fond vert sauge ───────────────────────── */
.contact-left {
  position: relative;
  background: #EFF2EC;
  /* Pas de padding-left : le container gère le gutter gauche.
     padding-right : espace interne entre les deux colonnes.    */
  padding: 100px 48px 60px 0;
}

/*
  Le ::before étend le fond vert vers la gauche,
  au-delà du container, jusqu'au bord du viewport.
  overflow: hidden sur le container doit être ABSENT
  (ou géré via clip-path si besoin).
*/
.contact-left::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 100%;
  width: 100vw;
  background: #EFF2EC;
}

/* ── Colonne droite — fond blanc ────────────────────────────── */
.contact-right {
  background: #ffffff;
  /* Pas de padding-right : le container gère le gutter droit.
     padding-left : espace interne entre les deux colonnes.     */
  padding: 100px 0 60px 48px;
}

/* ── Vague décorative ───────────────────────────────────────── */
.contact-wave {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 300px;
  pointer-events: none;
  user-select: none;
  z-index: 1;
}

.contact-wave svg {
  width: 100%;
  height: auto;
  display: block;
}

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

@media (max-width: 768px) {
  .contact-grid {
    grid-template-columns: 1fr;
  }

  /* Sur mobile : padding symétrique via le container,
     le ::before n'est plus utile                        */
  .contact-left {
    padding: 48px 0 48px 0;
  }

  .contact-left::before {
    display: none;
  }

  .contact-right {
    padding: 48px 0 60px 0;
  }
  .nav__sub-menu{
    position:relative !important;
    height:auto!important;
    visibility:visible !important;
    opacity:1;
    box-shadow:none;
    
  }
  .nav__sub-menu .nav__link.nav__link--active & {
    height:auto;
  }
}

/* ═══════════════════════════════════════════════════════════════
   PAGE MON COMPTE — Formulaire de connexion custom
   Préfixe : apdg-login- pour éviter tout conflit WooCommerce
   À intégrer dans le CSS principal du thème
═══════════════════════════════════════════════════════════════ */

/* ── Reset WooCommerce sur cette page ────────────────────────── */
.woocommerce-account .woocommerce {
  max-width: none !important;
  padding: 0 !important;
}

/* ── Wrapper plein écran ─────────────────────────────────────── */
.apdg-login-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  background-color: #c9c5bb;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}

/* ── Logo APDG en haut ───────────────────────────────────────── */
.apdg-login-page__brand {
  position: absolute;
  top: 40px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.apdg-login-page__brand-text {
  font-family: var(--font-heading, 'Cormorant Garamond', serif);
  font-size: 28px;
  font-weight: 400;
  color: #ffffff;
  letter-spacing: 6px;
  text-transform: uppercase;
}

/* ── Card ────────────────────────────────────────────────────── */
.apdg-login-card {
  background: #ffffff;
  width: 100%;
  max-width: 400px;
  padding: 44px 44px 48px;
  border-radius: 12px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.18);
  position: relative;
  z-index: 1;
}

/* ── Logo sous-site ──────────────────────────────────────────── */
.apdg-login-card__logo {
  display: flex;
  justify-content: center;
  margin-bottom: 28px;
}

.apdg-login-card__logo-img {
  max-height: 56px;
  max-width: 180px;
  width: auto;
  object-fit: contain;
}

.apdg-login-card__logo-text {
  font-size: 20px;
  font-weight: 700;
  color: #1a1a1a;
  text-align: center;
}

/* ── Titre ───────────────────────────────────────────────────── */
.apdg-login-card__title {
  font-size: 22px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 24px;
  line-height: 1.2;
}

/* ── Notices WooCommerce ─────────────────────────────────────── */
.apdg-login-card .woocommerce-error,
.apdg-login-card .woocommerce-message,
.apdg-login-card .woocommerce-info {
  border-radius: 8px;
  font-size: 13px;
  margin-bottom: 18px;
  padding: 11px 14px;
  list-style: none;
}

.apdg-login-card .woocommerce-error {
  background: #fdf0f0;
  color: #9b2c2c;
  border: 1px solid #f5c0c0 !important;
  border-top: none !important;
}

/* ── Champs ──────────────────────────────────────────────────── */
.apdg-login-form__field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-bottom: 16px;
}

.apdg-login-form__field label {
  font-size: 13px;
  font-weight: 500;
  color: #1a1a1a;
}

.apdg-login-form__req {
  color: #c00;
  margin-left: 2px;
}

/* Inputs pilule */
.apdg-login-form .woocommerce-Input,
.apdg-login-form input[type="email"],
.apdg-login-form input[type="text"],
.apdg-login-form input[type="password"] {
  width: 100% !important;
  padding: 13px 18px !important;
  border: 1px solid #e0e0dc !important;
  border-radius: 40px !important;
  font-size: 14px !important;
  font-family: inherit !important;
  color: #1a1a1a !important;
  background: #fafaf8 !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 0.2s, background 0.2s, box-shadow 0.2s !important;
}

.apdg-login-form input:focus {
  border-color: #3D5A47 !important;
  box-shadow: 0 0 0 3px rgba(61, 90, 71, 0.08) !important;
}

.apdg-login-form input::placeholder {
  color: #bbb !important;
}

/* Toggle mot de passe */
.apdg-login-form__pwd-wrap {
  position: relative;
}

.apdg-login-form__pwd-wrap input {
  padding-right: 48px !important;
}

.apdg-login-form__toggle-pwd {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  color: #aaa;
  padding: 0;
  display: flex;
  align-items: center;
  line-height: 1;
  transition: color 0.2s;
}

.apdg-login-form__toggle-pwd:hover,
.apdg-login-form__toggle-pwd.is-active {
  color: #3D5A47;
}

/* Options */
.apdg-login-form__options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  gap: 12px;
}

.apdg-login-form__checkbox-label {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 13px;
  color: #555;
  cursor: pointer;
  user-select: none;
}

.apdg-login-form__checkbox-label input[type="checkbox"] {
  width: 17px !important;
  height: 17px !important;
  border-radius: 4px !important;
  accent-color: #3D5A47;
  cursor: pointer;
  flex-shrink: 0;
}

.apdg-login-form__lost-pwd {
  font-size: 13px;
  color: #888;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s;
}

.apdg-login-form__lost-pwd:hover {
  color: #3D5A47;
  text-decoration: underline;
}

/* Bouton submit pilule */
.apdg-login-form__submit.button,
.apdg-login-form__submit {
  display: block !important;
  width: 100% !important;
  padding: 15px 20px !important;
  background: #3D5A47 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 40px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  font-family: inherit !important;
  letter-spacing: 0.02em !important;
  cursor: pointer !important;
  transition: background 0.2s, transform 0.1s !important;
  text-align: center !important;
  box-shadow: none !important;
}

.apdg-login-form__submit:hover {
  background: #2e4435 !important;
}

.apdg-login-form__submit:active {
  transform: scale(0.99) !important;
}

/* Cacher le formulaire d'inscription WooCommerce */
.woocommerce-account .woocommerce-form-register {
  display: none !important;
}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 480px) {
  .apdg-login-card {
    padding: 36px 24px 40px;
    border-radius: 8px;
  }

  .apdg-login-form__options {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .apdg-login-page__brand {
    top: 24px;
  }
}
.woocommerce-account:not(.logged-in) .page-title {
  display: none !important;
}
/* ── Pastilles de couleur — fiche produit ── */
.product-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 6px;
}

.product-swatch {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid transparent;
    cursor: pointer;
    box-shadow: 0 0 0 1px rgba(0,0,0,0.15);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    padding: 0;
    background: none;
}

.product-swatch:hover {
    transform: scale(1.12);
    box-shadow: 0 0 0 1px rgba(0,0,0,0.3);
}

.product-swatch.is-selected {
    border-color: var(--apdg-primary, #1a2a3a);
    box-shadow: 0 0 0 3px var(--apdg-primary, #1a2a3a);
    transform: scale(1.08);
}

/* Label du coloris sélectionné affiché inline */
.product-info__variation-selected {
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 1px;
    opacity: 0.6;
    margin-left: 6px;
}


/* ══════════════════════════════════════════════════════════════════
   HERO SLIDER — colonne droite
   ══════════════════════════════════════════════════════════════════ */
 
/* Conteneur slider — positionné en absolu dans .home-hero__image-wrap */
.home-hero__slider {
    position: absolute;
    inset: 0;
    overflow: hidden;
}
 
/* Chaque slide — empilées, crossfade via opacity */
.home-hero__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.9s ease;
    pointer-events: none;
}
 
.home-hero__slide.is-active {
    opacity: 1;
    pointer-events: auto;
}
 
/* Image dans chaque slide */
.home-hero__slide .home-hero__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
 
/* Flèches prev / next */
.home-hero__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, border-color 0.2s;
}
 
.home-hero__arrow:hover {
    background: rgba(255, 255, 255, 0.30);
    border-color: rgba(255, 255, 255, 0.5);
}
 
.home-hero__arrow--prev { left: 14px; }
.home-hero__arrow--next { right: 14px; }
 
/* Dots de pagination */
.home-hero__dots {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 8px;
}
 
.home-hero__dot {
    width: 6px;
    height: 6px;
    border-radius: 3px;
    border: none;
    background: rgba(255, 255, 255, 0.4);
    cursor: pointer;
    padding: 0;
    transition: width 0.25s ease, background 0.25s ease;
}
 
.home-hero__dot.is-active {
    width: 20px;
    background: #fff;
}