/* =========================================================
   ADIMEL HOME - Layout del index
   Extraído desde index.php para ordenar el archivo.
   Mantiene banners, carruseles, secciones, logos y responsive.
   Las tarjetas compactas quedan en adimel-product-cards.css.
   ========================================================= */

:root{
      --home-violet:#7c3aed;
      --home-violet-dark:#5b21b6;
      --home-violet-soft:#f6f0ff;
      --home-violet-line:#eadfff;
      --home-text:#1f2937;
      --home-muted:#6b7280;
      --home-success:#13803d;
      --home-shadow:0 16px 34px rgba(124,58,237,.12);
    }
    body.index-page{ padding-bottom:70px; }
    .home-fun-title{
      font-family:'Fredoka', 'Roboto', sans-serif;
      letter-spacing:.2px;
      color:var(--home-violet-dark);
    }
    .mobile-bottom-nav {
      position: fixed; bottom: 0; left: 0; width: 100%; height: 65px; background: #fff;
      box-shadow: 0 -2px 10px rgba(0,0,0,0.1); display: flex; justify-content: space-around;
      align-items: center; z-index: 9999; padding-bottom: env(safe-area-inset-bottom);
    }
    .mobile-nav-item { display:flex; flex-direction:column; align-items:center; text-decoration:none; color:#6c757d; font-size:.75rem; transition: color .2s; }
    .mobile-nav-item i { font-size:1.4rem; margin-bottom:2px; }
    .mobile-nav-item.active { color:#2563EB; font-weight:600; }

    .home-section-title{ text-align:center; margin-bottom:22px; }
    .home-section-title h2{ font-size:2rem; margin-bottom:8px; font-weight:900; }
    .home-section-title p{ margin:0; color:#64748b; font-weight:500; }

    .home-pack-hero{
      border:1px solid rgba(255,255,255,.18);
      background:linear-gradient(135deg,#5b21b6 0%, #7c3aed 52%, #8b5cf6 100%);
      border-radius:30px; color:#fff; box-shadow:0 24px 48px rgba(91,33,182,.22);
      padding:34px 34px 30px; overflow:hidden; position:relative;
    }
    .home-pack-hero::after{
      content:""; position:absolute; width:240px; height:240px; right:-70px; top:-80px;
      background:radial-gradient(circle, rgba(255,255,255,.28) 0%, rgba(255,255,255,0) 70%);
      pointer-events:none;
    }
    .home-pack-tag{
      display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:999px;
      background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18); font-weight:700; font-size:.9rem;
      margin-bottom:14px;
    }
    .home-pack-hero h2{ font-size:2.5rem; font-weight:700; line-height:1.05; margin-bottom:12px; }
    .home-pack-hero p{ max-width:700px; color:rgba(255,255,255,.92); font-size:1.03rem; line-height:1.55; margin-bottom:18px; }
    .home-pack-pills{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:20px; }
    .home-pack-pill{ display:inline-flex; gap:8px; align-items:center; padding:10px 14px; border-radius:999px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.16); font-weight:700; }
    .home-brand-kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 14px;
      border-radius:999px;
      background:linear-gradient(135deg,#eef2ff 0%,#fff7ed 100%);
      color:#6d28d9;
      border:1px solid #dfc7ff;
      font-size:.82rem;
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:.05em;
      margin-bottom:10px;
    }

    .pack-sale-section{
      padding-top:22px;
      padding-bottom:8px;
      position:relative;
    }
    .pack-sale-section .container{
      background:linear-gradient(180deg,#fff7ff 0%, #fff4ea 100%);
      border:1px solid #f0dfff;
      border-radius:34px;
      padding:26px 22px 20px;
      box-shadow:0 18px 42px rgba(124,58,237,.08);
    }
    .pack-sale-grid{ gap:18px 0; }
    .brand-logo-strip{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:24px;
      flex-wrap:wrap;
      max-width:1040px;
      margin:12px auto 22px;
      padding:18px 22px;
      background:rgba(255,255,255,.92);
      border:1px solid #f0dfff;
      border-radius:26px;
      box-shadow:0 12px 28px rgba(124,58,237,.08);
    }
    .brand-logo-item{
      height:78px;
      text-decoration:none;
      min-width:168px;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:8px 18px;
      border-radius:20px;
      background:#fff;
      border:1px solid rgba(124,58,237,.08);
      transition:transform .18s ease, box-shadow .18s ease;
    }
    .brand-logo-item:hover{
      transform:translateY(-2px);
      box-shadow:0 10px 20px rgba(124,58,237,.10);
    }
    .brand-logo-item img{
      max-width:230px;
      max-height:62px;
      width:auto;
      height:auto;
      object-fit:contain;
      display:block;
    }
    @media (max-width: 575.98px){
      .brand-logo-strip{
        gap:10px;
        padding:12px;
        margin-bottom:16px;
      }
      .brand-logo-item{
        min-width:108px;
        height:58px;
        padding:6px 10px;
      }
      .brand-logo-item img{
        max-width:132px;
        max-height:44px;
      }
    }

    .pack-swiper{
      position:relative;
      padding:4px 2px 8px;
    }
    .pack-swiper .swiper-slide{
      height:auto;
    }
    .pack-swiper-head{
      display:flex;
      justify-content:flex-end;
      margin-bottom:12px;
    }
    .pack-swiper-nav{
      display:flex;
      gap:10px;
    }
    .pack-swiper-prev,
    .pack-swiper-next{
      width:44px;
      height:44px;
      border:none;
      border-radius:14px;
      background:linear-gradient(135deg,#ffffff 0%, #f4ecff 100%);
      border:1px solid #dfc7ff;
      color:#6d28d9;
      box-shadow:0 10px 18px rgba(124,58,237,.10);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      font-size:1rem;
      transition:.18s ease;
    }
    .pack-swiper-prev:hover,
    .pack-swiper-next:hover{
      transform:translateY(-2px);
      background:linear-gradient(135deg,#7c3aed 0%, #8b5cf6 100%);
      color:#fff;
    }
    .pack-swiper .pack-card{
      max-width:none;
      margin:0;
      height:100%;
    }
    @media (max-width: 767.98px){
      .pack-swiper-head{
        justify-content:center;
      }
    }
    .pack-card{
      border:1px solid #ead8ff;
      border-radius:24px;
      background:linear-gradient(180deg,#ffffff 0%, #fff8f2 100%);
      box-shadow:0 14px 28px rgba(124,58,237,.10);
      overflow:hidden;
      height:100%;
      max-width:272px;
      margin:0 auto;
      transition:transform .18s ease, box-shadow .18s ease;
      position:relative;
    }
    .pack-card::before{
      content:"";
      position:absolute;
      inset:0 auto auto 0;
      width:100%;
      height:5px;
      background:linear-gradient(90deg,#7c3aed 0%, #a855f7 50%, #fb923c 100%);
    }
    .pack-card:hover{ transform:translateY(-4px) rotate(-.3deg); box-shadow:0 24px 42px rgba(124,58,237,.16); }
    .pack-card-media{
      background:radial-gradient(circle at top, #ffffff 0%, #f9f1ff 55%, #fff4ea 100%);
      border-bottom:1px solid #f0e7ff;
      padding:12px;
      display:flex;
      justify-content:center;
      align-items:center;
      min-height:158px;
    }
    .pack-card-media img{ max-width:100%; max-height:128px; object-fit:contain; }
    .pack-card-body{ padding:13px 14px 14px; }
    .pack-badge{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:8px 12px;
      border-radius:999px;
      background:linear-gradient(135deg,#f7ecff 0%, #efe1ff 100%);
      color:var(--home-violet);
      border:1px solid #dfc7ff;
      font-size:.78rem;
      font-weight:900;
      margin-bottom:9px;
      box-shadow:0 8px 16px rgba(124,58,237,.08);
    }
    .pack-card-title{
      font-size:1rem;
      font-weight:900;
      color:var(--home-text);
      line-height:1.22;
      margin-bottom:4px;
      min-height:40px;
    }
    .pack-card-brand{
      color:#6f5b7a;
      font-size:.8rem;
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:.02em;
      margin-top:-1px;
      margin-bottom:9px;
    }
    .pack-price-label{
      color:#7c3aed;
      font-size:.72rem;
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:.05em;
      margin-bottom:3px;
    }
    .pack-price{
      font-size:1.58rem;
      line-height:1;
      font-weight:900;
      color:#7c3aed;
      margin-bottom:9px;
      text-shadow:0 6px 16px rgba(124,58,237,.10);
    }
    .pack-box-price{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      border:1px solid #ead8ff;
      border-radius:14px;
      background:linear-gradient(135deg,#ffffff 0%, #fbf7ff 100%);
      padding:8px 10px;
      margin:0 0 11px;
      box-shadow:0 8px 16px rgba(124,58,237,.06);
    }
    .pack-box-price span{
      display:block;
      color:#6f5b7a;
      font-size:.74rem;
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:.02em;
      line-height:1.1;
    }
    .pack-box-price small{
      display:block;
      color:#7c3aed;
      font-size:.76rem;
      font-weight:900;
      line-height:1.2;
      margin-top:2px;
    }
    .pack-box-price strong{
      color:#9a3412;
      font-size:1.12rem;
      font-weight:900;
      white-space:nowrap;
    }
    .pack-unit-price{
      color:#64748b;
      font-size:.84rem;
      font-weight:800;
      margin-bottom:10px;
    }
    .pack-saving-box{
      border-radius:18px;
      background:linear-gradient(135deg,#fff3b8 0%, #ffd66b 100%);
      border:1px solid #efc74f;
      padding:10px 12px;
      margin-bottom:12px;
      position:relative;
      overflow:hidden;
    }
    .pack-saving-box::after{
      content:"✨";
      position:absolute;
      right:10px;
      top:8px;
      font-size:1rem;
      opacity:.9;
    }
    .pack-saving-kicker{
      color:#7c2d12;
      font-size:.72rem;
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:.05em;
    }
    .pack-saving-amount{
      color:#9a3412;
      font-size:1.22rem;
      font-weight:900;
      line-height:1.05;
    }
    .pack-saving-copy{
      color:#7c2d12;
      font-size:.82rem;
      font-weight:800;
    }
    .pack-card .btn{
      border-radius:14px;
      font-weight:900;
      height:44px;
      background:linear-gradient(135deg,#ffffff 0%, #f4ecff 100%);
      border-color:#7c3aed;
      color:#2563eb;
      box-shadow:0 10px 18px rgba(37,99,235,.08);
    }
    .pack-card .btn:hover{
      background:linear-gradient(135deg,#7c3aed 0%, #8b5cf6 100%);
      border-color:#7c3aed;
      color:#fff;
    }

    /* Ajuste quirúrgico: tarjetas alineadas en carrusel de marcas */
    .pack-swiper .swiper-wrapper{
      align-items:stretch;
    }
    .pack-swiper .swiper-slide{
      display:flex;
      height:auto;
    }
    .pack-swiper .pack-card{
      width:100%;
      display:flex;
      flex-direction:column;
    }
    .pack-card-media{
      flex:0 0 158px;
      height:158px;
    }
    .pack-card-body{
      flex:1 1 auto;
      display:flex;
      flex-direction:column;
    }
    .pack-badge{
      min-height:38px;
      align-self:flex-start;
    }
    .pack-card-title{
      min-height:44px;
      display:-webkit-box;
      -webkit-line-clamp:2;
      -webkit-box-orient:vertical;
      overflow:hidden;
    }
    .pack-card-brand{
      min-height:18px;
    }
    .pack-box-price{
      min-height:48px;
    }
    .pack-unit-price{
      min-height:0;
    }
    .pack-saving-box{
      min-height:0;
    }
    .pack-card .btn{
      margin-top:auto;
    }

    .home-products-row{ gap:18px 0; }
    .home-carousel-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      margin-bottom:14px;
    }
    .home-carousel-head .home-section-title{
      text-align:left;
      margin-bottom:0;
    }
    .home-carousel-actions{
      display:flex;
      align-items:center;
      gap:10px;
      flex:0 0 auto;
    }
    .home-carousel-more{
      border-radius:999px;
      font-weight:900;
      padding:10px 18px;
      border:1px solid #d8c3ff;
      background:#fff;
      color:#6d28d9;
      text-decoration:none;
      box-shadow:0 10px 20px rgba(124,58,237,.08);
      white-space:nowrap;
    }
    .home-carousel-more:hover{
      color:#fff;
      background:linear-gradient(135deg,#7c3aed 0%,#8b5cf6 100%);
      border-color:#7c3aed;
    }
    .home-products-swiper{
      padding:4px 2px 10px;
    }
    .home-products-swiper .swiper-slide{
      height:auto;
    }
    .library-products-swiper{
      padding-bottom:16px;
    }
    .library-products-swiper .swiper-slide{
      height:auto;
    }
    .library-slide-stack{
      display:flex;
      flex-direction:column;
      gap:18px;
      height:100%;
    }
    .library-slide-stack .home-product-card{
      width:100%;
      height:auto;
      min-height:0;
    }
    @media (max-width: 575.98px){
      .library-slide-stack{ gap:12px; }
      .library-products-swiper .home-product-media{ height:148px; }
      .library-products-swiper .home-product-body{ padding:10px; }
    }
    .home-products-swiper .home-product-card{
      height:100%;
    }

    /* Ajuste quirúrgico: alineación estable en carrusel de librería */
    .library-products-swiper .swiper-wrapper{
      align-items:stretch;
    }
    .library-products-swiper .swiper-slide{
      display:flex;
    }
    .library-slide-stack{
      width:100%;
    }
    .library-slide-stack .home-product-card{
      height:100%;
      min-height:462px;
    }
    .library-products-swiper .home-product-media{
      flex:0 0 178px;
      height:178px;
    }
    .library-products-swiper .home-product-body{
      flex:1 1 auto;
      min-height:284px;
    }
    .library-products-swiper .home-mode-badge{
      min-height:48px;
      align-self:flex-start;
    }
    .library-products-swiper .home-product-title{
      min-height:40px;
      display:-webkit-box;
      -webkit-line-clamp:2;
      -webkit-box-orient:vertical;
      overflow:hidden;
    }
    .library-products-swiper .home-product-copy{
      min-height:38px;
      display:flex;
      align-items:flex-start;
    }
    .library-products-swiper .home-product-boxline{
      min-height:20px;
    }
    .library-products-swiper .home-product-actions{
      min-height:86px;
      justify-content:flex-end;
    }
    .library-products-swiper .home-product-actions.is-soldout{
      min-height:47px;
    }
    .library-products-swiper .action-row{
      margin-top:auto;
    }
    .library-products-swiper .action-row .btn-main{
      width:100%;
    }
    .home-product-swiper-nav{
      display:flex;
      gap:9px;
    }
    .home-product-swiper-nav button{
      width:42px;
      height:42px;
      border:none;
      border-radius:14px;
      background:linear-gradient(135deg,#ffffff 0%, #f4ecff 100%);
      border:1px solid #dfc7ff;
      color:#6d28d9;
      box-shadow:0 10px 18px rgba(124,58,237,.10);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      transition:.18s ease;
    }
    .home-product-swiper-nav button:hover{
      transform:translateY(-2px);
      background:linear-gradient(135deg,#7c3aed 0%, #8b5cf6 100%);
      color:#fff;
    }
    .home-product-card{
      border:1px solid var(--home-violet-line); border-radius:22px; overflow:hidden; background:linear-gradient(180deg,#ffffff 0%, #fcfaff 100%);
      box-shadow:0 14px 30px rgba(124,58,237,.10); height:100%; transition:transform .18s ease, box-shadow .18s ease;
      display:flex; flex-direction:column;
    }
    .home-product-card:hover{ transform:translateY(-3px); box-shadow:0 20px 36px rgba(124,58,237,.15); }
    .home-product-media{ background:linear-gradient(180deg,#ffffff 0%, #f8f3ff 100%); border-bottom:1px solid #f1e7ff; height:178px; display:flex; align-items:center; justify-content:center; position:relative; }
    .home-product-media img{ max-width:84%; max-height:128px; object-fit:contain; transition:transform .25s ease; }
    .home-product-card:hover .home-product-media img{ transform:scale(1.035); }
    .home-product-body{ padding:12px 14px 14px; display:flex; flex-direction:column; min-height:232px; flex:1; }
    .home-mode-badge{
      display:inline-flex; align-items:center; gap:6px; margin-bottom:7px; font-size:.73rem; font-weight:900; color:#7c3aed;
      background:#f4edff; border:1px solid #e5d7ff; border-radius:999px; padding:6px 9px; max-width:100%;
    }
    .home-product-brand{ color:#6b7280; font-size:.76rem; font-weight:900; text-transform:uppercase; letter-spacing:.03em; margin-bottom:3px; }
    .home-product-title{ font-size:.95rem; font-weight:900; line-height:1.2; color:var(--home-text); min-height:40px; margin-bottom:6px; }
    .home-product-title a{ color:inherit; text-decoration:none; }
    .home-product-title a:hover{ color:var(--home-violet); }
    .home-product-copy{ color:#64748b; font-size:.8rem; min-height:18px; margin-bottom:7px; }
    .home-product-price{ font-size:1.32rem; font-weight:900; color:var(--home-violet); line-height:1; }
    .home-product-old{ font-size:.8rem; color:#9ca3af; text-decoration:line-through; font-weight:600; }
    .home-product-boxline{ color:#5b21b6; font-size:.8rem; font-weight:800; margin-top:5px; }
    .home-product-actions{ margin-top:auto; display:flex; flex-direction:column; gap:8px; }
    .home-product-card--timbre .home-product-copy{
      color:#2563eb;
      font-weight:800;
    }
    .timbre-measure-chip{
      display:inline-flex;
      align-items:center;
      gap:6px;
      width:max-content;
      max-width:100%;
      margin:0 0 7px;
      padding:6px 9px;
      border-radius:999px;
      background:#fff7ed;
      border:1px solid #fed7aa;
      color:#9a3412;
      font-size:.76rem;
      font-weight:900;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .timbre-design-note{
      height:36px;
      border-radius:11px;
      border:1px solid #c7d2fe;
      background:linear-gradient(135deg,#eff6ff 0%, #eef2ff 100%);
      color:#1d4ed8;
      font-size:.8rem;
      font-weight:900;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:7px;
      text-align:center;
      padding:0 9px;
      box-shadow:0 7px 14px rgba(37,99,235,.07);
    }
    .timbre-design-note i{ font-size:1rem; }
    .home-product-card--timbre .btn-main{
      background:linear-gradient(135deg,#2563eb 0%, #0ea5e9 100%);
      border-color:#2563eb;
      box-shadow:0 10px 18px rgba(37,99,235,.16);
    }
    .home-product-card--timbre .btn-main:hover{
      background:linear-gradient(135deg,#1d4ed8 0%, #0284c7 100%);
      border-color:#1d4ed8;
    }
    .qty-bar{ display:flex; align-items:center; gap:8px; }
    .qty-bar .qty-btn{
      width:36px; height:36px; border-radius:11px; border:1px solid #d9c2ff; background:#fff; color:#5b21b6; font-size:.95rem; font-weight:900;
      display:inline-flex; align-items:center; justify-content:center; box-shadow:none;
    }
    .qty-bar .qty-btn:hover{ background:#f7f1ff; }
    .qty-bar .qty-input{
      width:58px; height:36px; border-radius:11px; border:1px solid #d9c2ff; text-align:center; font-weight:800; color:#374151; background:#fff;
    }
    .action-row{ display:flex; gap:8px; align-items:center; }
    .action-row .btn-main{ flex:1; height:39px; border-radius:11px; font-weight:900; }
    .action-row .btn-secondary{ min-width:116px; height:39px; border-radius:11px; font-weight:800; }
    .home-highlight{ position:absolute; top:12px; left:12px; display:flex; gap:8px; flex-wrap:wrap; }
    .home-highlight .badge{ border-radius:999px; padding:7px 10px; font-size:.75rem; box-shadow:0 8px 16px rgba(0,0,0,.08); }



    /* ===== CTA TIMBRES ESCOLARES / CATÁLOGO ESCOLAR ===== */
    .school-stamp-cta{
      padding:10px 0 24px;
    }
    .school-stamp-card{
      position:relative;
      overflow:hidden;
      border-radius:32px;
      border:3px dashed rgba(255,168,0,.45);
      background:
        radial-gradient(circle at 12% 20%, rgba(255,255,255,.92) 0 58px, transparent 59px),
        radial-gradient(circle at 88% 18%, rgba(255,255,255,.72) 0 64px, transparent 65px),
        linear-gradient(135deg,#fff7d6 0%, #ffe8f2 42%, #e6fbff 100%);
      box-shadow:0 22px 48px rgba(255,138,0,.13), 0 18px 42px rgba(14,165,233,.10);
      padding:26px 28px;
    }
    .school-stamp-card::before{
      content:"";
      position:absolute;
      inset:auto auto -70px -70px;
      width:210px;
      height:210px;
      border-radius:50%;
      background:rgba(34,211,238,.18);
      pointer-events:none;
    }
    .school-stamp-card::after{
      content:"✏️";
      position:absolute;
      right:28px;
      top:18px;
      font-size:2.2rem;
      transform:rotate(-12deg);
      filter:drop-shadow(0 8px 10px rgba(0,0,0,.10));
      opacity:.95;
      pointer-events:none;
    }
    .school-stamp-grid{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:1.35fr .9fr;
      gap:24px;
      align-items:center;
    }
    .school-stamp-eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 14px;
      border-radius:999px;
      background:#fff;
      border:1px solid rgba(255,138,0,.28);
      color:#b45309;
      font-weight:900;
      font-size:.84rem;
      margin-bottom:12px;
      box-shadow:0 8px 18px rgba(255,138,0,.10);
    }
    .school-stamp-title{
      margin:0 0 8px;
      font-family:'Fredoka','Roboto',sans-serif;
      font-size:2rem;
      line-height:1.05;
      color:#1e3a8a;
      font-weight:900;
      letter-spacing:.2px;
    }
    .school-stamp-copy{
      margin:0;
      color:#6b3b16;
      font-weight:700;
      line-height:1.55;
      max-width:680px;
    }
    .school-stamp-pills{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:16px;
    }
    .school-stamp-pill{
      display:inline-flex;
      align-items:center;
      gap:7px;
      border-radius:999px;
      padding:9px 12px;
      background:rgba(255,255,255,.76);
      border:1px solid rgba(30,64,175,.10);
      color:#1d4ed8;
      font-weight:900;
      font-size:.86rem;
    }
    .school-stamp-action{
      display:flex;
      justify-content:flex-end;
      align-items:center;
    }
    .school-stamp-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      min-height:58px;
      min-width:260px;
      padding:15px 24px;
      border-radius:18px;
      text-decoration:none;
      color:#fff;
      font-weight:900;
      letter-spacing:.2px;
      background:linear-gradient(135deg,#ff8a00 0%, #ff5c00 48%, #fb7185 100%);
      box-shadow:0 16px 28px rgba(255,92,0,.25), inset 0 1px 0 rgba(255,255,255,.35);
      border:2px solid rgba(255,255,255,.70);
      transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
    }
    .school-stamp-btn:hover{
      color:#fff;
      transform:translateY(-3px) scale(1.02);
      box-shadow:0 22px 38px rgba(255,92,0,.32), inset 0 1px 0 rgba(255,255,255,.42);
      filter:saturate(1.05);
    }
    .school-stamp-btn i{
      font-size:1.15rem;
    }
    .school-stamp-mini{
      margin-top:10px;
      color:#7c2d12;
      font-weight:800;
      font-size:.86rem;
      text-align:center;
    }


    /* ===== CARRUSEL HOME: BANNERS MISMO TAMAÑO + BOTÓN CATÁLOGO ESCOLAR ===== */
    .strip-frame {
      width: 100%;
      aspect-ratio: 1920 / 430;
      background: #ffffff;
      border-radius: 14px;
    }
    .strip-frame .carousel,
    .strip-frame .carousel-inner,
    .strip-frame .carousel-item {
      width: 100%;
      height: 100%;
    }
    .strip-frame .carousel-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
    }
    .carousel-school-banner {
      position: relative;
      width: 100%;
      height: 100%;
    }
    .carousel-school-banner img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }
    .carousel-school-btn {
      position: absolute;
      right: 7%;
      bottom: 18%;
      z-index: 2;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 52px;
      padding: 13px 24px;
      border-radius: 999px;
      background: linear-gradient(135deg, #ff8a00 0%, #ff5c00 48%, #fb7185 100%);
      color: #fff;
      font-weight: 900;
      text-decoration: none;
      box-shadow: 0 14px 28px rgba(255, 92, 0, .28), inset 0 1px 0 rgba(255,255,255,.35);
      border: 2px solid rgba(255,255,255,.75);
      transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
      white-space: nowrap;
    }
    .carousel-school-btn:hover {
      color: #fff;
      transform: translateY(-2px);
      box-shadow: 0 20px 36px rgba(255, 92, 0, .34), inset 0 1px 0 rgba(255,255,255,.42);
      filter: saturate(1.05);
    }
    .carousel-school-btn i {
      font-size: 1.1rem;
    }

    .clients.section{ padding-top:18px; padding-bottom:12px; }
    .clients .swiper-slide{
      min-height:64px;
      display:flex;
      align-items:center;
      justify-content:center;
    }
    .clients .swiper-slide img{
      max-height:48px;
      max-width:150px;
      width:auto;
      height:auto;
      object-fit:contain;
    }
    .reviews{ padding-top:36px!important; }

    .toast-shell{ z-index:1080; top:84px; right:16px; }

    @media (max-width:991.98px){
      .home-pack-hero h2{ font-size:2rem; }
      .home-product-media{ height:168px; }
    }
    @media (max-width:767.98px){
      .home-pack-hero{ padding:26px 22px 24px; border-radius:24px; }
      .home-pack-hero h2{ font-size:1.8rem; }
      .home-pack-pills{ display:none; }
      .home-section-title h2{ font-size:1.7rem; }
      .pack-card-media{ min-height:145px; }
      .pack-card-media img{ max-height:116px; }
      .pack-card-title{ min-height:auto; }
      .pack-sale-section .container{ padding:22px 14px 16px; border-radius:26px; }
      .pack-card{ max-width:none; }
      .home-product-media{ height:150px; }
      .clients .swiper-slide{ min-height:52px; }
      .clients .swiper-slide img{ max-height:38px; max-width:112px; }
      .home-product-media img{ max-height:110px; }
      .home-product-body{ min-height:218px; }
      .action-row{ flex-direction:column; }
      .action-row .btn-secondary, .action-row .btn-main{ width:100%; min-width:0; }
      .qty-bar{ justify-content:flex-start; }

      .strip-frame { aspect-ratio: 16 / 7; }
      .carousel-school-btn {
        right: 50%;
        bottom: 10%;
        transform: translateX(50%);
        min-height: 42px;
        padding: 10px 16px;
        font-size: .85rem;
      }
      .carousel-school-btn:hover { transform: translateX(50%) translateY(-2px); }
    }
  
/* Ajuste quirúrgico: logos marcas propias más grandes */
.brand-logo-item{
  min-height:92px !important;
  padding:16px 30px !important;
}

.brand-logo-item img{
  max-height:68px !important;
  max-width:190px !important;
}

@media (max-width: 767.98px){
  .brand-logo-item{
    min-height:78px !important;
    padding:13px 20px !important;
  }
  .brand-logo-item img{
    max-height:56px !important;
    max-width:160px !important;
  }
}
