/* P11.1 / P11.2 — Adaptive Category Packing
 * Desktop: compacta subcategorías hermanas pequeñas en una grilla de 4 slots.
 * Tablet: lectura secuencial. Móvil: únicamente pares de subcategorías singleton
 * consecutivas pueden compartir una fila de 2 slots.
 */
.catalog-adaptive-pack{
  display:grid;
  gap:28px;
  min-width:0;
  width:100%;
}
.catalog-adaptive-pack__group{
  display:grid;
  min-width:0;
  align-content:start;
}
.catalog-adaptive-pack__group .catalog-section-heading{
  min-height:30px;
  margin:14px 0 7px;
  align-items:flex-end;
}
.catalog-adaptive-pack__group .subcategory-heading .category-title-row h3,
.catalog-adaptive-pack__group .catalog-section-heading__title{
  font-size:16px;
  font-weight:750;
  line-height:1.2;
}
.catalog-adaptive-pack__group .catalog-section-heading__divider{
  margin-bottom:12px;
  background:rgba(15,23,42,.09);
}
.catalog-adaptive-pack__products{
  min-width:0;
}

@media (min-width:1200px){
  .catalog-adaptive-pack{
    grid-template-columns:repeat(4,minmax(0,1fr));
    column-gap:var(--grid-gap,22px);
    row-gap:30px;
    align-items:start;
  }
  .catalog-adaptive-pack__group[data-pack-span="1"]{grid-column:span 1;}
  .catalog-adaptive-pack__group[data-pack-span="2"]{grid-column:span 2;}
  .catalog-adaptive-pack__group[data-pack-span="1"] .catalog-adaptive-pack__products{
    grid-template-columns:minmax(0,1fr);
  }
  .catalog-adaptive-pack__group[data-pack-span="2"] .catalog-adaptive-pack__products{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .catalog-adaptive-pack__group .product-row{
    padding-bottom:10px;
  }
}

@media (max-width:1199px){
  .catalog-adaptive-pack{
    display:grid;
    gap:24px;
  }
  .catalog-adaptive-pack__group{
    width:100%;
  }
}

@media (max-width:760px){
  .catalog-adaptive-pack{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:12px;
    row-gap:18px;
    align-items:start;
  }
  .catalog-adaptive-pack__group{
    grid-column:span 2;
    min-width:0;
  }
  .catalog-adaptive-pack__group[data-mobile-span="1"]{
    grid-column:span 1;
  }
  .catalog-adaptive-pack__group .catalog-section-heading{
    min-height:0;
    margin:8px 0 6px;
  }
  .catalog-adaptive-pack__group .subcategory-heading .category-title-row h3,
  .catalog-adaptive-pack__group .catalog-section-heading__title{
    font-size:18px;
  }
  .catalog-adaptive-pack__group .catalog-section-heading__divider{
    margin-bottom:8px;
  }
  .catalog-adaptive-pack__products{
    display:flex;
    grid-template-columns:none;
    gap:10px;
    width:calc(100% + var(--shell-pad));
    margin-right:calc(var(--shell-pad) * -1);
    padding:2px var(--shell-pad) 10px 0;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x proximity;
    scroll-padding-inline-start:0;
    overscroll-behavior-inline:contain;
    touch-action:pan-x pan-y;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .catalog-adaptive-pack__products::-webkit-scrollbar{display:none;}
  .catalog-adaptive-pack__products > .product-card{
    flex:0 0 clamp(164px,43vw,188px);
    width:clamp(164px,43vw,188px);
    scroll-snap-align:start;
  }
  .catalog-adaptive-pack__products > .product-card:last-child{margin-right:2px;}

  /* P11.2: un singleton emparejado ocupa exactamente un slot móvil.
   * El rail deja de desbordar porque ya no hay una tercera card que descubrir. */
  .catalog-adaptive-pack__group[data-mobile-span="1"] .catalog-section-heading{
    min-height:32px;
    margin-top:6px;
    align-items:flex-end;
  }
  .catalog-adaptive-pack__group[data-mobile-span="1"] .subcategory-heading .category-title-row h3,
  .catalog-adaptive-pack__group[data-mobile-span="1"] .catalog-section-heading__title{
    font-size:16px;
    line-height:1.2;
    overflow-wrap:anywhere;
  }
  .catalog-adaptive-pack__group[data-mobile-span="1"] .catalog-adaptive-pack__products{
    display:block;
    width:100%;
    margin-right:0;
    padding:2px 0 10px;
    overflow:visible;
    scroll-snap-type:none;
    touch-action:auto;
  }
  .catalog-adaptive-pack__group[data-mobile-span="1"] .catalog-adaptive-pack__products > .product-card{
    display:block;
    flex:none;
    width:100%;
    max-width:none;
    min-width:0;
    margin-right:0;
    scroll-snap-align:none;
  }
}

/* Match the shared catalog hierarchy without changing product packing. */
.catalog .catalog-adaptive-pack { row-gap: var(--catalog-group-space, 48px); }
.catalog .catalog-adaptive-pack__group .catalog-section-heading {
  margin: 0 0 var(--catalog-heading-space, 20px);
}
.catalog .catalog-adaptive-pack__group .subcategory-heading h3 {
  font-size: var(--catalog-subheading-size, 20px);
  font-weight: 600;
  line-height: 1.3;
}
.catalog .catalog-adaptive-pack__group .catalog-section-heading__divider { display: none; }
@media (max-width: 760px) {
  .catalog .catalog-adaptive-pack__group[data-mobile-span="1"] .subcategory-heading h3 { font-size: 16px; }
}
