: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:116px;
    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:90px!important;
    height:90px!important;
    object-fit:contain;
    background:transparent!important;
    padding:0!important;
    border-radius:0!important;
    flex:0 0 90px;
    box-shadow:none!important;
    border:none!important;
}
.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;
}


/* =========================================================
   CORRECCIÓN LOGO TRANSPARENTE
   ========================================================= */
.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;
    object-fit:contain!important;
    flex:0 0 90px!important;
}

@media(max-width:575px){
    .brand-logo{
        width:70px!important;
        height:70px!important;
        flex-basis:70px!important;
    }
}


/* =========================================================
   AJUSTE FINAL: LOGO MÁS GRANDE SIN FONDO
   ========================================================= */
.site-navbar{
    min-height:116px!important;
}

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

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

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