/* Larger editorial type, using the shop's existing BalSons black display face. */
body.michael-images-v1 #main-content .bal-z-home :is(.bal-z-section-heading h2,.bal-z-centered-heading h2,.bal-z-section>h1,.bal-z-section>h2){font-family:BalSons,Arial,sans-serif;font-weight:900;font-size:clamp(40px,5vw,72px);line-height:1.02;letter-spacing:-.035em;text-wrap:balance}
body.michael-images-v1 #main-content .bal-z-home .bal-z-centered-heading{max-width:1400px;margin:88px auto 38px;padding-inline:24px}
body.michael-images-v1 #main-content .bal-z-home .bal-z-centered-heading>p,
body.michael-images-v1 #main-content .bal-z-home .bal-z-everyone>p{font-size:clamp(19px,2.1vw,28px);line-height:1.4;margin-top:22px}
body.michael-images-v1 #main-content .bal-z-home .bal-z-section-heading{align-items:center;gap:28px}
body.michael-images-v1 #main-content .bal-z-home .bal-z-section-heading>div{min-width:0}
body.michael-images-v1 #main-content .bal-z-home .bal-z-section-heading p{font-size:clamp(18px,1.7vw,23px);line-height:1.45}
body.michael-images-v1 #main-content .bal-z-home .bal-z-campaign:not(.education) .bal-z-campaign-copy h2{font-size:var(--campaign-title,clamp(38px,4.1vw,58px));line-height:1.02;letter-spacing:-.035em;text-wrap:balance}
body.michael-images-v1 #main-content .bal-z-home .bal-z-campaign.education h2{font-size:clamp(30px,3vw,42px);line-height:1.04;letter-spacing:-.025em;text-wrap:balance}
body.michael-images-v1 #main-content .bal-z-home .bal-z-payments h2{font-size:clamp(36px,4.5vw,60px);line-height:1.05;letter-spacing:-.03em;text-wrap:balance}

/* Compact, usable catalogue sidebar. Price controls were hidden by an old store override. */
.bal-eyewear-theme .bal-z-catalog{grid-template-columns:280px minmax(0,1fr);gap:32px;padding-top:24px}
.bal-eyewear-theme .bal-z-catalog .bal-z-filter-panel{padding:24px 20px;background:#f5f7f7;border:1px solid #e3e8e7;border-radius:16px}
.bal-eyewear-theme .bal-z-catalog .bal-z-filter-panel>summary{font-size:22px;font-weight:700}
.bal-eyewear-theme .bal-z-catalog .bal-z-filter-panel[open]>summary span{font-size:12px}
.bal-eyewear-theme .bal-z-catalog .bal-z-quick-filters{margin-top:24px}
.bal-eyewear-theme .bal-z-catalog .bal-z-filter-group{margin-top:20px;padding-top:18px}
.bal-eyewear-theme .bal-z-catalog .bal-z-filter-group:has(input[name="min_price"]){display:block!important}
.bal-eyewear-theme .bal-z-catalog .bal-z-filter-group :is(h3,summary){font-size:16px;font-weight:700;margin-bottom:12px}
.bal-eyewear-theme .bal-z-catalog .bal-z-filter-group>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px}
.bal-eyewear-theme .bal-z-catalog .bal-z-filter-group>summary::-webkit-details-marker{display:none}
.bal-eyewear-theme .bal-z-catalog .bal-z-filter-group>summary::after{content:'+';font-size:20px;font-weight:400}
.bal-eyewear-theme .bal-z-catalog .bal-z-filter-group[open]>summary::after{content:'−'}
.bal-eyewear-theme .bal-z-catalog .bal-z-filter-group li{margin:0}
.bal-eyewear-theme .bal-z-catalog .bal-z-filter-group li a{display:flex;align-items:center;min-height:38px;gap:9px;font-size:14px;line-height:1.35;color:#243b38;text-decoration:none}
.bal-eyewear-theme .bal-z-catalog .bal-z-filter-group li a::before{flex-shrink:0;width:18px;height:18px;margin:0;line-height:16px}
.bal-eyewear-theme .bal-z-catalog .bal-z-filter-group li a:hover{color:#006b70}
.bal-eyewear-theme .bal-z-catalog .bal-z-price-filter input{width:100%;min-width:0}
.bal-eyewear-theme .bal-z-catalog h1{font-weight:900;font-size:clamp(30px,3vw,44px);line-height:1.08;letter-spacing:-.025em;margin-top:28px}
.bal-eyewear-theme .bal-z-catalog-description{font-size:16px;line-height:1.55;max-width:68ch}
.bal-eyewear-theme .bal-z-catalog-hero{background:#e9eee7}
.bal-eyewear-theme .bal-z-catalog-hero img{height:230px;object-fit:contain;object-position:right center;width:100%;padding-left:43%;background:#e9eee7}
.bal-eyewear-theme .bal-z-catalog-hero>div{top:50%;left:24px;transform:translateY(-50%);max-width:40%}
.bal-eyewear-theme .bal-z-catalog-hero strong{font-size:clamp(28px,3vw,40px);line-height:1.05;letter-spacing:-.03em}
.bal-eyewear-theme .bal-z-catalog-hero p{font-size:16px;line-height:1.4;font-weight:400}
@media(min-width:1101px){.bal-eyewear-theme .bal-z-catalog .bal-z-filter-panel{position:sticky;top:136px;max-height:calc(100dvh - 152px);overflow-y:auto;scrollbar-width:thin;scrollbar-gutter:stable}}
@media(min-width:761px) and (max-width:1100px){.bal-eyewear-theme .bal-z-catalog{grid-template-columns:228px minmax(0,1fr);gap:22px}.bal-eyewear-theme .bal-z-catalog .bal-z-filter-panel{padding:22px 15px}}
@media(max-width:767px){
 body.michael-images-v1 #main-content .bal-z-home :is(.bal-z-section-heading h2,.bal-z-centered-heading h2,.bal-z-section>h1,.bal-z-section>h2){font-size:clamp(30px,8.8vw,42px);line-height:1.04;letter-spacing:-.025em}
 body.michael-images-v1 #main-content .bal-z-home .bal-z-section-heading{gap:16px;align-items:flex-start;flex-wrap:wrap}
 body.michael-images-v1 #main-content .bal-z-home .bal-z-section-heading>:is(h2,div){flex:1 1 230px}
 body.michael-images-v1 #main-content .bal-z-home .bal-z-centered-heading{margin:52px auto 28px;padding-inline:16px}
 body.michael-images-v1 #main-content .bal-z-home .bal-z-centered-heading>p,
 body.michael-images-v1 #main-content .bal-z-home .bal-z-everyone>p{font-size:19px;margin-top:18px}
 body.michael-images-v1 #main-content .bal-z-home .bal-z-section-heading p{font-size:17px}
 body.michael-images-v1 #main-content .bal-z-home .bal-z-campaign:not(.education) .bal-z-campaign-copy h2{font-size:var(--campaign-title,36px)}
 body.michael-images-v1 #main-content .bal-z-home .bal-z-campaign.education h2{font-size:30px}
 body.michael-images-v1 #main-content .bal-z-home .bal-z-payments h2{font-size:34px}
}
@media(max-width:760px){
 .bal-eyewear-theme .bal-z-catalog{display:block;padding-top:16px}
 .bal-eyewear-theme .bal-z-catalog .bal-z-filter-panel{padding:16px;position:static;max-height:none}
 .bal-eyewear-theme .bal-z-catalog .bal-z-filter-panel>summary{font-size:18px}
 .bal-eyewear-theme .bal-z-catalog .bal-z-filter-body{max-height:65dvh;overflow-y:auto;padding-right:4px}
 .bal-eyewear-theme .bal-z-catalog-hero img{height:200px;padding-left:42%}
 .bal-eyewear-theme .bal-z-catalog-hero>div{left:16px;max-width:43%}
 .bal-eyewear-theme .bal-z-catalog-hero strong{font-size:26px}
 .bal-eyewear-theme .bal-z-catalog-hero p{font-size:13px}
}
