.woocommerce-page .entry-title { display:none; }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select { border:1px solid var(--bcc-border)!important;border-radius:var(--bcc-radius)!important;font-family:var(--bcc-font-sans)!important;padding:.75rem 1rem!important;color:var(--bcc-foreground)!important;background:#fff!important; }
.woocommerce #payment #place_order { background-color:var(--bcc-conseil,#DA053A)!important;color:#fff!important;border-radius:var(--bcc-radius-pill)!important;font-weight:700!important;width:100%!important;border:none!important;padding:1rem 2rem!important; }
.woocommerce #payment #place_order:hover { background-color:var(--bcc-conseil-hover,#BC0432)!important;color:#fff!important; }
.bcc-pdp-trust { list-style:none;margin:1rem 0;padding:0;display:flex;flex-direction:column;gap:.5rem; }
.bcc-pdp-trust li { display:flex;align-items:center;gap:.5rem;font-size:var(--bcc-text-sm);color:var(--bcc-muted-foreground); }
.bcc-pdp-trust svg { flex-shrink:0;color:var(--bcc-cta); }

/* ════════════════════════════════════════════════════════════
   SPRINT 7 — Cart · Checkout · My Account · Login/Register
   Design system Lore & Science — Nivel 1 CSS only
   ════════════════════════════════════════════════════════════ */

/* ── Typographie & reset global WC ─────────────────────── */
.woocommerce,
.woocommerce-page {
    font-family: var(--bcc-font-sans) !important;
    color: var(--bcc-foreground) !important;
    background: var(--bcc-background) !important;
}
.woocommerce h1,.woocommerce h2,.woocommerce h3,
.woocommerce-page h1,.woocommerce-page h2,.woocommerce-page h3 {
    font-family: var(--bcc-font-serif) !important;
    color: var(--bcc-foreground) !important;
}
/* Excepción: nombre de card de animal (Cheval/Chien/Chat) usa DM Sans, no Playfair */
.woocommerce h2.bcc-animal-card__name,
.woocommerce-page h2.bcc-animal-card__name {
    font-family: var(--bcc-font-sans) !important;
}
/* Excepción: título del catálogo conserva Playfair y color teal-light (no el foreground forzado) */
.woocommerce h1.bcc-catalogue-entry__title,
.woocommerce-page h1.bcc-catalogue-entry__title {
    color: var(--bcc-brand-teal-light, #8DC8C7) !important;
    font-family: var(--bcc-font-serif) !important;
}
/* Excepcion: titulo de seccion de categoria usa su color de categoria via --cat-color */
.woocommerce h2.bcc-cat-section__title,
.woocommerce-page h2.bcc-cat-section__title {
    color: var(--cat-color, var(--bcc-foreground)) !important;
}
/* Excepción: el título del card de producto usa su color de categoría y DM Sans.
   El color se inyecta vía --cat-color (inline) y gana con !important sobre la regla WC h3. */
.woocommerce h3.bcc-product-card__title,
.woocommerce-page h3.bcc-product-card__title {
    font-family: var(--bcc-font-sans) !important;
    color: var(--cat-color, var(--bcc-foreground)) !important;
}
/* Liens WC — scoped au contenu, jamais au header */
.woocommerce .site-main a,
.woocommerce-page .site-main a,
.woocommerce-page .page-content a {
    color: var(--bcc-cta) !important;
    text-decoration: none !important;
}
.woocommerce .site-main a:hover,
.woocommerce-page .site-main a:hover,
.woocommerce-page .page-content a:hover {
    color: var(--bcc-cta-hover) !important;
}

/* ══════════════════════════════════════════════════════════
   CART — /cart/
   ══════════════════════════════════════════════════════════ */

/* Layout deux colonnes sur desktop */
.woocommerce-cart .woocommerce {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Liberar page-content en el cart */
.woocommerce-cart .site-main,
.woocommerce-cart .page-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Margen lateral del area de cuenta: el contenido no debe pegarse al borde */
.woocommerce-account:not(.bcc-login-page) .page-content {
    padding-left: clamp(.75rem, 2vw, 2rem) !important;
    padding-right: clamp(.75rem, 2vw, 2rem) !important;
    box-sizing: border-box !important;
}

/* Table du panier */
.woocommerce-cart-form__cart-item td,
.woocommerce table.shop_table th {
    padding: .875rem 1rem !important;
    border-color: var(--bcc-border) !important;
    font-family: var(--bcc-font-sans) !important;
    vertical-align: middle !important;
}
.woocommerce table.shop_table {
    border: 1px solid var(--bcc-border) !important;
    border-radius: var(--bcc-radius-lg) !important;
    overflow: hidden !important;
    background: #fff !important;
    width: 100% !important;
}
.woocommerce table.shop_table thead tr {
    background: var(--bcc-muted) !important;
}
.woocommerce table.shop_table thead th {
    font-size: var(--bcc-text-sm) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
    color: var(--bcc-muted-foreground) !important;
}
/* Image produit dans le cart */
.woocommerce-cart-form__cart-item .product-thumbnail img {
    border-radius: var(--bcc-radius-md) !important;
    width: 5rem !important;
    height: 5rem !important;
    object-fit: cover !important;
}
/* Nom produit */
.woocommerce-cart-form__cart-item .product-name a {
    font-weight: 600 !important;
    font-size: var(--bcc-text-base) !important;
    color: var(--bcc-foreground) !important;
}
/* Quantité */
.woocommerce .quantity input.qty {
    border: 1.5px solid var(--bcc-border) !important;
    border-radius: var(--bcc-radius) !important;
    font-family: var(--bcc-font-sans) !important;
    font-size: var(--bcc-text-base) !important;
    padding: .4rem .6rem !important;
    width: 4rem !important;
    text-align: center !important;
    background: #fff !important;
    color: var(--bcc-foreground) !important;
}
/* Bouton supprimer */
.woocommerce-cart-form__cart-item .product-remove a.remove {
    color: var(--bcc-muted-foreground) !important;
    font-size: 1.25rem !important;
    line-height: 1 !important;
    transition: color .15s !important;
}
.woocommerce-cart-form__cart-item .product-remove a.remove:hover {
    color: var(--bcc-conseil) !important;
    background: none !important;
}
/* Bouton Mettre à jour le panier */
.woocommerce-cart .woocommerce-cart-form .actions .button {
    background: transparent !important;
    border: 1.5px solid var(--bcc-border) !important;
    color: var(--bcc-foreground) !important;
    border-radius: var(--bcc-radius-pill) !important;
    font-family: var(--bcc-font-sans) !important;
    font-weight: 600 !important;
    padding: .625rem 1.5rem !important;
    font-size: var(--bcc-text-sm) !important;
    cursor: pointer !important;
    transition: border-color .2s, background .2s !important;
}
.woocommerce-cart .woocommerce-cart-form .actions .button:hover {
    border-color: var(--bcc-cta) !important;
    color: var(--bcc-cta) !important;
}
/* Code promo */
.woocommerce-cart .woocommerce-cart-form .coupon input {
    border: 1.5px solid var(--bcc-border) !important;
    border-radius: var(--bcc-radius) !important;
    padding: .625rem 1rem !important;
    font-family: var(--bcc-font-sans) !important;
    font-size: var(--bcc-text-sm) !important;
    background: #fff !important;
    color: var(--bcc-foreground) !important;
    margin-right: .5rem !important;
}
.woocommerce-cart .woocommerce-cart-form .coupon .button {
    background: var(--bcc-brand-teal-light) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--bcc-radius-pill) !important;
    font-family: var(--bcc-font-sans) !important;
    font-weight: 600 !important;
    padding: .625rem 1.25rem !important;
    font-size: var(--bcc-text-sm) !important;
    cursor: pointer !important;
    transition: opacity .2s !important;
}
.woocommerce-cart .woocommerce-cart-form .coupon .button:hover {
    opacity: .85 !important;
}

/* Cart totals — colonne droite */
.woocommerce .cart-collaterals .cart_totals {
    background: #fff !important;
    border: 1px solid var(--bcc-border) !important;
    border-radius: var(--bcc-radius-xl) !important;
    padding: 1.5rem !important;
}
.woocommerce .cart-collaterals .cart_totals h2 {
    font-family: var(--bcc-font-serif) !important;
    font-size: var(--bcc-text-xl) !important;
    font-weight: 700 !important;
    color: var(--bcc-foreground) !important;
    margin: 0 0 1.25rem !important;
}
.woocommerce .cart-collaterals .cart_totals table {
    border: none !important;
    border-radius: 0 !important;
    width: 100% !important;
    background: transparent !important;
}
.woocommerce .cart-collaterals .cart_totals table th,
.woocommerce .cart-collaterals .cart_totals table td {
    border-color: var(--bcc-border) !important;
    padding: .625rem 0 !important;
    font-family: var(--bcc-font-sans) !important;
    background: transparent !important;
}
.woocommerce .cart-collaterals .cart_totals table .order-total th,
.woocommerce .cart-collaterals .cart_totals table .order-total td {
    font-weight: 700 !important;
    font-size: var(--bcc-text-lg) !important;
    color: var(--bcc-foreground) !important;
    border-top: 2px solid var(--bcc-border) !important;
    padding-top: .875rem !important;
}
/* Bouton Passer la commande */
.woocommerce .cart-collaterals .wc-proceed-to-checkout .checkout-button {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    background: var(--bcc-conseil) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--bcc-radius-pill) !important;
    font-family: var(--bcc-font-sans) !important;
    font-size: var(--bcc-text-base) !important;
    font-weight: 700 !important;
    padding: .875rem 1.5rem !important;
    cursor: pointer !important;
    transition: background .2s !important;
    text-decoration: none !important;
    margin-top: 1rem !important;
    letter-spacing: .02em !important;
}
.woocommerce .cart-collaterals .wc-proceed-to-checkout .checkout-button:hover {
    background: var(--bcc-conseil-hover) !important;
    color: #fff !important;
}

/* ══════════════════════════════════════════════════════════
   CHECKOUT — /checkout/
   ══════════════════════════════════════════════════════════ */

.woocommerce-checkout .woocommerce {
    max-width: var(--bcc-container-max) !important;
    margin: 2rem auto !important;
    padding: 0 1.25rem !important;
}
/* Layout 2 colonnes */
.woocommerce-checkout #customer_details {
    float: none !important;
    width: 100% !important;
}
@media (min-width: 1024px) {
    .woocommerce-checkout .col2-set {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 2rem !important;
        float: none !important;
        width: 100% !important;
    }
    .woocommerce-checkout .col2-set .col-1,
    .woocommerce-checkout .col2-set .col-2 {
        float: none !important;
        width: 100% !important;
    }
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review {
        float: none !important;
        width: 100% !important;
    }
}
/* Titres des sections checkout */
.woocommerce-checkout h3 {
    font-family: var(--bcc-font-serif) !important;
    font-size: var(--bcc-text-xl) !important;
    font-weight: 700 !important;
    color: var(--bcc-foreground) !important;
    padding-bottom: .75rem !important;
    border-bottom: 1px solid var(--bcc-border) !important;
    margin-bottom: 1.25rem !important;
}
/* Labels */
.woocommerce-checkout .form-row label {
    font-family: var(--bcc-font-sans) !important;
    font-size: var(--bcc-text-sm) !important;
    font-weight: 500 !important;
    color: var(--bcc-foreground) !important;
    margin-bottom: .375rem !important;
    display: block !important;
}
/* Inputs — déjà définis dans le CSS existant, renforcement */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
    width: 100% !important;
    border: 1.5px solid var(--bcc-border) !important;
    border-radius: var(--bcc-radius) !important;
    padding: .75rem 1rem !important;
    font-family: var(--bcc-font-sans) !important;
    font-size: var(--bcc-text-base) !important;
    color: var(--bcc-foreground) !important;
    background: #fff !important;
    transition: border-color .15s, box-shadow .15s !important;
    outline: none !important;
    box-sizing: border-box !important;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
    border-color: var(--bcc-brand-teal-light) !important;
    box-shadow: 0 0 0 3px rgba(141,200,199,.2) !important;
}
/* Select2 (dropdown pais/region) -- replicar estilo de los inputs */
/* WooCommerce reemplaza el <select> de pais por un componente select2;
   sin estos estilos se ve generico. Replicamos el look de input-text. */
.woocommerce-checkout .form-row .select2-container,
.woocommerce-checkout .select2-container {
    width: 100% !important;
}
.woocommerce-checkout .select2-container .select2-selection--single {
    height: auto !important;
    min-height: 0 !important;
    border: 1.5px solid var(--bcc-border) !important;
    border-radius: var(--bcc-radius) !important;
    padding: .75rem 1rem !important;
    font-family: var(--bcc-font-sans) !important;
    font-size: var(--bcc-text-base) !important;
    color: var(--bcc-foreground) !important;
    background: #fff !important;
    box-sizing: border-box !important;
    transition: border-color .15s, box-shadow .15s !important;
    display: flex !important;
    align-items: center !important;
}
.woocommerce-checkout .select2-container--open .select2-selection--single,
.woocommerce-checkout .select2-container--focus .select2-selection--single {
    border-color: var(--bcc-brand-teal-light) !important;
    box-shadow: 0 0 0 3px rgba(141,200,199,.2) !important;
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
    padding: 0 !important;
    line-height: 1.4 !important;
    color: var(--bcc-foreground) !important;
    font-family: var(--bcc-font-sans) !important;
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
    top: 0 !important;
    right: .75rem !important;
}
.select2-dropdown {
    border: 1.5px solid var(--bcc-border) !important;
    border-radius: var(--bcc-radius) !important;
    font-family: var(--bcc-font-sans) !important;
    overflow: hidden !important;
}
.select2-search--dropdown .select2-search__field {
    border: 1.5px solid var(--bcc-border) !important;
    border-radius: var(--bcc-radius) !important;
    padding: .5rem .75rem !important;
    font-family: var(--bcc-font-sans) !important;
}
.select2-results__option--highlighted[aria-selected],
.select2-results__option--highlighted {
    background: var(--bcc-brand-teal-light) !important;
    color: #fff !important;
}
/* Récapitulatif commande */
.woocommerce-checkout #order_review {
    background: #fff !important;
    border: 1px solid var(--bcc-border) !important;
    border-radius: var(--bcc-radius-xl) !important;
    padding: 1.5rem !important;
    margin-top: 2rem !important;
}
.woocommerce-checkout table.shop_table {
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
}
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
    border-color: var(--bcc-border) !important;
    padding: .625rem 0 !important;
    background: transparent !important;
    font-family: var(--bcc-font-sans) !important;
}
.woocommerce-checkout table.shop_table .order-total th,
.woocommerce-checkout table.shop_table .order-total td {
    font-weight: 700 !important;
    font-size: var(--bcc-text-lg) !important;
    border-top: 2px solid var(--bcc-border) !important;
    padding-top: .875rem !important;
}
/* Zone paiement */
.woocommerce-checkout #payment {
    background: var(--bcc-muted) !important;
    border-radius: var(--bcc-radius-lg) !important;
    border: 1px solid var(--bcc-border) !important;
    padding: 1.25rem !important;
    margin-top: 1.5rem !important;
}
.woocommerce-checkout #payment ul.payment_methods {
    border-bottom: 1px solid var(--bcc-border) !important;
    padding-bottom: 1rem !important;
    margin-bottom: 1rem !important;
    list-style: none !important;
    padding-left: 0 !important;
}
.woocommerce-checkout #payment ul.payment_methods li label {
    font-family: var(--bcc-font-sans) !important;
    font-size: var(--bcc-text-base) !important;
    font-weight: 500 !important;
    color: var(--bcc-foreground) !important;
}
/* Bouton Place Order — renforcement (fusionné avec la règle globale ligne 3) */
.woocommerce #payment #place_order {
    font-family: var(--bcc-font-sans) !important;
    font-size: var(--bcc-text-base) !important;
    letter-spacing: .02em !important;
    transition: background .2s !important;
    cursor: pointer !important;
    color: #fff !important;
    text-decoration: none !important;
}

/* ══════════════════════════════════════════════════════════
   MY ACCOUNT — /my-account/
   ══════════════════════════════════════════════════════════ */

.woocommerce-account .woocommerce {
    max-width: var(--bcc-container-max) !important;
    margin: 2rem auto !important;
    padding: 0 clamp(1.25rem, 4vw, 4rem) !important;
    box-sizing: border-box !important;
}
/* Layout nav + contenu */
@media (min-width: 768px) {
    .woocommerce-account .woocommerce {
        display: grid !important;
        grid-template-columns: 14rem 1fr !important;
        gap: 2.5rem !important;
        align-items: start !important;
    }
}
/* Navigation latérale */
.woocommerce-account .woocommerce-MyAccount-navigation {
    background: #fff !important;
    border: 1px solid var(--bcc-border) !important;
    border-radius: var(--bcc-radius-xl) !important;
    overflow: hidden !important;
    padding: .5rem 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: flex !important;
    align-items: center !important;
    padding: .75rem 1.25rem !important;
    font-family: var(--bcc-font-sans) !important;
    font-size: var(--bcc-text-sm) !important;
    font-weight: 500 !important;
    color: var(--bcc-muted-foreground) !important;
    text-decoration: none !important;
    transition: background .15s, color .15s !important;
    border-left: 3px solid transparent !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background: var(--bcc-muted) !important;
    color: var(--bcc-foreground) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active a {
    background: rgba(141,200,199,.12) !important;
    color: var(--bcc-brand-teal) !important;
    border-left-color: var(--bcc-brand-teal-light) !important;
    font-weight: 600 !important;
}
/* Contenu principal my account */
.woocommerce-account .woocommerce-MyAccount-content {
    background: #fff !important;
    border: 1px solid var(--bcc-border) !important;
    border-radius: var(--bcc-radius-xl) !important;
    padding: 1.75rem !important;
    min-height: 20rem !important;
}
.woocommerce-account .woocommerce-MyAccount-content p {
    font-family: var(--bcc-font-sans) !important;
    font-size: var(--bcc-text-base) !important;
    color: var(--bcc-muted-foreground) !important;
    line-height: 1.6 !important;
}
/* Tableau des commandes */
.woocommerce-account .woocommerce-orders-table {
    border: 1px solid var(--bcc-border) !important;
    border-radius: var(--bcc-radius-lg) !important;
    overflow: hidden !important;
    width: 100% !important;
    background: transparent !important;
}
.woocommerce-account .woocommerce-orders-table th {
    background: var(--bcc-muted) !important;
    font-size: var(--bcc-text-xs) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
    color: var(--bcc-muted-foreground) !important;
    padding: .75rem 1rem !important;
    border-color: var(--bcc-border) !important;
}
.woocommerce-account .woocommerce-orders-table td {
    padding: .75rem 1rem !important;
    border-color: var(--bcc-border) !important;
    font-family: var(--bcc-font-sans) !important;
    font-size: var(--bcc-text-sm) !important;
}
/* Badges de statut commande */
.woocommerce-account .wc-item-meta,
.woocommerce-account mark.order-status {
    background: var(--bcc-muted) !important;
    color: var(--bcc-foreground) !important;
    border-radius: var(--bcc-radius-pill) !important;
    padding: .2rem .75rem !important;
    font-size: var(--bcc-text-xs) !important;
    font-weight: 600 !important;
    display: inline-block !important;
}
/* Boutons my account */
.woocommerce-account .button,
.woocommerce-account a.button {
    background: var(--bcc-cta) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--bcc-radius-pill) !important;
    font-family: var(--bcc-font-sans) !important;
    font-size: var(--bcc-text-sm) !important;
    font-weight: 600 !important;
    padding: .55rem 1.25rem !important;
    cursor: pointer !important;
    transition: background .2s !important;
    text-decoration: none !important;
    display: inline-block !important;
}
.woocommerce-account .button:hover,
.woocommerce-account a.button:hover {
    background: var(--bcc-cta-hover) !important;
    color: #fff !important;
}
/* Formulaires my account (adresses, profil) */
.woocommerce-account .woocommerce-address-fields__field-wrapper,
.woocommerce-account .woocommerce-EditAccountForm {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
}
@media (min-width: 640px) {
    .woocommerce-account .woocommerce-address-fields__field-wrapper {
        grid-template-columns: 1fr 1fr !important;
    }
}
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row,
.woocommerce-account .woocommerce-EditAccountForm .form-row {
    margin: 0 !important;
}

/* ══════════════════════════════════════════════════════════
   LOGIN / REGISTER — /my-account/ sans session
   ══════════════════════════════════════════════════════════ */

.woocommerce-account:not(.logged-in) .woocommerce,
.woocommerce-page .woocommerce-form-login,
.woocommerce-page .woocommerce-form-register {
    max-width: 36rem !important;
    margin: 3rem auto !important;
    padding: 0 1.25rem !important;
}
/* Si les deux formulaires sont côte à côte */
@media (min-width: 768px) {
    .woocommerce-page .u-column1,
    .woocommerce-page .u-column2 {
        max-width: none !important;
    }
    .woocommerce-page .woocommerce > .u-columns {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 2rem !important;
        max-width: 56rem !important;
        margin: 3rem auto !important;
        padding: 0 1.25rem !important;
    }
}
.woocommerce-form-login,
.woocommerce-form-register {
    background: #fff !important;
    border: 1px solid var(--bcc-border) !important;
    border-radius: var(--bcc-radius-xl) !important;
    padding: 2rem !important;
}
.woocommerce-form-login h2,
.woocommerce-form-register h2 {
    font-family: var(--bcc-font-serif) !important;
    font-size: var(--bcc-text-2xl) !important;
    font-weight: 700 !important;
    color: var(--bcc-foreground) !important;
    margin: 0 0 1.5rem !important;
}
.woocommerce-form-login .form-row label,
.woocommerce-form-register .form-row label {
    font-family: var(--bcc-font-sans) !important;
    font-size: var(--bcc-text-sm) !important;
    font-weight: 500 !important;
    color: var(--bcc-foreground) !important;
    margin-bottom: .375rem !important;
    display: block !important;
}
.woocommerce-form-login .form-row input,
.woocommerce-form-register .form-row input {
    width: 100% !important;
    border: 1.5px solid var(--bcc-border) !important;
    border-radius: var(--bcc-radius) !important;
    padding: .75rem 1rem !important;
    font-family: var(--bcc-font-sans) !important;
    font-size: var(--bcc-text-base) !important;
    color: var(--bcc-foreground) !important;
    background: var(--bcc-background) !important;
    box-sizing: border-box !important;
    transition: border-color .15s, box-shadow .15s !important;
    outline: none !important;
}
.woocommerce-form-login .form-row input:focus,
.woocommerce-form-register .form-row input:focus {
    border-color: var(--bcc-brand-teal-light) !important;
    box-shadow: 0 0 0 3px rgba(141,200,199,.2) !important;
}
.woocommerce-form-login__submit,
.woocommerce-form-register__submit {
    display: block !important;
    width: 100% !important;
    background: var(--bcc-cta) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--bcc-radius-pill) !important;
    font-family: var(--bcc-font-sans) !important;
    font-size: var(--bcc-text-base) !important;
    font-weight: 700 !important;
    padding: .875rem 1.5rem !important;
    cursor: pointer !important;
    transition: background .2s !important;
    margin-top: 1rem !important;
    text-align: center !important;
}
.woocommerce-form-login__submit:hover,
.woocommerce-form-register__submit:hover {
    background: var(--bcc-cta-hover) !important;
}
/* Remember me + lost password */
.woocommerce-form-login__rememberme {
    font-family: var(--bcc-font-sans) !important;
    font-size: var(--bcc-text-sm) !important;
    color: var(--bcc-muted-foreground) !important;
}
.woocommerce-LostPassword a,
.woocommerce-form-login p a {
    font-family: var(--bcc-font-sans) !important;
    font-size: var(--bcc-text-sm) !important;
    color: var(--bcc-cta) !important;
    text-decoration: none !important;
}
.woocommerce-LostPassword a:hover,
.woocommerce-form-login p a:hover {
    color: var(--bcc-cta-hover) !important;
}

/* ══════════════════════════════════════════════════════════
   MESSAGES & NOTICES WC — global
   ══════════════════════════════════════════════════════════ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-radius: var(--bcc-radius-lg) !important;
    font-family: var(--bcc-font-sans) !important;
    font-size: var(--bcc-text-sm) !important;
    padding: 1rem 1.25rem !important;
    border-top: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
}
.woocommerce-message {
    background: rgba(24,138,129,.08) !important;
    border-left: 4px solid var(--bcc-cta) !important;
    color: var(--bcc-foreground) !important;
}
.woocommerce-info {
    background: rgba(141,200,199,.12) !important;
    border-left: 4px solid var(--bcc-brand-teal-light) !important;
    color: var(--bcc-foreground) !important;
}
.woocommerce-error {
    background: rgba(218,5,58,.08) !important;
    border-left: 4px solid var(--bcc-conseil) !important;
    color: var(--bcc-foreground) !important;
    list-style: none !important;
    padding-left: 1.25rem !important;
}
.woocommerce-message .button,
.woocommerce-info .button {
    background: var(--bcc-cta) !important;
    color: #fff !important;
    border-radius: var(--bcc-radius-pill) !important;
    font-size: var(--bcc-text-sm) !important;
    font-weight: 600 !important;
    padding: .4rem 1rem !important;
    border: none !important;
    cursor: pointer !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    display: inline-flex !important;
    min-width: 6rem !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Bouton Undo dans les notices de suppression */
.woocommerce-message a.restore-item,
.woocommerce-message .undo {
    color: var(--bcc-cta) !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
    font-size: var(--bcc-text-sm) !important;
}

/* Notices cart (ajouts/suppressions) — masquées sur checkout, inutiles ici.
   Les .woocommerce-error restent visibles (validation du formulaire). */
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info {
    display: none !important;
}

/* Notices sur la page cart/checkout — espacées du contenu */
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-notices-wrapper {
    margin-bottom: 1.5rem !important;
}

/* Bouton fermer (X) + auto-dismiss sur les notices WC (panier, compte, etc.) */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    position: relative !important;
    padding-right: 2.75rem !important;
    transition: opacity .3s ease, transform .3s ease !important;
}
.bcc-notice__close {
    position: absolute !important;
    top: .5rem !important;
    right: .5rem !important;
    width: 1.75rem !important;
    height: 1.75rem !important;
    border: none !important;
    background: transparent !important;
    font-size: 1.35rem !important;
    line-height: 1 !important;
    cursor: pointer !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: .7 !important;
    transition: opacity .15s ease, background .15s ease !important;
}
.bcc-notice__close:hover {
    opacity: 1 !important;
}
/* Couleur du X = ton plus fonce du fond de chaque type de notice */
.woocommerce-message .bcc-notice__close {
    color: var(--bcc-cta) !important;
}
.woocommerce-message .bcc-notice__close:hover {
    background: rgba(24,138,129,.15) !important;
}
.woocommerce-info .bcc-notice__close {
    color: var(--bcc-brand-teal) !important;
}
.woocommerce-info .bcc-notice__close:hover {
    background: rgba(141,200,199,.25) !important;
}
.woocommerce-error .bcc-notice__close {
    color: var(--bcc-conseil) !important;
}
.woocommerce-error .bcc-notice__close:hover {
    background: rgba(218,5,58,.15) !important;
}
.bcc-notice--closing {
    opacity: 0 !important;
    transform: translateY(-.35rem) !important;
}

/* Badge de estado del pedido (Commande #xxx / statut).
   Fuente unica de color para el estado, usada tanto en la tabla
   "Mes commandes" (orders.php) como en el detalle de pedido (view-order.php). */
.bcc-order-status {
    display: inline-block;
    padding: .2rem .75rem;
    border-radius: var(--bcc-radius-pill);
    font-size: .75rem;
    font-weight: 600;
}
.bcc-order-status--processing {
    background: rgba(24,138,129,.12);
    color: var(--bcc-cta);
}
.bcc-order-status--completed {
    background: rgba(22,163,74,.12);
    color: #16a34a;
}
.bcc-order-status--on-hold {
    background: rgba(234,179,8,.12);
    color: #b45309;
}
.bcc-order-status--cancelled,
.bcc-order-status--refunded {
    background: rgba(218,5,58,.08);
    color: var(--bcc-conseil);
}
.bcc-order-status--pending {
    background: rgba(103,126,114,.12);
    color: var(--bcc-muted-foreground);
}


/* ── My Account layout — nav + content grid ─────────────── */
.woocommerce-account .woocommerce {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
    max-width: var(--bcc-container-max) !important;
    margin: 2rem auto !important;
    padding: 0 clamp(1.25rem, 4vw, 4rem) !important;
    box-sizing: border-box !important;
    align-items: start !important;
}
@media (min-width: 768px) {
    .woocommerce-account .woocommerce {
        grid-template-columns: 15rem 1fr !important;
        gap: 2rem !important;
    }
}
.woocommerce-account .woocommerce-MyAccount-content {
    background: #fff !important;
    border: 1px solid var(--bcc-border) !important;
    border-radius: var(--bcc-radius-xl) !important;
    padding: 1.75rem !important;
    min-height: 20rem !important;
    font-family: var(--bcc-font-sans) !important;
}
/* Cart page container */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
    max-width: var(--bcc-container-max) !important;
    margin: 0 auto !important;
    padding: 0 !important;
}
/* Masquer le titre WC par défaut (on a le nôtre) */
.woocommerce-cart .woocommerce-page-title,
.woocommerce-checkout .woocommerce-page-title {
    display: none !important;
}
/* Coupon form WC natif — appliquer nos styles */
.woocommerce-cart .coupon,
.woocommerce-page .coupon {
    display: flex !important;
    gap: .5rem !important;
    flex-wrap: wrap !important;
}
.woocommerce-cart .coupon input#coupon_code,
.woocommerce-page .coupon input#coupon_code {
    flex: 1 !important;
    border: 1.5px solid var(--bcc-border) !important;
    border-radius: var(--bcc-radius) !important;
    padding: .6rem 1rem !important;
    font-family: var(--bcc-font-sans) !important;
    font-size: .875rem !important;
    background: #fff !important;
    color: var(--bcc-foreground) !important;
    text-transform: uppercase !important;
    outline: none !important;
    min-width: 0 !important;
}
.woocommerce-cart .coupon input#coupon_code:focus,
.woocommerce-page .coupon input#coupon_code:focus {
    border-color: var(--bcc-brand-teal-light) !important;
    box-shadow: 0 0 0 3px rgba(141,200,199,.2) !important;
}
.woocommerce-cart .coupon .button,
.woocommerce-page .coupon .button {
    background: var(--bcc-brand-teal-light) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--bcc-radius-pill) !important;
    font-family: var(--bcc-font-sans) !important;
    font-weight: 600 !important;
    padding: .6rem 1.25rem !important;
    font-size: .875rem !important;
    cursor: pointer !important;
    transition: opacity .2s !important;
    white-space: nowrap !important;
}
.woocommerce-cart .coupon .button:hover,
.woocommerce-page .coupon .button:hover {
    opacity: .85 !important;
}
/* Masquer la table cart WC native — on utilise notre template */
.woocommerce-cart-form { display: block !important; }

/* ══════════════════════════════════════════════════════════
   LOGIN / REGISTER — pantalla completa
   Sobreescribe las reglas de my-account con mayor especificidad
   ══════════════════════════════════════════════════════════ */
body.woocommerce-account.bcc-login-page .woocommerce,
body.woocommerce-account.bcc-login-page .page-content .woocommerce {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    grid-template-columns: none !important;
}
body.woocommerce-account.bcc-login-page .bcc-auth-wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 3rem 1.25rem !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

/* Fix espacios blancos login */
body.bcc-login-page {
    overflow-x: hidden !important;
}
body.bcc-login-page .site-main,
body.bcc-login-page .page-content {
    
    margin: 0 !important;
    padding: 0 !important;
}

/* Header fix: imagen de fondo sube detrás del header sticky */
body.bcc-login-page .site-main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
body.woocommerce-account.bcc-login-page .bcc-auth-wrap {
    margin-top: -8rem !important;
    padding-top: calc(3rem + 8rem) !important;
}

/* ── Checkout button — color override vs wc-blocks.css (loaded in footer) ─── */
/* wc-blocks.css se carga después del inline style del body y puede ganar.
   Este bloque en woocommerce.css NO gana sobre wc-blocks.css por orden de carga,
   pero el atributo style="" en el HTML sí gana sobre cualquier stylesheet. */
body .bcc-btn-checkout,
body a.bcc-btn-checkout,
.woocommerce body .bcc-btn-checkout,
.woocommerce-cart body .bcc-btn-checkout {
    color: #fff !important;
    text-decoration: none !important;
}
body a.bcc-btn-checkout:hover,
body a.bcc-btn-checkout:visited,
body a.bcc-btn-checkout:focus {
    color: #fff !important;
}
body a.bcc-btn-continue,
body .bcc-btn-continue {
    text-decoration: none !important;
}



/* =====================================================================
   BCC THANKYOU — diseno Lore & Science productivo
   ===================================================================== */

.bcc-thankyou {
    max-width: 1100px;
    margin: 2rem auto;
    padding: 0 1rem;
    font-family: var(--bcc-font-sans);
}

/* --- Banner de confirmacion --- */
.bcc-thankyou__banner {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    background: #fff;
    border: 1px solid #d1fae5;
    border-radius: 1rem;
    padding: 1.5rem 2rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 2px 10px rgba(13,73,89,0.06);
}
.bcc-thankyou__banner-icon {
    flex-shrink: 0;
    width: 56px; height: 56px;
    border-radius: 50%;
    border: 2px solid #10b981;
    display: flex; align-items: center; justify-content: center;
    color: #10b981;
}
.bcc-thankyou__banner-title {
    font-family: var(--bcc-font-serif);
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--bcc-foreground, #1E2D26);
    margin: 0 0 0.25rem;
}
.bcc-thankyou__banner-sub {
    font-size: 0.875rem;
    color: var(--bcc-muted-foreground, #677E73);
    margin: 0;
}

/* --- 4 cards de resumen --- */
.bcc-thankyou__overview {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.bcc-thankyou__overview-card {
    background: #fff;
    border: 1px solid var(--bcc-border, #E6E2DA);
    border-radius: 0.875rem;
    padding: 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.875rem;
    box-shadow: 0 2px 8px rgba(13,73,89,0.05);
}
.bcc-thankyou__overview-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #E9EEED;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #4A9B8E;
}
.bcc-thankyou__overview-label {
    display: block;
    font-size: 0.875rem;
    color: var(--bcc-muted-foreground, #677E73);
    margin-bottom: 0.2rem;
}
.bcc-thankyou__overview-value {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    color: var(--bcc-foreground, #1E2D26);
}

/* --- Layout 2 columnas --- */
.bcc-thankyou__body {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 1.5rem;
    align-items: start;
}

/* --- Card generico --- */
.bcc-thankyou__card {
    background: #fff;
    border: 1px solid var(--bcc-border, #E6E2DA);
    border-radius: 1rem;
    padding: 1.5rem;
    box-shadow: 0 2px 10px rgba(13,73,89,0.06);
    margin-bottom: 1rem;
}
.bcc-thankyou__card-title {
    font-family: var(--bcc-font-serif);
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--bcc-foreground, #1E2D26);
    margin: 0 0 1rem;
}

/* --- Tabla de productos --- */
.bcc-thankyou__card .shop_table {
    width: 100%;
    border-collapse: collapse;
}
/* Neutralizar bordes verticales heredados del tema padre / WC core: solo lineas horizontales */
.bcc-thankyou__card .shop_table th,
.bcc-thankyou__card .shop_table td {
    border-left: none !important;
    border-right: none !important;
}
.bcc-thankyou__card .shop_table thead th {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--bcc-muted-foreground, #677E73);
    background: var(--bcc-muted, #F5F3EE);
    border-bottom: 1px solid var(--bcc-border, #E6E2DA);
    padding: 0.75rem 0.75rem;
    text-align: center;
}
/* Esquinas redondeadas de la banda de cabecera */
.bcc-thankyou__card .shop_table thead th:first-child { border-top-left-radius: var(--bcc-radius, 12px); }
.bcc-thankyou__card .shop_table thead th:last-child  { border-top-right-radius: var(--bcc-radius, 12px); }
/* QTE y TOTAL centrados en thead */
.bcc-thankyou__card .shop_table thead th.bcc-th-qty,
.bcc-thankyou__card .shop_table thead th.product-total {
    text-align: center;
}
.bcc-thankyou__card .shop_table thead th.bcc-th-qty,
.bcc-thankyou__card .shop_table td.bcc-td-qty {
    text-align: center;
    width: 80px;
    min-width: 80px;
    white-space: nowrap;
}
.bcc-thankyou__card .shop_table tbody tr {
    border-bottom: 1px solid var(--bcc-border, #E6E2DA);
}
.bcc-thankyou__card .shop_table tbody td {
    padding: 0.875rem 0.75rem;
    font-size: 0.875rem; /* 14px exacto */
    vertical-align: middle;
    text-align: center;
}
/* Columna PRODUIT: alineada a la izquierda con padding generoso */
.bcc-thankyou__card .shop_table tbody td.product-name {
    text-align: left;
    padding-left: 1rem;
}
.bcc-thankyou__card .shop_table tfoot th,
.bcc-thankyou__card .shop_table tfoot td {
    padding: 0.625rem 0.75rem;
    font-size: 0.875rem; /* 14px exacto */
    border-top: 1px solid var(--bcc-border, #E6E2DA) !important;
    border-bottom: none !important;
    vertical-align: middle;
    text-align: center;
}
/* Valor del tfoot: centrado horizontal */
.bcc-thankyou__card .shop_table tfoot td {
    text-align: center;
}
.bcc-thankyou__card .shop_table tfoot tr:first-child th,
.bcc-thankyou__card .shop_table tfoot tr:first-child td { border-top: none; }
.bcc-thankyou__card .shop_table tfoot .order-total th,
.bcc-thankyou__card .shop_table tfoot .order-total td {
    font-weight: 700;
    font-size: 1.0625rem;
    border-top: 2px solid var(--bcc-border, #E6E2DA) !important;
    padding-top: 0.75rem;
    color: var(--bcc-foreground, #1E2D26);
    vertical-align: middle;
}

/* Celda de producto: imagen + info */
.bcc-thankyou__product-cell {
    display: flex;
    align-items: center;
    gap: 0.875rem;
}
.bcc-thankyou__product-img img {
    width: 56px; height: 56px;
    object-fit: contain;
    border-radius: 0.5rem;
}
.bcc-thankyou__product-info {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}
.bcc-thankyou__product-info a {
    font-weight: 600;
    color: var(--bcc-foreground, #1E2D26);
    text-decoration: none;
    font-size: 0.9rem;
}
.bcc-thankyou__product-sku {
    font-size: 0.75rem;
    color: var(--bcc-muted-foreground, #677E73);
}

/* --- Columna lateral --- */
.bcc-thankyou__col-side .bcc-thankyou__card {
    margin-bottom: 1rem;
}

/* Entrega */
.bcc-thankyou__delivery-header,
.bcc-thankyou__address-header {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 0;
}
.bcc-thankyou__address-content {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    flex: 1;
}
.bcc-thankyou__address-content .bcc-thankyou__card-title {
    margin: 0 0 0.25rem;
}
.bcc-thankyou__delivery-icon,
.bcc-thankyou__address-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #E9EEED;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #4A9B8E;
}
.bcc-thankyou__delivery-header .bcc-thankyou__card-title,
.bcc-thankyou__address-header .bcc-thankyou__card-title {
    margin: 0;
}
.bcc-thankyou__delivery-eta {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--bcc-foreground, #1E2D26);
    margin: 0 0 0.375rem;
}
.bcc-thankyou__delivery-note {
    font-size: 0.8rem;
    color: var(--bcc-muted-foreground, #677E73);
    margin: 0;
}

/* Direcciones */
.bcc-thankyou__address {
    font-style: normal;
    font-size: 0.875rem;
    color: var(--bcc-muted-foreground, #677E73);
    line-height: 1.7;
    margin: 0;
}

/* --- Besoin d'aide --- */
.bcc-thankyou__help {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--bcc-border, #E6E2DA);
    text-align: center;
    font-size: 0.9rem;
    color: var(--bcc-muted-foreground, #677E73);
}
.bcc-thankyou__help-icon { color: var(--bcc-conseil, #DA053A); }
.bcc-thankyou__help strong {
    display: block;
    color: var(--bcc-foreground, #1E2D26);
    margin-bottom: 0.15rem;
}
.bcc-thankyou__help a {
    color: var(--bcc-brand-teal, #0E4C5A);
    font-weight: 600;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .bcc-thankyou__overview { grid-template-columns: repeat(2, 1fr); }
    .bcc-thankyou__body     { grid-template-columns: 1fr; }
    .bcc-thankyou__col-side { order: -1; }
}
@media (max-width: 480px) {
    .bcc-thankyou__overview     { grid-template-columns: 1fr 1fr; gap: 0.75rem; }
    .bcc-thankyou__banner       { flex-direction: column; text-align: center; }
}

/* -- VIEW ORDER (detalle de pedido en Mi cuenta): extras sobre el layout thankyou -- */
.bcc-vieworder__status-pill {
    display: inline-block;
    padding: .15rem .65rem;
    border-radius: var(--bcc-radius-pill, 999px);
    background: var(--bcc-brand-teal-light, #8DC8C7);
    color: var(--bcc-brand-teal, #0C4859);
    font-weight: 700;
    font-size: .8125rem;
    line-height: 1.4;
    white-space: nowrap;
}
.bcc-vieworder__notes {
    margin-bottom: 1.5rem;
}
.bcc-vieworder__notes-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.bcc-vieworder__note {
    padding-left: 1rem;
    border-left: 3px solid var(--bcc-brand-teal-light, #8DC8C7);
}
.bcc-vieworder__note-meta {
    margin: 0 0 .25rem;
    font-size: .8125rem;
    color: var(--bcc-muted-foreground, #677E73);
    font-family: var(--bcc-font-sans, 'DM Sans', sans-serif);
}
.bcc-vieworder__note-desc {
    margin: 0;
    font-size: .9375rem;
    color: var(--bcc-foreground, #1E2D26);
}
.bcc-vieworder__note-desc p { margin: 0; }
.bcc-vieworder__customer-note {
    margin-top: 1.25rem;
    padding: 1rem 1.25rem;
    background: var(--bcc-muted, #F5F3EE);
    border-radius: var(--bcc-radius, 12px);
}
.bcc-vieworder__customer-note strong {
    display: block;
    margin-bottom: .35rem;
    font-family: var(--bcc-font-sans, 'DM Sans', sans-serif);
    color: var(--bcc-brand-teal, #0C4859);
}
.bcc-vieworder__customer-note p {
    margin: 0;
    font-size: .9375rem;
    color: var(--bcc-foreground, #1E2D26);
}

/* -- Validacion coincidencia contrasenas (reset + edit-account) -- */
.bcc-pwd-match-msg {
    font-family: var(--bcc-font-sans, 'DM Sans', sans-serif);
    font-size: .8125rem;
    min-height: 1.2em;
    margin: .25rem 0;
    display: none;
}
.bcc-pwd-match-msg.bcc-match-ok  { color: #16a34a; display: block; }
.bcc-pwd-match-msg.bcc-match-err { color: var(--bcc-conseil, #DA053A); display: block; }
/* -- Medidor de seguridad de contrasena (reset + edit-account) -- */
.bcc-pwd-strength { margin-top: .6rem; }
.bcc-pwd-strength__track {
    height: 5px; width: 100%;
    background: rgba(0,0,0,.08);
    border-radius: 999px; overflow: hidden;
}
.bcc-pwd-strength__bar {
    height: 100%; width: 0;
    border-radius: 999px;
    transition: width .25s ease, background .25s ease;
}
.bcc-pwd-strength__bar.is-weak   { background: #e11d48; }
.bcc-pwd-strength__bar.is-medium { background: #f59e0b; }
.bcc-pwd-strength__bar.is-strong { background: #16a34a; }
.bcc-pwd-strength__label {
    display: block; margin-top: .35rem;
    font-family: var(--bcc-font-sans, 'DM Sans', sans-serif);
    font-size: .8rem; font-weight: 600;
}
.bcc-pwd-strength__label.is-weak   { color: #e11d48; }
.bcc-pwd-strength__label.is-medium { color: #f59e0b; }
.bcc-pwd-strength__label.is-strong { color: #16a34a; }
/* Strength meter de WooCommerce dentro de las cards de auth */
.bcc-auth-wrap .woocommerce-password-strength,
.bcc-profile__security .woocommerce-password-strength {
    margin-top: .5rem;
    border-radius: .375rem;
    font-family: var(--bcc-font-sans, 'DM Sans', sans-serif);
    font-size: .8125rem;
    text-align: center;
    padding: .375rem .75rem;
}
.bcc-auth-wrap .woocommerce-password-hint,
.bcc-profile__security .woocommerce-password-hint {
    font-size: .8125rem;
    color: var(--bcc-muted-foreground, #677E73);
    display: block;
    margin-top: .35rem;
    font-family: var(--bcc-font-sans, 'DM Sans', sans-serif);
}

/* -- Checkboxes checkout (Crear cuenta / Enviar a direccion diferente) -- */
/* Ocultar el checkbox nativo y reemplazar con uno custom coherente al theme */
.woocommerce-form__label-for-checkbox {
    display: inline-flex !important;
    align-items: center !important;
    gap: .625rem !important;
    cursor: pointer !important;
    font-family: var(--bcc-font-sans) !important;
    font-size: .9375rem !important;
    font-weight: 500 !important;
    color: var(--bcc-foreground) !important;
    user-select: none !important;
    line-height: 1.4 !important;
}
.woocommerce-form__input-checkbox {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 1.125rem !important;
    height: 1.125rem !important;
    min-width: 1.125rem !important;
    border: 1.5px solid var(--bcc-border) !important;
    border-radius: .3rem !important;
    background: #fff !important;
    cursor: pointer !important;
    position: relative !important;
    transition: border-color .15s, background .15s !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    vertical-align: middle !important;
    margin: 0 !important;
}
.woocommerce-form__input-checkbox::after {
    content: "";
    display: block;
    width: .35rem;
    height: .6rem;
    border: 2px solid #fff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg) translateY(-1px);
    opacity: 0;
    transition: opacity .12s;
}
.woocommerce-form__input-checkbox:checked {
    background: var(--bcc-brand-teal) !important;
    border-color: var(--bcc-brand-teal) !important;
}
.woocommerce-form__input-checkbox:checked::after {
    opacity: 1;
}
.woocommerce-form__input-checkbox:focus {
    outline: none !important;
    border-color: var(--bcc-brand-teal-light) !important;
    box-shadow: 0 0 0 3px rgba(141,200,199,.2) !important;
}
/* Hover del label resalta el checkbox */
.woocommerce-form__label-for-checkbox:hover .woocommerce-form__input-checkbox {
    border-color: var(--bcc-brand-teal-light) !important;
}
/* Wrapper de los checkboxes: espaciado y separador superior */
/* Separador y espaciado para create-account y ship-to-different */
p.form-row.create-account {
    margin-top: 1.25rem !important;
    padding-top: 0 !important;
}
.woocommerce-additional-fields,
#ship-to-different-address {
    margin-top: 1.25rem !important;
    padding-top: 1.25rem !important;
    border-top: 1px solid var(--bcc-border) !important;
}
/* Separador encima del checkbox crear cuenta */
.woocommerce-checkout #customer_details + * p.form-row.create-account,
p.form-row.create-account {
    border-top: 1px solid var(--bcc-border) !important;
    padding-top: 1.25rem !important;
}
/* Label del bloque Enviar a direccion diferente */
#ship-to-different-address label,
#ship-to-different-address .woocommerce-form__label-for-checkbox {
    font-size: 1rem !important;
    font-weight: 600 !important;
}

/* -- Quitar bullet del metodo de envio en el order review del checkout -- */
/* WooCommerce renderiza los metodos de envio como <ul><li> con list-style heredado */
.woocommerce-checkout-review-order-table .shipping ul,
.woocommerce-checkout-review-order-table .shipping ul li,
table.shop_table .shipping ul,
table.shop_table .shipping ul li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* -- Centrar celda de envio gratuito horizontalmente -- */
.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr.shipping td,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr.shipping td ul,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr.shipping td ul li,
body .woocommerce-checkout-review-order-table .shipping td:last-child {
    text-align: center !important;
    list-style: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Separador encima de crear cuenta, no debajo */
.woocommerce-checkout .create-account {
    border-top: 1px solid var(--bcc-border) !important;
    padding-top: 1.25rem !important;
    margin-top: 1.25rem !important;
    border-bottom: none !important;
}
/* -- Dashboard cuenta: tamanos de texto (alta especificidad para ganar a
      .woocommerce-MyAccount-content p que fuerza 16px) ------------------ */
.woocommerce-account .woocommerce-MyAccount-content p.bcc-account-welcome__sub,
.woocommerce-account p.bcc-account-welcome__sub {
    font-size: .875rem !important;
    font-family: var(--bcc-font-sans, 'DM Sans', sans-serif) !important;
    color: var(--bcc-muted-foreground, #677E73) !important;
    line-height: 1.5 !important;
}
.woocommerce-account .woocommerce-MyAccount-content .bcc-account-welcome__title {
    font-size: 1.875rem !important;
}
.woocommerce-account .woocommerce-MyAccount-content .bcc-account-section__title {
    font-size: 1.25rem !important;
}
.woocommerce-account .woocommerce-MyAccount-content .bcc-account-stat__label {
    font-size: .875rem !important;
}
.woocommerce-account .woocommerce-MyAccount-content .bcc-orders-table th,
.woocommerce-account .woocommerce-MyAccount-content .bcc-orders-table td {
    font-size: .875rem !important;
}
/* Boton Ver/Acciones: hover/focus con letra blanca garantizada (alta especificidad) */
.woocommerce-account .woocommerce-MyAccount-content a.bcc-btn-view-order:hover,
.woocommerce-account .woocommerce-MyAccount-content a.bcc-btn-view-order:focus,
.woocommerce-account .woocommerce-MyAccount-content a.bcc-btn-view-order:active,
.woocommerce-account a.bcc-btn-view-order:hover,
.woocommerce-account a.bcc-btn-view-order:focus {
    background: var(--bcc-cta) !important;
    color: #fff !important;
    border-color: var(--bcc-cta) !important;
}
/* -- Mis pedidos (orders): tamanos de texto (alta especificidad) -------- */
.woocommerce-account .woocommerce-MyAccount-content p.bcc-ord__sub,
.woocommerce-account p.bcc-ord__sub {
    font-size: .875rem !important;
    font-family: var(--bcc-font-sans, 'DM Sans', sans-serif) !important;
    color: var(--bcc-muted-foreground, #677E73) !important;
    line-height: 1.5 !important;
}
.woocommerce-account .woocommerce-MyAccount-content .bcc-ord__title {
    font-size: 1.875rem !important;
}
.woocommerce-account .woocommerce-MyAccount-content .bcc-ord__table th,
.woocommerce-account .woocommerce-MyAccount-content .bcc-ord__table td {
    font-size: .875rem !important;
    text-align: center !important;
}
/* Eliminar espacio blanco al final de la tabla de pedidos (1 sola fila) */
.woocommerce-account .woocommerce-MyAccount-content .bcc-ord__table,
.woocommerce-account .woocommerce-MyAccount-content .bcc-ord__table tbody,
.woocommerce-account .woocommerce-MyAccount-content .bcc-ord__table tr {
    height: auto !important;
    min-height: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-content .bcc-ord__table-wrap {
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    line-height: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-content .bcc-ord__table-wrap table {
    margin: 0 !important;
    display: table !important;
    line-height: normal !important;
}
.woocommerce-account .woocommerce-MyAccount-content .bcc-ord__table tbody {
    display: table-row-group !important;
}
/* Neutralizar clearfix/pseudo-elementos que anaden ~17px al final del wrap */
.woocommerce-account .woocommerce-MyAccount-content .bcc-ord__table-wrap::after,
.woocommerce-account .woocommerce-MyAccount-content .bcc-ord__table-wrap::before,
.woocommerce-account .woocommerce-MyAccount-content .bcc-ord__table::after,
.woocommerce-account .woocommerce-MyAccount-content .bcc-ord__table::before {
    content: none !important;
    display: none !important;
}
.woocommerce-account .woocommerce-MyAccount-content .bcc-ord__table td {
    height: auto !important;
}
.woocommerce-account .woocommerce-MyAccount-content a.bcc-btn-view-order:hover,
.woocommerce-account .woocommerce-MyAccount-content a.bcc-btn-view-order:focus,
.woocommerce-account .woocommerce-MyAccount-content a.bcc-btn-view-order:active {
    background: var(--bcc-cta) !important;
    color: #fff !important;
    border-color: var(--bcc-cta) !important;
}
/* -- Mi Perfil: tamanos de texto ---------------------------------------- */
/* Usando especificidad alta para ganar a Hello Elementor y al tema padre */
.woocommerce-account .bcc-profile__sub,
.woocommerce-account p.bcc-profile__sub {
    font-size: .875rem !important;
    font-family: var(--bcc-font-sans, 'DM Sans', sans-serif) !important;
    color: var(--bcc-muted-foreground, #677E73) !important;
    margin: 0 !important;
}
.woocommerce-account .bcc-profile__title {
    font-size: 1.875rem !important;
}
.woocommerce-account .bcc-profile__card-title {
    font-size: 1.25rem !important;
}
.woocommerce-account .bcc-profile__field label,
.woocommerce-account .bcc-profile__field input,
.woocommerce-account .bcc-profile__btn {
    font-size: .875rem !important;
}
