/*
 * APDG Store — woocommerce.css
 * Styles WooCommerce : cartes produit, archive, fiche produit
 * Design Figma — avril 2026
 */

/* ══════════════════════════════════════════════════════════════
   CARTE PRODUIT (content-product.php)
   Utilisée dans : home, archive, related
   ══════════════════════════════════════════════════════════════ */

.prod-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 292px;
    flex-shrink: 0;
}

/* Zone image 292×292 */
.prod-card__image-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 292px;
    height: 292px;
    background: var(--color-surface-100);  /* #f4f4f5 */
    border-radius: 8px;
    overflow: hidden;
    text-decoration: none;
}

.prod-card__image-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 240px;
    height: 240px;
    position: relative;
    z-index: 1;
}

.prod-card__image-inner img,
.prod-card__img {
    width: 240px;
    height: 240px;
    object-fit: contain;
    display: block;
}

/* Badge (nouveauté, promo) */
.prod-card__badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: var(--color-surface-800);  /* #27272a */
    color: var(--color-surface-50);        /* white */
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: var(--fw-medium);
    line-height: 22px;
    padding: 4px 10px;
    border-radius: 100px;
    white-space: nowrap;
    z-index: 2;
}

/* Boutons action (panier + favoris) */
.prod-card__actions {
    position: absolute;
    top: 12px;
    right: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    z-index: 2;
    opacity: 0;
    transition: opacity 0.2s;
}

.prod-card__image-wrap:hover .prod-card__actions,
.prod-card__image-wrap:focus-within .prod-card__actions {
    opacity: 1;
}

.prod-card__action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 100px;
    border: none;
    cursor: pointer;
    box-shadow: 0 1px 5px rgba(0,0,0,0.1);
    transition: opacity 0.15s;
}

.prod-card__action-btn--cart {
    background: var(--color-surface-800);
    color: var(--color-surface-50);
}

.prod-card__action-btn--cart:hover { opacity: 0.85; }

.prod-card__action-btn--wishlist {
    background: var(--color-surface-50);
    color: var(--color-surface-950);
}

/* Pagination dots */
.prod-card__dots {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 4px;
    z-index: 2;
}

.prod-card__dot {
    width: 8px;
    height: 2px;
    border-radius: 100px;
    background: var(--color-surface-300);
}
.prod-card__dot--active { background: var(--color-surface-950); }

/* Infos produit */
.prod-card__info {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0 4px;
}

.prod-card__name {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: var(--fw-semibold);
    color: var(--color-primary-950);
    text-decoration: none;
    line-height: 24px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.prod-card__price-wrap {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.prod-card__price-old {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: var(--fw-regular);
    color: var(--color-primary-600);  /* #3c5f43 */
    line-height: 22px;
    text-decoration: line-through;
}

.prod-card__price-old .woocommerce-Price-amount,
.prod-card__price-old ins,
.prod-card__price-old del { text-decoration: none; }

.prod-card__price {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: var(--fw-medium);
    color: var(--color-primary-950);
    line-height: 24px;
}

.prod-card__price .woocommerce-Price-amount { font-weight: inherit; color: inherit; }

/* Swatches couleur */
.prod-card__swatches {
    display: flex;
    gap: 8px;
    align-items: center;
}

.prod-card__swatch {
    width: 24px;
    height: 24px;
    border-radius: 100px;
    display: block;
    position: relative;
}

.prod-card__swatch--active::after {
    content: '';
    position: absolute;
    inset: 2px;
    border-radius: 100px;
    border: 2px solid white;
}

/* ══════════════════════════════════════════════════════════════
   ARCHIVE PRODUITS
   ══════════════════════════════════════════════════════════════ */

/* Hero */
.archive-hero {
    position: relative;
    width: 100%;
    height: 400px;
    overflow: hidden;
    background: var(--color-surface-100);
}

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

.archive-hero__placeholder {
    width: 100%;
    height: 100%;
    background: var(--color-primary-200);
}

.archive-hero__wave {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 460px;
    pointer-events: none;
}

.archive-hero__wave-svg {
    width: 100%;
    height: auto;
}

/* Intro catégorie */
.archive-intro {
    background: var(--color-surface-50);
    padding: 80px 0 40px;
}

.archive-intro__title {
    font-family: var(--font-title);
    font-size: 24px;
    font-weight: var(--fw-semibold);
    color: var(--color-primary-950);
    margin-bottom: 16px;
    line-height: 32px;
}

.archive-intro__desc {
    font-family: var(--font-body);
    font-size: 16px;
    color: #000;
    line-height: 24px;
}

/* Layout principal */
.archive-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 0 48px;
    background: var(--color-surface-50);
    padding-top: 40px;
    padding-bottom: 80px;
    align-items: flex-start;
}

/* Sidebar filtres */
.archive-filters {
    padding: 24px 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Carte filtre */
.filter-card {
    background: var(--color-surface-50);
    border: 1px solid var(--color-surface-200);  /* #e4e4e7 */
    border-radius: 16px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 17px;
}

.filter-card__title {
    font-family: var(--font-title);
    font-size: 18px;
    font-weight: var(--fw-semibold);
    color: #000;
    line-height: 26px;
    margin: 0;
}

.filter-card__divider {
    height: 1px;
    background: var(--color-surface-200);
    border-radius: 100px;
}

/* Liste items filtre */
.filter-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.filter-list__item { display: block; }

/* Checkbox filtre */
.filter-checkbox {
    display: flex;
    align-items: center;
    gap: 16px;
    text-decoration: none;
    color: #000;
}

.filter-checkbox__box {
    width: 24px;
    height: 24px;
    border-radius: 8px;
    border: 1px solid var(--color-surface-400);  /* #a1a1aa */
    background: var(--color-surface-50);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.15s, border-color 0.15s;
}

.filter-checkbox--checked .filter-checkbox__box {
    background: var(--color-surface-950);
    border-color: var(--color-surface-950);
}

.filter-checkbox__label {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 24px;
}

/* Sélecteur couleur */
.color-selector {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px 8px 8px;
    border-radius: 100px;
    border: 1px solid var(--color-surface-200);
    background: var(--color-surface-50);
    text-decoration: none;
    color: #000;
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 24px;
    cursor: pointer;
}

.color-selector--active {
    border: 1.5px solid var(--color-surface-950);
}

.color-selector__dot {
    width: 32px;
    height: 32px;
    border-radius: 100px;
    flex-shrink: 0;
}

/* Main grille */
.archive-main {
    padding: 24px 100px 24px 24px;
}

/* Header grille */
.archive-grid-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
}

.archive-grid-header__count {
    font-family: var(--font-title);
    font-size: 18px;
    font-weight: var(--fw-semibold);
    color: #000;
    line-height: 26px;
}

/* Tri */
.archive-sort { display: flex; }

.archive-sort__select-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.archive-sort__select {
    appearance: none;
    background: var(--color-surface-50);
    border: none;
    box-shadow: 0 1px 5px rgba(0,0,0,0.1);
    border-radius: 100px;
    padding: 10px 40px 10px 16px;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: var(--fw-medium);
    color: var(--color-surface-950);
    cursor: pointer;
    outline: none;
}

.archive-sort__chevron {
    position: absolute;
    right: 14px;
    pointer-events: none;
    color: var(--color-surface-950);
}

/* Grille produits */
.archive-grid {
    display: grid;
    grid-template-columns: repeat(3, 292px);
    gap: 40px 24px;
    margin-bottom: 48px;
}

/* Pagination */
.archive-pagination {
    display: flex;
    justify-content: center;
    margin-top: 48px;
}

.archive-pagination .woocommerce-pagination ul {
    list-style: none;
    display: flex;
    gap: 8px;
}

.archive-pagination .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 100px;
    font-family: var(--font-body);
    font-size: 16px;
    text-decoration: none;
    color: var(--color-surface-950);
    border: 1px solid var(--color-surface-200);
    transition: background 0.15s;
}

.archive-pagination .page-numbers.current,
.archive-pagination .page-numbers:hover {
    background: var(--color-primary-500);
    color: white;
    border-color: var(--color-primary-500);
}

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

/* ══════════════════════════════════════════════════════════════
   FICHE PRODUIT
   ══════════════════════════════════════════════════════════════ */

/* Breadcrumb */
.product-breadcrumb {
    background: var(--color-primary-50);  /* #f2f7f3 */
    padding: 20px 0;
}

.product-breadcrumb__list {
    list-style: none;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 24px;
}

.product-breadcrumb__list a {
    color: var(--color-surface-950);
    text-decoration: none;
}

.product-breadcrumb__list a:hover { color: var(--color-primary-500); }

.product-breadcrumb__sep {
    color: var(--color-surface-400);
    font-size: 18px;
    line-height: 1;
}

.product-breadcrumb__current {
    color: var(--color-primary-600);  /* #3c5f43 */
    font-weight: var(--fw-semibold);
}

/* Wrapper détail produit */
.product-detail-wrap {
    background: var(--color-surface-50);
    padding: 80px 0 60px;
}

/* Layout 2 colonnes */
.product-detail {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 48px;
    align-items: flex-start;
}

/* Galerie */
.product-gallery {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.product-gallery__thumbs {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.product-gallery__thumb {
    width: 127px;
    height: 127px;
    background: var(--color-surface-100);
    border-radius: 8px;
    overflow: hidden;
    border: 2px solid transparent;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.15s;
}

.product-gallery__thumb:hover,
.product-gallery__thumb.active {
    border-color: var(--color-primary-500);
}

.product-gallery__thumb img {
    width: 110px;
    height: 110px;
    object-fit: contain;
    display: block;
}

.product-gallery__main {
    width: 400px;
    height: 400px;
    background: var(--color-surface-100);
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-gallery__main-img {
    width: 379px;
    height: 379px;
    object-fit: contain;
    display: block;
    transition: transform 0.3s ease;
}

/* Infos produit */
.product-info {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.product-info__ref {
    font-family: var(--font-body);
    font-size: 12px;
    color: #000;
    line-height: 18px;
}

.product-info__header {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.product-info__title {
    font-family: var(--font-title);
    font-size: 20px;
    font-weight: var(--fw-semibold);
    color: var(--color-surface-950);
    line-height: 28px;
    margin: 0;
}

.product-info__stock-badge {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: var(--fw-medium);
    padding: 4px 10px;
    border-radius: 100px;
    white-space: nowrap;
}

.product-info__stock-badge--in {
    background: var(--color-surface-800);
    color: var(--color-surface-50);
}

.product-info__stock-badge--out {
    background: #fef2f2;
    color: #dc2626;
}

/* Prix */
.product-info__price {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.product-info__price-old {
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-primary-600);
    text-decoration: line-through;
}

.product-info__price-old .woocommerce-Price-amount { text-decoration: inherit; }

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

/* Divider */
.product-info__divider {
    height: 1px;
    background: var(--color-surface-200);
    border-radius: 100px;
    margin: 4px 0;
}

/* Description courte */
.product-info__short-desc {
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-surface-950);
    line-height: 24px;
}

/* Dimensions */
.product-info__dims {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-surface-950);
    line-height: 24px;
}

.product-info__dims strong { font-weight: var(--fw-semibold); }

/* Qty label */
.product-info__qty-label {
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-surface-950);
    line-height: 24px;
}

/* Section add to cart */
.product-info__add-to-cart {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Form row stepper + bouton */
.product-add-form__row {
    display: flex;
    gap: 12px;
    align-items: center;
}

/* Stepper produit */
.product-stepper {
    display: flex;
    align-items: center;
    gap: 16px;
    background: var(--color-surface-200);  /* #e4e4e7 */
    border-radius: 100px;
    padding: 12px;
    flex-shrink: 0;
}

.product-stepper__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    background: none;
    cursor: pointer;
    color: var(--color-surface-950);
    flex-shrink: 0;
}

.product-stepper__input {
    width: 36px;
    text-align: center;
    border: none;
    background: none;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: var(--fw-semibold);
    color: var(--color-surface-950);
    outline: none;
    -moz-appearance: textfield;
}

.product-stepper__input::-webkit-inner-spin-button,
.product-stepper__input::-webkit-outer-spin-button { -webkit-appearance: none; }

.product-stepper__unit {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: var(--fw-semibold);
    color: var(--color-surface-950);
    white-space: nowrap;
}

/* Bouton Ajouter au panier */
.product-add-form__btn {
    flex: 1;
    background: var(--color-primary-800);  /* #283d2d */
    color: var(--color-primary-50);        /* #f2f7f3 */
    border: none;
    border-radius: 100px;
    height: 56px;
    padding: 0 24px;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: var(--fw-medium);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: opacity 0.2s;
    text-decoration: none;
}

.product-add-form__btn:hover { opacity: 0.88; color: var(--color-primary-50); }

/* Description complète */
.product-description-wrap {
    background: var(--color-surface-50);
    padding: 40px 0 80px;
    border-top: 1px solid var(--color-surface-100);
}

.product-description-wrap__title {
    font-family: var(--font-title);
    font-size: 24px;
    font-weight: var(--fw-semibold);
    color: var(--color-primary-950);
    margin-bottom: 24px;
    line-height: 32px;
}

.product-description-wrap__body {
    font-family: var(--font-body);
    font-size: 16px;
    color: #000;
    line-height: 24px;
    max-width: 900px;
}

.product-description-wrap__body ul { padding-left: 24px; }
.product-description-wrap__body li { margin-bottom: 4px; }

/* Section valeurs produit */
.product-values {
    background: var(--color-primary-500);
    padding: 80px 0;
}

.product-values__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
}

.product-values__item {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 24px;
}

.product-values__icon {
    color: var(--color-surface-50);
    flex-shrink: 0;
}

.product-values__item h3 {
    font-family: var(--font-title);
    font-size: 24px;
    font-weight: var(--fw-semibold);
    color: var(--color-surface-50);
    line-height: 32px;
    margin: 0;
}

.product-values__item p {
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-surface-50);
    line-height: 24px;
    margin: 0;
}

/* Produits associés */
.product-related {
    background: var(--color-surface-50);
    padding: 80px 0;
}

.product-related .home-products-carousel__track {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

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

@media (max-width: 1280px) {
    .archive-filters { padding: 0 0 24px; }
    .archive-main { padding-right: 24px; }
    .archive-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1024px) {
    .archive-layout { grid-template-columns: 1fr; gap: 0; }
    .archive-filters { padding: 0 0 32px; }
    .product-detail { grid-template-columns: 1fr; }
    .product-gallery { justify-content: center; }
    .product-values__grid { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 768px) {
    .archive-grid { grid-template-columns: repeat(2, 1fr); }
    .prod-card { width: 100%; }
    .prod-card__image-wrap { width: 100%; }
    .product-gallery__main { width: 100%; max-width: 400px; }
    .product-gallery { flex-direction: column-reverse; }
    .product-gallery__thumbs { flex-direction: row; }
    .archive-hero { height: 220px; }
}

@media (max-width: 480px) {
    .archive-grid { grid-template-columns: 1fr; }
    .product-add-form__row { flex-direction: column; align-items: stretch; }
    .product-stepper { justify-content: center; }
}

/* ══════════════════════════════════════════════════════════════
   PANIER DEFAULT WOOCOMMERCE — styles appliqués aux classes WC
   Cible le shortcode [woocommerce_cart] avec les classes natives
   ══════════════════════════════════════════════════════════════ */

/* Wrapper global */
.woocommerce-cart .woocommerce {
    padding: 60px 0 80px;
}

/* ── Tableau produits ──────────────────────────────────────── */
.woocommerce-cart table.shop_table {
    width: 100%;
    border-collapse: collapse;
    border: none;
    margin-bottom: 40px;
    font-family: var(--font-body);
}

/* Headers */
.woocommerce-cart table.shop_table thead th {
    font-family: var(--font-body);
    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% */
    text-align:left;
    letter-spacing: 0.05em;
    padding: 0 16px 16px;
    border-bottom: 2px solid var(--color-surface-200);
    background: none;
    white-space: nowrap;
}

/* Lignes produit */
.woocommerce-cart table.shop_table.cart tbody tr {
    border-bottom: 1px solid var(--color-surface-100);
    background: none !important;
}

.woocommerce-cart table.shop_table.cart tbody tr td {
    padding: 20px 16px;
    border: none;
    vertical-align: middle;
    background: none;
}

/* Croix supprimer */
.woocommerce-cart table.cart td.product-remove a.remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: none;
    color: var(--color-surface-300) !important;
    font-size: 20px;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}
.woocommerce-cart table.cart td.product-remove a.remove:hover {
    background: #fef2f2 !important;
    color: #ef4444 !important;
}

/* Miniature produit */
.woocommerce-cart table.cart td.product-thumbnail {
    width: 110px;
}
.woocommerce-cart table.cart td.product-thumbnail a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    background: var(--color-surface-100);
    border-radius: 8px;
    overflow: hidden;
}
.woocommerce-cart table.cart td.product-thumbnail img {
    width: 82px !important;
    height: 82px !important;
    object-fit: contain !important;
    border-radius: 0 !important;
}

/* Nom produit */
.woocommerce-cart table.cart td.product-name a {
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: var(--fw-semibold);
    color: var(--color-surface-950);
    text-decoration: none;
}
.woocommerce-cart table.cart td.product-name a:hover {
    color: var(--color-primary-500);
}
.woocommerce-cart table.cart td.product-name dl.variation {
    font-size: 13px;
    color: var(--color-surface-600);
    margin-top: 4px;
}

/* Prix */
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal {
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: var(--fw-semibold);
    color: var(--color-surface-950);
}

/* Quantité — wrapper pill gris avec boutons injectés par JS */
.woocommerce-cart table.cart td.product-quantity .quantity {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--color-surface-200);
    border-radius: 100px;
    padding: 8px 14px;
}

.woocommerce-cart table.cart td.product-quantity input.qty {
    width: 28px;
    text-align: center;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: var(--fw-semibold);
    color: var(--color-surface-950);
    padding: 0 !important;
    outline: none;
    -moz-appearance: textfield;
    order: 2;
}
.woocommerce-cart table.cart td.product-quantity input.qty::-webkit-inner-spin-button,
.woocommerce-cart table.cart td.product-quantity input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
}

/* Boutons injectés par JS */
.apdg-qty-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: none;
    background: none;
    cursor: pointer;
    color: var(--color-surface-950);
    border-radius: 50%;
    flex-shrink: 0;
    transition: background 0.15s;
    padding: 0;
}
.apdg-qty-btn:hover { background: var(--color-surface-300); }
.apdg-qty-btn--dec { order: 0; }
.apdg-qty-btn--inc { order: 2; }

/* Label "lot" après le + */
.apdg-qty-unit {
    order: 4;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: var(--fw-medium);
    color: var(--color-surface-600);
    white-space: nowrap;
}

/* Zone actions (code promo + mettre à jour) */
.woocommerce-cart table.cart td.actions {
    padding: 16px;
    border-top: 1px solid var(--color-surface-200);
    border-bottom: none;
}

.woocommerce-cart table.cart td.actions .coupon {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 0;
}

.woocommerce-cart table.cart td.actions .coupon input#coupon_code {
    flex: 1;
    max-width: 240px;
    padding: 10px 16px;
    border: 1px solid var(--color-surface-200) !important;
    border-radius: 100px;
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-surface-950);
    background: var(--color-surface-50);
    outline: none;
}

.woocommerce-cart table.cart td.actions .coupon .button,
.woocommerce-cart table.cart td.actions button[name="update_cart"] {
    height: 44px;
    padding: 0 20px;
    border-radius: 100px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: var(--fw-medium);
    background: var(--color-surface-100) !important;
    color: var(--color-surface-950) !important;
    border: 1px solid var(--color-surface-200) !important;
    cursor: pointer;
    transition: background 0.15s;
}
.woocommerce-cart table.cart td.actions .coupon .button:hover,
.woocommerce-cart table.cart td.actions button[name="update_cart"]:hover {
    background: var(--color-surface-200) !important;
}

/* ── Totaux panier (cart_totals) ───────────────────────────── */
.woocommerce-cart .cart-collaterals {
    display: flex;
    justify-content: flex-end;
    margin-top: 8px;
}

.woocommerce-cart .cart-collaterals .cart_totals {
    width: 100%;
    max-width: 420px;
    background: var(--color-surface-100);
    border-radius: 12px;
    padding: 24px;
}

.woocommerce-cart .cart_totals h2 {
    font-family: var(--font-title);
    font-size: 18px;
    font-weight: var(--fw-semibold);
    color: var(--color-primary-950);
    margin: 0 0 20px;
    line-height: 26px;
    display: none; /* titre géré par le tableau */
}

.woocommerce-cart .cart_totals table.shop_table {
    margin-bottom: 20px;
    border: none;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    padding: 10px 0;
    border: none;
    border-bottom: 1px solid var(--color-surface-200);
    font-family: var(--font-body);
    font-size: 15px;
    color: var(--color-surface-950);
    background: none;
}

.woocommerce-cart .cart_totals table tr:last-child th,
.woocommerce-cart .cart_totals table tr:last-child td {
    border-bottom: none;
    font-family: var(--font-title);
    font-size: 18px;
    font-weight: var(--fw-semibold);
    color: var(--color-primary-950);
    padding-top: 16px;
}

.woocommerce-cart .cart_totals table td {
    text-align: right;
}

/* Bouton valider la commande */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 56px;
    border-radius: 100px;
    background: var(--color-primary-800) !important;
    color: var(--color-primary-50) !important;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: var(--fw-medium);
    text-decoration: none;
    border: none;
    transition: opacity 0.2s;
    line-height: 1;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    opacity: 0.88;
    background: var(--color-primary-800) !important;
    color: var(--color-primary-50) !important;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 768px) {
    .woocommerce-cart table.shop_table.cart thead { display: none; }
    .woocommerce-cart table.shop_table.cart tbody tr td {
        display: block;
        padding: 8px 12px;
        border: none;
        text-align: right;
    }
    .woocommerce-cart table.shop_table.cart tbody tr td::before {
        content: attr(data-title) " ";
        float: left;
        font-weight: var(--fw-semibold);
        font-size: 13px;
        color: var(--color-surface-600);
    }
    .woocommerce-cart table.shop_table.cart tbody tr td.product-thumbnail { text-align: center; }
    .woocommerce-cart table.shop_table.cart tbody tr td.product-thumbnail::before { display: none; }
    .woocommerce-cart .cart-collaterals { justify-content: stretch; }
    .woocommerce-cart .cart_totals { max-width: 100%; }
}

/* ══════════════════════════════════════════════════════════════
   CHECKOUT DEFAULT WOOCOMMERCE — styles appliqués aux classes WC
   Layout : adresse PLEINE LARGEUR + récap calé à droite en dessous
   ══════════════════════════════════════════════════════════════ */

.woocommerce-checkout {
    padding: 60px 0 80px;
}

/* Titre page */
.woocommerce-checkout h1,
.woocommerce-checkout h2.woocommerce-column__title,
.woocommerce-checkout #order_review_heading {
    font-family: var(--font-title);
    font-weight: var(--fw-semibold);
    color: var(--color-primary-950);
    line-height: 1.3;
    margin: 0 0 28px;
}
.woocommerce-checkout h1 { font-size: 28px; }
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout h2.woocommerce-column__title { font-size: 20px; }

/* Code promo */
.woocommerce-checkout .woocommerce-form-coupon-toggle {
    margin-bottom: 24px;
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-surface-600);
}
.woocommerce-checkout .woocommerce-form-coupon-toggle a {
    color: var(--color-primary-600);
    text-decoration: none;
}

/* ── BLOC ADRESSE — pleine largeur ─────────────────────────── */
.woocommerce-checkout .col2-set {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    width: 100%;
    margin-bottom: 48px;
}

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
    width: 100% !important;
    float: none !important;
}

/* Titres de section */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper h3,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper h3,
.woocommerce-checkout h3#ship-to-different-address,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
    font-family: var(--font-title);
    font-size: 18px;
    font-weight: var(--fw-semibold);
    color: var(--color-primary-950);
    margin: 0 0 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--color-surface-100);
}

/* ── Champs ──────────────────────────────────────────────── */
.woocommerce-checkout .form-row {
    margin-bottom: 16px;
    clear: both;
}
.woocommerce-checkout .form-row.form-row-first,
.woocommerce-checkout .form-row.form-row-last {
    width: calc(50% - 8px) !important;
    float: left !important;
    clear: none;
}
.woocommerce-checkout .form-row.form-row-first { margin-right: 16px !important; }
.woocommerce-checkout .form-row.form-row-last  { margin-right: 0 !important; }

.woocommerce-checkout .form-row label {
    display: block;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: var(--fw-medium);
    color: var(--color-surface-600);
    margin-bottom: 6px;
    line-height: 20px;
}
.woocommerce-checkout .form-row label .required {
    color: var(--color-primary-500);
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
    width: 100%;
    padding: 13px 16px !important;
    border: 1px solid var(--color-surface-200) !important;
    border-radius: 8px !important;
    font-family: var(--font-body) !important;
    font-size: 15px !important;
    color: var(--color-surface-950) !important;
    background: var(--color-surface-50) !important;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
    line-height: 24px;
    box-shadow: none !important;
    appearance: none;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
    border-color: var(--color-primary-500) !important;
    box-shadow: 0 0 0 3px rgba(80,121,87,0.12) !important;
}

/* Select2 (pays) */
.woocommerce-checkout .select2-container .select2-selection--single {
    height: 52px !important;
    border: 1px solid var(--color-surface-200) !important;
    border-radius: 8px !important;
    background: var(--color-surface-50) !important;
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 52px !important;
    padding: 0 16px !important;
    font-family: var(--font-body);
    font-size: 15px;
    color: var(--color-surface-950) !important;
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
    height: 52px !important;
    right: 12px !important;
}

/* ── RÉCAPITULATIF + PAIEMENT — calé à droite ──────────────── */
#order_review_heading {
    margin-bottom: 16px;
    clear: both;
}

/* Wrapper qui regroupe récap + paiement à droite */
.woocommerce-checkout #order_review,
.woocommerce-checkout #payment {
    max-width: 480px;
    margin-left: auto;
    margin-right: 0;
    clear: both;
}

.woocommerce-checkout #order_review {
    background: var(--color-surface-100);
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 16px;
}

.woocommerce-checkout #order_review table.shop_table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--font-body);
    font-size: 14px;
}
.woocommerce-checkout #order_review table thead th {
    font-size: 12px;
    font-weight: var(--fw-semibold);
    color: var(--color-surface-600);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0 0 12px;
    border-bottom: 1px solid var(--color-surface-200);
    background: none;
}
.woocommerce-checkout #order_review table tbody td,
.woocommerce-checkout #order_review table tbody th {
    padding: 12px 0;
    border-bottom: 1px solid var(--color-surface-100);
    background: none;
    color: var(--color-surface-950);
}
.woocommerce-checkout #order_review table tfoot th,
.woocommerce-checkout #order_review table tfoot td {
    padding: 10px 0;
    border-top: 1px solid var(--color-surface-200);
    background: none;
    font-weight: var(--fw-semibold);
}
.woocommerce-checkout #order_review table tfoot .order-total th,
.woocommerce-checkout #order_review table tfoot .order-total td {
    font-family: var(--font-title);
    font-size: 17px;
    font-weight: var(--fw-semibold);
    color: var(--color-primary-950);
    border-top: 2px solid var(--color-surface-200);
    padding-top: 14px;
}

/* Section paiement */
.woocommerce-checkout #payment {
    background: var(--color-surface-100);
    border-radius: 12px;
    padding: 24px;
}
.woocommerce-checkout #payment .wc_payment_methods {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
}
.woocommerce-checkout #payment .wc_payment_methods li label {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: var(--fw-semibold);
    color: var(--color-surface-950);
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: default;
}
.woocommerce-checkout #payment .wc_payment_methods li input[type="radio"] {
    display: none;
}
.payment_box {
    background: var(--color-primary-50);
    border-radius: 8px;
    padding: 12px 16px;
    margin: 8px 0 16px;
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--color-surface-600);
    line-height: 20px;
}
.payment_box p { margin: 0; }

/* Mentions RGPD */
.woocommerce-checkout #payment .woocommerce-privacy-policy-text,
.woocommerce-checkout #payment .terms {
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--color-surface-600);
    line-height: 20px;
    margin-bottom: 16px;
}
.woocommerce-checkout #payment .woocommerce-privacy-policy-text a { color: var(--color-primary-600); }

/* Bouton Commander */
.woocommerce-checkout #payment #place_order {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 56px !important;
    border-radius: 100px !important;
    background: var(--color-primary-800) !important;
    color: var(--color-primary-50) !important;
    font-family: var(--font-body) !important;
    font-size: 16px !important;
    font-weight: var(--fw-medium) !important;
    border: none !important;
    cursor: pointer !important;
    transition: opacity 0.2s !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
    line-height: 1 !important;
}
.woocommerce-checkout #payment #place_order:hover {
    opacity: 0.88 !important;
}

/* ══════════════════════════════════════════════════════════════
   PAGE CONFIRMATION (order-received) — classes WooCommerce natives
   ══════════════════════════════════════════════════════════════ */

.woocommerce-order {
    padding: 60px 0 80px;
    font-family: var(--font-body);
}

/* Titre "Commande reçue" */
.woocommerce-order h1 {
    font-family: var(--font-title);
    font-size: 32px;
    font-weight: var(--fw-semibold);
    color: var(--color-primary-950);
    margin-bottom: 8px;
}

/* Message de confirmation */
.woocommerce-order .woocommerce-order-received p:first-child,
.woocommerce-thankyou-order-received {
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-surface-600);
    margin-bottom: 32px;
}

/* ── Bandeau de confirmation (numéro, date, email, total) ─── */
.woocommerce-order ul.woocommerce-order-overview {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    list-style: none;
    padding: 0;
    margin: 0 0 48px;
    background: var(--color-primary-50);
    border: 1px solid var(--color-primary-200);
    border-radius: 12px;
    overflow: hidden;
}

.woocommerce-order ul.woocommerce-order-overview li {
    flex: 1;
    min-width: 150px;
    padding: 20px 24px;
    border-right: 1px solid var(--color-primary-200);
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.woocommerce-order ul.woocommerce-order-overview li:last-child {
    border-right: none;
}

.woocommerce-order ul.woocommerce-order-overview li strong {
    display: block;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-surface-600);
    margin-bottom: 4px;
}

.woocommerce-order ul.woocommerce-order-overview li span,
.woocommerce-order ul.woocommerce-order-overview li .woocommerce-Price-amount {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: var(--fw-semibold);
    color: var(--color-surface-950);
}

/* ── Layout : détails commande + adresse ──────────────────── */
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details {
    margin-bottom: 40px;
}

/* Titres de section */
.woocommerce-order h2 {
    font-family: var(--font-title);
    font-size: 20px;
    font-weight: var(--fw-semibold);
    color: var(--color-primary-950);
    margin: 0 0 20px;
}

/* Tableau détails commande */
.woocommerce-order .woocommerce-order-details table.woocommerce-table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--font-body);
    font-size: 14px;
    background: var(--color-surface-50);
    border: 1px solid var(--color-surface-200);
    border-radius: 12px;
    overflow: hidden;
}
.woocommerce-order .woocommerce-order-details table thead th {
    background: var(--color-surface-100);
    padding: 14px 20px;
    font-size: 12px;
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-surface-600);
    border-bottom: 1px solid var(--color-surface-200);
    text-align: left;
}
.woocommerce-order .woocommerce-order-details table tbody td {
    padding: 16px 20px;
    border-bottom: 1px solid var(--color-surface-100);
    color: var(--color-surface-950);
}
.woocommerce-order .woocommerce-order-details table tfoot th,
.woocommerce-order .woocommerce-order-details table tfoot td {
    padding: 12px 20px;
    border-top: 1px solid var(--color-surface-200);
    font-weight: var(--fw-semibold);
    font-size: 15px;
}
.woocommerce-order .woocommerce-order-details table tfoot .order-total th,
.woocommerce-order .woocommerce-order-details table tfoot .order-total td {
    font-family: var(--font-title);
    font-size: 17px;
    font-weight: var(--fw-semibold);
    color: var(--color-primary-950);
    background: var(--color-primary-50);
    border-top: 2px solid var(--color-primary-200);
}

/* Adresses client */
.woocommerce-order .woocommerce-customer-details address {
    background: var(--color-surface-100);
    border-radius: 12px;
    padding: 24px;
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 26px;
    color: var(--color-surface-950);
    font-style: normal;
    border: none;
}

.woocommerce-order .woocommerce-column__title {
    font-family: var(--font-title);
    font-size: 18px;
    font-weight: var(--fw-semibold);
    color: var(--color-primary-950);
    margin-bottom: 16px;
}

/* ── Checkout : paiement interne, RGPD, CGV, notes ──────── */
.apdg-payment-info {
    margin: 1.25rem 0; 
    background: var(--color-surface-100, #F5F5F5); border-radius: 6px;
}
.apdg-payment-info__title {
    font-family: var(--font-title, Bitter), serif;
    font-size: .9375rem; font-weight: 600;
    color: var(--color-surface-950, #09090B); margin: 0 0 .375rem;
}
.apdg-payment-info__desc {
    font-family: var(--font-body, Poppins), sans-serif;
    font-weight:500;
    font-size: .8125rem; color: var(--color-surface-600, #6B7280); line-height: 1.6; margin: 0;
}

.apdg-privacy-text {
    font-family: var(--font-body, Poppins), sans-serif;
    font-size: .8125rem; color: var(--color-surface-600, #6B7280); line-height: 1.6; margin: 0 0 1rem;
}
.apdg-privacy-text a { color: var(--color-primary-600, #3D6B4A); }

.apdg-cgv-wrap { margin: .75rem 0; }
.apdg-cgv-item {
    display: flex; align-items: flex-start; gap: .6rem; margin-bottom: .75rem;
    font-family: var(--font-body, Poppins), sans-serif;
    font-size: .875rem; color: var(--color-surface-950, #09090B); line-height: 1.5;
}
.apdg-cgv-item input[type="checkbox"] {
    width: 18px; height: 18px; min-width: 18px; margin-top: 1px;
    border: 2px solid var(--color-surface-200, #D1D5DB); border-radius: 4px;
    cursor: pointer; flex-shrink: 0;
    accent-color: var(--color-primary-800, #283D2D);
}
.apdg-cgv-item label { cursor: pointer; }
.apdg-cgv-item a { color: var(--color-primary-600, #3D6B4A); }

.apdg-order-notes { margin: 1rem 0; }
.apdg-order-notes label {
    display: block;
    font-family: var(--font-body, Poppins), sans-serif;
    font-size: .875rem; color: var(--color-surface-950, #09090B); margin-bottom: .375rem;
}
.apdg-order-notes textarea {
    width: 100%; border: 1px solid var(--color-surface-200, #D1D5DB); border-radius: 8px;
    padding: .75rem 1rem;
    font-family: var(--font-body, Poppins), sans-serif;
    font-size: .875rem; resize: vertical; box-sizing: border-box; outline: none; min-height: 80px;
}
.apdg-order-notes textarea:focus { border-color: var(--color-primary-600, #3D6B4A); }

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 1024px) {
    .woocommerce-checkout .col2-set {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .woocommerce-checkout #order_review,
    .woocommerce-checkout #payment {
        max-width: 100%;
        margin-left: 0;
    }
}
@media (max-width: 768px) {
    .woocommerce-checkout .form-row.form-row-first,
    .woocommerce-checkout .form-row.form-row-last {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
    }
    .woocommerce-order ul.woocommerce-order-overview {
        flex-direction: column;
    }
    .woocommerce-order ul.woocommerce-order-overview li {
        border-right: none;
        border-bottom: 1px solid var(--color-primary-200);
    }
    .woocommerce-order ul.woocommerce-order-overview li:last-child {
        border-bottom: none;
    }
}
/* ══════════════════════════════════════════════════════════════
   SÉLECTEUR D'ADRESSES — checkout
   ══════════════════════════════════════════════════════════════ */

.apdg-address-picker {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 8px;
}

.apdg-address-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 20px;
    border: 1.5px solid var(--color-surface-200);
    border-radius: 12px;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
    background: var(--color-surface-50);
}
.apdg-address-card:hover { border-color: var(--color-primary-300); }
.apdg-address-card--active,
.apdg-address-card.is-selected {
    border-color: var(--color-primary-500);
    background: var(--color-primary-50);
}

.apdg-address-card__radio { flex-shrink: 0; padding-top: 2px; }
.apdg-address-card__radio input[type="radio"] { display: none; }
.apdg-address-card__radio label {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid var(--color-surface-300);
    cursor: pointer;
    transition: border-color 0.15s;
    margin: 0;
    padding: 0;
}
.apdg-address-card--active .apdg-address-card__radio label,
.apdg-address-card.is-selected .apdg-address-card__radio label {
    border-color: var(--color-primary-500);
    background: var(--color-primary-500);
    box-shadow: inset 0 0 0 3px var(--color-surface-50);
}

.apdg-address-card__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.apdg-address-card__tag {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-primary-600);
    background: var(--color-primary-200);
    border-radius: 100px;
    padding: 3px 10px;
    margin-bottom: 6px;
    width: fit-content;
}
.apdg-address-card__tag--alt {
    color: var(--color-surface-600);
    background: var(--color-surface-100);
}

.apdg-address-card__name {
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: var(--fw-semibold);
    color: var(--color-surface-950);
    line-height: 22px;
    margin: 0;
}
.apdg-address-card__line {
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-surface-600);
    line-height: 20px;
    margin: 0;
}
.apdg-address-card__meta {
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--color-surface-400);
    line-height: 20px;
    margin: 4px 0 0;
}

/* ══════════════════════════════════════════════════════════════
   CHECKBOXES CGV — checkout
   ══════════════════════════════════════════════════════════════ */

.apdg-checkout-checkbox {
    display: flex !important;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    background: var(--color-surface-100);
    border-radius: 8px;
    margin-bottom: 12px !important;
    width: 100% !important;
    float: none !important;
}
.apdg-checkout-checkbox label {
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    color: var(--color-surface-950) !important;
    line-height: 22px !important;
    margin: 0 !important;
    cursor: pointer;
}
.apdg-checkout-checkbox label a {
    color: var(--color-primary-600);
    text-decoration: underline;
}
.apdg-checkout-checkbox input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px;
    border: 1.5px solid var(--color-surface-300) !important;
    border-radius: 4px !important;
    margin: 2px 0 0 !important;
    flex-shrink: 0;
    cursor: pointer;
    accent-color: var(--color-primary-500);
}

/* ── Colonne Qté totale panier ─────────────────────────────── */
.woocommerce-cart table.shop_table th.product-quantity-total,
.woocommerce-cart table.shop_table td.product-quantity-total {
    text-align: center;
    white-space: nowrap;
}

.cart-qty-total {
    display: block;
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: var(--fw-semibold);
    color: var(--color-surface-950);
    line-height: 26px;
}

.cart-qty-total__label {
    display: block;
    font-family: var(--font-body);
    font-size: 12px;
    color: var(--color-surface-600);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 18px;
}

/* Colisage sous le nom produit */
.cart-product__colisage {
    display: block;
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--color-surface-600);
    margin-top: 3px;
    line-height: 20px;
}

/* ══════════════════════════════════════════════════════════════════
   BOUTON ŒIL (galerie)
   ══════════════════════════════════════════════════════════════════ */

.prod-card__action-btn--eye {
    background: rgba(255, 255, 255, 0.92);
    color: var(--color-surface-950);
}

.prod-card__action-btn--eye:hover { opacity: 0.85; }


/* ══════════════════════════════════════════════════════════════════
   MODALES GÉNÉRIQUES (quick-add + galerie)
   ══════════════════════════════════════════════════════════════════ */
.apdg-modal__panel {
    position: relative;
  	z-index: 1;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.25);
    width: 480px;
    padding: 24px;
    max-height: 90vh;
    overflow-y: auto;
    animation: apdgModalIn 0.22s ease forwards;
}

.apdg-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.apdg-modal[hidden] { display: none; }

.apdg-modal__backdrop {
    position: absolute;
  	z-index: 0;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    cursor: pointer;
}

/* ── Header : image + méta ── */
.apdg-quick-add__header {
    display: flex;
    gap: 32px;
    align-items: center;
    padding: 0 0 34px;
    border-bottom: none;
}

.apdg-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--color-surface-100);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-surface-950);
    transition: background 0.15s;
}

.apdg-modal__close:hover { background: var(--color-surface-200); }

.apdg-quick-add__img-wrap {
    width: 150px;
    height: 180px;
    flex-shrink: 0;
    background: var(--color-surface-100);
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    align-items: center;
    padding: 14px 0;
}

.apdg-quick-add__img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.apdg-quick-add__meta {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.apdg-quick-add__name {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    color: var(--color-surface-950);
    margin: 0;
    padding-right: 28px;
}

.apdg-quick-add__desc { display: none; }

.apdg-quick-add__price {
    display: flex;
    flex-direction: row;
    gap: 4px;
}

.apdg-quick-add__price .woocommerce-Price-amount {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 500;
    color: var(--color-surface-950);
    line-height: 24px;
}

/* ── Dividers ── */
.apdg-quick-add__divider {
    height: 1px;
    background: var(--color-surface-200);
    border-radius: 100px;
    width: 100%;
    flex-shrink: 0;
}

/* ── Zone quantité ── */
.apdg-quick-add__qty-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 34px 0;
    border-bottom: none;
    gap: 12px;
}

.apdg-quick-add__qty-label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 16px;
    font-weight: 400;
    color: var(--color-surface-950);
    line-height: 24px;
}

.apdg-quick-add__qty-units {
    font-size: 16px;
    color: var(--color-surface-950);
}

.apdg-quick-add__qty-ctrl {
  	width: min-content;
    display: flex;
    align-items: center;
    gap: 16px;
    background: var(--color-surface-200);
    border-radius: 100px;
    overflow: visible;
    padding: 12px;
    flex-shrink: 0;
}

.apdg-quick-add__qty-ctrl .apdg-qty-btn {
    width: 32px;
    height: 32px;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-surface-950);
    transition: opacity 0.15s;
    padding: 0;
    flex-shrink: 0;
}

.apdg-quick-add__qty-ctrl .apdg-qty-btn:hover { opacity: 0.6; }

.apdg-quick-add__qty-input {
    width: 100%;
    min-width: 40px;
    border: none;
    background: none;
    text-align: center;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 600;
    color: var(--color-surface-950);
    line-height: 24px;
    -moz-appearance: textfield;
}

.apdg-quick-add__qty-input::-webkit-inner-spin-button,
.apdg-quick-add__qty-input::-webkit-outer-spin-button { -webkit-appearance: none; }

/* ── Footer CTA ── */
.apdg-quick-add__footer {
    padding: 34px 0 0;
}

.apdg-quick-add__submit {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 16px;
    border-radius: 100px;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    letter-spacing: 0;
    text-transform: none;
    cursor: pointer;
    border: none;
    background: var(--color-primary-800, #283d2d);
    color: var(--color-primary-50, #f2f7f3);
    font-family: var(--font-body);
    transition: opacity 0.15s;
}

.apdg-quick-add__submit:hover    { opacity: 0.88; }
.apdg-quick-add__submit.is-added  { background: #22c55e; }
.apdg-quick-add__submit:disabled  { opacity: 0.5; cursor: not-allowed; }

.apdg-quick-add__no-payment { display: none; }
/* ══════════════════════════════════════════════════════════════════
   GALERIE
   ══════════════════════════════════════════════════════════════════ */

.apdg-modal__panel--gallery { max-width: 600px; }

.apdg-gallery__main-wrap {
    aspect-ratio: 4/3;
    background: var(--color-surface-100);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 16px 16px 0 0;
}

.apdg-gallery__main-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 24px;
    display: block;
}

/* Vignettes */
.apdg-gallery__thumbs {
    display: flex;
    gap: 8px;
    padding: 12px 20px;
    border-bottom: 1px solid var(--color-surface-100);
    overflow-x: auto;
}

.apdg-gallery__thumb {
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    border-radius: 6px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid transparent;
    transition: border-color 0.15s;
    background: var(--color-surface-100);
}

.apdg-gallery__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.apdg-gallery__thumb--active { border-color: var(--color-primary-500); }

.apdg-gallery__thumbs:empty,
.apdg-gallery__thumbs:has(.apdg-gallery__thumb:only-child) { display: none; }

/* Infos */
.apdg-gallery__info { padding: 20px 24px 24px; }

.apdg-gallery__name {
    font-family: var(--font-title);
    font-size: 20px;
    font-weight: 600;
    color: var(--color-surface-950);
    margin: 0 0 6px;
}

.apdg-gallery__desc {
    font-size: var(--text-sm);
    color: var(--color-surface-500);
    line-height: 1.6;
    margin: 0 0 10px;
}

.apdg-gallery__price {
    font-family: var(--font-title);
    font-size: 22px;
    color: var(--color-surface-950);
}

.apdg-gallery__price .woocommerce-Price-amount { font-family: inherit; color: inherit; }
/* Panneau de la modale */
#ocwma_shipping_popup .ocwma_modal-content,
#ocwma_billing_popup .ocwma_modal-content {
    position: relative !important;
    background: #FFFFFF !important;
    border-radius: 8px !important;
    border: none !important;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.18) !important;
    padding: 2rem !important;
    width: 100% !important;
    max-width: 520px !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
    font-family: var(--Typography-Body-Font-familly, Poppins), sans-serif !important;
    box-sizing: border-box !important;
}

/* Bouton fermer × */
#ocwma_shipping_popup .ocwma_close,
#ocwma_billing_popup .ocwma_close {
    position: absolute !important;
    top: 1rem !important;
    right: 1rem !important;
    width: 30px !important;
    height: 30px !important;
    background: #F4F4F5 !important;
    border-radius: 50% !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    line-height: 1 !important;
    color: #09090B !important;
    cursor: pointer !important;
    text-decoration: none !important;
    font-style: normal !important;
}
#ocwma_shipping_popup .ocwma_close:hover,
#ocwma_billing_popup .ocwma_close:hover {
    background: #E5E7EB !important;
}

/* Labels */
#ocwma_shipping_popup label,
#ocwma_billing_popup label {
    display: block !important;
    font-family: var(--Typography-Body-Font-familly, Poppins), sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    color: var(--Colors-surface-950-color-surface, #09090B) !important;
    margin-bottom: 0.3rem !important;
}

/* Champ "Nom de référence" — label en bold par défaut dans le plugin */
#ocwma_shipping_popup label b,
#ocwma_billing_popup label b {
    font-weight: 500 !important;
    font-family: var(--Typography-Body-Font-familly, Poppins), sans-serif !important;
}

/* Inputs */
#ocwma_shipping_popup input.input-text,
#ocwma_billing_popup input.input-text,
#ocwma_shipping_popup input[type="text"],
#ocwma_billing_popup input[type="text"],
#ocwma_billing_popup input[type="email"],
#ocwma_billing_popup input[type="tel"] {
    width: 100% !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 100px !important;
    padding: 0.625rem 0.875rem !important;
    font-family: var(--Typography-Body-Font-familly, Poppins), sans-serif !important;
    font-size: 0.875rem !important;
    color: #1F2937 !important;
    background: #fff !important;
    outline: none !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s !important;
    margin-bottom: 0 !important;
}
#ocwma_shipping_popup input.input-text:focus,
#ocwma_billing_popup input.input-text:focus,
#ocwma_shipping_popup input[type="text"]:focus,
#ocwma_billing_popup input[type="text"]:focus {
    border-color: var(--Colors-primary-600-color-primary, #3D6B4A) !important;
    box-shadow: 0 0 0 3px rgba(61, 107, 74, 0.1) !important;
}

/* Select pays */
#ocwma_shipping_popup select,
#ocwma_billing_popup select {
    width: 100% !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 100px !important;
    padding: 0.625rem 0.875rem !important;
    font-family: var(--Typography-Body-Font-familly, Poppins), sans-serif !important;
    font-size: 0.875rem !important;
    color: #1F2937 !important;
    background: #fff !important;
    outline: none !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    appearance: auto !important;
}

/* Lignes de champs — espacement */
#ocwma_shipping_popup .form-row,
#ocwma_billing_popup .form-row {
    margin-bottom: 0.875rem !important;
    padding: 0 !important;
}

/* Demi-colonnes (form-row-first / form-row-last) */
#ocwma_shipping_popup .ocwma_woocommerce-address-fields_field-wrapper,
#ocwma_billing_popup .ocwma_woocommerce-address-fields_field-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 1rem !important;
}
#ocwma_shipping_popup .form-row-wide,
#ocwma_billing_popup .form-row-wide {
    grid-column: 1 / -1 !important;
}
#ocwma_shipping_popup .form-row-first,
#ocwma_billing_popup .form-row-first,
#ocwma_shipping_popup .form-row-last,
#ocwma_billing_popup .form-row-last {
    width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
}

/* Bouton Enregistrer */
#oc_add_shipping_form_submit,
#oc_add_billing_form_submit {
    display: block !important;
    width: 100% !important;
    background: var(--Colors-primary-800-color-primary, #283D2D) !important;
    color: #fff !important;
    font-family: var(--Typography-Body-Font-familly, Poppins), sans-serif !important;
    font-size: 0.9375rem !important;
    font-weight: 500 !important;
    border: none !important;
    border-radius: 100px !important;
    padding: 0.875rem 2rem !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    margin-top: 0.5rem !important;
    text-align: center !important;
}
#oc_add_shipping_form_submit:hover,
#oc_add_billing_form_submit:hover {
    background: #1a2c1e !important;
}

/* Boutons "Add Billing/Shipping Address" sur la page Mon compte */
.ocwma_billing_popup_class + button,
.ocwma_shipping_popup_class + button,
button[onclick*="ocwma"],
.woocommerce-MyAccount-content button.button:is([onclick]) {
    background: none !important;
    border: 1.5px solid var(--Colors-primary-600-color-primary, #3D6B4A) !important;
    color: var(--Colors-primary-600-color-primary, #3D6B4A) !important;
    font-family: var(--Typography-Body-Font-familly, Poppins), sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    border-radius: 100px !important;
    padding: 0.625rem 1.5rem !important;
    cursor: pointer !important;
    transition: background 0.2s, color 0.2s !important;
}

/* ══════════════════════════════════════════════════════════════
   OCWMA — Uniformisation avec les cartes APDG
   ══════════════════════════════════════════════════════════════ */

/* Conteneur global OCWMA */
.ocwma_table_custom {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    margin-top: 2rem;
}
@media (max-width: 768px) {
    .ocwma_table_custom { grid-template-columns: 1fr; }
}

/* Colonnes billing / shipping */
.ocwma_table_bill,
.ocwma_table_ship {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.ocwma_table_bill{
    width:100% !important;
        border: 1px solid var(--color-border, #E5E7EB);
    border-radius: 4px;
    padding: 1rem 1.25rem 0.75rem;
}
/* Chaque entrée d'adresse multiple = une carte */
.ocwma_bill_table,
.ocwma_ship_table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.ocwma_bill_table tbody,
.ocwma_ship_table tbody {
    display: block;
}

/* Regrouper chaque adresse en carte — 
   chaque adresse commence par une <tr> avec les boutons actions */
.ocwma_bill_table tr:has(.defalut_address),
.ocwma_ship_table tr:has(.defalt_addd_shipping) {
    display: block;

    background: #fff;
    
    margin-bottom: 1rem;
    transition: border-color 0.2s;
}
.ocwma_bill_table tr:has(.defalut_address):hover,
.ocwma_ship_table tr:has(.defalt_addd_shipping):hover {
    border-color: var(--Colors-primary-800-color-primary, #283D2D);
}
.ocwma_bill_table tr:nth-child(2) td, .ocwma_ship_table tr:nth-child(2) td{
        font-family: var(--Typography-Title-Font-familly, Bitter), serif;
    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);
    color: var(--Colors-surface-950-color-surface, #09090B);
    margin: 0;
    padding-bottom:20px;
}
.defalut_address {
    display:none;
}
.ocwma_bill_table tr:has(.defalut_address){
     display: flex;
    justify-content: space-between;
}
/* Masquer les <tr> orphelines (données incluses dans la carte via JS) */
.ocwma_bill_table tr,
.ocwma_ship_table tr {
    display: none;
}
.ocwma_bill_table tr:has(.defalut_address),
.ocwma_ship_table tr:has(.defalt_addd_shipping),
.ocwma_bill_table tr:has(.defalut_address) ~ tr,
.ocwma_ship_table tr:has(.defalt_addd_shipping) ~ tr {
    display: block;
}

/* Cellules */
.ocwma_bill_table td,
.ocwma_ship_table td {
    display: block;
    font-family: var(--Typography-Body-Font-familly, Poppins), sans-serif;
    font-size: 0.875rem;
    color: var(--Colors-surface-950-color-surface, #09090B);
    line-height: 1.7;
    padding: 0;
    border: none;
}

/* Ligne des boutons d'action (première <td> de chaque adresse) */
.ocwma_bill_table td:first-child,
.ocwma_ship_table td:first-child {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

/* Bouton "DefaultAddress" */
.defalut_address,
.defalt_addd_shipping {
    font-family: var(--Typography-Body-Font-familly, Poppins), sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    background: var(--color-primary-light, #E8F0EB) !important;
    color: var(--Colors-primary-800-color-primary, #283D2D) !important;
    border: none !important;
    border-radius: 100px !important;
    padding: 3px 10px !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}
.defalut_address.checkeddd,
.defalt_addd_shipping.checkeddd {
    background: var(--Colors-primary-800-color-primary, #283D2D) !important;
    color: #fff !important;
}
.defalut_address:hover,
.defalt_addd_shipping:hover {
    background: var(--Colors-primary-600-color-primary, #3D6B4A) !important;
    color: #fff !important;
}

/* Bouton "éditer" */
.form_option_edit,
.form_option_ship_edit {
    font-family: var(--Typography-Body-Font-familly, Poppins), sans-serif !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    background: none !important;
    color: var(--Colors-primary-800-color-primary, #283D2D) !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    text-decoration: underline !important;
}

/* Lien "Supprimer" */
.ocwma_bill_table a[href*="delete_ocma"],
.ocwma_ship_table a[href*="delete-ship"] {
    font-family: var(--Typography-Body-Font-familly, Poppins), sans-serif !important;
    font-size: 0.8125rem !important;
    color: #DC2626 !important;
    text-decoration: none !important;
}
.ocwma_bill_table a[href*="delete_ocma"]:hover,
.ocwma_ship_table a[href*="delete-ship"]:hover {
    text-decoration: underline !important;
}

/* Zone des boutons "Add Billing/Shipping Address" */
.cus_menu {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-top: 1.5rem;
}
@media (max-width: 768px) {
    .cus_menu { grid-template-columns: 1fr; }
}

/* Boutons Add Billing / Shipping — écrasement des styles inline */
.form_option_billing,
.form_option_shipping {
        display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 56px;
    border-radius: 100px;
    background: var(--color-primary-800) !important;
    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;
}
.form_option_billing:hover,
.form_option_shipping:hover {
    background: var(--Colors-primary-600-color-primary, #3D6B4A) !important;
    color: #fff !important;
}

/* ══════════════════════════════════════════════════════════════
   Page détail commande — Mon compte
   ══════════════════════════════════════════════════════════════ */

/* Intro statut commande */
.woocommerce-order-overview,
.myaccount-content > p:first-of-type {
    font-family: var(--Typography-Body-Font-familly, Poppins), sans-serif;
    font-size: 0.9375rem;
    color: var(--Colors-surface-950-color-surface, #09090B);
    margin-bottom: 2rem;
    line-height: 1.6;
}
.myaccount-content mark {
    background: var(--color-primary-light, #E8F0EB);
    color: var(--Colors-primary-800-color-primary, #283D2D);
    padding: 2px 8px;
    border-radius: 100px;
    font-style: normal;
    font-weight: 500;
}

/* ── Mises à jour de la commande ─────────────────────────────── */
.myaccount-content h2 {
    font-family: var(--Typography-Title-Font-familly, Bitter), serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--Colors-surface-950-color-surface, #09090B);
    margin: 2rem 0 1rem;
    padding-bottom: 0.625rem;
    border-bottom: 1px solid var(--color-border, #E5E7EB);
}

.woocommerce-OrderUpdates.commentlist {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.woocommerce-OrderUpdate {
    background: var(--color-bg-subtle, #F9FAFB);
    border: 1px solid var(--color-border, #E5E7EB);
    border-radius: 6px;
    padding: 0.875rem 1rem;
}
.woocommerce-OrderUpdate-meta {
    font-family: var(--Typography-Body-Font-familly, Poppins), sans-serif;
    font-size: 0.75rem;
    color: var(--color-muted, #9CA3AF);
    margin: 0 0 0.25rem;
}
.woocommerce-OrderUpdate-description p {
    font-family: var(--Typography-Body-Font-familly, Poppins), sans-serif;
    font-size: 0.875rem;
    color: var(--Colors-surface-950-color-surface, #09090B);
    margin: 0;
}

/* ── Tableau détails commande ────────────────────────────────── */
.woocommerce-order-details {
    margin-bottom: 2rem;
}
.woocommerce-order-details__title {
    font-family: var(--Typography-Title-Font-familly, Bitter), serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
}

.woocommerce-table--order-details {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--Typography-Body-Font-familly, Poppins), sans-serif;
    font-size: 0.9375rem;
    margin-bottom: 1.5rem;
}
.woocommerce-table--order-details thead th {
    font-weight: 600;
    text-align: left;
    padding: 0.75rem 0.5rem;
    border-bottom: 2px solid var(--Colors-surface-950-color-surface, #09090B);
    color: var(--Colors-surface-950-color-surface, #09090B);
}
.woocommerce-table--order-details thead th.product-total {
    text-align: right;
}
.woocommerce-table--order-details tbody tr {
    border-bottom: 1px solid var(--color-border, #E5E7EB);
}
.woocommerce-table--order-details tbody td {
    padding: 0.875rem 0.5rem;
    color: var(--Colors-surface-950-color-surface, #09090B);
}
.woocommerce-table--order-details tbody td.product-total {
    text-align: right;
}
.woocommerce-table--order-details tbody td a {
    color: var(--Colors-surface-950-color-surface, #09090B);
    font-weight: 500;
    text-decoration: none;
}
.woocommerce-table--order-details tbody td a:hover {
    color: var(--Colors-primary-600-color-primary, #3D6B4A);
}
.woocommerce-table--order-details tfoot tr th,
.woocommerce-table--order-details tfoot tr td {
    padding: 0.5rem 0.5rem;
    font-size: 0.9375rem;
    color: var(--Colors-surface-950-color-surface, #09090B);
    border-top: 1px solid var(--color-border, #E5E7EB);
}
.woocommerce-table--order-details tfoot tr th {
    font-weight: 600;
    text-align: left;
}
.woocommerce-table--order-details tfoot tr td {
    text-align: right;
}
.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td {
    font-size: 1rem;
    font-weight: 700;
    border-top: 2px solid var(--Colors-surface-950-color-surface, #09090B);
    padding-top: 0.75rem;
}

/* ── Section PDF download ────────────────────────────────────── */
.apdg-pdf-download {
    background: var(--color-bg-subtle, #F9FAFB);
    border: 1px solid var(--color-border, #E5E7EB);
    border-radius: 8px;
    padding: 1.25rem;
    margin: 1.5rem 0;
}
.apdg-pdf-download h3 {
    font-family: var(--Typography-Title-Font-familly, Bitter), serif;
    font-size: 1rem;
    font-weight: 600;
    color: var(--Colors-surface-950-color-surface, #09090B);
    margin: 0 0 0.875rem;
}
.apdg-pdf-btn {
    display: inline-flex !important;
    align-items: center;
    gap: 0.5rem;
    background: var(--Colors-primary-800-color-primary, #283D2D) !important;
    color: #fff !important;
    font-family: var(--Typography-Body-Font-familly, Poppins), sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    border-radius: 100px !important;
    padding: 0.625rem 1.5rem !important;
    text-decoration: none !important;
    transition: background 0.2s !important;
    border: none !important;
}
.apdg-pdf-btn:hover {
    background: #1a2c1e !important;
    color: #fff !important;
}

/* ── Section upload BC ───────────────────────────────────────── */
.apdg-bc-upload {
    background: var(--color-bg-subtle, #F9FAFB);
    border: 1px solid var(--color-border, #E5E7EB);
    border-radius: 8px;
    padding: 1.25rem;
    margin: 1.5rem 0;
}
.apdg-bc-upload h3 {
    font-family: var(--Typography-Title-Font-familly, Bitter), serif;
    font-size: 1rem;
    font-weight: 600;
    color: var(--Colors-surface-950-color-surface, #09090B);
    margin: 0 0 0.875rem;
}
.apdg-bc-existing {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--Typography-Body-Font-familly, Poppins), sans-serif;
    font-size: 0.875rem;
    color: var(--Colors-primary-700-color-primary, #2E5236);
    background: #E8F0EB;
    border-radius: 6px;
    padding: 0.625rem 0.875rem;
    margin-bottom: 0.75rem;
}
.apdg-bc-replace-note {
    font-family: var(--Typography-Body-Font-familly, Poppins), sans-serif;
    font-size: 0.8125rem;
    color: var(--color-muted, #6B7280);
    margin: 0 0 1rem;
}
.apdg-bc-file-wrap {
    margin-bottom: 0.875rem;
}
.apdg-bc-file-wrap label {
    display: block;
    font-family: var(--Typography-Body-Font-familly, Poppins), sans-serif;
    font-size: 0.875rem;
    color: var(--Colors-surface-950-color-surface, #09090B);
    margin-bottom: 0.375rem;
}
.apdg-bc-form .button {
    display: inline-block;
    background: var(--Colors-primary-800-color-primary, #283D2D) !important;
    color: #fff !important;
    font-family: var(--Typography-Body-Font-familly, Poppins), sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    border-radius: 100px !important;
    padding: 0.625rem 1.5rem !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}
.apdg-bc-form .button:hover {
    background: #1a2c1e !important;
}

/* ── Adresse de facturation (bas de page) ────────────────────── */
.woocommerce-customer-details {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--color-border, #E5E7EB);
}
.woocommerce-column__title {
    font-family: var(--Typography-Title-Font-familly, Bitter), serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: var(--Colors-surface-950-color-surface, #09090B) !important;
    margin: 0 0 0.75rem !important;
}
.woocommerce-customer-details address {
    font-style: normal;
    font-family: var(--Typography-Body-Font-familly, Poppins), sans-serif;
    font-size: 0.875rem;
    color: var(--Colors-surface-950-color-surface, #09090B);
    line-height: 1.7;
}
.woocommerce-customer-details--email {
    margin: 0.25rem 0 0;
    color: var(--Colors-primary-600-color-primary, #3D6B4A) !important;
}