.home-layout .home-slot > .store-section {
    width: min(var(--content-width,1240px),calc(100% - 48px));
    margin-inline: auto;
}
.home-ludico {
    display: grid;
    grid-template-columns: minmax(0,2fr) minmax(0,1fr);
    gap: 16px;
    width: min(1440px,100%);
    margin-inline: auto;
}
.home-ludico > .home-slot { grid-column: 1 / -1; min-width: 0; }
.home-ludico:has(.slot-hero):has(.slot-categories) > .slot-hero { grid-column: 1; }
.home-ludico:has(.slot-hero):has(.slot-categories) > .slot-categories { grid-column: 2; }
.home-ludico .category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.playful-discovery { padding-block: 0 12px; }
.playful-discovery .store-search { max-width: 100%; }
.theme-ludico .playful-masthead { justify-content: space-between; }

.minimal-nav { flex: 1; }
.minimal-nav .store-nav { width: 100%; margin: 0; justify-content: center; }
.minimal-search { padding-bottom: 12px; }
.minimal-search .store-search { max-width: 520px; margin-inline: auto; }
.home-minimalista .minimal-hero {
    min-height: 210px;
    width: min(1240px,calc(100% - 48px));
    margin-inline: auto;
}
.home-minimalista .minimal-hero .hero-backdrop { width: 38%; inset: 0 0 0 auto; }
.home-minimalista .minimal-hero .hero-copy { padding-block: 25px; }
.home-minimalista .minimal-hero h1 { font-size: clamp(25px,4vw,48px); }
.home-minimalista .product-card { border-radius: 0; }
.home-minimalista .category-grid { display:flex; flex-wrap:wrap; }
.home-minimalista .category-tile { min-width: 140px; flex: 1; }

.theme-moderno .modern-nav { border-top: 1px solid var(--line,#ddd); }
.home-moderno .slot-new .products-grid {
    display: grid; grid-auto-flow: column; grid-auto-columns: minmax(220px,30%);
    grid-template-columns: none; overflow-x: auto; padding-bottom: 12px;
    scroll-snap-type: x mandatory;
}
.home-moderno .slot-new .product-card { scroll-snap-align: start; }
.home-moderno .modern-hero { width: 100%; min-height: 500px; }

.theme-elegante .editorial-masthead { display:grid; grid-template-columns: 1fr auto 1fr; }
.theme-elegante .editorial-masthead .store-actions { justify-self:end; }
/* Editorial split preserves the portrait and makes room for a longer store headline. */
.home-elegante .elegant-hero { min-height: clamp(365px,34vw,530px); }
.home-elegante .elegant-hero .hero-copy { width: min(1240px, calc(100% - 48px)); }
.home-elegante .elegant-hero h1 { max-width: 11ch; }
.home-elegante .slot-featured .products-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.home-elegante .slot-featured .product-card { display:grid; grid-template-columns: 1.2fr 1fr; }

.catalog-layout { min-width:0; }
.catalog-moderno { display:grid; grid-template-columns: minmax(180px,245px) minmax(0,1fr); gap: 32px; align-items:start; }
.catalog-moderno .filter-bar { display:grid; margin-top:0; }
.catalog-elegante .products-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.catalog-elegante .product-cover img { aspect-ratio: 4 / 5; }
.catalog-ludico .product-card:nth-child(4n+1) { border-radius:28px 28px 10px 10px; }
.catalog-filter-toggle { margin-bottom: 20px; }
.category-path { margin-bottom: 12px; }
.category-branches { display:flex; flex-wrap:wrap; gap:8px; margin-bottom: 18px; }
.category-branches a { border:1px solid var(--line,#ddd); padding:6px 12px; border-radius:20px; }

.product-layout-ludico { grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); }
.product-layout-ludico .product-information { padding:24px; border:1px solid var(--line,#ddd); border-radius:24px; }
.product-layout-minimalista { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); }
.product-layout-moderno { grid-template-columns: minmax(0,1fr) minmax(0,1.55fr); }
.product-layout-moderno .product-information { grid-column:1; grid-row:1; }
.product-layout-moderno .product-media { grid-column:2; grid-row:1; }
.product-editorial-title { text-align:center; margin:32px auto 12px; }
.product-layout-elegante { grid-template-columns: minmax(0,1fr); max-width:900px; margin-inline:auto; }
.product-layout-elegante .product-information { max-width:650px; margin-inline:auto; }

.floating-cart {
    position:fixed; z-index:20; inset-inline-end:16px; bottom:calc(78px + env(safe-area-inset-bottom));
    display:grid; place-items:center; width:52px; height:52px; border-radius:50%;
    color:var(--on-primary,#fff); background:var(--primary,#176752);
    box-shadow:0 4px 18px #0003; text-decoration:none;
}
.floating-cart span { position:absolute; top:-5px; right:-3px; border-radius:20px; min-width:22px; text-align:center; background:var(--accent); color:var(--on-accent,#222); font-weight:bold; }
@media(max-width: 900px) {
    .home-ludico { display:block; }
    .minimal-masthead { flex-wrap:wrap; }
    .minimal-nav { order:3; flex: 0 0 100%; }
    .theme-elegante .editorial-masthead { grid-template-columns: 1fr auto; }
    .editorial-masthead .store-search { grid-column:1/-1; grid-row:2; }
    .catalog-moderno { grid-template-columns: 1fr; gap: 10px; }
}
@media(max-width: 600px) {
    .home-layout .home-slot > .store-section { width:calc(100% - 28px); }
    .home-minimalista .minimal-hero { width: 100%; min-height: 285px; }
    .home-minimalista .minimal-hero .hero-backdrop { width: 100%; }
    .home-elegante .elegant-hero { min-height: 320px; }
    .home-elegante .elegant-hero .hero-copy { width: calc(100% - 36px); }
    .home-elegante .elegant-hero h1 { max-width: min(61%, 11ch); }
    .home-elegante .slot-featured .products-grid { grid-template-columns:1fr; }
    .catalog-elegante .products-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .product-layout-ludico,.product-layout-minimalista,.product-layout-moderno { grid-template-columns:minmax(0,1fr); }
    .product-layout-moderno .product-media,.product-layout-moderno .product-information { grid-column:auto; grid-row:auto; }
    .theme-elegante .editorial-masthead .store-brand { justify-self:start; }
}


.consent-panel:not([hidden]) {
    display: grid;
    gap: .65rem;
    inset-inline: 12px;
    bottom: max(12px, env(safe-area-inset-bottom));
    max-width: 510px;
    margin-inline: auto;
    padding: 12px 16px;
    border-radius: 12px;
    color: #242822;
    background: #fff;
    box-shadow: 0 4px 18px #0002;
}
.consent-panel h2 { margin: 0 0 4px; font: 650 1rem/1.25 system-ui, sans-serif; color: inherit; }
.consent-panel p, .consent-panel label { font: .82rem/1.4 system-ui, sans-serif; }
.consent-panel a { color: inherit; text-decoration: underline; }
.consent-panel .consent-actions, .consent-panel .cookie-options { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; }
.consent-panel [hidden] { display: none; }
.consent-panel .btn, .consent-panel .link-button { font: 600 .8rem/1.25 system-ui, sans-serif; padding: .4rem .55rem; min-height: 34px; }


.store-nav .category-menu,
.store-nav .category-menu ul { list-style: none; margin: 0; }
.store-nav .category-menu { max-height: min(58vh, 420px); overflow: auto; }
.store-nav .category-menu ul { padding-left: .7em; border-left: 1px solid var(--line); }
.store-nav .category-menu ul ul ul { padding-left: 0; }
.store-nav .category-menu a { white-space: normal; overflow-wrap: anywhere; }
.home-ludico .category-tile { padding-inline: 12px; }
.home-ludico .category-art { flex: 0 0 35px; width: 35px; }
.home-ludico .category-art .nav-category-art { width: 35px; height: 35px; font-size: 30px; }
.home-ludico .category-copy strong { font-size: clamp(.75rem, 1.2vw, 1rem); }
