/* Catalog and detail layout scoped to the eyewear child; cart/checkout stay native. */
.bal-z-product-guides{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:20px;font-size:13px}.bal-z-product-guides a{color:#28545d;text-decoration:underline}
.bal-eyewear-theme.woocommerce-shop .page-title, .bal-eyewear-theme.tax-product_cat .page-title, .bal-eyewear-theme.single-product .page-title, .bal-eyewear-theme.search-results.woocommerce .page-title { display:none; }
.bal-eyewear-theme.woocommerce #main-content { max-width:1600px; width:100%; padding:0 16px; }
.bal-eyewear-theme.woocommerce .wd-content-area:has(.bal-z-catalog), .bal-eyewear-theme.woocommerce .wd-content-area:has(.bal-z-product-detail) { width:100%; max-width:none; flex-basis:100%; grid-column:1/-1; }
.bal-z-catalog, .bal-z-product-detail { font-family:BalSons,Arial,Helvetica,sans-serif; color:#242424; }
.bal-z-catalog *, .bal-z-product-detail *, .bal-z-product-grid * { box-sizing:border-box; }
.bal-z-catalog { display:grid; grid-template-columns:minmax(260px,30.65%) minmax(0,1fr); gap:16px; padding:16px 0 60px; }
.bal-z-catalog-main { min-width:0; }
.bal-z-catalog h1 { font:600 24px/32px BalSons,Arial,sans-serif; margin:32px 0 12px; color:#202727; }
.bal-z-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; font-size:13px; line-height:1.6; margin:0 0 20px; }
.bal-z-breadcrumb a { color:#274d51; }
.bal-z-catalog-hero { border-radius:14px; overflow:hidden; position:relative; background:#8dc5f1; }
.bal-z-catalog-hero img { display:block; width:100%; height:300px; object-fit:cover; }
.bal-z-catalog-hero > div { position:absolute; top:40px; left:40px; max-width:48%; color:#111; }
.bal-z-catalog-hero strong { font-size:24px; line-height:1.16; display:block; font-weight:900; }
.bal-z-catalog-hero p { margin-top:10px; font-size:18px; line-height:1.35; font-weight:700; }
.bal-z-catalog-description { font-size:14px; line-height:1.5; margin:0 0 20px; }
.bal-z-catalog-shortcuts { display:flex; flex-wrap:wrap; gap:10px; }
.bal-z-catalog-shortcuts a { border:1px solid #d4d9da; border-radius:30px; padding:9px 16px; color:#242424; font-size:14px; }
.bal-z-filters { min-width:0; }
.bal-z-filter-panel { background:#f7f8f9; border-radius:16px; padding:32px 16px; }
.bal-z-filter-panel > summary { display:flex; justify-content:space-between; align-items:center; font-size:18px; font-weight:600; list-style:none; cursor:pointer; }
.bal-z-filter-panel > summary span { font-size:14px; font-weight:400; }
.bal-z-filter-panel:not([open]) > summary span { font-size:0; }
.bal-z-filter-panel:not([open]) > summary span:after { content:'+'; font-size:20px; }
.bal-z-clear { display:inline-block; font-size:13px; text-decoration:underline; margin-top:22px; color:#34575b; }
.bal-z-filter-group { border-top:1px solid #d5dcdc; margin-top:24px; padding-top:22px; }
.bal-z-filter-group h3 { font:700 15px/1.4 BalSons,Arial,sans-serif; margin-bottom:18px; }
.bal-z-filter-group > summary { font:700 15px/1.4 BalSons,Arial,sans-serif; cursor:pointer; margin-bottom:18px; }
.bal-z-quick-filters { border:0; padding:0; margin-top:40px; }
.bal-z-filter-group li a:before { content:''; display:inline-block; width:20px; height:20px; border:1px solid #d7dcdd; background:#fff; border-radius:4px; margin-right:8px; vertical-align:middle; }
.bal-z-filter-group li a[aria-current]:before,.bal-z-filter-group li.chosen a:before { content:'✓'; text-align:center; background:#d4eaeb; color:#123f43; border-color:#346d71; }
.bal-z-find-size { font-size:14px; margin:20px 0 0; }
.bal-z-find-size a { display:inline-block; color:#242424; border:1px solid #242424; border-radius:20px; padding:4px 12px; margin-left:8px; font-weight:600; }
.bal-z-filter-group ul { padding:0; margin:0; list-style:none; }
.bal-z-filter-group li { margin:12px 0; font-size:14px; }
.bal-z-filter-group a[aria-current] { font-weight:700; text-decoration:underline; }
.bal-z-price-filter { margin:0; }
.bal-z-price-filter > div { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.bal-z-price-filter label { font-size:12px; min-width:0; }
.bal-z-price-filter input { background:#fff; border:1px solid #bac6c7; border-radius:5px; height:40px; margin:7px 0 15px; padding:8px; }
.bal-z-price-filter button { width:100%; background:#254f57; color:#fff; border:0; border-radius:22px; min-height:40px; text-transform:none; }
.bal-z-catalog-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin:24px 0; padding-top:0; }
.bal-z-catalog-toolbar p, .bal-z-catalog-toolbar form { margin:0; font-size:13px; }
.bal-z-catalog-toolbar select { border:1px solid #bac6c7; border-radius:24px; min-width:200px; padding:8px 32px 8px 16px; background-color:white; }
.bal-eyewear-theme ul.bal-z-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:0; margin:0; list-style:none; }
.bal-eyewear-theme .bal-z-products ul.bal-z-product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.bal-eyewear-theme ul.bal-z-product-grid::before, .bal-eyewear-theme ul.bal-z-product-grid::after { display:none; }
.bal-eyewear-theme ul.bal-z-product-grid > li.bal-z-product-card { float:none; width:auto; min-width:0; padding:0; margin:0; position:relative; text-align:left; }
.bal-z-card-image { display:block; position:relative; border-radius:12px; overflow:hidden; background:#f6f7f7; }
.bal-z-card-image img { display:block; width:100%; height:210px; object-fit:contain; mix-blend-mode:multiply; padding:18px; transition:transform .2s; }
.bal-z-card-image:hover img { transform:scale(1.04); }
.bal-z-card-content { padding:18px 3px; }
.bal-z-card-content h2 { font:600 16px/1.4 BalSons,Arial,sans-serif; margin:0 0 8px; }
.bal-z-card-content h2 a { color:#202727; text-decoration:none; }
.bal-z-card-content .price { display:block; font-size:20px; font-weight:700; color:#202727; margin-bottom:10px; }
.bal-z-card-content .price a { color:inherit; }
.bal-z-card-options { font-size:12px; color:#5a6364; line-height:1.5; margin:5px 0; }
.bal-z-card-photo { display:block; }
.bal-z-product-card .bal-z-sale[hidden] { display:none; }
.bal-z-card-swatches { display:flex; flex-wrap:wrap; gap:4px; margin:8px -3px; }
.bal-z-card-swatches a { display:flex; align-items:center; gap:5px; min-height:44px; min-width:44px; max-width:100%; padding:5px 7px; border:1px solid transparent; border-radius:8px; color:#334e52; font-size:12px; line-height:1.3; overflow-wrap:anywhere; text-decoration:none; }
.bal-z-card-swatches a[data-selected=true] { border-color:#24535a; background:#eaf3f3; }
.bal-z-card-swatches a:hover { background:#f0f5f5; }
.bal-z-card-swatches img { width:28px; height:28px; object-fit:contain; flex-shrink:0; }
.bal-z-card-dot { width:20px; height:20px; border:1px solid #a2adad; border-radius:50%; flex-shrink:0; }
.bal-z-card-hint { font-size:11px; line-height:1.5; color:#5a6364; margin:5px 0; }
.bal-z-card-hint:empty { display:none; }
.bal-z-product-card :focus-visible { outline:3px solid #008b91; outline-offset:3px; }
.bal-z-card-rating { display:flex; align-items:center; gap:8px; font-size:12px; margin:10px 0; }
.bal-z-card-details { display:flex; justify-content:space-between; border-top:1px solid #e2e8e8; margin-top:16px; padding-top:13px; font-size:13px; color:#24535a; }
.bal-z-sale { position:absolute; top:12px; left:12px; background:#a12921; color:white; padding:4px 12px; border-radius:14px; font-size:12px; }
.bal-z-catalog-empty { padding:70px 20px; text-align:center; border-radius:12px; background:#f6f8f8; }
.bal-z-catalog-empty h2 { font-size:24px; }
.bal-z-catalog-empty a { color:#23565d; text-decoration:underline; }
.bal-z-product-detail { padding:24px 0 60px; }
.bal-z-product-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:52px; align-items:start; }
.bal-z-product-gallery { min-width:0; }
.bal-z-product-gallery .woocommerce-product-gallery { width:100%; float:none; margin:0; }
.bal-z-product-gallery .woocommerce-product-gallery img { width:100%; max-height:540px; object-fit:contain; }
.bal-z-product-gallery .wd-gallery-images .woocommerce-product-gallery__image img { height:440px; object-fit:contain; }
.bal-z-product-summary { float:none !important; width:100% !important; min-width:0; margin:0 !important; }
.bal-z-product-summary .product_title { font:700 28px/1.25 BalSons,Arial,sans-serif; margin:0 0 20px; color:#222; }
.bal-z-product-summary > .price { font-size:32px; font-weight:700; color:#222; margin-bottom:24px; }
.bal-z-product-summary .woocommerce-product-details__short-description { font-size:14px; line-height:1.65; }
.bal-z-product-summary .variations_form { background:#f6f8f8; border-radius:12px; padding:22px; margin:24px 0; }
.bal-z-product-summary table.variations { margin-bottom:16px; }
.bal-z-product-summary .variations th, .bal-z-product-summary .variations td { display:block; width:100%; padding:0; border:0; }
.bal-z-product-summary .variations label { font-size:15px; font-weight:700; margin-bottom:12px; display:block; }
.bal-z-product-summary .variations select { display:block; background:white; border:1px solid #adbfc1; border-radius:5px; width:100%; max-width:none; }
.bal-z-product-summary .variations .reset_variations { position:static; display:inline-block; margin-top:10px; }
.bal-z-product-summary .variations_form .variations .wd-reset-var { position:static !important; margin:0 0 14px; }
.bal-z-color-options { display:flex; flex-wrap:wrap; gap:10px; margin:15px 0; }
.bal-z-product-summary .bal-z-color-options button { display:flex; flex-direction:column; gap:5px; align-items:center; padding:6px 8px; border:1px solid transparent; border-radius:8px; background:transparent; color:#222; font-size:12px; text-transform:none; min-height:0; box-shadow:none; }
.bal-z-color-dot { display:block; width:28px; height:28px; border:1px solid #999; border-radius:50%; }
.bal-z-product-summary .bal-z-color-options button[aria-pressed=true] { border-color:#234e56; background:#e5eeee; }
.bal-z-product-summary .bal-z-color-options button:disabled { opacity:.35; }
.bal-z-product-summary .single_add_to_cart_button { border-radius:26px; background:#254f57; color:#fff; text-transform:none; }
.bal-z-product-summary .single_add_to_cart_button.disabled { opacity:.45; cursor:not-allowed; }
.bal-z-product-summary .product_meta { font-size:12px; border-top:1px solid #d9e1e1; padding-top:18px; margin-top:24px; }
.bal-z-lens-next { border-top:1px solid #d9e1e1; margin-top:24px; padding-top:20px; }
.bal-z-lens-next strong { font-size:15px; }
.bal-z-lens-next p { font-size:13px; color:#586566; margin:10px 0 16px; }
.bal-z-lens-next button { width:100%; border:0; border-radius:25px; background:#e2e8e9; color:#58696a; min-height:48px; text-transform:none; }
.bal-z-product-information { margin-top:50px; padding-top:24px; border-top:1px solid #d9e1e1; }
.bal-z-product-detail .related { margin-top:40px; }
.bal-z-catalog :focus-visible, .bal-z-product-detail :focus-visible { outline:3px solid #008b91; outline-offset:3px; }
@media (max-width:1100px) {
 .bal-z-catalog { grid-template-columns:260px minmax(0,1fr); gap:16px; }
 .bal-eyewear-theme ul.bal-z-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .bal-z-catalog-hero img { height:220px; }
 .bal-z-catalog-hero strong { font-size:23px; }
 .bal-z-product-layout { gap:28px; }
}
@media (max-width:760px) {
 .bal-eyewear-theme.woocommerce #main-content { padding:0 15px; }
 .bal-z-catalog { display:block; padding-top:16px; }
 .bal-z-filter-panel { padding:15px; margin-bottom:20px; }
 .bal-z-filter-panel > summary { font-size:16px; }
 .bal-z-filter-body { padding-top:8px; }
 .bal-z-catalog-hero img { height:180px; object-position:center; }
 .bal-z-catalog-hero > div { left:18px; top:24px; max-width:53%; }
 .bal-z-catalog-hero strong { font-size:19px; }
 .bal-z-catalog-hero p { font-size:12px; line-height:1.5; margin-top:12px; }
 .bal-z-catalog h1 { font-size:24px; }
 .bal-z-catalog-toolbar { align-items:start; }
 .bal-z-catalog-toolbar select { min-width:0; max-width:210px; }
 .bal-eyewear-theme ul.bal-z-product-grid, .bal-eyewear-theme .bal-z-products ul.bal-z-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 12px; }
 .bal-z-card-image img { height:150px; padding:10px; }
 .bal-z-card-content { padding-top:12px; }
 .bal-z-card-content h2 { font-size:14px; }
 .bal-z-card-content .price { font-size:18px; }
 .bal-z-card-options { font-size:11px; }
 .bal-z-product-layout { display:block; }
 .bal-z-product-summary { margin-top:28px !important; }
 .bal-z-product-summary .product_title { font-size:24px; }
 .bal-z-product-summary > .price { font-size:28px; }
 .bal-z-product-gallery .woocommerce-product-gallery img { max-height:330px; }
 .bal-z-product-gallery .wd-gallery-images .woocommerce-product-gallery__image img { height:240px; }
 .bal-z-product-information { margin-top:30px; }
}
@media (prefers-reduced-motion:reduce) { .bal-z-card-image img { transition:none; } }

/* Align the native product surfaces with the same reference typography and geometry. */
.bal-z-product-card{background:white;border-radius:16px;overflow:visible;padding:8px!important}
.bal-z-card-image{background:#f7f8f9;border-radius:12px;height:300px;display:grid;place-items:center}
.bal-z-card-image img{height:300px;padding:8px;object-fit:contain}
.bal-z-card-content{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 0 4px}
.bal-z-card-content>.price{grid-column:1;grid-row:1;font-size:20px;line-height:24px;margin:0;font-weight:700}
.bal-z-card-content>h2{grid-column:1/-1;grid-row:2;font-size:17px;line-height:1.4;font-weight:400;margin:0}
.bal-z-card-rating{grid-column:2;grid-row:1;margin:0;gap:4px;font-size:13px}
.bal-z-card-content>.bal-z-card-options{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.bal-z-card-swatches{grid-column:1/-1;gap:10px;margin:0}
.bal-z-card-swatches a{min-width:32px;min-height:32px;width:32px;height:32px;padding:3px;justify-content:center;border-radius:50%;border:1px solid transparent;background:transparent}
.bal-z-card-swatches a[data-selected=true]{border:2px solid #142021;background:white;padding:2px}
.bal-z-card-swatches a>span:not(.bal-z-card-dot){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.bal-z-card-swatches img,.bal-z-card-dot{width:24px;height:24px;border-radius:50%;object-fit:cover}
.bal-z-card-hint{grid-column:1/-1;font-size:12px;margin:0}
.bal-z-card-details{grid-column:1/-1;font-size:12px;margin-top:0;padding-top:8px}
.bal-z-card-favorite{position:absolute;right:14px;top:14px;z-index:2;margin:0}
.bal-z-card-favorite .bal-z-favorite-button a{min-height:34px;width:34px;height:34px;padding:0;justify-content:center;background:#fff9;border:none;border-radius:50%}
.bal-z-card-favorite .wd-action-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.bal-z-product-layout{grid-template-columns:minmax(0,1fr) 416px;gap:64px}
.bal-z-product-summary .product_title{font-size:20px;line-height:1.3;margin-bottom:20px}
.bal-z-product-summary>.price{font-size:28px;line-height:1.2}
.bal-z-product-summary .variations_form{padding:16px;background:#f7f8f9;border-radius:20px}
.bal-z-product-summary .bal-z-color-options{gap:14px;margin:8px 0}
.bal-z-product-summary .bal-z-color-options button{position:relative;width:36px;height:36px;padding:3px;border-radius:50%;border:1px solid transparent}
.bal-z-product-summary .bal-z-color-options button[aria-pressed=true]{border:2px solid #173438;background:white;padding:2px}
.bal-z-product-summary .bal-z-color-options button>span:not(.bal-z-color-dot){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.bal-z-native-color-select{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;padding:0!important;border:0!important}
.bal-z-current-color{font-size:16px;line-height:24px;display:block;margin-bottom:8px}
.bal-z-product-summary .product_meta{font-size:12px}
@media(min-width:1440px){.bal-z-product-layout{grid-template-columns:minmax(0,1fr) 504px}}
@media(max-width:1100px){.bal-z-product-layout{grid-template-columns:minmax(0,1fr) 358px;gap:32px}.bal-z-card-image,.bal-z-card-image img{height:270px}}
@media(max-width:760px){.bal-z-product-layout{display:block}.bal-z-card-image,.bal-z-card-image img{height:200px}.bal-z-card-content{display:flex;flex-wrap:wrap;gap:7px}.bal-z-card-content>.price{order:1;width:100%;font-size:17px}.bal-z-card-content>h2{order:2;width:100%;font-size:14px}.bal-z-card-rating{order:3}.bal-z-card-swatches{order:4;width:100%;gap:7px}.bal-z-card-hint{order:5;width:100%}.bal-z-card-details{order:6;width:100%}.bal-z-product-summary .product_title{font-size:21px}.bal-z-card-favorite{top:10px;right:10px}}
