

:root{
    --cc-bg:#f7f8fc;
    --cc-surface:#eef1f4;
    --cc-card:#ffffff;
    --cc-border:#e8ecf2;
    --cc-border-soft:#edf1f6;
    --cc-text:#1f2940;
    --cc-text-2:#273043;
    --cc-text-soft:#6f788c;
    --cc-text-muted:#8b90a2;
    --cc-price:#d92d52;
    --cc-black:#111111;
    --cc-pink-soft:#f9dce9;
    --cc-pink-border:#efc7d8;
    --cc-green-bg:#e7f7ed;
    --cc-green-text:#1f8f52;
    --cc-blue-bg:#edf6ff;
    --cc-blue-text:#246bce;
    --cc-shadow-sm:0 4px 14px rgba(15,23,42,.05);
    --cc-shadow-md:0 10px 24px rgba(15,23,42,.08);
    --cc-shadow-lg:0 8px 20px rgba(15,23,42,.12);
    --cc-radius-xl:24px;
    --cc-radius-lg:22px;
    --cc-radius-md:18px;
    --cc-radius-sm:14px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    font-family:'Montserrat',sans-serif;
    color:var(--cc-text);
}

/* =========================
   BASE
========================= */
.cc-home-page{
    background:var(--cc-bg);
    padding:18px 0 34px;
}
.cc-home-container{
    max-width:1360px;
    margin:0 auto;
    padding:0 16px;
}

/* =========================
   HERO
========================= */
.cc-home-hero-section{
    margin-bottom:26px;
}
.cc-home-hero-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 33%;
    gap:16px;
    align-items:stretch;
}

/* HERO FALLBACK */
.cc-home-hero-main{
    background:linear-gradient(180deg,#fff8fb 0%,#ffffff 100%);
    border:1px solid #f1d9e5;
    border-radius:var(--cc-radius-xl);
    padding:34px 36px;
    min-height:310px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.cc-home-hero-tag{
    display:inline-flex;
    align-items:center;
    width:max-content;
    padding:7px 14px;
    border-radius:999px;
    background:var(--cc-pink-soft);
    color:var(--cc-black);
    font-size:13px;
    font-weight:800;
    margin-bottom:14px;
}
.cc-home-hero-main h1{
    margin:0 0 14px;
    font-size:32px;
    line-height:1.12;
    color:var(--cc-black);
    font-weight:900;
    max-width:700px;
}
.cc-home-hero-main p{
    margin:0 0 20px;
    font-size:15px;
    line-height:1.55;
    color:#3d4355;
    max-width:680px;
}
.cc-home-hero-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}
.cc-home-btn-primary,
.cc-home-btn-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:44px;
    padding:0 20px;
    border-radius:var(--cc-radius-sm);
    text-decoration:none;
    font-size:15px;
    font-weight:800;
    transition:.2s ease;
}
.cc-home-btn-primary{
    background:var(--cc-black);
    color:#ffffff;
}
.cc-home-btn-primary:hover{
    background:#242424;
}
.cc-home-btn-secondary{
    background:var(--cc-pink-soft);
    color:var(--cc-black);
    border:1px solid var(--cc-pink-border);
}
.cc-home-btn-secondary:hover{
    background:#f5d2e2;
}

/* =========================
   SLIDER PRINCIPAL
========================= */
.cc-home-main-slider{
    position:relative;
    height:430px;
    border-radius:var(--cc-radius-xl);
    overflow:hidden;
    background:#f3f4f6;
}
.cc-home-slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transition:all .35s ease;
}
.cc-home-slide.active{
    opacity:1;
    visibility:visible;
}
.cc-home-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.cc-home-slide-content{
    position:absolute;
    left:42px;
    top:42px;
    bottom:54px;
    max-width:430px;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}
.cc-home-slide-tag{
    display:inline-block;
    background:var(--cc-pink-soft);
    color:var(--cc-black);
    padding:8px 14px;
    border-radius:999px;
    font-size:13px;
    font-weight:800;
    margin-bottom:14px;
}
.cc-home-slide-content h2{
    margin:0 0 14px;
    color:#ffffff;
    font-size:42px;
    line-height:1.05;
    font-weight:900;
    text-shadow:0 2px 10px rgba(0,0,0,.30);
}
.cc-home-slide-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:46px;
    padding:0 22px;
    border-radius:var(--cc-radius-sm);
    background:var(--cc-black);
    color:#ffffff;
    text-decoration:none;
    font-weight:800;
    margin-top:auto;
}

/* FLECHAS HERO */
.cc-slider-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:48px;
    height:48px;
    border:none;
    border-radius:50%;
    background:#ffffff;
    color:var(--cc-black);
    font-size:30px;
    cursor:pointer;
    z-index:3;
    box-shadow:0 8px 16px rgba(0,0,0,.12);
}
.cc-slider-arrow.prev{left:18px}
.cc-slider-arrow.next{right:18px}

/* DOTS HERO */
.cc-home-slider-dots{
    position:absolute;
    left:50%;
    bottom:14px;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    gap:6px;
    z-index:4;
    background:rgba(17,17,17,.18);
    padding:5px 8px;
    border-radius:999px;
    backdrop-filter:blur(3px);
}
.cc-home-slider-dot{
    width:9px;
    height:9px;
    border:none;
    border-radius:50%;
    background:rgba(255,255,255,.55);
    cursor:pointer;
    transition:.2s ease;
    padding:0;
}
.cc-home-slider-dot.active{
    width:22px;
    border-radius:999px;
    background:#ffffff;
}
.cc-home-slider-dot:hover{
    background:#f7d7e5;
}

/* =========================
   SLIDERS LATERALES
========================= */
.cc-home-side-sliders{
    display:grid;
    grid-template-rows:1fr 1fr;
    gap:16px;
}
.cc-home-side-slider{
    position:relative;
    min-height:207px;
    border-radius:var(--cc-radius-xl);
    overflow:hidden;
    background:#f3f4f6;
}
.cc-home-side-slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transition:all .35s ease;
}
.cc-home-side-slide.active{
    opacity:1;
    visibility:visible;
}
.cc-home-side-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.cc-home-side-content{
    position:absolute;
    left:22px;
    top:22px;
    right:22px;
    z-index:2;
}
.cc-home-side-content span{
    display:block;
    color:#ff5ca8;
    font-size:13px;
    font-weight:800;
    margin-bottom:8px;
}
.cc-home-side-content strong{
    color:#ffffff;
    font-size:28px;
    line-height:1.08;
    font-weight:900;
    text-shadow:0 2px 10px rgba(0,0,0,.30);
}

/* TARJETAS LATERALES FALLBACK */
.cc-home-hero-side{
    display:grid;
    grid-template-rows:1fr 1fr;
    gap:16px;
}
.cc-home-side-card{
    background:#ffffff;
    border:1px solid #ececf3;
    border-radius:22px;
    padding:22px 18px;
    text-decoration:none;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:130px;
    transition:.2s ease;
}
.cc-home-side-card:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 20px rgba(16,24,40,.05);
}
.cc-home-side-card span{
    display:block;
    font-size:13px;
    font-weight:800;
    color:#f05297;
    margin-bottom:7px;
}
.cc-home-side-card strong{
    color:var(--cc-black);
    font-size:18px;
    line-height:1.3;
    font-weight:900;
}

/* =========================
   BLOQUES
========================= */
.cc-home-block{
    margin-bottom:24px;
}
.cc-home-block > .cc-home-container{
    background:var(--cc-surface);
    border-radius:var(--cc-radius-xl);
    padding:16px 14px 18px;
}

/* CABECERA DE SECCIÓN */
.cc-home-section-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
}
.cc-home-section-head h2{
    margin:0;
    font-size:18px;
    line-height:1.15;
    color:var(--cc-text);
    font-weight:700;
    letter-spacing:-.02em;
}
.cc-home-section-head p{
    margin:6px 0 0;
    font-size:13px;
    line-height:1.4;
    color:var(--cc-text-soft);
    font-weight:500;
}
.cc-home-section-head a,
.cc-home-view-all{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:9px 14px;
    border-radius:999px;
    background:#ffffff;
    border:1px solid #e6eaf0;
    color:#1d2538;
    text-decoration:none;
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
    transition:.2s ease;
}
.cc-home-section-head a:hover,
.cc-home-view-all:hover{
    transform:translateY(-1px);
    box-shadow:0 8px 18px rgba(15,23,42,.08);
}

/* =========================
   CONTENEDORES SCROLL
========================= */
.cc-home-slider-shell{
    position:relative;
    overflow:hidden;
}
.cc-home-slider-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:44px;
    height:44px;
    border:none;
    border-radius:50%;
    background:#ffffff;
    color:#1e2638;
    font-size:28px;
    line-height:1;
    box-shadow:var(--cc-shadow-lg);
    cursor:pointer;
    z-index:3;
    transition:.2s ease;
}
.cc-home-slider-arrow:hover{
    transform:translateY(-50%) scale(1.04);
}
.cc-home-slider-arrow.left{left:-8px}
.cc-home-slider-arrow.right{right:-8px}

.cc-home-product-row,
.cc-home-brand-row{
    display:flex;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-behavior:smooth;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding:6px 2px 8px;
}
.cc-home-product-row::-webkit-scrollbar,
.cc-home-brand-row::-webkit-scrollbar{
    display:none;
}
.cc-home-product-row{
    gap:14px;
}
.cc-home-brand-row{
    gap:16px;
}

/* =========================
   PRODUCTOS
========================= */
.cc-home-product-card{
    position:relative;
    flex:0 0 228px;
    width:228px;
    min-width:228px;
    min-height:328px;
    display:flex;
    flex-direction:column;
    background:var(--cc-card);
    border:1px solid var(--cc-border);
    border-radius:22px;
    overflow:hidden;
    box-shadow:0 6px 18px rgba(0,0,0,.06);
    transition:transform .22s ease, box-shadow .22s ease;
}
.cc-home-product-card:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 24px rgba(0,0,0,.10);
}
.cc-home-product-card::after{
    content:'';
    position:absolute;
    inset:0;
    border-radius:22px;
    box-shadow:0 0 0 rgba(247,181,205,0);
    transition:all .3s ease;
    pointer-events:none;
}
.cc-home-product-card:hover::after{
    box-shadow:0 0 20px rgba(247,181,205,.22);
}
.cc-home-product-card-link{
    display:flex;
    flex-direction:column;
    height:100%;
    text-decoration:none !important;
    color:inherit;
}
.cc-home-product-image-wrap{
    position:relative;
    padding:10px 10px 0;
}
.cc-home-product-image{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:150px;
    background:#ffffff;
    overflow:hidden;
    text-decoration:none;
}
.cc-home-product-image img{
    width:auto;
    max-width:145px;
    max-height:130px;
    object-fit:contain;
    display:block;
    transition:transform .2s ease;
}
.cc-home-product-card:hover .cc-home-product-image img{
    transform:scale(1.03);
}

/* CHIPS */
.cc-home-offer-stack,
.cc-home-tag-stack{
    position:absolute;
    z-index:4;
    display:flex;
    flex-direction:column;
    gap:5px;
    pointer-events:none;
    max-width:calc(100% - 20px);
}
.cc-home-offer-stack,
.cc-home-tag-stack.pos-top-left{
    top:10px;
    left:10px;
    align-items:flex-start;
}
.cc-home-tag-stack.pos-top-right{
    top:10px;
    right:10px;
    align-items:flex-end;
}
.cc-home-tag-stack.pos-bottom-left{
    bottom:10px;
    left:10px;
    align-items:flex-start;
}
.cc-home-tag-stack.pos-bottom-right{
    bottom:10px;
    right:10px;
    align-items:flex-end;
}
.cc-home-tag-stack.is-offer-offset.pos-top-left{
    top:42px;
}
.cc-home-discount-chip,
.cc-home-tag-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    max-width:100%;
    min-height:25px;
    padding:5px 10px;
    border-radius:999px;
    font-size:10.5px;
    font-weight:800;
    line-height:1;
    letter-spacing:.01em;
    box-shadow:0 8px 18px rgba(0,0,0,.08);
    white-space:nowrap;
}
.cc-home-discount-chip{
    background:linear-gradient(135deg,#ffe7f0 0%,#ffd2e4 100%);
    color:#cf2e6c;
}
.cc-home-tag-chip{
    background:linear-gradient(135deg,#eef4ff 0%,#dfeaff 100%);
    color:#2957b8;
}

/* INFO */
.cc-home-product-info{
    display:flex;
    flex-direction:column;
    flex:1;
    padding:6px 12px 10px;
    position:relative;
    z-index:2;
}
.cc-home-product-brand{
    margin-bottom:5px;
    min-height:12px;
    font-size:10px;
    font-weight:700;
    color:var(--cc-text-muted);
    text-transform:uppercase;
    letter-spacing:.05em;
}
.cc-home-product-title,
.cc-home-product-info h3{
    margin:0 0 6px;
    min-height:34px;
    max-height:34px;
    font-size:13px;
    line-height:1.3;
    font-weight:600;
    color:var(--cc-text-2);
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.cc-home-product-info h3 a,
.cc-home-product-title-link{
    text-decoration:none;
    color:inherit;
}
.cc-home-product-info h3 a:hover,
.cc-home-product-title-link:hover{
    color:var(--cc-black);
    text-decoration:none;
}

/* RATING */
.home-product-rating-row{
    display:flex;
    align-items:center;
    gap:6px;
    min-height:16px;
    margin-bottom:6px;
}
.home-product-stars,
.home-product-stars-pro{
    display:flex;
    align-items:center;
    gap:2px;
}
.home-product-stars{
    font-size:12px;
    line-height:1;
}
.home-product-stars span{
    color:#d4d8e2;
}
.home-product-stars-pro span{
    font-size:12px;
    line-height:1;
    text-decoration:none !important;
}
.home-product-stars-pro .is-full{color:#f7b500 !important}
.home-product-stars-pro .is-empty{color:#d4d8e2 !important}

.home-product-rating-text,
.cc-home-product-card .home-product-rating-text{
    font-size:11px;
    color:var(--cc-text-soft);
    font-weight:600;
    margin-left:4px;
    text-decoration:none !important;
}
.cc-home-product-card .home-product-rating-row,
.cc-home-product-card .home-product-rating-row *{
    text-decoration:none !important;
    border-bottom:0 !important;
    box-shadow:none !important;
}

/* PRECIOS */
.cc-home-product-price-wrap{
    display:flex;
    align-items:baseline;
    gap:7px;
    flex-wrap:wrap;
    margin-top:auto;
}
.cc-home-product-price,
.cc-home-product-price-current{
    font-size:15px;
    line-height:1.05;
    font-weight:900;
    color:var(--cc-price);
    letter-spacing:-.02em;
    margin-bottom:3px;
}
.cc-home-product-old-price,
.cc-home-product-price-old{
    text-decoration:line-through;
    opacity:.72;
    font-size:11px;
    color:var(--cc-text-soft);
    font-weight:600;
}
.cc-home-price-saving,
.cc-home-product-saving{
    width:100%;
    font-size:10px;
    font-weight:700;
    color:#cf2e6c;
    margin-top:0;
    margin-bottom:1px;
}

/* BOTONES / BADGES */
.cc-home-product-badges{
    margin-top:8px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:5px;
    position:relative;
    z-index:2;
}
.cc-home-btn-whatsapp{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    width:100%;
    min-height:30px;
    padding:6px 10px;
    background:linear-gradient(135deg,#25D366 0%,#1fb95a 100%);
    color:#fff;
    border-radius:999px;
    font-weight:700;
    font-size:11.5px;
    line-height:1;
    text-decoration:none;
    box-shadow:0 4px 12px rgba(37,211,102,.16);
    transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
    cursor:pointer;
    position:relative;
    z-index:3;
}
.cc-home-btn-whatsapp:hover{
    transform:translateY(-1px);
    box-shadow:0 8px 18px rgba(37,211,102,.22);
    filter:brightness(1.02);
}
.cc-home-btn-whatsapp i{
    font-size:12px;
    line-height:1;
    flex:0 0 auto;
}
.cc-home-btn-whatsapp span{
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.cc-home-btn-whatsapp-mobile{display:none}

.cc-home-fast-badge,
.cc-home-free-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:flex-start;
    width:max-content;
    min-height:20px;
    padding:4px 10px;
    border-radius:999px;
    font-size:10px;
    line-height:1;
    font-weight:700;
    white-space:nowrap;
    margin-top:auto;
}
.cc-home-fast-badge{
    background:var(--cc-green-bg);
    color:var(--cc-green-text);
}
.cc-home-fast-badge::before{
    content:"⚡";
    font-size:9px;
    line-height:1;
    margin-right:5px;
}
.cc-home-free-badge{
    background:var(--cc-blue-bg);
    color:var(--cc-blue-text);
}
.cc-home-product-btn{
    display:none !important;
}

/* =========================
   MARCAS
========================= */
.cc-home-brand-card{
    flex:0 0 170px;
    width:170px;
    min-width:170px;
    height:88px;
    background:#ffffff;
    border:1px solid var(--cc-border);
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    box-shadow:0 4px 14px rgba(15,23,42,.04);
    transition:transform .18s ease, box-shadow .18s ease;
    padding:14px;
}
.cc-home-brand-card:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(15,23,42,.08);
}
.cc-home-brand-card img{
    max-width:78%;
    max-height:48px;
    object-fit:contain;
    display:block;
}
.cc-home-brand-card span{
    font-size:14px;
    font-weight:700;
    color:var(--cc-text-2);
    text-align:center;
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width:1100px){
    .cc-home-hero-layout{
        grid-template-columns:1fr;
    }
    .cc-home-side-sliders,
    .cc-home-hero-side{
        grid-template-columns:1fr 1fr;
        grid-template-rows:none;
    }
}

@media (max-width:1024px){
    .cc-home-main-slider{
        height:340px;
    }
    .cc-home-product-card{
        flex:0 0 210px;
        width:210px;
        min-width:210px;
        min-height:320px;
    }
    .cc-home-product-image{
        min-height:145px;
    }
    .cc-home-product-image img{
        max-height:124px;
    }
    .cc-home-brand-card{
        flex:0 0 154px;
        width:154px;
        min-width:154px;
    }
    .cc-home-slider-arrow.left{left:-4px}
    .cc-home-slider-arrow.right{right:-4px}
}

@media (max-width:768px){
    .cc-home-page{
        padding:14px 0 24px;
    }
    .cc-home-container{
        padding:0 12px;
    }
    .cc-home-hero-main{
        padding:24px 20px;
        min-height:auto;
    }
    .cc-home-hero-main h1{
        font-size:25px;
    }
    .cc-home-hero-main p{
        font-size:14px;
    }
    .cc-home-main-slider{
        height:250px;
        border-radius:18px;
    }
    .cc-home-slide-content{
        left:18px;
        top:18px;
        bottom:42px;
        max-width:250px;
    }
    .cc-home-slide-content h2{
        font-size:24px;
    }
    .cc-home-side-sliders,
    .cc-home-hero-side{
        grid-template-columns:1fr;
    }
    .cc-home-side-slider{
        min-height:170px;
        border-radius:18px;
    }
    .cc-home-side-card{
        min-height:110px;
    }
    .cc-home-side-content strong{
        font-size:22px;
    }
    .cc-slider-arrow{
        width:40px;
        height:40px;
        font-size:24px;
    }
  
    .cc-home-slider-dots{
        bottom:10px;
        gap:5px;
        padding:4px 7px;
    }
    .cc-home-slider-dot{
        width:8px;
        height:8px;
    }
    .cc-home-slider-dot.active{
        width:18px;
    }
    .cc-home-block > .cc-home-container{
        border-radius:18px;
        padding:14px 10px 14px;
    }
    .cc-home-section-head h2{
        font-size:17px;
    }
    .cc-home-section-head p{
        font-size:12px;
    }
    .cc-home-section-head a{
        padding:8px 12px;
        font-size:12px;
    }
    .cc-home-slider-shell{
        padding:0 2px;
    }
    .cc-home-product-row{
        gap:10px;
        padding:6px 4px 10px;
        scroll-snap-type:x proximity;
    }
    .cc-home-brand-row{
        gap:10px;
    }
    .cc-home-product-card{
        flex:0 0 calc((100% - 10px) / 2);
        width:calc((100% - 10px) / 2);
        min-width:calc((100% - 10px) / 2);
        min-height:288px;
        border-radius:20px;
        scroll-snap-align:start;
    }
    .cc-home-product-image-wrap{
        padding:10px 8px 0;
    }
    .cc-home-product-image{
        min-height:132px;
        height:132px;
        padding:8px 8px 0;
    }
    .cc-home-product-image img{
        max-width:102px;
        max-height:108px;
        height:auto;
    }
    .cc-home-product-info{
        padding:6px 8px 8px;
    }
    .cc-home-product-brand{
        margin-bottom:4px;
        font-size:9.5px;
    }
    .cc-home-product-title,
    .cc-home-product-info h3{
        min-height:32px;
        max-height:32px;
        margin:0 0 5px;
        font-size:12px;
        line-height:1.25;
    }
    .home-product-rating-row{
        margin:1px 0 5px;
        gap:5px;
    }
    .home-product-stars-pro span{
        font-size:11px;
    }
    .home-product-rating-text{
        font-size:10px;
        margin-left:2px;
    }
    .cc-home-product-price,
    .cc-home-product-price-current{
        font-size:14px !important;
        line-height:1.1;
        margin-bottom:4px;
    }
    .cc-home-product-old-price,
    .cc-home-product-price-old{
        font-size:10px;
    }
    .cc-home-price-saving,
    .cc-home-product-saving{
        font-size:9.5px;
        margin-bottom:3px;
    }
    .cc-home-btn-whatsapp{
        min-height:28px;
        padding:6px 8px;
        font-size:10.5px;
        gap:5px;
    }
    .cc-home-btn-whatsapp i{
        font-size:11px;
    }
    .cc-home-btn-whatsapp-desktop{
        display:none;
    }
    .cc-home-btn-whatsapp-mobile{
        display:inline;
    }
    .cc-home-fast-badge,
    .cc-home-free-badge{
        min-height:18px;
        padding:4px 9px;
        font-size:9px;
    }
    .cc-home-offer-stack,
    .cc-home-tag-stack.pos-top-left{
        top:8px;
        left:8px;
        gap:4px;
    }
    .cc-home-tag-stack.pos-top-right{
        top:8px;
        right:8px;
        gap:4px;
    }
    .cc-home-tag-stack.pos-bottom-left{
        bottom:8px;
        left:8px;
        gap:4px;
    }
    .cc-home-tag-stack.pos-bottom-right{
        bottom:8px;
        right:8px;
        gap:4px;
    }
    .cc-home-discount-chip,
    .cc-home-tag-chip{
        min-height:22px;
        padding:4px 8px;
        font-size:9.5px;
    }
    .cc-home-tag-stack.is-offer-offset.pos-top-left{
        top:36px;
    }
    .cc-home-brand-card{
        flex:0 0 138px;
        width:138px;
        min-width:138px;
        height:76px;
        border-radius:16px;
    }
}

@media (max-width:480px){
    .cc-home-section-head{
        align-items:flex-start;
        gap:10px;
    }
    .cc-home-product-card{
        flex:0 0 162px;
        width:162px;
        min-width:162px;
        min-height:280px;
    }
    .cc-home-product-title,
    .cc-home-product-info h3{
        font-size:11.5px;
        min-height:30px;
        max-height:30px;
        line-height:1.22;
    }
    .home-product-rating-text{
        font-size:9.5px;
    }
    .cc-home-product-price{
        font-size:13.5px !important;
    }
    .cc-home-fast-badge,
    .cc-home-free-badge{
        font-size:8.5px;
    }
    .cc-home-brand-card{
        flex:0 0 130px;
        width:130px;
        min-width:130px;
    }
}

@media (max-width:768px){
    .cc-home-slider-arrow{
        display:flex;
        align-items:center;
        justify-content:center;
        width:36px;
        height:36px;
        font-size:22px;
        top:42%;
        z-index:5;
    }

    .cc-home-slider-arrow.left{
        left:2px;
    }

    .cc-home-slider-arrow.right{
        right:2px;
    }
}

/* =========================================
   HOME SLIDER RESPONSIVE EXACTO
   Mobile = 2 cards
   Tablet = 4 cards
========================================= */

/* Tablet */
@media (min-width: 769px) and (max-width: 1024px){
    .cc-home-product-row{
        gap:10px;
    }

    .cc-home-product-card{
        flex:0 0 calc((100% - 30px) / 4);
        width:calc((100% - 30px) / 4);
        min-width:calc((100% - 30px) / 4);
        min-height:300px;
    }

    .cc-home-product-image{
        min-height:132px;
        height:132px;
        padding:8px 8px 0;
    }

    .cc-home-product-image img{
        max-width:100px;
        max-height:105px;
    }

    .cc-home-product-info{
        padding:6px 8px 8px;
    }

    .cc-home-product-title,
    .cc-home-product-info h3{
        min-height:30px;
        max-height:30px;
        font-size:11.5px;
        line-height:1.22;
        margin:0 0 5px;
    }

    .cc-home-product-brand{
        font-size:9px;
        margin-bottom:4px;
    }

    .home-product-rating-row{
        margin:1px 0 5px;
        gap:4px;
    }

    .home-product-stars-pro span{
        font-size:10px;
    }

    .home-product-rating-text{
        font-size:9px;
        margin-left:2px;
    }

    .cc-home-product-price,
    .cc-home-product-price-current{
        font-size:13px !important;
        margin-bottom:3px;
    }

    .cc-home-product-old-price,
    .cc-home-product-price-old{
        font-size:9.5px;
    }

    .cc-home-price-saving,
    .cc-home-product-saving{
        font-size:9px;
    }

    .cc-home-btn-whatsapp{
        min-height:27px;
        padding:5px 8px;
        font-size:10px;
        gap:4px;
    }

    .cc-home-btn-whatsapp i{
        font-size:10px;
    }

    .cc-home-fast-badge,
    .cc-home-free-badge{
        min-height:18px;
        padding:3px 8px;
        font-size:8.5px;
    }

    .cc-home-discount-chip,
    .cc-home-tag-chip{
        min-height:21px;
        padding:4px 8px;
        font-size:9px;
    }

    .cc-home-tag-stack.is-offer-offset.pos-top-left{
        top:34px;
    }

    .cc-home-slider-arrow{
        display:flex;
        align-items:center;
        justify-content:center;
        width:38px;
        height:38px;
        font-size:22px;
        top:42%;
        z-index:5;
    }

    .cc-home-slider-arrow.left{
        left:2px;
    }

    .cc-home-slider-arrow.right{
        right:2px;
    }
}

/* Mobile */
@media (max-width: 768px){
    .cc-home-product-row{
        gap:10px;
        padding:6px 4px 10px;
        scroll-snap-type:x proximity;
    }

    .cc-home-product-card{
        flex:0 0 calc((100% - 10px) / 2);
        width:calc((100% - 10px) / 2);
        min-width:calc((100% - 10px) / 2);
        min-height:288px;
        scroll-snap-align:start;
    }

    .cc-home-product-image{
        min-height:128px;
        height:128px;
        padding:8px 8px 0;
    }

    .cc-home-product-image img{
        max-width:96px;
        max-height:100px;
    }

    .cc-home-product-info{
        padding:6px 8px 8px;
    }

    .cc-home-product-title,
    .cc-home-product-info h3{
        min-height:30px;
        max-height:30px;
        font-size:11.5px;
        line-height:1.22;
        margin:0 0 5px;
    }

    .cc-home-product-brand{
        font-size:9px;
        margin-bottom:4px;
    }

    .home-product-rating-row{
        margin:1px 0 4px;
        gap:4px;
    }

    .home-product-stars-pro span{
        font-size:10px;
    }

    .home-product-rating-text{
        font-size:9px;
        margin-left:2px;
    }

    .cc-home-product-price,
    .cc-home-product-price-current{
        font-size:13px !important;
        margin-bottom:3px;
    }

    .cc-home-product-old-price,
    .cc-home-product-price-old{
        font-size:9px;
    }

    .cc-home-price-saving,
    .cc-home-product-saving{
        font-size:8.8px;
    }

    .cc-home-btn-whatsapp{
        min-height:27px;
        padding:5px 8px;
        font-size:9.8px;
        gap:4px;
    }

    .cc-home-btn-whatsapp i{
        font-size:10px;
    }

    .cc-home-fast-badge,
    .cc-home-free-badge{
        min-height:18px;
        padding:3px 8px;
        font-size:8px;
    }

    .cc-home-discount-chip,
    .cc-home-tag-chip{
        min-height:20px;
        padding:4px 7px;
        font-size:8.6px;
    }

    .cc-home-tag-stack.is-offer-offset.pos-top-left{
        top:32px;
    }

    .cc-home-slider-arrow{
        display:flex;
        align-items:center;
        justify-content:center;
        width:34px;
        height:34px;
        font-size:20px;
        top:41%;
        z-index:5;
    }

    .cc-home-slider-arrow.left{
        left:1px;
    }

    .cc-home-slider-arrow.right{
        right:1px;
    }
}

.cc-home-page,
.cc-home-container{
    overflow-x:hidden;
}

.cc-home-slider-shell{
    position:relative;
    overflow:hidden;
    padding-inline:18px;
}

.cc-home-slider-arrow{
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    border:1px solid #e6eaf0;
    z-index:5;
}

.cc-home-slider-arrow.left{
    left:2px !important;
}

.cc-home-slider-arrow.right{
    right:2px !important;
}

@media (min-width: 769px) and (max-width: 1024px){
    .cc-home-slider-arrow.left{
        left:3px !important;
    }

    .cc-home-slider-arrow.right{
        right:3px !important;
    }
}

@media (max-width: 768px){
    .cc-home-slider-arrow.left{
        left:2px !important;
    }

    .cc-home-slider-arrow.right{
        right:2px !important;
    }
}

/* =========================================
   FIX HERO HOME MOBILE / TABLET
   ========================================= */

/* Asegura esquinas iguales y recorte limpio */
.cc-home-main-slider,
.cc-home-side-slider,
.cc-home-slide,
.cc-home-side-slide {
    border-radius: 22px !important;
    overflow: hidden !important;
}

/* Imágenes sin deformarse */
.cc-home-slide img,
.cc-home-side-slide img {
      width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* MOBILE */
@media (max-width: 768px) {

    .cc-home-main-slider {
        height: 220px !important;
        min-height: 220px !important;
        border-radius: 18px !important;
    }

    .cc-home-side-slider {
        height: 150px !important;
        min-height: 150px !important;
        border-radius: 18px !important;
    }

    .cc-home-slide,
    .cc-home-side-slide {
        border-radius: 18px !important;
        overflow: hidden !important;
    }

    .cc-home-slide img,
    .cc-home-side-slide img {
         width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    }

    /* flechas más pequeñas */
    .cc-slider-arrow,
    .cc-home-slider-arrow {
        width: 34px !important;
        height: 34px !important;
        font-size: 18px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        border-radius: 999px !important;
    }

    .cc-slider-arrow.prev,
    .cc-home-slider-arrow.left {
        left: 8px !important;
    }

    .cc-slider-arrow.next,
    .cc-home-slider-arrow.right {
        right: 8px !important;
    }

    /* contenido del banner principal */
    .cc-home-slide-content {
        left: 16px !important;
        right: 16px !important;
        top: 16px !important;
        bottom: 40px !important;
        max-width: 210px !important;
    }

    .cc-home-slide-content h2 {
        font-size: 22px !important;
        line-height: 1.08 !important;
    }

    .cc-home-slide-btn {
        height: 40px !important;
        padding: 0 18px !important;
        font-size: 14px !important;
        border-radius: 14px !important;
    }

    .cc-home-slider-dots {
        bottom: 10px !important;
    }
}

.cc-home-product-card,
.cc-variant-card {
    content-visibility: auto;
    contain-intrinsic-size: 320px;
}