:root{
    --black:#0f0f10;
    --ink:#222;
    --muted:#727272;
    --cream:#f3ecdf;
    --line:#e5e1da;
    --green:#2f7d4f;
    --white:#fff;
}
*{box-sizing:border-box}
body{
    margin:0;
    font-family:"Manrope", system-ui, sans-serif;
    color:var(--ink);
    background:#fff;
    letter-spacing:.02em;
}
.site-navbar{
    background:#0f0f10;
    min-height:96px;
    padding:.75rem 0;
    z-index:1050;
}
.nav-container{
    max-width:1760px;
    padding:0 clamp(1rem,3vw,4rem);
    gap:1.25rem;
}
.brand-block{
    display:flex;
    align-items:center;
    gap:1rem;
    width:clamp(245px,24vw,390px);
    min-width:245px;
    overflow:hidden;
}
.brand-logo{
    width:72px!important;
    height:72px!important;
    object-fit:contain;
    background:#fff;
    padding:.25rem;
    border-radius:0!important;
    flex:0 0 72px;
}
.brand-text{display:flex;flex-direction:column;line-height:1;min-width:0}
.brand-text strong{
    color:#fff;
    font-size:clamp(1.2rem,1.65vw,2rem);
    font-weight:800;
    letter-spacing:-.055em;
    text-transform:uppercase;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.brand-text small{
    color:rgba(255,255,255,.7);
    font-size:.75rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
    margin-top:.45rem;
}
.main-nav{align-items:center;gap:.1rem}
.site-navbar .nav-link{
    color:#fff!important;
    font-size:.83rem;
    font-weight:800;
    text-transform:uppercase;
    padding:.65rem .55rem!important;
    white-space:nowrap;
}
.nav-cta-btn{
    background:var(--cream);
    border-radius:999px;
    padding:.85rem 1.35rem;
    color:#111!important;
    font-weight:900;
    text-transform:uppercase;
    font-size:.85rem;
}
.custom-toggler{background:var(--cream);margin-left:auto}
.flash-wrap{position:fixed;top:110px;left:0;right:0;z-index:2000;pointer-events:none}.flash-wrap .alert{pointer-events:auto}
.home-hero{
    position:relative;
    min-height:720px;
    padding-top:120px;
    display:flex;
    align-items:center;
    background:
        linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.25)),
        var(--hero-bg-url),
        linear-gradient(135deg,#111,#333);
    background-size:cover;
    background-position:center;
    color:#fff;
}
.home-hero-content{max-width:860px;padding:5rem 0}
.home-hero h1{
    font-size:clamp(3.2rem,7vw,7rem);
    line-height:.92;
    font-weight:800;
    letter-spacing:-.06em;
    max-width:920px;
}
.home-hero p{font-size:1.25rem;line-height:1.7;max-width:720px;color:rgba(255,255,255,.78)}
.eyebrow{
    display:inline-block;
    font-family:"Oswald",sans-serif;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-weight:700;
    color:var(--green);
    margin-bottom:.8rem;
}
.eyebrow.light{color:#f3ecdf}
.section-padding{padding:90px 0}
.section-heading h2{font-size:clamp(2rem,4vw,4.5rem);font-weight:800;letter-spacing:-.05em}
.section-heading p{color:var(--muted)}
.shop-layout{
    display:grid;
    grid-template-columns:320px minmax(0,1fr);
    gap:2rem;
    padding-top:125px;
}
.shop-sidebar{
    padding:2rem 2rem 3rem;
    border-right:1px solid var(--line);
    min-height:calc(100vh - 125px);
    position:sticky;
    top:96px;
    align-self:start;
}
.filter-title{
    font-family:"Oswald",sans-serif;
    text-transform:uppercase;
    font-size:1.1rem;
    margin-bottom:1.2rem;
}
.filter-group{border-bottom:1px solid var(--line);padding:1rem 0}
.filter-heading{
    width:100%;
    border:0;
    background:transparent;
    text-align:left;
    font-family:"Oswald",sans-serif;
    text-transform:uppercase;
    font-size:1rem;
    padding:0 0 .75rem;
}
.check-row{display:flex;align-items:center;gap:.55rem;margin:.55rem 0;color:#333;font-size:.92rem}
.check-row input{width:16px;height:16px}
.filter-search{width:100%;border:1px solid var(--line);padding:.75rem;margin-bottom:.65rem}
.tradein-mini-cta{
    display:block;
    margin-top:1rem;
    background:#111;
    color:#fff;
    text-decoration:none;
    border-radius:999px;
    padding:.85rem 1rem;
    text-align:center;
    font-weight:800;
}
.shop-main{padding:0 4rem 5rem 0}
.shop-search-row{padding:0 0 1rem}
.search-box{border:1px solid var(--line);height:48px;display:flex;align-items:center;gap:.75rem;padding:0 1rem;max-width:100%}
.search-box input{border:0;outline:0;width:100%}
.shop-toolbar{display:flex;justify-content:space-between;align-items:center;margin:1rem 0 2rem}
.toolbar-actions{display:flex;gap:.75rem}
.toolbar-actions select{border:0;background:#f7f7f7;padding:.85rem 1rem;text-transform:uppercase;letter-spacing:.08em}
.shop-heading{margin-bottom:2rem}
.shop-heading h1{font-size:clamp(2.2rem,4vw,4.8rem);font-weight:800;letter-spacing:-.055em}
.shop-heading p{color:var(--muted);max-width:720px}
.shop-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:3rem;
    row-gap:5rem;
}
.shop-product-card{text-align:center;position:relative}
.shop-product-image{display:flex;height:250px;align-items:center;justify-content:center;text-decoration:none;position:relative}
.shop-product-image img{max-width:100%;max-height:245px;object-fit:contain;transition:.25s ease}
.shop-product-card:hover img{transform:translateY(-5px) scale(1.02)}
.discount-badge{position:absolute;top:5px;right:10px;background:#111;color:#fff;border-radius:999px;padding:.3rem .6rem;font-weight:800;font-size:.78rem}
.shop-product-info h3{
    font-size:1rem;
    font-weight:600;
    letter-spacing:.22em;
    line-height:1.55;
    text-transform:none;
    min-height:52px;
}
.shop-product-info p{color:var(--muted);font-size:.82rem;margin-bottom:.3rem}
.shop-product-info strong{display:block;font-size:1.2rem;color:#111}
.shop-actions{display:flex;justify-content:center;gap:.85rem;margin-top:.75rem}
.shop-actions a{font-size:.8rem;color:#111;text-transform:uppercase;font-weight:800;text-decoration:none;border-bottom:1px solid #111}
.old-price{text-decoration:line-through;color:#888}
.empty-shop{padding:4rem;text-align:center;background:#f8f8f8}
.product-detail-page{padding:150px 0 80px}
.back-link{color:#111;text-decoration:none;font-weight:800}
.detail-title{font-size:clamp(2.5rem,5vw,5rem);font-weight:800;letter-spacing:-.05em;line-height:.95}
.detail-text{color:var(--muted);font-size:1.05rem;line-height:1.7}
.detail-price{font-size:2.2rem;font-weight:800;color:#111;margin:1rem 0}
.category-badge{display:inline-block;background:#111;color:#fff;border-radius:999px;padding:.45rem .8rem;font-weight:800;font-size:.75rem;margin-bottom:1rem}
.detail-list{list-style:none;padding:0;margin:1.5rem 0}.detail-list li{padding:.85rem 0;border-bottom:1px solid var(--line);font-weight:600}
.detail-list li:before{content:"✓";color:var(--green);margin-right:.6rem;font-weight:900}
.detail-carousel-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:1rem;box-shadow:0 20px 55px rgba(0,0,0,.08)}
.carousel-product-media{width:100%;height:520px;object-fit:contain;background:#fff;border-radius:22px}
.zoom-media-btn{width:100%;border:0;background:transparent;padding:0;position:relative;cursor:zoom-in}
.zoom-hint{position:absolute;right:18px;bottom:18px;background:rgba(0,0,0,.72);color:#fff;border-radius:999px;padding:.5rem .8rem;font-size:.8rem;font-weight:800}
.custom-carousel-control{width:52px;height:52px;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.62);border-radius:50%;opacity:1;margin:0 .75rem}
.carousel-thumbs{display:flex;gap:.75rem;overflow-x:auto;padding:.9rem .2rem .2rem}.thumb-btn{border:2px solid transparent;background:#fff;border-radius:16px;padding:.35rem;min-width:92px;height:74px}.thumb-btn.active,.thumb-btn:hover{border-color:var(--green)}.thumb-btn img{width:100%;height:100%;object-fit:cover;border-radius:12px}.video-thumb{height:100%;display:flex;align-items:center;justify-content:center;background:#111;color:#fff;border-radius:12px;font-weight:800}
.zoom-modal-content{background:rgba(0,0,0,.94)}.zoom-modal-body{display:flex;align-items:center;justify-content:center;overflow:auto;padding:3rem}#zoomModalImage{max-height:92vh;max-width:96vw;transition:.15s;cursor:zoom-in}#zoomModalImage.zoomed{transform:scale(1.8);cursor:zoom-out}.zoom-close{position:fixed;top:22px;right:24px;z-index:2000}
.tradein-strip{background:#111;color:#fff;padding:70px 0}.tradein-strip h2{font-size:clamp(2rem,4vw,4.2rem);font-weight:800;letter-spacing:-.05em}.tradein-strip p{color:rgba(255,255,255,.72)}
.tradein-page,.admin-page,.admin-login-section{padding:150px 0 90px}
.tradein-header{text-align:center;max-width:920px;margin:0 auto 3rem}.tradein-header h1{font-size:clamp(2.5rem,5vw,5.4rem);font-weight:800;letter-spacing:-.055em}.tradein-header p{color:var(--muted);font-size:1.1rem;line-height:1.7}
.tradein-form,.admin-form-card,.side-panel,.login-card,.admin-table-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:2rem;box-shadow:0 18px 45px rgba(0,0,0,.07)}
.form-control,.form-select{border-radius:14px;padding:.85rem 1rem;border:1px solid var(--line)}
.btn-primary-custom{background:#111;color:#fff;border:0;border-radius:999px;padding:.9rem 1.4rem;font-weight:800}.btn-primary-custom:hover{background:#333;color:#fff}
.admin-topbar{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:2rem}.admin-topbar h1,.admin-form-title{font-size:clamp(2.2rem,4vw,4.6rem);font-weight:800;letter-spacing:-.05em}.admin-topbar p{color:var(--muted)}
.admin-stat{background:#fff;border:1px solid var(--line);border-radius:24px;padding:1.35rem}.admin-stat span{display:block;color:var(--muted);font-weight:800}.admin-stat strong{font-size:2rem}
.admin-thumb{width:82px;height:58px;object-fit:contain;background:#f6f6f6;border-radius:12px}.admin-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.admin-media-item{background:#f6f6f6;border-radius:16px;padding:.55rem}.admin-media-item img,.admin-media-item video{width:100%;height:110px;object-fit:cover;border-radius:12px}
.footer-section{padding:45px 0;border-top:1px solid var(--line);background:#fff}.footer-logo{width:60px;height:60px;object-fit:contain}.footer-link{color:#111;text-decoration:none;font-weight:800;margin-left:1rem}
.whatsapp-float{position:fixed;right:22px;bottom:22px;background:#25D366;color:#fff;text-decoration:none;border-radius:999px;padding:.8rem 1rem;font-weight:900;z-index:1500;box-shadow:0 15px 35px rgba(37,211,102,.35)}
@media(max-width:1399.98px){
    .brand-block{width:auto;max-width:70vw}.nav-collapse{margin-top:1rem;background:#151516;border-radius:22px;padding:1rem}.main-nav{align-items:flex-start}.nav-cta-btn{width:100%;text-align:center}.nav-actions{width:100%;margin-top:1rem}
    .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:991px){
    .shop-layout{grid-template-columns:1fr}.shop-sidebar{position:relative;top:auto;min-height:auto;border-right:0;border-bottom:1px solid var(--line)}.shop-main{padding:0 1.25rem 4rem}.shop-toolbar{flex-direction:column;align-items:flex-start;gap:1rem}
}
@media(max-width:575px){
    .brand-logo{width:58px!important;height:58px!important;flex-basis:58px}.brand-text strong{font-size:1.05rem}.brand-text small{font-size:.62rem}.shop-grid{grid-template-columns:1fr}.shop-product-info h3{letter-spacing:.12em}.toolbar-actions{width:100%;flex-direction:column}.toolbar-actions select{width:100%}.home-hero h1{font-size:3.2rem}.carousel-product-media{height:360px}.whatsapp-float strong{display:none}
}

/* =========================================================
   IDIOMAS + MODO CLARO / OSCURO
   ========================================================= */
.nav-tools{
    display:flex;
    align-items:center;
    gap:.75rem;
    flex:0 0 auto;
}
.lang-switch{
    display:flex;
    align-items:center;
    gap:.25rem;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.10);
    border-radius:999px;
    padding:.25rem;
}
.lang-switch a{
    color:#fff;
    text-decoration:none;
    font-size:.75rem;
    font-weight:900;
    padding:.45rem .62rem;
    border-radius:999px;
    line-height:1;
}
.lang-switch a.active{
    background:var(--cream);
    color:#111;
}
.theme-toggle{
    display:flex;
    align-items:center;
    gap:.45rem;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.08);
    color:#fff;
    border-radius:999px;
    padding:.65rem .9rem;
    font-weight:900;
    font-size:.78rem;
    white-space:nowrap;
}
.theme-toggle:hover{
    background:rgba(255,255,255,.14);
}

html[data-theme="dark"]{
    color-scheme:dark;
}
html[data-theme="dark"] body{
    background:#101112;
    color:#f4f4f2;
}
html[data-theme="dark"] .bg-white,
html[data-theme="dark"] .footer-section,
html[data-theme="dark"] .tradein-form,
html[data-theme="dark"] .admin-form-card,
html[data-theme="dark"] .side-panel,
html[data-theme="dark"] .login-card,
html[data-theme="dark"] .admin-table-card,
html[data-theme="dark"] .admin-stat,
html[data-theme="dark"] .detail-carousel-card{
    background:#171819!important;
    border-color:rgba(255,255,255,.10);
    color:#f4f4f2;
}
html[data-theme="dark"] .shop-sidebar{
    background:#101112;
    border-color:rgba(255,255,255,.10);
}
html[data-theme="dark"] .shop-main,
html[data-theme="dark"] .shop-layout,
html[data-theme="dark"] .product-detail-page,
html[data-theme="dark"] .tradein-page,
html[data-theme="dark"] .admin-page,
html[data-theme="dark"] .admin-login-section{
    background:#101112;
}
html[data-theme="dark"] .filter-group,
html[data-theme="dark"] .detail-list li,
html[data-theme="dark"] .footer-section{
    border-color:rgba(255,255,255,.10);
}
html[data-theme="dark"] .filter-heading,
html[data-theme="dark"] .shop-product-info strong,
html[data-theme="dark"] .detail-price,
html[data-theme="dark"] .back-link,
html[data-theme="dark"] .footer-link,
html[data-theme="dark"] .shop-actions a{
    color:#f4f4f2;
}
html[data-theme="dark"] .shop-product-info p,
html[data-theme="dark"] .shop-heading p,
html[data-theme="dark"] .section-heading p,
html[data-theme="dark"] .tradein-header p,
html[data-theme="dark"] .detail-text,
html[data-theme="dark"] .text-muted{
    color:#b8b8b8!important;
}
html[data-theme="dark"] .search-box,
html[data-theme="dark"] .filter-search,
html[data-theme="dark"] .form-control,
html[data-theme="dark"] .form-select,
html[data-theme="dark"] .toolbar-actions select{
    background:#1d1f20;
    border-color:rgba(255,255,255,.12);
    color:#f4f4f2;
}
html[data-theme="dark"] .search-box input{
    background:transparent;
    color:#f4f4f2;
}
html[data-theme="dark"] .shop-product-image img{
    filter:drop-shadow(0 20px 35px rgba(0,0,0,.35));
}
html[data-theme="dark"] .empty-shop,
html[data-theme="dark"] .admin-media-item{
    background:#1d1f20;
}
html[data-theme="dark"] .carousel-product-media{
    background:#171819;
}
html[data-theme="dark"] .table{
    --bs-table-bg:#171819;
    --bs-table-color:#f4f4f2;
    --bs-table-border-color:rgba(255,255,255,.10);
}
html[data-theme="dark"] .btn-outline-dark{
    color:#f4f4f2;
    border-color:#f4f4f2;
}
html[data-theme="dark"] .btn-outline-dark:hover{
    background:#f4f4f2;
    color:#111;
}

@media(max-width:1399.98px){
    .nav-tools{
        width:100%;
        flex-wrap:wrap;
        margin-top:.75rem;
    }
    .lang-switch,
    .theme-toggle{
        flex:1;
        justify-content:center;
    }
}
@media(max-width:575px){
    .theme-label{
        display:none;
    }
    .lang-switch a{
        padding:.45rem .5rem;
    }
}


.admin-shortcuts{
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
    margin-bottom:1.5rem;
}
.admin-shortcuts a{
    text-decoration:none;
    border:1px solid var(--line);
    border-radius:999px;
    padding:.75rem 1rem;
    font-weight:800;
    color:#111;
    background:#fff;
}
html[data-theme="dark"] .admin-shortcuts a{
    color:#f4f4f2;
    background:#171819;
    border-color:rgba(255,255,255,.10);
}
.config-preview{
    width:100%;
    height:240px;
    object-fit:cover;
    border-radius:20px;
    border:1px solid var(--line);
    background:#f6f6f6;
}
.config-help{
    font-size:.9rem;
    color:var(--muted);
}


/* =========================================================
   AJUSTES: FILTRO PRECIO, CONTADOR VISITAS Y ESPACIADO NAV
   ========================================================= */
.nav-tools{
    margin-right:1rem;
}
.nav-actions{
    margin-left:.35rem;
}
@media(min-width:1400px){
    .nav-tools{
        padding-right:1rem;
        border-right:1px solid rgba(255,255,255,.16);
    }
    .nav-actions{
        padding-left:.35rem;
    }
}
.price-range-box{
    padding:.15rem 0 .35rem;
}
.price-range-box input[type="range"]{
    width:100%;
    accent-color:#111;
}
.price-range-values{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:.75rem;
    margin-top:.55rem;
    font-size:.86rem;
}
.price-range-values strong{
    background:#111;
    color:#fff;
    border-radius:999px;
    padding:.35rem .7rem;
    font-size:.82rem;
}
.clear-price-btn{
    width:100%;
    margin-top:.75rem;
    border:1px solid var(--line);
    background:#fff;
    color:#111;
    border-radius:999px;
    padding:.55rem .8rem;
    font-weight:800;
    font-size:.78rem;
    text-transform:uppercase;
}
.visit-counter-card{
    display:inline-flex;
    align-items:center;
    gap:.85rem;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.22);
    backdrop-filter:blur(14px);
    color:#fff;
    border-radius:24px;
    padding:.95rem 1.1rem;
    margin:1.5rem 0 1.2rem;
    box-shadow:0 18px 45px rgba(0,0,0,.22);
}
.visit-counter-card small{
    display:block;
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:rgba(255,255,255,.72);
    font-weight:900;
}
.visit-counter-card strong{
    display:block;
    font-size:1.55rem;
    line-height:1;
    font-weight:900;
}
.visit-pulse{
    width:14px;
    height:14px;
    border-radius:50%;
    background:#25D366;
    box-shadow:0 0 0 0 rgba(37,211,102,.7);
    animation:visitPulse 1.8s infinite;
}
@keyframes visitPulse{
    0%{box-shadow:0 0 0 0 rgba(37,211,102,.7)}
    70%{box-shadow:0 0 0 12px rgba(37,211,102,0)}
    100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}
}
html[data-theme="dark"] .price-range-box input[type="range"]{
    accent-color:#f3ecdf;
}
html[data-theme="dark"] .price-range-values strong{
    background:#f3ecdf;
    color:#111;
}
html[data-theme="dark"] .clear-price-btn{
    background:#171819;
    color:#f4f4f2;
    border-color:rgba(255,255,255,.14);
}
@media(max-width:1399.98px){
    .nav-tools{
        margin-right:0;
    }
    .nav-actions{
        margin-left:0;
    }
}


.login-security-note{
    font-size:.86rem;
    color:var(--muted);
    text-align:center;
    line-height:1.5;
}
html[data-theme="dark"] .login-security-note{
    color:#b8b8b8;
}


/* =========================================================
   CAMBIOS CLIENTE: ADMIN ABAJO, MARQUESINA, BANNERS, WHATSAPP, CALENDARIO
   ========================================================= */

/* Logo transparente y más grande */
.site-navbar{
    min-height:116px!important;
}
.brand-logo,
.footer-logo,
.login-logo{
    background:transparent!important;
    padding:0!important;
    box-shadow:none!important;
    border:none!important;
}
.brand-logo{
    width:90px!important;
    height:90px!important;
    flex:0 0 90px!important;
    object-fit:contain!important;
}

/* Admin se deja en footer, discreto */
.footer-admin-link{
    opacity:.72;
}
.footer-admin-link:hover{
    opacity:1;
}

/* Banner múltiple con imagen o video */
.home-hero{
    overflow:hidden;
    background:
        linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.25)),
        var(--hero-bg-url),
        linear-gradient(135deg,#111,#333);
}
.hero-media-rotator{
    position:absolute;
    inset:0;
    z-index:0;
}
.hero-media-slide{
    position:absolute;
    inset:0;
    opacity:0;
    transition:opacity 1.1s ease;
}
.hero-media-slide.active{
    opacity:1;
}
.hero-media-slide img,
.hero-media-slide video{
    width:100%;
    height:100%;
    object-fit:cover;
}
.home-hero-overlay,
.home-hero .container{
    position:relative;
    z-index:2;
}

/* Marquesina de fotos/videos en cards */
.product-marquee{
    overflow:hidden;
    position:relative;
}
.product-marquee-track{
    display:flex;
    align-items:center;
    height:100%;
    min-width:100%;
    gap:1rem;
}
.product-marquee-item{
    min-width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}
.product-marquee-item img,
.product-marquee-item video{
    max-width:100%;
    max-height:245px;
    object-fit:contain;
}
.shop-product-card:hover .product-marquee-track{
    animation:productMarquee 9s linear infinite;
}
.shop-product-card:hover .product-marquee-item video{
    autoplay:true;
}
@keyframes productMarquee{
    0%{transform:translateX(0)}
    100%{transform:translateX(-100%)}
}

/* WhatsApp real */
.whatsapp-float{
    display:flex;
    align-items:center;
    gap:.55rem;
}
.whatsapp-icon{
    width:24px;
    height:24px;
    display:block;
}

/* Panel disponibilidad */
.rental-availability-panel{
    margin:1.5rem 0;
    padding:1.25rem;
    border:1px solid var(--line);
    border-radius:22px;
    background:#fafafa;
}
.rental-availability-panel h3{
    font-size:1.05rem;
    font-weight:900;
    margin-bottom:.75rem;
}
.rental-availability-panel ul{
    margin:0 0 .75rem;
    padding-left:1rem;
}
.rental-availability-panel li{
    margin:.4rem 0;
}
.rental-availability-panel p{
    color:var(--muted);
    margin-bottom:.5rem;
}

/* Admin banners/calendario */
.banner-admin-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.banner-admin-grid .admin-media-item img,
.banner-admin-grid .admin-media-item video{
    height:160px;
}
.media-delete-forms{
    display:none;
}

html[data-theme="dark"] .rental-availability-panel{
    background:#171819;
    border-color:rgba(255,255,255,.10);
}
html[data-theme="dark"] .rental-availability-panel p{
    color:#b8b8b8;
}

@media(max-width:991px){
    .banner-admin-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:575px){
    .site-navbar{
        min-height:96px!important;
    }
    .brand-logo{
        width:70px!important;
        height:70px!important;
        flex-basis:70px!important;
    }
    .whatsapp-float strong{
        display:inline!important;
        font-size:.82rem;
    }
    .whatsapp-icon{
        width:22px;
        height:22px;
    }
    .banner-admin-grid{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   FIX: CARRUSEL PRINCIPAL CON TÍTULO/SUBTÍTULO POR BANNER
   ========================================================= */
.home-hero{
    position:relative!important;
    min-height:720px!important;
    padding-top:0!important;
    display:block!important;
    overflow:hidden!important;
    background:#111!important;
}

.hero-media-rotator{
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
}

.hero-media-slide{
    position:absolute!important;
    inset:0!important;
    opacity:0!important;
    visibility:hidden!important;
    transition:opacity 1s ease, visibility 1s ease!important;
    display:block!important;
}

.hero-media-slide.active{
    opacity:1!important;
    visibility:visible!important;
}

.hero-slide-media,
.hero-slide-media img,
.hero-slide-media video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}

.hero-slide-media img,
.hero-slide-media video{
    object-fit:cover;
}

.hero-slide-shade{
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg, rgba(0,0,0,.80), rgba(0,0,0,.40) 48%, rgba(0,0,0,.20)),
        linear-gradient(0deg, rgba(0,0,0,.45), rgba(0,0,0,0) 45%);
    z-index:2;
}

.hero-slide-container{
    position:relative;
    z-index:3;
    min-height:720px;
    display:flex;
    align-items:center;
    padding-top:120px;
    padding-bottom:80px;
}

.home-hero .home-hero-content{
    max-width:860px;
    padding:0;
    color:#fff;
}

.home-hero .home-hero-content h1{
    text-shadow:0 14px 40px rgba(0,0,0,.45);
}

.home-hero .home-hero-content p{
    text-shadow:0 10px 28px rgba(0,0,0,.45);
}

.hero-dots{
    position:absolute;
    left:50%;
    bottom:28px;
    transform:translateX(-50%);
    z-index:5;
    display:flex;
    gap:.55rem;
    background:rgba(0,0,0,.28);
    border:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(12px);
    border-radius:999px;
    padding:.55rem .75rem;
}

.hero-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    border:0;
    background:rgba(255,255,255,.45);
    padding:0;
}

.hero-dot.active{
    width:30px;
    border-radius:999px;
    background:#fff;
}

.home-hero-overlay{
    display:none!important;
}

@media(max-width:575px){
    .home-hero,
    .hero-slide-container{
        min-height:680px!important;
    }

    .hero-slide-container{
        padding-top:120px;
        padding-bottom:70px;
    }

    .hero-dots{
        bottom:18px;
    }
}


/* =========================================================
   BANNER GENERAL COMO PRIMER SLIDE
   ========================================================= */
.hero-media-slide:first-child .hero-slide-shade{
    background:
        linear-gradient(90deg, rgba(0,0,0,.80), rgba(0,0,0,.42) 48%, rgba(0,0,0,.22)),
        linear-gradient(0deg, rgba(0,0,0,.45), rgba(0,0,0,0) 45%);
}


/* =========================================================
   MARQUESINA AUTOMÁTICA EN TARJETAS DE PRODUCTO
   ========================================================= */
.product-marquee{
    overflow:hidden!important;
}

.product-marquee-track{
    display:flex!important;
    align-items:center!important;
    height:100%!important;
    min-width:100%!important;
    gap:1rem!important;
    will-change:transform;
}

/* Si hay varias fotos/videos, se mueve sola sin pasar el cursor */
.product-marquee-track{
    animation:productMarqueeAuto 14s linear infinite!important;
}

/* Al pasar cursor solo pausamos para que el usuario pueda mirar */
.shop-product-card:hover .product-marquee-track{
    animation-play-state:paused!important;
}

/* Evita que la regla anterior de hover duplique comportamiento */
.shop-product-card:hover .product-marquee-track{
    animation-name:productMarqueeAuto!important;
    animation-duration:14s!important;
    animation-timing-function:linear!important;
    animation-iteration-count:infinite!important;
}

@keyframes productMarqueeAuto{
    0%{transform:translateX(0)}
    100%{transform:translateX(-100%)}
}

/* En móviles la marquesina también se mueve sola */
@media(max-width:575px){
    .product-marquee-track{
        animation-duration:12s!important;
    }
}


/* =========================================================
   AJUSTE: IMÁGENES CENTRADAS EN MARQUESINA DE PRODUCTOS
   ========================================================= */
.shop-product-image,
.product-marquee{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#f6f6f6!important;
}

.product-marquee-track{
    align-items:center!important;
}

.product-marquee-item{
    min-width:100%!important;
    width:100%!important;
    height:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
}

.product-marquee-item img,
.product-marquee-item video{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    display:block!important;
    margin:auto!important;
}

/* También centra la imagen principal cuando solo haya una foto */
.shop-product-image > img,
.product-card-image img,
.product-detail-media img,
.product-detail-media video{
    object-fit:contain!important;
    object-position:center center!important;
    margin:auto!important;
}

/* En modo oscuro conserva fondo elegante */
html[data-theme="dark"] .shop-product-image,
html[data-theme="dark"] .product-marquee{
    background:#151617!important;
}


/* =========================================================
   AJUSTE: BANNERS PRINCIPALES CENTRADOS Y EN PROPORCIÓN IDEAL
   ========================================================= */

/* Mantiene el hero en proporción horizontal tipo banner */
.home-hero{
    min-height:640px!important;
    height:clamp(560px, 72vh, 760px)!important;
}

/* El contenedor del slide centra siempre imagen o video */
.hero-slide-media{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#0f0f10!important;
    overflow:hidden!important;
}

/* Imagen/video en tamaño banner: llena el área, centrada */
.hero-slide-media img,
.hero-slide-media video{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    display:block!important;
}

/* El texto conserva alineación correcta sobre el banner */
.hero-slide-container{
    min-height:640px!important;
    height:clamp(560px, 72vh, 760px)!important;
    display:flex!important;
    align-items:center!important;
}

/* En desktop dejamos el texto del lado izquierdo sin tapar demasiado el centro visual */
.home-hero .home-hero-content{
    max-width:780px!important;
}

/* Preview en administrador con la misma lógica de banner */
.banner-admin-grid .admin-media-item img,
.banner-admin-grid .admin-media-item video{
    width:100%!important;
    height:180px!important;
    object-fit:cover!important;
    object-position:center center!important;
    background:#0f0f10!important;
    border-radius:16px!important;
}

@media(max-width:991px){
    .home-hero,
    .hero-slide-container{
        min-height:600px!important;
        height:600px!important;
    }

    .hero-slide-media img,
    .hero-slide-media video{
        object-position:center center!important;
    }
}

@media(max-width:575px){
    .home-hero,
    .hero-slide-container{
        min-height:620px!important;
        height:620px!important;
    }

    .hero-slide-media img,
    .hero-slide-media video{
        object-fit:cover!important;
        object-position:center center!important;
    }
}


/* =========================================================
   FIX ESTABLE: LOGO VISIBLE Y CATÁLOGO FUNCIONAL
   ========================================================= */
.site-navbar{
    min-height:112px!important;
    padding:.65rem 0!important;
    z-index:1050!important;
}

.brand-logo{
    width:86px!important;
    height:86px!important;
    flex:0 0 86px!important;
    max-width:86px!important;
    max-height:86px!important;
    object-fit:contain!important;
    object-position:center center!important;
    display:block!important;
    background:transparent!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
}

.footer-logo{
    width:68px!important;
    height:68px!important;
    object-fit:contain!important;
    background:transparent!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
}

.login-logo{
    width:96px!important;
    height:96px!important;
    object-fit:contain!important;
    background:transparent!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
}

/* Catálogo: imágenes centradas y siempre visibles */
.shop-product-image,
.product-marquee{
    min-height:245px!important;
    height:245px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    background:#f6f6f6!important;
}

.product-marquee-track{
    display:flex!important;
    align-items:center!important;
    height:100%!important;
    width:100%!important;
    min-width:100%!important;
    will-change:transform;
}

.product-marquee-item{
    min-width:100%!important;
    width:100%!important;
    height:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
}

.product-marquee-item img,
.product-marquee-item video,
.shop-product-image > img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    display:block!important;
    margin:auto!important;
}

/* Solo mover automáticamente si hay varias imágenes duplicadas */
.product-marquee-track{
    animation:productMarqueeAuto 14s linear infinite!important;
}

.shop-product-card:hover .product-marquee-track{
    animation-play-state:paused!important;
}

@keyframes productMarqueeAuto{
    0%{transform:translateX(0)}
    100%{transform:translateX(-100%)}
}

html[data-theme="dark"] .shop-product-image,
html[data-theme="dark"] .product-marquee{
    background:#151617!important;
}

@media(max-width:575px){
    .site-navbar{
        min-height:98px!important;
    }

    .brand-logo{
        width:70px!important;
        height:70px!important;
        flex-basis:70px!important;
        max-width:70px!important;
        max-height:70px!important;
    }

    .shop-product-image,
    .product-marquee{
        min-height:220px!important;
        height:220px!important;
    }
}


/* =========================================================
   CONTROL ESTABLE DEL LOGO DESDE ADMINISTRADOR
   ========================================================= */
.site-navbar{
    min-height:calc((86px * var(--logo-size-percent, 100) / 100) + 28px)!important;
    padding:.65rem 0!important;
}

.brand-logo{
    width:calc(86px * var(--logo-size-percent, 100) / 100)!important;
    height:calc(86px * var(--logo-size-percent, 100) / 100)!important;
    flex:0 0 calc(86px * var(--logo-size-percent, 100) / 100)!important;
    max-width:130px!important;
    max-height:130px!important;
    object-fit:contain!important;
    object-position:center center!important;
    display:block!important;
    background:transparent!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
}

@media(max-width:575px){
    .site-navbar{
        min-height:calc((70px * var(--logo-size-percent, 100) / 100) + 28px)!important;
    }

    .brand-logo{
        width:calc(70px * var(--logo-size-percent, 100) / 100)!important;
        height:calc(70px * var(--logo-size-percent, 100) / 100)!important;
        flex-basis:calc(70px * var(--logo-size-percent, 100) / 100)!important;
        max-width:105px!important;
        max-height:105px!important;
    }
}

/* =========================================================
   FIX MÓVIL: EVITAR IMÁGENES ENCIMADAS EN CATÁLOGO
   ========================================================= */
@media(max-width: 767px){

    .shop-product-card{
        overflow:hidden!important;
        border-radius:24px!important;
    }

    .shop-product-image,
    .product-marquee{
        width:100%!important;
        height:260px!important;
        min-height:260px!important;
        max-height:260px!important;
        overflow:hidden!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        position:relative!important;
        background:#f6f6f6!important;
    }

    .product-marquee-track{
        width:100%!important;
        height:100%!important;
        display:block!important;
        transform:none!important;
        animation:none!important;
    }

    .product-marquee-item{
        width:100%!important;
        height:100%!important;
        min-width:100%!important;
        display:none!important;
        align-items:center!important;
        justify-content:center!important;
        position:absolute!important;
        inset:0!important;
    }

    .product-marquee-item:first-child{
        display:flex!important;
    }

    .product-marquee-item img,
    .product-marquee-item video,
    .shop-product-image img{
        width:100%!important;
        height:100%!important;
        max-width:100%!important;
        max-height:100%!important;
        object-fit:contain!important;
        object-position:center center!important;
        display:block!important;
        margin:auto!important;
    }

    .discount-badge{
        z-index:5!important;
    }

    html[data-theme="dark"] .shop-product-image,
    html[data-theme="dark"] .product-marquee{
        background:#151617!important;
    }
}

/* =========================================================
   FIX DEFINITIVO MÓVIL CATÁLOGO: UNA SOLA IMAGEN POR CARD
   ========================================================= */
@media only screen and (max-width: 768px){

    .shop-grid,
    .products-grid{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:1.5rem!important;
    }

    .shop-product-card,
    .product-card{
        position:relative!important;
        overflow:hidden!important;
        height:auto!important;
        min-height:auto!important;
    }

    .shop-product-card .shop-product-image,
    .shop-product-card .product-marquee{
        position:relative!important;
        width:100%!important;
        height:280px!important;
        min-height:280px!important;
        max-height:280px!important;
        overflow:hidden!important;
        display:block!important;
        background:#f6f6f6!important;
    }

    .shop-product-card .product-marquee-track{
        position:relative!important;
        width:100%!important;
        height:280px!important;
        display:block!important;
        transform:none!important;
        animation:none!important;
        overflow:hidden!important;
    }

    .shop-product-card .product-marquee-item{
        position:absolute!important;
        inset:0!important;
        width:100%!important;
        height:280px!important;
        min-width:100%!important;
        max-width:100%!important;
        display:none!important;
        align-items:center!important;
        justify-content:center!important;
        overflow:hidden!important;
        transform:none!important;
    }

    .shop-product-card .product-marquee-item:first-child{
        display:flex!important;
    }

    .shop-product-card .product-marquee-item:nth-child(n+2){
        display:none!important;
        visibility:hidden!important;
        opacity:0!important;
    }

    .shop-product-card .product-marquee-item img,
    .shop-product-card .product-marquee-item video,
    .shop-product-card .shop-product-image img{
        width:100%!important;
        height:100%!important;
        max-width:100%!important;
        max-height:100%!important;
        object-fit:contain!important;
        object-position:center center!important;
        display:block!important;
        margin:0 auto!important;
    }

    .shop-product-card .shop-product-body,
    .shop-product-card .product-card-body{
        position:relative!important;
        z-index:2!important;
        background:#fff!important;
    }

    html[data-theme="dark"] .shop-product-card .shop-product-body,
    html[data-theme="dark"] .shop-product-card .product-card-body{
        background:#111!important;
    }

    html[data-theme="dark"] .shop-product-card .shop-product-image,
    html[data-theme="dark"] .shop-product-card .product-marquee{
        background:#151617!important;
    }
}


/* =========================================================
   FIX BANNER PRINCIPAL: TEXTO SIN ENCIMARSE
   ========================================================= */

/* Escritorio */
.home-hero .home-hero-content h1{
    line-height:1.05!important;
    margin-bottom:1rem!important;
}

.home-hero .home-hero-content p{
    line-height:1.55!important;
    margin-bottom:1.25rem!important;
}

.home-hero .visit-counter-card{
    margin:1.25rem 0!important;
}

/* Móvil */
@media(max-width: 767px){

    .home-hero,
    .hero-slide-container{
        min-height:720px!important;
        height:auto!important;
    }

    .hero-slide-container{
        align-items:center!important;
        padding-top:130px!important;
        padding-bottom:90px!important;
    }

    .home-hero .home-hero-content{
        max-width:100%!important;
        padding:0 .25rem!important;
    }

    .home-hero .home-hero-content h1{
        font-size:clamp(2rem, 9vw, 3.1rem)!important;
        line-height:1.08!important;
        letter-spacing:-.04em!important;
        margin-bottom:1rem!important;
        word-break:normal!important;
        overflow-wrap:break-word!important;
    }

    .home-hero .home-hero-content p{
        font-size:1rem!important;
        line-height:1.55!important;
        margin-bottom:1.15rem!important;
        max-width:95%!important;
    }

    .home-hero .visit-counter-card{
        margin:1.1rem 0!important;
        padding:.85rem 1rem!important;
    }

    .home-hero .d-flex.flex-wrap.gap-3{
        gap:.65rem!important;
    }

    .home-hero .btn{
        font-size:.92rem!important;
        padding:.65rem 1rem!important;
    }
}

/* Móviles muy pequeños */
@media(max-width: 390px){

    .home-hero,
    .hero-slide-container{
        min-height:760px!important;
    }

    .home-hero .home-hero-content h1{
        font-size:2rem!important;
        line-height:1.12!important;
    }

    .home-hero .home-hero-content p{
        font-size:.95rem!important;
        line-height:1.5!important;
    }

    .home-hero .btn{
        width:100%!important;
        justify-content:center!important;
    }
}


/* =========================================================
   FIX ESCRITORIO: BANNER PRINCIPAL SIN ENCIMARSE
   ========================================================= */
@media(min-width: 768px){

    .home-hero,
    .hero-slide-container{
        min-height:700px!important;
        height:auto!important;
    }

    .hero-slide-container{
        align-items:center!important;
        padding-top:150px!important;
        padding-bottom:90px!important;
    }

    .home-hero .home-hero-content{
        max-width:820px!important;
    }

    .home-hero .home-hero-content h1{
        font-size:clamp(3rem, 5.6vw, 5.4rem)!important;
        line-height:1.14!important;
        letter-spacing:-.035em!important;
        margin-bottom:1.25rem!important;
        word-break:normal!important;
        overflow-wrap:break-word!important;
    }

    .home-hero .home-hero-content p{
        font-size:1.18rem!important;
        line-height:1.65!important;
        margin-bottom:1.35rem!important;
        max-width:760px!important;
    }

    .home-hero .visit-counter-card{
        margin:1.4rem 0!important;
    }

    .home-hero .d-flex.flex-wrap.gap-3{
        gap:.85rem!important;
    }
}



/* =========================================================
   FLUJO VENTA/RENTA + CARRUSELES MANUALES
   ========================================================= */

/* Evitar espacios blancos entre fotos de tarjetas */
.product-marquee-track{
    gap:0!important;
}
.product-marquee-item{
    padding:0!important;
    margin:0!important;
}
.product-marquee-item img,
.product-marquee-item video{
    object-fit:contain!important;
    object-position:center center!important;
}

/* Flechas manuales en tarjetas */
.product-marquee{
    position:relative!important;
}
.product-card-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:8;
    width:34px;
    height:34px;
    border-radius:50%;
    border:1px solid rgba(0,0,0,.12);
    background:rgba(255,255,255,.88);
    color:#111;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.6rem;
    line-height:1;
    box-shadow:0 8px 22px rgba(0,0,0,.16);
}
.product-card-prev{ left:.65rem; }
.product-card-next{ right:.65rem; }
.product-card-arrow:hover{
    background:#fff;
}

/* Banners: flechas manuales y más tiempo de lectura */
.hero-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:7;
    width:50px;
    height:50px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.35);
    background:rgba(0,0,0,.28);
    color:#fff;
    font-size:2.2rem;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
    backdrop-filter:blur(10px);
}
.hero-arrow:hover{
    background:rgba(0,0,0,.48);
}
.hero-arrow-prev{ left:1.5rem; }
.hero-arrow-next{ right:1.5rem; }

/* Formularios de solicitud */
.request-summary-card{
    border:1px solid var(--line);
    border-radius:24px;
    background:#fff;
    padding:1.5rem;
    box-shadow:0 20px 60px rgba(0,0,0,.08);
}
.request-summary-card p{
    margin-bottom:.55rem;
}
html[data-theme="dark"] .request-summary-card{
    background:#151617;
    border-color:rgba(255,255,255,.1);
}

/* Móvil: conservar control manual sin encimar */
@media(max-width:767px){
    .product-card-arrow{
        width:38px;
        height:38px;
        font-size:1.7rem;
    }
    .hero-arrow{
        width:42px;
        height:42px;
        font-size:1.8rem;
        top:auto;
        bottom:82px;
    }
    .hero-arrow-prev{ left:1rem; }
    .hero-arrow-next{ right:1rem; }
}

/* =========================================================
   FIX FLECHAS TARJETAS VENTA / DESTACADOS
   Flechas fuera del enlace, clicables
   ========================================================= */

.shop-product-card{
    position: relative !important;
}

.product-card-controls{
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 155px !important;
    transform: translateY(-50%) !important;
    z-index: 30 !important;
    pointer-events: none !important;
}

.product-card-controls .product-card-arrow{
    pointer-events: auto !important;
}

.product-card-arrow{
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 40 !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(0,0,0,.15) !important;
    background: rgba(255,255,255,.94) !important;
    color: #111 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.8rem !important;
    line-height: 1 !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.22) !important;
    cursor: pointer !important;
}

.product-card-prev{
    left: .75rem !important;
}

.product-card-next{
    right: .75rem !important;
}

@media(max-width: 767px){
    .product-card-controls{
        top: 140px !important;
    }
}

html[data-theme="dark"] .product-card-arrow{
    background: rgba(20,20,20,.92) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.2) !important;
}


/* =========================================================
   CIERRE FINAL: MARQUESINA EN VENTA / DESTACADOS
   Sin flechas en tarjetas, solo movimiento automtico
   ========================================================= */

.shop-product-card .product-card-controls,
.shop-product-card .product-card-arrow,
.shop-product-card .product-card-bs-control{
    display: none !important;
}

.shop-product-image.product-marquee{
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 310px !important;
    overflow: hidden !important;
    background: #f4f4f4 !important;
    border-radius: 22px 22px 0 0 !important;
}

.product-marquee-track{
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    height: 100% !important;
    width: max-content !important;
    animation: productMarqueeFinal 22s linear infinite !important;
}

.product-marquee:hover .product-marquee-track{
    animation-play-state: paused !important;
}

.product-marquee-item{
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.product-marquee-item img,
.product-marquee-item video{
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
}

@keyframes productMarqueeFinal{
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@media(max-width: 767px){
    .shop-product-image.product-marquee{
        height: 260px !important;
    }

    .product-marquee-track{
        animation: none !important;
        transform: none !important;
        width: 100% !important;
    }

    .product-marquee-item{
        display: none !important;
    }

    .product-marquee-item:first-child{
        display: flex !important;
    }
}

html[data-theme="dark"] .shop-product-image.product-marquee{
    background: #151617 !important;
}


/* =========================================================
   CORRECCIN FINAL: IMGENES SIN AGRANDARSE
   Venta / destacados con proporcin correcta
   ========================================================= */

.shop-product-image.product-marquee{
    height: 280px !important;
    max-height: 280px !important;
    background: #f7f7f7 !important;
    overflow: hidden !important;
}

.product-marquee-track{
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    height: 100% !important;
    animation: productMarqueeFinal 26s linear infinite !important;
}

.product-marquee-item{
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px !important;
    box-sizing: border-box !important;
}

.product-marquee-item img,
.product-marquee-item video{
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
}

/* Mvil: una sola imagen visible, sin deformar */
@media(max-width: 767px){
    .shop-product-image.product-marquee{
        height: 245px !important;
        max-height: 245px !important;
    }

    .product-marquee-track{
        animation: none !important;
        transform: none !important;
        width: 100% !important;
    }

    .product-marquee-item{
        display: none !important;
    }

    .product-marquee-item:first-child{
        display: flex !important;
    }
}

html[data-theme="dark"] .shop-product-image.product-marquee{
    background: #151617 !important;
}


/* =========================================================
   CIERRE DEFINITIVO TARJETAS VENTA / DESTACADOS
   Imagen fija, estable, sin marquesina ni flechas
   ========================================================= */

.shop-product-image-single{
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 280px !important;
    overflow: hidden !important;
    background: #f7f7f7 !important;
    border-radius: 22px 22px 0 0 !important;
    text-decoration: none !important;
}

.shop-product-image-single img{
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    padding: 12px !important;
}

/* Apaga cualquier flecha o control heredado */
.shop-product-card .product-card-controls,
.shop-product-card .product-card-arrow,
.shop-product-card .product-card-bs-control{
    display: none !important;
}

/* Evita que reglas viejas de marquesina afecten tarjetas nuevas */
.shop-product-card .product-marquee,
.shop-product-card .product-marquee-track,
.shop-product-card .product-marquee-item{
    animation: none !important;
}

@media(max-width: 767px){
    .shop-product-image-single{
        height: 245px !important;
    }

    .shop-product-image-single img{
        padding: 10px !important;
    }
}

html[data-theme="dark"] .shop-product-image-single{
    background: #151617 !important;
}


/* =========================================================
   CIERRE FINAL: TARJETAS CON FLECHAS MANUALES
   Venta / destacados: imagen proporcionada + flechas
   Sin marquesina automática
   ========================================================= */

.shop-product-gallery{
    position: relative !important;
    width: 100% !important;
}

.shop-product-image-single{
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 280px !important;
    overflow: hidden !important;
    background: #f7f7f7 !important;
    border-radius: 22px 22px 0 0 !important;
    text-decoration: none !important;
}

.card-gallery-item{
    display: none !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px !important;
    box-sizing: border-box !important;
}

.card-gallery-item.active{
    display: flex !important;
}

.card-gallery-item img,
.card-gallery-item video{
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.card-gallery-arrow{
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 50 !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(0,0,0,.18) !important;
    background: rgba(255,255,255,.96) !important;
    color: #111 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.8rem !important;
    line-height: 1 !important;
    cursor: pointer !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.22) !important;
}

.card-gallery-prev{
    left: .75rem !important;
}

.card-gallery-next{
    right: .75rem !important;
}

.card-gallery-arrow:hover{
    background: #ffffff !important;
    transform: translateY(-50%) scale(1.04) !important;
}

/* Apaga residuos de parches previos */
.shop-product-card .product-card-controls,
.shop-product-card .product-card-arrow,
.shop-product-card .product-card-bs-control,
.shop-product-card .product-marquee-track,
.shop-product-card .product-marquee-item{
    animation: none !important;
}

@media(max-width: 767px){
    .shop-product-image-single{
        height: 245px !important;
    }

    .card-gallery-item{
        padding: 10px !important;
    }

    .card-gallery-arrow{
        width: 34px !important;
        height: 34px !important;
        font-size: 1.55rem !important;
    }
}

html[data-theme="dark"] .shop-product-image-single{
    background: #151617 !important;
}

html[data-theme="dark"] .card-gallery-arrow{
    background: rgba(20,20,20,.94) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.2) !important;
}

/* =========================================================
   ANTEQUERA FINAL: GALERA MANUAL EN TARJETAS
   Clases nuevas para evitar conflicto con parches anteriores
   ========================================================= */

.shop-product-card .ab-card-gallery{
    position: relative !important;
    width: 100% !important;
    height: 280px !important;
    overflow: hidden !important;
    background: #f7f7f7 !important;
    border-radius: 22px 22px 0 0 !important;
}

.shop-product-card .ab-card-slides,
.shop-product-card .ab-card-slide,
.shop-product-card .ab-card-slide a{
    width: 100% !important;
    height: 100% !important;
}

.shop-product-card .ab-card-slide{
    display: none !important;
}

.shop-product-card .ab-card-slide.active{
    display: block !important;
}

.shop-product-card .ab-card-slide a{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
}

.shop-product-card .ab-card-slide img,
.shop-product-card .ab-card-slide video{
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    padding: 12px !important;
    display: block !important;
}

.shop-product-card .ab-card-nav{
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 9999 !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(0,0,0,.18) !important;
    background: rgba(255,255,255,.96) !important;
    color: #111 !important;
    font-size: 2rem !important;
    line-height: 1 !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.25) !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}

.shop-product-card .ab-card-prev{
    left: 12px !important;
}

.shop-product-card .ab-card-next{
    right: 12px !important;
}

.shop-product-card .ab-card-nav:hover{
    background: #ffffff !important;
    transform: translateY(-50%) scale(1.06) !important;
}

@media(max-width: 767px){
    .shop-product-card .ab-card-gallery{
        height: 245px !important;
    }

    .shop-product-card .ab-card-nav{
        width: 38px !important;
        height: 38px !important;
        font-size: 1.8rem !important;
    }
}

html[data-theme="dark"] .shop-product-card .ab-card-gallery{
    background: #151617 !important;
}

html[data-theme="dark"] .shop-product-card .ab-card-nav{
    background: rgba(20,20,20,.95) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.25) !important;
}


/* =========================================================
   FIX: Flechas de tarjetas dentro de cada imagen
   Evita que se suban al header
   ========================================================= */

.shop-product-card{
    position: relative !important;
    overflow: hidden !important;
}

.shop-product-card .ab-card-gallery{
    position: relative !important;
    overflow: hidden !important;
    z-index: 1 !important;
}

.shop-product-card .ab-card-nav{
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.shop-product-card .ab-card-prev{
    left: 10px !important;
    right: auto !important;
}

.shop-product-card .ab-card-next{
    right: 10px !important;
    left: auto !important;
}

/* Evita que las flechas floten fuera de la tarjeta */
.ab-card-nav{
    position: absolute !important;
}

body > .ab-card-nav,
.navbar .ab-card-nav,
.site-header .ab-card-nav,
.header .ab-card-nav{
    display: none !important;
}

/* Corrige separación visual de tarjetas */
.shop-product-card{
    margin-bottom: 2.5rem !important;
}


/* =========================================================
   Carrito de venta / apartado 30%
   ========================================================= */
.cart-page .request-summary-card,
.request-summary-card{
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 24px;
    padding: 1.5rem;
    box-shadow: 0 18px 45px rgba(0,0,0,.08);
}

html[data-theme="dark"] .cart-page .request-summary-card,
html[data-theme="dark"] .request-summary-card{
    background: rgba(18,18,18,.96);
    border-color: rgba(255,255,255,.12);
}

.shop-actions a[href*="carrito/agregar"]{
    font-weight: 800;
}

/* =========================================================
   RENTA: vista previa, folio y consulta pública
   ========================================================= */
.rental-preview-card{
    display:grid;
    grid-template-columns: repeat(5, minmax(140px, 1fr));
    gap: .9rem;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 24px;
    padding: 1rem;
    box-shadow: 0 14px 34px rgba(0,0,0,.08);
}
.rental-preview-card div{
    background:#f7f7f7;
    border-radius:18px;
    padding: .95rem;
    min-height: 92px;
}
.rental-preview-card span{
    display:block;
    color:#6c757d;
    font-size:.83rem;
    margin-bottom:.45rem;
}
.rental-preview-card strong{
    display:block;
    font-size:1.08rem;
    line-height:1.2;
}
.request-summary-card{
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 26px;
    padding: 1.25rem 1.35rem;
    box-shadow: 0 14px 34px rgba(0,0,0,.08);
}
.request-summary-card p{
    margin-bottom:.55rem;
}
html[data-theme="dark"] .rental-preview-card,
html[data-theme="dark"] .request-summary-card{
    background:#161819;
    border-color:rgba(255,255,255,.12);
}
html[data-theme="dark"] .rental-preview-card div{
    background:#202224;
}
@media(max-width: 991px){
    .rental-preview-card{ grid-template-columns: repeat(2, minmax(140px, 1fr)); }
}
@media(max-width: 575px){
    .rental-preview-card{ grid-template-columns: 1fr; }
}

/* =========================================================
   FIX: separación de buscador/catálogo respecto al header
   ========================================================= */

body{
    overflow-x: hidden;
}

main,
.site-main,
.shop-page,
.admin-page{
    position: relative;
    z-index: 1;
}

.shop-page,
.catalog-page,
section.shop-page,
section.catalog-page{
    padding-top: 2.5rem !important;
}

.shop-toolbar,
.shop-filters,
.catalog-toolbar,
.product-search,
.search-box,
.shop-search,
.filters-card{
    position: relative !important;
    z-index: 2 !important;
    margin-top: 1.25rem !important;
    margin-bottom: 2rem !important;
}

.shop-toolbar input,
.shop-search input,
.product-search input,
input[type="search"],
input[name="q"],
input[placeholder*="Buscar"]{
    min-height: 48px !important;
    padding-top: .75rem !important;
    padding-bottom: .75rem !important;
}

/* Evita que el header tape contenido */
.site-header,
.navbar,
.main-header{
    z-index: 1000 !important;
}

/* En páginas de venta/renta, baja ligeramente el bloque principal */
.page-header + .container,
.page-header + .shop-page,
.shop-section,
.products-section{
    margin-top: 1.5rem !important;
}

@media(max-width: 991px){
    .shop-page,
    .catalog-page,
    section.shop-page,
    section.catalog-page{
        padding-top: 1.5rem !important;
    }

    .shop-toolbar,
    .shop-filters,
    .catalog-toolbar,
    .product-search,
    .search-box,
    .shop-search,
    .filters-card{
        margin-top: 1.5rem !important;
    }
}


/* =========================================================
   FIX: mensajes / alertas debajo del menú principal
   ========================================================= */

.alert,
.flash-message,
.flash-messages,
.alert-container,
.toast-container,
.messages,
.site-alerts{
    z-index: 2000 !important;
}

.flash-messages,
.alert-container,
.messages,
.site-alerts{
    position: relative !important;
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
}

/* Si las alertas están en modo flotante, bajarlas del header */
body > .alert,
body > .flash-messages,
body > .alert-container,
body > .messages,
body > .site-alerts{
    margin-top: 120px !important;
}

/* Separación general del contenido bajo header fijo */
main{
    position: relative !important;
    z-index: 1 !important;
}

/* En móvil, dar más espacio si el menú ocupa varias líneas */
@media(max-width: 991px){
    body > .alert,
    body > .flash-messages,
    body > .alert-container,
    body > .messages,
    body > .site-alerts{
        margin-top: 145px !important;
    }
}


/* =========================================================
   ESTÉTICA CLIENTE: carrito compacto y tarjetas simplificadas
   ========================================================= */

.nav-cart-button{
    width: 42px !important;
    height: 42px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    background: rgba(255,255,255,.08) !important;
    color: var(--text-color, #fff) !important;
    margin-right: .65rem !important;
    transition: transform .2s ease, background .2s ease !important;
}

.nav-cart-button:hover{
    transform: translateY(-1px) !important;
    background: rgba(255,255,255,.16) !important;
}

.nav-cart-button svg{
    width: 22px !important;
    height: 22px !important;
    fill: currentColor !important;
}

.shop-actions-clean{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: .65rem !important;
    margin-top: 1rem !important;
}

.shop-actions-clean a{
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 999px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    line-height: 1.1 !important;
    padding: .65rem .85rem !important;
}

.shop-action-detail{
    border: 1px solid rgba(255,255,255,.22) !important;
    background: transparent !important;
}

.shop-action-cart{
    border: none !important;
    background: var(--accent-color, #f5c542) !important;
    color: #111 !important;
}

@media(max-width: 575px){
    .shop-actions-clean{
        grid-template-columns: 1fr !important;
    }

    .nav-cart-button{
        width: 40px !important;
        height: 40px !important;
    }
}


/* =========================================================
   FIX: contador del carrito y alertas debajo del menú
   ========================================================= */

.nav-cart-button{
    position: relative !important;
}

.nav-cart-badge{
    position: absolute !important;
    top: -7px !important;
    right: -7px !important;
    min-width: 20px !important;
    height: 20px !important;
    padding: 0 6px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ff3b30 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    border: 2px solid #111 !important;
    z-index: 9999 !important;
}

/* Mensajes flash/alertas: evitar que se encimen con navbar fijo */
.flash-messages,
.alert-container,
.messages,
.site-alerts{
    position: relative !important;
    z-index: 3000 !important;
    margin-top: 115px !important;
    margin-bottom: 1rem !important;
}

main .alert:first-child,
.container .alert:first-child,
.container-fluid .alert:first-child{
    margin-top: 115px !important;
    position: relative !important;
    z-index: 3000 !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.18) !important;
}

/* Si la alerta aparece justo debajo del body, también se baja */
body > .alert,
body > .flash-messages,
body > .alert-container,
body > .messages,
body > .site-alerts{
    margin-top: 125px !important;
}

@media(max-width: 991px){
    .flash-messages,
    .alert-container,
    .messages,
    .site-alerts,
    main .alert:first-child,
    .container .alert:first-child,
    .container-fluid .alert:first-child,
    body > .alert,
    body > .flash-messages,
    body > .alert-container,
    body > .messages,
    body > .site-alerts{
        margin-top: 145px !important;
    }
}


/* Ajuste panel admin: evita que la tarjeta de seguridad se encime con el menú superior */
.admin-security-panel{
    margin-top: 115px !important;
    position: relative !important;
    z-index: 1 !important;
}

@media(max-width: 991px){
    .admin-security-panel{
        margin-top: 145px !important;
    }
}

/* Corrección visual: bloque de seguridad del administrador */
.admin-cambiar-password-seguro{
    margin-top: 135px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 40px !important;
    max-width: 1180px !important;
    padding: 24px !important;
    background: #ffffff !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.10) !important;
    position: relative !important;
    z-index: 1 !important;
}

@media(max-width: 991px){
    .admin-cambiar-password-seguro{
        margin-top: 165px !important;
        margin-left: 12px !important;
        margin-right: 12px !important;
    }
}

/* Botón flotante seguro para cambio de contraseña admin */
.admin-password-floating-btn{
    position: fixed !important;
    right: 24px !important;
    bottom: 24px !important;
    z-index: 99999 !important;
    background: #111 !important;
    color: #fff !important;
    padding: 12px 18px !important;
    border-radius: 999px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.28) !important;
}

.admin-password-floating-btn:hover{
    color: #fff !important;
    transform: translateY(-1px);
}

@media(max-width: 768px){
    .admin-password-floating-btn{
        right: 14px !important;
        bottom: 14px !important;
        padding: 10px 14px !important;
        font-size: 13px !important;
    }
}

/* =========================================================
   FIX VISOR DE IMÁGENES - VENTA / CATÁLOGO
   ========================================================= */
.ab-image-viewer {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: rgba(0, 0, 0, 0.88);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  cursor: zoom-out;
}

.ab-image-viewer-img {
  max-width: 95vw;
  max-height: 90vh;
  object-fit: contain;
  border-radius: 14px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
  cursor: default;
}

.ab-image-viewer-close {
  position: fixed;
  top: 18px;
  right: 22px;
  z-index: 100000;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 999px;
  background: #ffffff;
  color: #111111;
  font-size: 34px;
  line-height: 42px;
  font-weight: 700;
  cursor: pointer;
}

.ab-image-viewer-close:hover {
  transform: scale(1.05);
}

body.ab-image-viewer-open {
  overflow: hidden;
}

/* =========================================================
   FIX VISOR IMÁGENES VENTA - ANTEQUERA BIKES
   ========================================================= */
.ab-venta-image-viewer {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: rgba(0, 0, 0, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.ab-venta-image-viewer-img {
  max-width: 94vw;
  max-height: 88vh;
  object-fit: contain;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 20px 70px rgba(0, 0, 0, 0.5);
}

.ab-venta-image-viewer-close {
  position: fixed;
  top: 18px;
  right: 22px;
  z-index: 1000000;
  width: 50px;
  height: 50px;
  border: 0;
  border-radius: 999px;
  background: #ffffff;
  color: #111111;
  font-size: 36px;
  font-weight: 800;
  line-height: 46px;
  cursor: pointer;
}

body.ab-venta-image-viewer-open {
  overflow: hidden;
}

/* =========================================================
   FIX FINAL VISOR VENTA - GALERÍA ab-card-gallery
   ========================================================= */
.ab-sale-gallery-viewer {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  background: rgba(0, 0, 0, 0.94);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.ab-sale-gallery-viewer-img {
  max-width: 94vw;
  max-height: 88vh;
  object-fit: contain;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 20px 70px rgba(0, 0, 0, 0.65);
}

.ab-sale-gallery-viewer-close {
  position: fixed;
  top: 18px;
  right: 22px;
  z-index: 2147483647;
  width: 54px;
  height: 54px;
  border: 0;
  border-radius: 999px;
  background: #ffffff;
  color: #111111;
  font-size: 38px;
  font-weight: 900;
  line-height: 48px;
  cursor: pointer;
}

body.ab-sale-gallery-viewer-open {
  overflow: hidden;
}

/* =========================================================
   Ajuste: panel de filtros con desplazamiento vertical
   ========================================================= */
.shop-filters,
.catalog-filters,
.filters-panel,
.filter-panel,
.shop-sidebar,
.catalog-sidebar {
    max-height: calc(100vh - 130px);
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 8px;
    scrollbar-width: thin;
}

.shop-filters::-webkit-scrollbar,
.catalog-filters::-webkit-scrollbar,
.filters-panel::-webkit-scrollbar,
.filter-panel::-webkit-scrollbar,
.shop-sidebar::-webkit-scrollbar,
.catalog-sidebar::-webkit-scrollbar {
    width: 8px;
}

.shop-filters::-webkit-scrollbar-thumb,
.catalog-filters::-webkit-scrollbar-thumb,
.filters-panel::-webkit-scrollbar-thumb,
.filter-panel::-webkit-scrollbar-thumb,
.shop-sidebar::-webkit-scrollbar-thumb,
.catalog-sidebar::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.25);
}

.shop-action-disabled {
    pointer-events: none;
    cursor: not-allowed;
    opacity: 0.70;
    background: #e5e7eb !important;
    color: #6b7280 !important;
    border: 1px solid #d1d5db !important;
}

.soldout-badge {
    background: rgba(35, 35, 35, 0.88) !important;
    color: #ffffff !important;
}

@media (max-width: 900px) {
    .shop-filters,
    .catalog-filters,
    .filters-panel,
    .filter-panel,
    .shop-sidebar,
    .catalog-sidebar {
        max-height: 70vh;
    }
}

/* =========================================================
   Botón flotante: Catálogo destacado en venta
   ========================================================= */
.featured-floating-catalog {
    position: fixed;
    right: 24px;
    bottom: 96px;
    z-index: 1040;
    border: none;
    border-radius: 999px;
    padding: 14px 22px;
    background: #f2b705;
    color: #111827;
    font-weight: 800;
    letter-spacing: 0.02em;
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.22);
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.featured-floating-catalog:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}

.featured-floating-catalog.is-active {
    background: #111827;
    color: #ffffff;
}

@media (max-width: 768px) {
    .featured-floating-catalog {
        right: 16px;
        bottom: 92px;
        padding: 12px 16px;
        font-size: 0.86rem;
    }
}
