/* ==================================================================
   Apolo v2 - sistema compartido por todas las paginas
   Manual de marca: amarillo #fcc917, HK Grotesk (Hanken Grotesk, OFL).
   Barlow Condensed solo para cifras y calibres.
   Reglas (taste-skill): sin etiquetas sobre titulos, sin pildoras,
   sin degradados ni sombras en reposo, esquinas rectas.
   ================================================================== */
@font-face { font-family: "Hanken Grotesk"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/hanken/hanken-grotesk-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Hanken Grotesk"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/hanken/hanken-grotesk-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Hanken Grotesk"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/hanken/hanken-grotesk-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Hanken Grotesk"; font-style: normal; font-weight: 800; font-display: swap; src: url("../fonts/hanken/hanken-grotesk-latin-800-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/barlow/barlow-condensed-latin-700-normal.woff2") format("woff2"); }

:root {
    --v2-ground: #111214;
    --v2-ground-2: #1a1b1f;
    --v2-ground-3: #24252a;
    --v2-ink: #f4f3ef;
    --v2-ink-2: #c7c6c1;
    --v2-gold: #fcc917;
    --v2-gold-ink: #111214;
    --v2-font: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
    --v2-num: "Barlow Condensed", "Arial Narrow", sans-serif;
    --v2-margin: clamp(20px, 4vw, 56px);
    --v2-section: clamp(80px, 10vw, 144px);
    /* tokens anteriores, alineados al manual */
    --apolo-gold: #fcc917;
    --apolo-bg: #1a1b1f;
    --apolo-bg-deep: #111214;
    --apolo-text: #f4f3ef;
    --apolo-muted: #c7c6c1;
}

/* ------------------------------------------------------------------
   Tipografia global (los iconos conservan su fuente)
   ------------------------------------------------------------------ */
:where(body),
:where(body) :where(h1, h2, h3, h4, h5, h6, p, a, li, dt, dd, label, button, input, select, textarea, td, th, small, strong, em, span):where(:not(.fa):not(.material-icons):not([class*="material-symbols"]):not([class^="icon-"]):not([class*=" icon-"])) {
    font-family: var(--v2-font) !important;
}
/* Menu en mayusculas, como el original */
body .menu_main_nav > li > a {
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    font-size: 14px !important;
}
body .site-footer .sf-title {
    color: var(--v2-ink) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

/* ------------------------------------------------------------------
   Banda de titulo de pagina (antes: foto con titulo en mayusculas)
   ------------------------------------------------------------------ */
body .top_panel_title .top_panel_title_inner {
    background: var(--v2-ground) !important;
    background-image: none !important;
    min-height: 0 !important;
    padding: clamp(48px, 7vw, 96px) 0 clamp(24px, 3vw, 40px) !important;
}
body .top_panel_title .top_panel_title_inner::before { display: none !important; }
body .top_panel_title .top_panel_title_inner .content_wrap {
    display: flex !important;
    flex-direction: column-reverse;
    align-items: flex-start !important;
    gap: 14px;
    width: auto !important;
    max-width: 1440px;
    margin: 0 auto !important;
    padding: 0 var(--v2-margin) !important;
}
body .top_panel_title .page_title {
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--v2-ink) !important;
    font-size: clamp(44px, 6vw, 88px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -0.035em !important;
    text-transform: lowercase !important;
}
body .top_panel_title .page_title::first-letter { text-transform: uppercase; }
body .top_panel_title .breadcrumbs {
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
}
body .top_panel_title .breadcrumbs .breadcrumbs_item,
body .top_panel_title .breadcrumbs a {
    color: var(--v2-ink-2) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: lowercase !important;
    display: inline-block;
}
body .top_panel_title .breadcrumbs .breadcrumbs_item::first-letter { text-transform: uppercase; }
body .top_panel_title .breadcrumbs a:hover { color: var(--v2-gold) !important; }
body .top_panel_title .breadcrumbs .breadcrumbs_delimiter { margin: 0 8px !important; }
body .top_panel_title .breadcrumbs .breadcrumbs_delimiter::before {
    content: "/" !important;
    font-family: var(--v2-font) !important;
    color: var(--v2-ink-2);
}

/* ------------------------------------------------------------------
   Piezas comunes
   ------------------------------------------------------------------ */
.v2-wrap {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 var(--v2-margin);
}
body .v2-h2 {
    margin: 0 0 24px !important;
    color: var(--v2-ink) !important;
    font-size: clamp(34px, 4vw, 60px) !important;
    font-weight: 800 !important;
    font-style: normal !important;
    line-height: 1.03 !important;
    letter-spacing: -0.03em !important;
    text-transform: none !important;
    text-align: left !important;
    text-wrap: balance;
}
body .v2-h2::after, body .v2-h2::before { display: none !important; }
body .v2-text {
    margin: 0 0 18px !important;
    color: var(--v2-ink-2) !important;
    font-size: 18px !important;
    line-height: 1.6 !important;
    max-width: 62ch;
}
body .v2-lead {
    margin: 0 0 22px !important;
    color: var(--v2-ink) !important;
    font-size: clamp(20px, 1.7vw, 24px) !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    max-width: 40ch;
}
body a.v2-link {
    display: inline-block;
    padding: 8px 0;
    color: var(--v2-gold) !important;
    font-size: 17px;
    font-weight: 700;
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 6px;
}
body a.v2-link:hover { color: var(--v2-ink) !important; }
body a.v2-link:focus-visible,
.v2-focus:focus-visible {
    outline: 3px solid var(--v2-gold);
    outline-offset: 3px;
}

/* ------------------------------------------------------------------
   Productos (shop.php)
   ------------------------------------------------------------------ */
body.v2-shop .page_content_wrap { background: var(--v2-ground) !important; }
body.v2-shop .filter-section {
    background: var(--v2-ground-2) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 24px !important;
    margin-bottom: 40px !important;
}
body.v2-shop .filter-section h5 {
    margin: 0 0 16px !important;
    color: var(--v2-ink) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    font-style: normal !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
}
body.v2-shop .filter-item label {
    color: var(--v2-ink-2) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
body.v2-shop .filter-section .form-select,
body.v2-shop .filter-section .form-control {
    min-height: 48px;
    background-color: var(--v2-ground) !important;
    border: 2px solid var(--v2-ground-3) !important;
    border-radius: 0 !important;
    color: var(--v2-ink) !important;
    font-size: 16px !important;
    box-shadow: none !important;
}
body.v2-shop .filter-section .form-select:focus,
body.v2-shop .filter-section .form-control:focus { border-color: var(--v2-gold) !important; }
body.v2-shop .filter-section .btn-filter {
    min-width: 48px;
    min-height: 48px;
    border-radius: 0 !important;
    box-shadow: none !important;
}
body.v2-shop .filter-section .btn-search { background: var(--v2-gold) !important; border: 0 !important; }
body.v2-shop .filter-section .btn-clear { background: var(--v2-ground-3) !important; border: 0 !important; }
body.v2-shop #product_list_id {
    --bs-gutter-x: 12px;
    --bs-gutter-y: 12px;
    padding: 0 !important;
}
body.v2-shop #product_list_id > div { padding-top: 0; margin-bottom: 12px; }
body.v2-shop #product_list_id .wrapper,
body.v2-shop #product_list_id .card,
body.v2-shop #product_list_id .card-body {
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}
body button.v2-prod,
body button.v2-prod:hover,
body button.v2-prod:focus {
    background: var(--v2-ground-2) !important;
    color: var(--v2-ink) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
body button.v2-prod:hover { background: var(--v2-ground-3) !important; }
.v2-prod {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    padding: 20px 20px 22px;
    background: var(--v2-ground-2);
    border: 0;
    border-radius: 0;
    color: var(--v2-ink);
    text-align: left;
    cursor: pointer;
    transition: background-color 0.18s ease;
}
.v2-prod:hover { background: var(--v2-ground-3); }
.v2-prod:focus-visible { outline: 3px solid var(--v2-gold); outline-offset: 3px; }
.v2-prod img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    margin-bottom: 16px;
    object-fit: contain;
    transition: transform 0.3s ease;
}
.v2-prod:hover img { transform: scale(1.03); }
.v2-prod-name {
    color: var(--v2-ink);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.01em;
    text-transform: none;
}
.v2-prod-meta {
    margin-top: 4px;
    color: var(--v2-ink-2);
    font-size: 15px;
    line-height: 1.4;
}
@media (prefers-reduced-motion: reduce) {
    .v2-prod img, .v2-prod { transition: none; }
    .v2-prod:hover img { transform: none; }
}

/* ------------------------------------------------------------------
   Empresa (about-us.php)
   ------------------------------------------------------------------ */
.ab2 { background: var(--v2-ground); color: var(--v2-ink); }
.ab2-intro { padding: clamp(40px, 5vw, 72px) 0 var(--v2-section); }
.ab2-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(32px, 5vw, 80px);
    align-items: center;
}
.ab2-intro-media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.ab2-lines { padding: 0 0 var(--v2-section); }
.ab2-lines-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 40px;
}
.ab2-line {
    display: flex;
    flex-direction: column;
    padding: 28px 28px 24px;
    background: var(--v2-ground-2);
    color: var(--v2-ink) !important;
    text-decoration: none !important;
    transition: background-color 0.18s ease;
}
.ab2-line:hover { background: var(--v2-ground-3); }
.ab2-line:focus-visible { outline: 3px solid var(--v2-gold); outline-offset: 3px; }
.ab2-line img {
    width: 62%;
    height: auto;
    margin: 0 auto 24px;
    aspect-ratio: 1 / 1;
    object-fit: contain;
}
body .ab2-line-name {
    margin: 0 0 10px !important;
    color: var(--v2-ink) !important;
    font-size: clamp(26px, 2.4vw, 34px) !important;
    font-weight: 800 !important;
    font-style: normal !important;
    line-height: 1.1 !important;
    letter-spacing: -0.025em !important;
    text-transform: none !important;
}
body .ab2-line-name::after { display: none !important; }
body .ab2-line p {
    margin: 0 0 20px !important;
    color: var(--v2-ink-2) !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
}
.ab2-line-go {
    margin-top: auto;
    color: var(--v2-gold);
    font-size: 17px;
    font-weight: 700;
}
.ab2-line-go::after {
    content: " \2192";
    display: inline-block;
    transition: transform 0.18s ease;
}
.ab2-line:hover .ab2-line-go::after { transform: translateX(4px); }
.ab2-band { background: var(--v2-gold); color: var(--v2-gold-ink); padding: clamp(56px, 7vw, 96px) 0; }
.ab2-band-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    gap: clamp(32px, 5vw, 80px);
    align-items: start;
}
body .ab2-band .v2-h2 { color: var(--v2-gold-ink) !important; }
.ab2-figures {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 40px;
    margin: 0;
}
.ab2-figures dt {
    margin: 0 0 4px;
    color: var(--v2-gold-ink);
    font-size: 16px;
    font-weight: 600;
}
.ab2-figures dd {
    margin: 0;
    color: var(--v2-gold-ink);
    font-family: var(--v2-num) !important;
    font-size: clamp(40px, 4vw, 64px);
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

/* ------------------------------------------------------------------
   Distribuidores (dealers.php)
   ------------------------------------------------------------------ */
body .dealers-v2 .dv-eyebrow { display: none !important; }
/* El titulo de la pagina ya dice "Distribuidores" */
body .dealers-v2 .dv-title { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body .dealers-v2 { background: var(--v2-ground) !important; padding-top: 0 !important; }
body .dealers-v2 .dv-wrap { max-width: 1440px !important; padding-left: var(--v2-margin) !important; padding-right: var(--v2-margin) !important; }
body .dealers-v2 .dv-title-unused {
    font-size: clamp(34px, 4vw, 60px) !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
    line-height: 1.03 !important;
    text-transform: none !important;
}
body .dealers-v2 .dv-lead { color: var(--v2-ink-2) !important; font-size: 18px !important; line-height: 1.6 !important; }
body .globe-mount { border-radius: 0 !important; box-shadow: none !important; border: 0 !important; }
body .globe-hint { letter-spacing: 0 !important; text-transform: none !important; font-size: 14px !important; }
body .globe-chips { gap: 6px !important; }
body .globe-chips .globe-chip {
    border-radius: 0 !important;
    border: 0 !important;
    background: var(--v2-ground-2) !important;
    color: var(--v2-ink) !important;
    min-height: 40px;
    padding: 8px 14px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
body .globe-chips .globe-chip:hover { background: var(--v2-ground-3) !important; }
body .globe-chips .globe-chip.is-active { background: var(--v2-gold) !important; color: var(--v2-gold-ink) !important; }
body .globe-chips .globe-chip:focus-visible { outline: 3px solid var(--v2-gold) !important; outline-offset: 2px; }
body .dealers-dialog { border-radius: 0 !important; }
body .dealers-dialog .dd-eyebrow { display: none !important; }
body .dealers-dialog .dd-title { font-weight: 800 !important; letter-spacing: -0.02em !important; text-transform: none !important; }
body .dealers-dialog .dd-input { border-radius: 0 !important; }

/* ------------------------------------------------------------------
   Footer: sellos ISO sin pildoras
   ------------------------------------------------------------------ */
body .site-footer [class*="sf-iso"],
body .site-footer [class*="sf-badge"] { border-radius: 0 !important; }

/* ------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------ */
@media (max-width: 900px) {
    .ab2-intro-grid, .ab2-band-grid { grid-template-columns: 1fr; }
    .ab2-intro-media { order: -1; }
    .ab2-lines-grid { grid-template-columns: 1fr; }
    .ab2-line img { width: 46%; }
}
@media (max-width: 480px) {
    .ab2-figures { grid-template-columns: 1fr 1fr; gap: 24px; }
    .ab2-figures div:last-child { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
    .ab2-line, .ab2-line-go::after { transition: none; }
}

/* Productos: mismo ancho y margen que el titulo */
body.v2-shop .page_content_wrap.page_paddings_yes { padding-top: 8px !important; }
body.v2-shop .page_content_wrap > .content_wrap {
    width: auto !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 0 var(--v2-margin) !important;
}
body.v2-shop .filter-section { margin-left: 0 !important; margin-right: 0 !important; max-width: none !important; }
body.v2-shop #product_list_id { margin-left: -6px !important; margin-right: -6px !important; }

/* Boton flotante de catalogo (shop) */
body .catalogo a.btn {
    background: var(--v2-gold) !important;
    color: var(--v2-gold-ink) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 10px 14px !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    align-items: center;
}
body .catalogo a.btn .material-icons { color: var(--v2-gold-ink) !important; }
body .catalogo a.btn:focus-visible { outline: 3px solid var(--v2-ink); outline-offset: 3px; }
@media (max-width: 767px) {
    body .catalogo {
        top: auto !important;
        bottom: 16px !important;
        left: 16px !important;
        transform: none !important;
    }
    body .catalogo a.btn { flex-direction: row !important; gap: 6px; }
    .v2-prod { padding: 12px 12px 16px; }
    .v2-prod-name { font-size: 16px; }
    .v2-prod-meta { font-size: 14px; }
}

/* Auditoria 2 */
body .top_panel_title .breadcrumbs a:focus-visible { outline: 3px solid var(--v2-gold); outline-offset: 3px; }
body.v2-shop .v2-empty { list-style: none; padding: 48px 0 !important; }
body.v2-shop .v2-empty p { margin: 0 0 16px !important; color: var(--v2-ink) !important; font-size: 20px !important; font-weight: 700 !important; }
body.v2-shop button.v2-empty-btn {
    min-height: 48px; padding: 0 24px !important;
    background: var(--v2-gold) !important; color: var(--v2-gold-ink) !important;
    border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
    font-size: 16px !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: 0 !important;
}
body.v2-shop button.v2-empty-btn:focus-visible { outline: 3px solid var(--v2-ink); outline-offset: 3px; }
body .globe-mount { background: #0d0e11 !important; }
body .globe-hint { color: rgba(255, 255, 255, 0.7) !important; font-size: 13px !important; }

/* ------------------------------------------------------------------
   Distribuidores: globo primero, centrado, con entrada animada
   ------------------------------------------------------------------ */
body .dealers-v2 .dv-lead-after { margin: 28px 0 20px !important; max-width: 62ch; }
.globe-mount .globe-el { transition: opacity 0.9s ease, transform 1.2s cubic-bezier(0.16, 1, 0.3, 1); }
.globe-mount.is-intro:not(.is-in) .globe-el { opacity: 0; transform: scale(0.82); }
.globe-mount .globe-hint { transition: opacity 0.4s ease; }
@media (max-width: 767px) {
    body .dealers-v2 { padding-bottom: 48px !important; }
    body .dealers-v2 .dv-wrap:first-child { display: none; }
    body .globe-mount {
        height: clamp(360px, calc(100svh - 300px), 560px) !important;
        min-height: 0 !important;
        margin: 0 calc(-1 * var(--v2-margin)) !important;
        border-radius: 0 !important;
        background: transparent !important;
    }
    body .globe-hint { font-size: 13px !important; bottom: 8px !important; }
    body .dealers-v2 .dv-lead-after { margin-top: 20px !important; font-size: 17px !important; }
}
@media (prefers-reduced-motion: reduce) {
    .globe-mount .globe-el { transition: none; }
}

/* Boton flotante de WhatsApp: icono centrado */
body a.whatsapp {
    display: flex !important;
    align-items: center;
    justify-content: center;
    line-height: 1 !important;
    text-decoration: none !important;
}
body a.whatsapp .whatsapp-icon {
    display: block;
    margin: 0 !important;
    line-height: 1 !important;
    font-size: 30px;
}

/* Cabecera con foto: Productos (balines cayendo) */
body.v2-head-caida .top_panel_title .top_panel_title_inner {
    min-height: clamp(260px, 32vw, 420px) !important;
    display: flex !important;
    align-items: flex-end;
    background-image: linear-gradient(rgba(17, 18, 20, 0.45), rgba(17, 18, 20, 0.45)), url("../../content/image/home/cabecera-caida-2000.webp") !important;
    background-size: cover !important;
    background-position-x: 50%;
    background-position-y: 50%;
}
body.v2-head-caida .top_panel_title .top_panel_title_inner .content_wrap { width: 100% !important; }
/* pantallas anchas: recorte apaisado propio, para que se vean los balines nitidos y no solo el desenfoque */
@media (min-width: 1700px) {
    body.v2-head-caida .top_panel_title .top_panel_title_inner {
        background-image: linear-gradient(rgba(17, 18, 20, 0.45), rgba(17, 18, 20, 0.45)), url("../../content/image/home/cabecera-caida-ancha-3200.webp") !important;
        background-position-y: 40%;
    }
}
body.v2-head-caida .page_content_wrap.page_paddings_yes { padding-top: clamp(28px, 3vw, 44px) !important; }
@media (max-width: 767px) {
    body.v2-head-caida .top_panel_title .top_panel_title_inner {
        background-image: linear-gradient(rgba(17, 18, 20, 0.45), rgba(17, 18, 20, 0.45)), url("../../content/image/home/cabecera-caida-1000.webp") !important;
    }
}

/* Footer: misma grilla y margenes que el resto de la pagina */
body .site-footer .sf-inner {
    max-width: 1440px !important;
    padding: 72px var(--v2-margin) 56px !important;
    grid-template-columns: minmax(170px, 0.8fr) 1.4fr 1fr 1.2fr !important;
    gap: 40px 56px !important;
    align-items: start;
}
body .site-footer .sf-logo {
    width: 180px !important;
    margin: 0 0 24px calc(-180px * 31 / 600) !important; /* el archivo tiene margen transparente a la izquierda */
}
body .site-footer .sf-bottom-inner {
    max-width: 1440px !important;
    padding: 20px var(--v2-margin) !important;
}
@media (max-width: 1023px) {
    body .site-footer .sf-inner { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 639px) {
    body .site-footer .sf-inner {
        grid-template-columns: 1fr 1fr !important;
        gap: 36px 24px !important;
        padding: 48px var(--v2-margin) 36px !important;
    }
    body .site-footer .sf-brand,
    body .site-footer .sf-contact { grid-column: 1 / -1; }
    body .site-footer .sf-bottom-inner { justify-content: space-between !important; }
}

/* ------------------------------------------------------------------
   Productos: animaciones (html.v2-anim, sin "reducir movimiento")
   ------------------------------------------------------------------ */
@keyframes v2-paneo { from { background-position-x: 58%; } to { background-position-x: 50%; } }
@keyframes v2-sube { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }
html.v2-anim body.v2-head-caida .top_panel_title .top_panel_title_inner {
    animation: v2-paneo 2.4s cubic-bezier(0.16, 1, 0.3, 1) both;
}
html.v2-anim body.v2-shop .top_panel_title .content_wrap > * {
    animation: v2-sube 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}
html.v2-anim body.v2-shop .top_panel_title .page_title { animation-delay: 0.12s; }
html.v2-anim body.v2-shop .top_panel_title .breadcrumbs { animation-delay: 0.05s; }
html.v2-anim body.v2-shop .filter-section {
    animation: v2-sube 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.3s both;
}
html.v2-anim body.v2-shop #product_list_id > div {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity 0.6s ease, transform 0.75s cubic-bezier(0.2, 0.7, 0.2, 1);
}
html.v2-anim body.v2-shop #product_list_id > div.is-in { opacity: 1; transform: none; }
html.v2-anim body.v2-shop #product_list_id > div.sin-anim { transition: none !important; }
html.v2-anim body.v2-shop #product_list_id > .v2-empty { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
    html.v2-anim body.v2-shop * { animation: none !important; }
    html.v2-anim body.v2-shop #product_list_id > div { opacity: 1 !important; transform: none !important; }
}
