/* Containers shrink locally; navigation scroll never widens the document. */
.store-header,.header-main,.minimal-nav,.modern-nav,.editorial-masthead,.home-layout,.home-slot,.category-grid,.products-grid { min-width:0; }
.store-header .header-main>* { min-width:0; }
.theme-minimalista .minimal-masthead { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:24px; }
.theme-minimalista .minimal-nav { width:100%; max-width:100%; }
.theme-minimalista .minimal-nav .shop-navigation { width:100%; margin:0; max-width:100%; }
.shop-navigation .shop-nav-track { width:100%; min-width:0; box-sizing:border-box; }
.store-header>.shop-navigation { max-width:var(--content-width,1240px); }
/* Lúdico keeps its organic banner, with roomy category shortcuts below. */
.home-ludico { display:block; width:100%; max-width:100%; }
.home-ludico .category-section { padding-block:12px; }
.home-ludico .category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.home-ludico .category-tile { min-width:0; max-width:100%; }
.home-layout .category-copy,.home-layout .category-copy strong { min-width:0; overflow-wrap:anywhere; white-space:normal; }
.home-layout .category-photo { min-width:0; width:100%; }
/* Minimalista: a centered editorial introduction followed by a panoramic image. */
.home-minimalista .composition-minimal { display:block; width:min(1240px,calc(100% - 48px)); min-height:0; margin:30px auto 50px; padding:0; }
.home-minimalista .composition-minimal:after { display:none; }
.home-minimalista .composition-minimal .hero-copy { width:100%; padding:44px 24px; text-align:center; }
.home-minimalista .composition-minimal h1 { max-width:24ch; font-size:clamp(32px,4vw,54px); margin:18px auto; }
.home-minimalista .composition-minimal p { max-width:56ch; margin:0 auto 24px; }
.minimal-editorial-image img { display:block; width:100%; height:320px; object-fit:cover; }
.home-minimalista .category-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.home-minimalista .category-tile { min-width:0; width:100%; }
/* Moderno: a strong two-panel opening and asymmetric merchandising. */
.home-moderno .composition-modern { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); width:100%; margin:0; min-height:0; }
.home-moderno .composition-modern:after { display:none; }
.home-moderno .composition-modern .hero-copy { width:100%; padding:clamp(32px,5vw,80px); margin:0; }
.home-moderno .composition-modern h1 { max-width:13ch; font-size:clamp(36px,4vw,64px); }
.home-moderno .composition-modern p { max-width:42ch; }
.modern-feature-image { height:100%; min-height:460px; }
.modern-feature-image img { display:block; width:100%; height:100%; min-height:460px; object-fit:cover; }
.home-moderno .slot-featured .products-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.home-moderno .slot-featured .product-card:first-child { grid-row:span 2; }
.home-moderno .slot-featured .product-card:first-child .product-cover img { aspect-ratio:1/1.15; }
/* Elegante: portrait-led split with a quiet, narrow reading column. */
.home-elegante .composition-elegant { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); width:min(1240px,calc(100% - 48px)); margin:32px auto 56px; min-height:0; }
.home-elegante .composition-elegant:after { display:none; }
.home-elegante .composition-elegant .hero-copy { width:100%; padding:clamp(28px,4vw,64px); }
.home-elegante .composition-elegant h1 { max-width:13ch; font-size:clamp(36px,4vw,60px); }
.home-elegante .composition-elegant p { max-width:36ch; }
.elegant-editorial-image { height:100%; }
.elegant-editorial-image img { display:block; width:100%; height:100%; min-height:440px; object-fit:cover; }
.home-elegante .category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
/* Category products have distinct composition in each template. */
.category-showcase { min-width:0; }
.showcase-intro { margin-bottom:22px; }
.showcase-intro h2 { margin:8px 0 12px; overflow-wrap:anywhere; }
.showcase-all { display:inline-flex; align-items:center; gap:12px; min-height:44px; text-decoration:underline; }
.showcase-products { min-width:0; }
.home-ludico .category-showcase { padding:0; border:0; border-radius:0; background:transparent; }
.home-minimalista .category-showcase .showcase-intro { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; border-bottom:1px solid var(--line); padding-bottom:16px; }
.home-minimalista .showcase-intro>.eyebrow { display:none; }
.home-minimalista .showcase-intro h2 { font-size:25px; font-weight:500; margin:0; }
.home-moderno .category-showcase { display:grid; grid-template-columns:210px minmax(0,1fr); gap:28px; }
.home-moderno .category-showcase .showcase-intro { border-top:5px solid var(--primary); padding-top:22px; }
.home-moderno .category-showcase .products-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.home-elegante .category-showcase .showcase-intro { text-align:center; margin:0 auto 28px; max-width:700px; }
.home-elegante .category-showcase .showcase-intro h2 { font-size:36px; font-family:Georgia,serif; font-weight:400; }
.home-elegante .category-showcase .products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.home-layout .showcase-carousel .showcase-products { display:grid; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:calc((100% - 66px)/4); overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; padding-bottom:14px; gap:22px; }
.showcase-carousel .product-card { scroll-snap-align:start; min-width:0; }
@media(max-width:1050px) {
 .theme-minimalista .minimal-masthead { grid-template-columns:minmax(0,1fr) auto; }
 .theme-minimalista .minimal-nav { grid-column:1/-1; grid-row:2; }
 .home-ludico .category-grid,.home-minimalista .category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .home-moderno .category-showcase { grid-template-columns:160px minmax(0,1fr); gap:20px; }
}
@media(max-width:700px) {
 .home-ludico .category-grid,.home-minimalista .category-grid,.home-elegante .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-layout .composition-modern,.home-layout .composition-elegant { grid-template-columns:minmax(0,1fr); width:100%; margin-block:0 28px; }
 .home-layout .composition-modern .hero-copy,.home-layout .composition-elegant .hero-copy { padding:28px 20px; }
 .home-layout .composition-modern h1,.home-layout .composition-elegant h1 { max-width:17ch; font-size:36px; }
 .home-layout .composition-modern p,.home-layout .composition-elegant p { max-width:100%; }
 .modern-feature-image,.modern-feature-image img { min-height:0; height:260px; }
 .elegant-editorial-image img { min-height:0; height:300px; }
 .home-minimalista .composition-minimal { width:calc(100% - 28px); margin-block:18px 28px; }
 .home-minimalista .composition-minimal .hero-copy { padding:28px 18px; }
 .minimal-editorial-image img { height:220px; }
 .home-layout .category-showcase { display:block; padding:18px 0; border-radius:16px; }
 .home-ludico .category-showcase { padding:0; }
 .home-layout .category-showcase .products-grid,.home-moderno .slot-featured .products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .home-moderno .slot-featured .product-card:first-child { grid-row:auto; }
 .home-layout .showcase-carousel .showcase-products { grid-template-columns:none; grid-auto-columns:calc((100% - 12px)/2); gap:12px; }
 .home-layout .category-showcase .showcase-intro { display:block; text-align:left; }
 .home-layout .category-showcase .showcase-intro h2 { font-size:26px; }
}
.home-layout .product-card,.home-layout .product-info,.home-layout .section-heading { min-width:0; }
.home-layout .product-info h3,.home-layout .section-heading h2 { overflow-wrap:anywhere; }
.home-layout .section-heading { flex-wrap:wrap; gap:16px; }

/* Category showcases reuse the featured section's framing and card sizes. */
.home-ludico .category-showcase .showcase-intro { display:flex; align-items:center; justify-content:space-between; gap:16px; text-align:left; margin:0 0 22px; }
.home-ludico .category-showcase .showcase-intro h2 { margin:0; }
.showcase-actions { display:flex; align-items:center; justify-content:flex-end; gap:16px; flex-wrap:wrap; }
.showcase-scroll-controls { display:flex; gap:8px; }
.showcase-scroll-controls[hidden] { display:none; }
.showcase-scroll-controls button { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:50%; background:var(--paper); color:var(--ink); }
.showcase-scroll-controls button:disabled { opacity:.35; cursor:default; }
.showcase-scroll-controls button:focus-visible,.showcase-products:focus-visible { outline:3px solid currentColor; outline-offset:3px; }
@media(min-width:701px) {
 .home-moderno .showcase-carousel .showcase-products { grid-auto-columns:calc((100% - 44px)/3); }
 .home-elegante .showcase-carousel .showcase-products { grid-auto-columns:calc((100% - 32px)/2); gap:32px; }
}
@media(max-width:700px) {
 .home-ludico .category-showcase .showcase-intro { align-items:flex-start; }
 .showcase-actions { gap:8px; }
}
