:root{
  --pink-header:#f6bdd1;
  --pink-strip:#ec1e84;
  --pink-strip-dark:#d4127a;
  --blue-hero:#bce9f7;
  --cream-bg:#f7ecd9;
  --pink-card:#f0a9c4;
  --purple:#6b2d91;
  --purple-dark:#4a1f68;
  --white:#ffffff;
  --text-dark:#2b1830;
  --pink-footer:#f2a9c5;
  --shadow:0 6px 18px rgba(107,45,145,.12);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Poppins',sans-serif;
  background:var(--cream-bg);
  color:var(--text-dark);
}
h1,h2,h3,h4,.brand,.logo-text{
  font-family:'Baloo 2',sans-serif;
}
a{text-decoration:none;color:inherit;}
button{font-family:'Poppins',sans-serif;cursor:pointer;border:none;}
img,svg{display:block;}
.container{max-width:1300px;margin:0 auto;padding:0 60px;}
@media(max-width:900px){.container{padding:0 24px;}}

/* ---------- HEADER ---------- */
header.site-header{background:var(--pink-header);position:relative;z-index:50;}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  max-width:1300px;margin:0 auto;padding:22px 60px;
}
.logo{display:flex;align-items:center;gap:6px;font-weight:800;font-size:1.7rem;color:var(--pink-strip);cursor:pointer;}
.logo .t-icon{
  width:34px;height:34px;border-radius:50%;background:var(--pink-strip);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;font-weight:800;
}
.logo .brand-purple{color:var(--purple);}
nav.main-nav{display:flex;gap:44px;order:2;}
nav.main-nav a{
  font-weight:700;letter-spacing:.03em;color:var(--purple);font-size:.95rem;
  padding-bottom:4px;border-bottom:3px solid transparent;transition:.2s;
}
nav.main-nav a:hover,nav.main-nav a.active{border-bottom-color:var(--pink-strip);color:var(--pink-strip-dark);}
.header-right{display:flex;align-items:center;gap:18px;order:3;}
.cart-wrap{position:relative;cursor:pointer;}
.cart-icon{width:30px;height:30px;color:var(--purple);}
.cart-badge{
  position:absolute;top:-8px;right:-10px;background:var(--pink-strip);color:#fff;
  font-size:.65rem;font-weight:700;border-radius:50%;width:18px;height:18px;
  display:flex;align-items:center;justify-content:center;
}
.promo-strip{
  background:var(--pink-strip);color:#fff;text-align:center;
  display:flex;justify-content:center;gap:60px;padding:12px 20px;
  font-weight:700;font-size:.8rem;letter-spacing:.04em;flex-wrap:wrap;
}
@media(max-width:600px){
  .promo-strip{gap:4px 18px;padding:8px 14px;font-size:.62rem;letter-spacing:.02em;}
}
.burger{display:none;background:none;font-size:1.6rem;color:var(--purple);}
@media(max-width:900px){
  nav.main-nav{
    position:absolute;top:100%;left:0;right:0;background:var(--pink-header);
    flex-direction:column;align-items:center;gap:0;padding:0;max-height:0;overflow:hidden;transition:.3s;
  }
  nav.main-nav.open{max-height:300px;padding:10px 0;}
  nav.main-nav a{padding:12px 0;width:100%;text-align:center;border-bottom:1px solid rgba(107,45,145,.1);}
  .burger{display:block;}
  .header-right{gap:12px;}
  .header-inner{padding:18px 24px;}
}

/* ---------- FOOTER ---------- */
footer.site-footer{background:var(--pink-footer);padding:50px 60px 20px;margin-top:0;}
.footer-inner{
  max-width:1300px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px;
}
.footer-logo{display:flex;align-items:center;gap:6px;font-weight:800;font-size:1.6rem;color:var(--pink-strip);}
.footer-logo .brand-purple{color:var(--purple);}
.footer-cols{display:flex;gap:80px;flex-wrap:wrap;}
.footer-col a{display:block;font-weight:700;font-size:.85rem;color:var(--purple);margin-bottom:10px;letter-spacing:.03em;}
.footer-socials{display:flex;gap:12px;align-items:flex-start;}
.social-btn{
  width:40px;height:40px;border-radius:50%;background:#ffffff;
  display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);
  transition:transform .15s;
}
.social-btn:hover{transform:translateY(-2px);}
.social-btn img{width:22px;height:22px;display:block;}
.footer-bottom{text-align:center;padding-top:30px;font-size:.8rem;color:var(--purple);opacity:.85;}
@media(max-width:700px){
  .footer-inner{
    display:flex;flex-wrap:wrap;align-items:center;
    row-gap:22px;column-gap:16px;
  }
  .footer-logo{order:1;}
  .footer-socials{order:2;margin-left:auto;}
  .footer-cols{order:3;flex-basis:100%;width:100%;gap:20px;}
  .footer-col{flex:1;min-width:0;}
  .footer-col a{font-size:.72rem;margin-bottom:8px;}
  footer.site-footer{padding:28px 20px 14px;}
  .footer-bottom{padding-top:16px;font-size:.7rem;}
}

/* ---------- GENERIC ---------- */
.btn{
  display:inline-block;background:var(--pink-strip);color:#fff;font-weight:700;
  padding:14px 30px;border-radius:30px;font-size:.9rem;transition:.2s;text-align:center;
}
.btn:hover{background:var(--pink-strip-dark);}
.btn-outline{background:transparent;border:2px solid var(--pink-strip);color:var(--pink-strip-dark);}
.section-title{color:var(--purple);font-weight:800;font-size:2rem;margin:0 0 6px;}
.section-sub{margin:0 0 26px;font-size:1rem;}
.icon-circle{
  width:44px;height:44px;border-radius:50%;border:2px solid var(--purple);
  display:flex;align-items:center;justify-content:center;color:var(--purple);background:#fff;
  font-size:1.1rem;flex-shrink:0;
}
.value-props{padding-top:50px;padding-bottom:50px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px;text-align:center;}
.value-props > div{flex:1;min-width:180px;}
.value-props p{font-size:.85rem;color:var(--purple);font-weight:600;}

/* ---------- PRODUCT CARD ---------- */
.products-row{display:flex;gap:24px;overflow-x:auto;scroll-behavior:smooth;padding:6px 4px 16px;}
.products-row::-webkit-scrollbar{height:6px;}
.products-row::-webkit-scrollbar-thumb{background:var(--pink-card);border-radius:10px;}
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;}
.product-card{
  background:var(--pink-card);border-radius:14px;padding:22px;flex:0 0 260px;
  display:flex;flex-direction:column;align-items:center;box-shadow:var(--shadow);
}
.product-card .thumb{
  width:100%;height:150px;background:#fff;border-radius:8px;
  display:flex;align-items:center;justify-content:center;font-size:3.4rem;margin-bottom:14px;cursor:pointer;overflow:hidden;
}
.product-card h4{margin:0 0 4px;color:var(--purple);font-size:1.05rem;text-align:center;cursor:pointer;}
.product-card .desc{font-size:.75rem;color:var(--text-dark);opacity:.75;margin-bottom:8px;text-align:center;}
.product-card .price{color:var(--purple);font-weight:800;margin-bottom:12px;}
.qty-stepper{display:flex;align-items:center;gap:14px;}
.qty-stepper button{
  width:30px;height:30px;border-radius:50%;border:2px solid var(--purple);background:#fff;color:var(--purple);
  font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;
}
.qty-stepper span{font-weight:700;color:var(--purple);}
.carousel-row-wrap{position:relative;}
.carousel-arrow{
  position:absolute;top:45%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;
  border:2px solid var(--purple);background:#fff;color:var(--purple);display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;z-index:5;box-shadow:var(--shadow);
}
.carousel-arrow.left{left:-19px;}
.carousel-arrow.right{right:-19px;}
@media(max-width:700px){.carousel-arrow{display:none;}}

/* ---------- SEARCH ---------- */
.search-bar{
  display:flex;align-items:center;background:#fff;border-radius:30px;padding:14px 22px;
  max-width:420px;margin-left:auto;box-shadow:var(--shadow);gap:10px;
}
.search-bar input{border:none;outline:none;flex:1;font-size:.9rem;font-family:'Poppins',sans-serif;}
.search-bar button{background:none;color:var(--purple);font-size:1.1rem;}
@media(max-width:700px){.search-bar{margin-left:0;max-width:100%;}}

/* ---------- HERO BLOCKS ---------- */
.hero-split{display:flex;align-items:center;gap:50px;flex-wrap:wrap;padding:50px 0 60px;}
.hero-split > *{flex:1;min-width:280px;}
.hero-visual{border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:4.5rem;}

/* Sección que envuelve cualquier banner de foto completa */
.banner-section{padding:60px 0;}
@media(max-width:760px){
  .banner-section{padding:0;}
}

/* Secciones de contenido normal (no banners), para no pegarse al banner de arriba/abajo */
.content-section{padding-top:60px;padding-bottom:60px;}
@media(max-width:760px){
  .content-section{padding-top:32px;padding-bottom:32px;}
}
.banner-full{
  background-size:cover;background-position:center;border-radius:20px;
  min-height:360px;display:flex;align-items:center;padding:50px;
}
.banner-full .banner-text{max-width:440px;}
.banner-full.text-right{justify-content:flex-end;}
.banner-full.text-right .banner-text{text-align:left;}
@media(max-width:760px){
  .banner-full{
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    border-radius:0;
    min-height:auto;
    padding:0;
    margin:0 -24px;
    width:calc(100% + 48px);
    background-size:100% auto;
    background-repeat:no-repeat;
    background-position:top center;
  }
  .banner-full::before{
    content:"";
    display:block;
    width:100%;
    padding-top:39.6%; /* misma proporción real de las fotos de banner (1600x633) */
  }
  .banner-full .banner-text{
    max-width:100%;
    background:#fff;
    border-radius:0;
    padding:24px 24px 28px;
  }
  .banner-full.text-right{justify-content:flex-start;}
  .banner-full.text-right .banner-text{text-align:left;}
}

/* ---------- MISC ---------- */
.hidden{display:none !important;}
.breadcrumb{font-size:.85rem;color:var(--text-dark);margin:26px 0;}
.breadcrumb a{color:var(--purple);font-weight:600;}
.breadcrumb a:hover{text-decoration:underline;}

.modal-overlay{
  position:fixed;inset:0;background:rgba(43,24,48,.5);
  display:flex;align-items:stretch;justify-content:flex-end;
  z-index:200;
}
.modal-box{
  background:#fff;width:420px;max-width:92vw;height:100%;
  padding:28px;overflow-y:auto;border-radius:0;
  box-shadow:-10px 0 30px rgba(0,0,0,.18);
  animation:cartSlideIn .22s ease-out;
}
@keyframes cartSlideIn{
  from{ transform:translateX(100%); }
  to{ transform:translateX(0); }
}
.modal-box h3{color:var(--purple);margin-top:0;}
.cart-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0e4ef;gap:10px;}
.cart-item .ci-info{font-size:.85rem;}
.cart-item .ci-info b{color:var(--purple);}
.cart-item button{background:none;color:var(--pink-strip);font-weight:700;font-size:.85rem;}
.modal-close{float:right;background:none;font-size:1.3rem;color:var(--purple);}
.cart-total{display:flex;justify-content:space-between;font-weight:800;color:var(--purple);padding-top:14px;font-size:1.05rem;}
.toast{
  position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:var(--purple);color:#fff;
  padding:14px 26px;border-radius:30px;font-weight:600;font-size:.9rem;z-index:300;box-shadow:var(--shadow);
  opacity:0;transition:opacity .3s;pointer-events:none;
}
.toast.show{opacity:1;}
@media(max-width:480px){
  .modal-box{width:100%;max-width:100%;}
}
