/* ═══════════════════════════════════════════════════════════
   EVA Blocks — Frontend styles
   ═══════════════════════════════════════════════════════════ */

/* ── Shared ────────────────────────────────────────────────── */
.eva-section-title {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1c5bb2;
    text-align: center;
    margin: 0 0 2rem;
    line-height: 1.2;
}
.eva-section-title::after {
    content: '';
    display: block;
    width: 56px;
    height: 3px;
    background: #00a6fe;
    border-radius: 2px;
    margin: 0.5rem auto 0;
}

.eva-btn {
    display: inline-block;
    padding: .6rem 1.4rem;
    border-radius: 4px;
    text-decoration: none !important;
    font-weight: 600;
    font-size: .875rem;
    line-height: 1.4;
    transition: background .18s, color .18s, border-color .18s;
    cursor: pointer;
    border: 2px solid transparent;
}
.eva-btn-primary {
    background: #00a6fe;
    color: #fff !important;
    border-color: #00a6fe;
}
.eva-btn-primary:hover {
    background: #0095e4;
    border-color: #0095e4;
    color: #fff !important;
}
.eva-btn-secondary {
    background: transparent;
    color: #00a6fe !important;
    border-color: #00a6fe;
}
.eva-btn-secondary:hover {
    background: #00a6fe;
    color: #fff !important;
}
.eva-no-products {
    text-align: center;
    color: #aaa;
    padding: 2rem;
    font-size: .9rem;
}

/* ── Stretched link (whole card clickable) ── */
.eva-fp-card,
.eva-hover-card {
    position: relative;
}
.eva-card-link {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
}


/* ═══════════════════════════════════════════════════════════
   BLOCK 1 — Produits avec mise en avant
   ═══════════════════════════════════════════════════════════ */
.eva-featured-products-block {
    padding: 3rem 0;
}

/* ── Unified grid ── */
.eva-fp-grid {
    display: grid;
    grid-template-columns: repeat(var(--eva-cols, 3), 1fr);
    gap: 1.1rem;
    align-items: start;
}
@media (max-width: 900px) { .eva-fp-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .eva-fp-grid { grid-template-columns: 1fr; } }

/* ── Base card ── */
.eva-fp-card {
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 8px rgba(0,0,0,.07);
    transition: box-shadow .2s;
    cursor: pointer;
}
.eva-fp-card:hover {
    box-shadow: 0 8px 28px rgba(0,166,254,.18);
}

/* ── Featured card: span 2 cols × 2 rows ── */
.eva-fp-card--featured {
    grid-column: span 2;
    grid-row:    span 2;
    border-radius: 10px;
    box-shadow: 0 2px 20px rgba(0,0,0,.1);
}
@media (max-width: 900px) {
    .eva-fp-card--featured {
        grid-column: span 2;
        grid-row:    span 1;
    }
}
@media (max-width: 480px) {
    .eva-fp-card--featured {
        grid-column: span 1;
        grid-row:    span 1;
    }
}

/* ── Image wrap + hover overlay (shared) ── */
.eva-fp-img-wrap {
    position: relative;
    overflow: hidden;
    background: #f7f9fc;
    aspect-ratio: 1 / 1;
    z-index: 0;
}
.eva-fp-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .38s ease, filter .38s ease;
}
.eva-fp-card:hover .eva-fp-img-wrap img {
    transform: scale(1.06);
    filter: brightness(.42);
}

/* Overlay — purely decorative (no buttons), pointer-events always off */
.eva-fp-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    padding: 1.25rem;
    text-align: center;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .28s ease, transform .28s ease;
    pointer-events: none;
    z-index: 2;
}
.eva-fp-card:hover .eva-fp-overlay {
    opacity: 1;
    transform: translateY(0);
}

/* Badge (featured only) */
.eva-fp-badge {
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.5);
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    padding: .2rem .8rem;
    border-radius: 20px;
}

/* Title in overlay */
.eva-fp-overlay-title {
    color: #fff;
    margin: 0;
    text-shadow: 0 1px 5px rgba(0,0,0,.4);
    line-height: 1.3;
}
.eva-fp-card--featured .eva-fp-overlay-title { font-size: 1.15rem; font-weight: 700; }
.eva-fp-card:not(.eva-fp-card--featured) .eva-fp-overlay-title { font-size: .9rem; font-weight: 600; }

/* ── Footer (below image) ── */
.eva-fp-footer {
    padding: .8rem 1rem 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .3rem;
    text-align: center;
    position: relative;
    z-index: 2;
}

/* Full title — no truncation */
.eva-fp-name {
    font-size: .875rem;
    font-weight: 600;
    color: #1c5bb2;
    margin: 0;
    line-height: 1.3;
}
.eva-fp-card--featured .eva-fp-name {
    font-size: 1rem;
}

/* Price centered */
.eva-fp-price {
    text-align: center;
}
.eva-fp-price .woocommerce-Price-amount {
    font-size: .95rem;
    font-weight: 700;
    color: #00a6fe;
}
.eva-fp-card--featured .eva-fp-price .woocommerce-Price-amount {
    font-size: 1.25rem;
    color: #1c5bb2;
}

/* Add-to-cart button in footer — space always reserved, visible on hover */
.eva-fp-btn-cart {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    background: #00a6fe;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 700;
    font-size: .8rem;
    padding: .5rem 1.2rem;
    border-radius: 4px;
    white-space: nowrap;
    margin-top: .2rem;
    transition: background .18s, opacity .2s ease, transform .2s ease;
    /* Hidden but takes space */
    visibility: hidden;
    opacity: 0;
    transform: translateY(4px);
    position: relative;
    z-index: 3;
}
.eva-fp-card:hover .eva-fp-btn-cart {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}
.eva-fp-btn-cart:hover { background: #0095e4; color: #fff !important; }


/* ═══════════════════════════════════════════════════════════
   BLOCK 2 — Produits avec effet survol
   ═══════════════════════════════════════════════════════════ */
.eva-hover-products-block {
    padding: 3rem 0;
}

.eva-hover-grid {
    display: grid;
    grid-template-columns: repeat(var(--eva-cols, 4), 1fr);
    gap: 1.1rem;
}
@media (max-width: 1024px) { .eva-hover-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px)  { .eva-hover-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 400px)  { .eva-hover-grid { grid-template-columns: 1fr; } }

.eva-hover-card {
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 8px rgba(0,0,0,.07);
    transition: box-shadow .2s;
    cursor: pointer;
}
.eva-hover-card:hover {
    box-shadow: 0 8px 28px rgba(0,166,254,.18);
}

/* image + overlay : card carrée, image entière (object-fit: contain),
   fond visible si l'image n'est pas carrée (pas de crop). */
.eva-hover-image-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 0;
}
.eva-hover-image-wrap img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    transition: transform .38s ease, filter .38s ease;
    padding: 8px;
    box-sizing: border-box;
}
.eva-hover-card:hover .eva-hover-image-wrap img {
    transform: scale(1.07);
    filter: brightness(.45);
}

/* Overlay — purely decorative (no buttons), pointer-events always off */
.eva-hover-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .85rem;
    padding: 1rem;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .28s ease, transform .28s ease;
    text-align: center;
    pointer-events: none;
    z-index: 2;
}
.eva-hover-card:hover .eva-hover-overlay {
    opacity: 1;
    transform: translateY(0);
}
.eva-hover-title {
    color: #fff;
    font-size: .95rem;
    font-weight: 700;
    margin: 0;
    line-height: 1.3;
    text-shadow: 0 1px 5px rgba(0,0,0,.4);
}

/* Footer below image */
.eva-hover-footer {
    padding: .8rem 1rem 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .3rem;
    text-align: center;
    position: relative;
    z-index: 2;
}

/* Full title — no truncation */
.eva-hover-name {
    font-size: .85rem;
    font-weight: 600;
    color: #1c5bb2;
    margin: 0;
    line-height: 1.3;
}

/* Price centered */
.eva-hover-price {
    text-align: center;
}
.eva-hover-price .woocommerce-Price-amount {
    font-size: .95rem;
    font-weight: 700;
    color: #00a6fe;
}

/* Add-to-cart button in footer — space always reserved, visible on hover */
.eva-btn-commander {
    display: inline-block;
    background: #00a6fe;
    color: #fff !important;
    padding: .5rem 1.3rem;
    border-radius: 4px;
    text-decoration: none !important;
    font-weight: 700;
    font-size: .825rem;
    white-space: nowrap;
    margin-top: .2rem;
    transition: background .18s, opacity .2s ease, transform .2s ease;
    /* Hidden but takes space */
    visibility: hidden;
    opacity: 0;
    transform: translateY(4px);
    position: relative;
    z-index: 3;
}
.eva-hover-card:hover .eva-btn-commander {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}
.eva-btn-commander:hover { background: #0095e4; color: #fff !important; }


/* ═══════════════════════════════════════════════════════════
   SHORTCODE — Note de la boutique
   ═══════════════════════════════════════════════════════════ */
.eva-shop-reviews {
    background: #f5faff;
    border: 1px solid #e0eaf5;
    border-radius: 12px;
    padding: 2rem 1.5rem;
    margin: 2rem 0;
}

.eva-shop-reviews__top {
    text-align: center;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #e0eaf5;
    margin-bottom: 1.5rem;
}
.eva-shop-reviews__title {
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #1c5bb2;
    margin: 0 0 .8rem;
}
.eva-shop-reviews__global {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .3rem;
}
.eva-shop-reviews__stars {
    display: inline-flex;
    gap: 2px;
    margin-bottom: .25rem;
}
.eva-star { display: inline-block; line-height: 0; }
.eva-star svg { display: block; }

.eva-shop-reviews__rating {
    font-size: 2rem;
    font-weight: 800;
    color: #1c5bb2;
    margin: 0;
    line-height: 1;
}
.eva-shop-reviews__rating-max {
    font-size: 1.1rem;
    font-weight: 500;
    color: #7a8ba6;
    margin-left: 2px;
}
.eva-shop-reviews__count {
    font-size: .85rem;
    color: #6c7a91;
    margin: .25rem 0 0;
}

/* ── Liste d'avis ── */
.eva-shop-reviews__list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
}
.eva-shop-reviews__item {
    background: #fff;
    border-radius: 8px;
    padding: 1rem 1.1rem;
    box-shadow: 0 1px 4px rgba(0,0,0,.05);
    display: flex;
    flex-direction: column;
    gap: .6rem;
}
.eva-shop-reviews__item-stars {
    display: inline-flex;
    gap: 2px;
}
.eva-shop-reviews__item-body {
    font-size: .9rem;
    color: #3a4c66;
    line-height: 1.5;
    flex: 1;
}
.eva-shop-reviews__item-body p { margin: 0 0 .5rem; }
.eva-shop-reviews__item-body p:last-child { margin-bottom: 0; }

.eva-shop-reviews__item-footer {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-top: .5rem;
    border-top: 1px solid #eef3fa;
}
.eva-shop-reviews__item-author {
    font-weight: 700;
    color: #1c5bb2;
    font-size: .88rem;
}
.eva-shop-reviews__item-date {
    font-size: .75rem;
    color: #7a8ba6;
}


/* ═══════════════════════════════════════════════════════════
   BLOG — Partage réseaux sociaux (titre + boutons colorés)
   ═══════════════════════════════════════════════════════════ */
.eva-share {
    margin: 2.5rem auto 1rem !important;
    padding: 1.25rem 0 0 !important;
    border-top: 1px solid #e0eaf5 !important;
    text-align: center !important;
}
.eva-share .eva-share__title {
    font-size: .95rem !important;
    font-weight: 600 !important;
    color: #1c5bb2 !important;
    margin: 0 0 1rem !important;
    text-align: center !important;
}
.eva-share .eva-share__wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: .5rem !important;
    padding: 0 !important;
    margin: 0 !important;
}
.eva-share .eva-share__item {
    display: inline-block !important;
    width: auto !important;
    min-width: 100px !important;
    padding: .4rem .75rem !important;
    border-radius: 5px !important;
    color: #fff !important;
    font-size: .78rem !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    border: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    transition: opacity .18s, transform .15s;
    white-space: nowrap !important;
}
.eva-share .eva-share__item:hover { transform: translateY(-1px); opacity: .9; }
.eva-share .eva-share__item--facebook  { background: #1877f2 !important; }
.eva-share .eva-share__item--twitter   { background: #000    !important; }
.eva-share .eva-share__item--pinterest { background: #e60023 !important; }
.eva-share .eva-share__item--linkedin  { background: #0a66c2 !important; }

.eva-share .eva-share__icon {
    display: inline-block !important;
    width: 14px !important;
    height: 14px !important;
    margin-right: .4rem !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    vertical-align: middle !important;
}
.eva-share .eva-share__label {
    display: inline !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    vertical-align: middle !important;
}
.eva-share__icon--facebook  { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'><path d='M24 12.073C24 5.405 18.627 0 12 0S0 5.405 0 12.073C0 18.1 4.388 23.094 10.125 24v-8.437H7.078v-3.49h3.047V9.413c0-3.017 1.791-4.685 4.533-4.685 1.313 0 2.686.236 2.686.236v2.97h-1.513c-1.49 0-1.955.93-1.955 1.886v2.264h3.328l-.532 3.49h-2.796V24C19.612 23.094 24 18.1 24 12.073z'/></svg>"); }
.eva-share__icon--twitter   { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'><path d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/></svg>"); }
.eva-share__icon--pinterest { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'><path d='M12 0C5.373 0 0 5.372 0 12c0 5.084 3.163 9.426 7.627 11.174-.105-.949-.2-2.405.042-3.441.218-.937 1.407-5.965 1.407-5.965s-.359-.719-.359-1.782c0-1.668.967-2.914 2.171-2.914 1.023 0 1.518.769 1.518 1.69 0 1.029-.655 2.568-.994 3.995-.283 1.194.599 2.169 1.777 2.169 2.133 0 3.772-2.249 3.772-5.495 0-2.873-2.064-4.882-5.012-4.882-3.414 0-5.418 2.561-5.418 5.207 0 1.031.397 2.138.893 2.738a.36.36 0 0 1 .083.345l-.333 1.36c-.053.22-.174.267-.402.161-1.499-.698-2.436-2.889-2.436-4.649 0-3.785 2.75-7.262 7.929-7.262 4.163 0 7.398 2.967 7.398 6.931 0 4.136-2.607 7.464-6.227 7.464-1.216 0-2.359-.631-2.75-1.378l-.748 2.853c-.271 1.043-1.002 2.35-1.492 3.146C9.57 23.812 10.763 24 12 24c6.627 0 12-5.373 12-12S18.627 0 12 0z'/></svg>"); }
.eva-share__icon--linkedin  { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'><path d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.063 2.063 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/></svg>"); }
.eva-share__icon--facebook  { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231877f2'><path d='M24 12.073C24 5.405 18.627 0 12 0S0 5.405 0 12.073C0 18.1 4.388 23.094 10.125 24v-8.437H7.078v-3.49h3.047V9.413c0-3.017 1.791-4.685 4.533-4.685 1.313 0 2.686.236 2.686.236v2.97h-1.513c-1.49 0-1.955.93-1.955 1.886v2.264h3.328l-.532 3.49h-2.796V24C19.612 23.094 24 18.1 24 12.073z'/></svg>"); }
.eva-share__icon--twitter   { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'><path d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/></svg>"); }
.eva-share__icon--pinterest { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e60023'><path d='M12 0C5.373 0 0 5.372 0 12c0 5.084 3.163 9.426 7.627 11.174-.105-.949-.2-2.405.042-3.441.218-.937 1.407-5.965 1.407-5.965s-.359-.719-.359-1.782c0-1.668.967-2.914 2.171-2.914 1.023 0 1.518.769 1.518 1.69 0 1.029-.655 2.568-.994 3.995-.283 1.194.599 2.169 1.777 2.169 2.133 0 3.772-2.249 3.772-5.495 0-2.873-2.064-4.882-5.012-4.882-3.414 0-5.418 2.561-5.418 5.207 0 1.031.397 2.138.893 2.738a.36.36 0 0 1 .083.345l-.333 1.36c-.053.22-.174.267-.402.161-1.499-.698-2.436-2.889-2.436-4.649 0-3.785 2.75-7.262 7.929-7.262 4.163 0 7.398 2.967 7.398 6.931 0 4.136-2.607 7.464-6.227 7.464-1.216 0-2.359-.631-2.75-1.378l-.748 2.853c-.271 1.043-1.002 2.35-1.492 3.146C9.57 23.812 10.763 24 12 24c6.627 0 12-5.373 12-12S18.627 0 12 0z'/></svg>"); }
.eva-share__icon--linkedin  { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230a66c2'><path d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.063 2.063 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/></svg>"); }
.eva-share-modal__item:hover .eva-share__icon--facebook  { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'><path d='M24 12.073C24 5.405 18.627 0 12 0S0 5.405 0 12.073C0 18.1 4.388 23.094 10.125 24v-8.437H7.078v-3.49h3.047V9.413c0-3.017 1.791-4.685 4.533-4.685 1.313 0 2.686.236 2.686.236v2.97h-1.513c-1.49 0-1.955.93-1.955 1.886v2.264h3.328l-.532 3.49h-2.796V24C19.612 23.094 24 18.1 24 12.073z'/></svg>"); }
.eva-share-modal__item:hover .eva-share__icon--twitter   { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'><path d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/></svg>"); }
.eva-share-modal__item:hover .eva-share__icon--pinterest { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'><path d='M12 0C5.373 0 0 5.372 0 12c0 5.084 3.163 9.426 7.627 11.174-.105-.949-.2-2.405.042-3.441.218-.937 1.407-5.965 1.407-5.965s-.359-.719-.359-1.782c0-1.668.967-2.914 2.171-2.914 1.023 0 1.518.769 1.518 1.69 0 1.029-.655 2.568-.994 3.995-.283 1.194.599 2.169 1.777 2.169 2.133 0 3.772-2.249 3.772-5.495 0-2.873-2.064-4.882-5.012-4.882-3.414 0-5.418 2.561-5.418 5.207 0 1.031.397 2.138.893 2.738a.36.36 0 0 1 .083.345l-.333 1.36c-.053.22-.174.267-.402.161-1.499-.698-2.436-2.889-2.436-4.649 0-3.785 2.75-7.262 7.929-7.262 4.163 0 7.398 2.967 7.398 6.931 0 4.136-2.607 7.464-6.227 7.464-1.216 0-2.359-.631-2.75-1.378l-.748 2.853c-.271 1.043-1.002 2.35-1.492 3.146C9.57 23.812 10.763 24 12 24c6.627 0 12-5.373 12-12S18.627 0 12 0z'/></svg>"); }
.eva-share-modal__item:hover .eva-share__icon--linkedin  { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'><path d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.063 2.063 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/></svg>"); }


/* ═══════════════════════════════════════════════════════════
   CHECKOUT — Méthodes de livraison
   ═══════════════════════════════════════════════════════════ */

/* Liste des méthodes : 1 ligne par méthode, espace propre */
#shipping_method,
ul#shipping_method {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
#shipping_method li,
ul#shipping_method li {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: .9rem 1rem !important;
    margin: 0 0 .55rem 0 !important;
    border: 1px solid #e0eaf5 !important;
    border-radius: 8px !important;
    background: #fff !important;
    transition: border-color .15s, box-shadow .15s;
}
#shipping_method li:hover {
    border-color: #00a6fe !important;
}
#shipping_method li:has(input[type="radio"]:checked),
.woocommerce-shipping-methods li input[type="radio"]:checked ~ label {
    /* Carte sélectionnée */
}
#shipping_method li input[type="radio"]:checked + label {
    color: #1c5bb2;
    font-weight: 700;
}
#shipping_method li label {
    display: inline-flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: .5rem !important;
    margin: 0 !important;
    cursor: pointer !important;
    font-size: .92rem !important;
    line-height: 1.35 !important;
    color: #1c5bb2 !important;
    width: 100% !important;
}
#shipping_method li label .amount {
    margin-left: auto !important;
    font-weight: 700 !important;
    color: #00a6fe !important;
    font-size: 1rem !important;
    white-space: nowrap !important;
}

/* Logo transporteur (DPD, etc.) */
#shipping_method li img,
#shipping_method li .dpd-logo {
    max-height: 28px !important;
    max-width: 80px !important;
    width: auto !important;
    height: auto !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin: 0 .4rem 0 0 !important;
    flex: 0 0 auto !important;
}

/* Description sous le titre de la méthode */
#shipping_method li label p,
#shipping_method li label br + p {
    margin: .35rem 0 0 !important;
    font-size: .82rem !important;
    color: #6c7a91 !important;
    font-weight: 400 !important;
    width: 100% !important;
    line-height: 1.4 !important;
}

/* Radio button : taille + espacement */
#shipping_method li input[type="radio"] {
    flex: 0 0 auto !important;
    margin: 0 .5rem 0 0 !important;
    width: 18px !important;
    height: 18px !important;
    accent-color: #00a6fe !important;
    cursor: pointer !important;
}

/* Bloc points relais (DPD) qui s'injecte sous le label */
.shipping-selected,
.dpd-pickup-points {
    display: block !important;
    width: 100% !important;
    margin-top: .8rem !important;
    padding-top: .8rem !important;
    border-top: 1px dashed #d8e6f5 !important;
    font-size: .85rem !important;
}
.dpd-pickup-selected {
    background: #f5faff !important;
    padding: .6rem .8rem !important;
    border-radius: 5px !important;
    margin-bottom: .6rem !important;
}
.dpd-pickup-selected-name {
    font-weight: 700 !important;
    color: #1c5bb2 !important;
}
.dpd-pickup-points .dpdpp-header {
    font-weight: 600 !important;
    color: #1c5bb2 !important;
    margin-bottom: .5rem !important;
    font-size: .9rem !important;
}
.dpd-pickup-points .dpd-pickup-point {
    display: flex !important;
    align-items: flex-start !important;
    gap: .8rem !important;
    padding: .6rem !important;
    border: 1px solid #e0eaf5 !important;
    border-radius: 5px !important;
    margin-bottom: .4rem !important;
    background: #fff !important;
    cursor: pointer !important;
    transition: border-color .15s, background .15s;
}
.dpd-pickup-points .dpd-pickup-point:hover {
    border-color: #00a6fe !important;
    background: #f5faff !important;
}
.dpd-pickup-points .dpd-pickup-point.selected {
    border-color: #00a6fe !important;
    background: #e8f4fd !important;
}
.dpd-pickup-points .dpdpp-info {
    flex: 1 !important;
}
.dpd-pickup-points .dpdpp-info strong {
    color: #1c5bb2 !important;
    display: block !important;
    margin-bottom: .15rem !important;
}
.dpd-pickup-points .dpdpp-info span {
    color: #6c7a91 !important;
    font-size: .8rem !important;
    line-height: 1.4 !important;
}
.dpd-pickup-points button,
.dpd-pickup-points .dpdpp-select-btn {
    background: #00a6fe !important;
    color: #fff !important;
    border: 0 !important;
    padding: .35rem .8rem !important;
    border-radius: 4px !important;
    font-size: .8rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    flex: 0 0 auto !important;
}
.dpd-pickup-points button:hover {
    background: #0095e4 !important;
}

/* Bloc panier "récap commande" : aligner les colonnes */
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: .6rem .5rem !important;
    border-bottom: 1px solid #eef3fa !important;
    vertical-align: top !important;
}
.woocommerce-checkout-review-order-table .product-name {
    font-weight: 500 !important;
    color: #1c5bb2 !important;
}
.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout-review-order-table .order-total {
    text-align: right !important;
    white-space: nowrap !important;
}
.woocommerce-checkout-review-order-table .order-total .amount {
    color: #00a6fe !important;
    font-size: 1.1rem !important;
}

/* Titres des sections checkout */
.woocommerce-checkout h3,
form.checkout h3 {
    font-size: 1.15rem !important;
    color: #1c5bb2 !important;
    margin: 1.5rem 0 .8rem !important;
    padding-bottom: .4rem !important;
    border-bottom: 2px solid #00a6fe !important;
}

/* Champs formulaire : meilleurs espacements */
.woocommerce form .form-row {
    margin-bottom: .8rem !important;
}
.woocommerce form .form-row label {
    display: block !important;
    font-size: .85rem !important;
    color: #1c5bb2 !important;
    font-weight: 500 !important;
    margin-bottom: .25rem !important;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
    width: 100% !important;
    padding: .55rem .75rem !important;
    border: 1px solid #d8e6f5 !important;
    border-radius: 5px !important;
    font-size: .9rem !important;
    box-sizing: border-box !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
    outline: none !important;
    border-color: #00a6fe !important;
    box-shadow: 0 0 0 3px rgba(0,166,254,.15) !important;
}

/* Bouton "Commander" / paiement */
#place_order,
.woocommerce #payment #place_order {
    background: #00a6fe !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    padding: .9rem 1.6rem !important;
    border-radius: 6px !important;
    border: 0 !important;
    width: 100% !important;
    cursor: pointer !important;
    transition: background .18s !important;
}
#place_order:hover {
    background: #0095e4 !important;
}

/* Méthodes de paiement : style cohérent */
ul.payment_methods {
    list-style: none !important;
    padding: 0 !important;
}
ul.payment_methods li {
    border: 1px solid #e0eaf5 !important;
    border-radius: 8px !important;
    padding: .8rem 1rem !important;
    margin: 0 0 .55rem 0 !important;
    background: #fff !important;
}
ul.payment_methods li label {
    color: #1c5bb2 !important;
    font-weight: 600 !important;
    cursor: pointer !important;
}


/* ═══════════════════════════════════════════════════════════
   FIDÉLITÉ — Bandeau réduction induise (auto-apply)
   ═══════════════════════════════════════════════════════════ */
.wfid-loyalty-box--applied {
    margin: 1rem 0 1.25rem !important;
    padding: .85rem 1.1rem !important;
    background: linear-gradient(135deg, #f5faff 0%, #e8f4fd 100%) !important;
    border: 1px solid #00a6fe !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 4px rgba(0,166,254,.1) !important;
}
.wfid-loyalty-box--applied .wfid-applied {
    margin: 0 !important;
    color: #1c5bb2 !important;
    font-size: .92rem !important;
    line-height: 1.4 !important;
}
.wfid-loyalty-box--applied .wfid-applied strong {
    color: #00a6fe !important;
    font-weight: 700 !important;
}
.wfid-loyalty-box--applied .wfid-applied .amount {
    color: #00a6fe !important;
    font-weight: 700 !important;
}


/* ═══════════════════════════════════════════════════════════


/* ═══════════════════════════════════════════════════════════
   FOOTER — Message retour newsletter
   ═══════════════════════════════════════════════════════════ */
.eva-newsletter-form .eva-newsletter-msg {
    margin: .5rem 0 0 !important;
    font-size: .82rem !important;
    line-height: 1.35 !important;
}
.eva-newsletter-form .eva-newsletter-msg.success {
    color: #2c8c3a !important;
}
.eva-newsletter-form .eva-newsletter-msg.error {
    color: #c33 !important;
}
.eva-newsletter-form button:disabled {
    opacity: .6 !important;
    cursor: wait !important;
}


/* ═══════════════════════════════════════════════════════════
   PAGE "Mon compte" — Sidebar navigation
   ═══════════════════════════════════════════════════════════ */
.woocommerce-MyAccount-navigation {
    --account-nav-background-active-color: #fff;
    --account-nav-text-active-color: #00a6fe;
    --account-nav-divider-color: #e0eaf5;
}
.woocommerce-MyAccount-navigation ul {
    background: #fff !important;
    border: 1px solid #e0eaf5 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
}
.woocommerce-MyAccount-navigation ul li a {
    color: #1c5bb2 !important;
    background: #fff !important;
    transition: background .15s, color .15s !important;
}
.woocommerce-MyAccount-navigation ul li:hover a,
.woocommerce-MyAccount-navigation ul li.is-active a {
    background: #f5faff !important;
    color: #00a6fe !important;
    border-left: 3px solid #00a6fe !important;
    padding-left: 17px !important;
}
.woocommerce-MyAccount-navigation ul li.is-active a {
    font-weight: 700 !important;
}

/* ═══════════════════════════════════════════════════════════
   HEADER — Dropdown "Mon compte"
   ═══════════════════════════════════════════════════════════ */
[data-id="account"] .ct-account-actions,
.ct-account-modal {
    background: #fff !important;
    border: 1px solid #e0eaf5 !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.12) !important;
    padding: .35rem 0 !important;
    min-width: 240px !important;
}
.ct-account-actions a,
.ct-account-modal a,
[data-id="account"] .menu a {
    display: block !important;
    padding: .55rem 1.2rem !important;
    color: #1c5bb2 !important;
    font-size: .92rem !important;
    text-decoration: none !important;
    border: 0 !important;
    transition: background .12s, color .12s;
}
.ct-account-actions a:hover,
.ct-account-modal a:hover,
[data-id="account"] .menu a:hover {
    background: #f5faff !important;
    color: #00a6fe !important;
}

/* Salutation "Bonjour, Prénom" + icône */
[data-id="account"] .ct-account-name,
.ct-header-account-text {
    color: #1c5bb2 !important;
    font-weight: 600 !important;
    font-size: .95rem !important;
}


/* ═══════════════════════════════════════════════════════════
   HEADER — Mini-panier (cart preview)
   ═══════════════════════════════════════════════════════════ */
.ct-mini-cart,
.ct-cart-content,
.widget_shopping_cart {
    background: #fff !important;
    border: 1px solid #e0eaf5 !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.12) !important;
    min-width: 380px !important;
    max-width: 420px !important;
    padding: 0 !important;
    overflow: hidden !important;
}
/* Header mini-panier */
.ct-cart-header,
.widget_shopping_cart_content::before {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 1rem 1.25rem !important;
    border-bottom: 1px solid #eef3fa !important;
    color: #1c5bb2 !important;
    font-weight: 700 !important;
    font-size: .95rem !important;
    text-transform: uppercase !important;
    letter-spacing: .03em !important;
}
.ct-cart-content > .ct-empty-cart-text,
.widget_shopping_cart_content .woocommerce-mini-cart__empty-message {
    padding: 2rem 1.25rem !important;
    text-align: center !important;
    color: #6c7a91 !important;
    font-size: .9rem !important;
}
/* Produits dans le mini-cart */
.woocommerce-mini-cart,
.cart_list,
ul.product_list_widget {
    list-style: none !important;
    padding: .75rem 0 !important;
    margin: 0 !important;
    max-height: 360px !important;
    overflow-y: auto !important;
}
.woocommerce-mini-cart li.mini_cart_item,
ul.product_list_widget li {
    display: grid !important;
    grid-template-columns: 70px 1fr auto !important;
    gap: .8rem !important;
    padding: .75rem 1.25rem !important;
    border-bottom: 1px solid #f5f8fc !important;
    align-items: start !important;
    margin: 0 !important;
}
.woocommerce-mini-cart li.mini_cart_item:last-child,
ul.product_list_widget li:last-child {
    border-bottom: 0 !important;
}
.woocommerce-mini-cart li.mini_cart_item img,
ul.product_list_widget li img {
    width: 70px !important;
    height: 70px !important;
    object-fit: contain !important;
    border-radius: 4px !important;
    background: #f7f9fc !important;
    margin: 0 !important;
    float: none !important;
    grid-row: 1 / -1 !important;
    grid-column: 1 !important;
}
.woocommerce-mini-cart li.mini_cart_item a:not(.remove) {
    grid-column: 2 !important;
    font-size: .85rem !important;
    line-height: 1.3 !important;
    color: #1c5bb2 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
/* Bouton supprimer + quantité */
.woocommerce-mini-cart li.mini_cart_item .quantity {
    grid-column: 2 !important;
    color: #6c7a91 !important;
    font-size: .8rem !important;
    margin-top: .35rem !important;
    display: block !important;
}
.woocommerce-mini-cart li.mini_cart_item a.remove {
    grid-column: 2 !important;
    grid-row: auto !important;
    position: static !important;
    float: none !important;
    color: #6c7a91 !important;
    font-size: .78rem !important;
    text-decoration: underline !important;
    width: auto !important;
    height: auto !important;
    background: transparent !important;
    margin: 0 !important;
    margin-top: .1rem !important;
    line-height: 1 !important;
    border: 0 !important;
    text-align: left !important;
    padding: 0 !important;
}
.woocommerce-mini-cart li.mini_cart_item a.remove::before {
    content: 'Supprimer' !important;
}
.woocommerce-mini-cart li.mini_cart_item a.remove > * {
    display: none !important;
}
/* Prix par produit, à droite */
.woocommerce-mini-cart li.mini_cart_item .woocommerce-Price-amount {
    grid-column: 3 !important;
    grid-row: 1 !important;
    font-weight: 700 !important;
    color: #1c5bb2 !important;
    white-space: nowrap !important;
    font-size: .95rem !important;
}
/* Total + bouton finaliser */
.woocommerce-mini-cart__total,
.cart_list + .total {
    padding: 0 !important;
    margin: 0 !important;
    border-top: 1px solid #eef3fa !important;
    display: none !important; /* fusionné dans le bouton ci-dessous */
}
.woocommerce-mini-cart__buttons {
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}
.woocommerce-mini-cart__buttons a.button {
    display: block !important;
    background: #00a6fe !important;
    color: #fff !important;
    text-align: center !important;
    padding: 1rem !important;
    margin: 0 !important;
    border-radius: 0 !important;
    font-weight: 700 !important;
    font-size: .85rem !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    text-decoration: none !important;
    border: 0 !important;
    transition: background .15s !important;
}
.woocommerce-mini-cart__buttons a.button:hover {
    background: #0095e4 !important;
}
/* "Voir le panier" caché — on garde juste "Finaliser ma commande" */
.woocommerce-mini-cart__buttons a.wc-forward:not(.checkout) {
    display: none !important;
}
/* Append le total dans le bouton checkout */
.woocommerce-mini-cart__buttons a.checkout::after {
    content: ' — ' attr(data-total) !important;
}

/* Bouton X de fermeture du mini-cart */
.ct-mini-cart .close,
.ct-cart-close,
.widget_shopping_cart_content .close-cart {
    background: transparent !important;
    border: 0 !important;
    color: #6c7a91 !important;
    font-size: 1.4rem !important;
    cursor: pointer !important;
    line-height: 1 !important;
    padding: .2rem !important;
}
.ct-mini-cart .close:hover {
    color: #1c5bb2 !important;
}


/* Header "MON PANIER - X Articles" via injecté JS */
.ct-mini-cart-header,
.eva-mini-cart-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 1rem 1.25rem !important;
    border-bottom: 1px solid #eef3fa !important;
    color: #1c5bb2 !important;
    font-weight: 700 !important;
    font-size: .95rem !important;
    text-transform: uppercase !important;
    letter-spacing: .03em !important;
    margin: 0 !important;
}


/* ═══════════════════════════════════════════════════════════
   HEADER — Dropdown account : override Blocksy hover jaune
   ═══════════════════════════════════════════════════════════ */
[data-id="account"] .ct-account-actions,
[data-id="account"] .ct-account-actions *,
.ct-account-modal,
.ct-account-modal * {
    --theme-palette-color-1: #00a6fe !important;
    --theme-palette-color-2: #0095e4 !important;
    background-color: transparent;
}
[data-id="account"] .ct-account-actions,
.ct-account-modal {
    background-color: #fff !important;
    background-image: none !important;
}
[data-id="account"] .ct-account-actions a,
[data-id="account"] .ct-account-actions li,
.ct-account-modal a,
.ct-account-modal li {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    color: #1c5bb2 !important;
}
[data-id="account"] .ct-account-actions a:hover,
[data-id="account"] .ct-account-actions li:hover a,
.ct-account-modal a:hover {
    background-color: #f5faff !important;
    color: #00a6fe !important;
}
/* Au cas où Blocksy met une classe active/current */
[data-id="account"] .ct-account-actions .current-menu-item,
[data-id="account"] .ct-account-actions .is-active,
[data-id="account"] .ct-account-actions a:focus,
[data-id="account"] .ct-account-actions a:focus-visible {
    background-color: #f5faff !important;
    color: #00a6fe !important;
    outline: 0 !important;
}


/* ═══════════════════════════════════════════════════════════
   HEADER — Mini-cart : taille agrandie + qty éditable
   ═══════════════════════════════════════════════════════════ */
.ct-mini-cart,
.ct-cart-content,
.widget_shopping_cart {
    min-width: 480px !important;
    max-width: 520px !important;
}
.woocommerce-mini-cart {
    max-height: 500px !important;
}
/* Quantité : input éditable */
.woocommerce-mini-cart li.mini_cart_item .quantity {
    grid-column: 2 !important;
    margin-top: .35rem !important;
    display: flex !important;
    align-items: center !important;
    gap: .4rem !important;
    color: #6c7a91 !important;
    font-size: .82rem !important;
}
.woocommerce-mini-cart li.mini_cart_item .quantity::before {
    content: 'Qté';
}
.woocommerce-mini-cart li.mini_cart_item .quantity .eva-qty-input {
    width: 50px !important;
    padding: .25rem .35rem !important;
    border: 1px solid #d8e6f5 !important;
    border-radius: 4px !important;
    font-size: .82rem !important;
    text-align: center !important;
    color: #1c5bb2 !important;
    font-weight: 600 !important;
}
.woocommerce-mini-cart li.mini_cart_item .quantity .eva-qty-input:focus {
    outline: 0 !important;
    border-color: #00a6fe !important;
}
.woocommerce-mini-cart li.mini_cart_item .quantity .eva-qty-loading {
    width: 12px;
    height: 12px;
    border: 2px solid #d8e6f5;
    border-top-color: #00a6fe;
    border-radius: 50%;
    animation: eva-spin .6s linear infinite;
}
@keyframes eva-spin { to { transform: rotate(360deg); } }


/* ═══════════════════════════════════════════════════════════
   HEADER — Override DROPDOWN account (forçage agressif)
   ═══════════════════════════════════════════════════════════ */
/* Conteneur ul + items — fond blanc partout, plus de jaune */
.ct-header-account > ul,
.ct-header-account ul[data-placement],
.ct-account-modal {
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    border: 1px solid #e0eaf5 !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.12) !important;
    padding: .35rem 0 !important;
}
.ct-header-account > ul li,
.ct-header-account ul[data-placement] li,
.ct-account-modal ul li,
.ct-account-modal li {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    margin: 0 !important;
}
.ct-header-account > ul a,
.ct-header-account ul[data-placement] a,
.ct-account-modal a,
.ct-header-account-dropdown a {
    display: block !important;
    padding: .55rem 1.2rem !important;
    color: #1c5bb2 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    text-decoration: none !important;
    font-size: .92rem !important;
    border: 0 !important;
    transition: background-color .12s, color .12s !important;
}
.ct-header-account > ul a:hover,
.ct-header-account ul[data-placement] a:hover,
.ct-header-account > ul li:hover > a,
.ct-account-modal a:hover {
    background: #f5faff !important;
    background-color: #f5faff !important;
    color: #00a6fe !important;
}
.ct-header-account > ul a:focus,
.ct-header-account > ul a:focus-visible,
.ct-account-modal a:focus,
.ct-account-modal a:focus-visible {
    background: #f5faff !important;
    background-color: #f5faff !important;
    color: #00a6fe !important;
    outline: 0 !important;
}
/* Au cas où Blocksy applique des couleurs via custom properties */
.ct-header-account > ul,
.ct-header-account ul[data-placement],
.ct-account-modal {
    --linkInitialColor: #1c5bb2 !important;
    --linkHoverColor: #00a6fe !important;
    --color: #1c5bb2 !important;
    --hoverColor: #00a6fe !important;
}

/* Forcer mini-cart ouvert quand body.ct-active-cart-popup */
body.ct-active-cart-popup .ct-mini-cart,
body.ct-active-cart-popup .ct-cart-content,
body.ct-active-cart-popup [data-id="cart"] .ct-cart-content {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}


/* ═══════════════════════════════════════════════════════════
   PAGE PANIER — Message gain de points fidélité
   ═══════════════════════════════════════════════════════════ */
.eva-cart-loyalty-info {
    margin: 1rem 0 0 !important;
    padding: .85rem 1rem !important;
    background: linear-gradient(135deg, #f5faff 0%, #e8f4fd 100%) !important;
    border: 1px solid #00a6fe !important;
    border-radius: 8px !important;
    color: #1c5bb2 !important;
    font-size: .9rem !important;
    line-height: 1.4 !important;
    text-align: center !important;
}
.eva-cart-loyalty-info strong {
    color: #00a6fe !important;
    font-weight: 700 !important;
}


/* ═══════════════════════════════════════════════════════════
   Barre sticky « Ajouter au panier » (fiche produit)
   ═══════════════════════════════════════════════════════════ */
.eva-sticky-cart {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 999 !important;
    background: #fff !important;
    border-top: 1px solid #e0eaf5 !important;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, .08) !important;
    transform: translateY(100%) !important;
    transition: transform .3s ease !important;
    padding: .65rem 1rem !important;
    pointer-events: none !important;
}
.eva-sticky-cart.is-visible {
    transform: translateY(0) !important;
    pointer-events: auto !important;
}
.eva-sticky-cart-inner {
    max-width: 1290px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
}
.eva-sticky-cart-img {
    width: 56px !important;
    height: 56px !important;
    object-fit: cover !important;
    border-radius: 4px !important;
    flex: 0 0 56px !important;
}
.eva-sticky-cart-info {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}
.eva-sticky-cart-title {
    color: #1c5bb2 !important;
    font-weight: 700 !important;
    font-size: .95rem !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.eva-sticky-cart-price {
    color: #1c5bb2 !important;
    font-size: .9rem !important;
}
.eva-sticky-cart-price del { opacity: .55 !important; margin-right: .35rem !important; }
.eva-sticky-cart-price ins { text-decoration: none !important; font-weight: 700 !important; }
.eva-sticky-cart-actions {
    display: flex !important;
    align-items: center !important;
    gap: .65rem !important;
    flex: 0 0 auto !important;
}
.eva-sticky-cart-status {
    color: #0a8c0a !important;
    font-weight: 700 !important;
    font-size: .9rem !important;
    min-width: 0 !important;
}
.eva-sticky-cart-btn {
    background: #00a6fe !important;
    color: #fff !important;
    border: 0 !important;
    padding: .7rem 1.4rem !important;
    border-radius: 6px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: background .15s !important;
    white-space: nowrap !important;
}
.eva-sticky-cart-btn:hover { background: #0095e4 !important; }
.eva-sticky-cart-btn:disabled { opacity: .65 !important; cursor: wait !important; }
@media (max-width: 600px) {
    .eva-sticky-cart-img { width: 40px !important; height: 40px !important; flex: 0 0 40px !important; }
    .eva-sticky-cart-price { display: none !important; }
    .eva-sticky-cart-btn { padding: .65rem 1rem !important; font-size: .9rem !important; }
}

/* Ligne « Livraison » dans la table récap (colonne droite checkout) */
.eva-shipping-recap-line {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: .65rem !important;
}
.eva-shipping-recap-name {
    color: #1c5bb2 !important;
    font-size: .9rem !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.eva-shipping-recap-price {
    color: #1c5bb2 !important;
    font-weight: 700 !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}
.eva-shipping-recap-price .eva-free {
    color: #0a8c0a !important;
    text-transform: uppercase !important;
    font-size: .85rem !important;
}
/* Ligne « adresse du point relais » sous la méthode (DPD/Chrono) */
.eva-shipping-recap-relay {
    color: #6b7c93 !important;
    font-size: .8rem !important;
    margin-top: .25rem !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    word-break: break-word !important;
}
/* La ligne tr.shipping doit redevenir visible — j'avais display:none avant */
table.woocommerce-checkout-review-order-table tr.shipping,
table.shop_table tr.shipping {
    display: table-row !important;
}
table.woocommerce-checkout-review-order-table tr.shipping > th,
table.shop_table tr.shipping > th {
    color: #6b7c93 !important;
    font-size: .82rem !important;
    text-transform: uppercase !important;
    letter-spacing: .03em !important;
    font-weight: 700 !important;
    vertical-align: top !important;
    padding-top: .85rem !important;
}

/* Récap adresse au-dessus du tableau commande (colonne droite) */
.eva-recap-address {
    background: #fff !important;
    border: 1px solid #e0eaf5 !important;
    border-left: 3px solid #00a6fe !important;
    border-radius: 6px !important;
    padding: .85rem 1rem !important;
    margin: 0 0 1rem !important;
    font-size: .9rem !important;
    color: #1c5bb2 !important;
    line-height: 1.4 !important;
}
.eva-recap-address-title {
    color: #6b7c93 !important;
    font-size: .76rem !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
    font-weight: 700 !important;
    margin-bottom: .25rem !important;
}
.eva-recap-address > div {
    margin: 0 !important;
}

/* ═══════════════════════════════════════════════════════════
   PAGE CHECKOUT — Layout 2 colonnes (récap droite, reste gauche)
   ═══════════════════════════════════════════════════════════ */

/* Conteneur checkout élargi : pleine largeur viewport (jusqu'à 1600px),
   colonne récap droite plus généreuse (min 380px, ratio ~1.5/1). */
.woocommerce-checkout .entry-content,
.woocommerce-checkout .ct-container,
.woocommerce-checkout main .container,
body.woocommerce-checkout .ct-container[data-vertical-spacing] {
    max-width: 1600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
/* Force le centrage du contenu principal côté Blocksy */
body.woocommerce-checkout #main {
    --block-max-width: 1600px !important;
}
.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.5fr) minmax(380px, 1fr) !important;
    gap: 2rem !important;
    align-items: start !important;
}
@media (max-width: 900px) {
    .woocommerce-checkout form.checkout { grid-template-columns: 1fr !important; }
}

/* Tout ce qui n'est PAS le récap → colonne gauche */
.woocommerce-checkout form.checkout > .woocommerce-form-login-toggle,
.woocommerce-checkout form.checkout > .woocommerce-form-login,
.woocommerce-checkout form.checkout > #customer_details,
.woocommerce-checkout form.checkout > #ship-to-different-address,
.woocommerce-checkout form.checkout > .woocommerce-additional-fields,
.woocommerce-checkout form.checkout > .eva-step,
.woocommerce-checkout form.checkout > .eva-step-2,
.woocommerce-checkout form.checkout > .eva-step-3 {
    grid-column: 1 / 2 !important;
    min-width: 0 !important;
}

/* #order_review_heading reste sur la droite (titre du récap) */
.woocommerce-checkout form.checkout > #order_review_heading {
    grid-column: 2 / 3 !important;
    grid-row: 1 !important;
    margin: 0 0 1rem !important;
}

/* CRUCIAL : #order_review devient transparent dans la grille
   → ses enfants (table + #payment) participent au grid parent */
.woocommerce-checkout form.checkout > #order_review {
    display: contents !important;
}

/* Table récap → colonne DROITE (sticky) */
.woocommerce-checkout form.checkout > #order_review > .shop_table,
.woocommerce-checkout form.checkout > #order_review > table.woocommerce-checkout-review-order-table {
    grid-column: 2 / 3 !important;
    grid-row: 2 !important;
    position: sticky !important;
    top: 1.5rem !important;
    align-self: start !important;
    background: #fff !important;
    border: 1px solid #e0eaf5 !important;
    border-radius: 8px !important;
    padding: 1rem !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* #payment → colonne GAUCHE, sous le customer_details */
.woocommerce-checkout form.checkout > #order_review > #payment {
    grid-column: 1 / 2 !important;
    background: #fff !important;
    border: 1px solid #e0eaf5 !important;
    border-radius: 8px !important;
    padding: 1.25rem !important;
    margin: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

@media (max-width: 900px) {
    .woocommerce-checkout form.checkout > #order_review_heading,
    .woocommerce-checkout form.checkout > #order_review > .shop_table,
    .woocommerce-checkout form.checkout > #order_review > #payment {
        grid-column: 1 / -1 !important;
        position: static !important;
    }
}

/* Sections compactes, anti-débordement */
#customer_details,
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
    background: #fff !important;
    border: 1px solid #e0eaf5 !important;
    border-radius: 8px !important;
    padding: 1.25rem !important;
    margin: 0 0 1.25rem !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}
#customer_details > * { min-width: 0 !important; }

/* Numérotation auto des sections */
.woocommerce-checkout form.checkout { counter-reset: eva-checkout-section; }
.woocommerce-checkout form.checkout > .woocommerce-form-login-toggle,
.woocommerce-checkout #customer_details > div > h3,
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3,
.woocommerce-checkout form.checkout > #order_review_heading,
.woocommerce-checkout #payment > h3 {
    position: relative !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: #1c5bb2 !important;
    margin: 0 0 1rem !important;
    padding: 0 0 .5rem !important;
    border-bottom: 2px solid #00a6fe !important;
}
.woocommerce-checkout #customer_details > div > h3,
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3,
.woocommerce-checkout #payment > h3 {
    counter-increment: eva-checkout-section;
}
.woocommerce-checkout #customer_details > div > h3::before,
.woocommerce-checkout .woocommerce-billing-fields > h3::before,
.woocommerce-checkout .woocommerce-shipping-fields > h3::before,
.woocommerce-checkout #payment > h3::before {
    content: counter(eva-checkout-section) ". ";
    color: #00a6fe !important;
    font-weight: 800 !important;
    margin-right: .25rem;
}

/* Masque uniquement le titre "Détails de facturation" — le h3 de la section
   livraison contient la case "Expédier vers une autre adresse" et doit rester visible. */
.woocommerce-billing-fields > h3 {
    display: none !important;
}

/* Card unique de résumé client : facturation + livraison + offres + naissance.
   En mode card (.eva-card-mode sur #customer_details), on cache TOUT le reste
   et on n'affiche que la card. Sélecteurs descendants — WC enveloppe billing
   dans .col-1 et shipping dans .col-2. */
#customer_details.eva-card-mode .woocommerce-billing-fields,
#customer_details.eva-card-mode .woocommerce-shipping-fields,
#customer_details.eva-card-mode #ship-to-different-address,
#customer_details.eva-card-mode .eva-extras-toggle {
    display: none !important;
}
/* Garde-fou : tout enfant direct de #customer_details qui n'est ni la card ni
   les colonnes WC reste caché en mode card */
#customer_details.eva-card-mode > .col-1 > *:not(.eva-info-card),
#customer_details.eva-card-mode > .col-2 > * {
    display: none !important;
}
.eva-info-card {
    background: #fff !important;
    border: 1px solid #e0eaf5 !important;
    border-left: 3px solid #00a6fe !important;
    border-radius: 8px !important;
    padding: 1rem 1.1rem !important;
    margin: 0 0 1rem !important;
}
.eva-info-card-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding-bottom: .65rem !important;
    margin-bottom: .85rem !important;
    border-bottom: 1px dashed #e0eaf5 !important;
}
.eva-info-card-head strong {
    color: #1c5bb2 !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
}
.eva-address-edit {
    background: transparent !important;
    color: #00a6fe !important;
    border: 1px solid #00a6fe !important;
    border-radius: 4px !important;
    padding: .35rem .9rem !important;
    font-size: .85rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
}
.eva-address-edit:hover {
    background: #00a6fe !important;
    color: #fff !important;
}
.eva-info-card-body {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: .85rem 1.5rem !important;
}
@media (max-width: 600px) {
    .eva-info-card-body {
        grid-template-columns: 1fr !important;
    }
}
.eva-info-block-title {
    color: #6b7c93 !important;
    font-size: .78rem !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
    font-weight: 700 !important;
    margin-bottom: .25rem !important;
}
.eva-info-block-content {
    color: #1c5bb2 !important;
    font-size: .9rem !important;
    line-height: 1.5 !important;
}
.eva-info-block-content > div {
    margin: 0 !important;
}
.eva-info-block-muted .eva-info-block-content em {
    color: #6b7c93 !important;
    font-style: italic !important;
}
.eva-info-block-pro {
    grid-column: 1 / -1 !important;
}
.eva-info-block-pro .eva-info-block-content {
    color: #0a8c0a !important;
    font-weight: 600 !important;
}
/* Style propre du toggle "expédier vers une autre adresse" */
#ship-to-different-address {
    display: block !important;
    margin: 1rem 0 !important;
    padding: .85rem 1rem !important;
    background: #f5faff !important;
    border: 1px solid #e0eaf5 !important;
    border-radius: 6px !important;
    cursor: pointer !important;
}
#ship-to-different-address label {
    display: flex !important;
    align-items: center !important;
    gap: .55rem !important;
    color: #1c5bb2 !important;
    font-weight: 600 !important;
    font-size: .95rem !important;
    cursor: pointer !important;
    margin: 0 !important;
}
#ship-to-different-address input[type="checkbox"] {
    margin: 0 !important;
}

/* Champs custom : "achat pro", newsletters, date de naissance */
.eva-pro-check label {
    display: inline-flex !important;
    align-items: center !important;
    gap: .4rem !important;
    cursor: pointer !important;
    font-weight: 500 !important;
}
/* Toggle "Mes préférences personnelles" — collapsed par défaut */
.eva-extras-toggle {
    margin: 1rem 0 0 !important;
}
.eva-extras-toggle > summary {
    list-style: none !important;
    cursor: pointer !important;
    color: #00a6fe !important;
    font-weight: 600 !important;
    padding: .55rem .85rem !important;
    background: #f5faff !important;
    border: 1px solid #e0eaf5 !important;
    border-radius: 6px !important;
    user-select: none !important;
}
.eva-extras-toggle > summary::-webkit-details-marker { display: none !important; }
.eva-extras-toggle[open] > summary {
    background: #e8f4fd !important;
    border-color: #00a6fe !important;
}
.eva-extras-toggle .optional {
    color: #6b7c93 !important;
    font-weight: 400 !important;
    font-size: .85em !important;
}

fieldset.eva-extra-fields {
    border: 1px solid #e0eaf5 !important;
    border-radius: 6px !important;
    padding: .85rem 1rem 1rem !important;
    margin: 1rem 0 0 !important;
}
fieldset.eva-extra-fields > legend {
    color: #1c5bb2 !important;
    font-weight: 700 !important;
    padding: 0 .35rem !important;
    font-size: .92rem !important;
}
fieldset.eva-extra-fields .optional {
    color: #6b7c93 !important;
    font-weight: 400 !important;
    font-size: .85em !important;
}
.eva-radio-group {
    margin: .5rem 0 !important;
}
.eva-radio-group > label {
    display: block !important;
    color: #1c5bb2 !important;
    font-weight: 500 !important;
    font-size: .9rem !important;
    margin-bottom: .3rem !important;
}
.eva-radios {
    display: inline-flex !important;
    gap: 1.5rem !important;
}
.eva-radios > label {
    display: inline-flex !important;
    align-items: center !important;
    gap: .35rem !important;
    cursor: pointer !important;
    color: #1c5bb2 !important;
}
.eva-birthdate {
    display: flex !important;
    gap: .65rem !important;
    margin: .35rem 0 0 !important;
}
.eva-birthdate input {
    width: 80px !important;
    padding: .5rem !important;
    text-align: center !important;
    border: 1px solid #c3cfd9 !important;
    border-radius: 4px !important;
}
.eva-birthdate input:nth-of-type(3) { width: 110px !important; }

/* Repli/dépli des sections adresse (zéro JS, balise native <details>) */
.eva-checkout-collapse {
    margin: .5rem 0 0 !important;
}
.eva-checkout-collapse > summary {
    list-style: none !important;
    cursor: pointer !important;
    color: #00a6fe !important;
    font-weight: 600 !important;
    font-size: .92rem !important;
    padding: .25rem 0 !important;
    user-select: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: .35rem !important;
}
.eva-checkout-collapse > summary::-webkit-details-marker { display: none !important; }
.eva-checkout-collapse > summary::before {
    content: "▸" !important;
    display: inline-block !important;
    transition: transform .15s !important;
    color: #00a6fe !important;
    font-size: .85em !important;
}
.eva-checkout-collapse[open] > summary::before { transform: rotate(90deg) !important; }
.eva-checkout-collapse[open] > summary .eva-collapse-label::after { content: " (replier)" !important; opacity: .65 !important; font-weight: 400 !important; }
.eva-checkout-collapse > .eva-collapse-body {
    margin-top: 1rem !important;
    padding-top: 1rem !important;
    border-top: 1px dashed #e0eaf5 !important;
}
/* Si pas connecté ou pas d'adresse → details[open] : on masque le summary
   (la section est déjà visible naturellement) */
body:not(.logged-in) .eva-checkout-collapse > summary { display: none !important; }
body:not(.logged-in) .eva-checkout-collapse > .eva-collapse-body {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: 0 !important;
}

/* Bandeau "Vous avez un compte ?" */
.woocommerce-form-login-toggle .woocommerce-info {
    background: #f5faff !important;
    border: 1px solid #00a6fe !important;
    border-left: 4px solid #00a6fe !important;
    padding: .85rem 1rem !important;
    color: #1c5bb2 !important;
    border-radius: 6px !important;
    margin: 0 !important;
}
.woocommerce-form-login-toggle .showlogin {
    color: #00a6fe !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
}
.woocommerce-form-login {
    background: #fff !important;
    border: 1px solid #e0eaf5 !important;
    border-radius: 8px !important;
    padding: 1.25rem !important;
    margin: .8rem 0 1.25rem !important;
}

/* Méthodes de paiement */
ul.payment_methods > li {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #e0eaf5 !important;
    border-radius: 8px !important;
    margin: 0 0 .55rem !important;
    background: #fff !important;
}
ul.payment_methods > li > input[type="radio"] {
    position: absolute !important;
    left: 1rem !important;
    top: 1.1rem !important;
    z-index: 2 !important;
}
ul.payment_methods > li > label {
    position: relative !important;
    padding: 1rem 1rem 1rem 2.5rem !important;
    margin: 0 !important;
    color: #1c5bb2 !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
ul.payment_methods > li > label img {
    max-height: 28px !important;
    width: auto !important;
    margin: 0 0 0 1rem !important;
    flex: 0 0 auto !important;
}
ul.payment_methods > li > .payment_box {
    margin: 0 !important;
    padding: .8rem 1rem !important;
    background: #f5faff !important;
    border-top: 1px solid #e0eaf5 !important;
    font-size: .85rem !important;
    color: #6c7a91 !important;
}
ul.payment_methods > li > .payment_box::before { display: none !important; }

#place_order {
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    font-size: .95rem !important;
    margin-top: 1rem !important;
}

/* ═══════════════════════════════════════════════════════════
   CHECKOUT — étapes numérotées (toutes visibles) + tableaux livraison/paiement
   ═══════════════════════════════════════════════════════════ */
.woocommerce-checkout form.checkout .eva-step {
    background: #fff !important;
    border: 1px solid #e0eaf5 !important;
    border-radius: 8px !important;
    padding: 1.25rem !important;
    margin: 0 0 1rem !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}
.woocommerce-checkout form.checkout .eva-step > h3 {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: #1c5bb2 !important;
    margin: 0 0 1rem !important;
    padding: 0 0 .5rem !important;
    border-bottom: 2px solid #00a6fe !important;
    display: flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    gap: .5rem !important;
}
.woocommerce-checkout form.checkout .eva-step > h3 .eva-step-summary {
    color: #0a8c0a !important;
    font-weight: 500 !important;
    font-size: .92rem !important;
    margin-left: auto !important;
    text-align: right !important;
}

/* Étape pliée : on cache le body + bouton, h3 cliquable pour rouvrir */
.woocommerce-checkout form.checkout .eva-step.eva-step-folded {
    background: #f5faff !important;
    padding: .85rem 1.25rem !important;
    cursor: pointer !important;
}
.woocommerce-checkout form.checkout .eva-step.eva-step-folded:hover {
    background: #e8f4fd !important;
}
.woocommerce-checkout form.checkout .eva-step.eva-step-folded > h3 {
    margin: 0 !important;
    border-bottom: 0 !important;
    cursor: pointer !important;
}
.woocommerce-checkout form.checkout .eva-step.eva-step-folded > h3::after {
    content: "✎ Modifier" !important;
    color: #00a6fe !important;
    font-size: .82rem !important;
    font-weight: 600 !important;
    margin-left: .5rem !important;
    white-space: nowrap !important;
}
.woocommerce-checkout form.checkout .eva-step.eva-step-folded > .eva-step-body,
.woocommerce-checkout form.checkout .eva-step.eva-step-folded > .eva-step-actions,
.woocommerce-checkout form.checkout #customer_details.eva-step-folded > div:not(:first-child),
.woocommerce-checkout form.checkout .eva-step.eva-step-folded > div:not(:first-child):not(.eva-step-body):not(.eva-step-actions) {
    display: none !important;
}

/* Boutons "Valider l'étape" : auto-fold côté JS dès que l'état le permet,
   on masque donc visuellement le bouton par défaut. Exception : quand
   l'utilisateur est sur le FORMULAIRE adresse (pas sur la carte récap)
   on ré-affiche le bouton « Valider mon adresse » — sans lui, l'AJAX
   déclenché par chaque frappe replierait l'étape avant la fin de l'édition.
   La présence de la classe .eva-card-mode signale que la carte récap est
   affichée → on masque le bouton dans ce cas. */
.eva-step-actions { display: none !important; }
.eva-step-1:not(.eva-card-mode) > .eva-step-actions {
    display: block !important;
    margin-top: 1rem !important;
    text-align: right !important;
}
.eva-step-validate {
    background: #00a6fe !important;
    color: #fff !important;
    border: 0 !important;
    padding: .7rem 1.5rem !important;
    border-radius: 6px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    letter-spacing: .03em !important;
    font-size: .9rem !important;
}
.eva-step-validate:hover { background: #0095e4 !important; }

/* Numérotation auto */
.woocommerce-checkout form.checkout {
    counter-reset: eva-checkout-section !important;
}
.woocommerce-checkout form.checkout .eva-step > h3 {
    counter-increment: eva-checkout-section;
}
.woocommerce-checkout form.checkout .eva-step > h3::before {
    content: counter(eva-checkout-section) ". " !important;
    color: #00a6fe !important;
    font-weight: 800 !important;
    margin-right: .25rem !important;
}
.woocommerce-checkout #customer_details > div > h3::before {
    content: "" !important;
}
.woocommerce-checkout #customer_details > div > h3 {
    counter-increment: none !important;
    border-bottom: 1px dashed #e0eaf5 !important;
    font-size: 1rem !important;
    color: #1c5bb2 !important;
}

/* État de chargement (rafraîchissement des modes après "Modifier") */
.eva-step-2 .eva-step-body.eva-step-loading {
    position: relative !important;
    pointer-events: none !important;
}
.eva-step-2 .eva-step-body.eva-step-loading::before {
    content: 'Rechargement des modes de livraison…' !important;
    position: absolute !important;
    inset: 0 !important;
    background: rgba(255, 255, 255, .85) !important;
    color: #1c5bb2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 600 !important;
    z-index: 10 !important;
    border-radius: 6px !important;
}

/* ── Tableau livraison (vrai HTML <table>) ── */
.eva-step-2 table.eva-shipping-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 .5rem !important;
    table-layout: fixed !important;
}
.eva-step-2 table.eva-shipping-table thead th {
    background: #1c5bb2 !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: .82rem !important;
    text-transform: uppercase !important;
    letter-spacing: .03em !important;
    padding: .75rem 1rem !important;
    text-align: left !important;
}
.eva-step-2 table.eva-shipping-table thead th:first-child { border-radius: 6px 0 0 6px !important; }
.eva-step-2 table.eva-shipping-table thead th:last-child  { border-radius: 0 6px 6px 0 !important; text-align: right !important; }
.eva-step-2 table.eva-shipping-table th.col-radio { width: 40px !important; }
.eva-step-2 table.eva-shipping-table th.col-eta   { width: 110px !important; }
.eva-step-2 table.eva-shipping-table th.col-price { width: 110px !important; }
.eva-step-2 table.eva-shipping-table tbody tr.eva-method-row {
    background: #fff !important;
    cursor: pointer !important;
    transition: background .15s, border-color .15s !important;
}
.eva-step-2 table.eva-shipping-table tbody tr.eva-method-row td {
    background: #fff !important;
    padding: .85rem 1rem !important;
    border-top: 1px solid #e0eaf5 !important;
    border-bottom: 1px solid #e0eaf5 !important;
    vertical-align: middle !important;
}
.eva-step-2 table.eva-shipping-table tbody tr.eva-method-row td:first-child {
    border-left: 1px solid #e0eaf5 !important;
    border-top-left-radius: 6px !important;
    border-bottom-left-radius: 6px !important;
    text-align: center !important;
}
.eva-step-2 table.eva-shipping-table tbody tr.eva-method-row td:last-child {
    border-right: 1px solid #e0eaf5 !important;
    border-top-right-radius: 6px !important;
    border-bottom-right-radius: 6px !important;
    text-align: right !important;
    color: #1c5bb2 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}
.eva-step-2 table.eva-shipping-table tbody tr.eva-method-row.is-checked td {
    background: #f0f7ff !important;
    border-color: #00a6fe !important;
}
.eva-step-2 table.eva-shipping-table tbody tr.eva-method-row:hover td {
    background: #f5faff !important;
}
.eva-step-2 table.eva-shipping-table td.col-mode {
    display: flex !important;
    align-items: center !important;
    gap: .85rem !important;
}
.eva-step-2 table.eva-shipping-table td.col-mode .eva-ship-logo {
    max-height: 36px !important;
    max-width: 56px !important;
    flex: 0 0 56px !important;
    object-fit: contain !important;
}
.eva-step-2 table.eva-shipping-table td.col-mode .eva-mode-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}
.eva-step-2 table.eva-shipping-table td.col-mode strong {
    display: block !important;
    color: #1c5bb2 !important;
    font-weight: 700 !important;
    font-size: .98rem !important;
}
.eva-step-2 table.eva-shipping-table td.col-mode small {
    display: block !important;
    color: #6b7c93 !important;
    font-size: .82rem !important;
    margin-top: .15rem !important;
}
.eva-step-2 table.eva-shipping-table td.col-eta {
    color: #1c5bb2 !important;
    font-size: .9rem !important;
    white-space: nowrap !important;
}
.eva-step-2 table.eva-shipping-table td.col-price .eva-free {
    color: #0a8c0a !important;
    text-transform: uppercase !important;
    font-size: .85rem !important;
}
/* Ligne d'extras (DPD picker / Chronopost link) collée à la ligne au-dessus */
.eva-step-2 table.eva-shipping-table tbody tr.eva-method-extras > td {
    background: transparent !important;
    padding: 0 1rem .85rem !important;
    border: 0 !important;
}
/* Le picker DPD reste caché inline — visible UNIQUEMENT en modal */
.eva-step-2 table.eva-shipping-table .shipping-selected > .dpd-pickup-selected {
    background: #f5faff !important;
    border: 1px solid #e0eaf5 !important;
    border-radius: 6px !important;
    padding: .55rem .85rem !important;
    margin: 0 0 .5rem !important;
    color: #1c5bb2 !important;
    font-size: .88rem !important;
}
.eva-step-2 table.eva-shipping-table .shipping-selected > .dpd-pickup-selected .dpd-pickup-selected-name {
    font-weight: 700 !important;
    margin-left: .25rem !important;
}
.eva-step-2 table.eva-shipping-table .shipping-selected > .dpd-pickup-points {
    display: none !important;
}
/* Affiche le picker SEULEMENT si la méthode est cochée */
.eva-step-2 table.eva-shipping-table tr.eva-method-extras {
    display: none !important;
}
.eva-step-2 table.eva-shipping-table tr.eva-method-row.is-checked + tr.eva-method-extras {
    display: table-row !important;
}
/* Cache le lien Chronopost natif (auto-déclenché par JS) */
.eva-step-2 table.eva-shipping-table .pickup-relay-link {
    display: none !important;
}

/* ── (déprécié) Ancienne tentative grille (à supprimer plus tard) ── */
.eva-shipping-header {
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr) !important;
    column-gap: 1rem !important;
    background: #1c5bb2 !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: .85rem !important;
    text-transform: uppercase !important;
    letter-spacing: .03em !important;
    padding: .75rem 1rem !important;
    border-radius: 6px !important;
    margin: 0 0 .5rem !important;
}
.eva-shipping-header-inner {
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) 110px 90px !important;
    column-gap: 1rem !important;
    align-items: center !important;
}
.eva-shipping-header-inner > .eva-h-eta { text-align: left !important; }
.eva-shipping-header-inner > .eva-h-price { text-align: right !important; }

.eva-step-2 ul.eva-shipping-grid {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.eva-step-2 ul.eva-shipping-grid > li,
.woocommerce-checkout .eva-step-2 ul.eva-shipping-grid > li {
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr) !important;
    column-gap: 1rem !important;
    align-items: center !important;
    padding: .85rem 1rem !important;
    background: #fff !important;
    border: 1px solid #e0eaf5 !important;
    border-radius: 6px !important;
    margin: 0 0 .5rem !important;
    cursor: pointer !important;
    transition: background .15s, border-color .15s !important;
    list-style: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.eva-step-2 ul.eva-shipping-grid > li:hover {
    background: #f5faff !important;
}
.eva-step-2 ul.eva-shipping-grid > li:has(input:checked) {
    background: #f0f7ff !important;
    border-color: #00a6fe !important;
}
.eva-step-2 ul.eva-shipping-grid > li > input[type="radio"] {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    margin: 0 !important;
    align-self: center !important;
    justify-self: center !important;
}
/* Radio en colonne 1, label en colonne 2 (grid à 2 niveaux) */
.eva-step-2 ul.eva-shipping-grid > li > input[type="radio"] {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    justify-self: center !important;
}
.eva-step-2 ul.eva-shipping-grid > li > label {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    cursor: pointer !important;
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) 110px 90px !important;
    grid-template-rows: auto auto !important;
    column-gap: 1rem !important;
    align-items: center !important;
}
.eva-step-2 ul.eva-shipping-grid > li > label > .eva-ship-logo {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    max-height: 36px !important;
    max-width: 56px !important;
    width: auto !important;
    object-fit: contain !important;
    justify-self: center !important;
}
.eva-step-2 ul.eva-shipping-grid > li > label > .eva-ship-name {
    grid-column: 2 !important;
    grid-row: 1 !important;
    color: #1c5bb2 !important;
    font-weight: 700 !important;
    font-size: .98rem !important;
    align-self: end !important;
}
.eva-step-2 ul.eva-shipping-grid > li > label > .eva-ship-desc {
    grid-column: 2 !important;
    grid-row: 2 !important;
    color: #6b7c93 !important;
    font-size: .82rem !important;
    font-weight: 400 !important;
    align-self: start !important;
}
.eva-step-2 ul.eva-shipping-grid > li > label > .eva-ship-eta {
    grid-column: 3 !important;
    grid-row: 1 / 3 !important;
    color: #1c5bb2 !important;
    font-size: .9rem !important;
    white-space: nowrap !important;
    align-self: center !important;
}
.eva-step-2 ul.eva-shipping-grid > li > label > .eva-ship-price {
    grid-column: 4 !important;
    grid-row: 1 / 3 !important;
    text-align: right !important;
    color: #1c5bb2 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    align-self: center !important;
    justify-self: end !important;
}
.eva-step-2 ul.eva-shipping-grid > li > label > .eva-ship-price .eva-free {
    color: #0a8c0a !important;
    text-transform: uppercase !important;
    font-size: .85rem !important;
}
/* Note : les <p class="shipping-method-description"> et autres contenus que
   FlexibleShipping/Chronopost/DPD ajoutent EN DEHORS du label restent en flux
   normal (sous le label) — masqués si redondants par les règles ci-dessous. */

/* Bloc DPD complet : ligne 3 du grid, sous la ligne principale */
.eva-step-2 ul.eva-shipping-grid > li > div.shipping-selected {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    margin-top: .85rem !important;
    padding-top: .85rem !important;
    border-top: 1px dashed #e0eaf5 !important;
    display: none !important;
}
.eva-step-2 ul.eva-shipping-grid > li:has(input:checked) > div.shipping-selected {
    display: block !important;
}
/* Le résumé "Mon point relais : …" reste inline, la liste va en modal */
.eva-step-2 ul.eva-shipping-grid > li > div.shipping-selected > .dpd-pickup-selected {
    background: #f5faff !important;
    border: 1px solid #e0eaf5 !important;
    border-radius: 6px !important;
    padding: .65rem .85rem !important;
    margin: 0 0 .65rem !important;
    color: #1c5bb2 !important;
    font-size: .9rem !important;
}
.eva-step-2 ul.eva-shipping-grid > li > div.shipping-selected > .dpd-pickup-selected .dpd-pickup-selected-name {
    font-weight: 700 !important;
    margin-left: .25rem !important;
}
/* Bouton "Choisir un point relais → " */
.eva-relay-open {
    background: #00a6fe !important;
    color: #fff !important;
    border: 0 !important;
    padding: .6rem 1.1rem !important;
    border-radius: 6px !important;
    font-weight: 700 !important;
    font-size: .9rem !important;
    cursor: pointer !important;
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    justify-self: start !important;
    margin-top: .2rem !important;
}
.eva-relay-open:hover { background: #0095e4 !important; }
/* Liste de points relais : cachée inline, ouverte en modal sur clic */
.eva-step-2 ul.eva-shipping-grid > li > div.shipping-selected > .dpd-pickup-points {
    display: none !important;
}
body.eva-modal-relay-open::before {
    content: '' !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(28, 91, 178, .55) !important;
    z-index: 9998 !important;
    backdrop-filter: blur(2px) !important;
}
body.eva-modal-relay-open tr.eva-method-extras.eva-relay-active .dpd-pickup-points {
    display: grid !important;
    grid-template-columns: minmax(260px, 340px) 1fr !important;
    grid-template-rows: auto auto 1fr !important;
    grid-template-areas:
        "header header"
        "search search"
        "list   map" !important;
    gap: .85rem 1rem !important;
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: min(95vw, 1100px) !important;
    height: min(85vh, 720px) !important;
    background: #fff !important;
    border-radius: 10px !important;
    padding: 1.25rem !important;
    z-index: 9999 !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .35) !important;
    overflow: hidden !important;
}
body.eva-modal-relay-open .dpd-pickup-points .dpdpp-header  { grid-area: header !important; }
body.eva-modal-relay-open .dpd-pickup-points .dpdpp-update  { grid-area: search !important; }
body.eva-modal-relay-open .dpd-pickup-points .dpdpp-listing {
    grid-area: list !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: .25rem !important;
    min-height: 0 !important;
}
body.eva-modal-relay-open .dpd-pickup-points .dpdpp-listing-item,
body.eva-modal-relay-open .dpd-pickup-points .dpdpp-listing > * {
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    max-width: 100% !important;
}
/* Le dernier item a parfois un panneau « horaires » qui se déploie en
   absolute → sort du flux et déborde la modal. On force la position
   relative et un clip propre. */
body.eva-modal-relay-open .dpd-pickup-points .dpdpp-listing-item .dpdpp-hours,
body.eva-modal-relay-open .dpd-pickup-points .dpdpp-listing-item [class*="hours"],
body.eva-modal-relay-open .dpd-pickup-points .dpdpp-listing-item [class*="schedule"] {
    position: relative !important;
    max-height: none !important;
    overflow: visible !important;
}
/* Espace en bas de la liste pour que le dernier item étendu soit accessible
   sans être collé contre le bord du conteneur scrollable. */
body.eva-modal-relay-open .dpd-pickup-points .dpdpp-listing::after {
    content: '' !important;
    display: block !important;
    height: 1.5rem !important;
}
body.eva-modal-relay-open .dpd-pickup-points .dpdpp-map,
body.eva-modal-relay-open .dpd-pickup-points .eva-relay-map {
    grid-area: map !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 380px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}
@media (max-width: 800px) {
    body.eva-modal-relay-open tr.eva-method-extras.eva-relay-active .dpd-pickup-points {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto 35vh 1fr !important;
        grid-template-areas:
            "header"
            "search"
            "map"
            "list" !important;
    }
}
/* Pin DPD personnalisé sur la carte */
.eva-relay-marker .eva-relay-pin {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    line-height: 1 !important;
    transform: translateY(-30px) !important;
}
.eva-relay-marker .eva-relay-pin span {
    background: #c00 !important;
    color: #fff !important;
    font-weight: 800 !important;
    font-size: .65rem !important;
    padding: 2px 5px !important;
    border-radius: 2px !important;
    text-transform: uppercase !important;
}
.eva-relay-marker .eva-relay-pin strong {
    background: #c00 !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: .65rem !important;
    padding: 1px 5px !important;
    margin-top: 1px !important;
    border-radius: 0 0 2px 2px !important;
    text-transform: uppercase !important;
}
.eva-relay-marker .eva-relay-pin::after {
    content: '' !important;
    width: 0 !important; height: 0 !important;
    border-left: 6px solid transparent !important;
    border-right: 6px solid transparent !important;
    border-top: 8px solid #c00 !important;
    margin-top: -1px !important;
}
/* Item en surbrillance après clic sur la carte */
.dpdpp-listing-item.dpdpp--highlight {
    box-shadow: 0 0 0 2px #00a6fe !important;
    background: #f0f7ff !important;
}
.eva-modal-close {
    position: absolute !important;
    top: .5rem !important;
    right: .5rem !important;
    width: 32px !important;
    height: 32px !important;
    background: #fff !important;
    border: 1px solid #e0eaf5 !important;
    border-radius: 50% !important;
    color: #1c5bb2 !important;
    font-size: 1.1rem !important;
    line-height: 1 !important;
    cursor: pointer !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 10000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .12) !important;
}
.eva-modal-close:hover { color: #c00 !important; border-color: #c00 !important; }
/* Empêche le scroll de la page derrière le modal */
body.eva-modal-relay-open { overflow: hidden !important; }

/* Flexible Shipping ajoute <p class="shipping-method-description"> et
   <p class="shipping-method-logo"> APRÈS la label (hors label, dans le li).
   On les masque : description déjà dans .eva-ship-desc, logo déjà dans .eva-ship-logo. */
.eva-step-2 ul.eva-shipping-grid > li > p.shipping-method-description,
.eva-step-2 ul.eva-shipping-grid > li > p.shipping-method-logo,
.eva-step-2 ul.eva-shipping-grid > li > br {
    display: none !important;
}

/* UI relais Chronopost (action woocommerce_after_shipping_rate, hors label)
   → ligne 3, pleine largeur, dépliée seulement si cochée */
.eva-step-2 ul.eva-shipping-grid > li > .pickup-relay-link,
.eva-step-2 ul.eva-shipping-grid > li > div:not(.shipping-selected) {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    margin-top: .65rem !important;
}
.eva-step-2 ul.eva-shipping-grid > li:not(:has(input:checked)) > .pickup-relay-link {
    display: none !important;
}
.eva-step-2 ul.eva-shipping-grid > li > .pickup-relay-link a {
    display: inline-block !important;
    background: #00a6fe !important;
    color: #fff !important;
    padding: .5rem 1rem !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: .9rem !important;
}

/* Bouton "Commander" final, hors step 3 (visible même quand step3 est repliée) */
.woocommerce-checkout form.checkout > .form-row.place-order.eva-final-order {
    grid-column: 1 / 2 !important;
    background: #fff !important;
    border: 1px solid #e0eaf5 !important;
    border-radius: 8px !important;
    padding: 1.25rem !important;
    margin: 0 0 1rem !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}
.woocommerce-checkout form.checkout > .form-row.place-order.eva-final-order #place_order {
    width: 100% !important;
    font-size: 1rem !important;
}
@media (max-width: 900px) {
    .woocommerce-checkout form.checkout > .form-row.place-order.eva-final-order {
        grid-column: 1 / -1 !important;
    }
}

/* ── (déprécié) Ancienne table — gardée pour compat éventuelle ── */
table.eva-method-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 .5rem !important;
    table-layout: fixed !important;
}
table.eva-method-table tr.eva-method-row {
    background: #fafcff !important;
    cursor: pointer !important;
    transition: background .15s, border-color .15s !important;
}
table.eva-method-table tr.eva-method-row td {
    padding: .9rem 1rem !important;
    border-top: 1px solid #e0eaf5 !important;
    border-bottom: 1px solid #e0eaf5 !important;
    vertical-align: middle !important;
    background: #fafcff !important;
}
table.eva-method-table tr.eva-method-row td.eva-method-radio {
    border-left: 1px solid #e0eaf5 !important;
    border-top-left-radius: 6px !important;
    border-bottom-left-radius: 6px !important;
    width: 36px !important;
    text-align: center !important;
}
table.eva-method-table tr.eva-method-row td.eva-method-name {
    width: auto !important;
}
table.eva-method-table tr.eva-method-row td.eva-method-name label {
    color: #1c5bb2 !important;
    cursor: pointer !important;
    margin: 0 !important;
    display: block !important;
    line-height: 1.35 !important;
}
table.eva-method-table tr.eva-method-row td.eva-method-name strong {
    display: block !important;
    color: #1c5bb2 !important;
    font-weight: 700 !important;
    font-size: .98rem !important;
}
table.eva-method-table tr.eva-method-row td.eva-method-name small {
    display: block !important;
    color: #6b7c93 !important;
    font-size: .82rem !important;
    margin-top: .2rem !important;
}
table.eva-method-table tr.eva-method-row td.eva-method-eta {
    width: 28% !important;
    color: #1c5bb2 !important;
    font-size: .88rem !important;
    white-space: nowrap !important;
}
table.eva-method-table tr.eva-method-row td.eva-method-eta::before {
    content: "📅 " !important;
    margin-right: .25rem !important;
}
table.eva-method-table tr.eva-method-row td.eva-method-price {
    border-right: 1px solid #e0eaf5 !important;
    border-top-right-radius: 6px !important;
    border-bottom-right-radius: 6px !important;
    width: 18% !important;
    text-align: right !important;
    font-weight: 700 !important;
    color: #1c5bb2 !important;
    white-space: nowrap !important;
}
table.eva-method-table tr.eva-method-row.is-checked td {
    background: #e8f4fd !important;
    border-color: #00a6fe !important;
}
table.eva-method-table tr.eva-method-row:hover td {
    background: #f0f7ff !important;
}
/* Masque les sous-spans déjà extraits par le JS, qu'ils n'apparaissent pas en double */
.eva-method-name label .eva-ship-desc,
.eva-method-name label .eva-ship-eta,
.eva-method-name label .amount,
.eva-method-name label bdi { display: none !important; }
.eva-shipping-fixed {
    margin: 0 !important;
    padding: .8rem 1rem !important;
    background: #f5faff !important;
    border: 1px solid #e0eaf5 !important;
    border-radius: 6px !important;
    color: #1c5bb2 !important;
}

/* ── Tableau paiement (cards <li> en lignes) ── */
.eva-step-3 ul.payment_methods.eva-method-table-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
.eva-step-3 ul.payment_methods.eva-method-table-list > li {
    background: #fafcff !important;
    border: 1px solid #e0eaf5 !important;
    border-radius: 6px !important;
    margin: 0 0 .5rem !important;
    padding: 0 !important;
    cursor: pointer !important;
    transition: background .15s, border-color .15s !important;
    overflow: hidden !important;
}
.eva-step-3 ul.payment_methods.eva-method-table-list > li:hover {
    background: #f0f7ff !important;
}
.eva-step-3 ul.payment_methods.eva-method-table-list > li.is-checked {
    background: #e8f4fd !important;
    border-color: #00a6fe !important;
}
.eva-step-3 ul.payment_methods > li > input[type="radio"] {
    position: absolute !important;
    left: 1rem !important;
    top: 1.1rem !important;
}
.eva-step-3 ul.payment_methods > li > label {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 1rem 1rem 1rem 2.5rem !important;
    margin: 0 !important;
    color: #1c5bb2 !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    position: relative !important;
}
.eva-step-3 ul.payment_methods > li > label img {
    max-height: 28px !important;
    width: auto !important;
    margin: 0 0 0 1rem !important;
}
.eva-step-3 ul.payment_methods > li > .payment_box {
    background: #fff !important;
    border-top: 1px dashed #e0eaf5 !important;
    padding: .85rem 1rem !important;
    margin: 0 !important;
    color: #555 !important;
    font-size: .92rem !important;
}
.eva-step-3 ul.payment_methods > li:not(.is-checked) > .payment_box {
    display: none !important;
}


/* ── Performance : éviter les forced reflows en isolant les composants ──
   - content-visibility: auto saute le layout des sections off-screen.
   - contain: layout style empêche un changement interne de propager au reste. */
.eva-sticky-cart,
.eva-modal-relay-open .eva-relay-active,
.eva-recap-address,
.woocommerce-product-tabs,
.related.products,
.upsells.products,
footer,
.ct-footer {
    contain: layout style;
}
.woocommerce-product-tabs,
.related.products,
.upsells.products,
.eva-reviews-section,
footer,
.ct-footer {
    content-visibility: auto;
    contain-intrinsic-size: auto 600px;
}
.eva-shipping-table tr.eva-method-row,
.eva-shipping-table tr.eva-method-extras {
    contain: layout style;
}

/* ── Fix ct-media-container ↔ wrap WebP <picture> ───────────────────────────
 * Blocksy : .ct-media-container picture img { aspect-ratio: inherit }
 *           .ct-media-container picture     { width: inherit; object-fit: cover }
 * aspect-ratio n'est PAS héritée par défaut → picture reste à `auto` →
 * l'img reçoit `auto` → image collapse à 0×0.
 *
 * On force juste picture à hériter l'aspect-ratio de .ct-media-container.
 * Pas de width/height/object-fit forcés ici : Blocksy les gère déjà et y
 * toucher provoque du recadrage indésirable. */
.ct-media-container picture {
    aspect-ratio: inherit;
}

/* ── Fix bug Cofidis : 7 badges (3X/4X/LOAN/FOIS/DFPAY/BE 3X/IT) utilisent
   tous le même `id="financing-module"`. Quand plusieurs badges sont rendus
   simultanément (cas multi-modes au checkout), l'ID est dupliqué → invalid
   HTML → le sélecteur CSS `#financing-module {...}` du plugin n'applique
   les styles qu'au PREMIER élément, les autres restent non stylés.
   
   Override avec un sélecteur d'attribut [id="..."] qui matche TOUS les
   éléments porteurs de cet ID (contrairement au sélecteur ID natif). */
#bootstrap-cfd [id="financing-module"]              { max-width: 800px !important; padding: 10px 0 !important; }
#bootstrap-cfd [id="financing-module"] .c-white     { color: #fff !important; }
#bootstrap-cfd [id="financing-module"] .c-grey      { color: #555 !important; }
#bootstrap-cfd [id="financing-module"] .banner      {
    display: flex !important;
    padding: 20px !important;
    box-shadow: 0 0px 10px 1px #bdbdbd !important;
    background-color: #fff !important;
}
#bootstrap-cfd [id="financing-module"] .banner img  { box-shadow: none !important; }
#bootstrap-cfd [id="financing-module"] .logo        {
    padding: 0 !important;
    min-height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
#bootstrap-cfd [id="financing-module"] .logo img    { max-width: 100% !important; }

/* ═══════════════════════════════════════════════════════════════════
   FIX 1 — Cache totalement #financing-module (badges Cofidis pub).
   Override des règles précédentes : on ne style plus, on masque.
   ═══════════════════════════════════════════════════════════════════ */
[id="financing-module"],
#bootstrap-cfd [id="financing-module"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════════
   FIX — Header : sort le logo du flex/grid container du middle row
   et le positionne en absolute à gauche. Comme ça il ne participe
   plus au layout flex/grid et ne peut PAS empiéter sur le menu, peu
   importe la largeur du logo.
   ═══════════════════════════════════════════════════════════════════ */
body:not(.woocommerce-checkout) .ct-header [data-row="middle"] {
    position: relative !important;
}
body:not(.woocommerce-checkout) .ct-header [data-row="middle"] [data-id="logo"] {
    position: absolute !important;
    left: 1rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 2 !important;
}
/* Le menu occupe toute la largeur restante au centre — il ignore le logo
   absolute. On lui ajoute un padding-left pour réserver la zone du logo. */
body:not(.woocommerce-checkout) .ct-header [data-row="middle"] > .ct-container,
body:not(.woocommerce-checkout) .ct-header [data-row="middle"] .ct-row {
    padding-left: 240px !important; /* zone réservée pour le logo */
}
@media (max-width: 999px) {
    body:not(.woocommerce-checkout) .ct-header [data-row="middle"] > .ct-container,
    body:not(.woocommerce-checkout) .ct-header [data-row="middle"] .ct-row {
        padding-left: 180px !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   FIX 3 — DPD picker : le DERNIER bloc de la modal sort du cadre.
   Cause : la modal a height min(85vh, 720px) MAIS le contenu interne
   peut dépasser quand la liste des points est longue ou quand un item
   est étendu. On force chaque zone à respecter ses bornes :
     - .dpdpp-listing scrolle vraiment (overflow-y auto + min-height 0)
     - le content du dernier item ne déborde pas en absolute
     - footer/header de la modal restent dans le cadre
   ═══════════════════════════════════════════════════════════════════ */
body.eva-modal-relay-open tr.eva-method-extras.eva-relay-active .dpd-pickup-points {
    /* Override : assure que le grid container clippe son contenu */
    overflow: hidden !important;
    box-sizing: border-box !important;
}
body.eva-modal-relay-open .dpd-pickup-points .dpdpp-listing {
    /* La liste DOIT scroller, pas overflow vers le footer */
    overflow-y: auto !important;
    overflow-x: hidden !important;
    min-height: 0 !important;       /* indispensable dans un grid pour activer overflow */
    max-height: 100% !important;
    padding-bottom: 1.5rem !important;
}
/* Items en cours d'expansion : leurs panneaux internes ne doivent pas
   déborder du conteneur scrollable (sortir de la liste vers le footer
   de la modal). On force position relative + clip propre. */
body.eva-modal-relay-open .dpdpp-listing-item,
body.eva-modal-relay-open .dpdpp-listing-item *,
body.eva-modal-relay-open .dpd-pickup-points .dpdpp-listing > * {
    position: relative !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
}
/* Tout enfant en absolute dans la modal est ramené en flux normal */
body.eva-modal-relay-open .dpd-pickup-points [style*="position:absolute"],
body.eva-modal-relay-open .dpd-pickup-points [style*="position: absolute"] {
    position: relative !important;
}

/* ═══════════════════════════════════════════════════════════════════
   FIX — Cards produit home : <picture> wrap (eva-image-optimizer pour
   WebP). Card carrée 1:1, image centrée et entière (object-fit:
   contain) — pas de crop, fond gris visible si l'image n'est pas
   carrée. picture utilisé en flex pour centrer l'img.
   ═══════════════════════════════════════════════════════════════════ */
.eva-hover-image-wrap > picture,
.eva-hover-image-wrap picture {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}
.eva-hover-image-wrap > picture > img,
.eva-hover-image-wrap picture > img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    padding: 8px !important;
    box-sizing: border-box !important;
}

/* ═══════════════════════════════════════════════════════════════════
   Checkout — section « Options de ma commande »
   Apparait via woocommerce_review_order_before_payment, donc dans le
   bloc #order_review (récap droit). On lui donne un style propre,
   distinct de la note de livraison.
   ═══════════════════════════════════════════════════════════════════ */
.eva-checkout-options {
    margin: 1.5rem 0 !important;
    padding: 1rem 1.2rem !important;
    background: #f5faff !important;
    border: 1px solid #e0eaf5 !important;
    border-radius: 8px !important;
}
.eva-checkout-options h3 {
    margin: 0 0 .8rem !important;
    font-size: 1rem !important;
    color: #1c5bb2 !important;
    font-weight: 700 !important;
    border: 0 !important;
    padding: 0 !important;
}
.eva-pkg-msg-toggle {
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: .6rem !important;
}
.eva-pkg-msg-toggle input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    accent-color: #00a6fe !important;
    cursor: pointer !important;
    margin: 0 !important;
}
.eva-pkg-msg-toggle span {
    cursor: pointer !important;
    font-weight: 500 !important;
}
.eva-pkg-msg-field {
    margin: .8rem 0 0 !important;
}
.eva-pkg-msg-field textarea {
    border: 1px solid #c5d3e6 !important;
    border-radius: 6px !important;
    padding: .6rem .8rem !important;
    font-family: inherit !important;
    font-size: .95rem !important;
    resize: vertical !important;
    min-height: 70px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.eva-pkg-msg-field textarea:focus {
    border-color: #00a6fe !important;
    outline: 0 !important;
    box-shadow: 0 0 0 3px rgba(0, 166, 254, .15) !important;
}
.eva-pkg-msg-count {
    color: #6b7c93 !important;
    font-size: .8rem !important;
    margin-top: .3rem !important;
    display: block !important;
}

/* ── Blog : retire l'aspect-ratio: 4/3 forcé inline par Blocksy sur les cards et single ── */
body.blog img[style*="aspect-ratio"],
body.archive img[style*="aspect-ratio"],
body.single-post img[style*="aspect-ratio"],
body.blog .ct-media-container img,
body.archive .ct-media-container img,
body.single-post .ct-media-container img,
body.blog [itemprop="image"],
body.archive [itemprop="image"],
body.single-post [itemprop="image"] {
    aspect-ratio: unset !important;
}

/* ── Listings WC : masquer les catégories produit affichées sous les cards par Blocksy ── */
.woocommerce ul.products li.product .meta-categories,
.woocommerce ul.products li.product .entry-meta .meta-categories {
    display: none !important;
}

/* ── Bloc Bannière accueil ──────────────────────────────────────────── */
.homepage-banner {
    display: block;
    line-height: 0;
}
.homepage-banner img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
}

/* ── Bloc Barre de réassurance ──────────────────────────────────────── */
.eva-reassurance-bar {
    background: #f0f7ff;
    border-top: 1px solid #e0ecfa;
    border-bottom: 1px solid #e0ecfa;
    padding: 1.6rem 1rem;
    margin: 2rem 0;
}
.eva-reassurance-inner {
    max-width: 1290px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}
.eva-reassurance-item {
    display: flex;
    align-items: center;
    gap: .9rem;
    justify-content: center;
}
.eva-reassurance-icon {
    color: #00a6fe;
    flex: 0 0 auto;
    line-height: 0;
}
.eva-reassurance-icon svg {
    width: 42px;
    height: 42px;
}
.eva-reassurance-text {
    display: flex;
    flex-direction: column;
}
.eva-reassurance-text strong {
    color: #1c5bb2;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
}
.eva-reassurance-text span {
    color: #667;
    font-size: .85rem;
}
@media (max-width: 900px) {
    .eva-reassurance-inner { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
    .eva-reassurance-inner { grid-template-columns: 1fr; }
}
