/* Real catalogue and saved-product controls shared by active themes. */
body[data-store-theme] .store-header .store-brand-link h1 { font-family:var(--font-body)!important; font-size:1.65rem!important; }
/* Surface, radius and text are supplied by the active theme, including nested menu labels. */
body[data-store-theme] :is(.app-menu-item,.store-product-edit-item,.gallery-share-btn) :is(span,i) { color:inherit; }
body[data-store-theme] :is(.app-menu-item,.store-product-edit-item,.gallery-share-btn) span { font-family:var(--font-body)!important; }
body[data-store-theme] :is(#app-menu-dropdown,#language-submenu) { border-radius:var(--theme-control-radius)!important; box-shadow:var(--theme-popover-shadow)!important; }
body[data-store-theme] #app-menu-dropdown :is(button,a) { animation:none; opacity:1; transform:none; }
body[data-store-theme] #app-menu-dropdown .app-menu-item { min-height:44px; font-family:var(--font-body)!important; }
body[data-store-theme] #app-menu-dropdown .app-menu-item { width:calc(100% - 12px); box-sizing:border-box; }
body[data-store-theme] #app-menu-dropdown .filter-divider { border-color:var(--theme-popover-border); }
body[data-store-theme] #app-menu-dropdown :is(.app-menu-item,.lang-option--selected):hover { background:var(--theme-popover-hover)!important; }
body[data-store-theme] #app-menu-dropdown :is(.app-menu-item,.lang-option--selected):focus-visible { outline:2px solid var(--theme-popover-text); outline-offset:-3px; }
body[data-store-theme] #app-menu-dropdown .lang-option--selected { color:var(--theme-popover-text)!important; background:var(--theme-popover-hover)!important; }
body[data-store-theme] #app-menu-button::before { display:none; }
body[data-store-theme] #app-menu-button:focus-visible { outline:2px solid var(--theme-on-header); outline-offset:2px; }
body[data-store-theme] #store-product-edit-dropdown .store-product-edit-item { color:var(--theme-popover-text)!important; }
body[data-store-theme] #store-product-edit-dropdown .store-product-edit-item i { color:inherit!important; }
body[data-store-theme] .store-product-page :is(.gallery-share-btn,#prev-btn,#next-btn) {
 background:var(--theme-media-control-bg)!important; color:var(--theme-media-control-text)!important; border:1px solid var(--theme-media-control-border); border-radius:var(--theme-media-control-radius)!important; box-shadow:none!important; backdrop-filter:none; animation:none; transition:background-color .15s;
}
body[data-store-theme] .store-product-page :is(.gallery-share-btn,#prev-btn,#next-btn):hover { background:var(--color-background-tertiary)!important; scale:1; }
body[data-store-theme] .store-product-page .gallery-share-btn:hover { transform:none!important; }
body[data-store-theme] .store-product-page :is(#prev-btn,#next-btn):hover { --tw-scale-x:1; --tw-scale-y:1; }
body[data-store-theme] .store-product-page .gallery-share-btn i { transform:none; transition:none; }
body[data-store-theme] .store-product-page :is(.gallery-share-btn,#prev-btn,#next-btn) i { color:inherit!important; }
body[data-store-theme] .store-product-page :is(.gallery-share-btn,#prev-btn,#next-btn):focus-visible { outline:2px solid var(--theme-media-control-text); outline-offset:2px; }
/* Clip the photograph, not the controls: curved galleries must keep their actions reachable. */
body:is([data-store-theme="estudio"],[data-store-theme="miga"]) .store-product-page .product-gallery-stage { overflow:visible!important; }
body:is([data-store-theme="estudio"],[data-store-theme="miga"]) .store-product-page .product-gallery-stage .main-image-container { overflow:hidden; border-radius:inherit; }
@media(max-width:767px) { body[data-mobile-product-heading="compact"] .theme-utility { display:none; } }
.theme-utility { background:var(--color-primary); color:var(--color-on-primary); font-size:11px; }
.theme-utility .store-shell { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:30px; }
.theme-utility p { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin:0; }
.theme-utility a { color:inherit; white-space:nowrap; }
body[data-store-theme] .theme-utility .theme-shell-contact { min-height:30px; font-size:11px; padding-block:0; }
.theme-category-row { display:flex; align-items:center; gap:20px; }
.theme-category-row>.categories-section { min-width:0; flex:1; }
.theme-category-row>.theme-departments { flex-shrink:0; }
.theme-category-row .theme-departments summary { min-height:44px; }
body[data-store-theme] .theme-header-favorites { color:var(--theme-on-header); background:transparent; border:0; min-width:44px; min-height:44px; position:relative; }
.theme-header-favorites small { position:absolute; right:1px; top:0; border-radius:20px; background:var(--color-accent); color:var(--color-text-primary); font-size:10px; padding:1px 4px; }
.theme-saveable-card { position:relative; min-width:0; display:flex; flex-direction:column; flex:1; height:100%; }
.theme-saveable-card>a { flex:1; }
.theme-saveable-card .product-image-badge { right:auto!important; left:8px!important; max-width:calc(100% - 50px); }
.theme-save-product { position:absolute; top:10px; right:10px; z-index:5; width:36px; height:36px; display:grid; place-items:center; color:var(--color-text-secondary); background:var(--color-background-secondary); border:1px solid var(--color-border); border-radius:50%; box-shadow:0 2px 8px #00000005; }
.theme-save-product[aria-pressed=true] { color:var(--color-primary); background:var(--color-background-tertiary); }
.product-gallery-stage>.theme-save-product { top:12px; left:12px; right:auto; z-index:21; }
body[data-product-layout] .store-product-page .product-gallery-stage { position:relative; }
.theme-dialog { color:var(--color-text-primary); background:var(--color-background-secondary); width:min(540px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); border:1px solid var(--color-border); border-radius:var(--theme-radius); padding:24px; overflow:auto; margin:auto; box-shadow:0 20px 90px #0003; }
.theme-dialog::backdrop { background:#11182777; }
.theme-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--color-border); padding-bottom:16px; margin-bottom:20px; }
.theme-dialog-header h2 { font-family:var(--font-heading); font-size:1.4rem; margin:0; }
.theme-dialog-close { min-height:44px; min-width:44px; font-size:1.4rem; border:1px solid var(--color-border); border-radius:var(--theme-radius); }
.theme-saved-note { font-size:.8rem; color:var(--color-text-secondary); margin:0 0 20px; }
.theme-saved-row { display:flex; gap:12px; align-items:center; border-top:1px solid var(--color-border); padding:16px 0; }
.theme-saved-row>a { display:flex; align-items:center; gap:14px; flex:1; min-width:0; font-size:.9rem; }
.theme-saved-row img { width:64px; height:64px; flex-shrink:0; object-fit:contain; border-radius:var(--theme-radius); }
.theme-saved-row>button { min-width:44px; min-height:44px; color:var(--color-text-secondary); }
.theme-control-notice { position:fixed; left:50%; bottom:100px; transform:translateX(-50%); z-index:80; background:var(--color-primary); color:var(--color-on-primary); max-width:calc(100vw - 32px); padding:12px 20px; border-radius:var(--theme-radius); font-size:.85rem; }
.theme-control-notice:empty { display:none; }
body[data-store-theme] .theme-catalog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 0 20px; font-size:.8rem; }
.theme-catalog-toolbar>div { display:flex; align-items:center; gap:16px; }
.theme-catalog-toolbar label { display:flex; align-items:center; gap:8px; }
.theme-catalog-toolbar select,.theme-filter-open { min-height:44px; background:var(--color-background-secondary); border:1px solid var(--color-border); border-radius:var(--theme-radius); padding:8px 12px; color:var(--color-text-primary); font-size:.8rem; }
.theme-filter-open { display:none; align-items:center; gap:8px; }
.theme-filter-chips { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; }
.theme-filter-chips a { display:inline-flex; align-items:center; gap:12px; min-height:36px; padding:6px 12px; border:1px solid var(--color-border); background:var(--color-background-secondary); border-radius:var(--theme-radius); font-size:.75rem; }
body[data-store-theme] .category-filter-body { display:block; padding:0; }
body[data-store-theme] .category-filter-panel { border:0; border-radius:0; box-shadow:none; padding:0; color:var(--color-text-primary); background:transparent; }
body[data-store-theme] .category-filter-header { padding:0 0 18px; margin-bottom:18px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--color-border); }
.category-filter-header h2 { font-weight:600; font-size:1rem; }
.filter-clear-link { font-size:.75rem; text-decoration:underline; }
body[data-store-theme] .category-filter-group { min-width:0; padding:0 0 22px; margin:0 0 20px; border:0; border-bottom:1px solid var(--color-border); }
.category-filter-group legend { display:block; font-size:.85rem; font-weight:650; margin-bottom:14px; width:100%; }
.category-filter-group legend small { font-weight:400; font-size:.7rem; margin-left:4px; }
.theme-price-range { color:var(--color-text-secondary); font-size:.75rem; margin-bottom:12px; }
body[data-store-theme] .price-filter-inputs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.price-filter-inputs label { font-size:.7rem; min-width:0; }
body[data-store-theme] .price-filter-inputs input,.theme-filter-form select { display:block; margin-top:5px; width:100%; min-width:0; min-height:40px; padding:8px; border:1px solid var(--color-border); border-radius:var(--theme-radius); background:var(--color-background-secondary); color:var(--color-text-primary); font-size:.8rem; }
.theme-price-slider-label { display:block; margin:16px 0 4px; font-size:.75rem; }
#theme-price-range { width:100%; accent-color:var(--color-primary); min-height:32px; }
.theme-filter-choice { display:flex; align-items:center; gap:8px; min-height:40px; font-size:.8rem; }
.theme-filter-choice input { width:16px; height:16px; accent-color:var(--color-primary); flex-shrink:0; }
.theme-filter-choice small { margin-left:auto; color:var(--color-text-secondary); }
body[data-store-theme] .category-filter-apply { width:100%; min-height:44px; border:0; border-radius:var(--theme-radius); background:var(--color-primary); color:var(--color-on-primary); font-size:.85rem; font-weight:600; }
.theme-filter-categories { display:flex; flex-direction:column; gap:4px; margin-top:24px; }
.theme-filter-categories h3 { font-size:.85rem; font-weight:650; margin-bottom:8px; }
.theme-filter-categories a { padding:8px 0; font-size:.78rem; }
.theme-filter-categories a[aria-current] { font-weight:700; color:var(--color-primary); }
body[data-store-theme].theme-controls-ready[data-catalog-filter-mode=drawer] .theme-catalog-layout { display:block!important; }
body[data-catalog-filter-mode=drawer].theme-controls-ready .theme-catalog-layout>.category-filters-aside { display:none!important; }
body[data-catalog-filter-mode=drawer] .theme-filter-open { display:inline-flex; }
body[data-store-theme] .theme-filter-dialog .category-filters-aside { display:block!important; width:auto!important; max-width:none; position:static; padding:0; }
body[data-store-theme] .theme-filter-dialog .category-filter-panel { overflow:visible!important; max-height:none!important; }
body[data-store-theme] .theme-filter-dialog .category-filter-body { display:block!important; }
body[data-store-theme] .theme-filter-dialog .category-filter-header { display:none; }
body[data-store-theme] .theme-price-flat .price-integer,body[data-store-theme] .theme-price-flat .price-decimals { font-size:inherit!important; line-height:inherit!important; vertical-align:baseline!important; top:auto!important; position:static!important; }
body[data-store-theme] .theme-price-flat .price-decimals::before { content:none!important; }
body[data-store-theme] .theme-price-flat .price-integer,body[data-store-theme] .theme-price-flat .price-decimals { font-weight:inherit!important; }
body[data-store-theme] .theme-price-flat.price-container,body[data-store-theme] .theme-price-flat .price-container { align-items:baseline!important; gap:0!important; }
body[data-store-theme] .theme-price-flat .currency-code { margin-left:.35em; font-size:11px!important; font-weight:500; }
.theme-product-intro { margin:12px 0; }
.theme-layaway-consult { display:inline-flex; align-items:center; min-height:40px; margin-top:8px; font-size:.8rem; font-weight:600; text-decoration:underline; text-underline-offset:4px; color:inherit; }
@media(max-width:1023px) {
 body[data-store-theme] .theme-catalog-layout { display:block!important; }
 body[data-store-theme].theme-controls-ready .theme-catalog-layout>.category-filters-aside { display:none!important; }
 .theme-filter-open { display:inline-flex; }
}
@media(max-width:767px) {
 body[data-store-theme] .store-header .store-brand-link h1 { font-size:var(--theme-mobile-brand-size)!important; }
 .theme-utility .store-shell { min-height:26px; font-size:10px; gap:8px; }
 .theme-utility a { display:none; }
 .theme-category-row { gap:8px; }
 .theme-category-row>.theme-departments { display:block; }
 .theme-category-row>.theme-departments>summary { padding-inline:0 4px; gap:7px; font-size:12px; }
 .theme-category-row>.theme-departments>summary>i:last-child { display:none; }
 .theme-category-row:has(>.theme-departments) .categories-nav-btn { display:none; }
 .theme-catalog-toolbar { flex-wrap:wrap; }
 .theme-catalog-toolbar>div { justify-content:space-between; width:100%; gap:8px; }
 .theme-catalog-toolbar label { font-size:.7rem; }
 .theme-dialog { padding:18px; }
 .theme-save-product { width:32px; height:32px; top:6px; right:6px; }
}
