/* Version 2.1 composition families. Selectors affect presentation only; forms,
   project records, routes, permission checks and custom section order are shared. */
.lux-store[data-template-layout] :is(.lux-product,.lux-product-info,.r21-hero-copy,.hero-art){min-width:0}
.lux-store[data-template-layout=editorial] .lux-hero{grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,90px)}
.lux-store[data-template-layout=editorial] .hero-art{order:-1;border-radius:3px 3px 80px 3px}
.lux-store[data-template-layout=editorial] .lux-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.lux-store[data-template-layout=editorial] .lux-product{display:grid;grid-template-columns:46% minmax(0,1fr);border-radius:4px;align-items:center}
.lux-store[data-template-layout=editorial] .lux-product-info{padding:24px}
.lux-store[data-template-layout=editorial] .store-product-image{height:100%;aspect-ratio:4/5;border-radius:0}
html[lang=en] .lux-store[data-template-layout=editorial] :is(h1,h2,.lux-product-name){font-family:Georgia,'Times New Roman',serif}
.lux-store[data-template-layout=split] .lux-hero{grid-template-columns:1fr 1.25fr;gap:clamp(28px,5vw,80px)}
.lux-store[data-template-layout=split] .hero-art{border-radius:48% 48% 12px 12px}
.lux-store[data-template-layout=split] .lux-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.lux-store[data-template-layout=split] .store-product-image{aspect-ratio:4/5}
.lux-store[data-template-layout=bento] .lux-hero{grid-template-columns:1fr 1fr;border-radius:32px;background:var(--soft);padding:clamp(22px,4vw,56px)}
.lux-store[data-template-layout=bento] .hero-art{border-radius:22px;transform:rotate(-2deg)}
.lux-store[data-template-layout=bento] .lux-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.lux-store[data-template-layout=bento] .lux-product:nth-child(5n+1){grid-column:span 2;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;background:var(--soft);border-radius:25px}
.lux-store[data-template-layout=bento] .lux-product:nth-child(5n+1) .store-product-image{aspect-ratio:1;height:100%}
.lux-store[data-template-layout=bento] .lux-product-info{padding:20px}
.lux-store[data-template-layout=catalog] .lux-hero{min-height:290px;padding-block:28px;grid-template-columns:1.5fr .75fr;gap:28px;border-bottom:1px solid var(--line)}
.lux-store[data-template-layout=catalog] .lux-hero h1{font-size:clamp(30px,3.5vw,52px)}
.lux-store[data-template-layout=catalog] .hero-art{max-height:300px;border-radius:8px}
.lux-store[data-template-layout=catalog] .lux-products{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.lux-store[data-template-layout=catalog] .lux-product{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.lux-store[data-template-layout=catalog] .lux-product-info{padding:16px}
.lux-store[data-template-layout=catalog] .store-product-image{aspect-ratio:1;border-radius:0}
.lux-store[data-template-layout=catalog] .category-rail{border-block:1px solid var(--line);padding-block:16px}
.lux-store[data-template-layout=minimal] .lux-hero{grid-template-columns:1.65fr .7fr;min-height:300px;border-bottom:1px solid var(--line);gap:40px}
.lux-store[data-template-layout=minimal] .hero-art{border-radius:50%;max-height:290px;aspect-ratio:1}
.lux-store[data-template-layout=minimal] .hero-halo{display:none}
.lux-store[data-template-layout=minimal] .lux-products{grid-template-columns:1fr;gap:0;max-width:1100px;margin-inline:auto}
.lux-store[data-template-layout=minimal] .lux-product{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;padding:20px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}
.lux-store[data-template-layout=minimal] .store-product-image{height:140px;aspect-ratio:1;border-radius:12px}
.lux-store[data-template-layout=minimal] .lux-product-info{padding:16px 28px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}
.lux-store[data-template-layout=minimal] .lux-product-category{grid-column:1/-1}
.lux-store[data-template-layout=minimal] .lux-product-bottom{gap:22px}
/* Density customizations must not erase intrinsic book/list/feature structures. */
/* v11 uniform-height rules use display:flex!important on every dish. Restore
   the four structural compositions while retaining their shared semantic controls. */
.m9-menu.m9-menu[data-card=editorial] .m9-grid>.v7-food,
.m9-menu.m9-menu[data-card=list] .m9-grid>.v7-food,
.m9-menu.m9-menu[data-card=feature] .m9-grid>.v7-food:first-child,
.m9-menu.m9-menu[data-card=mosaic] .m9-grid>.v7-food:nth-child(5n+1){display:grid!important;align-items:stretch}
.m9-menu.m9-menu[data-card=editorial] .m9-grid>.v7-food{grid-template-columns:40% minmax(0,1fr)}
.m9-menu.m9-menu[data-card=list] .m9-grid>.v7-food{grid-template-columns:150px minmax(0,1fr)}
.m9-menu.m9-menu[data-card=feature] .m9-grid>.v7-food:first-child{grid-template-columns:1.35fr minmax(0,1fr)}
.m9-menu.m9-menu[data-card=mosaic] .m9-grid>.v7-food:nth-child(5n+1){grid-template-columns:1.2fr minmax(0,1fr)}
.m9-menu.m9-menu:is([data-card=editorial],[data-card=list],[data-card=feature],[data-card=mosaic]) .m9-grid .v7-food-image{align-self:center}
@media(max-width:720px){.m9-menu.m9-menu[data-card=editorial] .m9-grid>.v7-food{grid-template-columns:36% minmax(0,1fr)}.m9-menu.m9-menu[data-card=list] .m9-grid>.v7-food{grid-template-columns:90px minmax(0,1fr)}.m9-menu.m9-menu[data-card=feature] .m9-grid>.v7-food:first-child{grid-template-columns:1fr}.m9-menu.m9-menu[data-card=mosaic] .m9-grid>.v7-food:nth-child(5n+1){grid-template-columns:1fr 1fr}.m9-menu.m9-menu[data-card=list] .m9-grid .v7-food-body{padding:10px}}
body[data-page=admin][data-theme-engine=erp][data-theme-family=bento] .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
body[data-page=admin][data-theme-engine=erp][data-theme-family=bento] .stats-grid>.stat-card:first-child{grid-column:span 2;background:var(--soft);padding:32px}
body[data-page=admin][data-theme-engine=erp][data-theme-family=minimal] .stats-grid{gap:0;border-block:1px solid var(--line)}
body[data-page=admin][data-theme-engine=erp][data-theme-family=minimal] .stat-card{border:0;border-inline-end:1px solid var(--line);border-radius:0;box-shadow:none;background:transparent}
body[data-page=admin][data-theme-engine=erp][data-theme-family=minimal] .dashboard-grid{grid-template-columns:1fr}
body[data-page=admin][data-theme-engine=erp][data-theme-family=editorial] .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-page=admin][data-theme-engine=erp][data-theme-family=editorial] .dashboard-grid{grid-template-columns:1fr}
body[data-page=admin][data-theme-engine=erp][data-theme-family=editorial] .stat-card{border-radius:3px;border-width:0 0 2px}
body[data-page=admin][data-theme-engine=erp][data-theme-family=split] .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
body[data-page=admin][data-theme-engine=erp][data-theme-family=split] .dashboard-grid{grid-template-columns:1.4fr 1fr}
body[data-page=admin][data-theme-engine=erp][data-theme-family=catalog] .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
body[data-page=admin][data-theme-engine=erp][data-theme-family=catalog] .stat-card{border-radius:6px}
@media(max-width:650px){body[data-page=admin][data-theme-engine=erp] .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body[data-page=admin][data-theme-engine=erp] .dashboard-grid{grid-template-columns:1fr!important}}
@media(min-width:1101px){.m9-menu.m9-menu[data-card=editorial] .v7-menu-grid.m9-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.m9-menu.m9-menu[data-card=list] .v7-menu-grid.m9-grid{grid-template-columns:1fr}.m9-menu.m9-menu[data-card=feature] .v7-menu-grid.m9-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.theme-preview.has-screenshot{padding:0;overflow:hidden;background:var(--theme-bg);position:relative}.theme-preview.has-screenshot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.theme-preview.has-screenshot.large{height:420px}.theme-window.has-screenshot{display:block;padding:0;overflow:hidden}.theme-window.has-screenshot img{width:100%;height:100%;display:block;object-fit:cover;object-position:top}
.m9-menu .m9-category-nav a{min-height:44px}
@media(max-width:720px){body[data-page=restaurant] .m9-menu .v7-food footer .btn{min-height:44px;min-width:44px}}
/* A clipped root can hide overflow from width tests. Let narrow headers wrap
   so the language, table and menu controls remain visible and finger-sized. */
@media(max-width:420px){body[data-page=restaurant] .m9-menu .m9-header{flex-wrap:wrap;gap:12px;padding-block:16px}body[data-page=restaurant] .m9-menu .v7-public-brand{max-width:100%;width:100%}body[data-page=restaurant] .m9-menu .v7-public-tools{width:100%;justify-content:flex-end;gap:5px}body[data-page=restaurant] .m9-menu .v7-public-tools .btn{width:44px;min-width:44px;min-height:44px}body[data-page=restaurant] .m9-menu .v7-public-tools .language-button{min-width:44px;min-height:44px}}
@media(max-width:1000px){.lux-store[data-template-layout=catalog] .lux-products{grid-template-columns:repeat(3,minmax(0,1fr))}.lux-store[data-template-layout=editorial] .lux-product{display:block}.lux-store[data-template-layout=editorial] .store-product-image{aspect-ratio:1;height:auto}}
@media(max-width:650px){.lux-store[data-template-layout] .lux-hero{grid-template-columns:1fr;gap:24px;min-height:0}.lux-store[data-template-layout] .hero-art{order:0;transform:none;max-height:320px}.lux-store[data-template-layout] .lux-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lux-store[data-template-layout] .lux-product-info{padding:12px}.lux-store[data-template-layout=bento] .lux-product:nth-child(5n+1){grid-column:1/-1;grid-template-columns:1fr 1fr}.lux-store[data-template-layout=minimal] .lux-products{grid-template-columns:1fr}.lux-store[data-template-layout=minimal] .lux-product{grid-template-columns:100px minmax(0,1fr);gap:10px}.lux-store[data-template-layout=minimal] .store-product-image{height:110px}.lux-store[data-template-layout=minimal] .lux-product-info{display:block;padding:8px}.lux-store[data-template-layout=minimal] .lux-product-name{display:block;margin-block:7px}.lux-store[data-template-layout=editorial] .hero-art{order:-1}.lux-store[data-template-layout=editorial] .lux-product{display:block}.lux-store[data-template-layout=split] .hero-art{border-radius:40px 40px 8px 8px}.lux-store[data-template-layout=minimal] .hero-art{max-height:220px}.theme-preview.has-screenshot.large{height:270px}}
