/* Home and product detail share the catalog's typography and native commerce UI. */
body:has(.egb-home,.egb-product) .kodee-fab { display:none!important; }
.egb-home { padding:0 clamp(12px,3vw,32px) 64px; }
.egb-home > .alignwide { max-width:1424px; }
.egb-home .egb-hero { margin-top:24px; border-radius:8px; }
.egb-home .egb-hero-columns { display:grid; grid-template-columns:1fr 1fr; }
.egb-home .egb-hero-copy { padding:36px 40px; }
.egb-home .egb-hero-copy h1 { font-size:clamp(32px,3.4vw,48px)!important; max-width:18ch; margin:16px 0 20px; }
.egb-home .egb-hero-copy .has-large-font-size { font-size:18px!important; line-height:1.55; max-width:44ch; }
.egb-home .egb-hero-copy .wp-block-buttons { margin-top:24px; }
.egb-home .egb-hero-image,.egb-home .egb-hero-image img { min-height:0; }
.egb-home .egb-hero-image { margin:0; }
.egb-home .egb-hero-image img { height:100%; object-position:60% center; }
.egb-home .egb-hero-note { margin-top:24px; }
.egb-home .egb-section { padding-block:40px; margin-block:0; }
.egb-home .egb-section h2 { font-size:28px!important; letter-spacing:-.035em; }
.egb-home .egb-section > p { font-size:16px; margin:8px 0 20px; }
.egb-home .egb-directions { margin-top:20px; gap:16px; }
.egb-home .egb-direction { padding:24px; border-radius:6px; border-top:3px solid var(--wp--preset--color--signal); }
.egb-home .egb-direction h3 { font-size:23px; margin:10px 0; }
.egb-home .egb-direction p { font-size:16px; line-height:1.45; margin-bottom:20px; }
.egb-home .egb-direction-tag { font-size:13px; }
.egb-home .egb-home-products { padding:8px 0 48px; }
.egb-section-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:24px; }
.egb-section-heading h2 { margin:0 0 8px; }
.egb-section-heading p { margin:0; color:var(--wp--preset--color--graphite); }
.egb-section-heading > a { flex-shrink:0; display:inline-flex; align-items:center; min-height:44px; gap:16px; font-weight:600; color:var(--wp--preset--color--signal); text-underline-offset:4px; }
.egb-home-products .wc-block-product-template h3 { font:600 19px/1.4 var(--wp--preset--font-family--display); letter-spacing:-.025em; margin:0; overflow-wrap:anywhere; }
.egb-home-products .egb-catalog-note { color:var(--wp--preset--color--graphite); font-size:14px!important; margin-top:20px!important; }
.egb-home .egb-guide { border-radius:8px; gap:48px; padding:40px; margin-block:16px 40px; border:1px solid var(--wp--preset--color--line); }
.egb-home .egb-guide-intro h2 { font-size:32px; }
.egb-home .egb-guide-intro > p { font-size:16px; }
.egb-home .egb-estimator { background:var(--wp--preset--color--white); color:var(--wp--preset--color--carbon); border-radius:6px; padding:24px; }
.egb-home .egb-estimator > button { background:var(--wp--preset--color--signal); color:var(--wp--preset--color--white); border-color:var(--wp--preset--color--signal); min-height:48px; }
.egb-home .egb-estimator input[aria-invalid="true"] { outline-color:var(--wp--preset--color--signal); }
.egb-home .egb-faq { max-width:1424px; }
.egb-home .egb-faq summary { font-size:17px; padding:20px 0; }
.egb-home .egb-faq details p { padding-inline:0; font-size:16px; }

.egb-product { padding:24px clamp(12px,3vw,32px) 64px; margin-block-start:0; }
.egb-product > :is(.alignwide,.wp-block-woocommerce-breadcrumbs,.wp-block-woocommerce-product-details) { max-width:1424px!important; }
.egb-product .woocommerce-breadcrumb { margin:0 0 20px; font-size:13px; line-height:1.6; color:var(--wp--preset--color--graphite); }
.egb-product > h1 { margin-block:16px 24px; font-size:clamp(26px,2.4vw,36px); max-width:1424px; }
.egb-product .egb-product-overview { display:grid!important; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:40px; margin-block:0 40px; }
.egb-product .egb-product-media { min-width:0; align-self:start!important; border:1px solid var(--wp--preset--color--line); border-radius:8px; padding:20px; background:var(--wp--preset--color--white); box-sizing:border-box; }
.egb-product .egb-demo-media { max-width:100%; }
.egb-product .egb-demo-media img { height:clamp(320px,35vw,520px); aspect-ratio:auto; }
.egb-product .egb-product-media .woocommerce-product-gallery__image img { max-height:520px; }
.egb-product .egb-product-summary { margin:0; }
.egb-product-summary .wp-block-woocommerce-product-sku { margin:16px 0 0; font-size:12px; }
.egb-product .egb-product-shortcuts { margin:4px 0 16px; gap:8px 24px; }
.egb-product .egb-purchase-panel { padding:24px; border:1px solid var(--wp--preset--color--line); border-radius:10px; background:var(--wp--preset--color--white); }
.egb-product .egb-purchase-panel .wc-block-components-product-price { font-size:36px!important; font-variant-numeric:tabular-nums; }
.egb-product .egb-purchase-panel .wp-block-post-excerpt { padding-top:12px; margin-top:16px; font-size:14px; }
.egb-product .egb-purchase-panel .stock { margin:12px 0; }
.egb-product .egb-purchase-panel form.cart { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.egb-product .egb-purchase-panel .variations_form { display:block; }
.egb-product .egb-purchase-panel .variations select { max-width:100%; min-height:44px; }
.egb-product .egb-purchase-panel .quantity input { min-height:48px; width:72px; box-sizing:border-box; }
.egb-product .egb-purchase-panel .single_add_to_cart_button,.egb-unavailable-link { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; min-height:48px; padding:12px 24px; border-radius:6px; background:var(--wp--preset--color--signal); color:var(--wp--preset--color--white); font:600 16px/1.4 var(--wp--preset--font-family--body); text-decoration:none; }
.egb-product .egb-product-facts { margin:20px 0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
.egb-product .egb-product-facts > div { padding:10px 0; }
.egb-product .egb-product-facts dt { font-size:13px; }
.egb-product .egb-product-facts dd { font-size:17px; line-height:1.45; }
.egb-selection-help { padding:16px 0 0; font-size:14px; }
.egb-selection-help strong { font-size:16px; }
.egb-selection-help p { margin:8px 0; color:var(--wp--preset--color--graphite); line-height:1.5; }
.egb-selection-help a { display:inline-flex; align-items:center; min-height:44px; gap:12px; color:var(--wp--preset--color--signal); font-weight:600; text-underline-offset:4px; }
.egb-product .woocommerce-tabs ul.tabs { gap:0 32px; }
.egb-product .woocommerce-Tabs-panel { padding:28px!important; border:1px solid var(--wp--preset--color--line); border-top:0; border-radius:0 0 8px 8px; margin:0; }
.egb-product .woocommerce-product-attributes { border-collapse:collapse; font-size:16px; }
.egb-product .woocommerce-product-attributes th { width:45%; font-weight:400; color:var(--wp--preset--color--graphite); }
.egb-product .woocommerce-product-attributes tr:nth-child(odd) { background:var(--wp--preset--color--mist); }
.egb-product .woocommerce-product-attributes td { font-weight:600; }
.egb-product .woocommerce-product-attributes p { margin:0; }
.egb-home #capacity-guide,.egb-home #equipment { scroll-margin-top:56px; }
.egb-product .egb-related-products { padding:36px 0 0; margin-block:40px 0; border-top:1px solid var(--wp--preset--color--line); scroll-margin-top:56px; }
.egb-product .egb-related-products .egb-section-heading h2 { font-size:28px; line-height:1.25; margin:0 0 8px; }
.egb-product .egb-related-products .wc-block-product-template { grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))!important; gap:20px!important; }
.egb-product .egb-related-products .wc-block-product-template h3 { font:600 20px/1.4 var(--wp--preset--font-family--display); letter-spacing:-.025em; margin:0; overflow-wrap:anywhere; }
.egb-product .egb-related-products .egb-demo-media img { height:240px; aspect-ratio:auto; }
.egb-product .egb-related-products .egb-product-facts { grid-template-columns:1fr; margin:0; gap:0; }
.egb-product .egb-related-products .egb-product-facts > div { padding:9px 10px; }
.egb-product .egb-related-products .egb-product-facts dd { font-size:14px; }
.egb-product .egb-related-note { font-size:13px; line-height:1.5; color:var(--wp--preset--color--graphite); margin:20px 0 0; }
.egb-related-products :is(a,button):focus-visible { outline:3px solid var(--wp--preset--color--signal); outline-offset:3px; }
@media(max-width:767px) {
  .egb-product .egb-related-products { padding-top:24px; margin-top:28px; }
  .egb-product .egb-related-products .egb-section-heading h2 { font-size:24px; }
  .egb-product .egb-related-products .wc-block-product-template { grid-template-columns:1fr!important; gap:16px!important; }
  .egb-product .egb-related-products .egb-demo-media img { height:220px; }
  .egb-product .egb-related-products .egb-product-facts > div { grid-template-columns:minmax(0,1fr) auto; gap:8px; }
  .egb-product .egb-related-products .egb-product-facts dd { text-align:right; }
}
@media(min-width:1100px) { .egb-product .egb-product-media { position:sticky; top:48px; } }
@media(max-width:1099px) {
  .egb-home .egb-hero-copy { padding:28px; }
  .egb-home .egb-hero-copy h1 { font-size:36px!important; }
  .egb-home .egb-hero-copy .wp-block-button { width:100%; }
  .egb-home .egb-hero-copy .wp-block-button__link { width:100%; text-align:center; }
  .egb-product .egb-product-overview { gap:24px; grid-template-columns:1fr 1fr; }
  .egb-product .egb-product-media { padding:12px; }
  .egb-product .egb-purchase-panel { padding:20px; }
  .egb-home .egb-home-products .wc-block-product-template { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
}
@media(max-width:767px) {
  .egb-home .egb-hero-columns { grid-template-columns:1fr; }
  .egb-home .egb-hero { margin-top:16px; }
  .egb-home .egb-hero-copy { padding:24px; }
  .egb-home .egb-hero-copy h1 { font-size:34px!important; max-width:17ch; }
  .egb-home .egb-hero-copy .has-large-font-size { font-size:16px!important; }
  .egb-home .egb-hero-image img { height:210px; width:100%; aspect-ratio:auto; object-position:60% 65%; }
  .egb-home .egb-hero-note { font-size:12px; margin-top:20px; }
  .egb-home .egb-section { padding-block:28px; }
  .egb-home .egb-section h2 { font-size:24px!important; }
  .egb-home .egb-directions { grid-template-columns:1fr; gap:10px; margin-top:16px; }
  .egb-home .egb-direction { position:relative; padding:16px 48px 16px 18px; border-top:1px solid var(--wp--preset--color--line); border-left:3px solid var(--wp--preset--color--signal); }
  .egb-home .egb-direction h3 { font-size:20px; margin:4px 0 8px; }
  .egb-home .egb-direction p { font-size:14px; margin-bottom:0; }
  .egb-home .egb-direction-bottom { position:absolute; right:18px; top:40%; }
  .egb-home .egb-direction-bottom > span:first-child { display:none; }
  .egb-home .egb-home-products { padding:12px 0 32px; }
  .egb-section-heading { align-items:start; flex-direction:column; gap:8px; margin-bottom:16px; }
  .egb-home .egb-home-products .wc-block-product-template { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .egb-home-products .wc-block-product-template h3 { font-size:16px; }
  .egb-home .egb-guide { grid-template-columns:1fr; gap:20px; padding:24px 16px; margin-block:12px 28px; }
  .egb-home .egb-guide-intro h2 { font-size:26px; }
  .egb-home .egb-estimator { padding:16px; }
  .egb-product .egb-product-overview { grid-template-columns:1fr; gap:20px; margin-bottom:28px; }
  .egb-product > h1 { font-size:25px; line-height:1.3; margin-bottom:20px; }
  .egb-product .egb-demo-media img { height:250px; }
  .egb-product .egb-product-media .woocommerce-product-gallery__image img { max-height:340px; }
  .egb-product .egb-product-shortcuts { margin-bottom:12px; gap:4px 20px; }
  .egb-product .egb-purchase-panel { padding:20px; }
  .egb-product .egb-purchase-panel .single_add_to_cart_button,.egb-unavailable-link { width:100%; }
  .egb-product .woocommerce-tabs ul.tabs { gap:0 20px; }
  .egb-product .woocommerce-Tabs-panel { padding:20px 14px!important; font-size:16px; }
  .egb-product .woocommerce-product-attributes { font-size:14px; }
  .egb-product .woocommerce-product-attributes :is(td,th) { padding:10px 8px; overflow-wrap:anywhere; }
}
@media(max-width:359px) { .egb-home .egb-home-products .wc-block-product-template { grid-template-columns:1fr!important; } }

/* Buying information: one primary action, native disclosures, no extra JS. */
.egb-product .egb-purchase-availability { margin:0 0 12px; color:var(--wp--preset--color--graphite); font-size:13px; line-height:1.5; }
.egb-product .egb-purchase-panel form.cart { margin-bottom:0; }
.egb-product .egb-purchase-panel .single_add_to_cart_button { flex:1; min-height:52px; }
.egb-product .egb-purchase-panel .quantity input { border:1px solid var(--wp--preset--color--line); border-radius:6px; min-height:52px; font:inherit; }
.egb-buying-details { margin-top:16px; border:1px solid var(--wp--preset--color--line); border-radius:10px; background:var(--wp--preset--color--white); overflow:hidden; }
.egb-buying-detail + .egb-buying-detail { border-top:1px solid var(--wp--preset--color--line); }
.egb-buying-detail summary { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:17px 20px; cursor:pointer; list-style:none; min-height:44px; }
.egb-buying-detail summary::-webkit-details-marker { display:none; }
.egb-buying-detail summary strong { display:block; font-size:15px; line-height:1.4; font-weight:650; }
.egb-buying-detail summary small { display:block; margin-top:4px; color:var(--wp--preset--color--graphite); font-size:13px; line-height:1.45; }
.egb-buying-detail summary:hover { background:var(--wp--preset--color--mist); }
.egb-buying-detail summary:focus-visible { outline:2px solid var(--wp--preset--color--signal); outline-offset:-3px; }
.egb-buying-chevron { flex:0 0 7px; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-right:3px; }
.egb-buying-detail[open] .egb-buying-chevron { transform:rotate(225deg); }
.egb-buying-detail-body { padding:0 20px 18px; font-size:14px; line-height:1.65; color:var(--wp--preset--color--graphite); overflow-wrap:anywhere; }
.egb-buying-detail-body p { margin:10px 0 0; }
.egb-buying-contact { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 20px; border-top:1px solid var(--wp--preset--color--line); background:var(--wp--preset--color--mist); font-size:13px; flex-wrap:wrap; }
.egb-buying-contact a { display:inline-flex; align-items:center; min-height:44px; font-weight:650; text-underline-offset:3px; }
.egb-product-summary .wp-block-woocommerce-product-sku { overflow-wrap:anywhere; }
@media(max-width:767px) {
 .egb-buying-detail summary { padding:16px; }
 .egb-buying-detail-body { padding:0 16px 16px; }
 .egb-buying-contact { padding:8px 16px; }
 .egb-product .egb-purchase-panel .single_add_to_cart_button { width:auto; }
}

