/* ==========================================================================
   FEDELAN, capa final del tema
   Se carga ultima (salvo en la portada, donde despues viene portada.css) y
   pisa el CSS heredado del tema de origen. Las secciones 0 a 11 son la primera pasada,
   "A Pincelada", ya jubilada; el bloque RESET TOTAL del final pisa lo que la
   contradiga: negro, blanco y grises, una tipografia, radio cero, sin
   pincelada. El acento sale de --fedelan-accent (variables.css), hoy negro.
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. Base y tipografia
   -------------------------------------------------------------------------- */
html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* El header es fijo: un ancla o el foco por teclado quedaban tapados
       abajo de el (Q22). Con la barra de arriba escondida mide esto. */
    scroll-padding-top: calc(var(--fedelan-header-height) + 16px);
}
/* En los listados la barra de filtros tambien queda pegada: con Tab el link
   de la tarjeta y el corazon quedaban abajo de ella. */
/* Botones y campos con la fuente del sitio: el navegador les pone la del
   sistema y el menos y el mas de la cantidad salian en otra letra. */
button, input, select, textarea { font-family: inherit; }
/* Reset total: sin sombras. El degrade abajo del header quedaba de antes. */
.fedelan-header__main::after { display: none; }
html:has(.fedelan-archive-toolbar) {
    scroll-padding-top: calc(var(--fedelan-header-height) + 84px);
}
body {
    font-family: var(--fedelan-font-primary);
    font-size: 15px;
    line-height: 1.5;
    color: var(--fedelan-ink);
    background: var(--fedelan-paper);
    letter-spacing: 0;
}
a { color: inherit; }
::selection { background: var(--fedelan-accent-soft); color: var(--fedelan-ink); }
/* Con !important porque varias reglas de :focus de abajo apagan el outline. */
:focus-visible { outline: 2px solid var(--fedelan-accent) !important; outline-offset: 3px; }
h1, h2, h3 {
    font-family: var(--fedelan-font-display);
    font-variation-settings: "opsz" 96;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.1;
    color: var(--fedelan-ink);
    text-transform: none;
}
h4, h5, h6 { font-family: var(--fedelan-font-primary); font-weight: 700; color: var(--fedelan-ink); }
mark { background: var(--fedelan-accent-soft); color: inherit; padding: 0 0.15em; }
b, strong { font-weight: 700; }
.woocommerce-Price-amount, .woocommerce-Price-amount * { font-family: inherit; font-weight: inherit; }


/* El body es flex column: los bloques de primer nivel tienen que ocupar el ancho */
.fedelan-portada, .fedelan-categories,
.fedelan-archive-wrapper, .fedelan-archive-banner,
.fedelan-single-product-grid, .fedelan-checkout-layout, .fedelan-footer, .fedelan-auth, .fedelan-404,
body > .woocommerce, body > main, body > .site { width: 100%; box-sizing: border-box; }
.fedelan-header__logo, .fedelan-header__logo a, .fedelan-footer__logo, .fedelan-footer__logo a { text-decoration: none; }

/* Pinceladas: el color viene siempre de la variable de acento */
.fedelan-brush {
    color: var(--fedelan-accent);
    position: absolute;
    z-index: 0;
    pointer-events: none;
    display: block;
    overflow: visible;
}
.fedelan-brush--soft { color: var(--fedelan-accent-soft); }
.fedelan-brush--grey { color: var(--fedelan-sand); }
.fedelan-brush-defs { position: absolute; width: 0; height: 0; overflow: hidden; }

/* Texto con pincelada larga detras (titulos) */
.fedelan-brushed {
    position: relative;
    display: inline-block;
    isolation: isolate;
}
.fedelan-brushed__text { position: relative; z-index: 1; }
.fedelan-brushed .fedelan-brush--tapL {
    left: -14px;
    bottom: -6px;
    width: 118%;
    height: 52%;
}

/* Link con subrayado pintado */
.fedelan-lnk {
    position: relative;
    display: inline-block;
    isolation: isolate;
    font-weight: 600;
    color: var(--fedelan-ink);
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0;
    cursor: pointer;
}
.fedelan-lnk__text { position: relative; z-index: 1; }
.fedelan-lnk .fedelan-brush--tapS {
    left: -3px;
    bottom: -5px;
    width: 106%;
    height: 8px;
    transition: height 0.2s ease, bottom 0.2s ease;
}
.fedelan-lnk:hover .fedelan-brush--tapS,
.fedelan-lnk:focus-visible .fedelan-brush--tapS { height: 12px; bottom: -7px; }

/* Numero con pincelada corta debajo (totales, descuentos) */
.fedelan-n {
    position: relative;
    display: inline-block;
    isolation: isolate;
}
.fedelan-n > :first-child { position: relative; z-index: 1; }
.fedelan-n .fedelan-brush--tapS {
    left: -6px;
    bottom: -3px;
    width: calc(100% + 12px);
    height: 9px;
}

/* Botones pildora */
.fedelan-btn,
.fedelan-btn--primary,
.fedelan-btn--outline,
.fedelan-btn--small {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: var(--fedelan-font-display);
    font-variation-settings: "opsz" 14;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: 0;
    line-height: 1;
    text-transform: none;
    text-decoration: none;
    padding: 14px 26px;
    border: 0;
    border-radius: var(--fedelan-radius-pill);
    background: var(--fedelan-ink);
    color: var(--fedelan-paper);
    cursor: pointer;
    transition: transform 0.15s ease, background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
.fedelan-btn:hover, .fedelan-btn--primary:hover { background: var(--fedelan-ink-soft); color: var(--fedelan-paper); transform: translateY(-1px); }
.fedelan-btn--outline {
    background: var(--fedelan-paper);
    color: var(--fedelan-ink);
    box-shadow: inset 0 0 0 2px var(--fedelan-ink);
}
.fedelan-btn--outline:hover { background: var(--fedelan-sand); color: var(--fedelan-ink); transform: translateY(-1px); }
.fedelan-btn--small { padding: 10px 18px; font-size: 14px; }
.fedelan-btn:disabled, .fedelan-btn--primary:disabled { opacity: 0.4; cursor: not-allowed; transform: none; }

/* --------------------------------------------------------------------------
   1. Header
   Barra blanca de borde a borde, sin sombra ni caja. Buscador a la izquierda,
   logo al centro, iconos a la derecha (la pildora y los circulos los saca el
   Reset total, mas abajo).
   -------------------------------------------------------------------------- */
.fedelan-header,
body.home .fedelan-header,
.fedelan-header--scrolled,
.fedelan-header:hover {
    background: var(--fedelan-paper) !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--fedelan-ink);
}
.fedelan-header__topbar {
    height: var(--fedelan-topbar-height);
    background: var(--fedelan-sand);
    color: var(--fedelan-muted);
    border: 0;
    font-family: var(--fedelan-font-primary);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}
.fedelan-header__topbar-item { color: var(--fedelan-muted); font-size: 13px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.fedelan-header__topbar-item::after { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--fedelan-accent); margin: 0 26px 2px; vertical-align: middle; }
/* Cada grupo ocupa al menos el ancho de la pantalla: asi el loop de -50% nunca deja un hueco */
.fedelan-header__topbar-group { min-width: 100vw; justify-content: space-around; }

/* Barra principal: ancho completo, sin caja */
.fedelan-header__main,
body.home .fedelan-header__main,
.fedelan-header--scrolled .fedelan-header__main,
body.home .fedelan-header:hover .fedelan-header__main,
body.home .fedelan-header--scrolled .fedelan-header__main {
    width: 100%;
    max-width: none;
    margin: 0;
    height: var(--fedelan-header-height);
    padding: 0 var(--fedelan-container-padding);
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.fedelan-header__main::after { display: none !important; }
.fedelan-header__left { gap: 10px; }
.fedelan-header__logo .fedelan-wordmark { font-size: 50px; }
.fedelan-header__right { gap: 4px; }
.fedelan-header__logo svg.fedelan-logo-svg,
body.home .fedelan-header__logo svg.fedelan-logo-svg,
body:not(.home) .fedelan-header__logo svg.fedelan-logo-svg,
.fedelan-header:hover .fedelan-header__logo svg.fedelan-logo-svg { fill: var(--fedelan-ink) !important; height: 22px; }
.fedelan-wordmark {
    font-family: var(--fedelan-font-display);
    font-variation-settings: "opsz" 14;
    font-weight: 800;
    font-size: 20px;
    line-height: 1;
    display: inline-block;
    letter-spacing: -0.01em;
    color: var(--fedelan-ink);
    text-transform: none;
}

/* Buscador: pildora gris con la lupa a la izquierda */
.fedelan-header__search { max-width: 280px; }
/* En el iPhone un campo de menos de 16px hace zoom al tocarlo (el de abajo es de 14). */
@media (max-width: 768px) {
    html body .fedelan-header__search input[type="search"] { font-size: 16px !important; }
}
.fedelan-header__search input,
.fedelan-header__search input[type="search"],
body.home .fedelan-header__search input[type="search"],
body:not(.home) .fedelan-header__search input[type="search"],
.fedelan-header:hover .fedelan-header__search input[type="search"],
.fedelan-header--scrolled .fedelan-header__search input[type="search"],
body:not(.home) .fedelan-header__search input[type="search"]:focus,
body:not(.home) .fedelan-header__search input[type="search"]:not(:placeholder-shown) {
    height: 40px;
    padding: 0 16px 0 42px !important;
    font-family: var(--fedelan-font-primary);
    font-size: 14px;
    font-weight: 500;
    line-height: 40px;
    color: var(--fedelan-ink) !important;
    background: var(--fedelan-sand) !important;
    background-color: var(--fedelan-sand) !important;
    border: 0 !important;
    /* El campo gris contra el blanco da 1,25:1 y no se distingue como campo
       (X5). La linea de abajo en muted da 5,5:1 sobre blanco y 4,4 sobre el
       gris, igual que los campos del checkout. */
    border-bottom: 1px solid var(--fedelan-muted) !important;
    border-radius: var(--fedelan-radius-pill) !important;
    box-shadow: none !important;
    letter-spacing: 0;
    text-transform: none;
    -webkit-appearance: none;
    appearance: none;
}
.fedelan-header__search input[type="search"]:focus { box-shadow: inset 0 0 0 2px var(--fedelan-ink) !important; outline: 0; background: var(--fedelan-paper) !important; background-color: var(--fedelan-paper) !important; }
.fedelan-header__search input::placeholder,
body.home .fedelan-header__search input::placeholder,
body:not(.home) .fedelan-header__search input::placeholder { color: var(--fedelan-ink-soft); opacity: 1; } /* muted sobre sand daba 4,44:1 (Q32) */
.fedelan-header__search input::-webkit-search-decoration,
.fedelan-header__search input::-webkit-search-cancel-button { -webkit-appearance: none; }
.fedelan-header__search-icon {
    left: 4px;
    right: auto;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: transparent;
    border: 0;
    pointer-events: none;
}
.fedelan-header__search-icon svg,
body.home .fedelan-header__search-icon svg,
body:not(.home) .fedelan-header__search-icon svg { stroke: var(--fedelan-ink) !important; width: 18px; height: 18px; }

/* Iconos: cuadrados de 40 px (44 en el telefono), mismo trazo en todos */
.fedelan-header__icon,
.fedelan-header__menu-toggle,
.fedelan-header__mobile-menu {
    width: 40px;
    height: 40px;
    padding: 0;
    border-radius: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 0;
    color: var(--fedelan-ink);
    transition: background 0.15s ease;
}
.fedelan-header__icon:hover, .fedelan-header__menu-toggle:hover, .fedelan-header__mobile-menu:hover { background: var(--fedelan-sand); }
.fedelan-header__icon svg,
.fedelan-header__menu-toggle svg,
.fedelan-header__mobile-menu svg,
body.home .fedelan-header__icon svg,
body:not(.home) .fedelan-header__icon svg,
body:not(.home) .fedelan-header__menu-toggle svg,
body:not(.home) .fedelan-header__mobile-menu svg,
.fedelan-header:hover .fedelan-header__icon svg,
.fedelan-header:hover .fedelan-header__menu-toggle svg,
.fedelan-header:hover .fedelan-header__mobile-menu svg,
.fedelan-header--scrolled .fedelan-header__icon svg,
.fedelan-header--scrolled .fedelan-header__menu-toggle svg,
.fedelan-header--scrolled .fedelan-header__mobile-menu svg { stroke: var(--fedelan-ink) !important; stroke-width: 1.8 !important; width: 22px !important; height: 22px !important; }

/* Contador del carrito: siempre negro con numero blanco */
.fedelan-header__cart-wrapper { position: relative; }
.fedelan-header__cart-count,
body.home .fedelan-header__cart-count,
body.home .fedelan-header:hover .fedelan-header__cart-count,
body.home .fedelan-header--scrolled .fedelan-header__cart-count,
.fedelan-header--scrolled .fedelan-header__cart-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--fedelan-font-display);
    font-variation-settings: "opsz" 14;
    font-weight: 700;
    font-size: 11px;
    line-height: 1;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: var(--fedelan-radius-pill);
    background: var(--fedelan-ink) !important;
    color: var(--fedelan-paper) !important;
    border: 2px solid var(--fedelan-paper);
    box-sizing: border-box;
    top: -2px;
    right: -2px;
    pointer-events: none;
}
@media (min-width: 769px) { .fedelan-header__mobile-menu { display: none !important; } }

/* --------------------------------------------------------------------------
   Cuando la barra de buscar no entra, es un boton
   --------------------------------------------------------------------------
   El logo va centrado en absoluto y la barra mide 280: en 1000 (a 961 la barra ya toca el logo; media pantalla
   de 1920) la barra llega justo al logo, y de ahi para abajo se lo pisa. En
   vez de achicarla, la barra se guarda en una fila abajo del header y se abre
   con el boton de la derecha. Es el mismo formulario, no hay dos buscadores.
   -------------------------------------------------------------------------- */
.fedelan-header__search-toggle { display: none; }

@media (max-width: 1000px), (min-width: 1200px) {
    .fedelan-header__search-toggle { display: inline-flex; }

    .fedelan-header__search {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        box-sizing: border-box;
        width: auto;
        max-width: none;
        padding: 0 var(--fedelan-container-padding);
        background: var(--fedelan-paper);
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06);
        height: 60px;
        padding-top: 10px;
        padding-bottom: 10px;
        /* Cerrada no esta: asi no ocupa alto, no recibe clics y no la leen los
           lectores de pantalla. Va con display y no con alto animado porque en
           una fila de alto cero el navegador no le da el foco al campo, y el
           punto del boton es poder escribir. */
        display: none;
    }
    .fedelan-header--buscando .fedelan-header__search {
        display: flex;
        animation: fedelan-buscador var(--fedelan-dur) var(--fedelan-ease);
    }
}

@keyframes fedelan-buscador {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: none; }
}

@media (max-width: 768px) {
    /* En movil no va la hamburguesa de la izquierda. Buscar es la lupa de la
       derecha (Q31), entre el logo y favoritos: abre la misma fila que entre
       769 y 1000, con el mismo formulario. Solo icono y en 44 por 44, como los
       otros iconos de la cabecera en este ancho; la palabra queda para el
       lector de pantalla. */
    .fedelan-header__menu-toggle { display: none !important; }
    .fedelan-header__icon, .fedelan-header__mobile-menu { width: 44px; height: 44px; }
    .fedelan-header__search-toggle .fedelan-header__search-toggle-texto {
        display: block; position: absolute; width: 1px; height: 1px; overflow: hidden;
        clip-path: inset(50%); white-space: nowrap;
    }
    .fedelan-header__left { flex: 0 0 auto; }
    .fedelan-header__right { gap: 0; }
    .fedelan-header__main, body.home .fedelan-header__main { padding: 0 8px 0 16px; }
    .fedelan-header__logo svg.fedelan-logo-svg,
    body.home .fedelan-header__logo svg.fedelan-logo-svg,
    body:not(.home) .fedelan-header__logo svg.fedelan-logo-svg { height: 20px; }
    /* El wordmark mide 34 de alto: el link llega a 44 sin mover nada, la
       barra mide 60 y lo centra (X9). */
    .fedelan-header__logo { min-height: 44px; }
}

/* A 320 (zoom al 400% sobre 1280, Z5) logo y cuatro iconos de 44 no entraban
   y la hamburguesa quedaba cortada. Con la lupa (Q31) son cinco iconos (220)
   y los margenes (24): el wordmark, que mide 4,73 veces su alto de letra, se
   achica con la pantalla lo justo para que entren. Queda en 34 de 410 para
   arriba, en 30,7 a 390 (un 10% menos), 24,4 a 360 (28% menos) y 16 a 320. */
@media (max-width: 768px) {
    /* Con el header delante: la regla de 34px de la seccion 11 va despues. */
    .fedelan-header .fedelan-header__logo .fedelan-wordmark { font-size: min(34px, calc((100vw - 244px) / 4.75)); }
}

/* Entre 769 y 1000 buscar es un boton, y en escritorio un boton de solo lupa
   se confunde con los otros iconos (Q30): lleva la palabra al lado. Afuera de
   ese rango el boton no se ve, asi que el texto es siempre su nombre. */
.fedelan-header__search-toggle-texto { display: none; }
@media (min-width: 769px) and (max-width: 1000px) {
    .fedelan-header__icon.fedelan-header__search-toggle { width: auto; gap: 6px; padding: 0 10px 0 8px; }
    .fedelan-header__search-toggle-texto {
        display: inline; font-family: var(--fedelan-font-primary); font-size: 14px; font-weight: 600;
        line-height: 1; letter-spacing: 0; text-transform: none; color: var(--fedelan-ink);
    }
}

/* --------------------------------------------------------------------------
   Links de escritorio (estructura de Mango, 1 nov 2026, issue #18)
   --------------------------------------------------------------------------
   De 1200 para arriba la izquierda son los cuatro links y buscar pasa a ser
   la lupa de la derecha, que abre la misma fila que abajo de 1000. Entre 1001
   y 1199 los links no entran sin pisar el logo: queda la hamburguesa con la
   barra de buscar, como antes.
   -------------------------------------------------------------------------- */
.fedelan-header__nav { display: none; }
@media (min-width: 1200px) {
    .fedelan-header__menu-toggle { display: none !important; }
    .fedelan-header__nav { display: flex; align-items: center; gap: 26px; }
    .fedelan-header__nav-link {
        font-family: var(--fedelan-font-primary); font-size: 14px; font-weight: 700;
        letter-spacing: 0.06em; text-transform: uppercase; line-height: 1;
        color: var(--fedelan-ink); text-decoration: none;
        padding: 10px 0; border-bottom: 2px solid transparent;
    }
    .fedelan-header__nav-link:hover,
    .fedelan-header__nav-link.is-actual { border-bottom-color: var(--fedelan-ink); color: var(--fedelan-ink); }
    .fedelan-header__nav-link:focus-visible { outline: 2px solid var(--fedelan-accent); outline-offset: 4px; }
    /* Solo la lupa, como los otros iconos; la palabra queda para el lector. */
    .fedelan-header__search-toggle .fedelan-header__search-toggle-texto {
        display: block; position: absolute; width: 1px; height: 1px; overflow: hidden;
        clip-path: inset(50%); white-space: nowrap;
    }
}

/* Menu lateral: dos niveles de letra, nada mas.
   Principal (Todo el catalogo y categorias) en 26 px en peso 700,
   secundario (Como comprar, Quienes somos, Mi cuenta) en 15 px gris. */
.fedelan-mobile-menu__panel {
    background: var(--fedelan-paper);
    border: 0;
    border-radius: 0;
    padding: 0;
    width: 360px;
    max-width: 88%;
}
.fedelan-mobile-menu__header, .fedelan-mobile-menu__back-header {
    height: var(--fedelan-header-height);
    border: 0;
    padding: 0 16px;
}
.fedelan-mobile-menu__close, .fedelan-mobile-menu__back-header,
.fedelan-mobile-menu__close:hover, .fedelan-mobile-menu__back-header:hover,
.fedelan-mobile-menu__close:focus, .fedelan-mobile-menu__back-header:focus {
    width: 44px; height: 44px; padding: 0; border-radius: 0; border: 0; color: var(--fedelan-ink);
    background: var(--fedelan-sand) !important; background-color: var(--fedelan-sand) !important;
    align-items: center; justify-content: center;
}
.fedelan-mobile-menu__close svg, .fedelan-mobile-menu__back-header svg { width: 20px; height: 20px; stroke: var(--fedelan-ink); stroke-width: 2; }
/* El menu ya no lleva buscador (se busca con la lupa de la cabecera, Q31):
   la lista arranca abajo del encabezado del panel en todos los anchos. */
.fedelan-mobile-menu__nav { top: var(--fedelan-header-height); bottom: 80px; padding: 8px 0 16px; }
.fedelan-mobile-menu__item,
.fedelan-mobile-menu__item a,
.fedelan-mobile-menu__item button {
    font-family: var(--fedelan-font-display);
    font-variation-settings: "opsz" 96;
    font-weight: 700;
    font-size: 26px;
    line-height: 1.15;
    letter-spacing: -0.02em;
    text-transform: none;
    color: var(--fedelan-ink);
    border: 0;
    background: transparent;
    padding: 10px 24px;
}
.fedelan-mobile-menu__item svg { width: 20px; height: 20px; stroke: var(--fedelan-ink); stroke-width: 2; opacity: 0.35; flex: 0 0 auto; }
.fedelan-mobile-menu__item--strong, .fedelan-mobile-menu__item--strong a { font-size: 26px; font-weight: 700; }
.fedelan-mobile-menu__item--parent, .fedelan-mobile-menu__item--parent a { font-size: 26px; font-weight: 700; margin-bottom: 8px; }
.fedelan-mobile-menu__item--secondary,
.fedelan-mobile-menu__item--secondary a {
    font-family: var(--fedelan-font-primary);
    font-variation-settings: normal;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.3;
    color: var(--fedelan-muted);
    letter-spacing: 0;
    padding: 8px 24px;
    /* El texto mide 20, el renglon 44 (X9): era 36 y en una lista apilada
       el dedo se equivoca de renglon. */
    min-height: 44px;
}
.fedelan-mobile-menu__item:not(.fedelan-mobile-menu__item--secondary) + .fedelan-mobile-menu__item--secondary { margin-top: 20px; }
.fedelan-mobile-menu__item--secondary:hover, .fedelan-mobile-menu__item--secondary a:hover { color: var(--fedelan-ink); }
.fedelan-mobile-menu__nav--sub .fedelan-mobile-menu__item:not(.fedelan-mobile-menu__item--parent),
.fedelan-mobile-menu__nav--sub .fedelan-mobile-menu__item:not(.fedelan-mobile-menu__item--parent) a { font-family: var(--fedelan-font-primary); font-variation-settings: normal; font-size: 17px; font-weight: 600; letter-spacing: 0; line-height: 1.3; padding: 9px 24px; min-height: 44px; }
.fedelan-mobile-menu__branding { border: 0; background: var(--fedelan-paper); padding: 0 24px 24px; }
.fedelan-mobile-menu__logo { padding: 0; text-decoration: none; }
.fedelan-mobile-menu__logo svg { height: 18px; fill: var(--fedelan-ink); }

/* --------------------------------------------------------------------------
   2. Portada
   -------------------------------------------------------------------------- */
body { padding-top: var(--fedelan-header-total-height); }
body.admin-bar .fedelan-header { top: 32px; }

/* La portada es un producto por vez: la prenda entera, el recorte donde se ve
   el material y otra vista de la galeria, las tres sobre el mismo campo, con un
   rotulo blanco abajo a la izquierda que dice el nombre, de que esta hecha y
   cuanto mide la curva. Cambiar la portada es elegir un producto en Ajustes. */
/* La portada va a sangre, de borde a borde de la pantalla: es el unico bloque
   del sitio que no respeta el contenedor de 1440. El alto sale de la pantalla
   (manual Q3): cabecera y portada juntas llegan al 85% del alto, asi la prenda
   llena la primera vista y el titulo de mas vendidos asoma abajo. Dos topes:
   el panel nunca pasa de 1,75 veces su ancho (mas angosto que eso el recorte
   del material pierde demasiado de costado) y la banda nunca pasa de 1120,
   porque las figuras se cachean a 1100 de alto y mas grande se agrandan. */
.fedelan-portada {
    /* Hasta donde crecen las prendas. Arriba de eso la banda sigue yendo a
       sangre pero solo se agranda el campo, que es lo que corresponde: la foto
       de producto mide 515 de ancho y no da para mas. */
    --fedelan-portada-ancho: 1920px;
    /* Cuantos paneles se ven: lo usa la cuenta del alto. */
    --fedelan-portada-cols: 3;
    position: relative;
    width: 100%;
    background: var(--fedelan-sand);
    overflow: hidden;
}
.fedelan-portada__paneles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* vh primero para los navegadores sin svh; svh despues, asi en el telefono
       la banda no salta cuando aparece o se va la barra del navegador. */
    height: max(360px, min(85vh - var(--fedelan-header-total-height), min(100vw, var(--fedelan-portada-ancho)) / var(--fedelan-portada-cols) * 1.75, 1120px));
    height: max(360px, min(85svh - var(--fedelan-header-total-height), min(100vw, var(--fedelan-portada-ancho)) / var(--fedelan-portada-cols) * 1.75, 1120px));
    max-width: var(--fedelan-portada-ancho);
    margin: 0 auto;
}
.fedelan-portada--paneles-2 { --fedelan-portada-cols: 2; }
.fedelan-portada--paneles-1 { --fedelan-portada-cols: 1; }
.fedelan-portada--paneles-2 .fedelan-portada__paneles { grid-template-columns: repeat(2, 1fr); }

/* --- La portada de video ------------------------------------------------- */
/* Se enciende sola cuando hay un video cargado en Ajustes. Nunca ocupa el alto
   entero: asi lo que sigue asoma y se entiende que hay mas abajo. */
.fedelan-portada--video .fedelan-portada__paneles {
    display: block;
    position: relative;
    /* Misma regla que la portada de fotos (Q3): cabecera y video juntos
       llegan al porcentaje del ajuste, 85 si esta vacio. Llega sin unidad
       desde hero.php: vh para los navegadores sin svh y svh despues. */
    height: calc(var(--fedelan-portada-alto, 85) * 1vh - var(--fedelan-header-total-height));
    height: calc(var(--fedelan-portada-alto, 85) * 1svh - var(--fedelan-header-total-height));
    background: var(--fedelan-sand);
    overflow: hidden;
}
.fedelan-portada--video .fedelan-portada__poster,
.fedelan-portada--video .fedelan-portada__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* La foto de espera queda abajo del video: cuando el video arranca lo tapa, y
   si nunca arranca (datos cortados, movimiento desactivado) queda la foto. */
.fedelan-portada--video .fedelan-portada__poster { z-index: 1; }
.fedelan-portada--video .fedelan-portada__video { z-index: 2; }

/* Con las animaciones desactivadas en el sistema el video se apaga y queda la
   foto. Hay gente a la que el movimiento le hace mal: no es un adorno. */
@media (prefers-reduced-motion: reduce) {
    .fedelan-portada--video .fedelan-portada__video,
    .fedelan-portada__pausa { display: none; }
}
/* La pausa del video, abajo a la derecha: el rotulo va abajo a la izquierda. */
.fedelan-portada__pausa {
    position: absolute;
    right: 16px;
    bottom: 16px;
    z-index: 3;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: var(--fedelan-paper);
    color: var(--fedelan-ink);
    cursor: pointer;
}
.fedelan-portada__pausa[hidden] { display: none; }
.fedelan-portada__pausa svg { width: 12px; height: 12px; }
.fedelan-portada__icono-play,
.fedelan-portada__pausa[aria-pressed="true"] .fedelan-portada__icono-pausa { display: none; }
.fedelan-portada__pausa[aria-pressed="true"] .fedelan-portada__icono-play { display: block; }
.fedelan-portada--paneles-1 .fedelan-portada__paneles { grid-template-columns: 1fr; }
.fedelan-portada__panel {
    position: relative;
    display: block;
    height: 100%;
    overflow: hidden;
    background: var(--fedelan-sand);
    line-height: 0;
}
.fedelan-portada__panel img {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
}
/* El recorte del material es 1:1,42. Si el panel queda mas angosto que eso
   (el telefono, la tablet parada), con contain le sobraba campo arriba y abajo
   y se veian los dos bordes cortados de la prenda flotando en el medio: ahi
   llena el alto y pierde un poco de costado. */
.fedelan-portada__panel--detalle { container-type: size; }
@container (max-aspect-ratio: 100 / 142) {
    .fedelan-portada__panel--detalle img { object-fit: cover; }
}
/* Las dos figuras enteras se corren hacia el panel del medio: quedan paradas
   sobre la misma linea, mirando hacia adentro, y le dejan la esquina de abajo a
   la izquierda libre al rotulo. El recorte llena su panel. */
.fedelan-portada__panel--entera img { padding: 4% 0 8%; }
.fedelan-portada__panel--entera:first-child img { object-position: 92% center; }
.fedelan-portada__panel--entera:last-child img { object-position: 8% center; }

.fedelan-portada__rotulo {
    position: absolute;
    z-index: 2;
    /* Acompaña el borde de los paneles, no el de la pantalla. */
    left: max(var(--fedelan-container-padding), calc((100% - var(--fedelan-portada-ancho)) / 2 + var(--fedelan-container-padding)));
    bottom: var(--fedelan-container-padding);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    /* Acompaña el ancho del panel (un tercio del ancho del sitio) para que no
       se le encime a la figura en ninguna pantalla. */
    width: clamp(190px, 17vw, 250px);
    max-width: calc(100% - var(--fedelan-container-padding) * 2);
}
.fedelan-portada__etiqueta {
    padding: 7px 12px;
    background: var(--fedelan-paper);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.4px;
    text-transform: uppercase;
    color: var(--fedelan-muted);
}
.fedelan-portada__nombre {
    margin: 0;
    padding: 8px 12px;
    background: var(--fedelan-paper);
    /* Era un h1 y heredaba esto de la regla de titulos: ahora es un <p>. */
    font-family: var(--fedelan-font-display);
    font-variation-settings: "opsz" 96;
    font-size: clamp(20px, 2.2vw, 30px);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.1;
    text-transform: uppercase;
    color: var(--fedelan-ink);
}
.fedelan-portada__ficha {
    margin: 0;
    padding: 9px 12px 11px;
    background: var(--fedelan-paper);
    font-size: 14px;
    line-height: 1.45;
    color: var(--fedelan-muted);
}
.fedelan-portada__cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
    padding: 14px 20px;
    background: var(--fedelan-ink);
    color: var(--fedelan-paper);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    text-decoration: none;
}
.fedelan-portada__cta svg { display: block; flex: none; }
.fedelan-portada__cta:hover, .fedelan-portada__cta:focus-visible { background: var(--fedelan-ink-soft); color: var(--fedelan-paper); }

/* Al achicar cae primero la tercera vista y despues la figura entera: en el
   telefono queda el recorte del material, que es el plano que mejor aguanta
   una pantalla angosta. */
/* El alto no se toca aca: sale de la cuenta de .fedelan-portada__paneles, que
   solo necesita saber cuantos paneles quedan a la vista. */
@media (max-width: 1150px) {
    .fedelan-portada__paneles { grid-template-columns: repeat(2, 1fr); }
    .fedelan-portada--paneles-3 { --fedelan-portada-cols: 2; }
    .fedelan-portada__panel:nth-child(3) { display: none; }
    /* Con la banda alta la figura crece y a 768 el rotulo le pisaba una
       pierna: se pega del todo al panel del medio. */
    .fedelan-portada__panel--entera:first-child img { object-position: 100% center; }
}
@media (max-width: 619px) {
    .fedelan-portada__paneles { grid-template-columns: 1fr; }
    .fedelan-portada--detalle { --fedelan-portada-cols: 1; }
    .fedelan-portada--detalle .fedelan-portada__panel--entera { display: none; }
}

/* Categorias y grilla de tiles */
.fedelan-categories { max-width: var(--fedelan-container); margin: 0 auto; padding: 0 var(--fedelan-container-padding); }
.fedelan-categories__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.fedelan-categories--count-2 .fedelan-categories__grid { grid-template-columns: repeat(2, 1fr); }
.fedelan-categories--count-4 .fedelan-categories__grid { grid-template-columns: repeat(4, 1fr); }
.fedelan-categories__item {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: var(--fedelan-radius-lg);
    border: 0;
    aspect-ratio: 4 / 5;
    background: var(--fedelan-sand);
    text-decoration: none;
    color: var(--fedelan-paper);
}
/* Zoom lento al pasar el mouse, de eme studios: la foto crece un 6% en un
   segundo y vuelve igual de despacio. */
.fedelan-categories__image {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform 1s var(--fedelan-ease);
}
.fedelan-categories__item:hover .fedelan-categories__image { transform: scale(1.06); }
/* El nombre va sobre una placa clara, el mismo recurso que el rotulo de la
   portada. El degrade negro no alcanzaba: el piso del ciclorama es casi blanco
   y el texto calado se perdia contra el. */
.fedelan-categories__overlay {
    position: absolute;
    inset: auto auto 18px 18px;
    padding: 0;
    background: none;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    border: 0;
    max-width: calc(100% - 36px);
}
.fedelan-categories__title {
    font-family: var(--fedelan-font-display);
    font-variation-settings: "opsz" 96;
    padding: 8px 12px 10px;
    background: var(--fedelan-paper);
    font-weight: 700;
    font-size: 22px;
    line-height: 1.1;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    color: var(--fedelan-ink);
}

/* El riel (Mas vendidos y relacionados) se dibuja entero en products.css, con las
   flechas. Aca no va nada del riel: cuando estaba en los dos archivos, la
   tarjeta del riel terminaba midiendo distinto que la de la fila de abajo. */

.fedelan-sizes { display: none; }


/* --------------------------------------------------------------------------
   4. Tienda, categorias y busqueda
   -------------------------------------------------------------------------- */
.fedelan-archive-wrapper { max-width: var(--fedelan-container); margin: 0 auto; padding: 0 var(--fedelan-container-padding); }
/* fedelan-shop-categories no es un wrapper, es una clase que va en el <body>
   (inc/shop.php). Con el max-width ahi adentro se encogia la pagina entera y
   arriba de 1440 el pie dejaba de ir de borde a borde: quedaba una caja
   centrada con margenes blancos. El limite va en el contenido, que el pie
   cuelga directo del body y no de #page. */
.fedelan-shop-categories #page { max-width: var(--fedelan-container); margin: 0 auto; padding: 0 var(--fedelan-container-padding); }
.fedelan-archive-banner, .fedelan-archive-banner[style] {
    background: none !important;
    background-image: none !important;
    height: auto;
    min-height: 0;
    padding: 40px var(--fedelan-container-padding) 8px;
    max-width: var(--fedelan-container);
    margin: 0 auto;
    display: block;
    text-align: left;
    color: var(--fedelan-ink);
}
.fedelan-archive-banner::before, .fedelan-archive-banner::after { display: none; content: none; }
.fedelan-archive-banner__title {
    font-family: var(--fedelan-font-display);
    font-variation-settings: "opsz" 96;
    font-size: clamp(34px, 4.2vw, 56px);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1;
    color: var(--fedelan-ink);
    text-transform: none;
    margin: 0;
    text-shadow: none;
    display: block;
}
.fedelan-archive-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 0 26px;
    border: 0;
    margin: 0;
}
.fedelan-archive-breadcrumbs, .fedelan-shop-breadcrumbs, .fedelan-single-breadcrumbs {
    font-family: var(--fedelan-font-primary);
    font-size: 13px;
    font-weight: 500;
    color: var(--fedelan-muted);
    letter-spacing: 0;
    text-transform: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
/* padding vertical: el texto mide 22 y la zona sensible llega a 44 (X9); en
   un link inline no mueve el renglon. */
.fedelan-archive-breadcrumbs a, .fedelan-shop-breadcrumbs a, .fedelan-single-breadcrumbs a { color: var(--fedelan-muted); text-decoration: none; padding: 11px 0; }
.fedelan-archive-breadcrumbs a:hover, .fedelan-shop-breadcrumbs a:hover, .fedelan-single-breadcrumbs a:hover { color: var(--fedelan-ink); }
.fedelan-archive-breadcrumbs__separator, .fedelan-breadcrumbs-separator, .fedelan-shop-breadcrumbs__item + .fedelan-shop-breadcrumbs__item::before { color: var(--fedelan-line); }
.fedelan-archive-breadcrumbs span:last-child, .fedelan-single-breadcrumbs span:last-child { color: var(--fedelan-ink); }
.fedelan-archive-filters-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 44px;
    padding: 0 18px;
    border: 0;
    border-radius: var(--fedelan-radius-pill);
    background: var(--fedelan-sand);
    color: var(--fedelan-ink);
    font-family: var(--fedelan-font-primary);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    cursor: pointer;
    position: static;
    box-shadow: none;
}
.fedelan-archive-filters-btn:hover { background: var(--fedelan-sand-2); }
.fedelan-archive-filters-btn svg { width: 18px; height: 18px; stroke: var(--fedelan-ink); }
.fedelan-shop-section__row {
    display: grid;
    padding: 0;
    border: 0;
    background: transparent;
}
.fedelan-shop-section__row > * { border: 0 !important; background: transparent; }
.fedelan-archive-load-more { display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 48px 0 64px; }
.fedelan-archive-load-more__estado { margin: 0; font-family: var(--fedelan-font-primary); font-size: 13px; font-weight: 500; color: var(--fedelan-muted); font-variant-numeric: tabular-nums; }
.fedelan-archive-load-more__btn, .fedelan-no-products__content a, .fedelan-btn-back {
    display: inline-flex; align-items: center; justify-content: center;
    font-family: var(--fedelan-font-display);
    font-variation-settings: "opsz" 14;
    font-weight: 700;
    font-size: 15px;
    padding: 14px 26px;
    border: 0;
    border-radius: var(--fedelan-radius-pill);
    background: var(--fedelan-paper);
    color: var(--fedelan-ink);
    box-shadow: inset 0 0 0 2px var(--fedelan-ink);
    text-transform: none;
    letter-spacing: 0;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s ease;
}
.fedelan-archive-load-more__btn:hover, .fedelan-btn-back:hover { background: var(--fedelan-sand); }
.fedelan-archive-load-more__btn:disabled, .fedelan-archive-load-more__btn[aria-disabled="true"] { opacity: 0.4; cursor: progress; }
.fedelan-archive-load-more__btn[hidden] { display: none; }
.fedelan-no-products { padding: 80px 0; text-align: center; color: var(--fedelan-muted); font-size: 16px; }
.fedelan-no-products h2 { font-size: 28px; margin: 0 0 12px; }

/* Tienda: secciones por categoria */
body.fedelan-shop-categories { padding: var(--fedelan-header-total-height) 0 0; }
body.fedelan-shop-categories .fedelan-shop-section:first-of-type { padding-top: 24px; }
.fedelan-shop-breadcrumbs { margin: 0 0 8px; padding: 0; background: transparent; }
.fedelan-shop-breadcrumbs__item { font-size: 13px; font-weight: 500; color: var(--fedelan-muted); text-transform: none; letter-spacing: 0; }
.fedelan-shop-breadcrumbs__item:last-child { color: var(--fedelan-ink); }
.fedelan-shop-section { margin: 0 0 56px; border: 0; padding: 0; }

/* Panel de filtros */
.fedelan-filter-panel__overlay { background: rgba(14, 14, 16, 0.35); }
.fedelan-filter-panel__content {
    background: var(--fedelan-paper);
    border: 0;
    border-radius: 0;
    width: min(420px, 92vw);
    box-shadow: 0 20px 60px rgba(14, 14, 16, 0.18);
}
.fedelan-filter-panel__header { border: 0; padding: 24px 28px 8px; }
.fedelan-filter-panel__title {
    font-family: var(--fedelan-font-display);
    font-variation-settings: "opsz" 96;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.02em;
    text-transform: none;
}
.fedelan-filter-panel__close {
    /* El padding generico de boton (10 por 20) achataba la X a 4 por 20. */
    width: 44px; height: 44px; padding: 0; border-radius: 0; border: 0; background: var(--fedelan-sand); color: var(--fedelan-ink);
    display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
}
.fedelan-filter-panel__body { padding: 8px 28px 24px; }
.fedelan-filter-section { border: 0; padding: 16px 0; margin: 0; }
.fedelan-filter-section__title {
    font-family: var(--fedelan-font-primary);
    font-size: 13px; font-weight: 700; color: var(--fedelan-ink);
    letter-spacing: 0; text-transform: none; margin: 0 0 12px;
}
.fedelan-filter-panel__footer { border: 0; padding: 16px 28px 28px; display: flex; gap: 10px; background: transparent; }
.fedelan-filter-panel__clear, .fedelan-filter-panel__apply {
    flex: 1;
    display: inline-flex; align-items: center; justify-content: center;
    height: 48px; border: 0; border-radius: var(--fedelan-radius-pill);
    font-family: var(--fedelan-font-display); font-variation-settings: "opsz" 14;
    font-weight: 700; font-size: 15px; letter-spacing: 0; text-transform: none; cursor: pointer;
}
.fedelan-filter-panel__clear { background: var(--fedelan-paper); color: var(--fedelan-ink); box-shadow: inset 0 0 0 2px var(--fedelan-ink); }
.fedelan-filter-panel__apply { background: var(--fedelan-ink); color: var(--fedelan-paper); }

/* --------------------------------------------------------------------------
   5. Ficha de producto
   -------------------------------------------------------------------------- */
/* Titular de bloque: dos links, no un H2 grande.
   De Universal Works. El nombre de la seccion es el mismo link que lleva a
   ella, y el peso se lo lleva la foto de abajo, no el titulo. */
.fedelan-titular {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 18px;
}
.fedelan-titular__a,
.fedelan-mas {
    color: var(--fedelan-ink);
    text-decoration: none;
    /* La raya es un fondo y no un borde: asi el padding lleva la zona
       sensible a 44 (X9) sin mover la raya. El texto mide 22; con 11 arriba
       y 11 abajo son 44, y los margenes negativos devuelven la caja a los 25
       de antes, con la raya 2px abajo del texto como siempre. */
    display: inline-block;
    padding: 11px 0;
    margin: -11px 0 -8px;
    background: linear-gradient(currentColor, currentColor) no-repeat left 0 bottom 8px / 100% 1px;
    transition: opacity var(--fedelan-dur) var(--fedelan-ease);
}
/* portada.css le da margen arriba al de novedades y le ganaba al negativo:
   la cuenta se descuenta aca, con la misma separacion de antes. */
.fedelan-novedades .fedelan-novedades__link { margin-top: 15px; }
@media (max-width: 900px) {
    .fedelan-novedades .fedelan-novedades__link { margin-top: 5px; }
}
.fedelan-titular__a {
    font-family: var(--fedelan-font-display);
    font-size: 19px;
    font-weight: 700;
    letter-spacing: -0.01em;
}
/* El "ver todo" de la portada, uno solo. Antes eran dos: este, en la fila y en
   el indice, y un fedelan-lnk subrayado y mas gordo en novedades. El mismo
   link se veia de dos maneras en la misma pagina. */
.fedelan-mas { font-size: 14px; font-weight: 500; }
.fedelan-titular__a:hover, .fedelan-mas:hover { opacity: 0.55; }
.fedelan-titular__a:active, .fedelan-mas:active { opacity: 0.3; }

.fedelan-relacionados {
    max-width: var(--fedelan-container);
    margin: 0 auto;
    padding: 0 var(--fedelan-container-padding) 64px;
}
.fedelan-relacionados .fedelan-titular { margin-bottom: 18px; }
.fedelan-titular__a--quieto { border-bottom: 0; background: none; cursor: default; }
.fedelan-titular__a--quieto:hover { opacity: 1; }
/* La foto manda: la galeria se queda con todo lo que sobra y la columna de
   compra se fija en 440, que es lo que necesita el formulario. Antes era al
   reves (560 de foto, 766 de texto) y la prenda quedaba chica. */
.fedelan-single-product-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 440px);
    gap: 48px;
    padding: 24px var(--fedelan-container-padding) 64px;
    max-width: var(--fedelan-container);
    margin: 0 auto;
    align-items: start;
}
.woocommerce #content div.product div.summary,
.woocommerce div.product div.summary,
.woocommerce-page div.product div.summary { width: auto !important; margin: 0 !important; }
/* Todas las fotos en una columna a la izquierda, la grande a la derecha. Lo
   pidio el cliente. La columna de miniaturas mide 72 y la foto grande se
   queda con el resto; la caja es 3:4 para que la prenda entre entera. */
.fedelan-single-gallery {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: var(--fedelan-gutter);
    position: sticky;
    top: calc(var(--fedelan-header-total-height) + 16px);
    overflow: visible;
}
.fedelan-gallery-main {
    position: relative;
    grid-column: 2;
    grid-row: 1;
    height: auto;
    aspect-ratio: 3 / 4;
    background: var(--fedelan-sand);
    display: flex;
    align-items: center;
    justify-content: center;
}
.fedelan-gallery-main .fedelan-brush--blobBig {
    left: 0;
    right: 0;
    top: 10%;
    width: 100%;
    height: 87%;
}
.fedelan-single-gallery .fedelan-gallery-item { display: none; position: relative; z-index: 1; justify-content: center; align-items: flex-end; height: 100%; width: 100%; }
.fedelan-single-gallery .fedelan-gallery-item.is-active { display: flex; }
.fedelan-single-gallery .fedelan-gallery-main .fedelan-gallery-link { display: block; height: 97%; max-width: 100%; }
.fedelan-single-gallery .fedelan-gallery-main .fedelan-gallery-link img,
.fedelan-single-gallery .fedelan-gallery-item img {
    height: 100%;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    display: block;
}
.fedelan-gallery-thumbs {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    gap: var(--fedelan-gutter);
    margin: 0;
    min-height: 0;
    overflow-y: auto;
    scrollbar-width: none;
}
.fedelan-gallery-thumbs::-webkit-scrollbar { display: none; }
.fedelan-gallery-thumb {
    flex: 0 0 auto;
    width: 72px;
    aspect-ratio: 3 / 4;
    position: relative;
    overflow: hidden;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: var(--fedelan-sand);
    opacity: 0.6;
    cursor: pointer;
    line-height: 0;
    transition: opacity var(--fedelan-dur) var(--fedelan-ease), box-shadow var(--fedelan-dur) var(--fedelan-ease);
}
/* La imagen va absoluta: si no, su alto natural estira la caja y la miniatura
   deja de medir 3:4 (medía 72x227). */
.fedelan-gallery-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: contain; padding: 4px; box-sizing: border-box; }
.fedelan-gallery-thumb:hover { opacity: 1; }
.fedelan-gallery-thumb.is-active { opacity: 1; box-shadow: inset 0 0 0 1px var(--fedelan-ink); }
.fedelan-gallery-thumb:focus-visible { outline: 2px solid var(--fedelan-accent); outline-offset: 2px; opacity: 1; }
/* La ficha con fotos de estudio (issue #20): la foto llena la caja 3:4 desde
   arriba, igual que en la tarjeta, sin bandas del campo gris. */
.fedelan-single-gallery--estudio .fedelan-gallery-main .fedelan-gallery-item { align-items: stretch; }
.fedelan-single-gallery--estudio .fedelan-gallery-main .fedelan-gallery-link { width: 100%; height: 100%; }
.fedelan-single-gallery.fedelan-single-gallery--estudio .fedelan-gallery-main .fedelan-gallery-link img,
.fedelan-single-gallery--estudio .fedelan-gallery-thumb img {
    width: 100%; height: 100%; max-width: none; padding: 0;
    object-fit: cover; object-position: top center;
}
.fedelan-single-details { position: static; top: auto; }
.fedelan-single-breadcrumbs { margin: 0 0 8px; }
.fedelan-single-title, .fedelan-single-details .product_title, h1.product_title {
    font-family: var(--fedelan-font-display);
    font-variation-settings: "opsz" 96;
    font-size: clamp(34px, 4vw, 46px);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1;
    margin: 20px 0 4px;
    text-transform: none;
    color: var(--fedelan-ink);
}
.fedelan-single-description { font-size: 15px; color: var(--fedelan-muted); margin: 0 0 20px; line-height: 1.55; }
.fedelan-single-description p { margin: 0 0 10px; }
.fedelan-discount-badge, .fedelan-discount-badge--inline {
    display: inline-block;
    font-family: var(--fedelan-font-display);
    font-variation-settings: "opsz" 14;
    font-weight: 800;
    font-size: 13px;
    letter-spacing: -0.01em;
    padding: 5px 10px;
    border-radius: var(--fedelan-radius-pill);
    background: var(--fedelan-accent-soft);
    color: var(--fedelan-ink);
    margin: 0 0 10px;
    text-transform: none;
    position: static;
}
.fedelan-price--single { margin: 0 0 22px; }
.fedelan-price--single .fedelan-price__curva { display: block; font-size: 15px; color: var(--fedelan-muted); line-height: 1.2; }
.fedelan-price--single .fedelan-price__curva-value {
    font-family: var(--fedelan-font-display);
    font-variation-settings: "opsz" 96;
    font-size: 34px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--fedelan-ink);
}
.fedelan-price--single .fedelan-precio-antes { font-size: 16px; }
.fedelan-price--single .fedelan-price__unit { display: block; font-size: 15px; color: var(--fedelan-muted); margin-top: 4px; }
.fedelan-single-price, .fedelan-single-price .woocommerce-Price-amount { font-family: var(--fedelan-font-display); font-size: 34px; font-weight: 800; letter-spacing: -0.02em; }
.fedelan-price-info, .fedelan-transfer-price, .fedelan-volume-price { font-size: 14px; color: var(--fedelan-muted); }

/* Formulario del plugin */
.fedelan-compra { border: 0; padding: 0; margin: 0; }
.fedelan-single-details .fedelan-discount-badge--inline { margin-top: 10px; }
.fedelan-compra__unico { margin: 18px 0 0; font-size: 15px; font-weight: 600; color: var(--fedelan-ink); }

/* Colores sin muestra cargada: se listan por nombre. */
.fedelan-compra__colores--texto .fedelan-color { line-height: 1.2; width: auto; flex: 0 0 auto; }
.fedelan-compra__colores--texto .fedelan-color__swatch { display: none; }
.fedelan-compra__colores--texto .fedelan-color::after { display: none; }
.fedelan-compra__colores--texto .fedelan-color__name {
    position: static; width: auto; height: auto; clip: auto; overflow: visible;
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 36px; padding: 0 14px;
    max-width: none; white-space: nowrap;
    border-radius: var(--fedelan-radius-pill);
    background: var(--fedelan-sand); color: var(--fedelan-ink);
    font-family: var(--fedelan-font-primary); font-size: 14px; font-weight: 600;
    opacity: 1;
    transition: background 0.15s ease, color 0.15s ease;
}
.fedelan-compra__colores--texto .fedelan-color:hover .fedelan-color__name { background: var(--fedelan-sand-2); }
.fedelan-compra__colores--texto .fedelan-color--activo .fedelan-color__name,
.fedelan-compra__colores--texto .fedelan-color:has(input:checked) .fedelan-color__name { background: var(--fedelan-ink); color: var(--fedelan-paper); }
.fedelan-compra__colores--texto .fedelan-color--agotado .fedelan-color__name { text-decoration: line-through; }
.fedelan-compra__label, .fedelan-single-details form.cart .label, .fedelan-single-details form.cart .variations th {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    font-family: var(--fedelan-font-primary);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    color: var(--fedelan-ink);
    margin: 18px 0 8px;
    padding: 0;
    width: 100%;
    float: none;
}
.fedelan-compra__color-actual, .fedelan-selected-value { font-weight: 500; color: var(--fedelan-muted); text-transform: none; }
.fedelan-compra__colores { border: 0; padding: 0; margin: 0; min-width: 0; }
.fedelan-compra__color-list, .fedelan-swatches { display: flex; flex-wrap: wrap; gap: 12px; }
.fedelan-color { position: relative; cursor: pointer; margin: 0; padding: 0; display: block; line-height: 0; }
.fedelan-color input { position: absolute; opacity: 0; width: 0; height: 0; }
.fedelan-color__swatch {
    position: relative;
    display: block;
    width: 40px; height: 40px;
    border-radius: 0;
    border: 0;
    padding: 0;
    overflow: hidden;
    background: var(--fedelan-swatch, var(--fedelan-sand));
    box-shadow: inset 0 0 0 1px rgba(14, 14, 16, 0.12);
    transition: transform 0.15s ease;
}
.fedelan-color__swatch img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fedelan-color::after {
    content: "";
    position: absolute;
    inset: -5px;
    border-radius: 0;
    border: 2px solid var(--fedelan-ink);
    opacity: 0;
    transform: scale(0.85);
    transition: opacity 0.15s ease, transform 0.15s ease;
    pointer-events: none;
}
.fedelan-color:hover::after { opacity: 0.35; transform: scale(1); }
.fedelan-color--activo::after, .fedelan-color:has(input:checked)::after { opacity: 1; transform: scale(1); }
.fedelan-color__name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.fedelan-color--agotado { opacity: 0.35; }
.fedelan-swatch-size, .fedelan-swatch-text, .fedelan-swatch-btn {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 46px; min-height: 44px; padding: 0 16px;
    border: 0; border-radius: var(--fedelan-radius-pill);
    background: var(--fedelan-sand); color: var(--fedelan-ink);
    font-family: var(--fedelan-font-primary); font-size: 14px; font-weight: 600;
    letter-spacing: 0; text-transform: none; cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}
.fedelan-swatch-btn.active, .fedelan-swatch-size.active, .fedelan-swatch-text.active { background: var(--fedelan-ink); color: var(--fedelan-paper); box-shadow: none; }
.fedelan-swatch-btn.disabled, .fedelan-swatch-btn[disabled] { opacity: 0.35; text-decoration: line-through; }
.fedelan-compra__guia { font-size: 13px; }
.fedelan-compra__talles { margin: 0; }
.fedelan-compra__talles-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 10px; }
.fedelan-compra__talles-head .fedelan-compra__label { margin: 0; }
.fedelan-talles { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
/* Con un solo talle el plugin escribe "1 unidad, talle único" y deja la lista
   con hidden. El display de arriba le ganaba al hidden y el talle salia dos
   veces, en la frase y en una ficha suelta. */
.fedelan-talles[hidden] { display: none; }
.fedelan-talle {
    min-width: 80px; min-height: 44px; padding: 0 12px; border-radius: 0; margin: 0;
    display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 0;
    background: var(--fedelan-sand); color: var(--fedelan-ink);
    font-family: var(--fedelan-font-primary); font-size: 14px; font-weight: 400; line-height: 1.15;
    position: relative;
    transition: box-shadow var(--fedelan-dur) var(--fedelan-ease), background var(--fedelan-dur) var(--fedelan-ease), color var(--fedelan-dur) var(--fedelan-ease);
}
.fedelan-talle--fijo { cursor: default; }
.fedelan-talle--radio, .fedelan-talle--stepper { cursor: pointer; }
.fedelan-talle--radio:hover, .fedelan-talle--stepper:hover { box-shadow: inset 0 0 0 1px var(--fedelan-ink); }
.fedelan-talle--radio:has(input:focus-visible) { box-shadow: inset 0 0 0 2px var(--fedelan-ink); }
.fedelan-talle--radio.fedelan-talle--activo, .fedelan-talle--stepper.fedelan-talle--activo {
    background: var(--fedelan-ink); color: var(--fedelan-paper); box-shadow: none;
}
.fedelan-talle__nombre { font-size: 14px; font-weight: 400; }
.fedelan-talle--activo .fedelan-talle__nombre { font-weight: 700; }
/* Sobre el arena del chip el gris apagado no llegaba a 4,5:1. */
.fedelan-talle__x { font-size: 12px; color: var(--fedelan-ink-soft); opacity: 1; }
.fedelan-talle--activo .fedelan-talle__x, .fedelan-talle--activo .fedelan-talle__precio, .fedelan-talle--activo .fedelan-talle__stock { color: var(--fedelan-paper); opacity: 0.7; }
.fedelan-talle__precio, .fedelan-talle__stock { font-size: 12px; color: var(--fedelan-muted); white-space: nowrap; }
.fedelan-talle--agotado {
    background: var(--fedelan-field-2); color: var(--fedelan-muted); opacity: 1;
    cursor: not-allowed; box-shadow: none;
}
.fedelan-talle--agotado:hover { box-shadow: none; }
.fedelan-talle--agotado .fedelan-talle__nombre { text-decoration: line-through; }
.fedelan-talle--stepper { flex: 0 0 auto; flex-direction: row; gap: 6px; min-width: 0; padding: 0 5px 0 10px; }
.fedelan-talle--stepper .fedelan-talle__nombre { min-width: 20px; text-align: left; }
.fedelan-talle--stepper .fedelan-qty--sm { flex: 0 0 auto; height: 28px; padding: 0 6px; background: var(--fedelan-paper); box-shadow: none; border-radius: 0; }
.fedelan-talle--stepper .fedelan-qty--sm .fedelan-qty__btn { flex: 0 0 auto; width: 24px; height: 28px; font-size: 15px; padding: 0; }
.fedelan-talle--stepper .fedelan-qty--sm .fedelan-qty__input { flex: 0 0 auto; width: 26px; height: 28px; font-size: 14px; padding: 0; }
.fedelan-compra__pack-estado { margin: 10px 0 0; font-size: 14px; color: var(--fedelan-muted); }
.fedelan-compra__pack-estado--ok { color: var(--fedelan-ink); font-weight: 600; }
.fedelan-compra__pack-estado--faltan, .fedelan-compra__pack-estado--sobran { color: var(--fedelan-err); }
.fedelan-compra__cantidad { margin: 0; }
.fedelan-qty, .fedelan-single-details .quantity {
    display: inline-flex;
    align-items: center;
    height: 48px;
    border: 0;
    border-radius: var(--fedelan-radius-pill);
    background: var(--fedelan-sand);
    /* Borde de 5,5:1 contra el blanco (WCAG 1.4.11): la arena sola daba 1,25:1
       y el control no se distinguia. Inset, no cambia la medida. */
    box-shadow: inset 0 0 0 1px var(--fedelan-muted);
    /* Los botones miden 44 en una caja de 48: 2 arriba y abajo, y 2 a los
       costados, asi el cuadrado blanco del hover queda con el mismo aire en
       los cuatro lados (con 6 al costado quedaba corrido). */
    padding: 0 2px;
    gap: 2px;
}
.fedelan-qty__btn, .fedelan-qty-btn {
    width: 44px; height: 44px; border-radius: 0;
    border: 0; background: transparent; color: var(--fedelan-ink);
    font-size: 20px; line-height: 1; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    transition: background 0.15s ease;
}
.fedelan-qty__btn:hover, .fedelan-qty-btn:hover { background: var(--fedelan-paper); }
/* 44 de alto (X9): el campo es transparente adentro de la caja de 48, asi
   que crece sin que cambie nada a la vista. */
.fedelan-qty__input, .fedelan-qty-input, .fedelan-single-details .quantity input.qty {
    width: 52px; height: 44px; border: 0; background: transparent;
    font-family: var(--fedelan-font-primary); font-size: 16px; font-weight: 700; color: var(--fedelan-ink);
    text-align: center; -moz-appearance: textfield; appearance: textfield; padding: 0;
}
.fedelan-qty__input::-webkit-outer-spin-button, .fedelan-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
/* GeneratePress pinta todo input[type=number] y [type=text] con borde
   #f0f0f0 y fondo #f7f8f9, y con elemento mas clase le gana a la clase sola:
   adentro del campo gris quedaba una caja casi blanca, y el filtro de precio
   perdia el borde negro (1,1:1 contra el blanco, X5). Se sube la
   especificidad para que manden los tokens del tema. */
input[type="number"].fedelan-qty__input,
input[type="text"].fedelan-cart-drawer__qty-input { border: 0; background: transparent; }
input[type="number"].fedelan-filtro-precio__input,
input[type="number"].fedelan-filtro-precio__input:focus { border-color: var(--fedelan-line-strong); background-color: var(--fedelan-paper); }
.fedelan-compra__resumen { margin: 22px 0 0; padding: 0; border: 0; background: transparent; }
.fedelan-compra__resumen-linea { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; font-size: 18px; font-weight: 700; }
.fedelan-compra__resumen-texto { font-size: 15px; font-weight: 500; color: var(--fedelan-muted); }
.fedelan-compra__resumen-total {
    font-family: var(--fedelan-font-display);
    font-variation-settings: "opsz" 96;
    font-size: 22px; font-weight: 800; letter-spacing: -0.02em; color: var(--fedelan-ink);
}
.fedelan-compra__aviso { margin: 10px 0 0; padding: 12px 16px; border-radius: var(--fedelan-radius); background: var(--fedelan-sand); font-size: 14px; color: var(--fedelan-ink); border: 0; }
.woocommerce button.single_add_to_cart_button, .woocommerce button.button.alt.single_add_to_cart_button,
.fedelan-compra__submit, .fedelan-single-details form.cart .single_add_to_cart_button {
    display: flex !important;
    width: 100% !important;
    align-items: center; justify-content: center; gap: 10px;
    height: 54px !important;
    margin: 18px 0 0 !important;
    padding: 0 26px !important;
    border: 0 !important;
    border-radius: var(--fedelan-radius-pill) !important;
    background: var(--fedelan-ink) !important;
    color: var(--fedelan-paper) !important;
    font-family: var(--fedelan-font-display) !important;
    font-variation-settings: "opsz" 14;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    line-height: 1;
    cursor: pointer;
    transition: background 0.15s ease, opacity 0.15s ease;
}
.woocommerce button.single_add_to_cart_button:hover, .fedelan-compra__submit:hover { background: var(--fedelan-ink-soft) !important; color: var(--fedelan-paper) !important; }
.woocommerce button.single_add_to_cart_button:disabled, .fedelan-compra__submit:disabled { opacity: 0.35 !important; cursor: not-allowed; }
.fedelan-compra__submit--enviando { opacity: 0.7 !important; }
/* El boton queda apagado con aria-disabled y no con disabled: asi el que lo
   aprieta sin elegir recibe una respuesta en vez de un boton muerto (V7). El
   cambio lo hace compra.js, en la ficha y en el agregado rapido. */
.fedelan-compra__submit[aria-disabled="true"] { opacity: 0.35; cursor: not-allowed; }
/* Lo que falta para poder agregar, al lado del selector y no arriba de todo. */
.fedelan-compra__falta { margin: 10px 0 0; font-family: var(--fedelan-font-primary); font-size: 14px; font-weight: 600; color: var(--fedelan-err); }
/* Al llevar el foco a la lista de talles o de colores tiene que verse donde
   quedo parado. */
.fedelan-talles:focus-visible, .fedelan-compra__colores:focus-visible, .fedelan-swatches:focus-visible { outline: 2px solid var(--fedelan-accent); outline-offset: 6px; }
.fedelan-single-note { margin: 14px 0 0; font-size: 14px; line-height: 1.6; color: var(--fedelan-muted); }
.fedelan-single-note b { color: var(--fedelan-ink); font-weight: 700; }
.fedelan-single-note .fedelan-lnk { font-size: 14px; }
.fedelan-single-details form.cart .variations td, .fedelan-single-details form.cart .variations th { padding: 0; border: 0; display: block; }
.fedelan-single-details form.cart .variations tr { display: block; margin: 0; }
.reset_variations { font-size: 13px; color: var(--fedelan-muted); }

/* Snackbar */
.fedelan-snackbar { border-radius: var(--fedelan-radius); border: 0; background: var(--fedelan-ink); color: var(--fedelan-paper); font-size: 14px; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.fedelan-snackbar__title, .fedelan-snackbar__content { color: var(--fedelan-paper) !important; text-transform: none; letter-spacing: 0; font-weight: 500; }
.fedelan-snackbar__action { color: var(--fedelan-paper) !important; text-transform: none; letter-spacing: 0; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* --------------------------------------------------------------------------
   7. Footer, avisos y varios
   -------------------------------------------------------------------------- */
/* El pie se dibuja entero mas abajo, en el bloque del Reset total. */

.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice {
    border: 0 !important;
    border-radius: var(--fedelan-radius);
    background: var(--fedelan-sand);
    color: var(--fedelan-ink);
    padding: 14px 18px !important;
    font-size: 14px;
    margin: 0 auto 20px;
    max-width: var(--fedelan-container);
}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }
.woocommerce-error { background: var(--fedelan-err-soft, #FBE9E7); }
.woocommerce-message { background: var(--fedelan-ok-soft, #E9F5EC); }
.woocommerce-message a.button, .woocommerce-info a.button {
    display: inline-flex; padding: 8px 16px; border-radius: var(--fedelan-radius-pill); background: var(--fedelan-ink); color: var(--fedelan-paper);
    font-family: var(--fedelan-font-display); font-weight: 700; font-size: 13px; text-transform: none; letter-spacing: 0; border: 0;
}
.entry-content { font-size: 15px; line-height: 1.6; }
.error404 .fedelan-404, .fedelan-404 { padding: 100px var(--fedelan-container-padding); text-align: center; max-width: 640px; margin: 0 auto; }
.fedelan-404 h1 { font-size: 48px; font-weight: 800; letter-spacing: -0.035em; margin: 0 0 12px; }
.fedelan-404 p { color: var(--fedelan-muted); margin: 0 0 24px; }
.fedelan-404__search { display: flex; gap: 8px; max-width: 420px; margin: 0 auto; }
.fedelan-404__search input[type="search"] { flex: 1 1 auto; min-width: 0; height: 46px; padding: 0 18px; border: 0; border-radius: var(--fedelan-radius-pill); background: var(--fedelan-sand); font-size: 15px; }
.fedelan-404__search button { height: 46px; padding: 0 22px; border: 0; border-radius: var(--fedelan-radius-pill); background: var(--fedelan-ink); color: var(--fedelan-paper); font-family: var(--fedelan-font-display); font-weight: 700; font-size: 15px; cursor: pointer; }
.error404 .site, .error404 .site-content, .error404 .site-main { min-width: 0; max-width: 100%; overflow-x: clip; }
.fedelan-404__search input[type="search"] { width: 100px; }
.fedelan-404__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; margin: 28px 0 0; padding: 0; }
.fedelan-404__links li { margin: 0; padding: 0; }
.fedelan-404__links a { display: inline-flex; align-items: baseline; gap: 6px; min-height: 44px; padding: 11px 16px; border-radius: var(--fedelan-radius-pill); background: var(--fedelan-sand); color: var(--fedelan-ink); font-weight: 600; font-size: 14px; text-decoration: none; }
/* ink-soft y no muted: sobre el campo gris muted da 4,44:1 y no llega (X2). */
.fedelan-404__links a span { color: var(--fedelan-ink-soft); font-weight: 500; font-size: 13px; }
.fedelan-404__links a:hover { background: var(--fedelan-sand-2); }

/* --------------------------------------------------------------------------
   8. Cuenta
   -------------------------------------------------------------------------- */
/* Mi cuenta: desplegable de secciones arriba y contenido a todo el ancho */
body.woocommerce-account .site-main { padding: 0; }
body.woocommerce-account .inside-article { padding: 0; background: transparent; box-shadow: none; }
body.woocommerce-account .entry-header { max-width: var(--fedelan-container); margin: 40px auto 0; padding: 0 var(--fedelan-container-padding); }
body.woocommerce-account .entry-header .entry-title {
    margin: 0; font-family: var(--fedelan-font-display); font-variation-settings: "opsz" 96;
    font-size: clamp(34px, 4vw, 48px); font-weight: 800; letter-spacing: -0.03em; line-height: 1; color: var(--fedelan-ink);
}
.woocommerce-account .woocommerce { display: block; }
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content,
.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content { float: none; width: 100% !important; max-width: none !important; flex: none !important; margin: 0; padding: 0; border: 0; background: transparent; }
.woocommerce-account .woocommerce .woocommerce-MyAccount-content { max-width: 760px !important; }
.woocommerce-account .woocommerce .woocommerce-MyAccount-content { margin-top: 28px; }
.woocommerce-MyAccount-content .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-MyAccount-content .woocommerce-info, .woocommerce-MyAccount-content .woocommerce-message {
    display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px;
    padding: 16px 20px; margin: 0 0 16px; border: 0; border-radius: var(--fedelan-radius);
    background: var(--fedelan-sand); color: var(--fedelan-ink); font-size: 14px; line-height: 1.5;
}
.woocommerce-MyAccount-content .woocommerce-info .button, .woocommerce-MyAccount-content .woocommerce-message .button {
    order: 2; flex: 0 0 auto; width: auto !important; height: auto; margin: 0; padding: 0 16px; min-height: 38px; display: inline-flex; align-items: center;
    border-radius: var(--fedelan-radius-pill); background: var(--fedelan-ink); color: var(--fedelan-paper);
    font-family: var(--fedelan-font-display); font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap;
}
/* Direcciones: tarjetas sobre arena, sin bordes */
.woocommerce-MyAccount-content .col2-set.addresses, .woocommerce-MyAccount-content .woocommerce-Addresses { gap: 16px !important; }
.woocommerce-MyAccount-content .col2-set .col-1, .woocommerce-MyAccount-content .col2-set .col-2, .woocommerce-MyAccount-content .woocommerce-Address {
    box-sizing: border-box; min-width: 0; padding: 24px; border: 0; border-radius: var(--fedelan-radius); background: var(--fedelan-sand); box-shadow: none;
}
.woocommerce-Address-title, .woocommerce-MyAccount-content .col2-set header.title { flex-direction: column; align-items: flex-start; margin: 0 0 12px; padding: 0; border: 0; gap: 10px; }
.woocommerce-Address-title h2, .woocommerce-Address-title h3, .woocommerce-MyAccount-content .col2-set header.title h2, .woocommerce-MyAccount-content .col2-set header.title h3 {
    font-family: var(--fedelan-font-display); font-variation-settings: "opsz" 24; font-size: 18px !important; font-weight: 700; letter-spacing: -0.01em; text-transform: none; line-height: 1.2;
}
.woocommerce-Address-title a, .woocommerce-MyAccount-content .col2-set header.title a {
    font-family: var(--fedelan-font-display); font-size: 13px; font-weight: 700; padding: 8px 14px; border-radius: var(--fedelan-radius-pill); background: var(--fedelan-ink); color: var(--fedelan-paper);
}
.woocommerce-Address address, .woocommerce-MyAccount-content .col2-set address { color: var(--fedelan-muted); font-size: 14px; line-height: 1.6; }
.woocommerce-MyAccount-content > p:first-of-type { color: var(--fedelan-muted); }
@media (max-width: 640px) {
    .woocommerce-MyAccount-content .col2-set.addresses, .woocommerce-MyAccount-content .woocommerce-Addresses { grid-template-columns: 1fr !important; }
}
.fedelan-account-nav { position: relative; z-index: 2; margin: 0 0 28px; }
.fedelan-account-nav__menu { position: relative; width: max-content; max-width: 100%; }
.fedelan-account-nav__current {
    list-style: none; cursor: pointer; user-select: none;
    display: inline-flex; align-items: center; gap: 10px;
    min-height: 44px; padding: 0 16px 0 20px;
    border-radius: var(--fedelan-radius-pill);
    background: var(--fedelan-sand); color: var(--fedelan-ink);
    font-family: var(--fedelan-font-display); font-variation-settings: "opsz" 24; font-size: 16px; font-weight: 700;
}
.fedelan-account-nav__current::-webkit-details-marker { display: none; }
.fedelan-account-nav__current svg { width: 18px; height: 18px; transition: transform 0.15s ease; }
.fedelan-account-nav__menu[open] .fedelan-account-nav__current svg { transform: rotate(180deg); }
.fedelan-account-nav__list {
    position: absolute; left: 0; top: calc(100% + 8px);
    min-width: 220px; margin: 0; padding: 8px; list-style: none;
    background: var(--fedelan-paper); border-radius: var(--fedelan-radius);
    border: 1px solid var(--fedelan-line); box-shadow: none;
}
.fedelan-account-nav__list li { margin: 0; padding: 0; border: 0; }
.fedelan-account-nav__list a {
    display: block; padding: 10px 14px; border-radius: var(--fedelan-radius);
    font-family: var(--fedelan-font-primary); font-size: 15px; font-weight: 600; color: var(--fedelan-ink); text-decoration: none;
}
.fedelan-account-nav__list a:hover { background: var(--fedelan-sand); }
.fedelan-account-nav__list .is-active a { background: var(--fedelan-ink); color: var(--fedelan-paper); }
.fedelan-account-nav__list .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--fedelan-muted); }
.woocommerce-account .woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3 {
    font-family: var(--fedelan-font-display); font-variation-settings: "opsz" 96; font-weight: 700; letter-spacing: -0.02em; text-transform: none; color: var(--fedelan-ink);
}
/* Entrar y crear cuenta. Era una capa fija de 100vh: en un telefono corto el
   formulario de registro se cortaba abajo y la pagina no scrolleaba. Ahora es
   una seccion mas del documento. */
.fedelan-auth-page .fedelan-auth, .fedelan-auth {
    position: static; width: auto; height: auto; display: block;
    padding: 0 0 72px;
    background: var(--fedelan-paper);
}
.fedelan-auth__overlay { display: none; }
.fedelan-auth__container {
    max-width: 420px;
    margin: 8px auto 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.fedelan-auth__title {
    font-family: var(--fedelan-font-display); font-variation-settings: "opsz" 96;
    font-size: 28px; font-weight: 700; letter-spacing: 0; text-transform: uppercase; text-align: left; margin: 0 0 24px;
}
.fedelan-auth__form { display: flex; flex-direction: column; gap: 14px; padding: 0; }
.fedelan-auth__field { display: flex; flex-direction: column; gap: 6px; }
.fedelan-auth__field label { font-size: 13px; font-weight: 700; color: var(--fedelan-ink); text-transform: none; letter-spacing: 0; }
.fedelan-auth__field input:not([type="checkbox"]), .fedelan-auth__password-wrapper input, .woocommerce-form-row input.input-text, .woocommerce-EditAccountForm input.input-text {
    height: 50px; padding: 0 16px; border: 0; border-radius: var(--fedelan-radius);
    background: var(--fedelan-paper); color: var(--fedelan-ink);
    font-family: var(--fedelan-font-primary); font-size: 15px; box-shadow: none; width: 100%;
}
.fedelan-auth__field input:focus, .fedelan-auth__password-wrapper input:focus, .woocommerce-form-row input.input-text:focus { outline: 0; box-shadow: inset 0 0 0 2px var(--fedelan-accent); }
.fedelan-auth__password-wrapper { position: relative; }
/* 44 por 44 (X9), con el ojo en el mismo lugar: medía 36 a 8 del borde. */
.fedelan-auth__toggle-password { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 0; border: 0; background: transparent; color: var(--fedelan-muted); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.fedelan-auth__remember { font-size: 14px; color: var(--fedelan-muted); display: flex; align-items: center; gap: 8px; }
.fedelan-auth__remember input { accent-color: var(--fedelan-ink); width: 18px; height: 18px; }
.fedelan-auth__submit, .woocommerce-Button, .woocommerce button.button.woocommerce-Button, .woocommerce-MyAccount-content .button, .woocommerce-EditAccountForm .button {
    display: inline-flex; align-items: center; justify-content: center;
    height: 50px; padding: 0 26px; border: 0; border-radius: var(--fedelan-radius-pill);
    background: var(--fedelan-ink); color: var(--fedelan-paper);
    font-family: var(--fedelan-font-display); font-variation-settings: "opsz" 14;
    font-size: 15px; font-weight: 700; letter-spacing: 0; text-transform: none; cursor: pointer; width: 100%;
    transition: background 0.15s ease;
}
.fedelan-auth__submit:hover, .woocommerce-Button:hover { background: var(--fedelan-ink-soft); color: var(--fedelan-paper); }
.fedelan-auth__links { display: flex; flex-direction: column; gap: 8px; margin: 18px 0 0; font-size: 14px; color: var(--fedelan-muted); text-align: left; }
.fedelan-auth__links a { color: var(--fedelan-ink); font-weight: 600; text-decoration: none; }
.fedelan-auth__success { padding: 14px 16px; border-radius: var(--fedelan-radius); background: var(--fedelan-paper); font-size: 14px; }
.woocommerce-privacy-policy-text { font-size: 13px; color: var(--fedelan-muted); opacity: 1; }
.woocommerce-privacy-policy-text a, .fedelan-auth .woocommerce-privacy-policy-text a {
    color: var(--fedelan-ink); font-weight: 400; opacity: 1;
    text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px;
}
.fedelan-auth .woocommerce-ResetPassword p, .woocommerce-ResetPassword p { color: var(--fedelan-ink-soft); }
/* Avisos de login, registro y recuperar contraseña. account.css los pintaba
   en blanco (herencia del diseño oscuro) y sobre la página blanca no se leian:
   quedaba solo el "Error:" en rojo. Tinta sobre el campo claro, y el color
   solo en la palabra de adelante. */
.fedelan-auth .woocommerce-error,
.fedelan-auth .woocommerce-message,
.fedelan-auth .woocommerce-info {
    background: var(--fedelan-field-2) !important; border: 0 !important; border-radius: 0;
    padding: 12px 14px !important; margin: 0 0 20px; color: var(--fedelan-ink);
    font-size: 14px; line-height: 20px;
}
.fedelan-auth .woocommerce-error li, .fedelan-auth .woocommerce-message li, .fedelan-auth .woocommerce-info li { color: var(--fedelan-ink); margin: 0; }
.fedelan-auth .woocommerce-error li::before { color: var(--fedelan-err); }
.fedelan-auth .woocommerce-message { color: var(--fedelan-ink); }
.fedelan-auth .woocommerce-message::after { display: none; }
.fedelan-auth__success, .fedelan-auth__success p, .fedelan-auth__success svg { color: var(--fedelan-ink) !important; }
.fedelan-account-page .woocommerce, .woocommerce-account .woocommerce { width: auto; max-width: var(--fedelan-container); margin: 0 auto; padding: 28px var(--fedelan-container-padding) 80px; }
.woocommerce-MyAccount-navigation { float: none; width: auto; margin: 0 0 24px; }
.woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0; }
.woocommerce-MyAccount-navigation li, .woocommerce-MyAccount-navigation li.is-active { border: 0; margin: 0; }
.woocommerce-MyAccount-navigation li a {
    display: inline-flex; align-items: center; min-height: 38px; padding: 0 16px;
    border-radius: var(--fedelan-radius-pill); background: var(--fedelan-sand); color: var(--fedelan-ink);
    font-size: 14px; font-weight: 600; text-decoration: none; text-transform: none; letter-spacing: 0; border: 0;
}
.woocommerce-MyAccount-navigation li.is-active a { background: var(--fedelan-ink); color: var(--fedelan-paper); }
.woocommerce-MyAccount-content { float: none; width: auto; font-size: 15px; }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3 { font-size: 24px; font-weight: 800; letter-spacing: -0.02em; }
.woocommerce-account .woocommerce table.shop_table { border: 0; border-collapse: separate; border-spacing: 0; }
.woocommerce-account .woocommerce table.shop_table th, .woocommerce-account .woocommerce table.shop_table td { border: 0; padding: 12px 14px; }
.woocommerce-account .woocommerce table.shop_table tbody tr:nth-child(odd) td { background: var(--fedelan-sand); }
.woocommerce-account .woocommerce table.shop_table tbody td:first-child { border-radius: 14px 0 0 14px; }
.woocommerce-account .woocommerce table.shop_table tbody td:last-child { border-radius: 0 14px 14px 0; }
.woocommerce-account .woocommerce table.shop_table thead th { font-size: 12px; font-weight: 700; color: var(--fedelan-muted); }
.woocommerce-form-row label { font-size: 13px; font-weight: 700; }

/* --------------------------------------------------------------------------
   9. Checkout
   -------------------------------------------------------------------------- */
.fedelan-checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 60px;
    max-width: 1120px;
    margin: 0 auto;
    padding: 40px var(--fedelan-container-padding) 80px;
    align-items: start;
}
.fedelan-checkout-main { padding: 0; max-width: none; }

/* Checkout de una pagina: cuatro secciones, una abajo de la otra. */
.fedelan-checkout-step {
    border: 0; border-top: 1px solid var(--fedelan-line);
    padding: 28px 0 0; margin: 0 0 28px; animation: none;
}
.fedelan-checkout-step:first-child { border-top: 0; padding-top: 0; }
.fedelan-checkout-step__head { display: flex; align-items: center; gap: 14px; margin: 0; }
.fedelan-checkout-step__num {
    width: 26px; height: 26px; flex: 0 0 auto;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--fedelan-ink); color: var(--fedelan-paper);
    font-size: 12px; font-weight: 700; letter-spacing: 0;
}
.fedelan-checkout-step__title {
    font-family: var(--fedelan-font-primary);
    font-size: 18px; font-weight: 700; line-height: 1.2;
    letter-spacing: 1px; text-transform: uppercase;
    margin: 0; flex: 1 1 auto;
}
.fedelan-checkout-step__edit {
    flex: 0 0 auto; padding: 0; border: 0; background: transparent;
    font-family: var(--fedelan-font-primary); font-size: 14px; color: var(--fedelan-muted);
    text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
    transition: color var(--fedelan-dur) var(--fedelan-ease);
}
.fedelan-checkout-step__edit:hover { color: var(--fedelan-ink); }
.fedelan-checkout-step__resumen { margin: 10px 0 0 40px; font-size: 14px; color: var(--fedelan-muted); }
.fedelan-checkout-step__body { padding: 22px 0 0; }
.fedelan-checkout-step.is-done .fedelan-checkout-step__body,
.fedelan-checkout-step.is-locked .fedelan-checkout-step__body { display: none; }
.fedelan-checkout-step.is-locked .fedelan-checkout-step__num { background: var(--fedelan-muted); color: var(--fedelan-paper); }
.fedelan-checkout-step.is-locked .fedelan-checkout-step__title { color: var(--fedelan-muted); }
.fedelan-checkout-step.is-done .fedelan-checkout-step__num { background: var(--fedelan-muted); }
.fedelan-checkout-step__sub {
    font-family: var(--fedelan-font-primary);
    font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
    color: var(--fedelan-muted); margin: 32px 0 16px;
}
.fedelan-checkout-step__subtitle { font-size: 15px; color: var(--fedelan-muted); margin: -12px 0 20px; }
.fedelan-field { margin: 0 0 16px; }
.fedelan-field label, .fedelan-checkout label:not(.fedelan-checkbox):not(.fedelan-radio-card) {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: var(--fedelan-ink);
    margin: 0 0 6px;
    letter-spacing: 0;
    text-transform: none;
}
.fedelan-optional, .fedelan-field label em { font-style: normal; font-weight: 500; color: var(--fedelan-muted); }
.fedelan-field__input-wrap { position: relative; }
.fedelan-field__input-wrap input, .fedelan-field__input-wrap select, .fedelan-field__input-wrap textarea,
.fedelan-checkout input[type="text"], .fedelan-checkout input[type="email"], .fedelan-checkout input[type="tel"], .fedelan-checkout input[type="number"], .fedelan-checkout select, .fedelan-checkout textarea {
    width: 100%;
    padding: 14px 16px 15px;
    border: 0;
    border-radius: var(--fedelan-radius);
    background: var(--fedelan-sand);
    color: var(--fedelan-ink);
    font-family: var(--fedelan-font-primary);
    font-size: 15px;
    line-height: 1.3;
    box-shadow: none;
    transition: box-shadow 0.15s ease, background 0.15s ease;
}
.fedelan-field__input-wrap input:focus, .fedelan-field__input-wrap select:focus, .fedelan-field__input-wrap textarea:focus,
.fedelan-checkout input:focus, .fedelan-checkout select:focus, .fedelan-checkout textarea:focus {
    outline: 0;
    background: var(--fedelan-paper);
    box-shadow: inset 0 0 0 2px var(--fedelan-ink);
}
.fedelan-field__input-wrap input::placeholder { color: var(--fedelan-muted); opacity: 0.8; }
.fedelan-field.is-valid .fedelan-field__input-wrap input, .fedelan-field.is-valid .fedelan-field__input-wrap select { box-shadow: inset 0 0 0 2px var(--fedelan-line-soft); background: var(--fedelan-paper); }
.fedelan-field.is-invalid .fedelan-field__input-wrap input, .fedelan-field.is-invalid .fedelan-field__input-wrap select { box-shadow: inset 0 0 0 2px var(--fedelan-err); background: var(--fedelan-paper); }
.fedelan-field__check { right: 14px; }
.fedelan-field.is-valid .fedelan-field__check::after { border-color: var(--fedelan-ink); }
.fedelan-field__error { font-size: 12px; color: var(--fedelan-err); margin: 6px 0 0; }
.fedelan-field__hint, .fedelan-field small { font-size: 12px; color: var(--fedelan-muted); margin: 6px 0 0; display: block; }
.fedelan-field__link { font-size: 13px; }
.fedelan-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.fedelan-field-row--street { grid-template-columns: 2fr 1fr; }
.fedelan-checkbox { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: var(--fedelan-ink); cursor: pointer; margin: 4px 0 16px; }
.fedelan-checkbox input { position: absolute; opacity: 0; width: 0; height: 0; }
.fedelan-checkbox input:focus-visible + .fedelan-checkbox__mark { outline: 2px solid var(--fedelan-accent); outline-offset: 2px; }
/* El borde en muted y no en line: la caja tiene que distinguirse del fondo
   con 3:1 como minimo (X5), y line sobre blanco da 1,47. */
.fedelan-checkbox__mark { width: 20px; height: 20px; border: 0; border-radius: 0; background: var(--fedelan-sand); box-shadow: inset 0 0 0 2px var(--fedelan-muted); flex: none; position: relative; }
.fedelan-checkbox input:checked + .fedelan-checkbox__mark { background: var(--fedelan-ink); box-shadow: none; }
.fedelan-checkbox input:checked + .fedelan-checkbox__mark::after { content: ""; position: absolute; left: 7px; top: 3px; width: 5px; height: 10px; border: solid var(--fedelan-paper); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.fedelan-checkbox__text { color: var(--fedelan-ink); }
.fedelan-radio-card { display: block; margin: 0 0 10px; cursor: pointer; }
.fedelan-radio-card input { position: absolute; opacity: 0; width: 0; height: 0; }
.fedelan-radio-card__content {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 18px 18px 48px;
    border: 0;
    border-radius: 0;
    background: var(--fedelan-paper);
    box-shadow: inset 0 0 0 1px var(--fedelan-line);
    transition: box-shadow var(--fedelan-dur) var(--fedelan-ease);
}
.fedelan-radio-card__content:hover { background: var(--fedelan-paper); box-shadow: inset 0 0 0 1px var(--fedelan-ink); }
.fedelan-radio-card__indicator {
    position: absolute;
    left: 18px;
    top: 22px;
    width: 16px; height: 16px;
    border-radius: 50%;
    border: 2px solid var(--fedelan-ink);
    background: var(--fedelan-paper);
    box-sizing: border-box;
    flex: none;
    margin: 0;
}
.fedelan-radio-card input:checked + .fedelan-radio-card__content { background: var(--fedelan-paper); border: 0; box-shadow: inset 0 0 0 2px var(--fedelan-ink); }
.fedelan-radio-card input:checked + .fedelan-radio-card__content .fedelan-radio-card__indicator { background: var(--fedelan-ink); border-color: var(--fedelan-ink); box-shadow: inset 0 0 0 3px #fff; }
.fedelan-radio-card input:checked + .fedelan-radio-card__content .fedelan-radio-card__indicator::after { display: none; }
.fedelan-radio-card input:focus-visible + .fedelan-radio-card__content { box-shadow: inset 0 0 0 2px var(--fedelan-ink), 0 0 0 2px var(--fedelan-line); }
.fedelan-radio-card__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.fedelan-radio-card__title { font-size: 15px; font-weight: 400; color: var(--fedelan-ink); letter-spacing: 0; text-transform: none; }
.fedelan-radio-card__desc { font-size: 13px; color: var(--fedelan-muted); }
.fedelan-radio-card__price { font-size: 15px; font-weight: 700; color: var(--fedelan-ink); margin-left: auto; white-space: nowrap; }
.fedelan-radio-card__price .fedelan-checkout-summary__discount, .fedelan-radio-card .fedelan-n { color: var(--fedelan-ink); }
.fedelan-payment-sub, .fedelan-shipping-zone-info {
    margin: 0 0 16px; padding: 16px 18px; border: 0; border-radius: 0; background: var(--fedelan-sand); font-size: 14px; color: var(--fedelan-ink);
}
.fedelan-checkout-address, .fedelan-checkout-shipping-address, .fedelan-checkout-other-person {
    margin: 0 0 16px; padding: 0; border: 0; border-radius: 0; background: transparent; font-size: 14px; color: var(--fedelan-ink);
}
.fedelan-checkout-address p, .fedelan-checkout-shipping-address p { margin: 0 0 4px; }
.fedelan-transfer-details, .fedelan-correo-grid__card { border: 0; border-radius: 0; background: var(--fedelan-sand); padding: 16px 18px; }
.fedelan-transfer-details b { font-weight: 700; }
.fedelan-correo-grid__cell input:checked + .fedelan-correo-grid__card { background: var(--fedelan-ink); color: var(--fedelan-paper); border: 0; box-shadow: none; }
.fedelan-correo-grid__header, .fedelan-correo-grid__label { font-size: 12px; font-weight: 700; color: var(--fedelan-muted); text-transform: uppercase; letter-spacing: 1px; }
.fedelan-correo-grid__card { text-align: center; font-size: 14px; font-weight: 700; transition: background var(--fedelan-dur) var(--fedelan-ease), color var(--fedelan-dur) var(--fedelan-ease); }
.fedelan-correo-grid__cell:hover .fedelan-correo-grid__card { box-shadow: inset 0 0 0 1px var(--fedelan-ink); }
.fedelan-checkout-next, .fedelan-checkout-pay,
.fedelan-checkout .fedelan-btn--primary {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    width: 100%; height: 54px; margin: 24px 0 0;
    border: 0; border-radius: var(--fedelan-radius-pill);
    background: var(--fedelan-ink); color: var(--fedelan-paper);
    font-family: var(--fedelan-font-display); font-variation-settings: "opsz" 14;
    font-size: 16px; font-weight: 700; letter-spacing: 0; text-transform: none; cursor: pointer;
    transition: background 0.15s ease;
}
.fedelan-checkout-next:hover, .fedelan-checkout-pay:hover { background: var(--fedelan-ink-soft); color: var(--fedelan-paper); }
.fedelan-checkout-next:disabled, .fedelan-checkout-pay:disabled { opacity: 0.4; cursor: not-allowed; }
.fedelan-checkout-pay__total { font-weight: 800; }
/* El aside se estira a todo el alto de la fila: con align-items:start del
   layout media lo que su contenido y el sticky de adentro no tenia por donde
   correr (K46). */
.fedelan-checkout-summary { position: static; align-self: stretch; }
.fedelan-checkout-summary__inner, .admin-bar .fedelan-checkout-summary__inner {
    position: sticky;
    top: calc(var(--fedelan-header-total-height) + 24px);
    border: 0;
    border-radius: var(--fedelan-radius-lg);
    background: var(--fedelan-sand);
    padding: 24px;
    box-shadow: none;
}
.fedelan-checkout-summary__title {
    font-family: var(--fedelan-font-display); font-variation-settings: "opsz" 96;
    font-size: 20px; font-weight: 800; letter-spacing: -0.02em; margin: 0 0 16px; text-transform: none;
}
.fedelan-checkout-summary__toggle { border: 0; background: transparent; font-weight: 700; font-size: 15px; color: var(--fedelan-ink); padding: 0; }
.fedelan-checkout-summary__items { display: flex; flex-direction: column; gap: 12px; margin: 0 0 16px; padding: 0 0 16px; border: 0; list-style: none; }
.fedelan-checkout-summary__item { display: grid; grid-template-columns: 56px 1fr auto; gap: 12px; align-items: center; border: 0; padding: 0; }
.fedelan-checkout-summary__item-img {
    width: 56px; height: 72px; border-radius: 0; background: var(--fedelan-paper);
    display: flex; align-items: flex-end; justify-content: center; overflow: hidden; padding: 4px 6px 0; border: 0;
}
.fedelan-checkout-summary__item-img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.fedelan-checkout-summary__item-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.fedelan-checkout-summary__item-name { font-size: 14px; font-weight: 700; color: var(--fedelan-ink); text-transform: none; letter-spacing: 0; }
.fedelan-checkout-summary__item-detail { font-size: 12px; color: var(--fedelan-muted); }
.fedelan-checkout-summary__item-price { font-size: 14px; font-weight: 600; color: var(--fedelan-ink); white-space: nowrap; }
.fedelan-checkout-summary__totals { border: 0; padding: 0; margin: 0; }
.fedelan-checkout-summary__row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 6px 0; font-size: 15px; color: #444; border: 0; }
.fedelan-checkout-summary__row--discount { color: var(--fedelan-ink); font-weight: 700; }
.fedelan-checkout-summary__discount, .js-manual-discount-amount { color: var(--fedelan-ink); font-weight: 700; }
.fedelan-checkout-summary__row--total {
    padding-top: 12px; margin-top: 6px; border: 0;
    font-family: var(--fedelan-font-display); font-variation-settings: "opsz" 96;
    font-size: 20px; font-weight: 800; letter-spacing: -0.02em; color: var(--fedelan-ink);
}
.fedelan-checkout-summary__total { font-family: inherit; font-size: inherit; font-weight: inherit; }
.fedelan-checkout-summary__coupon { margin: 14px 0 0; padding: 0; border: 0; }
.fedelan-coupon-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    height: 40px; padding: 0 18px; border: 0; border-radius: var(--fedelan-radius-pill);
    background: var(--fedelan-paper); color: var(--fedelan-ink); box-shadow: inset 0 0 0 2px var(--fedelan-ink);
    font-family: var(--fedelan-font-display); font-variation-settings: "opsz" 14; font-size: 14px; font-weight: 700;
    letter-spacing: 0; text-transform: none; cursor: pointer; text-decoration: none;
}
.fedelan-coupon-form { display: flex; gap: 8px; margin: 12px 0 0; }
.fedelan-coupon-form input { flex: 1; height: 44px; padding: 0 16px; border: 0; border-radius: var(--fedelan-radius-pill); background: var(--fedelan-paper); font-family: var(--fedelan-font-primary); font-size: 16px; }
.fedelan-coupon-form input:focus { outline: 0; box-shadow: inset 0 0 0 2px var(--fedelan-accent); }
.fedelan-coupon-apply {
    height: 44px; padding: 0 18px; border: 0; border-radius: var(--fedelan-radius-pill);
    background: var(--fedelan-ink); color: var(--fedelan-paper);
    font-family: var(--fedelan-font-display); font-weight: 700; font-size: 14px; cursor: pointer; text-transform: none; letter-spacing: 0;
}
.woocommerce-order, .woocommerce-order-received .woocommerce-order {
    max-width: 720px; margin: 40px auto 80px; padding: 32px; border: 0; border-radius: var(--fedelan-radius-lg); background: var(--fedelan-sand);
}
.woocommerce-order h2, .woocommerce-order h3 { font-size: 24px; font-weight: 800; letter-spacing: -0.02em; }
.woocommerce-order .woocommerce-order-overview { display: flex; flex-wrap: wrap; gap: 16px 28px; list-style: none; padding: 0; margin: 0 0 24px; border: 0; }
.woocommerce-order .woocommerce-order-overview li { border: 0; padding: 0; margin: 0; font-size: 13px; color: var(--fedelan-muted); }
.woocommerce-order .woocommerce-order-overview li strong { display: block; font-size: 15px; color: var(--fedelan-ink); }
.woocommerce-order table.shop_table { border: 0; border-collapse: separate; border-spacing: 0; }
.woocommerce-order table.shop_table th, .woocommerce-order table.shop_table td { border: 0; padding: 10px 12px; font-size: 14px; }
.woocommerce-order table.shop_table tfoot th, .woocommerce-order table.shop_table tfoot td { font-weight: 700; }
body.woocommerce-order-pay .woocommerce-notices-wrapper .woocommerce-error { border: 0; border-radius: var(--fedelan-radius); }

/* --------------------------------------------------------------------------
   10. Movimiento y responsive
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition: none !important; animation: none !important; }
}

@media (max-width: 1100px) {
    .fedelan-single-product-grid { grid-template-columns: minmax(0, 1fr) minmax(300px, 380px); gap: 32px; }
    .fedelan-checkout-layout { grid-template-columns: minmax(0, 1fr) 340px; gap: 32px; }
}

@media (max-width: 900px) {
    .fedelan-single-product-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-bottom: 48px; }
    .fedelan-single-gallery, .fedelan-gallery-main, .fedelan-gallery-item, .fedelan-single-details { min-width: 0; max-width: 100%; }
    .fedelan-gallery-main svg { max-width: 100%; }
    /* En una columna las miniaturas se van abajo, en fila. */
    .fedelan-single-gallery { display: block; position: static; }
    .fedelan-gallery-thumbs { flex-direction: row; overflow-x: auto; overflow-y: hidden; margin-top: var(--fedelan-gutter); }
    .fedelan-gallery-thumb { width: 56px; }
    .fedelan-compra, .fedelan-single-details form.cart { max-width: none; }
    .fedelan-single-title, h1.product_title { font-size: 34px; margin-top: 12px; }
    .fedelan-checkout-layout { grid-template-columns: 1fr; gap: 28px; padding-top: 24px; }
    .fedelan-checkout-summary { order: -1; }
    .fedelan-checkout-summary__inner, .admin-bar .fedelan-checkout-summary__inner { position: static; }
    .fedelan-checkout-summary__toggle { display: flex; }
}


@media (max-width: 760px) {
    body { font-size: 15px; }

    /* Portada en el telefono: el rotulo se achica y se pega al borde. */
    .fedelan-portada__rotulo { left: 16px; bottom: 16px; max-width: calc(100% - 32px); }
    .fedelan-portada__etiqueta { padding: 6px 10px; font-size: 10px; letter-spacing: 1.8px; }
    .fedelan-portada__nombre { padding: 7px 10px; font-size: 21px; }
    .fedelan-portada__ficha { padding: 8px 10px 10px; font-size: 13px; }
    .fedelan-portada__cta { margin-top: 10px; padding: 12px 16px; font-size: 11px; letter-spacing: 1.3px; }

    .fedelan-categories__grid, .fedelan-categories--count-4 .fedelan-categories__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .fedelan-categories__overlay { inset: auto auto 12px 12px; max-width: calc(100% - 24px); }
    /* Con la grilla en dos columnas el tile mide 175px: tres placas se comen la
       foto. La volanta es la linea que menos aporta, la categoria madre ya se
       entiende por el titulo de la seccion. */
    .fedelan-categories__title { padding: 7px 10px 9px; font-size: 18px; }


    .fedelan-archive-banner { padding: 24px var(--fedelan-container-padding) 4px; }
    .fedelan-archive-banner__title { font-size: 34px; }
    .fedelan-archive-toolbar { padding: 12px 0 20px; }
    .fedelan-archive-load-more { padding: 32px 0 48px; }
    .fedelan-shop-section { margin-bottom: 40px; }

    .fedelan-gallery-main .fedelan-brush--blobBig { top: 8%; height: 90%; }
    .fedelan-single-product-grid { padding-top: 12px; }
    .fedelan-price--single .fedelan-price__curva-value { font-size: 30px; }
    .fedelan-compra__color-list { gap: 10px; }

    .fedelan-filter-panel__content { width: 100vw; border-radius: 0; }

    .fedelan-checkout-step__title { font-size: 16px; }
    .fedelan-field-row, .fedelan-field-row--street { grid-template-columns: 1fr; }
    .fedelan-checkout-summary__inner, .admin-bar .fedelan-checkout-summary__inner { padding: 18px; border-radius: 0; }
    .fedelan-auth__container { margin: 0 auto; padding: 0; }
    .fedelan-auth__title { font-size: 26px; }
    .fedelan-footer { margin-top: 48px; padding: 26px 0 16px; }
    .fedelan-mobile-menu__panel { border-radius: 0; }
}

/* ==========================================================================
   11. Ajustes tras la primera pasada visual
   ========================================================================== */
/* WooCommerce le pinta un fondo y una sombra a cada li de la grilla. */
.woocommerce ul.products li.product { background: transparent !important; box-shadow: none !important; }

/* Portada: el cabezal ya esta dentro de un bloque con padding */
.fedelan-categories { margin-top: 56px; }
.fedelan-portada + .fedelan-categories, .fedelan-categories { margin-top: 96px; }
.fedelan-categories__item { aspect-ratio: 5 / 4; }
@media (max-width: 768px) {
    .fedelan-categories { margin-top: 48px; }
    .fedelan-categories--count-3 .fedelan-categories__grid { grid-template-columns: 1fr; }
    .fedelan-categories--count-3 .fedelan-categories__item { aspect-ratio: 16 / 10; }
    .fedelan-header__logo .fedelan-wordmark { font-size: 34px; }
}

/* Checkout: mismos botones que el resto del sitio, rectangulo negro de 60px */
.fedelan-field__link, .fedelan-checkout a.fedelan-field__link { margin-top: 8px; font-size: 13px; font-weight: 400; color: var(--fedelan-muted); text-decoration: underline; text-underline-offset: 3px; }
.fedelan-field__link:hover { color: var(--fedelan-ink); }
.fedelan-checkout .fedelan-btn.fedelan-checkout-next, .fedelan-checkout .fedelan-btn.fedelan-checkout-pay, .fedelan-checkout .fedelan-btn.fedelan-btn--primary, .fedelan-checkout-next, .fedelan-checkout-pay {
    height: 60px !important; padding: 0 28px !important; border-radius: 0 !important;
    font-family: var(--fedelan-font-primary) !important; font-size: 14px !important; font-weight: 700 !important;
    letter-spacing: 2px !important; text-transform: uppercase !important; background: var(--fedelan-ink) !important; color: var(--fedelan-paper) !important;
}
.fedelan-checkout .fedelan-btn.fedelan-checkout-next:hover, .fedelan-checkout .fedelan-btn.fedelan-checkout-pay:hover { background: var(--fedelan-ink-soft) !important; }

/* Cuenta: la base pinta el formulario para fondo oscuro, aca es arena */
.fedelan-auth .fedelan-auth__title, .fedelan-auth__title { color: var(--fedelan-ink); }
.fedelan-auth__field input[type="text"], .fedelan-auth__field input[type="email"], .fedelan-auth__field input[type="password"],
.fedelan-auth__field input[type="tel"], .fedelan-auth__password-wrapper input {
    height: 53px; padding: 15px 0 !important; border: 0 !important;
    border-bottom: 1px solid var(--fedelan-muted) !important; border-radius: 0 !important;
    background: transparent !important; color: var(--fedelan-ink) !important;
    font-size: 16px !important; box-shadow: none; -webkit-text-fill-color: var(--fedelan-ink);
}
.fedelan-auth__field input:-webkit-autofill, .fedelan-auth__field input:-webkit-autofill:hover, .fedelan-auth__field input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px var(--fedelan-paper) inset !important; -webkit-text-fill-color: var(--fedelan-ink) !important;
    border-bottom: 1px solid var(--fedelan-muted) !important;
}
.fedelan-auth__field input[type="text"]:focus, .fedelan-auth__field input[type="email"]:focus, .fedelan-auth__field input[type="password"]:focus, .fedelan-auth__password-wrapper input:focus {
    box-shadow: none; border: 0 !important; border-bottom: 2px solid var(--fedelan-ink) !important; padding-bottom: 14px !important;
}
.fedelan-auth__field input::placeholder { color: var(--fedelan-muted) !important; opacity: 0.8; }
.fedelan-auth__field label {
    color: var(--fedelan-muted); font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
}
/* La casilla de recordarme medía 18 de lado: la zona sensible es la etiqueta. */
.fedelan-auth__remember { margin: 4px 0 0; }
.fedelan-auth__remember label { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; color: var(--fedelan-muted); gap: 10px; cursor: pointer; }
.fedelan-auth__remember input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--fedelan-ink); border-radius: 0; flex: 0 0 auto; }
.fedelan-auth__links { gap: 0; margin-top: 22px; text-align: left; align-items: flex-start; }
/* 44 de alto sin separacion ocupan lo mismo que 40 con 4 (X9); el margen de
   arriba baja 2 porque el texto queda 2 mas abajo adentro del renglon. */
.fedelan-auth__links a, .fedelan-auth__links a:hover {
    display: inline-flex; align-items: center; min-height: 44px;
    font-size: 14px; font-weight: 400; color: var(--fedelan-ink); opacity: 1;
    text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px;
}
.fedelan-auth__links a:hover { text-decoration-thickness: 2px; }
.fedelan-auth__links a:focus, .fedelan-auth__links a:active { opacity: 1; }
.fedelan-auth__toggle-password { color: var(--fedelan-muted) !important; }
.fedelan-auth__toggle-password svg { stroke: currentColor; }

/* Los bloques de direccion ya no son un panel gris: separarlos con aire. */
.fedelan-checkout-address, .fedelan-checkout-shipping-address, .fedelan-checkout-other-person { margin-top: 24px; }
.fedelan-checkout-step__subtitle, .fedelan-checkout-address > .fedelan-checkout-step__subtitle {
    font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
    color: var(--fedelan-muted); margin: 0 0 14px;
}

/* Checkout y cuenta: campo de una sola linea, sin caja. Hay que igualar la
   especificidad de account.css, que trae los selectores con [type] adentro
   de .woocommerce. */
.woocommerce .fedelan-field__input-wrap input[type="text"], .woocommerce .fedelan-field__input-wrap input[type="email"], .woocommerce .fedelan-field__input-wrap input[type="tel"],
.woocommerce .fedelan-field__input-wrap input[type="password"], .woocommerce .fedelan-field__input-wrap input[type="number"], .woocommerce .fedelan-field__input-wrap select, .woocommerce .fedelan-field__input-wrap textarea,
.woocommerce-form-row .fedelan-field__input-wrap input[type="text"], .woocommerce-form-row .fedelan-field__input-wrap input[type="email"] {
    background: transparent; background-color: transparent;
    border: 0; border-bottom: 1px solid var(--fedelan-muted); border-radius: 0;
    height: 53px; padding: 15px 0; box-shadow: none; font-size: 16px;
}
.woocommerce .fedelan-field__input-wrap select { padding-right: 24px; }
.woocommerce .fedelan-field__input-wrap input:focus, .woocommerce .fedelan-field__input-wrap select:focus, .woocommerce .fedelan-field__input-wrap textarea:focus {
    background: transparent; background-color: transparent;
    border-bottom: 2px solid var(--fedelan-ink); padding-bottom: 14px; box-shadow: none; outline: 0;
}
.woocommerce .fedelan-field.is-invalid .fedelan-field__input-wrap input, .woocommerce .fedelan-field.is-invalid .fedelan-field__input-wrap select { box-shadow: none; border-bottom-color: var(--fedelan-err); }
.fedelan-coupon-apply, .fedelan-btn--small { text-transform: uppercase; letter-spacing: 1px; }
/* Cuenta: boton de entrar */
.fedelan-auth .fedelan-auth__submit, .fedelan-auth__submit, .woocommerce .fedelan-auth__submit, .woocommerce button.button.woocommerce-Button, .woocommerce-Button {
    font-family: var(--fedelan-font-primary) !important; font-size: 14px !important; font-weight: 700 !important;
    padding: 0 28px !important; height: 60px; letter-spacing: 2px !important; text-transform: uppercase !important; border-radius: 0 !important;
}

/* Portada: el body de la home tambien lleva el header fijo encima */
body.home { padding-top: var(--fedelan-header-total-height); }
/* Tienda: el banner de cada seccion ya esta dentro de la seccion con padding */
.fedelan-shop-section .fedelan-archive-banner, .fedelan-shop-section .fedelan-shop-section__banner { padding: 0 0 8px; margin: 0; }
.fedelan-shop-breadcrumbs { margin: 12px 0 8px; }
/* Cuenta: casilla de recordarme visible sobre arena */
.fedelan-auth__remember input[type="checkbox"] { appearance: auto; -webkit-appearance: auto; background: var(--fedelan-paper); box-shadow: none; border: 0; width: 20px; height: 20px; }
@media (max-width: 1024px) {
    .fedelan-checkout-summary { margin: 0 0 8px; }
}
/* Ficha: la foto principal centrada sobre la mancha */
.fedelan-single-gallery .fedelan-gallery-main .fedelan-gallery-link { display: flex; justify-content: center; align-items: flex-end; width: 100%; }
.fedelan-single-gallery .fedelan-gallery-item img { margin: 0 auto; }

/* ==========================================================================
   RESET TOTAL
   Capa final de la direccion aprobada el 13 de septiembre de 2026.
   Negro puro, blanco y grises. Esquina viva. Una sola tipografia. La
   jerarquia se hace con peso y con gris, no con tamaños grandes.
   Referencia medida: adidas.com.ar.
   ========================================================================== */

/* Base: negro puro y cuerpo en 16 sobre 22, como la referencia. */
body, .entry-content { font-size: 16px; line-height: 22px; color: var(--fedelan-ink); }

/* Nada de pincelada: si algun SVG sobrevive, no se muestra. */
.fedelan-brush, .fedelan-brush-defs { display: none !important; }

/* Grilla del catalogo. Dos columnas abajo de 700, tres hasta 1799 y cuatro de
   1800 para arriba, donde la caja pasa de 1440 a 1760 y deja de crecer: el
   ancho de mas se gasta en mas columnas, no en tarjetas mas anchas, asi en
   escritorio la tarjeta se queda entre 316 y 455 y siempre entran cuatro
   modelos o mas en pantalla. Dos columnas (lo que habia) daba una tarjeta de 685 a 1440: entraba
   un modelo y medio y recorrer Dama eran 55 pantallas.
   Lo que el cliente pidio ("todo mas grande, no se ve bien la ropa") se resuelve
   en la caja de la foto, mas abajo: la prenda pasa a ocupar el 73% de la tarjeta
   en vez del 56%. Ver docs/manual-ecommerce.md, seccion 3.
   La grilla es la lista (ul.products), nunca el envoltorio: con las dos en
   esta regla la lista entera caia en la primera de tres columnas. */
.fedelan-shop-section__row,
.woocommerce ul.products, .woocommerce-page ul.products {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px var(--fedelan-gutter);
}
@media (min-width: 1800px) {
    .fedelan-shop-section__row,
    .woocommerce ul.products, .woocommerce-page ul.products {
        grid-template-columns: repeat(4, 1fr);
    }
}
@media (max-width: 699px) {
    .fedelan-shop-section__row,
    .woocommerce ul.products, .woocommerce-page ul.products {
        grid-template-columns: repeat(2, 1fr);
    }
}
/* En la grilla de tres columnas la cuarta prenda de cada seccion quedaba sola
   en una fila: se muestra una fila justa (inc/shop.php trae cuatro). */
@media (min-width: 700px) and (max-width: 1799px) {
    .fedelan-shop-section__row > :nth-child(n+4) { display: none; }
}
/* Titulo de la seccion y "Ver todo." en la misma linea, sobre la base. */
.fedelan-shop-section__head {
    display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
}
.fedelan-shop-section__head .fedelan-shop-section__banner { flex: 0 1 auto; min-width: 0; }
.fedelan-shop-section__mas { flex: 0 0 auto; }


/* ==========================================================================
   La tarjeta de producto
   --------------------------------------------------------------------------
   Una sola tarjeta en todo el sitio: la dibuja fedelan_render_product_card()
   y esta es su unica hoja de estilo. Si hay que cambiar algo de la tarjeta,
   se cambia aca y en ningun otro archivo.

   Antes estaba escrita cuatro veces (archive.css, products.css y dos capas de
   este mismo archivo) y por eso el corazon media 32 en el carrusel de la
   portada y 20 en el catalogo: ganaba products.css por especificidad en un
   lado y este archivo por orden de carga en el otro.

   El carrusel y las filas de la portada agregan fedelan-products__item o
   fedelan-fila__item AL MISMO div, no adentro: esas clases son para ubicar la
   tarjeta en su riel, nunca para pintarla por dentro.
   ========================================================================== */
.fedelan-archive-item { position: relative; }
.fedelan-archive-item__link { display: block; color: inherit; text-decoration: none; }

/* Marco negro al pasar el mouse, con un aro blanco por dentro. Va en
   pseudoelementos para que no mueva el layout. */
.fedelan-archive-item::after,
.fedelan-archive-item::before {
    content: ""; position: absolute; z-index: 4; pointer-events: none;
    border: 1px solid transparent;
    transition: border-color var(--fedelan-dur) var(--fedelan-ease);
}
.fedelan-archive-item::after { inset: -1px; }
.fedelan-archive-item::before { inset: 0; }
.fedelan-archive-item:hover::after { border-color: var(--fedelan-ink); }
.fedelan-archive-item:hover::before { border-color: var(--fedelan-paper); }

/* --- La foto ------------------------------------------------------------ */
/* Cuadrada por defecto, que es como queda en la portada. */
/* La caja es 2:3 en todo el sitio. Las fotos son recortes muy finos (0,31 de
   ancho por cada 1 de alto): en un cuadrado la prenda quedaba en un tercio
   del ancho. Antes la portada era cuadrada y el catalogo 2:3, y eran dos
   tarjetas distintas. */
.fedelan-archive-item__image {
    position: relative;
    aspect-ratio: 2 / 3;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: var(--fedelan-sand);
}

/* Cada foto va en absoluto dentro de su lugar en la fila. El alto de la caja
   lo pone el aspect-ratio y no la foto: una foto en el flujo se estiraba a su
   alto natural (1418 en vez de 682) y el recorte la cortaba. Lleva la caja adelante en el selector porque WooCommerce y GeneratePress
   tiran reglas sueltas sobre img y hay que pasarles por arriba sin
   !important. */
.fedelan-archive-item__image .fedelan-archive-item__photo {
    position: absolute;
    inset: auto;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    display: block;
    /* La foto se ancla arriba y se pasa del alto de la caja: entra la prenda
       de la cabeza a la rodilla y se corta el resto. Las 158 fotos son recortes
       de cuerpo entero con proporcion entre 0,235 y 0,444 (mediana 0,311): con
       la foto entera adentro de la caja la prenda ocupaba poco mas de la mitad
       del ancho y el resto era campo gris. Con este alto llega al 73% y el
       encuadre queda igual en todas las tarjetas. Ese, y no el tamano de la
       tarjeta, era el "no se ve bien la ropa" del cliente. */
    height: var(--fedelan-foto-alto, 130%);
    width: auto;
    max-width: 100%;
    padding: 0;
    box-sizing: border-box;
    object-fit: contain;
    object-position: top center;
    -webkit-user-drag: none;
    user-select: none;
}
/* La fila de fotos: una por ancho de tarjeta, con encastre. Scrollea de
   costado con el dedo o el trackpad; las flechas y el teclado la mueven desde
   card.js. overscroll-behavior para que el ultimo deslizamiento no se lleve
   la pagina para atras en el telefono. */
.fedelan-archive-item__fotos {
    position: absolute; inset: 0;
    display: flex;
    overflow-x: auto; overflow-y: hidden;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
}
.fedelan-archive-item__fotos::-webkit-scrollbar { display: none; }
.fedelan-archive-item__foto {
    position: relative;
    flex: 0 0 100%;
    height: 100%;
    overflow: hidden;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}
.fedelan-archive-item--soldout .fedelan-archive-item__photo { opacity: 0.55; }

/* --- Etiqueta y favoritos ----------------------------------------------- */
.fedelan-archive-item__chip {
    position: absolute; left: 0; top: 0; z-index: 3;
    padding: 4px 8px; transform: none;
    background: var(--fedelan-ink); color: var(--fedelan-paper);
    font-family: var(--fedelan-font-primary); font-size: 12px; font-weight: 700;
    line-height: 1; letter-spacing: 1px; text-transform: uppercase;
}
.fedelan-archive-item__chip--off { background: var(--fedelan-field-2); color: var(--fedelan-muted); }
/* Ya esta en el pedido. Es un estado, como el descuento o el sin stock, y va
   con ellos arriba a la izquierda: si hay otra etiqueta, justo abajo (las
   etiquetas miden 20, 12 de letra y 4 de aire arriba y abajo). Las esquinas
   de abajo son de las fotos y del agregado rapido. */
.fedelan-archive-item__chip--carrito {
    background: var(--fedelan-paper); color: var(--fedelan-ink);
    box-shadow: inset 0 0 0 1px var(--fedelan-ink);
}
.fedelan-archive-item__chip:not(.fedelan-archive-item__chip--carrito) ~ .fedelan-archive-item__chip--carrito { top: 20px; }
.fedelan-archive-item--en-carrito .fedelan-archive-item__image { box-shadow: inset 0 0 0 2px var(--fedelan-ink); }

/* Cual de las fotos se ve: un cuadrado por foto, el negro es la actual. Va
   abajo a la izquierda: la esquina de la derecha es del agregado rapido. En
   escritorio sale con el mouse arriba; en tactil siempre, es lo unico que
   avisa que la foto se pasa con el dedo. */
.fedelan-archive-item__puntos {
    /* Al medio: la esquina de la izquierda es de la etiqueta de la curva o el
       pack (estructura de Mango, 1 nov 2026) y la de la derecha del +. */
    position: absolute; left: 50%; bottom: 0; z-index: 3; transform: translateX(-50%);
    display: flex; gap: 5px; padding: 8px 9px;
    background: var(--fedelan-paper);
    pointer-events: none;
    opacity: 0; transition: opacity var(--fedelan-dur) var(--fedelan-ease);
}
.fedelan-archive-item__puntos i {
    display: block; width: 8px; height: 8px;
    background: var(--fedelan-muted-2);
    transition: background var(--fedelan-dur) var(--fedelan-ease);
}
.fedelan-archive-item__puntos i.is-actual { background: var(--fedelan-ink); }
.fedelan-archive-item:not([data-foto]) .fedelan-archive-item__puntos i:first-child { background: var(--fedelan-ink); }
.fedelan-archive-item:hover .fedelan-archive-item__puntos,
.fedelan-archive-item:has(:focus-visible) .fedelan-archive-item__puntos { opacity: 1; }
@media (hover: none) {
    .fedelan-archive-item__puntos { opacity: 1; }
}
@media (max-width: 600px) {
    .fedelan-archive-item__puntos { gap: 4px; padding: 6px 7px; }
    .fedelan-archive-item__puntos i { width: 6px; height: 6px; }
}

/* Las flechas: solo con mouse, a media altura de la foto. En la primera foto
   no hay para atras y en la ultima no hay para adelante. */
.fedelan-archive-item__flecha {
    position: absolute; top: 50%; z-index: 5;
    width: 40px; height: 40px; padding: 0; margin-top: -20px;
    display: none; align-items: center; justify-content: center;
    border: 0; border-radius: 0; box-shadow: none;
    background: var(--fedelan-paper); color: var(--fedelan-ink);
    cursor: pointer;
    opacity: 0;
    transition: opacity var(--fedelan-dur) var(--fedelan-ease),
                background var(--fedelan-dur) var(--fedelan-ease),
                color var(--fedelan-dur) var(--fedelan-ease);
}
.fedelan-archive-item__flecha svg { width: 20px; height: 20px; }
.fedelan-archive-item__flecha--antes { left: 0; }
.fedelan-archive-item__flecha--despues { right: 0; }
@media (hover: hover) {
    .fedelan-archive-item__flecha { display: inline-flex; }
    .fedelan-archive-item:hover .fedelan-archive-item__flecha { opacity: 1; }
    .fedelan-archive-item__flecha:hover,
    .fedelan-archive-item__flecha:focus-visible { background: var(--fedelan-ink); color: var(--fedelan-paper); }
    .fedelan-archive-item__flecha:active { background: var(--fedelan-ink-soft); color: var(--fedelan-paper); }
    /* En la punta la flecha se vuelve invisible pero sigue ahi: con
       visibility el click siguiente caia en el link y abria la ficha. */
    .fedelan-archive-item.fedelan-archive-item--primera .fedelan-archive-item__flecha--antes,
    .fedelan-archive-item.fedelan-archive-item--ultima .fedelan-archive-item__flecha--despues { opacity: 0; cursor: default; }
}

/* En el riel (Mas vendidos, relacionados) la tarjeta ya esta adentro de algo
   que se desliza de costado: si la foto tambien scrolleara, el dedo moveria
   la foto en vez del riel. Ahi las fotos solo las pasan las flechas. */
/* overscroll auto: si no, la fila de fotos (que sigue siendo una caja con
   scroll) se quedaba con el gesto y el riel no se movia. */
.fedelan-products__item .fedelan-archive-item__fotos { overflow-x: hidden; overscroll-behavior-x: auto; }
@media (hover: none) {
    .fedelan-products__item .fedelan-archive-item__puntos { display: none; }
}

/* El foco por teclado tiene que ver lo mismo que el mouse: el marco y los
   cuadrados de las fotos (las fotos se pasan con las flechas del teclado). Con
   :focus-visible y no :focus-within: despues de tocar el corazon con el mouse
   el boton se queda con el foco, y la tarjeta seguia con el marco aunque el
   mouse ya se hubiera ido. */
.fedelan-archive-item:has(:focus-visible)::after { border-color: var(--fedelan-ink); }
.fedelan-archive-item:has(:focus-visible)::before { border-color: var(--fedelan-paper); }

/* La capa de los botones: afuera del link de la tarjeta (T7), mide lo mismo
   que la foto (ancho entero y 2:3) y no se lleva los clicks; los botones si. */
.fedelan-archive-item__acciones {
    position: absolute; top: 0; left: 0; right: 0; z-index: 5;
    aspect-ratio: 2 / 3;
    pointer-events: none;
}
.fedelan-archive-item__acciones > * { pointer-events: auto; }

.fedelan-archive-item__wishlist {
    position: absolute; right: 0; top: 0; z-index: 5;
    width: 52px; height: 52px; padding: 0;
    display: inline-flex; align-items: center; justify-content: center;
    border: 0; border-radius: 0; box-shadow: none;
    background: transparent; color: var(--fedelan-ink);
    cursor: pointer;
    transition: transform var(--fedelan-dur) var(--fedelan-ease),
                background var(--fedelan-dur) var(--fedelan-ease);
}
/* Fran lo vio chico a 24 (26 sep 2026): 30 en escritorio, 26 en el telefono. */
.fedelan-archive-item__wishlist svg { width: 30px; height: 30px; stroke: currentColor; fill: none; }
.fedelan-archive-item__wishlist.active svg { fill: var(--fedelan-ink); }
/* Con el mouse arriba solo crece: el fondo y el color no cambian, el
   corazon negro se lee sobre el campo gris y sobre la foto. */
.fedelan-archive-item__wishlist:hover,
.fedelan-archive-item__wishlist:focus,
.fedelan-archive-item__wishlist:active { background: transparent; color: var(--fedelan-ink); }
.fedelan-archive-item__wishlist:hover { transform: scale(1.12); }
.fedelan-archive-item__wishlist:active { transform: scale(0.94); }
.fedelan-archive-item__wishlist:focus-visible { outline: 2px solid var(--fedelan-accent); outline-offset: 2px; }

/* El agregado rapido: abre el formulario de la ficha en un panel
   (inc/compra-rapida.php). Siempre a la vista, no solo con hover: en tactil
   el hover no existe (T11). Cuadrado blanco con la cruz en negro, como las
   etiquetas; al pasar el mouse se invierte, como los botones del sitio. */
.fedelan-archive-item__rapida,
.fedelan-archive-item__rapida:focus {
    position: absolute; right: 0; bottom: 0; z-index: 5;
    width: 44px; height: 44px; padding: 0;
    display: inline-flex; align-items: center; justify-content: center;
    border: 0; border-radius: 0; box-shadow: none;
    background: var(--fedelan-paper); color: var(--fedelan-ink);
    cursor: pointer;
    transition: background var(--fedelan-dur) var(--fedelan-ease), color var(--fedelan-dur) var(--fedelan-ease);
}
.fedelan-archive-item__rapida svg { width: 22px; height: 22px; stroke: currentColor; fill: none; }
.fedelan-archive-item__rapida:hover { background: var(--fedelan-ink); color: var(--fedelan-paper); }
.fedelan-archive-item__rapida:focus-visible { outline: 2px solid var(--fedelan-accent); outline-offset: 2px; }

/* Como se vende: "Curva x11", abajo a la izquierda de la foto, en negro. */
.fedelan-archive-item__modo {
    position: absolute; left: 12px; bottom: 12px; z-index: 3;
    padding: 5px 10px;
    background: var(--fedelan-ink); color: var(--fedelan-paper);
    font-family: var(--fedelan-font-primary); font-size: 12px; font-weight: 700;
    line-height: 1; letter-spacing: 1px; text-transform: uppercase;
    pointer-events: none;
}
@media (max-width: 600px) {
    .fedelan-archive-item__modo { left: 8px; bottom: 8px; padding: 4px 6px; font-size: 10px; letter-spacing: 0.6px; }
}

/* --- El texto ------------------------------------------------------------ */
/* Todo en 14: la jerarquia la hacen el peso y el gris, no el tamaño. */
.fedelan-archive-item__info { padding: 10px 0 0; background: transparent; text-align: left; }
.fedelan-archive-item__name,
.fedelan-archive-item__name a {
    font-family: var(--fedelan-font-primary);
    font-size: 14px; font-weight: 700; letter-spacing: 0; line-height: 20px;
    margin: 0; padding: 0; color: var(--fedelan-ink);
    text-transform: none; text-decoration: none;
}
.fedelan-archive-item__desc { font-size: 13px; line-height: 18px; color: var(--fedelan-muted); margin: 2px 0 0; }
/* La fila de precios, abajo de una linea: la prenda a la izquierda y la curva
   o el pack a la derecha, cada uno con su rotulo chico ("c/u", "la curva"). */
.fedelan-archive-item__precios {
    display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; column-gap: 10px;
    margin: 10px 0 0; padding: 8px 0 0; border-top: 1px solid var(--fedelan-line);
    font-size: 14px; line-height: 20px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--fedelan-ink);
}
.fedelan-archive-item__precios .fedelan-archive-item__price { display: inline; }
.fedelan-archive-item__total { white-space: nowrap; }
.fedelan-archive-item__por { font-size: 12px; font-weight: 400; color: var(--fedelan-muted); }
/* Flex con column-gap y no margin-left en el Art.: cuando no entra en el
   renglon baja alineado al borde, sin la sangria de 10 px que le dejaba el
   margen. */
.fedelan-archive-item__meta { display: flex; flex-wrap: wrap; column-gap: 10px; font-size: 14px; line-height: 20px; color: var(--fedelan-muted); margin: 0; }

/* Nombre y precio comparten la linea; el precio viejo va tachado al lado. */
.fedelan-archive-item__head {
    display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
}
.fedelan-archive-item__head .fedelan-archive-item__name { min-width: 0; }
.fedelan-archive-item__price {
    display: block;
    font-size: 14px; line-height: 20px; font-weight: 700;
    font-variant-numeric: tabular-nums; color: var(--fedelan-ink);
}
.fedelan-archive-item__head .fedelan-archive-item__price { flex: 0 0 auto; white-space: nowrap; }
.fedelan-archive-item__price--sale { color: var(--fedelan-sale); }
/* El precio viejo. La diferencia la hace el tamano, no bajarle el contraste:
   --fedelan-muted da 5,53 sobre blanco y sigue pasando AA. */
.fedelan-precio-antes {
    font-size: 12px; font-weight: 400; margin-left: 6px;
    color: var(--fedelan-muted); text-decoration: line-through;
}

/* Puntos de color. */
.fedelan-dots { display: flex; gap: 6px; margin: 8px 0 0; align-items: center; }
.fedelan-dots i {
    width: 12px; height: 12px; border-radius: 0;
    background-size: cover; background-position: center;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.14);
    display: block;
}
.fedelan-dots em { font-style: normal; font-size: 12px; color: var(--fedelan-muted); }

/* --- Lo que hay que sacarle a WooCommerce -------------------------------- */
/* En la grilla de la tienda, WooCommerce pinta la tarjeta con selectores de
   tres niveles (.woocommerce ul.products li.product ...) que le ganan a
   cualquier clase suelta. Se los desarma aca, en un solo lugar y solo para la
   tarjeta, en vez de repartir !important por todos lados. */
.woocommerce ul.products li.product a img.fedelan-archive-item__photo {
    /* Mismo alto y mismo ancho que arriba: este selector le gana por
       especificidad a la regla de la tarjeta, asi que si no repite la medida
       se come el recorte y la prenda vuelve a quedar chica. */
    width: auto; height: var(--fedelan-foto-alto, 130%); max-width: 100%;
    margin: 0; box-shadow: none;
}
/* Fotos de estudio (las de Mango, issue #20): traen su fondo, asi que van a
   sangre y ancladas arriba, de la cabeza a la rodilla. El recorte de arriba
   sigue para las fotos transparentes. Repite el selector de WooCommerce por
   la misma razon que el bloque anterior. */
.fedelan-archive-item--estudio .fedelan-archive-item__image .fedelan-archive-item__photo,
.woocommerce ul.products li.product .fedelan-archive-item--estudio img.fedelan-archive-item__photo {
    top: 0; left: 0; transform: none;
    width: 100%; height: 100%; max-width: none;
    object-fit: cover; object-position: top center;
}
.woocommerce ul.products li.product h3.fedelan-archive-item__name {
    font-size: 14px; padding: 0;
}

@media (max-width: 760px) {
    .fedelan-archive-item__chip { font-size: 10px; padding: 3px 6px; letter-spacing: 0.6px; }
    /* El icono se achica, la zona sensible sigue en 44 o mas (X9). */
    .fedelan-archive-item__wishlist { width: 48px; height: 48px; }
    .fedelan-archive-item__wishlist svg { width: 26px; height: 26px; }
}
@media (max-width: 600px) {
    /* En dos columnas el nombre y el precio no entran en una linea. */
    .fedelan-archive-item__head { display: block; }
    .fedelan-archive-item__head .fedelan-archive-item__price { margin-top: 2px; }
    .fedelan-archive-item__meta { font-size: 12.5px; line-height: 18px; }
    /* En dos columnas los dos precios van uno abajo del otro. */
    .fedelan-archive-item__precios { display: block; font-size: 13px; line-height: 19px; }
    .fedelan-archive-item__precios > span { display: block; }
}

/* Titulos: mayusculas solo en titulo de pagina y de seccion. */
.fedelan-archive-banner__title,
body.woocommerce-account .entry-header .entry-title, .fedelan-404 h1, .fedelan-404__title {
    font-size: clamp(30px, 4vw, 46px); font-weight: 700; letter-spacing: 0;
    line-height: 1.02; text-transform: uppercase;
}
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3 {
    font-size: clamp(24px, 2.6vw, 32px); font-weight: 700; letter-spacing: 0; text-transform: uppercase;
}

/* Ficha: titulo de 24, precio de 16, el resto en 14. */
.fedelan-single-title, h1.product_title {
    font-size: 24px; font-weight: 700; letter-spacing: 0; line-height: 1.15;
    margin: 8px 0 0; text-transform: none;
}
.fedelan-price--single { font-size: 16px; line-height: 22px; }
.fedelan-price--single .fedelan-price__curva-value { font-size: 16px; font-weight: 700; letter-spacing: 0; }
.fedelan-price--single .fedelan-precio-antes { font-size: 12px; margin: 0 0 0 6px; }
.fedelan-price--single .fedelan-price__curva-label,
.fedelan-price--single .fedelan-price__unit,
.fedelan-price--single .fedelan-price__unit-label { font-size: 14px; color: var(--fedelan-muted); }
/* El total del formulario entra en la misma escala: a 22 y 800 era el numero
   mas grande de la ficha y le ganaba al precio (manual E1). */
.fedelan-compra__resumen-total { font-size: 16px; font-weight: 700; letter-spacing: 0; font-variation-settings: normal; }
.fedelan-compra__resumen-texto { font-size: 14px; }
.fedelan-single-details .fedelan-discount-badge--inline,
.fedelan-discount-badge {
    background: var(--fedelan-ink); color: var(--fedelan-paper); border-radius: 0;
    font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; padding: 4px 8px;
}
.fedelan-gallery-main { background: var(--fedelan-sand); }
.fedelan-gallery-thumb { background: var(--fedelan-sand); }
.fedelan-gallery-thumb.is-active { box-shadow: inset 0 0 0 2px var(--fedelan-ink); }

/* Botones: rectangulo, texto de 14 en 700 con 2 px de tracking. */
.fedelan-compra__submit, .fedelan-btn, .fedelan-cart-drawer__checkout-btn,
.fedelan-auth__submit, .woocommerce-Button, .woocommerce button.button.woocommerce-Button,
.woocommerce-MyAccount-content .button, .woocommerce-EditAccountForm .button,
.fedelan-404__search button {
    height: 60px; border-radius: 0; font-family: var(--fedelan-font-primary);
    font-size: 14px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
    transition: background var(--fedelan-dur) var(--fedelan-ease), color var(--fedelan-dur) var(--fedelan-ease);
}
.fedelan-compra__submit:hover, .fedelan-cart-drawer__checkout-btn:hover { background: var(--fedelan-ink-soft); }

/* Campos: solo borde inferior, 53 de alto. */
.fedelan-field input[type="text"], .fedelan-field input[type="email"], .fedelan-field input[type="tel"],
.fedelan-field input[type="password"], .fedelan-field input[type="number"], .fedelan-field select,
.fedelan-auth input[type="text"], .fedelan-auth input[type="email"], .fedelan-auth input[type="password"],
.woocommerce-MyAccount-content input[type="text"], .woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="tel"], .woocommerce-MyAccount-content input[type="password"],
.fedelan-404__search input[type="search"] {
    height: 53px; padding: 15px 0; border: 0; border-bottom: 1px solid var(--fedelan-muted);
    border-radius: 0; background: transparent; color: var(--fedelan-ink);
    font-family: var(--fedelan-font-primary); font-size: 16px;
    transition: border-color var(--fedelan-dur) var(--fedelan-ease);
}
.fedelan-field input:focus, .fedelan-auth input:focus, .woocommerce-MyAccount-content input:focus,
.fedelan-404__search input[type="search"]:focus {
    outline: none; border-bottom: 2px solid var(--fedelan-accent); padding-bottom: 14px;
}
.fedelan-field label, .fedelan-auth label, label.lb {
    font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--fedelan-muted);
}

/* Talles y colores: chips de 80 por 40, agotado tachado. */
.fedelan-compra__colores--texto .fedelan-color__name,
.fedelan-color__name {
    min-width: 80px; min-height: 44px; padding: 0 12px; border-radius: 0;
    background: var(--fedelan-sand); color: var(--fedelan-ink);
    font-size: 14px; font-weight: 400; letter-spacing: 0; text-transform: none;
    display: inline-flex; align-items: center; justify-content: center;
    transition: box-shadow var(--fedelan-dur) var(--fedelan-ease), background var(--fedelan-dur) var(--fedelan-ease);
}


/* Header: iconos sin circulo, buscador sin pastilla. */
.fedelan-header__icon { background: transparent !important; border-radius: 0; }
.fedelan-header__icon:hover { background: var(--fedelan-sand) !important; }
.fedelan-header__search input[type="search"] {
    border-radius: 0 !important; background: var(--fedelan-sand) !important;
    padding: 0 16px 0 42px !important;
}
.fedelan-header__cart-count { border-radius: 0; }
.fedelan-header__topbar { background: var(--fedelan-ink); color: var(--fedelan-paper); }
/* La cinta de arriba. Las frases van una atras de otra en un ritmo parejo, no
   repartidas por toda la pantalla: antes cada grupo medía 100vw y las tres se
   separaban con space-around, y quedaban 160px de negro entre una y otra. */
.fedelan-header__topbar-group { min-width: 0; justify-content: flex-start; }
.fedelan-header__topbar-item {
    display: flex; align-items: center; padding: 0;
    color: var(--fedelan-paper);
    font-size: 11px; font-weight: 500; letter-spacing: 1.6px; text-transform: uppercase;
}
/* El punto ES el hueco: 34 de cada lado, asi cae justo en el medio entre una
   frase y la otra. Antes tenia 28 de un lado y 274 del otro, y por eso se leia
   como parte de la frase anterior en vez de como separador. El margen de abajo
   que lo subia 2px sobre el centro se va con este margin. */
.fedelan-header__topbar-item::after {
    width: 4px; height: 4px; flex: 0 0 auto; border-radius: 0;
    margin: 0 34px; background: var(--fedelan-paper); opacity: .45;
}
@media (max-width: 760px) {
    .fedelan-header__topbar-item { font-size: 10px; letter-spacing: 1.2px; }
    .fedelan-header__topbar-item::after { margin: 0 24px; }
}

/* --------------------------------------------------------------------------
   El pie. Referencia que pidio el cliente.
   Blanco con un filete negro arriba y cuatro columnas: la marca con las
   redes, Tienda, Informacion y Contacto; abajo los medios de pago, los datos
   del proveedor y la linea legal. El markup esta en inc/footer.php.
   -------------------------------------------------------------------------- */
.fedelan-footer { position: relative; border-radius: 0; background: var(--fedelan-paper); border-top: 1px solid var(--fedelan-ink); padding: 40px 0 24px; margin-top: 64px; }
.fedelan-footer__content {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    align-items: start;
}
.fedelan-footer__brand { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
/* El padding lleva el link a 44 o mas (X9) y el margen negativo lo devuelve:
   el nombre queda en el mismo lugar. */
.fedelan-footer__logo { display: block; padding: 8px 0; margin: -8px 0 10px; }
.fedelan-footer__logo .fedelan-wordmark {
    font-variation-settings: "opsz" 144;
    font-size: clamp(34px, 3.4vw, 48px);
    line-height: 0.8;
    letter-spacing: -0.025em;
}
/* Iconos de 30 px con area tactil de 44: el padding de 7 se come con el
   margen negativo, asi el dibujo no se mueve. */
.fedelan-footer__social { display: flex; gap: 4px; margin: -7px; }
.fedelan-footer__social-link { color: var(--fedelan-ink); padding: 7px; }
.fedelan-footer__social-link svg { width: 30px; height: 30px; display: block; }
.fedelan-footer__social-link:hover { color: var(--fedelan-muted); }
.fedelan-footer__social-link:active { color: var(--fedelan-muted-2); }
/* Sin la cuenta cargada en Ajustes el icono sale apagado y no es un link, asi
   se ve el diseño terminado sin que nadie haga clic en algo que no va a nada. */
.fedelan-footer__social-link--off { color: var(--fedelan-muted-2); cursor: default; }

.fedelan-footer__col { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.fedelan-footer__col-title {
    display: block;
    font-size: 11px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase;
    color: var(--fedelan-ink); margin-bottom: 10px;
}
.fedelan-footer__col a {
    font-size: 15px; line-height: 1.3; font-weight: 500; padding: 7px 0;
    color: var(--fedelan-ink); text-decoration: none; text-transform: uppercase; letter-spacing: 0.3px;
}
.fedelan-footer__col a:hover { color: var(--fedelan-muted); }
.fedelan-footer__contacto {
    display: inline-flex; align-items: flex-start; gap: 10px;
    font-size: 14px; line-height: 20px; padding: 6px 0; color: var(--fedelan-ink); text-decoration: none;
}
.fedelan-footer__col a.fedelan-footer__contacto { text-transform: none; letter-spacing: 0; font-weight: 400; font-size: 14px; line-height: 20px; padding: 6px 0; }
.fedelan-footer__contacto svg { width: 20px; height: 20px; flex: 0 0 auto; }

.fedelan-footer__legal {
    max-width: none;
    margin: 20px 0 0;
    padding: 12px var(--fedelan-container-padding) 0;
    border-top: 1px solid var(--fedelan-line);
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 20px;
    flex-wrap: wrap;
}
.fedelan-footer__legal p { margin: 0; font-size: 11px; letter-spacing: 0.6px; text-transform: uppercase; color: var(--fedelan-muted); }
.fedelan-footer__legal a { color: var(--fedelan-muted); text-decoration: none; }
.fedelan-footer__legal a:hover { color: var(--fedelan-ink); }
/* El link es inline y mide 12 de alto: el padding vertical agranda la zona
   sensible a 44 sin mover el renglon (X9). */
.fedelan-footer__legal .fedelan-footer__credit a { font-weight: 600; padding: 16px 0; }

@media (max-width: 900px) {
    .fedelan-footer__content { grid-template-columns: 1fr 1fr; gap: 28px 24px; }
    .fedelan-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
    .fedelan-footer__content { grid-template-columns: 1fr; gap: 24px; }
}

.fedelan-mobile-menu__logo { display: inline-flex; align-items: center; min-height: 44px; }

/* Movimiento: una sola curva en todo el sitio. */
.fedelan-header__icon {
    transition: color var(--fedelan-dur) var(--fedelan-ease), background var(--fedelan-dur) var(--fedelan-ease);
}

@media (max-width: 768px) {
    .fedelan-single-title, h1.product_title { font-size: 22px; }
    .fedelan-compra__submit, .fedelan-btn, .fedelan-cart-drawer__checkout-btn { height: 56px; letter-spacing: 1.5px; }
}
@media (max-width: 600px) {
    .fedelan-archive-breadcrumbs a, .fedelan-shop-breadcrumbs a, .fedelan-single-breadcrumbs a {
        display: inline-flex; align-items: center; min-height: 44px; padding: 0;
    }
    .fedelan-shop-section__row,
    .woocommerce ul.products, .woocommerce-page ul.products { gap: 28px var(--fedelan-gutter); }
}


.fedelan-price--single .fedelan-price__curva-value--sale { color: var(--fedelan-sale); }
/* Links que antes llevaban subrayado pintado. */
.fedelan-lnk, .fedelan-single-note a, .fedelan-footer__credit a {
    text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px;
}
.fedelan-lnk:hover { text-decoration-thickness: 2px; }

/* Campos del checkout. */
.fedelan-field__input-wrap input, .fedelan-field__input-wrap select,
.fedelan-checkout .fedelan-field__input-wrap input, .fedelan-checkout .fedelan-field__input-wrap select,
.woocommerce .fedelan-field__input-wrap input, .woocommerce .fedelan-field__input-wrap select,
.woocommerce .fedelan-field__input-wrap textarea, .fedelan-field__input-wrap textarea,
.fedelan-field.is-valid .fedelan-field__input-wrap input, .fedelan-field.is-valid .fedelan-field__input-wrap select {
    height: 53px; padding: 15px 0; border: 0; border-bottom: 1px solid var(--fedelan-muted);
    border-radius: 0; background: transparent; color: var(--fedelan-ink);
    font-family: var(--fedelan-font-primary); font-size: 16px;
    box-shadow: none;
    transition: border-color var(--fedelan-dur) var(--fedelan-ease);
}
.fedelan-field__input-wrap select { padding-right: 24px; }
.fedelan-field__input-wrap textarea { height: auto; min-height: 120px; resize: vertical; }
.fedelan-field__input-wrap input:focus, .fedelan-field__input-wrap select:focus, .fedelan-field__input-wrap textarea:focus,
.woocommerce .fedelan-field__input-wrap input:focus, .woocommerce .fedelan-field__input-wrap select:focus,
.fedelan-field.is-valid .fedelan-field__input-wrap input:focus, .fedelan-field.is-valid .fedelan-field__input-wrap select:focus {
    outline: none; border-bottom: 2px solid var(--fedelan-accent); padding-bottom: 14px; box-shadow: none; background: transparent;
}
.fedelan-field.is-valid .fedelan-field__input-wrap input { border-bottom-color: var(--fedelan-ok); }
.fedelan-field.is-error .fedelan-field__input-wrap input { border-bottom-color: var(--fedelan-err); }
.fedelan-field label {
    font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--fedelan-muted);
}
/* Resumen del checkout y del carrito: bloque gris sin esquinas. */
.fedelan-checkout-summary { border-radius: 0; }
.fedelan-checkout-summary { background: var(--fedelan-sand); }
.fedelan-checkout-summary__item img { background: var(--fedelan-sand); border-radius: 0; }

/* Links sueltos que no van dentro de un parrafo: la zona sensible llega a 40,
   aunque el texto siga midiendo 22. */
.fedelan-single-note .fedelan-lnk {
    display: inline-flex; align-items: center; min-height: 44px;
    /* 44 de zona sensible (X9); el margen negativo devuelve los 4 de mas
       para que el renglon quede donde estaba. */
    margin-top: -2px; margin-bottom: -2px;
}

/* Tablet vertical: la ficha se partia en una sola columna a los 900 y la foto
   se comia la pantalla entera, con el precio y los talles fuera de vista.
   Entre 700 y 900 vuelven las dos columnas, ahora a mitades iguales. */
@media (max-width: 900px) and (min-width: 700px) {
    .fedelan-single-product-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; }
}

/* Fichas de talle: apenas la columna se angosta pasan a grilla, asi todas
   miden lo mismo y la fila se completa en vez de dejar una ficha colgada. */
@media (max-width: 900px) {
    .fedelan-talles { display: grid; grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 6px; }
    .fedelan-talles--mezcla { grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); }
    .fedelan-talle { min-width: 0; }
    .fedelan-talle--stepper { justify-content: space-between; }
}

/* El aviso de arriba de cada boton de confirmar: terminos y arrepentimiento. */
.fedelan-checkout__legal { font-size: 13px; line-height: 19px; color: var(--fedelan-muted); margin: 0 0 14px; }
.fedelan-checkout__legal a { color: var(--fedelan-ink); text-decoration: underline; text-underline-offset: 0.15em; }

/* Datos del proveedor y Data Fiscal, entre los medios de pago y la linea legal. */
.fedelan-footer__destacado { font-weight: 700; }
.fedelan-footer__datos {
    display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
    padding: 16px var(--fedelan-container-padding) 0; font-size: 12px; line-height: 18px; color: var(--fedelan-muted);
}
.fedelan-footer__datos p { margin: 0; }
.fedelan-footer__datos a { color: var(--fedelan-ink); text-decoration: underline; text-underline-offset: 0.15em; }
/* El banner de ARCA es un JPG apaisado de 327 x 239: a 64 de alto (88 de
   ancho) se lee "Data Fiscal" sin pisar la linea legal. */
.fedelan-footer__fiscal a { display: inline-block; text-decoration: none; }
.fedelan-footer__fiscal img { display: block; height: 64px; width: auto; max-width: 100%; }

/* --- El pie oscuro (estructura de Mango, 1 nov 2026, issue #18) ----------
   Fondo negro en todo el sitio, letra clara. Pisa los colores de arriba sin
   tocar la grilla. */
.fedelan-footer { background: var(--fedelan-noche); color: var(--fedelan-paper); border-top: 0; padding-top: 56px; }
.fedelan-footer__logo, .fedelan-footer__logo a,
.fedelan-footer .fedelan-wordmark { color: var(--fedelan-paper); }
.fedelan-footer__bajada { margin: 0 0 18px; font-size: 14px; line-height: 1.55; color: #BDBAB5; }
.fedelan-footer__social-link { color: var(--fedelan-paper); }
.fedelan-footer__social-link:hover { color: #BDBAB5; }
.fedelan-footer__social-link--off { color: #6E6B67; }
.fedelan-footer__col-title { color: #A9A6A1; letter-spacing: 0.18em; }
.fedelan-footer__col a,
.fedelan-footer__contacto { color: #ECEAE6; }
.fedelan-footer__col a { text-transform: none; letter-spacing: 0; font-weight: 400; }
.fedelan-footer__col a:hover { color: var(--fedelan-paper); text-decoration: underline; }
.fedelan-footer__legal { border-top-color: #2E2E2E; }
.fedelan-footer__legal p,
.fedelan-footer__legal a,
.fedelan-footer__datos { color: #9C9994; }
.fedelan-footer__legal a:hover,
.fedelan-footer__datos a { color: var(--fedelan-paper); }
.fedelan-footer :focus-visible { outline-color: var(--fedelan-paper); }

/* ==========================================================================
   Catalogo (tienda, categoria y busqueda)
   Dos columnas desde las correcciones del cliente (septiembre 2026), foto
   vertical, y arriba una sola linea con los filtros, la cantidad y el orden.
   ========================================================================== */

/* La cabecera estaba con doble padding: el envoltorio del archivo ya pone los
   32 de los costados y el titulo ponia otros 32 encima, asi que arrancaba 32
   a la derecha de la primera prenda. */
.fedelan-archive-banner, .fedelan-archive-banner[style] {
    max-width: none;
    padding: 30px 0 0;
}
.fedelan-archive-banner .fedelan-archive-breadcrumbs { margin: 0 0 8px; }

/* La barra. Queda pegada abajo del header, que es fijo. */
.fedelan-archive-toolbar {
    /* Al header fijo, no a header mas topbar: el topbar se va con el scroll
       y quedaba una franja de 32px por donde pasaban las fotos. */
    position: sticky;
    top: var(--fedelan-header-height);
    z-index: 40;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 14px 0 24px;
    padding: 11px 0;
    background: var(--fedelan-paper);
    border-top: 1px solid var(--fedelan-line);
    border-bottom: 1px solid var(--fedelan-line);
}
.fedelan-archive-toolbar__group { display: flex; align-items: center; gap: 22px; min-width: 0; }
.fedelan-archive-toolbar__group--end { justify-content: flex-end; }
.fedelan-archive-toolbar__count {
    font-family: var(--fedelan-font-primary);
    font-size: 13px;
    font-weight: 500;
    color: var(--fedelan-muted);
    white-space: nowrap;
}

/* Color, Talle y Precio al lado de "Filtros" (inc/archive.php): la misma
   pieza que el boton de filtros, sin icono. Con algo elegido se invierte,
   como la subcategoria actual. En telefono no entran y queda "Filtros". */
.fedelan-archive-facetas { display: none; }
@media (min-width: 700px) {
    .fedelan-archive-facetas { display: flex; gap: 6px; }
}
.fedelan-archive-faceta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 44px;
    padding: 0 16px;
    border: 0;
    border-radius: 0;
    background: var(--fedelan-sand);
    color: var(--fedelan-ink);
    font-family: var(--fedelan-font-primary);
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
}
.fedelan-archive-faceta:hover { background: var(--fedelan-sand-2); }
.fedelan-archive-faceta--activa,
.fedelan-archive-faceta--activa:hover { background: var(--fedelan-ink); color: var(--fedelan-accent-ink); }

/* Las subcategorias abajo del titulo (manual H3). Un renglon de chips: en
   telefono corre de costado en vez de partirse en tres filas que empujan la
   grilla para abajo (H6). */
.fedelan-subcategorias { margin: 18px 0 0; }
.fedelan-subcategorias__lista {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.fedelan-subcategorias__lista li { margin: 0; padding: 0; list-style: none; }
.fedelan-subcategorias__chip {
    display: inline-flex;
    align-items: center;
    height: 44px;
    padding: 0 16px;
    background: var(--fedelan-sand);
    color: var(--fedelan-ink);
    font-family: var(--fedelan-font-primary);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}
.fedelan-subcategorias__chip:hover { background: var(--fedelan-sand-2); color: var(--fedelan-ink); }
.fedelan-subcategorias__chip[aria-current],
.fedelan-subcategorias__chip[aria-current]:hover { background: var(--fedelan-ink); color: var(--fedelan-accent-ink); }
@media (max-width: 699px) {
    .fedelan-subcategorias { margin-top: 14px; }
    /* El padding con el margen negativo le deja lugar al anillo de foco, que
       el overflow recortaria; se come 4 del margen del costado, no mas. */
    .fedelan-subcategorias__lista { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding: 4px; margin: -4px; }
    .fedelan-subcategorias__lista::-webkit-scrollbar { display: none; }
    .fedelan-subcategorias__chip { padding: 0 14px; font-size: 13px; }
}

/* El selector de orden es el de WooCommerce, aplanado: sin caja, sin flecha
   del sistema, con la nuestra dibujada al lado. */
.fedelan-archive-toolbar .woocommerce-ordering { margin: 0; position: relative; }
.fedelan-archive-toolbar .woocommerce-ordering select,
.fedelan-archive-toolbar select.orderby {
    -webkit-appearance: none;
    appearance: none;
    height: auto;
    margin: 0;
    padding: 0 20px 0 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--fedelan-ink);
    font-family: var(--fedelan-font-primary);
    font-size: 13px;
    font-weight: 500;
    line-height: 20px;
    /* El texto mide 20, la zona sensible 44 (X9): el orden se cambia con el
       dedo tanto como los filtros. */
    min-height: 44px;
    cursor: pointer;
}
.fedelan-archive-toolbar .woocommerce-ordering::after {
    content: "";
    position: absolute;
    right: 2px;
    top: 50%;
    width: 8px;
    height: 8px;
    margin-top: -6px;
    border-right: 1.5px solid var(--fedelan-ink);
    border-bottom: 1.5px solid var(--fedelan-ink);
    transform: rotate(45deg);
    pointer-events: none;
}
.fedelan-archive-toolbar select.orderby:focus-visible {
    outline: 2px solid var(--fedelan-accent) !important;
    outline-offset: 3px;
}


@media (max-width: 1024px) {
    .fedelan-archive-toolbar { gap: 12px; }
    .fedelan-archive-toolbar__group { gap: 16px; }
}
@media (max-width: 600px) {
    .fedelan-archive-banner { padding: 20px 0 0; }
    .fedelan-archive-toolbar { margin: 12px 0 18px; padding: 9px 0; }
    .fedelan-archive-toolbar__count { font-size: 12px; }
    .fedelan-archive-toolbar .woocommerce-ordering select,
    .fedelan-archive-toolbar select.orderby { font-size: 12px; }


}

/* En telefono la barra se seguia partiendo en dos filas centradas: archive.css
   la ponia en columna a los 480, que era el diseño viejo (breadcrumb arriba y
   boton de filtros abajo). Ahora entra en una sola linea. */
@media (max-width: 480px) {
    .fedelan-archive-toolbar {
        flex-direction: row;
        align-items: center;
        gap: 10px;
        padding: 9px 0;
    }
    .fedelan-archive-toolbar__group { gap: 12px; }
    .fedelan-archive-filters-btn { align-self: auto; }

}

/* El ancho de un select lo fija su opcion mas larga, no la elegida: en telefono
   "Mas barato por unidad" empujaba al selector encima del contador. */
@media (max-width: 480px) {
    .fedelan-archive-toolbar__group { min-width: 0; }
    .fedelan-archive-toolbar__group--end { flex: 0 1 auto; }
    .fedelan-archive-toolbar .woocommerce-ordering { max-width: 100%; }
    .fedelan-archive-toolbar .woocommerce-ordering select,
    .fedelan-archive-toolbar select.orderby { max-width: 128px; }
    .fedelan-archive-toolbar__count { overflow: hidden; text-overflow: ellipsis; }
}
/* A 320 "19 modelos" se cortaba: el selector cede el lugar. */
@media (max-width: 360px) {
    .fedelan-archive-toolbar .woocommerce-ordering select,
    .fedelan-archive-toolbar select.orderby { max-width: 108px; }
    .fedelan-archive-toolbar__count { flex-shrink: 0; }
}

/* Tamano de toque en movil: 44px como minimo en lo que se aprieta con el
   dedo (cantidad, checkbox, links sueltos del checkout, iconos, pie). */
@media (max-width: 600px) {
    .fedelan-qty__btn, .fedelan-qty-btn, .fedelan-qty__input, .fedelan-qty-input { min-height: 44px; }
    .fedelan-checkbox { min-height: 44px; align-items: center; }
    .fedelan-field__link { min-height: 44px; display: inline-flex; align-items: center; }
    /* K74: Cambiar y el acordeon del resumen van a 48. El display lo pone
       cada uno: con inline-flex aca, Cambiar le ganaba a [hidden] y salia en
       las cuatro secciones (K16). */
    .fedelan-checkout-step__edit, .fedelan-checkout-summary__toggle { min-height: 48px; align-items: center; }
    .fedelan-checkout-step__edit:not([hidden]) { display: inline-flex; }
    .fedelan-header__icon, .fedelan-header__mobile-menu { width: 44px; height: 44px; }
    /* Con padding de 8 quedaban en 36: una lista de links apilados es justo
       donde el dedo se equivoca de renglon. */
    .fedelan-footer__col a { display: inline-flex; align-items: center; min-height: 44px; padding: 0; }
}

/* --------------------------------------------------------------------------
   Saltar al contenido
   Es la primera parada del tabulador y tiene que verse al recibir el foco.
   GeneratePress trae la regla, pero con su gris y su azul de WordPress, que
   no son de este sitio. Va en theme.css y no en global.css porque main.min.css
   del padre se encola despues de global y le ganaba.
   -------------------------------------------------------------------------- */
.skip-link:focus {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 10000;
    width: auto;
    height: auto;
    clip: auto !important;
    clip-path: none !important;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 20px;
    background: var(--fedelan-ink);
    color: var(--fedelan-paper);
    font-family: var(--fedelan-font-primary);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    border-radius: 0;
    box-shadow: none;
    outline: 2px solid var(--fedelan-paper);
    outline-offset: -4px;
}

/* ==========================================================================
   Mi cuenta con sesion iniciada (recorrida del 26 sep 2026)
   Pedidos, direcciones, datos y el detalle de un pedido traian el CSS de
   WooCommerce y del diseño anterior: pildoras, radio 14, bordes marrones,
   doble anillo de foco y grises #444 y #666. Todo pasa a la regla del login
   y del checkout: campo subrayado, etiqueta en mayusculas, boton rectangular,
   tinta y la rampa de grises. Los selectores llevan body.woocommerce-account
   para ganarle a woocommerce.css y a account.css sin !important.
   ========================================================================== */
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account .woocommerce-MyAccount-content p { color: var(--fedelan-ink); font-size: 15px; line-height: 1.6; }
body.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type { color: var(--fedelan-ink-soft); }
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 {
    font-size: 20px; line-height: 1.2; font-weight: 700; letter-spacing: 0; text-transform: uppercase; margin: 0 0 20px;
}
body.woocommerce-account .woocommerce-MyAccount-content mark { background: none; color: var(--fedelan-ink); font-weight: 700; }

/* Menu de secciones: el boton y las filas del desplegable. */
body.woocommerce-account .fedelan-account-nav__current {
    min-height: 48px; padding: 0 14px 0 18px; border-radius: 0; background: var(--fedelan-sand);
    font-family: var(--fedelan-font-primary); font-size: 14px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
    transition: background var(--fedelan-dur) var(--fedelan-ease);
}
body.woocommerce-account .fedelan-account-nav__current:hover,
body.woocommerce-account .fedelan-account-nav__menu[open] .fedelan-account-nav__current { background: var(--fedelan-sand-2); }
body.woocommerce-account .fedelan-account-nav__current:active { background: var(--fedelan-line); }
body.woocommerce-account .fedelan-account-nav__list {
    display: block; min-width: 260px; padding: 0; top: 100%; border: 1px solid var(--fedelan-ink); background: var(--fedelan-paper);
}
body.woocommerce-account .fedelan-account-nav__list li { display: block; }
body.woocommerce-account .fedelan-account-nav__list li + li a { border-top: 1px solid var(--fedelan-line); }
body.woocommerce-account .fedelan-account-nav__list li a {
    display: flex; align-items: center; width: 100%; box-sizing: border-box; min-height: 48px; padding: 0 18px;
    border-radius: 0; background: var(--fedelan-paper); color: var(--fedelan-ink);
    font-family: var(--fedelan-font-primary); font-size: 15px; font-weight: 400; letter-spacing: 0; text-transform: none;
    transition: background var(--fedelan-dur) var(--fedelan-ease);
}
body.woocommerce-account .fedelan-account-nav__list li a:hover { background: var(--fedelan-sand); color: var(--fedelan-ink); }
body.woocommerce-account .fedelan-account-nav__list li a:active { background: var(--fedelan-sand-2); }
body.woocommerce-account .fedelan-account-nav__list li.is-active a { background: var(--fedelan-ink); color: var(--fedelan-paper); font-weight: 700; }
body.woocommerce-account .fedelan-account-nav__list li.is-active a:hover { background: var(--fedelan-ink-soft); }
body.woocommerce-account .fedelan-account-nav__list .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--fedelan-ink-soft); }

/* Resumen */
.fedelan-cuenta-hola { margin: 0 0 20px; font-size: 18px; font-weight: 700; }
.fedelan-cuenta-filas { list-style: none; margin: 0 0 28px; padding: 0; border-top: 1px solid var(--fedelan-line); }
.fedelan-cuenta-filas li { margin: 0; }
body.woocommerce-account .fedelan-cuenta-filas a {
    display: grid; grid-template-columns: 1fr 20px; column-gap: 16px; align-items: center;
    padding: 18px 16px; border-bottom: 1px solid var(--fedelan-line); color: var(--fedelan-ink); text-decoration: none;
    transition: background var(--fedelan-dur) var(--fedelan-ease);
}
body.woocommerce-account .fedelan-cuenta-filas a:hover { background: var(--fedelan-sand); }
body.woocommerce-account .fedelan-cuenta-filas a:active { background: var(--fedelan-sand-2); }
.fedelan-cuenta-filas__titulo { grid-column: 1; font-size: 14px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }
.fedelan-cuenta-filas__bajada { grid-column: 1; font-size: 14px; color: var(--fedelan-ink-soft); }
.fedelan-cuenta-filas svg { grid-column: 2; grid-row: 1 / span 2; width: 20px; height: 20px; }
body.woocommerce-account .fedelan-cuenta-salir a { color: var(--fedelan-ink-soft); font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
body.woocommerce-account .fedelan-cuenta-salir a:hover { color: var(--fedelan-ink); }

/* Avisos: tinta sobre campo claro, verde y rojo solo de fondo suave. */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
    margin: 0 0 20px; padding: 14px 16px; border: 0; border-radius: 0; color: var(--fedelan-ink); font-size: 14px; line-height: 20px;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info { background: var(--fedelan-field-2); }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message { background: var(--fedelan-ok-soft); }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error { background: var(--fedelan-err-soft); list-style: none; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error li { margin: 0; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error li + li { margin-top: 6px; }

/* Botones: el grande del formulario y el chico de las tablas, direcciones y
   avisos. Mismo rectangulo, 14 o 12 en mayusculas. */
body.woocommerce-account .woocommerce-MyAccount-content .button,
body.woocommerce-account .woocommerce-MyAccount-content button[type="submit"],
body.woocommerce-account .woocommerce-Address-title a.edit {
    display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
    width: auto; height: 60px; min-height: 0; padding: 0 32px; margin: 0; border: 0; border-radius: 0;
    background: var(--fedelan-ink) !important; color: var(--fedelan-paper) !important; opacity: 1;
    font-family: var(--fedelan-font-primary); font-size: 14px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
    line-height: 1; text-decoration: none; white-space: nowrap; cursor: pointer;
    transition: background var(--fedelan-dur) var(--fedelan-ease);
}
body.woocommerce-account .woocommerce-MyAccount-content .button:hover,
body.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:hover,
body.woocommerce-account .woocommerce-Address-title a.edit:hover { background: var(--fedelan-ink-soft) !important; opacity: 1; }
body.woocommerce-account .woocommerce-MyAccount-content .button:active,
body.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:active,
body.woocommerce-account .woocommerce-Address-title a.edit:active { background: var(--fedelan-muted) !important; }
body.woocommerce-account .woocommerce-orders-table .button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button,
body.woocommerce-account .woocommerce-Address-title a.edit { height: 44px; padding: 0 18px; font-size: 12px; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button { float: none; order: 2; margin: 12px 0 0; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message { display: flex; flex-direction: column; align-items: flex-start; }

/* Formularios de direccion y de datos */
body.woocommerce-account .woocommerce-MyAccount-content form .form-row { float: none; width: 100%; padding: 0; margin: 0 0 22px; }
body.woocommerce-account .woocommerce-MyAccount-content form .form-row-first,
body.woocommerce-account .woocommerce-MyAccount-content form .form-row-last { display: inline-block; width: calc(50% - 12px); vertical-align: top; }
body.woocommerce-account .woocommerce-MyAccount-content form .form-row-first { margin-right: 20px; }
body.woocommerce-account .woocommerce-MyAccount-content form .form-row label,
body.woocommerce-account .woocommerce-EditAccountForm .form-row label {
    display: block; margin: 0; font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--fedelan-muted);
}
body.woocommerce-account .woocommerce-MyAccount-content form .form-row .required { display: none; }
body.woocommerce-account .woocommerce-MyAccount-content form .form-row .optional { font-weight: 400; letter-spacing: 0; text-transform: none; }
body.woocommerce-account .woocommerce-MyAccount-content form .form-row .input-text,
body.woocommerce-account .woocommerce-MyAccount-content form .form-row select:not(.country_to_state--single) {
    box-sizing: border-box; width: 100%; height: 53px; padding: 15px 0; margin: 0;
    border: 0; border-bottom: 1px solid var(--fedelan-muted); border-radius: 0; outline: 0; box-shadow: none;
    background-color: transparent; color: var(--fedelan-ink); font-family: var(--fedelan-font-primary); font-size: 16px; line-height: 22px;
    transition: border-color var(--fedelan-dur) var(--fedelan-ease);
}
body.woocommerce-account .woocommerce-MyAccount-content form .form-row select:not(.country_to_state--single) { padding-right: 28px; background-position: right 0 center; }
body.woocommerce-account .woocommerce-MyAccount-content form .form-row .input-text:hover,
body.woocommerce-account .woocommerce-MyAccount-content form .form-row select:hover { border-bottom-color: var(--fedelan-ink); }
body.woocommerce-account .woocommerce-MyAccount-content form .form-row .input-text:focus,
body.woocommerce-account .woocommerce-MyAccount-content form .form-row select:focus {
    border-bottom: 2px solid var(--fedelan-ink); padding-bottom: 14px; box-shadow: none; outline: 0;
}
body.woocommerce-account .woocommerce-MyAccount-content form .form-row .country_to_state--single { height: auto; padding: 10px 0 0; font-size: 16px; font-weight: 400; }
body.woocommerce-account .woocommerce-MyAccount-content form .form-row.woocommerce-invalid label { color: var(--fedelan-err); }
body.woocommerce-account .woocommerce-MyAccount-content form .form-row.woocommerce-invalid .input-text,
body.woocommerce-account .woocommerce-MyAccount-content form .form-row.woocommerce-invalid select { border-bottom-color: var(--fedelan-err); }
body.woocommerce-account .woocommerce-MyAccount-content form .form-row.woocommerce-validated .input-text,
body.woocommerce-account .woocommerce-MyAccount-content form .form-row.woocommerce-validated select { border-bottom-color: var(--fedelan-muted); }
body.woocommerce-account #account_display_name_description { display: block; margin-top: 6px; font-size: 13px; color: var(--fedelan-ink-soft); }
body.woocommerce-account #account_display_name_description em { font-style: normal; }
body.woocommerce-account .woocommerce-EditAccountForm fieldset { margin: 20px 0 0; padding: 28px 0 0; border: 0; border-top: 1px solid var(--fedelan-line); }
body.woocommerce-account .woocommerce-EditAccountForm legend {
    float: left; width: 100%; padding: 0; margin: 0 0 20px; font-size: 20px; line-height: 1.2; font-weight: 700; letter-spacing: 0; text-transform: uppercase; color: var(--fedelan-ink);
}
body.woocommerce-account .woocommerce-EditAccountForm legend + * { clear: both; }
body.woocommerce-account .woocommerce-MyAccount-content form > p:last-of-type,
body.woocommerce-account .woocommerce-address-fields > p:last-child { margin-top: 8px; }
@media (max-width: 640px) {
    body.woocommerce-account .woocommerce-MyAccount-content form .form-row-first,
    body.woocommerce-account .woocommerce-MyAccount-content form .form-row-last { display: block; width: 100%; margin-right: 0; }
    body.woocommerce-account .woocommerce-MyAccount-content form button[type="submit"] { width: 100%; }
}

/* Ojo de la contraseña: 44 por 44 y los mismos dibujos que el login (ojo
   para mostrar, ojo tachado para ocultar). */
body.woocommerce-account .woocommerce-MyAccount-content .password-input { position: relative; display: block; }
body.woocommerce-account .woocommerce-MyAccount-content .password-input .input-text { padding-right: 48px; }
body.woocommerce-account .woocommerce-MyAccount-content .show-password-input {
    position: absolute; top: 50%; right: -8px; width: 44px; height: 44px; margin: 0; padding: 0; transform: translateY(-50%);
    display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 0; background: transparent; color: var(--fedelan-muted); cursor: pointer;
}
body.woocommerce-account .woocommerce-MyAccount-content .show-password-input:hover { color: var(--fedelan-ink); }
body.woocommerce-account .woocommerce-MyAccount-content .show-password-input::after { display: none; }
body.woocommerce-account .woocommerce-MyAccount-content .show-password-input::before {
    content: ""; display: block; width: 20px; height: 20px; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.woocommerce-account .woocommerce-MyAccount-content .show-password-input.display-password::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'/%3E%3Cline x1='1' y1='1' x2='23' y2='23'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'/%3E%3Cline x1='1' y1='1' x2='23' y2='23'/%3E%3C/svg%3E");
}

/* Medidor de la contraseña nueva: una raya arriba del texto, roja, ambar,
   gris o verde, sin los fondos pastel de WooCommerce. */
body.woocommerce-account .woocommerce-password-strength {
    margin: 8px 0 0; padding: 8px 0 0; border: 0; border-top: 3px solid var(--fedelan-line); background: none;
    text-align: left; font-size: 13px; font-weight: 700; color: var(--fedelan-ink);
}
body.woocommerce-account .woocommerce-password-strength.short { border-top-color: var(--fedelan-err); background: none; }
body.woocommerce-account .woocommerce-password-strength.bad { border-top-color: var(--fedelan-warn); background: none; }
body.woocommerce-account .woocommerce-password-strength.good { border-top-color: var(--fedelan-muted-2); background: none; }
body.woocommerce-account .woocommerce-password-strength.strong { border-top-color: var(--fedelan-ok); background: none; }
body.woocommerce-account .woocommerce-password-hint { display: block; margin-top: 6px; font-size: 13px; line-height: 18px; color: var(--fedelan-ink-soft); }

/* Direcciones: tarjetas sobre el campo gris, texto en tinta suave (el gris
   medio sobre el campo daba 4,4 a 1). */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address { padding: 24px; border: 0; border-radius: 0; box-shadow: none; background: var(--fedelan-sand); }
body.woocommerce-account .woocommerce-Address-title h2 { font-size: 14px !important; line-height: 20px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }
body.woocommerce-account .woocommerce-Address address,
body.woocommerce-account .woocommerce-customer-details address { font-style: normal; font-size: 15px; line-height: 1.6; color: var(--fedelan-ink-soft); }

/* Tabla de pedidos y detalle de un pedido: filas con una linea, sin zebra
   ni esquinas redondeadas. */
body.woocommerce-account .woocommerce table.shop_table { border: 0; border-radius: 0; margin: 0 0 32px; font-size: 15px; }
body.woocommerce-account .woocommerce table.shop_table th,
body.woocommerce-account .woocommerce table.shop_table td {
    padding: 14px 12px 14px 0; border: 0; border-bottom: 1px solid var(--fedelan-line); border-radius: 0; background: none; vertical-align: middle; text-align: left;
}
body.woocommerce-account .woocommerce table.shop_table tbody tr:nth-child(odd) td,
body.woocommerce-account .woocommerce table.shop_table tbody td:first-child,
body.woocommerce-account .woocommerce table.shop_table tbody td:last-child { background: none; border-radius: 0; }
body.woocommerce-account .woocommerce table.shop_table thead th {
    padding-top: 0; font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--fedelan-muted); border-bottom-color: var(--fedelan-ink);
}
body.woocommerce-account .woocommerce table.shop_table tfoot th { font-weight: 400; color: var(--fedelan-ink-soft); }
body.woocommerce-account .woocommerce table.shop_table tfoot tr:last-child th,
body.woocommerce-account .woocommerce table.shop_table tfoot tr:last-child td { font-weight: 700; color: var(--fedelan-ink); border-bottom: 0; }
body.woocommerce-account .woocommerce table.shop_table a { color: var(--fedelan-ink); text-decoration: underline; text-underline-offset: 3px; }
body.woocommerce-account .woocommerce table.shop_table a:hover { text-decoration-thickness: 2px; }
body.woocommerce-account .woocommerce table.shop_table a.button { text-decoration: none; }
body.woocommerce-account .woocommerce-orders-table__cell-order-number a { font-weight: 700; }
body.woocommerce-account .woocommerce-orders-table__cell-order-actions { text-align: right; }
body.woocommerce-account .woocommerce table.shop_table .wc-item-meta { margin: 6px 0 0; padding: 0; list-style: none; font-size: 13px; color: var(--fedelan-ink-soft); }
body.woocommerce-account .woocommerce table.shop_table .wc-item-meta li,
body.woocommerce-account .woocommerce table.shop_table .wc-item-meta p { display: inline; margin: 0; font-size: 13px; color: var(--fedelan-ink-soft); }
body.woocommerce-account .woocommerce table.shop_table .wc-item-meta li + li::before { content: ", "; }
body.woocommerce-account .woocommerce table.shop_table .wc-item-meta-label { font-weight: 400; }
body.woocommerce-account .woocommerce-customer-details address { padding: 20px 24px; border: 0; border-radius: 0; background: var(--fedelan-sand); }
body.woocommerce-account .woocommerce-customer-details address p { margin: 0; color: var(--fedelan-ink-soft); }
body.woocommerce-account .woocommerce-customer-details--phone::before,
body.woocommerce-account .woocommerce-customer-details--email::before { display: none; }
body.woocommerce-account .woocommerce-customer-details .woocommerce-customer-details--phone,
body.woocommerce-account .woocommerce-customer-details .woocommerce-customer-details--email { padding-left: 0; }

/* En el telefono la tabla de pedidos pasa a una fila por pedido: numero,
   fecha, estado y total a la izquierda, "Ver" a la derecha. Sin esto medía
   484 de ancho en una pantalla de 390. */
@media (max-width: 600px) {
    body.woocommerce-account table.woocommerce-orders-table thead { display: none; }
    body.woocommerce-account table.woocommerce-orders-table,
    body.woocommerce-account table.woocommerce-orders-table tbody { display: block; width: 100%; }
    body.woocommerce-account table.woocommerce-orders-table tr {
        display: grid; grid-template-columns: 1fr auto; column-gap: 12px; align-items: center;
        padding: 14px 0; border-bottom: 1px solid var(--fedelan-line);
    }
    body.woocommerce-account .woocommerce table.woocommerce-orders-table th,
    body.woocommerce-account .woocommerce table.woocommerce-orders-table td { grid-column: 1; display: block; padding: 0; border: 0; font-size: 14px; line-height: 20px; color: var(--fedelan-ink-soft); }
    body.woocommerce-account .woocommerce table.woocommerce-orders-table td::before { display: none; }
    body.woocommerce-account .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number { font-size: 15px; color: var(--fedelan-ink); }
    body.woocommerce-account .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions { grid-column: 2; grid-row: 1 / span 4; }
}
body.woocommerce-account .woocommerce-MyAccount-content mark { padding: 0; margin: 0; }
body.woocommerce-account .woocommerce table.shop_table .wc-item-meta-label { float: none; clear: none; margin: 0; }
body.woocommerce-account .woocommerce-EditAccountForm legend::after {
    content: "Si no la querés cambiar, dejá estos campos vacíos."; display: block; margin-top: 8px;
    font-size: 14px; line-height: 20px; font-weight: 400; text-transform: none; color: var(--fedelan-ink-soft);
}
body.woocommerce-account .woocommerce table.woocommerce-orders-table tbody th { font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--fedelan-ink); }
body.woocommerce-account .woocommerce-orders-table__cell-order-actions { text-align: left; }
body.woocommerce-account .woocommerce-MyAccount-content .col2-set header.woocommerce-Address-title h2 { font-size: 14px !important; line-height: 20px; letter-spacing: 2px; text-transform: uppercase; }

/* ==========================================================================
   Estados en todo el sitio (recorrida del 26 sep 2026)
   Hover, foco y presionado revisados con mouse, teclado y dedo. La regla:
   los botones negros pasan a tinta suave; los claros (arena o blanco) pasan
   a arena mas oscura; los links de texto se subrayan. En el telefono no hay
   hover: lo que se pinta con el mouse se deshace despues del toque.
   ========================================================================== */

/* Links invertidos (blanco sobre negro): el foco no los apaga. */
.fedelan-cartel:hover, .fedelan-cartel:focus, .fedelan-cartel:active,
.fedelan-cierre__btn:hover, .fedelan-cierre__btn:focus, .fedelan-cierre__btn:active,
.fedelan-cart-drawer__checkout-btn:hover, .fedelan-cart-drawer__checkout-btn:focus, .fedelan-cart-drawer__checkout-btn:active { color: var(--fedelan-paper); }
.fedelan-cierre__btn:hover { transform: none; }

/* "Mostrar mas" y "Filtros": claros, pasan a arena, el texto sigue negro. */
.fedelan-archive-load-more__btn:hover, .fedelan-btn-back:hover { background: var(--fedelan-sand); color: var(--fedelan-ink); }
.fedelan-archive-filters-btn:hover { background: var(--fedelan-sand-2); color: var(--fedelan-ink); }
.fedelan-archive-load-more__btn:active, .fedelan-archive-filters-btn:active { background: var(--fedelan-sand-2); }
.fedelan-archive-breadcrumbs a:hover, .fedelan-shop-breadcrumbs a:hover, .fedelan-single-breadcrumbs a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* CTA de la ficha: la misma tipografia que el resto de los botones y un
   hover que se ve (el !important de arriba lo tapaba). */
.woocommerce button.single_add_to_cart_button, .woocommerce button.button.alt.single_add_to_cart_button,
.fedelan-compra__submit, .fedelan-single-details form.cart .single_add_to_cart_button {
    font-family: var(--fedelan-font-primary) !important; font-size: 14px !important;
    letter-spacing: 2px !important; text-transform: uppercase !important;
}
.woocommerce button.button.alt.single_add_to_cart_button:hover,
.fedelan-single-details form.cart .single_add_to_cart_button:hover { background: var(--fedelan-ink-soft) !important; }
.woocommerce button.single_add_to_cart_button:active, .fedelan-compra__submit:active,
.woocommerce button.button.alt.single_add_to_cart_button:active,
.fedelan-single-details form.cart .single_add_to_cart_button:active { background: var(--fedelan-muted) !important; }
.fedelan-compra__submit--enviando { cursor: progress; }

/* Checkout: "Continuar", "Continuar al pago" y "Confirmar pedido". */
.fedelan-checkout-next:hover, .fedelan-checkout-pay:hover { background: var(--fedelan-ink-soft) !important; transform: none; }
.fedelan-checkout-next:active, .fedelan-checkout-pay:active { background: var(--fedelan-muted) !important; }
.fedelan-btn:hover, .fedelan-btn--primary:hover { transform: none; }
.fedelan-btn--primary:active { background: var(--fedelan-muted); }
.fedelan-btn--outline:active { background: var(--fedelan-sand-2); }

/* Login y registro: el mismo hover que los demas botones negros. */
.fedelan-auth__submit:hover { opacity: 1; background: var(--fedelan-ink-soft); }
.fedelan-auth__submit:active { background: var(--fedelan-muted); }
.fedelan-auth__submit:hover::after { display: none; }

/* Iconos del header, cerrar de los paneles y +/- de cantidad: arena al pasar
   el mouse, sin lavar el icono. */
.fedelan-header__icon:hover { opacity: 1; }
@media (hover: hover) {
    .fedelan-header__menu-toggle:hover, .fedelan-header__search-toggle:hover, .fedelan-header__icon:hover,
    .fedelan-header__cart-toggle:hover, .fedelan-header__favorites-toggle:hover,
    .fedelan-mobile-menu__close:hover, .fedelan-cart-drawer__close:hover, .fedelan-favorites-drawer__close:hover,
    .fedelan-compra-rapida__close:hover, .fedelan-filter-panel__close:hover, .fedelan-modal__cerrar:hover,
    .fedelan-cart-drawer__qty-btn:hover, .fedelan-cart-drawer__item-remove:hover, .fedelan-favorites-drawer__item-remove:hover,
    .fedelan-mobile-menu__back-header:hover { background: var(--fedelan-sand) !important; }
    .fedelan-qty__btn:hover, .fedelan-qty-btn:hover { background: var(--fedelan-sand-2); }
    .fedelan-mobile-menu__item:hover, .fedelan-mobile-menu button.fedelan-mobile-menu__item:hover { text-decoration: underline; text-underline-offset: 4px; }
}
.fedelan-qty__btn:disabled, .fedelan-qty-btn:disabled, .fedelan-qty__btn[aria-disabled="true"] { color: var(--fedelan-muted-2); cursor: not-allowed; background: transparent; }

/* Botones y links que no tenian ningun hover. */
.fedelan-filter-panel__clear:hover, .fedelan-cart-page__cupon-toggle:hover, .fedelan-seccion__toggle:hover { background: var(--fedelan-sand); }
.fedelan-404__search button:hover, .fedelan-sin-resultados__buscar button:hover { background: var(--fedelan-ink-soft); color: var(--fedelan-paper); }
.fedelan-favorites-drawer__agregar:hover, .fedelan-checkout__legal a:hover, .woocommerce-privacy-policy-text a:hover,
.fedelan-auth__links a:hover, .fedelan-seguimiento__cuenta a:hover { text-decoration: underline; text-decoration-thickness: 2px; }

/* Foco de teclado que no se veia. */
.fedelan-compra__colores--texto .fedelan-color:has(input:focus-visible) .fedelan-color__name,
.fedelan-color:has(input:focus-visible) { outline: 2px solid var(--fedelan-accent); outline-offset: 3px; }
.fedelan-header__topbar-pausa:focus-visible, .skip-link:focus-visible,
.fedelan-cartel:focus-visible,
.fedelan-cart-drawer__checkout-btn:focus-visible { outline-color: var(--fedelan-paper) !important; outline-offset: -4px; }
.fedelan-snackbar__action:hover, .fedelan-snackbar__action:focus, .fedelan-snackbar__action:active {
    color: var(--fedelan-paper); opacity: 1; text-decoration: underline; text-underline-offset: 3px;
}
.fedelan-radio-card input:focus-visible + .fedelan-radio-card__content { outline: 2px solid var(--fedelan-accent); outline-offset: 3px; }
/* Adentro de un padre con overflow el anillo va hacia adentro. */
.fedelan-portada__panel--entera:focus-visible, .fedelan-qty__btn:focus-visible, .fedelan-qty-btn:focus-visible,
.fedelan-gallery-thumb:focus-visible, .fedelan-products__track a:focus-visible { outline-offset: -2px; }
.fedelan-portada__panel--entera:focus-visible { outline-offset: -6px; outline-color: var(--fedelan-accent) !important; }

/* Contraste: legales del pago sobre arena y placeholders. */
.fedelan-checkout__legal { color: var(--fedelan-ink-soft); }
.fedelan-field__input-wrap input::placeholder, .fedelan-auth__field input::placeholder { color: var(--fedelan-muted) !important; opacity: 1; }

/* Un solo aviso de error en todo el sitio: fondo rojo claro, texto en tinta,
   sin bordes ni barras. */
.woocommerce-error, .woocommerce-notices-wrapper .woocommerce-error, .fedelan-checkout-errores:not(:empty),
.fedelan-auth .woocommerce-error {
    background: var(--fedelan-err-soft) !important; color: var(--fedelan-ink); border: 0 !important; border-radius: 0; box-shadow: none !important;
}

/* Precio con descuento en rojo tambien en favoritos y en el agregado rapido. */
.fedelan-favorites-drawer__item-price:has(.fedelan-precio-antes),
.fedelan-compra-rapida__precio:has(.fedelan-precio-antes) { color: var(--fedelan-sale); }

/* Telefono: despues del toque no queda pintado el hover. */
@media (hover: none) {
    .fedelan-archive-item__wishlist:hover { transform: none; }
    .fedelan-archive-item__rapida:hover { background: var(--fedelan-paper); color: var(--fedelan-ink); }
    .fedelan-archive-filters-btn:hover { background: var(--fedelan-sand); }
    .fedelan-archive-load-more__btn:hover, .fedelan-btn-back:hover { background: var(--fedelan-paper); }
    .fedelan-header__icon:hover { background: transparent !important; }
    .fedelan-qty__btn:hover, .fedelan-qty-btn:hover { background: transparent; }
    .fedelan-compra__colores--texto .fedelan-color:hover .fedelan-color__name { background: var(--fedelan-sand); }
    .fedelan-compra__colores--texto .fedelan-color:has(input:checked):hover .fedelan-color__name { background: var(--fedelan-ink); }
    .fedelan-filter-panel__clear:hover, .fedelan-cart-page__cupon-toggle:hover, .fedelan-seccion__toggle:hover { background: transparent; }
}
.fedelan-arrepentimiento__error { background: var(--fedelan-err-soft) !important; color: var(--fedelan-ink) !important; border: 0 !important; border-radius: 0; box-shadow: none; padding: 14px 16px; font-size: 14px; }

/* Segunda pasada de la verificacion de estados. */
.fedelan-snackbar__action:focus-visible { outline-color: var(--fedelan-paper) !important; outline-offset: 3px; }
.fedelan-gallery-thumb.is-active:focus-visible { outline-offset: -6px; }
.fedelan-seccion__toggle:hover .fedelan-seccion__conteo { color: var(--fedelan-ink-soft); }
.fedelan-archive-filters-btn:active { background: var(--fedelan-line); }
.woocommerce-error:focus, .woocommerce-error:focus-visible,
.woocommerce-notices-wrapper:focus, .woocommerce-notices-wrapper:focus-visible { outline: none !important; }
.fedelan-auth .woocommerce-error, .fedelan-auth .woocommerce-message, .fedelan-auth .woocommerce-info,
.woocommerce-error, .woocommerce-message, .woocommerce-info { padding: 14px 16px !important; }
.fedelan-cart-page__cupon-aplicar:hover { background: var(--fedelan-sand) !important; color: var(--fedelan-ink) !important; }
.fedelan-cart-page__cupon-aplicar:active { background: var(--fedelan-sand-2) !important; }
@media (hover: hover) {
    .fedelan-mobile-menu__close:hover, .fedelan-mobile-menu__back-header:hover,
    .fedelan-filter-panel__close:hover { background: var(--fedelan-sand-2) !important; }
}
.fedelan-qty__btn--minus[aria-disabled="true"] { color: var(--fedelan-muted-2); cursor: default; }

/* "Recordarme": el mismo cuadrado recto que las casillas del checkout
   (.fedelan-checkbox__mark), en vez del que dibuja el navegador. */
.fedelan-auth .fedelan-auth__remember label { font-size: 14px; color: var(--fedelan-ink); gap: 10px; }
.fedelan-auth .fedelan-auth__remember label span { top: 0; }
.fedelan-auth .fedelan-auth__remember input[type="checkbox"] {
    flex: none; width: 20px; height: 20px; margin: 0; padding: 0;
    -webkit-appearance: none; appearance: none; accent-color: auto;
    border: 0 !important; border-radius: 0; background: var(--fedelan-sand) no-repeat center / 14px 14px;
    box-shadow: inset 0 0 0 2px var(--fedelan-muted) !important; cursor: pointer;
    transition: background-color var(--fedelan-dur) var(--fedelan-ease), box-shadow var(--fedelan-dur) var(--fedelan-ease);
}
.fedelan-auth .fedelan-auth__remember input[type="checkbox"]:hover { box-shadow: inset 0 0 0 2px var(--fedelan-ink) !important; }
.fedelan-auth .fedelan-auth__remember input[type="checkbox"]:checked {
    background-color: var(--fedelan-ink);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='square'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
    box-shadow: none !important;
}
.fedelan-auth .fedelan-auth__remember input[type="checkbox"]:focus { outline: none; }
.fedelan-auth .fedelan-auth__remember input[type="checkbox"]:focus-visible { outline: 2px solid var(--fedelan-accent) !important; outline-offset: 2px; }
