  :root{
    --lila-claro:#c4ceff;
    --gris:#343339;
    --azul:#7883ff;
    --bg:#faf9ff;
    --card-bg:#ffffff;
    --text:#343339;
    --text-soft:#6b6a73;
    --radius:10px;
    box-sizing:border-box;
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-padding-top:env(safe-area-inset-top,0px);}
  body{
    font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
    background:var(--bg);
    color:var(--text);
    line-height:1.4;
  }
  a{text-decoration:none;color:inherit;}
  img{max-width:100%;display:block;}

  /* ---------- HEADER ---------- */
  header{
    position:sticky;top:0;z-index:50;
    background:#fff;
    border-bottom:1px solid #ece9ff;
    padding:14px 24px;
    padding-top:calc(14px + env(safe-area-inset-top,0px));
    display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  }
  .logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.5rem;color:var(--gris);}
  .logo svg{width:40px;height:40px;flex-shrink:0;}
  nav.main-menu{display:flex;gap:4px;align-items:center;margin-left:auto;}
  .menu-btn{
    background:none;border:none;font-size:.9rem;color:var(--gris);
    padding:8px 10px;border-radius:6px;cursor:pointer;
  }
  .menu-btn:hover,.menu-btn:focus-visible{background:var(--lila-claro);}
  .search-wrap{
    flex:1 1 260px;max-width:480px;
    display:flex;align-items:center;background:#f3f2ff;border-radius:24px;
    padding:8px 16px;gap:8px;
  }
  .search-wrap input{
    border:none;background:transparent;outline:none;width:100%;font-size:.9rem;color:var(--text);
  }
  .search-wrap input::placeholder{color:#9b9aa8;}

  /* ---------- BANNER ---------- */
  .banner{
    position:relative;margin:20px 24px;border-radius:14px;overflow:hidden;
    background:linear-gradient(120deg,var(--gris) 0%,#4a4953 100%);
    min-height:260px;display:flex;align-items:center;
    padding:40px;color:#fff;
  }
  .banner-text{max-width:420px;}
  .banner-eyebrow{color:var(--lila-claro);font-size:.85rem;margin-bottom:6px;}
  .banner-title{font-size:2.1rem;font-weight:700;line-height:1.1;margin-bottom:14px;}
  .banner-cta{
    display:inline-flex;align-items:center;gap:8px;background:var(--azul);
    color:#fff;padding:10px 20px;border-radius:24px;font-weight:600;font-size:.9rem;
    transition:background .15s;
  }
  .banner-cta:hover{background:#6670e6;}

  /* ---------- CATEGORIAS ---------- */
  .cat-menu{
    display:flex;gap:10px;overflow-x:auto;padding:14px 24px;
    border-bottom:1px solid #ece9ff;scrollbar-width:none;
  }
  .cat-menu::-webkit-scrollbar{display:none;}
  .cat-chip{
    flex:0 0 auto;padding:8px 16px;border-radius:20px;background:#fff;
    border:1px solid #e3e1fb;font-size:.85rem;color:var(--text);white-space:nowrap;
  }
  .cat-chip.active{background:var(--gris);color:#fff;border-color:var(--gris);}

  /* ---------- SECCION 6 AVISOS ---------- */
  section{padding:32px 24px;}
  .section-title{font-size:1.3rem;font-weight:700;margin-bottom:16px;color:var(--gris);}
  .promo-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
  }
  .promo-card{
    position:relative;border-radius:14px;overflow:hidden;
    background:var(--lila-claro);display:flex;align-items:flex-end;
    padding:28px;color:var(--gris);min-height:220px;
  }
  .promo-card .promo-info{position:relative;z-index:1;}
  .promo-card .promo-info span{font-weight:700;font-size:1.4rem;display:block;max-width:60%;line-height:1.15;}
  .promo-card .promo-btn{
    margin-top:12px;display:inline-block;background:var(--azul);color:#fff;
    font-size:.85rem;padding:9px 20px;border-radius:20px;font-weight:600;
  }
  @media (min-width:640px){
    .promo-grid{
      grid-template-columns:repeat(3,1fr);
      grid-template-areas:
        "a a b"
        "c d e";
    }
    .promo-card:nth-child(1){grid-area:a;min-height:260px;}
    .promo-card:nth-child(2){grid-area:b;min-height:260px;}
    .promo-card:nth-child(2) .promo-info span{max-width:100%;font-size:1.1rem;}
    .promo-card:nth-child(3){grid-area:c;min-height:220px;}
    .promo-card:nth-child(4){grid-area:d;min-height:220px;}
    .promo-card:nth-child(5){grid-area:e;min-height:220px;}
    .promo-card:nth-child(n+3) .promo-info span{max-width:100%;font-size:1.1rem;}
    .promo-card:nth-child(6){display:none;}
  }
  @media (min-width:960px){
    .promo-grid{
      grid-template-columns:repeat(4,1fr);
      grid-template-areas:
        "a a b b"
        "c d e f";
    }
    .promo-card:nth-child(6){display:flex;grid-area:f;min-height:220px;}
  }

  /* ---------- FRANJA LOGOS ---------- */
  .brand-strip{
    display:flex;gap:34px;overflow-x:auto;padding:24px;align-items:center;
    background:#fff;border-top:1px solid #ece9ff;border-bottom:1px solid #ece9ff;
    scrollbar-width:none;
  }
  .brand-strip::-webkit-scrollbar{display:none;}
  .brand-chip{
    flex:0 0 auto;font-weight:700;color:#b7b5c6;font-size:.95rem;filter:grayscale(1);opacity:.7;
  }

  /* ---------- CATALOGO ---------- */
  .catalog-wrap{display:flex;gap:28px;align-items:flex-start;}
  .filters{
    flex:0 0 200px;display:none;
  }
  .filters h3{font-size:.95rem;margin-bottom:12px;color:var(--gris);}
  .filter-group{margin-bottom:18px;}
  .filter-group summary{cursor:pointer;font-size:.85rem;font-weight:600;padding:6px 0;color:var(--gris);}
  .filter-group label{display:block;font-size:.8rem;color:var(--text-soft);padding:4px 0;cursor:pointer;}
  @media (min-width:860px){.filters{display:block;}}

  .product-grid{
    flex:1;display:grid;grid-template-columns:repeat(2,1fr);gap:16px;
  }
  @media (min-width:640px){.product-grid{grid-template-columns:repeat(3,1fr);}}
  @media (min-width:960px){.product-grid{grid-template-columns:repeat(4,1fr);}}

  .product-card{
    background:var(--card-bg);border:1px solid #ece9ff;border-radius:var(--radius);
    overflow:hidden;display:flex;flex-direction:column;
  }
  .product-img{aspect-ratio:1/1;background:#f0eefc;display:flex;align-items:center;justify-content:center;color:#b7b5c6;font-size:.75rem;}
  .product-body{padding:12px;display:flex;flex-direction:column;gap:4px;flex:1;}
  .product-name{font-size:.85rem;font-weight:600;color:var(--gris);line-height:1.25;min-height:2.3em;}
  .product-meta{font-size:.72rem;color:var(--text-soft);}
  .product-price{font-size:1rem;font-weight:700;color:var(--gris);margin-top:2px;}
  .product-price .old{font-size:.72rem;color:#b7b5c6;text-decoration:line-through;font-weight:400;margin-left:6px;}
  .product-btn{
    margin-top:auto;display:flex;align-items:center;justify-content:center;gap:6px;
    background:var(--azul);color:#fff;font-size:.8rem;font-weight:600;padding:9px;
    border-radius:0 0 var(--radius) var(--radius);
  }

  /* ---------- FOOTER ---------- */
  footer{
    background:var(--gris);color:#d9d8e8;padding:40px 24px;
    padding-bottom:calc(40px + env(safe-area-inset-bottom,0px));
    display:grid;gap:28px;grid-template-columns:1fr;
  }
  @media (min-width:640px){footer{grid-template-columns:1.2fr 1fr 1fr 1fr;}}
  footer .f-libro{display:inline-flex;align-items:center;gap:10px;line-height:1.2;}
  footer .f-libro span{font-size:.78rem;}
  footer .f-logo{color:#fff;font-weight:700;font-size:1.1rem;margin-bottom:8px;}
  footer h4{font-size:.8rem;color:#9b9aa8;margin-bottom:10px;}
  footer ul{list-style:none;display:flex;flex-direction:column;gap:8px;}
  footer a{font-size:.85rem;color:#d9d8e8;}
  footer a:hover{color:var(--lila-claro);}

  @media (prefers-reduced-motion:no-preference){
    .promo-card,.product-card{transition:transform .15s;}
    .promo-card:hover,.product-card:hover{transform:translateY(-2px);}
  }
