/* Room for photography and direct shopping controls. Reading pages retain their measure. */
body.site-page{--cc-container:100%;--cc-gutter:clamp(16px,2vw,40px)}
#catalog.dense-catalog .dense-workspace{grid-template-columns:250px minmax(0,1fr);gap:28px}
#catalog .dense-stock-filter{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
#catalog .dense-sidebar .dense-stock-filter input{width:20px;height:20px;min-height:20px;flex:0 0 20px;padding:0;accent-color:var(--cc-accent)}
#catalog .dense-stock-filter span{font-weight:600}
#catalog #products[data-view-layout=cards]{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px;align-items:start}
#catalog #products[data-view-layout=cards]>.product-card{min-width:0;overflow:hidden;border-radius:16px}
#catalog .product-card .product-visual{height:auto;min-height:300px;aspect-ratio:auto;padding:0;background:var(--cc-media-surface)}
#catalog .product-card .product-visual>img{width:100%;height:320px;object-fit:contain;padding:20px}
#catalog .product-visual>.cc-product-gallery{margin:0;width:100%;--cc-gallery-preview-height:320px}
#catalog .product-visual>.cc-product-gallery .cc-gallery-viewport{aspect-ratio:1;min-height:280px}
#catalog .product-visual>.format-label{display:none}
#catalog .product-visual>.favorite{z-index:2;top:12px;right:12px}
#catalog .product-card .product-body{padding:22px}
#catalog .product-card .product-body h3{font-size:23px;line-height:1.25;min-height:0;margin-bottom:12px}
#catalog .product-card .price{font-size:30px}
#catalog .product-card .product-footer{padding:16px 22px;gap:12px;flex-wrap:wrap}
#catalog .product-card .product-footer>.button{flex:1 1 100%;min-height:46px}
#catalog .dense-column-head,#catalog .dense-product-row{grid-template-columns:minmax(360px,1.9fr) minmax(120px,.65fr) minmax(130px,.7fr) minmax(140px,.8fr) 104px;gap:16px}
#catalog .dense-product-row{padding:20px 16px}
#catalog .dense-identity{grid-template-columns:170px minmax(0,1fr);gap:18px}
#catalog .dense-identity h3{font-size:19px;line-height:1.35}
#catalog .dense-identity .dense-product-media{width:170px;height:190px;min-height:190px}
#catalog .dense-identity .cc-product-gallery{width:170px;margin:0;--cc-gallery-preview-height:190px}
#catalog .dense-identity .cc-gallery-viewport{aspect-ratio:1;min-height:170px}
#catalog .dense-product-media .cc-product-photo{object-fit:contain}
#catalog .dense-photo-scope{font-size:12px}
.product-page .product-online-card{grid-template-columns:minmax(340px,48%) minmax(0,1fr);gap:36px;padding:32px}
.product-page .product-page-media{width:100%;max-width:720px}
.product-page .product-page-media .cc-gallery-viewport{aspect-ratio:1;min-height:400px}
.product-page .product-page-media .cc-gallery-canvas img{padding:24px}
[data-brand-body] .reading-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:28px}
[data-brand-body] .profile-product .cc-gallery-viewport{aspect-ratio:1;min-height:300px}
#menu-comparison .menu-row-identity{grid-template-columns:170px minmax(0,1fr);gap:20px}
#menu-comparison .menu-row-media .product-media{min-height:170px;max-height:none}
@media(min-width:1600px){#catalog #products[data-view-layout=cards]{grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}}
@media(max-width:1250px){
 #catalog.dense-catalog .dense-workspace{grid-template-columns:220px minmax(0,1fr);gap:20px}
 #catalog .dense-column-head,#catalog .dense-product-row{grid-template-columns:minmax(300px,1.5fr) minmax(120px,.8fr) minmax(120px,.8fr) 100px;gap:12px}
 #catalog .dense-identity{grid-template-columns:130px minmax(0,1fr);gap:14px}
 #catalog .dense-identity .dense-product-media{width:130px;height:150px;min-height:150px}
 #catalog .dense-identity .cc-product-gallery{width:130px;--cc-gallery-preview-height:150px}
 #catalog .dense-identity .cc-gallery-viewport{min-height:130px}
 #catalog .dense-package{padding-left:144px}
 #menu-comparison .menu-row-identity{grid-template-columns:130px minmax(0,1fr)}
 .product-page .product-online-card{grid-template-columns:minmax(300px,45%) minmax(0,1fr);gap:24px;padding:24px}
}
@media(max-width:1000px){#catalog #products[data-view-layout=cards]{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:850px){
 #catalog.dense-catalog .dense-workspace{grid-template-columns:minmax(0,1fr)}
 #catalog .dense-product-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:18px}
 #catalog .dense-identity{grid-template-columns:170px minmax(0,1fr);gap:18px}
 #catalog .dense-identity .dense-product-media{width:170px;height:190px;min-height:190px}
 #catalog .dense-identity .cc-product-gallery{width:170px;--cc-gallery-preview-height:190px}
 #catalog .dense-identity .cc-gallery-viewport{min-height:170px}
 #catalog .dense-package{padding:0}
}
@media(max-width:700px){
 .product-page .product-online-card{grid-template-columns:minmax(0,1fr);padding:18px;gap:20px}
 .product-page .product-page-media{max-width:100%;grid-column:1;grid-row:auto}
 .product-page .product-page-media .cc-gallery-viewport{min-height:280px}
 .product-page .product-online-card>p,.product-page .product-online-card>div:not(.product-page-media){grid-column:1}
}
@media(max-width:600px){
 #catalog #products[data-view-layout=cards]{grid-template-columns:minmax(0,1fr);gap:22px}
 #catalog .product-card .product-body{padding:18px}
 #catalog .product-card .product-body h3{font-size:22px}
 #catalog .product-card .product-visual{min-height:280px}
 #catalog .dense-identity{grid-template-columns:120px minmax(0,1fr);gap:14px}
 #catalog .dense-identity .dense-product-media{width:120px;height:150px;min-height:150px}
 #catalog .dense-identity .cc-product-gallery{width:120px;--cc-gallery-preview-height:150px}
 #catalog .dense-identity .cc-gallery-viewport{min-height:120px}
 #catalog .dense-identity h3{font-size:18px}
 #catalog .dense-product-row{padding:14px}
 #menu-comparison .menu-row-identity{grid-template-columns:120px minmax(0,1fr);gap:14px}
 #menu-comparison .menu-row-media .product-media{min-height:120px}
}
@media(max-width:360px){#catalog .dense-identity{grid-template-columns:100px minmax(0,1fr)}#catalog .dense-identity .cc-product-gallery{width:100px}#catalog .dense-identity .dense-product-media{width:100px;height:130px;min-height:130px}#catalog .dense-identity .cc-gallery-viewport{min-height:100px}}
/* Gallery hosts own their photo state; their shell is not a second media frame. */
#catalog .dense-sidebar label.dense-stock-filter{display:flex;flex-direction:row;align-items:center;gap:10px}
#catalog .product-visual .cc-product-gallery{color:var(--cc-text);background:var(--cc-surface)}
#catalog .product-visual .cc-gallery-panel>p,#catalog .product-visual .cc-gallery-inspection>summary{color:var(--cc-text)}
#catalog .product-visual .cc-gallery-panel{padding-bottom:12px}
#catalog .product-visual .cc-gallery-panel>p,#catalog .product-visual .cc-gallery-inspection{margin-inline:12px}
#catalog .product-visual .cc-media-scope{display:none}

#catalog .product-options{margin:10px 0;font-size:14px;color:var(--cc-muted)}
#catalog .product-options>summary{min-height:32px;cursor:pointer;align-content:center}
#catalog .product-options[open] .personal-controls{padding:8px 0}

/* Give each format a recognizable graphic and an easy-to-hit category tile. */
#catalog .category-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(122px,1fr));gap:12px;overflow:visible;padding:4px 0 20px;margin:0;align-items:stretch}
#catalog .category-tabs button{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:148px;padding:16px 10px 12px;border:1px solid var(--cc-border);border-radius:16px;background:var(--cc-surface);color:var(--cc-text);font-size:15px;line-height:1.3;transition:background .15s,border-color .15s}
#catalog .category-tabs button:hover{border-color:var(--cc-accent);background:var(--cc-accent-soft)}
#catalog .category-tabs button.active{border:2px solid var(--cc-accent);background:var(--cc-accent-soft);padding:15px 9px 11px;box-shadow:inset 0 0 0 1px var(--cc-surface)}
#catalog .category-tabs button .cc-format-cue{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;white-space:normal;text-align:center;font-weight:600}
#catalog .category-tabs button .cc-format-cue svg{display:block;flex:none;width:72px;height:72px;padding:9px;max-width:none;stroke-width:1.5;border-radius:20px;background:var(--cc-accent-soft);color:var(--cc-accent);box-sizing:border-box}
#catalog .category-tabs button.active .cc-format-cue svg{background:var(--cc-surface)}
#catalog .category-tabs button>.cc-format-count{position:absolute;top:8px;right:8px;min-width:23px;padding:3px 5px;font-size:var(--cc-text-xs);line-height:1.2;border:1px solid var(--cc-border);margin:0}
@media(max-width:1000px){#catalog .category-tabs{display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 0 16px;scroll-padding-inline:4px}#catalog .category-tabs button{flex:0 0 116px;min-height:140px;scroll-snap-align:start}#catalog .category-tabs button .cc-format-cue svg{width:68px;height:68px}}
@media(prefers-reduced-motion:reduce){#catalog .category-tabs button{transition:none}}
#catalog .category-tabs button .cc-format-cue>span{font-size:14px;white-space:nowrap}
#catalog .category-tabs{grid-template-columns:repeat(7,minmax(0,1fr))}
@media(min-width:2200px){#catalog .category-tabs{grid-template-columns:repeat(14,minmax(0,1fr))}}

/* The existing14 format controls occupy two7-column rows, or one mobile strip. */
#catalog .category-tabs{min-height:332px}
@media(max-width:1000px){#catalog .category-tabs{min-height:160px}}
@media(min-width:2200px){#catalog .category-tabs{min-height:172px}}
/* Keep initial empty/skeleton content from pulling the footer into the viewport. */
#catalog #products{min-height:65vh}
