.elementor-kit-6{--e-global-color-primary:#5BCBCC;--e-global-color-secondary:#2D2D2D;--e-global-color-text:#666666;--e-global-color-accent:#3BA8A9;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-size:32px;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:1.2em;--e-global-typography-secondary-font-family:"Nunito Sans";--e-global-typography-secondary-font-size:20px;--e-global-typography-secondary-font-weight:900;--e-global-typography-secondary-line-height:1.3em;--e-global-typography-text-font-family:"Nunito Sans";--e-global-typography-text-font-size:15px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Nunito Sans";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:800;--e-global-typography-accent-line-height:1.2em;--e-global-typography-sgb_h1-font-family:"Nunito Sans";--e-global-typography-sgb_h1-font-size:42px;--e-global-typography-sgb_h1-font-weight:900;--e-global-typography-sgb_h1-line-height:1.15em;--e-global-typography-sgb_h2-font-family:"Montserrat";--e-global-typography-sgb_h2-font-size:32px;--e-global-typography-sgb_h2-font-weight:800;--e-global-typography-sgb_h2-line-height:1.2em;--e-global-typography-sgb_h3-font-family:"Nunito Sans";--e-global-typography-sgb_h3-font-size:20px;--e-global-typography-sgb_h3-font-weight:900;--e-global-typography-sgb_h3-line-height:1.3em;--e-global-typography-sgb_h4-font-family:"Nunito Sans";--e-global-typography-sgb_h4-font-size:16px;--e-global-typography-sgb_h4-font-weight:900;--e-global-typography-sgb_h4-line-height:1.35em;--e-global-typography-sgb_lead-font-family:"Nunito Sans";--e-global-typography-sgb_lead-font-size:17px;--e-global-typography-sgb_lead-font-weight:400;--e-global-typography-sgb_lead-line-height:1.6em;--e-global-typography-sgb_body-font-family:"Nunito Sans";--e-global-typography-sgb_body-font-size:15px;--e-global-typography-sgb_body-font-weight:400;--e-global-typography-sgb_body-line-height:1.6em;--e-global-typography-sgb_small-font-family:"Nunito Sans";--e-global-typography-sgb_small-font-size:13px;--e-global-typography-sgb_small-font-weight:400;--e-global-typography-sgb_small-line-height:1.5em;--e-global-typography-sgb_small_bold-font-family:"Nunito Sans";--e-global-typography-sgb_small_bold-font-size:13px;--e-global-typography-sgb_small_bold-font-weight:700;--e-global-typography-sgb_small_bold-line-height:1.5em;--e-global-typography-sgb_eyebrow-font-family:"Nunito Sans";--e-global-typography-sgb_eyebrow-font-size:11px;--e-global-typography-sgb_eyebrow-font-weight:900;--e-global-typography-sgb_eyebrow-text-transform:uppercase;--e-global-typography-sgb_eyebrow-line-height:1.4em;--e-global-typography-sgb_eyebrow-letter-spacing:1.6px;background-color:var( --e-global-color-v4-white );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );color:var( --e-global-color-secondary );border-radius:6px 6px 6px 6px;padding:14px 26px 14px 26px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-secondary );}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:var( --e-global-color-accent );}.elementor-kit-6 a:hover{color:var( --e-global-color-secondary );}.elementor-kit-6 h1{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-sgb_h1-font-family ), Sans-serif;font-size:var( --e-global-typography-sgb_h1-font-size );font-weight:var( --e-global-typography-sgb_h1-font-weight );line-height:var( --e-global-typography-sgb_h1-line-height );}.elementor-kit-6 h2{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-sgb_h2-font-family ), Sans-serif;font-size:var( --e-global-typography-sgb_h2-font-size );font-weight:var( --e-global-typography-sgb_h2-font-weight );line-height:var( --e-global-typography-sgb_h2-line-height );}.elementor-kit-6 h3{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-sgb_h3-font-family ), Sans-serif;font-size:var( --e-global-typography-sgb_h3-font-size );font-weight:var( --e-global-typography-sgb_h3-font-weight );line-height:var( --e-global-typography-sgb_h3-line-height );}.elementor-kit-6 h4{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-sgb_h4-font-family ), Sans-serif;font-size:var( --e-global-typography-sgb_h4-font-size );font-weight:var( --e-global-typography-sgb_h4-font-weight );line-height:var( --e-global-typography-sgb_h4-line-height );}.elementor-kit-6 h5{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-sgb_small_bold-font-family ), Sans-serif;font-size:var( --e-global-typography-sgb_small_bold-font-size );font-weight:var( --e-global-typography-sgb_small_bold-font-weight );line-height:var( --e-global-typography-sgb_small_bold-line-height );}.elementor-kit-6 h6{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-sgb_eyebrow-font-family ), Sans-serif;font-size:var( --e-global-typography-sgb_eyebrow-font-size );font-weight:var( --e-global-typography-sgb_eyebrow-font-weight );text-transform:var( --e-global-typography-sgb_eyebrow-text-transform );line-height:var( --e-global-typography-sgb_eyebrow-line-height );letter-spacing:var( --e-global-typography-sgb_eyebrow-letter-spacing );}.elementor-kit-6 label{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-sgb_small_bold-font-family ), Sans-serif;font-size:var( --e-global-typography-sgb_small_bold-font-size );font-weight:var( --e-global-typography-sgb_small_bold-font-weight );line-height:var( --e-global-typography-sgb_small_bold-line-height );}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-secondary );background-color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-v4-line-strong );border-radius:6px 6px 6px 6px;padding:12px 16px 12px 16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1400px;}.e-con{--container-max-width:1400px;--container-default-padding-top:0px;--container-default-padding-right:40px;--container-default-padding-bottom:0px;--container-default-padding-left:40px;}.elementor-widget:not(:last-child){--kit-widget-spacing:24px;}.elementor-element{--widgets-spacing:24px 24px;--widgets-spacing-row:24px;--widgets-spacing-column:24px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-primary-font-size:27px;--e-global-typography-sgb_h1-font-size:36px;--e-global-typography-sgb_h2-font-size:27px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 h1{font-size:var( --e-global-typography-sgb_h1-font-size );line-height:var( --e-global-typography-sgb_h1-line-height );}.elementor-kit-6 h2{font-size:var( --e-global-typography-sgb_h2-font-size );line-height:var( --e-global-typography-sgb_h2-line-height );}.elementor-kit-6 h3{font-size:var( --e-global-typography-sgb_h3-font-size );line-height:var( --e-global-typography-sgb_h3-line-height );}.elementor-kit-6 h4{font-size:var( --e-global-typography-sgb_h4-font-size );line-height:var( --e-global-typography-sgb_h4-line-height );}.elementor-kit-6 h5{font-size:var( --e-global-typography-sgb_small_bold-font-size );line-height:var( --e-global-typography-sgb_small_bold-line-height );}.elementor-kit-6 h6{font-size:var( --e-global-typography-sgb_eyebrow-font-size );line-height:var( --e-global-typography-sgb_eyebrow-line-height );letter-spacing:var( --e-global-typography-sgb_eyebrow-letter-spacing );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-6 label{font-size:var( --e-global-typography-sgb_small_bold-font-size );line-height:var( --e-global-typography-sgb_small_bold-line-height );}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:0px;--container-default-padding-right:24px;--container-default-padding-bottom:0px;--container-default-padding-left:24px;}}@media(max-width:640px){.elementor-kit-6{--e-global-typography-primary-font-size:22px;--e-global-typography-sgb_h1-font-size:28px;--e-global-typography-sgb_h2-font-size:22px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 h1{font-size:var( --e-global-typography-sgb_h1-font-size );line-height:var( --e-global-typography-sgb_h1-line-height );}.elementor-kit-6 h2{font-size:var( --e-global-typography-sgb_h2-font-size );line-height:var( --e-global-typography-sgb_h2-line-height );}.elementor-kit-6 h3{font-size:var( --e-global-typography-sgb_h3-font-size );line-height:var( --e-global-typography-sgb_h3-line-height );}.elementor-kit-6 h4{font-size:var( --e-global-typography-sgb_h4-font-size );line-height:var( --e-global-typography-sgb_h4-line-height );}.elementor-kit-6 h5{font-size:var( --e-global-typography-sgb_small_bold-font-size );line-height:var( --e-global-typography-sgb_small_bold-line-height );}.elementor-kit-6 h6{font-size:var( --e-global-typography-sgb_eyebrow-font-size );line-height:var( --e-global-typography-sgb_eyebrow-line-height );letter-spacing:var( --e-global-typography-sgb_eyebrow-letter-spacing );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-6 label{font-size:var( --e-global-typography-sgb_small_bold-font-size );line-height:var( --e-global-typography-sgb_small_bold-line-height );}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:0px;--container-default-padding-right:16px;--container-default-padding-bottom:0px;--container-default-padding-left:16px;}}:root { --sgb-teal:#5BCBCC; --sgb-teal-dark:#3BA8A9; --sgb-teal-ink:#1D4F4F; --sgb-teal-tint:#EBF9F9; --sgb-teal-line:#CFEEEE; --hb-green:#85CD65; --hb-green-dark:#6FB04E; --hb-charcoal:#3A3A3A; --hb-cool-grey:#E8E8E7; --charcoal:#2D2D2D; --body:#666666; --muted:#8A8A8A; --muted-light:#9A9A9A; --on-dark:#B9B9B9; --surface:#F7F7F7; --line:#ECECEC; --line-strong:#E3E3E3; --white:#FFFFFF; --black:#000000; --font-body:Nunito Sans; --font-display:Montserrat; --fs-h1:clamp(28px, 3.5vw, 42px); --fs-h2:clamp(22px, 2.7vw, 32px); --fs-h3:20px; --fs-h4:16px; --fs-lead:17px; --fs-body:15px; --fs-small:13px; --fs-eyebrow:11px; --ls-eyebrow:1.6px; --space-4:4px; --space-8:8px; --space-12:12px; --space-16:16px; --space-24:24px; --space-32:32px; --space-40:40px; --space-48:48px; --space-64:64px; --section-y:64px; --section-y-phone:40px; --gutter-desktop:40px; --gutter-tablet:24px; --gutter-phone:16px; --card-pad:24px; --grid-gap:24px; --r-sm:6px; --r-md:10px; --r-lg:12px; --r-xl:16px; --r-pill:999px; --content-max:1400px; --text-narrow:760px; --hb-green-tint:#F4F8F1; --hb-green-line:#D9EAD0; }
/* Start custom CSS *//* ===== SGB quote-only product shortcodes (mu-plugin sgb-site.php): pattern pieces, size chips, brick swatches =====
   Buttons are prefixed with a parent class so they beat the kit's default (teal) button style. */
.sgb-eyebrow-teal{font-family:var(--font-body);font-size:var(--fs-eyebrow);font-weight:900;letter-spacing:1.3px;text-transform:uppercase;color:var(--sgb-teal-dark);margin-bottom:8px;}
.sgb-eyebrow-teal span{color:var(--charcoal);font-weight:700;letter-spacing:.4px;text-transform:none;}
.sgb-sizes{margin:0 0 18px;}
.sgb-sizes__chips{display:flex;flex-wrap:wrap;gap:8px;}
.sgb-size-chip{background:var(--sgb-teal-tint);border:1px solid var(--sgb-teal-line);color:var(--charcoal);font-family:var(--font-body);font-size:13px;font-weight:700;padding:6px 12px;border-radius:var(--r-pill);white-space:nowrap;}
.sgb-count-pill{display:inline-block;background:var(--white);border:1px solid var(--sgb-teal-line);color:var(--charcoal);font-family:var(--font-body);font-weight:800;font-size:12.5px;padding:7px 14px;border-radius:var(--r-pill);}

/* Pattern view: Show tabs, Color chips, grouped piece cards */
.sgb-pieces{font-family:var(--font-body);color:var(--charcoal);}
.sgb-pieces__tabs,.sgb-pieces__colors{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.sgb-pieces__tabs{margin:0 0 24px;border-top:1px solid var(--line-strong);padding-top:20px;}
.sgb-pieces__tabs.is-hidden{padding-top:0;}
.sgb-pieces__tabs.is-hidden>*{display:none!important;}
.sgb-pieces__colors{margin:-8px 0 26px;}
.sgb-pieces__label{font-size:12px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;color:var(--charcoal);margin-right:4px;}
.sgb-pieces button.sgb-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;min-height:36px;border-radius:var(--r-pill);font-family:var(--font-body);font-size:13px;font-weight:700;line-height:1.2;cursor:pointer;border:1px solid var(--line-strong);background:var(--white);color:var(--charcoal);box-shadow:none;}
.sgb-pieces button.sgb-chip:hover{border-color:var(--sgb-teal);background:var(--white);color:var(--charcoal);}
.sgb-pieces button.sgb-chip[data-tab].is-on,.sgb-pieces button.sgb-chip[data-tab].is-on:hover{background:var(--sgb-teal);border-color:var(--sgb-teal);}
.sgb-pieces button.sgb-chip--color{padding:7px 13px;font-size:12.5px;}
.sgb-pieces button.sgb-chip--color.is-on{border:2px solid var(--charcoal);padding:6px 12px;}
.sgb-swatch{width:14px;height:14px;border-radius:var(--r-pill);border:1px solid rgba(0,0,0,.15);flex-shrink:0;display:inline-block;}
.sgb-swatch--all{border:0;background:conic-gradient(#3FB6E8,#2E4FB5,#9C7440,#5FBF4A,#E88B6F,#2BA99A,#F4C51F,#3FB6E8);}
.sgb-pieces__group{margin-bottom:28px;}
.sgb-pieces__title{font-family:var(--font-body);font-size:13px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;color:var(--charcoal);margin:0 0 12px;}
.sgb-pieces__count{font-weight:700;}
.sgb-pieces__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;}
.sgb-piece{background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column;}
.sgb-piece__img{aspect-ratio:1/1;background:color-mix(in srgb,var(--sgb-teal-tint) 45%,var(--white));position:relative;overflow:hidden;}
.sgb-piece__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:10px;box-sizing:border-box;}
.sgb-piece__body{padding:12px 13px 13px;display:flex;flex-direction:column;flex:1;gap:10px;}
.sgb-piece__name{font-size:13px;font-weight:800;color:var(--charcoal);line-height:1.35;}
@media (max-width:640px){.sgb-pieces__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.sgb-piece__body{padding:10px;}}

/* Add to Quote buttons: on piece cards a teal outline that fills once added; standalone (glass brick) solid teal */
.sgb-piece button.sgb-quote-btn{margin-top:auto;width:100%;min-height:40px;padding:9px 12px;border:2px solid var(--sgb-teal);border-radius:var(--r-sm);background:transparent;color:var(--sgb-teal-ink);font-family:var(--font-body);font-size:13px;font-weight:800;line-height:1.2;cursor:pointer;box-shadow:none;transition:background-color .2s;}
.sgb-piece button.sgb-quote-btn:hover{background:var(--sgb-teal-tint);color:var(--sgb-teal-ink);border-color:var(--sgb-teal);}
.sgb-piece button.sgb-quote-btn.is-added,.sgb-piece button.sgb-quote-btn.is-added:hover{background:var(--sgb-teal);color:var(--charcoal);cursor:default;}
.elementor-widget-shortcode button.sgb-quote-btn:only-child{min-height:46px;padding:12px 22px;border:0;border-radius:var(--r-sm);font-family:var(--font-body);font-size:14px;font-weight:800;background:var(--sgb-teal);color:var(--charcoal);cursor:pointer;}
.elementor-widget-shortcode button.sgb-quote-btn:only-child:hover{background:var(--sgb-teal-dark);color:var(--charcoal);}
.elementor-widget-shortcode button.sgb-quote-btn.is-added:only-child{background:var(--sgb-teal-dark);cursor:default;}
button.sgb-quote-btn:disabled{opacity:.7;}

/* Glass brick: "Also in this shape" photo swatches */
.sgb-siblings{margin:0 0 22px;}
.sgb-siblings__list{display:flex;gap:10px;flex-wrap:wrap;}
.sgb-swatch-link{display:block;width:48px;height:48px;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--line-strong);background:var(--white);}
.sgb-swatch-link:hover{border-color:var(--sgb-teal);box-shadow:0 0 0 2px var(--sgb-teal-tint);}
.sgb-swatch-link img{width:100%;height:100%;object-fit:cover;display:block;}

/* ---- Step 9 pages: shared product/pattern cards (global classes render as class names) ---- */
.shop-card .elementor-widget-woocommerce-product-add-to-cart .button,.shop-card .elementor-widget-woocommerce-product-add-to-cart .add_to_cart_button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:46px;background-color:var(--hb-green)!important;color:var(--charcoal)!important;font-family:var(--font-body);font-weight:800;font-size:14px;border:0;border-radius:var(--r-sm);padding:12px 20px;text-decoration:none;transition:background-color .2s;}
.shop-card .elementor-widget-woocommerce-product-add-to-cart .button:hover{background-color:var(--hb-green-dark)!important;}
.shop-card .elementor-widget-woocommerce-product-add-to-cart .added_to_cart{display:inline-block;margin-top:8px;font-size:13px;font-weight:700;color:var(--hb-green-dark);}
.shop-card-price,.shop-card-price *{color:var(--charcoal)!important;}
.shop-card-price:has(.screen-reader-text){font-size:17px;}
.shop-card .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.card-badge:empty{display:none;}
/* HydroBlok page: field-tested comparison table (Text Editor widget). Scrolls inside its own box on phones. */
.sgb-compare{border:1px solid var(--line);border-radius:20px;background:var(--white);padding:22px 22px 26px;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.sgb-compare table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0;margin:0;table-layout:fixed;}
.sgb-compare th,.sgb-compare td{border:0;background:none;padding:0;text-align:center;vertical-align:middle;font-size:16px;font-weight:600;color:var(--charcoal);}
.sgb-compare thead th{height:230px;vertical-align:top;padding:44px 18px 0;font-size:16.5px;font-weight:700;line-height:1.35;}
.sgb-compare thead th.is-hb{padding:24px 18px 16px;vertical-align:middle;}
.sgb-compare tbody th{text-align:left;padding-left:30px;font-size:15.5px;font-weight:700;width:24%;}
.sgb-compare tbody tr>*{height:120px;border-top:1px solid var(--line);}
.sgb-compare tbody tr:first-child>*{border-top:0;}
.sgb-compare .is-hb{background:var(--surface);}
.sgb-compare thead .is-hb{border-radius:14px 14px 0 0;}
.sgb-compare tbody tr:last-child .is-hb{border-radius:0 0 14px 14px;}
.sgb-compare td.is-hb strong{font-weight:800;color:var(--hb-green-dark);}
.sgb-compare tbody tr:last-child td.is-hb strong{color:var(--charcoal);}
.sgb-compare__icon{display:block;width:27px;height:27px;margin:0 auto 10px;}
.sgb-compare__wordmark{display:block;width:172px;height:auto;margin:0 auto 16px;}
.sgb-compare__cutaway{display:block;width:204px;max-width:100%;height:auto;margin:0 auto;}
@media (max-width:767px){.sgb-compare{padding:14px;border-radius:14px;}.sgb-compare tbody th{padding-left:12px;}}
.sgb-compare table,.sgb-compare thead,.sgb-compare tbody,.sgb-compare tr{border:0!important;background:none!important;}
.sgb-compare table tbody>tr:nth-child(odd)>td,.sgb-compare table tbody>tr:nth-child(odd)>th,.sgb-compare table tbody tr:hover>td,.sgb-compare table tbody tr:hover>th,.sgb-compare th,.sgb-compare td{background-color:transparent;}
.sgb-compare table .is-hb,.sgb-compare table tbody>tr:nth-child(odd)>td.is-hb,.sgb-compare table tbody tr:hover>td.is-hb{background-color:var(--surface);}
/* Filter chips built with the V4 Tabs widget (Project Showcase): the selected tab */
.elementor .chip-tab.e--selected,.elementor .chip-tab.e--selected:hover{background-color:var(--sgb-teal);border-color:var(--sgb-teal);color:var(--charcoal);}
.chip-tab:focus-visible{outline:2px solid var(--sgb-teal-dark);outline-offset:2px;}
/* FAQ accordions: no double border under the last question */
.faq-list>.faq-item:last-child{border-block-end:0;}
/* FAQ: + / – sign like the reference (the V4 icon slot needs an uploaded SVG, which this site doesn't allow) */
.faq-header{list-style:none;}
.faq-header::-webkit-details-marker{display:none;}
.faq-header::after{content:"+";flex-shrink:0;font-size:22px;font-weight:800;line-height:1;color:var(--sgb-teal);}
.faq-item[open]>.faq-header::after{content:"\2013";}
[data-id="4199492d"] .faq-header::after{color:var(--hb-green-dark);}
/* HydroBlok shop cards: size dropdown + Add to cart (shortcodes [sgb_card_sizes] / [sgb_card_add]) */
.sgb-card-size{width:100%;min-height:44px;padding:9px 34px 9px 10px;margin:0 0 8px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background-color:var(--white);color:var(--charcoal);font-family:var(--font-body);font-size:13px;cursor:pointer;}
.sgb-card-size:focus{outline:2px solid var(--hb-green);outline-offset:1px;}
.elementor a.sgb-card-add,.elementor a.sgb-card-add:visited{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:0;border-radius:var(--r-sm);background-color:var(--hb-green);color:var(--charcoal);font-family:var(--font-body);font-size:13px;font-weight:800;line-height:1.2;white-space:nowrap;text-decoration:none;transition:background-color .2s;}
.elementor a.sgb-card-add:hover{background-color:var(--hb-green-dark);color:var(--charcoal);}
.elementor a.sgb-card-add.loading{opacity:.6;}
.elementor a.sgb-card-add.added::after{content:"\2713";margin-left:.35em;}
.elementor a.sgb-card-add.disabled{background-color:var(--hb-cool-grey);color:var(--body);cursor:not-allowed;}
.shop-card-row .added_to_cart{display:block;width:100%;margin-top:6px;font-size:13px;font-weight:700;color:var(--hb-green-dark);}
.shop-card .elementor-widget-shortcode{width:100%;}
.shop-card-row .elementor-widget-shortcode{width:auto;}
/* Swipe rails (mobile rule): class "sgb-rail" on a grid or loop layout. Desktop (1025px+) is untouched. */
.sgb-rail-wrap{position:relative;}
.sgb-rail-wrap .sgb-rail-btn,.sgb-rail-wrap .sgb-rail-count{display:none!important;}
@media (max-width:1024px){
.elementor .sgb-rail{display:grid!important;grid-auto-flow:column!important;grid-template-columns:none!important;grid-template-rows:auto!important;grid-auto-columns:calc((100% - 16px) / 2.15)!important;gap:16px!important;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.elementor .sgb-rail::-webkit-scrollbar{display:none;}
.elementor .sgb-rail>*{scroll-snap-align:start;min-width:0;}
.sgb-rail-wrap:not(.is-static) .sgb-rail-btn{display:flex!important;align-items:center;justify-content:center;position:absolute;top:var(--rail-arrow-top,40%);transform:translateY(-50%);z-index:3;width:44px;height:44px;min-height:0;padding:0;border-radius:999px;border:2px solid var(--white);background-color:var(--charcoal);color:var(--white);font-family:var(--font-body);font-size:24px;font-weight:700;line-height:1;box-shadow:0 2px 10px rgba(0,0,0,.18);cursor:pointer;}
.sgb-rail-wrap .sgb-rail-btn:disabled{opacity:.35;cursor:default;}
.sgb-rail-wrap .sgb-rail-prev{left:6px;}
.sgb-rail-wrap .sgb-rail-next{right:6px;}
.sgb-rail-wrap:not(.is-static) .sgb-rail-count{display:block!important;margin:10px 0 0;text-align:center;font-size:13px;color:var(--charcoal);}
}
@media (max-width:767px){
.elementor .sgb-rail{grid-auto-columns:86%!important;gap:12px!important;}
}
/* Product card rails smaller (Brianna, Oct 27: "these products look massive on mobile"). Glass pattern cards: about 2 per view on
   phones, 3 on tablets. HydroBlok product cards (size menu, price, Add to cart): about 1.5 per view on phones, 2.5 on tablets.
   The next card always peeks in. Desktop untouched. */
@media (max-width:1024px){
.elementor .sgb-rail:has(>.pattern-card){grid-auto-columns:calc((100% - 32px) / 3.3)!important;}
.elementor .sgb-rail.shop-grid,.elementor .sgb-rail:has(>.shop-card){grid-auto-columns:calc((100% - 32px) / 2.6)!important;}
}
@media (max-width:767px){
.elementor .sgb-rail:has(>.pattern-card){grid-auto-columns:calc((100% - 12px) / 2.2)!important;}
.elementor .sgb-rail.shop-grid,.elementor .sgb-rail:has(>.shop-card){grid-auto-columns:calc((100% - 12px) / 1.6)!important;}
.elementor .sgb-rail .shop-card-body{padding:14px!important;}
.elementor .sgb-rail .pattern-card-media{padding:10px!important;}
.elementor .sgb-rail .pattern-card-body{padding:12px 12px 14px!important;}
}
@media (max-width:1024px){.sgb-rail-wrap.no-media:not(.is-static) .sgb-rail-btn{top:auto;bottom:0;transform:none;}.sgb-rail-wrap.no-media:not(.is-static) .sgb-rail-prev{left:0;}.sgb-rail-wrap.no-media:not(.is-static) .sgb-rail-next{right:0;}.sgb-rail-wrap.no-media:not(.is-static) .sgb-rail-count{margin-top:12px;line-height:44px;}.sgb-rail-wrap.on-dark .sgb-rail-count{color:var(--white);}.sgb-rail-wrap.on-dark .sgb-rail-btn{border-color:var(--white);}}
@media (max-width:767px){.sgb-rail-wrap:not(.is-static) .sgb-rail-btn{top:auto;bottom:0;transform:none;}.sgb-rail-wrap:not(.is-static) .sgb-rail-prev{left:0;}.sgb-rail-wrap:not(.is-static) .sgb-rail-next{right:0;}.sgb-rail-wrap:not(.is-static) .sgb-rail-count{margin-top:12px;line-height:44px;}}
.elementor .chip-tab.chip-tab-outline.e--selected{background-color:var(--white);border-color:var(--sgb-teal);color:var(--sgb-teal-dark);}
/* Rails that are carousels on desktop too (class "sgb-rail-desktop", e.g. HydroBlok Install Videos): 3 per view, arrows in the section head. */
@media (min-width:1025px){.elementor .sgb-rail.sgb-rail-desktop{display:grid!important;grid-auto-flow:column!important;grid-template-columns:none!important;grid-template-rows:auto!important;grid-auto-columns:calc((100% - 44px) / 3)!important;gap:22px!important;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;}.elementor .sgb-rail.sgb-rail-desktop::-webkit-scrollbar{display:none;}.elementor .sgb-rail.sgb-rail-desktop>*{scroll-snap-align:start;min-width:0;}}
.elementor .rail-ext-btn:disabled{opacity:.35;cursor:default;}
/* HydroBlok Information Center document lists: tap-to-open sections on phones only (script "sgb-doc-accordions"). */
.doc-col .doc-count,.doc-col .doc-sign{display:none;}
@media (max-width:767px){
.elementor .doc-col{border-block-end:1px solid var(--line);}
.elementor .doc-col-head{margin:0!important;padding:12px 0!important;cursor:pointer;}
.elementor .doc-col-head h2{flex:1 1 auto;}
.doc-col .doc-count{display:inline;font-weight:800;color:var(--hb-green-dark);}
.doc-col .doc-sign{display:flex;flex-shrink:0;width:28px;height:28px;border-radius:999px;background:var(--hb-cool-grey);color:var(--hb-green-dark);font-weight:900;font-size:18px;align-items:center;justify-content:center;}
.doc-col .doc-sign::after{content:"+";}
.doc-col.is-open .doc-sign::after{content:"\2013";}
.doc-col:not(.is-open)>*:not(.doc-col-head){display:none!important;}
.doc-col.is-open{padding-block-end:8px!important;}
}
/* Pricing callout: saved templates 1398 (green, HydroBlok) and 1399 (teal, glass). One template each; size comes from where it sits. */
.sgb-callout{display:flex;flex-direction:row;align-items:center;gap:10px;width:100%;box-sizing:border-box;padding:12px 16px;border:1px solid var(--hb-green-line);border-radius:10px;background-color:var(--hb-green-tint);}
.sgb-callout.sgb-callout-teal{background-color:var(--sgb-teal-tint);border-color:var(--sgb-teal-line);}
.sgb-callout-check{display:flex;align-items:center;justify-content:center;width:26px;height:26px;min-width:26px;border-radius:999px;background-color:var(--hb-green);color:var(--charcoal);font-weight:900;font-size:13px;line-height:1;margin:0;}
.sgb-callout .sgb-callout-words{display:flex!important;flex-direction:column!important;gap:3px;min-width:0;padding:0;}
.sgb-callout-text{font-family:var(--font-body);font-weight:900;font-size:16px;color:var(--charcoal);line-height:1.3;margin:0;}
.sgb-callout-extra{display:none;font-size:14px;color:var(--charcoal);line-height:1.5;margin:0;}
.sgb-callout-teal .sgb-callout-check{background-color:var(--sgb-teal);}
.sgb-callout-lg .elementor-widget-shortcode,.sgb-callout-sm .elementor-widget-shortcode{width:100%;}
.sgb-callout-sm .sgb-callout{background:none!important;border:0!important;padding:0!important;gap:6px!important;border-radius:0!important;}
.sgb-callout-sm .sgb-callout-check{width:16px!important;height:16px!important;min-width:16px!important;font-size:9px!important;}
.sgb-callout-sm .sgb-callout-text{font-size:12.5px!important;font-weight:800!important;line-height:1.35!important;}
.woocommerce-cart .sgb-callout{border-width:2px!important;border-color:var(--hb-green)!important;border-radius:12px!important;padding:16px 20px!important;gap:14px!important;margin:0 0 28px!important;}
.woocommerce-cart .sgb-callout-check{width:40px!important;height:40px!important;min-width:40px!important;font-size:18px!important;}
.woocommerce-cart .sgb-callout-text{font-size:21px!important;line-height:1.25!important;}
.woocommerce-cart .sgb-callout-extra{display:block!important;}
.sgb-callout-extra a{color:inherit;font-weight:800;text-decoration:underline;}
.woocommerce-checkout .sgb-checkout-callout{margin:0 0 16px;}
@media (max-width:767px){.woocommerce-cart .sgb-callout-text{font-size:18px!important;}.woocommerce-cart .sgb-callout{align-items:flex-start!important;}.sgb-callout-lg{width:100%!important;}}
/* Cart page (WooCommerce Cart block, styled only with CSS): heading, callout and cart share one 1100px column. */
.woocommerce-cart #content.site-main{max-width:1100px;margin:0 auto;padding:56px 40px 64px;}
.woocommerce-cart #content .page-content>*,.woocommerce-cart #content .wp-block-woocommerce-cart.alignwide{width:100%;max-width:100%;margin-left:0;margin-right:0;}
.woocommerce-cart .sgb-cart-title{font-family:var(--font-body);font-size:34px;font-weight:900;color:var(--charcoal);letter-spacing:-.5px;line-height:1.2;margin:0 0 16px;}
.woocommerce-cart .wc-block-components-product-name{color:var(--charcoal);font-weight:800;text-decoration:none;}
.woocommerce-cart .wc-block-components-product-name:hover,.woocommerce-cart .wc-block-components-product-name:focus-visible{color:var(--charcoal);text-decoration:underline;}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button,body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button:visited{background-color:var(--hb-green);color:var(--charcoal);font-weight:800;text-decoration:none;border:0;border-radius:6px;}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button:hover,body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button:focus{background-color:var(--hb-green-dark);color:var(--charcoal);text-decoration:none;}
body.woocommerce-cart .wc-block-cart__submit-button .wc-block-components-button__text{text-decoration:none;font-weight:800;}
@media (max-width:767px){.woocommerce-cart #content.site-main{padding:32px 16px 48px;}.woocommerce-cart .sgb-cart-title{font-size:28px;}}
/* Cart/Checkout: "Free" / "Quoted" shipping and the freight-quote tax row (script "sgb-ship-labels"). */
.wc-block-components-totals-shipping .wc-block-components-totals-item__value,.wc-block-components-totals-shipping .wc-block-components-totals-item__value *,.wc-block-components-radio-control__secondary-label,.wc-block-components-radio-control__secondary-label *,.wc-block-checkout__shipping-method-option-price,.wc-block-checkout__shipping-method-option-price *{text-transform:none!important;}
.sgb-tax-quoted .wc-block-components-totals-item{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 16px;}
.sgb-tax-quoted .wc-block-components-totals-item__value{font-weight:700;text-align:right;}
/* Footer Contact column on phones: links there get 12px top padding (44px tap target), so their icon moves down by the same amount to sit on the first line of text. */
@media (max-width:767px){.elementor [data-id="249df349"] .elementor-widget-icon:has(+ .footer-link){margin-top:12px;}}
@media (min-width:641px) and (max-width:767px){.elementor [data-id="249df349"] .elementor-widget-icon:has(+ .footer-link){margin-top:0;}}
/* Legal pages (Text Editor widget with class "sgb-legal"): reference type sizes. */
.sgb-legal{width:100%;color:var(--charcoal);}
.sgb-legal p,.sgb-legal li{font-size:15px;line-height:1.7;color:var(--charcoal);}
.sgb-legal p{margin:0 0 12px;}
.sgb-legal .sgb-legal-intro{font-size:15.5px;}
.sgb-legal h2{font-family:var(--font-body);font-size:20px;font-weight:900;color:var(--charcoal);letter-spacing:-.2px;line-height:1.3;margin:34px 0 12px;}
.sgb-legal ul{margin:0 0 12px;padding-left:22px;}
.sgb-legal li{margin:0 0 6px;line-height:1.65;}
.sgb-legal li::marker{color:var(--sgb-teal-dark);}
.sgb-legal .sgb-legal-contact{margin-top:44px;padding-top:28px;border-top:1px solid var(--line);}
.sgb-legal .sgb-legal-contact h2{font-size:18px;margin:0 0 12px;}
.sgb-legal .sgb-legal-contact p{font-size:14.5px;line-height:1.75;}
.sgb-legal a{color:var(--sgb-teal-dark);font-weight:700;text-decoration:none;}
.sgb-legal a:hover{text-decoration:underline;}
.sgb-legal .sgb-legal-note{font-size:12.5px;font-style:italic;line-height:1.6;margin-top:30px;}
@media (max-width:767px){.sgb-legal p,.sgb-legal li,.sgb-legal .sgb-legal-intro,.sgb-legal .sgb-legal-contact p{font-size:16px;}.sgb-legal .sgb-legal-note{font-size:14px;}.sgb-legal .sgb-legal-contact a{display:inline-block;padding:10px 0;}}
/* Dealer directory ([sgb_dealer_directory]): teal on the Glass Block page, green on the HydroBlok page. */
.sgb-dir{--acc:var(--sgb-teal);--acc-d:var(--sgb-teal-dark);--acc-bg:var(--sgb-teal-tint);--acc-bd:var(--sgb-teal-line);width:100%;}
.sgb-dir--hydroblok{--acc:var(--hb-green);--acc-d:var(--hb-green-dark);--acc-bg:var(--hb-green-tint);--acc-bd:var(--hb-green-line);}
.sgb-dir-map{position:relative;z-index:0;height:440px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--surface);margin:0 0 28px;}
.sgb-dir-map-off{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;font-size:14px;color:var(--charcoal);}
.sgb-dir-pin{width:26px;height:34px;padding:0;border:0;background:none;cursor:pointer;}
.sgb-dir-pin::before{content:"";display:block;width:24px;height:24px;margin:0 auto;border-radius:50% 50% 50% 0;background:var(--acc);border:3px solid var(--white);box-shadow:0 2px 8px rgba(0,0,0,.3);transform:rotate(-45deg);}
/* HydroBlok map pins are red (Steve, Oct 23: green pins were hard to see on the map). A one-off map colour, not a
   brand colour; the rest of the HydroBlok directory stays green, and Glass Block pins stay teal. */
.sgb-dir--hydroblok{--pin:#D93025;}
.sgb-dir--hydroblok .sgb-dir-pin::before{background:var(--pin);}
/* Our showroom on both dealer maps (Steve, Oct 23): the SGB logo on a white pin card with a charcoal outline, drawn above the dealer pins. */
.sgb-dir-showroom{background:none;border:0;}
.sgb-dir-showroom__card{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:76px;height:50px;padding:4px 6px;background:var(--white);border:2px solid var(--charcoal);border-radius:8px;box-shadow:0 3px 10px rgba(0,0,0,.35);}
.sgb-dir-showroom__card::after{content:"";position:absolute;left:50%;bottom:-8px;width:12px;height:12px;background:var(--white);border-right:2px solid var(--charcoal);border-bottom:2px solid var(--charcoal);transform:translateX(-50%) rotate(45deg);}
/* Leaflet sets max-width:none !important on marker images, so the logo needs a fixed size. */
.sgb-dir-showroom__card img{position:relative;z-index:1;display:block;width:64px!important;height:42px!important;max-width:none;object-fit:contain;}
.sgb-dir-showroom__card strong{font-family:var(--font-body);font-weight:900;font-size:14px;color:var(--charcoal);}
.sgb-dir-pin:focus-visible{outline:3px solid var(--charcoal);outline-offset:2px;border-radius:6px;}
/* Map cards (Steve, Oct 23: text ran to the card edges). The padding sits on the card itself: with none there, the
   content's top and bottom margins collapsed through it and the name touched the top edge, under the close ×. */
.sgb-dir .leaflet-popup-content-wrapper{padding:16px 18px 16px;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.18);}
.sgb-dir .leaflet-popup-content{margin:0;font-family:var(--font-body);font-size:14px;line-height:1.4;}
.sgb-dir .leaflet-container a.leaflet-popup-close-button{top:4px;right:4px;width:36px;height:36px;border-radius:6px;font:22px/36px var(--font-body);color:var(--charcoal);text-decoration:none;}
.sgb-dir .leaflet-container a.leaflet-popup-close-button:hover,.sgb-dir .leaflet-container a.leaflet-popup-close-button:focus-visible{background:var(--line);}
.sgb-dir-pop-name{display:block;margin:0 0 6px;padding-right:30px;font-size:15px;font-weight:900;color:var(--charcoal);line-height:1.3;}
.sgb-dir-pop-loc{display:block;font-size:13px;line-height:1.45;color:var(--charcoal);margin:0 0 4px;}
.sgb-dir-pop-phone{display:inline-block;font-size:14px;font-weight:800;color:var(--charcoal);text-decoration:none;padding:4px 0;}
.sgb-dir-pop-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.sgb-dir-pop-go{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:38px;padding:8px 14px;border:2px solid var(--acc);border-radius:6px;background:var(--acc);color:var(--charcoal)!important;font-size:13px;font-weight:800;line-height:1.2;text-decoration:none;}
/* Zoom In / Zoom Out on the showroom card (Steve, Oct 23): a neutral outline button, so neither brand colour sits next to
   the other on either map. */
.sgb-dir .leaflet-popup .sgb-dir-pop-zoom{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:38px;margin:0;padding:8px 14px;border:2px solid var(--charcoal);border-radius:6px;background:var(--white);color:var(--charcoal);font-family:var(--font-body);font-size:13px;font-weight:800;line-height:1.2;text-transform:none;letter-spacing:0;cursor:pointer;}
.sgb-dir .leaflet-popup .sgb-dir-pop-zoom:hover,.sgb-dir .leaflet-popup .sgb-dir-pop-zoom:focus-visible{background:var(--charcoal);color:var(--white);}
@media (max-width:1024px){.sgb-dir .leaflet-container a.leaflet-popup-close-button{top:0;right:0;width:44px;height:44px;line-height:44px;}.sgb-dir-pop-go,.sgb-dir .leaflet-popup .sgb-dir-pop-zoom{min-height:44px;}}
.sgb-dir-search{display:flex;gap:10px;max-width:560px;margin:0 0 18px;}
.sgb-dir-search input{flex:1;min-width:0;min-height:46px;padding:12px 16px;border:1px solid #dddddd;border-radius:6px;font-family:var(--font-body);font-size:15px;background:var(--white);color:var(--charcoal);}
.sgb-dir-search input:focus{outline:2px solid var(--acc);border-color:var(--acc);}
.elementor .sgb-dir .sgb-dir-clear{min-height:46px;padding:12px 24px;border:0;border-radius:6px;background:var(--acc);color:var(--charcoal);font-family:var(--font-body);font-size:14px;font-weight:800;cursor:pointer;}
.sgb-dir-states{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px;}
.elementor .sgb-dir .sgb-dir-state{min-height:44px;padding:8px 18px;border-radius:999px;border:1px solid var(--line-strong);background:var(--white);color:var(--body);font-family:var(--font-body);font-size:13px;font-weight:700;cursor:pointer;}
.elementor .sgb-dir .sgb-dir-state.is-on{background:var(--acc);border-color:var(--acc);color:var(--charcoal);}
.sgb-dir-count{font-family:var(--font-body);font-size:22px;font-weight:900;color:var(--charcoal);letter-spacing:-.3px;margin:0 0 20px;}
/* searching by city or ZIP (Steve, Oct 23): "Nearest first" (and the showroom) under the count, and the miles on each card */
.sgb-dir-near{margin:-12px 0 20px;font-size:15px;line-height:1.5;color:var(--charcoal);}
.sgb-dir-near a{color:var(--charcoal);font-weight:800;text-decoration:underline;}
.sgb-dir-dist{font-weight:800;white-space:nowrap;}
@media (max-width:767px){.sgb-dir-near{font-size:16px;}}
.sgb-dir-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px;}
.sgb-dir-card{position:relative;display:flex;flex-direction:column;padding:26px;border:1px solid var(--line);border-radius:12px;background:var(--white);}
.sgb-dir-card[hidden]{display:none;}
.sgb-dir-name{font-family:var(--font-body);font-size:22px;font-weight:900;color:var(--charcoal);line-height:1.3;margin:0 0 3px;}
.sgb-dir-loc{font-size:16px;color:var(--charcoal);margin:0 0 14px;}
.sgb-dir-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px;}
.sgb-dir-tag{font-size:11px;font-weight:800;color:var(--acc-d);background:var(--acc-bg);border:1px solid var(--acc-bd);border-radius:999px;padding:4px 11px;}
/* The product-line pill in the card's top-right corner, beside the name (Steve, Oct 23); a long name wraps beside it. */
.sgb-dir-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 3px;}
.sgb-dir-card-top .sgb-dir-name{min-width:0;margin:0;}
.sgb-dir-card-top .sgb-dir-tags{flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:6px;margin:-4px 0 0;}
.sgb-dir-card-top .sgb-dir-tag{line-height:24px;white-space:nowrap;}
.sgb-dir-phone{margin:0 0 4px;}
.sgb-dir-phone a{display:inline-block;padding:6px 0;font-size:15px;font-weight:800;color:var(--charcoal);text-decoration:none;}
.sgb-dir-phone a:hover{text-decoration:underline;}
.sgb-dir-addr{font-size:14px;line-height:1.5;color:var(--charcoal);margin:0 0 18px;}
.sgb-dir-actions{margin:auto 0 0;display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.elementor .sgb-dir .sgb-dir-show{min-height:44px;padding:10px 18px;border:2px solid var(--acc);border-radius:6px;background:transparent;color:var(--charcoal);font-family:var(--font-body);font-size:13.5px;font-weight:800;cursor:pointer;}
.sgb-dir-go{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border:2px solid var(--acc);border-radius:6px;background:var(--acc);color:var(--charcoal)!important;font-size:13.5px;font-weight:800;text-decoration:none;}
.sgb-dir-go:hover,.elementor .sgb-dir .sgb-dir-show:hover{filter:brightness(.95);}
.sgb-dir-empty{padding:40px 24px;text-align:center;border:1px dashed var(--line-strong);border-radius:12px;background:var(--surface);}
.sgb-dir-empty h3{font-size:18px;font-weight:900;color:var(--charcoal);margin:0 0 8px;}
.sgb-dir-empty p{font-size:15px;color:var(--charcoal);margin:0;}
@media (max-width:767px){.sgb-dir-map{height:320px;}.sgb-dir-grid{grid-template-columns:1fr;gap:16px;}.sgb-dir-card{padding:20px;}.sgb-dir-name{font-size:20px;}.sgb-dir-addr{font-size:16px;}.sgb-dir-search input{font-size:16px;}}
/* Keep the site's default link and button looks off the map: pins, popup close and Leaflet's own controls. */
.sgb-dir .leaflet-container{font-family:var(--font-body);background:var(--surface);}
.sgb-dir .leaflet-div-icon.sgb-dir-pin,.sgb-dir .sgb-dir-pin{background:none;border:0;}
.sgb-dir .leaflet-control-zoom a{width:34px;height:34px;line-height:34px;font-size:20px;color:var(--charcoal)!important;text-decoration:none!important;background:var(--white);}
.sgb-dir .leaflet-control-attribution{font-size:11px;color:var(--charcoal);background:rgba(255,255,255,.85);}
.sgb-dir .leaflet-control-attribution a{color:var(--charcoal);text-decoration:underline;}
.elementor .sgb-dir .sgb-dir-pop-phone{color:var(--charcoal)!important;}
/* The directory's card row is a swipe carousel at 1024px and below; keep its Elementor wrappers from growing to the row's full scroll width. */
.e-div-block-base:has(> .elementor-widget-shortcode .sgb-dir),.elementor-widget-shortcode:has(.sgb-dir){width:100%;max-width:100%;min-width:0;}
.sgb-dir,.sgb-dir .sgb-rail-wrap{max-width:100%;min-width:0;}
/* Footer only: links turn teal on hover/focus (the global hover colour is charcoal, the footer background). Underlines are left as they are. */
[data-elementor-type="footer"] a:hover,[data-elementor-type="footer"] a:focus-visible,[data-elementor-type="footer"] a:hover *,[data-elementor-type="footer"] a:focus-visible *{color:var(--sgb-teal)!important;}
[data-elementor-type="footer"] .elementor-social-icon:hover,[data-elementor-type="footer"] .elementor-social-icon:focus-visible{background-color:var(--sgb-teal)!important;border-color:var(--sgb-teal)!important;}
[data-elementor-type="footer"] .elementor-social-icon:hover svg,[data-elementor-type="footer"] .elementor-social-icon:focus-visible svg,[data-elementor-type="footer"] .elementor-social-icon:hover svg *,[data-elementor-type="footer"] .elementor-social-icon:focus-visible svg *{fill:var(--charcoal)!important;}
[data-elementor-type="footer"] .elementor-social-icon:hover i,[data-elementor-type="footer"] .elementor-social-icon:focus-visible i{color:var(--charcoal)!important;}
/* HydroBlok comparison table on tablets and phones: fits the screen, no sideways swipe (Brianna, Oct 27: "this doesnt even fit on the
   mobile view screen"). Fixed columns, smaller type and icons; desktop untouched. */
@media (max-width:1024px){
.sgb-compare{overflow:visible;}
.sgb-compare table{min-width:0;}
.sgb-compare thead th{height:auto;padding:22px 10px 16px;}
.sgb-compare tbody tr>*{height:auto;padding-top:16px;padding-bottom:16px;}
.sgb-compare tbody th{padding-left:16px;padding-right:8px;}
}
@media (max-width:767px){
.sgb-compare{padding:12px 8px 14px;}
.sgb-compare tbody th{width:27%;padding-left:6px;padding-right:4px;font-size:12.5px;line-height:1.3;}
.sgb-compare thead th{padding:12px 3px 10px;font-size:12.5px;line-height:1.3;}
.sgb-compare thead th.is-hb{padding:12px 4px 10px;}
.sgb-compare td{padding-left:2px;padding-right:2px;font-size:12.5px;line-height:1.3;}
.sgb-compare tbody tr>*{padding-top:12px;padding-bottom:12px;}
.sgb-compare__icon{width:20px;height:20px;margin-bottom:6px;}
.sgb-compare__wordmark{width:92%;max-width:110px;margin-bottom:6px;}
.sgb-compare__cutaway{width:96%;max-width:120px;}
}
/* Carousel rule (Brianna, Oct 19): at 1024px and below every card row is an arrow carousel. No scroll bar, one card per swipe with the next peeking in,
   44px round charcoal-outline ‹ › buttons under the row (faded at the start/end) with "N of M · swipe →" between them. */
@media (max-width:1024px){
.elementor .sgb-rail>*{scroll-snap-stop:always;}
.sgb-rail-wrap:not(.is-static) .sgb-rail-btn{top:auto!important;bottom:0!important;transform:none!important;width:44px!important;height:44px!important;border-radius:999px!important;border:2px solid var(--charcoal)!important;background-color:var(--white)!important;color:var(--charcoal)!important;box-shadow:none!important;font-size:24px!important;}
.sgb-rail-wrap:not(.is-static) .sgb-rail-btn:hover{background-color:var(--surface)!important;}
.sgb-rail-wrap:not(.is-static) .sgb-rail-btn:focus-visible{outline:3px solid var(--sgb-teal);outline-offset:2px;}
.sgb-rail-wrap:not(.is-static) .sgb-rail-btn:disabled{opacity:.3!important;cursor:default;}
.sgb-rail-wrap:not(.is-static) .sgb-rail-prev{left:0!important;}
.sgb-rail-wrap:not(.is-static) .sgb-rail-next{right:0!important;}
.sgb-rail-wrap:not(.is-static) .sgb-rail-count{margin:12px 0 0!important;line-height:44px!important;}
.sgb-rail-wrap.on-dark:not(.is-static) .sgb-rail-btn{border-color:var(--white)!important;background-color:transparent!important;color:var(--white)!important;}
.sgb-rail-wrap.on-dark:not(.is-static) .sgb-rail-btn:hover{background-color:rgba(255,255,255,.1)!important;}
/* step slider */
.elementor-widget-image-carousel .elementor-swiper-button,.elementor-widget-image-carousel .swiper-pagination{display:none!important;}
.sgb-slide-ctrl{position:relative;display:block!important;min-height:44px;margin-top:4px;}
.sgb-slide-ctrl .sgb-rail-btn{display:flex!important;align-items:center;justify-content:center;position:absolute;bottom:0;z-index:3;width:44px;height:44px;min-height:0;padding:0;border-radius:999px;border:2px solid var(--charcoal);background-color:var(--white);color:var(--charcoal);font-family:var(--font-body);font-size:24px;font-weight:700;line-height:1;cursor:pointer;}
.sgb-slide-ctrl .sgb-rail-prev{left:0;}.sgb-slide-ctrl .sgb-rail-next{right:0;}
.sgb-slide-ctrl .sgb-rail-count{display:block!important;margin:0!important;line-height:44px;text-align:center;font-size:13px;color:var(--charcoal);}
/* HydroBlok comparison table: not a carousel; columns swipe under a pinned first column, no scroll bar */
.sgb-compare{scrollbar-width:none;}
.sgb-compare::-webkit-scrollbar{display:none;}
}
.sgb-slide-ctrl{display:none;}
/* Home Featured HydroBlok: on phones the "View all products" button sits under the heading, full width */
@media (max-width:767px){
.elementor [data-id="3ce6fa0c"]{flex-direction:column!important;align-items:stretch!important;gap:14px!important;}
.elementor [data-id="652dd878"]{width:100%!important;align-self:stretch!important;justify-content:center;text-align:center;}
}
/* Quote list: Cart page section and mini cart block ([sgb_quote_list] / cart fragments). Teal = glass block quote items. */
.sgb-quote-list{margin:32px 0 0;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--white);}
.sgb-quote-list[hidden]{display:none;}
.sgb-quote-list__head{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:0 0 14px;padding:0 0 12px;border-bottom:1px solid var(--line);}
.sgb-quote-list__title{font-family:var(--font-body);font-size:20px;font-weight:900;color:var(--charcoal);margin:0;}
.sgb-quote-list__sub{font-size:14px;color:var(--charcoal);margin:0;}
.sgb-quote-list__items{list-style:none;margin:0;padding:0;}
.sgb-quote-item{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);}
.sgb-quote-item__img{flex:0 0 64px;width:64px;height:64px;border-radius:8px;overflow:hidden;background:var(--surface);}
.sgb-quote-item__img img{width:100%;height:100%;object-fit:cover;display:block;}
.sgb-quote-item__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px;}
.sgb-quote-item__name{font-size:15px;font-weight:800;color:var(--charcoal)!important;text-decoration:none!important;line-height:1.35;}
.sgb-quote-item__name:hover,.sgb-quote-item__name:focus-visible{text-decoration:underline!important;}
.sgb-quote-item__meta{font-size:13px;color:var(--charcoal);}
.elementor-kit-6 .sgb-quote-item__remove,.sgb-quote-item__remove{flex:0 0 44px;width:44px;height:44px;min-height:0;padding:0;border:1px solid var(--line-strong);border-radius:999px;background:var(--white);color:var(--charcoal);font-size:22px;line-height:1;cursor:pointer;}
.elementor-kit-6 .sgb-quote-item__remove:hover{border-color:#c0392b;color:#c0392b;background:var(--white);}
.sgb-quote-list__submit{display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin-top:16px;padding:12px 24px;border-radius:6px;background:var(--sgb-teal);color:var(--charcoal)!important;font-weight:800;font-size:15px;text-decoration:none!important;}
.sgb-quote-list__submit:hover{background:var(--sgb-teal-dark);}
.sgb-quote-list__note{font-size:13px;color:var(--charcoal);margin:10px 0 0;}
.woocommerce-cart .sgb-quote-list--cart{margin-top:36px;}
/* in the slide-out mini cart */
.sgb-quote-list--mini{margin:18px 0 0;padding:16px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;}
.sgb-quote-list--mini .sgb-quote-list__title{font-size:16px;}
.sgb-quote-list--mini .sgb-quote-list__sub{font-size:13px;}
.sgb-quote-list--mini .sgb-quote-item__img{flex-basis:52px;width:52px;height:52px;}
.sgb-quote-list--mini .sgb-quote-item__name{font-size:14px;}
.sgb-quote-list--mini .sgb-quote-list__submit{display:flex;width:100%;}
@media (max-width:767px){.sgb-quote-list{padding:18px;}.sgb-quote-list__sub,.sgb-quote-item__meta{font-size:15px;}.sgb-quote-item__name{font-size:16px;}.sgb-quote-list__submit{display:flex;width:100%;}}
/* Request a Quote page (/request-quote/, YITH) — reference "Quote request" rows. */
.page-id-16 #content.site-main{max-width:1200px;margin:0 auto;padding:48px 40px 64px;}
.page-id-16 .page-header .entry-title{font-family:var(--font-body);font-size:34px;font-weight:900;color:var(--charcoal);letter-spacing:-.5px;line-height:1.2;margin:0 0 6px;}
.page-id-16 .page-content>*{max-width:100%;margin-left:0;margin-right:0;}
.page-id-16 .sgb-raq-lead{font-size:16px;color:var(--charcoal);margin:0 0 14px;}
.page-id-16 .yith-ywraq-before-table{margin:0 0 22px;}
.page-id-16 .yith-ywraq-before-table .wc-backward{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;background:none;box-shadow:none;color:var(--sgb-teal-dark);font-size:15px;font-weight:800;text-decoration:none;}
.page-id-16 .yith-ywraq-before-table .wc-backward:hover{background:none;color:var(--charcoal);text-decoration:underline;}
.page-id-16 .ywraq-before-form:empty{display:none;}
.page-id-16 .ywraq-form-table-wrapper.vertical{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:40px;align-items:start;}
.page-id-16 .ywraq-form-table-wrapper.vertical>*{width:auto!important;max-width:none!important;float:none!important;margin:0!important;}
.page-id-16 .yith-ywraq-mail-form-wrapper{position:sticky;top:130px;padding:24px!important;border:1px solid var(--line)!important;border-radius:12px;background:var(--white);}
.page-id-16 .yith-ywraq-mail-form-wrapper h3{font-family:var(--font-body);font-size:20px;font-weight:900;color:var(--charcoal);margin:0 0 16px;}
/* list rows */
.page-id-16 #yith-ywrq-table-list{border:0!important;margin:0;width:100%;border-collapse:collapse;}
.page-id-16 #yith-ywrq-table-list thead{display:none;}
.page-id-16 #yith-ywrq-table-list tbody,.page-id-16 #yith-ywrq-table-list tr{display:block;}
.page-id-16 #yith-ywrq-table-list tr.cart_item{display:grid!important;grid-template-columns:64px minmax(0,1fr) auto 44px;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid #eee;background:none!important;}
.page-id-16 #yith-ywrq-table-list tr.cart_item:first-child{border-top:1px solid #eee;}
.page-id-16 #yith-ywrq-table-list td{display:block;border:0!important;background:none!important;padding:0!important;width:auto!important;text-align:left;}
.page-id-16 #yith-ywrq-table-list td::before{display:none!important;}
.page-id-16 #yith-ywrq-table-list td.product-thumbnail{order:1;}
.page-id-16 #yith-ywrq-table-list td.product-name{order:2;min-width:0;}
.page-id-16 #yith-ywrq-table-list td.product-quantity{order:3;}
.page-id-16 #yith-ywrq-table-list td.product-remove{order:4;}
.page-id-16 #yith-ywrq-table-list td.product-thumbnail a,.page-id-16 #yith-ywrq-table-list td.product-thumbnail img{display:block;width:64px!important;height:64px!important;max-width:none;}
.page-id-16 #yith-ywrq-table-list td.product-thumbnail img{object-fit:contain;background:var(--surface);border-radius:8px;padding:4px;box-sizing:border-box;}
.page-id-16 #yith-ywrq-table-list td.product-name>a{font-size:15px;font-weight:800;color:var(--charcoal);text-decoration:none;line-height:1.35;}
.page-id-16 #yith-ywrq-table-list td.product-name>a:hover,.page-id-16 #yith-ywrq-table-list td.product-name>a:focus-visible{text-decoration:underline;}
.page-id-16 #yith-ywrq-table-list td.product-name>br{display:none;}
.page-id-16 #yith-ywrq-table-list td.product-name ul{list-style:none;margin:4px 0 0!important;padding:0;}
.page-id-16 #yith-ywrq-table-list td.product-name ul>br{display:none;}
.page-id-16 #yith-ywrq-table-list td.product-name li{font-size:13px;color:var(--muted);line-height:1.45;margin:0;}
.page-id-16 #yith-ywrq-table-list td.product-name li strong{font-weight:600;color:var(--muted);}
/* stepper */
.page-id-16 .quantity.sgb-stepper{display:inline-flex;align-items:center;border:1px solid var(--line-strong);border-radius:8px;overflow:hidden;height:44px;}
.page-id-16 .quantity.sgb-stepper input.qty{width:44px;height:42px;min-height:0;border:0!important;padding:0;text-align:center;font-size:15px;font-weight:700;color:var(--charcoal);background:var(--white);-moz-appearance:textfield;}
.page-id-16 .quantity.sgb-stepper input.qty::-webkit-outer-spin-button,.page-id-16 .quantity.sgb-stepper input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.elementor-kit-6.page-id-16 .sgb-step,.page-id-16 .sgb-step{width:40px;height:42px;min-height:0;padding:0;border:0;border-radius:0;background:var(--white);color:var(--charcoal);font-size:18px;font-weight:700;line-height:1;cursor:pointer;}
.elementor-kit-6.page-id-16 .sgb-step:hover{background:var(--surface);color:var(--charcoal);}
/* remove × */
.page-id-16 #yith-ywrq-table-list td.product-remove a.remove{display:flex!important;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line-strong);border-radius:999px;color:var(--charcoal)!important;font-size:22px;font-weight:400;line-height:1;text-decoration:none;background:var(--white);}
.page-id-16 #yith-ywrq-table-list td.product-remove a.remove:hover{border-color:#c0392b;color:#c0392b!important;background:var(--white);}
/* Update List: quantities save automatically */
.page-id-16 .update-list-wrapper input.button{display:none!important;}
.page-id-16 .update-list-wrapper{margin:0;padding:0;}
/* form */
.page-id-16 #yith-ywraq-default-form .form-row{width:100%!important;float:none!important;margin:0 0 14px;padding:0;}
.page-id-16 #yith-ywraq-default-form label{font-size:14px;font-weight:700;color:var(--charcoal);margin:0 0 6px;display:block;}
.page-id-16 #yith-ywraq-default-form .optional{font-weight:400;color:var(--muted);}
.page-id-16 #yith-ywraq-default-form input.input-text,.page-id-16 #yith-ywraq-default-form textarea{width:100%;min-height:46px;padding:11px 14px;border:1px solid #dddddd;border-radius:6px;font-family:var(--font-body);font-size:15px;color:var(--charcoal);background:var(--white);}
.page-id-16 #yith-ywraq-default-form textarea{min-height:0;resize:vertical;}
.page-id-16 #yith-ywraq-default-form input.input-text:focus,.page-id-16 #yith-ywraq-default-form textarea:focus{outline:2px solid var(--sgb-teal);border-color:var(--sgb-teal);}
.elementor-kit-6.page-id-16 #yith-ywraq-default-form input.raq-send-request,.page-id-16 #yith-ywraq-default-form input.raq-send-request{display:block;width:100%;min-height:50px;padding:14px 20px;border:0;border-radius:6px;background:var(--sgb-teal);color:var(--charcoal);font-family:var(--font-body);font-size:16px;font-weight:800;cursor:pointer;}
.elementor-kit-6.page-id-16 #yith-ywraq-default-form input.raq-send-request:hover{background:var(--sgb-teal-dark);color:var(--charcoal);}
.page-id-16 .sgb-raq-after-send{margin-top:14px;display:flex;flex-direction:column;gap:10px;}
.page-id-16 .sgb-raq-reply{font-size:14px;color:var(--charcoal);margin:0;text-align:center;}
@media (max-width:1024px){
.page-id-16 .ywraq-form-table-wrapper.vertical{grid-template-columns:1fr;gap:28px;}
.page-id-16 .yith-ywraq-mail-form-wrapper{position:static;}
}
@media (max-width:767px){
.page-id-16 #content.site-main{padding:28px 16px 48px;}
.page-id-16 .page-header .entry-title{font-size:28px;}
.page-id-16 #yith-ywrq-table-list tr.cart_item{grid-template-columns:56px minmax(0,1fr) 44px;grid-template-areas:"img name rm" "img qty rm";row-gap:10px;column-gap:12px;}
.page-id-16 #yith-ywrq-table-list td.product-thumbnail{grid-area:img;align-self:start;}
.page-id-16 #yith-ywrq-table-list td.product-name{grid-area:name;}
.page-id-16 #yith-ywrq-table-list td.product-quantity{grid-area:qty;}
.page-id-16 #yith-ywrq-table-list td.product-remove{grid-area:rm;align-self:start;}
.page-id-16 #yith-ywrq-table-list td.product-thumbnail a,.page-id-16 #yith-ywrq-table-list td.product-thumbnail img{width:56px!important;height:56px!important;}
.page-id-16 #yith-ywrq-table-list td.product-name>a{font-size:16px;}
.page-id-16 #yith-ywrq-table-list td.product-name li{font-size:14px;}
.page-id-16 .yith-ywraq-mail-form-wrapper{padding:18px!important;}
.page-id-16 #yith-ywraq-default-form input.input-text,.page-id-16 #yith-ywraq-default-form textarea{font-size:16px;}
}
/* Mini cart: with only quote items, the "No items to buy yet." line is small grey body text */
.elementor-menu-cart__main .woocommerce-mini-cart__empty-message{font-family:var(--font-body)!important;font-size:14px!important;font-weight:400!important;color:var(--muted)!important;line-height:1.5!important;margin:0 0 4px!important;padding:0!important;text-align:left!important;}
/* Slide-out mini cart buy rows (template sgb-templates/mini-cart.php): same look as the quote rows. */
.elementor-menu-cart__main .sgb-mini-buy{display:block;padding:0;border:0;}
.elementor-menu-cart__main .sgb-cart-row{display:grid!important;grid-template-columns:64px minmax(0,1fr) 44px;grid-template-areas:"img body rm" "img qty rm";column-gap:12px;row-gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);border-top:0;margin:0;}
.elementor-menu-cart__main .sgb-cart-row .sgb-quote-item__img{grid-area:img;align-self:start;width:64px;height:64px;}
.elementor-menu-cart__main .sgb-cart-row .sgb-quote-item__img img{object-fit:contain;padding:4px;box-sizing:border-box;}
.elementor-menu-cart__main .sgb-cart-row .sgb-quote-item__body{grid-area:body;}
.elementor-menu-cart__main .sgb-cart-row .sgb-qty{grid-area:qty;}
.elementor-menu-cart__main .sgb-cart-row .sgb-cart-remove{grid-area:rm;align-self:start;}
.sgb-cart-row__price{font-size:15px;font-weight:900;color:var(--charcoal);}
.sgb-cart-row.is-busy{opacity:.55;pointer-events:none;}
.sgb-qty{display:inline-flex;align-items:center;height:44px;border:1px solid var(--line-strong);border-radius:8px;overflow:hidden;width:max-content;}
.elementor-kit-6 .sgb-qty .sgb-qty__btn,.sgb-qty .sgb-qty__btn{width:40px;height:42px;min-height:0;padding:0;border:0;border-radius:0;background:var(--white);color:var(--charcoal);font-size:18px;font-weight:700;line-height:1;cursor:pointer;}
.elementor-kit-6 .sgb-qty .sgb-qty__btn:hover{background:var(--surface);color:var(--charcoal);}
.sgb-qty__val{min-width:36px;text-align:center;font-size:15px;font-weight:700;color:var(--charcoal);}
.elementor-menu-cart__main .elementor-menu-cart__subtotal{padding:14px 0;border-bottom:1px solid var(--line);}
/* Cart page: quote section heading at the cart's section-heading size; names underline on hover only */
.woocommerce-cart .sgb-quote-list .sgb-quote-list__title,.elementor-kit-6 .sgb-quote-list h2.sgb-quote-list__title{font-family:var(--font-body)!important;font-size:20px!important;font-weight:900!important;line-height:1.3!important;letter-spacing:0!important;margin:0!important;}
/* Cart: reference empty state, quote-only line, shipping radios. */
.sgb-cart-empty{max-width:100%;margin:0;padding:56px 24px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;}
.sgb-cart-empty__icon{display:block;margin:0 auto 14px;}
.woocommerce-cart .sgb-cart-empty .sgb-cart-empty__title{font-family:var(--font-body)!important;font-size:20px!important;font-weight:900!important;color:var(--charcoal);margin:0 0 8px!important;line-height:1.3!important;letter-spacing:0!important;}
.sgb-cart-empty__text{font-size:15px;line-height:1.6;color:var(--charcoal);max-width:560px;margin:0 auto 22px;}
.sgb-cart-empty__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;}
.sgb-cart-empty__btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 24px;border-radius:6px;font-size:15px;font-weight:800;text-decoration:none!important;}
.sgb-cart-empty__btn--hb{background:var(--hb-green);color:var(--charcoal)!important;border:2px solid var(--hb-green);}
.sgb-cart-empty__btn--hb:hover{background:var(--hb-green-dark);border-color:var(--hb-green-dark);}
.sgb-cart-empty__btn--gb{background:transparent;color:var(--sgb-teal-dark)!important;border:2px solid var(--sgb-teal);}
.sgb-cart-empty__btn--gb:hover{background:var(--sgb-teal-tint);}
.sgb-cart-quote-only{display:none;font-size:14px;color:var(--charcoal);margin:0;}
.sgb-cart-quote-only a{color:var(--hb-green-dark);font-weight:800;text-decoration:none;}
.sgb-cart-quote-only a:hover{text-decoration:underline;}
.sgb-has-quotes .sgb-cart-empty{display:none;}
.sgb-has-quotes .sgb-cart-quote-only{display:block;}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block{margin:0;}
.woocommerce-cart.sgb-has-quotes .sgb-quote-list--cart{margin-top:16px;}
.sgb-ship-choice{border:0;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;grid-column:1/-1;width:100%;}
.sgb-ship-choice.is-busy{opacity:.6;pointer-events:none;}
.sgb-ship-choice__opt{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:8px;cursor:pointer;font-size:14px;color:var(--charcoal);}
.sgb-ship-choice__opt:has(input:checked){border-color:var(--hb-green);background:var(--hb-green-tint);}
.sgb-ship-choice__opt input{width:18px;height:18px;margin:0;accent-color:var(--hb-green-dark);flex-shrink:0;}
.sgb-ship-choice__name{flex:1 1 auto;}
.sgb-ship-choice__price{font-weight:800;}
.wp-block-woocommerce-cart .wc-block-components-totals-shipping:has(.sgb-ship-choice) .wc-block-components-totals-shipping__via{display:none;}
.wp-block-woocommerce-cart .wc-block-components-totals-shipping .wc-block-components-totals-item{flex-wrap:wrap;}
@media (max-width:767px){.sgb-cart-empty{padding:40px 18px;}.sgb-cart-empty__text{font-size:16px;}.sgb-cart-empty__btn{width:100%;}.sgb-cart-quote-only{font-size:15px;}}
/* Cart page product rows: name, size and price only (no description excerpt); stepper − / + in full-strength charcoal. */
.wp-block-woocommerce-cart .wc-block-components-product-metadata__description{display:none!important;}
/* (Elementor rewrites the word "s-e-l-e-c-t-o-r" in site CSS, so WooCommerce's quantity buttons are matched by a partial class name.) */
.wp-block-woocommerce-cart button[class*="components-quantity-sel"],.wp-block-woocommerce-cart button[class*="components-quantity-sel"]:disabled{opacity:1!important;color:var(--charcoal)!important;}
.wp-block-woocommerce-cart button[class*="components-quantity-sel"]:disabled{cursor:default;}
/* Tap targets at 1024px and below (mobile rule: 44px). Desktop untouched. */
@media (max-width:1024px){
/* glass block pattern / brick / Breeze cards: the whole card is the link (its photo link is stretched over the card) */
.elementor .pattern-card{position:relative;}
.elementor .pattern-card .pattern-card-media{position:static;}
.elementor .pattern-card .pattern-card-media a::after{content:"";position:absolute;inset:0;z-index:2;}
.elementor .pattern-card .card-badge{z-index:3;}
/* "Click here for real world images" and similar one-line text links */
.elementor a.insp-link-teal,.elementor a.insp-link-hb{display:inline-flex;align-items:center;min-height:44px;}
/* links inside sentences get a taller hit area without moving the text */
[data-elementor-type="wp-page"] .e-paragraph-base a,[data-elementor-type="wp-page"] p a{padding-block:12px;}
[data-elementor-type="wp-page"] .e-button-base{min-height:44px;}
}
@media (max-width:1024px){.elementor [data-id="45e43c4"]{display:inline-flex;align-items:center;min-height:44px;}}

/* Glass Block "Shop by Product" anchors stop below the sticky header (JS sets --sgb-head) */
#gb-shop,#gb-brick,#gb-pavers,#gb-breeze{scroll-margin-top:var(--sgb-head,120px);}
.sgb-mega-hide .e-n-menu-content{visibility:hidden!important;opacity:0!important;}
.sgb-piece__sub{font-size:12.5px;font-weight:600;color:var(--charcoal);margin-top:-6px;line-height:1.35;}

/* ===== Mobile pass, remaining pages (Brianna, Oct 19): 1024px and below only. Desktop untouched. ===== */
/* Pages and templates in this batch (document ids), so the approved Home / HydroBlok / Glass Block phones don't change. */
@media (max-width:767px){
/* body text at least 16px on phones */
:is([data-elementor-id="1247"],[data-elementor-id="1248"],[data-elementor-id="1249"],[data-elementor-id="1250"],[data-elementor-id="1251"],[data-elementor-id="1327"],[data-elementor-id="1328"],[data-elementor-id="1329"],[data-elementor-id="1330"],[data-elementor-id="1354"],[data-elementor-id="1355"],[data-elementor-id="1357"],[data-elementor-id="1442"],[data-elementor-id="1443"],[data-elementor-id="1084"],[data-elementor-id="1109"],[data-elementor-id="1110"],[data-elementor-id="1111"],[data-elementor-id="1540"]) :is(.hero-text-light,.card-text-sm,.card-text-md,.product-desc,.faq-a,.faq-q,.sgb-dir-actions,[data-id="3e050abb"],[data-id="7adaa51e"],[data-id="4092eacc"],[data-id="1041acb1"],[data-id="3d848c89"],[data-id="4e931a9a"],[data-id="ba78f9a"],[data-id="3872370e"],[data-id="30a6dbff"],[data-id="311566bf"],[data-id="5318f9e3"],[data-id="2a593788"],[data-id="4be9f288"],[data-id="12452328"],[data-id="5707f915"],[data-id="6a0348f8"],[data-id="7224b453"],[data-id="155f17d9"],[data-id="6b1d43b0"],[data-id="5d8119c0"],[data-id="5a6a82ac"],[data-id="1a0c0334"],[data-id="2703e0c9"],[data-id="0dfa890"] p,[data-id="8a98968"] p){font-size:16px!important;}
.sgb-legal .sgb-legal-note{font-size:16px;}
/* the size dropdown on HydroBlok product pages: 16px also stops iPhones zooming in */
[data-elementor-id="1084"] table.variations :is(select,td.value){font-size:16px!important;}
.woocommerce-cart .sgb-callout-extra,.page-id-16 .ywraq_list_empty_message{font-size:16px!important;}
}
@media (max-width:1024px){
/* header Get a Quote button: 44px tall like the cart and menu buttons beside it */
.elementor-964 a.e-button-base{min-height:44px!important;display:flex!important;align-items:center;justify-content:center;}
/* product templates and product archives: 44px tap targets */
:is([data-elementor-type="product"],[data-elementor-type="product-archive"]) a.e-button-base{min-height:44px!important;display:flex!important;align-items:center;justify-content:center;}
:is([data-elementor-type="product"],[data-elementor-type="product-archive"]) :is(a.e-paragraph-link-base,a.e-heading-link-base){padding-block:13px!important;}
/* block and chip links: a taller hit area without moving anything */
:is([data-elementor-type="product"],[data-elementor-type="product-archive"]) .back-link-teal a.e-paragraph-link-base,
[data-elementor-type="product-archive"] :is([data-id="7a3ed380"],[data-id="7a189ecb"],[data-id="29de4bcc"],[data-id="43a839f"],[data-id="7040a011"],[data-id="4b0918e4"],[data-id="1ddd574b"],[data-id="21a1d46b"],[data-id="198dc788"]) a.e-paragraph-link-base{padding-block:10px!important;margin-block:-10px!important;}
[data-elementor-type="product"] :is(a.reset_variations,[data-id="1ac79644"] a){padding-block:15px!important;}
[data-elementor-type="product"] :is(.sgb-pieces .sgb-chip,.sgb-quote-btn){min-height:44px!important;}
.woocommerce-product-gallery__trigger{border:4px solid transparent!important;margin:-4px!important;background-clip:padding-box!important;}
.woocommerce-cart .sgb-callout-extra a{padding-block:13px!important;}
.page-id-16 .return-to-shop .wc-backward{display:inline-flex!important;align-items:center;min-height:44px!important;}
/* FAQ: the empty icon box squeezed each question to one word per line; the + / – sign is drawn by the header itself */
.elementor .faq-header .e-accordion-item-icon-base{display:none!important;}
.elementor .faq-header>.e-accordion-item-title-base{flex:1 1 auto!important;min-width:0!important;width:auto!important;}
}
/* FAQ section tabs on phones (script "sgb-faq-tabs"): one section at a time, tabs stick under the header */
.sgb-faq-tabs{display:none;}
@media (max-width:767px){
.sgb-faq-tabs{display:flex;flex-wrap:wrap;gap:8px;position:sticky;top:calc(var(--sgb-head,114px) - 16px);z-index:5;margin:0 -16px 8px;padding:10px 16px;background:var(--white);border-bottom:1px solid var(--line);}
.elementor-kit-6 .sgb-faq-tab{flex:0 0 auto;white-space:nowrap;min-height:44px;padding:8px 16px;border-radius:999px;border:1px solid var(--line-strong);background:var(--white);color:var(--charcoal);font-family:var(--font-body);font-size:14px;font-weight:800;line-height:1.2;cursor:pointer;box-shadow:none;}
.elementor-kit-6 .sgb-faq-tab.is-on{background:var(--sgb-teal);border-color:var(--sgb-teal);color:var(--charcoal);}
.elementor-kit-6 .sgb-faq-tab.is-hb.is-on{background:var(--hb-green);border-color:var(--hb-green);}
.sgb-faq-tabbed .sgb-faq-off{display:none!important;}
}

/* Phone review fixes (Brianna, Oct 19) */
/* Request a Quote: heading lines up with the text under it (the theme pads it 10px on small screens); the empty-list
   "Continue browsing Glass Block" button is teal with bold charcoal text */
.page-id-16 .page-header .entry-title{padding-inline:0!important;}
.page-id-16 .return-to-shop a.wc-backward{display:inline-flex!important;align-items:center;gap:6px;min-height:44px;padding:12px 22px!important;border:0!important;border-radius:6px!important;background:var(--sgb-teal)!important;color:var(--charcoal)!important;font-weight:800!important;text-decoration:none!important;box-shadow:none!important;}
@media (max-width:767px){.page-id-16 .return-to-shop a.wc-backward{white-space:nowrap;font-size:15px!important;padding-inline:16px!important;}}
.page-id-16 .return-to-shop a.wc-backward:hover,.page-id-16 .return-to-shop a.wc-backward:focus-visible{background:var(--sgb-teal-dark)!important;color:var(--charcoal)!important;}
/* Glass brick product page: gallery thumbnails all the same size in one even row (5 slots; more images swipe sideways) */
[data-elementor-id="1110"] .woocommerce-product-gallery .flex-control-thumbs{display:flex!important;flex-wrap:nowrap;gap:10px;margin:12px 0 0!important;padding:0!important;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;}
[data-elementor-id="1110"] .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar{display:none;}
[data-elementor-id="1110"] .woocommerce-product-gallery .flex-control-thumbs li{flex:0 0 calc((100% - 40px) / 5)!important;min-width:56px;width:auto!important;margin:0!important;float:none!important;scroll-snap-align:start;}
[data-elementor-id="1110"] .woocommerce-product-gallery .flex-control-thumbs li img{display:block;width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--line);border-radius:8px;background:var(--white);box-sizing:border-box;}
/* Inspiration Gallery on phones and tablets (tablets since Oct 27): 12 photos, then "Load more (N more)" adds 12 at a time (script "sgb-gallery-more") */
.sgb-gal-more{display:none;}
@media (max-width:1024px){
.e-gallery-item.sgb-gal-cut{display:none!important;}
.sgb-gal-more{display:block;margin:18px 0 0;text-align:center;}
.elementor-kit-6 .sgb-gal-more__btn{width:100%;min-height:44px;padding:12px 16px;border:2px solid var(--sgb-teal);border-radius:6px;background:var(--white);color:var(--charcoal);font-family:var(--font-body);font-size:16px;font-weight:800;line-height:1.2;cursor:pointer;box-shadow:none;}
.elementor-kit-6 .sgb-gal-more__btn:hover{background:var(--sgb-teal);color:var(--charcoal);}
.sgb-gal-more__count{margin:10px 0 0;font-size:14px;color:var(--body);}
}
@media (min-width:768px) and (max-width:1024px){.elementor-kit-6 .sgb-gal-more__btn{width:auto;min-width:320px;}}
/* Coupons stay enabled (YITH Request a Quote uses them), but customers never see a coupon box on Cart or Checkout
   (Brianna, Oct 19). The coupon form blocks are also removed from both pages; a coupon applied by a quote still shows as a discount line. */
.wp-block-woocommerce-cart-order-summary-coupon-form-block,.wp-block-woocommerce-checkout-order-summary-coupon-form-block,.wc-block-components-totals-coupon,.woocommerce-form-coupon-toggle,form.checkout_coupon,.woocommerce-cart .coupon{display:none!important;}
/* V4 forms: radio options sit side by side; file inputs get a white "Choose files" button (1px #d9d9d9 border, Brianna Oct 20) */
.form-radio-row>.e-con{width:auto!important;}
/* (Elementor rewrites the word "s-e-l-e-c-t-o-r" in site CSS, so the standard pseudo-element is written with a CSS escape: \65 = "e".) */
input[type="file"].form-control::-webkit-file-upload-button{margin-right:12px;padding:8px 14px;border:1px solid #d9d9d9;border-radius:6px;background:var(--white);color:var(--charcoal);font-family:var(--font-body);font-size:14px;font-weight:700;cursor:pointer;}
input[type="file"].form-control::file-s\65 lector-button{margin-right:12px;padding:8px 14px;border:1px solid #d9d9d9;border-radius:6px;background:var(--white);color:var(--charcoal);font-family:var(--font-body);font-size:14px;font-weight:700;cursor:pointer;}
input[type="file"].form-control:hover::-webkit-file-upload-button{border-color:var(--charcoal);}
input[type="file"].form-control:hover::file-s\65 lector-button{border-color:var(--charcoal);}
input[type="file"].form-control{padding-block:8px;cursor:pointer;}

/* Checkout (Brianna, Oct 20): Place Order is HydroBlok green (only HydroBlok is bought online), bold charcoal text.
   Hello Elementor's reset paints focused/hovered buttons pink-red (#c36); that's overridden, and keyboard users get a thin charcoal ring instead. */
.wc-block-checkout .wc-block-components-checkout-place-order-button,
.wc-block-checkout .wc-block-components-checkout-place-order-button:focus,
.wc-block-checkout .wc-block-components-checkout-place-order-button:active{background-color:var(--hb-green)!important;color:var(--charcoal)!important;font-weight:800!important;border:0!important;border-radius:6px!important;box-shadow:none!important;outline:none!important;text-decoration:none!important;}
.wc-block-checkout .wc-block-components-checkout-place-order-button:hover{background-color:var(--hb-green-dark)!important;color:var(--charcoal)!important;}
.wc-block-checkout .wc-block-components-checkout-place-order-button:focus-visible{outline:2px solid var(--charcoal)!important;outline-offset:3px!important;}
.wc-block-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text{color:var(--charcoal)!important;font-weight:800!important;}
/* Round charcoal radios on Cart and Checkout (pickup location, delivery method, Pay at pickup) */
.wc-block-components-radio-control__input,.sgb-ship-choice input[type="radio"]{-webkit-appearance:none!important;appearance:none!important;position:relative;flex:0 0 20px;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;margin:0;padding:0!important;border:2px solid var(--charcoal)!important;border-radius:50%!important;background:var(--white)!important;box-shadow:none!important;outline:none;cursor:pointer;}
.wc-block-components-radio-control__input::before,.sgb-ship-choice input[type="radio"]::before{content:""!important;display:block!important;position:absolute!important;left:50%!important;top:50%!important;width:10px!important;height:10px!important;border-radius:50%!important;background:var(--charcoal)!important;transform:translate(-50%,-50%) scale(0)!important;transition:transform .12s;}
.wc-block-components-radio-control__input:checked::before,.sgb-ship-choice input[type="radio"]:checked::before{transform:translate(-50%,-50%) scale(1)!important;}
.wc-block-components-radio-control__input:focus-visible,.sgb-ship-choice input[type="radio"]:focus-visible{outline:2px solid var(--charcoal)!important;outline-offset:2px;}
/* Checkout order summary: name, size and price only (like the Cart page) */
.wc-block-checkout .wc-block-components-product-metadata__description{display:none!important;}

/* ===== Order Received page (Brianna, Oct 20): WooCommerce's order data, restyled ===== */
.woocommerce-order{max-width:960px;margin:0 auto;padding:40px 0 24px;font-family:var(--font-body);color:var(--charcoal);}
.woocommerce-order h2{font-family:var(--font-display)!important;font-weight:800!important;font-size:24px!important;line-height:1.25;color:var(--charcoal);margin:36px 0 14px;}
/* success card */
.sgb-thanks{max-width:680px;margin:0 auto 18px;padding:40px 36px;text-align:center;background:var(--hb-green-tint);border:1px solid #d9ead0;border-radius:14px;}
.sgb-thanks__icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0 auto 16px;border-radius:999px;background:var(--hb-green);color:var(--charcoal);}
.woocommerce-order h2.sgb-thanks__title{margin:0 0 8px;font-size:24px!important;}
.sgb-thanks__text{margin:0 0 22px;font-size:16px;line-height:1.65;color:var(--charcoal);}
.sgb-thanks__actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;}
.sgb-thanks__btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 26px;border-radius:6px;font-size:15px;font-weight:800;text-decoration:none!important;}
.sgb-thanks__btn--shop{background:var(--hb-green);color:var(--charcoal)!important;border:2px solid var(--hb-green);}
.sgb-thanks__btn--shop:hover{background:var(--hb-green-dark);border-color:var(--hb-green-dark);}
.sgb-thanks__btn--call{background:var(--white);color:var(--charcoal)!important;border:2px solid var(--charcoal);}
.sgb-thanks__btn--call:hover{background:var(--charcoal);color:var(--white)!important;}
.sgb-thanks-quote{max-width:680px;margin:0 auto 18px;padding:14px 18px;border:1px solid var(--sgb-teal-line);border-left:4px solid var(--sgb-teal);border-radius:10px;background:var(--sgb-teal-tint);font-size:15px;font-weight:700;line-height:1.5;color:var(--charcoal);text-align:left;}
/* order facts: 5 small cards */
.woocommerce ul.woocommerce-order-overview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:26px 0 14px!important;padding:0!important;list-style:none;}
.woocommerce ul.woocommerce-order-overview::before,.woocommerce ul.woocommerce-order-overview::after{display:none!important;}
.woocommerce ul.woocommerce-order-overview li{float:none!important;margin:0!important;padding:14px 16px!important;border:1px solid var(--line)!important;border-radius:10px;background:var(--white);font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--body);line-height:1.4;min-width:0;}
.woocommerce ul.woocommerce-order-overview li strong{display:block;margin-top:6px;font-size:15px;font-weight:800;letter-spacing:0;text-transform:none;color:var(--charcoal);overflow-wrap:anywhere;}
/* Pay at pickup instructions under the facts */
.woocommerce-order>p:not([class]){margin:0 0 8px;font-size:15px;color:var(--charcoal);}
/* order details: one light card, row dividers, thumbnails, prices right-aligned */
.woocommerce-order .woocommerce-order-details{margin-top:8px;}
.woocommerce-order table.shop_table.order_details{width:100%;border:1px solid var(--line)!important;border-radius:12px;border-collapse:separate!important;border-spacing:0;overflow:hidden;background:var(--white);margin:0;}
.woocommerce-order table.shop_table.order_details th,.woocommerce-order table.shop_table.order_details td{border:0!important;border-top:1px solid var(--line)!important;padding:14px 18px!important;background:transparent!important;font-size:15px;color:var(--charcoal);vertical-align:middle;}
.woocommerce-order table.shop_table.order_details thead th{border-top:0!important;font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--body);}
.woocommerce-order table.shop_table.order_details .product-total,.woocommerce-order table.shop_table.order_details tfoot td{text-align:right;}
.woocommerce-order table.shop_table.order_details tfoot th{font-weight:700;text-align:left;}
.woocommerce-order table.shop_table.order_details td.product-name{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.woocommerce-order table.shop_table.order_details td.product-name a{color:var(--charcoal)!important;text-decoration:none!important;font-weight:700;}
.woocommerce-order table.shop_table.order_details td.product-name a:hover{text-decoration:underline!important;}
.woocommerce-order .product-quantity{font-weight:700;color:var(--body);}
.sgb-oi-thumb{flex:0 0 64px;width:64px;height:64px;border-radius:8px;background:var(--surface);overflow:hidden;display:flex;align-items:center;justify-content:center;}
.sgb-oi-thumb img{width:100%!important;height:100%!important;object-fit:contain;margin:0!important;}
.woocommerce-order table.shop_table.order_details tfoot tr:nth-last-child(2) th,.woocommerce-order table.shop_table.order_details tfoot tr:nth-last-child(2) td{font-size:19px;font-weight:900;}
/* billing address: a light card, no stray icons */
.woocommerce-order .woocommerce-customer-details address{padding:18px 20px;border:1px solid var(--line)!important;border-radius:12px;background:var(--surface);font-style:normal;font-size:15px;line-height:1.6;color:var(--charcoal);}
.woocommerce-order .woocommerce-customer-details address p{margin:6px 0 0;padding-left:0!important;}
.woocommerce-order .woocommerce-customer-details address p::before{display:none!important;content:none!important;}
@media (max-width:767px){
.woocommerce ul.woocommerce-order-overview{grid-template-columns:repeat(2,minmax(0,1fr));}
.woocommerce ul.woocommerce-order-overview li.woocommerce-order-overview__email{grid-column:1 / -1;}
.sgb-thanks{padding:32px 20px;}
.sgb-thanks__btn{flex:1 1 100%;}
.woocommerce-order table.shop_table.order_details th,.woocommerce-order table.shop_table.order_details td{padding:12px 14px!important;}
}
/* Order Received: "Print receipt" button (charcoal outline, like Call) and a clean printed receipt */
.elementor-kit-6 .sgb-thanks__btn--print{background:var(--white);color:var(--charcoal);border:2px solid var(--charcoal);font-family:var(--font-body);cursor:pointer;box-shadow:none;line-height:1.2;}
.elementor-kit-6 .sgb-thanks__btn--print:hover,.elementor-kit-6 .sgb-thanks__btn--print:focus{background:var(--charcoal);color:var(--white);}
.sgb-print-head{display:none;}
@media print{
  @page{margin:14mm;}
  body{background:#fff!important;}
  .elementor-location-header,.elementor-location-footer,[data-elementor-type="header"],[data-elementor-type="footer"],.elementor-menu-cart__container,.sgb-thanks__actions,#cmplz-cookiebanner-container,.cmplz-cookiebanner,.cmplz-manage-consent{display:none!important;}
  .sgb-print-head{display:flex!important;align-items:center;gap:16px;margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid #ddd;}
  .sgb-print-head img{width:110px!important;height:auto;}
  .sgb-print-head p{margin:0;font-size:12px;color:#2D2D2D;}
  .woocommerce-order{max-width:none;padding:0;}
  .sgb-thanks{padding:18px;margin-bottom:12px;}
  .sgb-thanks,.sgb-thanks__icon,.sgb-thanks-quote,.woocommerce ul.woocommerce-order-overview li,.woocommerce-order .woocommerce-customer-details address{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .woocommerce ul.woocommerce-order-overview{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-flow:dense;gap:8px!important;}
  .woocommerce ul.woocommerce-order-overview li.woocommerce-order-overview__email{grid-column:span 2!important;}
  .woocommerce ul.woocommerce-order-overview li{padding:10px 12px!important;font-size:10px!important;}
  .woocommerce ul.woocommerce-order-overview li strong{font-size:13px!important;}
  .woocommerce-order a::after,.woocommerce-order a[href]::after{content:none!important;display:none!important;}
  .woocommerce-order table.shop_table.order_details tfoot th{width:50%;}
  .woocommerce-order table.shop_table.order_details th,.woocommerce-order table.shop_table.order_details td{padding:9px 14px!important;font-size:13px!important;}
  .sgb-oi-thumb{flex-basis:44px;width:44px;height:44px;}
  .woocommerce-order h2{font-size:18px!important;margin:18px 0 8px;}
  .woocommerce-order table.shop_table.order_details,.woocommerce-order .woocommerce-customer-details{break-inside:avoid;}
  .woocommerce-order a{text-decoration:none!important;color:#2D2D2D!important;}
}

/* Complianz consent banner in the site's style (Brianna, Oct 20): site fonts, teal Accept with bold charcoal text, charcoal links */
#cmplz-cookiebanner-container .cmplz-cookiebanner{font-family:var(--font-body)!important;color:var(--charcoal)!important;border-radius:12px!important;box-shadow:0 12px 36px rgba(0,0,0,.18)!important;}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title{font-family:var(--font-display)!important;font-weight:800!important;font-size:17px!important;color:var(--charcoal)!important;}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message{font-size:14px!important;line-height:1.55!important;color:var(--charcoal)!important;}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn{min-height:44px!important;border-radius:6px!important;font-family:var(--font-body)!important;font-size:15px!important;font-weight:800!important;}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-accept{background-color:var(--sgb-teal)!important;border-color:var(--sgb-teal)!important;color:var(--charcoal)!important;}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover{background-color:var(--sgb-teal-dark)!important;border-color:var(--sgb-teal-dark)!important;}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn:not(.cmplz-accept){background-color:var(--white)!important;border:2px solid var(--charcoal)!important;color:var(--charcoal)!important;}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links a,#cmplz-cookiebanner-container .cmplz-cookiebanner a{color:var(--charcoal)!important;}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close{color:var(--charcoal)!important;}
.cmplz-manage-consent{font-family:var(--font-body)!important;background-color:var(--charcoal)!important;color:var(--white)!important;}
/* Step 11 (Oct 19): two separate steps on Cart/Checkout, ship notes, HydroBlok 75-mile notice, Job/PO on Order Received */
.sgb-cart-steps{margin:0 0 24px;padding:18px 20px;border:1px solid var(--line-strong);border-left:4px solid var(--charcoal);border-radius:10px;background:var(--surface);font-family:var(--font-body);color:var(--charcoal);}
.sgb-cart-steps__title{margin:0 0 8px;font-size:17px;font-weight:900;line-height:1.35;}
.sgb-cart-steps__list{margin:0 0 8px;padding-left:22px;font-size:15px;line-height:1.55;}
.sgb-cart-steps__list li{margin:0 0 4px;}
.sgb-cart-steps__note{margin:0;font-size:14px;line-height:1.5;}
.sgb-step1-note{margin:10px 0 0;font-family:var(--font-body);font-size:13.5px;line-height:1.5;color:var(--charcoal);}
.sgb-step-tag{display:none;margin-right:10px;padding:3px 10px;border-radius:var(--r-pill);background:var(--charcoal);color:var(--white);font-size:12px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;vertical-align:3px;}
body.sgb-has-both .sgb-step-tag{display:inline-block;}
.sgb-checkout-quote-note{max-width:1100px;margin:0 auto 20px;padding:14px 18px;border:1px solid var(--line-strong);border-left:4px solid var(--charcoal);border-radius:10px;background:var(--surface);font-family:var(--font-body);font-size:15px;line-height:1.5;color:var(--charcoal);}
.sgb-checkout-quote-note a{color:var(--charcoal);font-weight:800;text-decoration:underline;}
.sgb-ship-note{margin:12px 0 0;font-family:var(--font-body);color:var(--charcoal);}
.sgb-ship-note__freight{margin:0;font-size:14.5px;font-weight:800;line-height:1.5;}
.sgb-ship-note__far{display:flex;gap:10px;align-items:flex-start;margin:10px 0 0;padding:12px 14px;border:1px solid var(--line-strong);border-left:4px solid var(--charcoal);border-radius:10px;background:var(--surface);font-size:14px;font-weight:600;line-height:1.55;}
.sgb-ship-note__far span{font-weight:900;flex-shrink:0;}
.sgb-thanks__job{margin:-6px 0 12px;font-size:15px;line-height:1.5;color:var(--charcoal);}
.sgb-thanks__far{margin-top:-14px;font-size:15px;}
.sgb-thanks-quote--left a{color:var(--charcoal);font-weight:800;text-decoration:underline;white-space:nowrap;}
@media (max-width:767px){.woocommerce-order .woocommerce-customer-details .woocommerce-column + .woocommerce-column{margin-top:28px;}}

.sgb-dir:not(.has-map) .sgb-dir-show{display:none!important;}
/* Footer legal links (Privacy Policy, Terms of Use, Legal Disclaimer, Accessibility): 44px tap height on phones and tablets. */
@media (max-width:1024px){.elementor .elementor-element-6e80acae a{display:inline-flex;align-items:center;min-height:44px;}}
/* Footer on phones (Brianna, Oct 27: "its so long … I want this visually appealing on mobile"). Tablet and desktop untouched.
   - Shop and Company each with their links in two columns (Brianna: "footer still messed up": side by side, the 4 Shop
     links left a long empty column beside the 9 Company links).
   - Contact in two columns: Phone | Contact Us Form, Office Hours | address, then Multilingual support across both (the left
     column is as wide as the office hours, which stay on one line).
   - Legal links: Privacy Policy | Terms of Use | Legal Disclaimer | Accessibility on one line (text scales with the screen,
     about 11.5px on a 375px phone), "Do Not Sell or Share My Personal Information" under it. */
@media (max-width:640px){
[data-elementor-type="footer"] .e-con[data-id="3d26b202"]{display:grid;grid-template-rows:repeat(2,auto);grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);column-gap:20px;}
[data-elementor-type="footer"] .e-con[data-id="4fa82d34"]{display:grid;grid-template-rows:repeat(5,auto);grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);column-gap:20px;}
[data-elementor-type="footer"] .e-con[data-id="3258b526"]{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:18px;row-gap:12px;}
[data-elementor-type="footer"] [data-id="6cbe9384"]{white-space:nowrap;}
[data-elementor-type="footer"] .e-con[data-id="13b3a65a"] .footer-link{padding-top:0;}
[data-elementor-type="footer"] .e-con[data-id="13b3a65a"] .elementor-widget-icon{margin-top:2px;}
[data-elementor-type="footer"] .e-con[data-id="3231e442"]{order:1;}
[data-elementor-type="footer"] .e-con[data-id="1a6d2e7c"]{order:2;}
[data-elementor-type="footer"] .e-con[data-id="6594c3f4"]{order:3;}
[data-elementor-type="footer"] .e-con[data-id="13b3a65a"]{order:4;}
[data-elementor-type="footer"] .e-con[data-id="3a391a53"]{order:5;grid-column:1 / -1;}
}
@media (max-width:767px){
.elementor .e-con.elementor-element-6e80acae{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;column-gap:0;row-gap:0;}
.elementor .elementor-element-6e80acae > *{font-size:clamp(10.5px, 3.05vw, 12.5px);white-space:nowrap;}
.elementor .elementor-element-6e80acae > :not(:has(a)){padding:0 2px;opacity:.5;}
.elementor .elementor-element-6e80acae > :nth-last-child(2){display:none;}
.elementor .elementor-element-6e80acae > :last-child{flex-basis:100%;}
}
/* Complianz bottom bar (Oct 20): thin full-width bar, Accept + Manage options side by side. */
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom{border-radius:12px 12px 0 0!important;padding:14px 20px!important;gap:6px 24px!important;box-shadow:0 -6px 24px rgba(0,0,0,.14)!important;}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom .cmplz-message{margin:0!important;}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom .cmplz-buttons{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:10px!important;align-items:center;}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom .cmplz-buttons .cmplz-btn{flex:1 1 0;margin:0!important;}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.sgb-cmplz-manage{display:flex!important;align-items:center;justify-content:center;min-height:44px;padding:0 16px;text-decoration:none!important;background-color:var(--white)!important;border:2px solid var(--charcoal)!important;color:var(--charcoal)!important;white-space:nowrap;}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom .cmplz-links,#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom .cmplz-documents{margin:0!important;}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom .cmplz-links a{display:inline-flex;align-items:center;min-height:32px;}
@media (min-width:1024px){#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom{grid-template-columns:1fr minmax(320px,380px)!important;align-items:center;}}
@media (max-width:767px){#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom{padding:12px 16px!important;}#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom .cmplz-message{font-size:14px!important;line-height:1.45!important;}}
/* Architects page (Oct 20): matched to handoff/reference. Spec lists in the product cards use small teal dots (•) with a
   hanging indent; each line is a <span> in the card's list paragraph (Glass Block, HydroBlok, Glass Floors & Stairs).
   All three cards use teal, as the reference does, so the HydroBlok card's badge is teal too (rule 4: one colour per card). */
.elementor :is(.e-64631fd9-f906,.e-6cb0f8bf-3d9f,.e-38e222e8-3b5b) > span{display:block;position:relative;padding-left:14px;margin:0 0 8px;line-height:1.5;}
.elementor :is(.e-64631fd9-f906,.e-6cb0f8bf-3d9f,.e-38e222e8-3b5b) > span:last-child{margin-bottom:0;}
.elementor :is(.e-64631fd9-f906,.e-6cb0f8bf-3d9f,.e-38e222e8-3b5b) > span::before{content:"\2022";position:absolute;left:0;top:0;color:var(--sgb-teal);font-weight:900;line-height:inherit;}
.elementor[data-elementor-id="1328"] h2{letter-spacing:-.5px;}
/* Card title row and list spacing as in the reference: title and badge at normal line-height, 22px under the list. */
.elementor .elementor-element-f39bcc2 h3,.elementor .elementor-element-f39bcc2 h3 + span{line-height:normal;}
.elementor p:is(.e-64631fd9-f906,.e-6cb0f8bf-3d9f,.e-38e222e8-3b5b){margin-bottom:22px;}
.elementor .e-con:is(.elementor-element-395f28cd,.elementor-element-2d3b8e3d,.elementor-element-4baafcd6){border:1px solid #eee;border-radius:12px;overflow:hidden;}
.elementor :is(.elementor-element-395f28cd,.elementor-element-2d3b8e3d,.elementor-element-4baafcd6) img{display:block;width:100%;height:auto;aspect-ratio:5/3;object-fit:cover;}
.elementor .e-con:is(.elementor-element-34449d74,.elementor-element-292247eb,.elementor-element-e36234d){background:#34352e;border:1px solid #44453c;border-radius:12px;padding:28px;}
@media (min-width:1025px){.elementor .e-con.elementor-element-f39bcc2{gap:64px;}
.elementor[data-elementor-id="1328"] :is(.kicker-teal,.cta-ink-eyebrow,h2,h3,.elementor-element-25da4286 > span){line-height:normal;}
.elementor[data-elementor-id="1328"] .card-text-md{line-height:1.6;}}
/* Cart (Oct 23, Steve): "Continue Shopping" under Proceed to Checkout (custom code 47). A neutral charcoal outline button,
   so it doesn't compete with the green checkout button or mix product-line colours. */
.wp-block-woocommerce-cart .sgb-continue-shopping{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:48px;margin:12px 0 0;padding:10px 20px;border:2px solid var(--charcoal);border-radius:6px;background:transparent;color:var(--charcoal);font-family:var(--font-body);font-weight:800;font-size:15px;line-height:1.2;text-decoration:none;}
.wp-block-woocommerce-cart .sgb-continue-shopping:hover,.wp-block-woocommerce-cart .sgb-continue-shopping:focus-visible{background:var(--charcoal);color:var(--white);}

/* ==== Mobile audit, site-wide (Brianna, Oct 27: "a full mobile view audit and resizing and realigning"). Tablet and phone only. ==== */
/* Headings: lines balanced, so no heading ends on one short word. */
@media (max-width:1024px){.elementor :is(h1,h2,h3,h4){text-wrap:balance;}}
/* Rails with one or two cards fill the row on tablets (no empty strip on the right). */
@media (min-width:768px) and (max-width:1024px){.elementor .sgb-rail:has(> :nth-child(2):last-child),.elementor .sgb-rail:has(> :only-child){grid-auto-columns:calc((100% - 16px) / 2)!important;}}
/* Photo rails and quote-item rails (glass brick, pavers, colored glass pieces): about 2 per view on phones. */
@media (max-width:767px){.elementor .sgb-rail:has(> img),.elementor .sgb-rail:has(> .sgb-piece){grid-auto-columns:calc((100% - 12px) / 2.2)!important;}}
/* Gallery filter chips (Inspiration Gallery): an even grid so every filter shows (Brianna, Oct 28: "how are they supposed to see all the filtering if it runs off the page?"). 3 x 3 on phones; the gallery's own element CSS sets
   inline-flex and !important padding, so these rules are stronger. */
@media (max-width:767px){
.elementor .elementor-element.elementor-widget-gallery .elementor-gallery__titles-container{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:8px;}
.elementor .elementor-element.elementor-widget-gallery .elementor-gallery__titles-container > .elementor-gallery-title{justify-content:center;min-width:0;padding:6px 8px!important;text-align:center;white-space:normal;}
}
/* Pages WordPress or a plugin draws (My account, Opt-out preferences, Request a Quote, Cart, Checkout): the site's side padding (16px phone, 24px tablet) and room under the header. */
@media (max-width:1024px){
body:is(.page-id-13,.page-id-1574,.page-id-16,.page-id-11,.page-id-12) main#content.site-main{max-width:none;padding-inline:24px;}
body:is(.page-id-13,.page-id-1574) main#content.site-main{padding-top:32px;padding-bottom:56px;}
}
@media (max-width:640px){body:is(.page-id-13,.page-id-1574,.page-id-16,.page-id-11,.page-id-12) main#content.site-main{padding-inline:16px;}}
@media (max-width:1024px){
body.page-id-1574 .cmplz-document input[type="checkbox"],body.page-id-13 .woocommerce-form input[type="checkbox"]{width:20px;height:20px;}
body.page-id-1574 .cmplz-document label{display:inline-flex;align-items:center;gap:10px;min-height:44px;}
body.page-id-13 .woocommerce-form .button{min-height:44px;padding-inline:24px;background-color:var(--sgb-teal);border-color:var(--sgb-teal);color:var(--charcoal);font-weight:800;border-radius:var(--r-sm);}
}
/* Simple products: WooCommerce's clearfix ::before/::after became flex items in the quantity + Add to cart row and inset it 14px each side. */
@media (max-width:1024px){.woocommerce div.product form.cart:not(.variations_form)::before,.woocommerce div.product form.cart:not(.variations_form)::after{content:none;}}
/* ==== Mobile audit, page parts drawn by templates and shortcodes (Oct 27). Source files: handoff/tools/mobile-css/kit-*.css ==== */
/* HydroBlok category pages (archive templates 1099, 1305): the category pills swipe in one row */
/* ===== HydroBlok product category pages (Product Archive templates 1099 and 1305): category pills ===== */
/* even grid so every filter shows (Brianna, Oct 28: "how are they supposed to see all the filtering if it runs off the page?"). 3 x 3 on phones and tablets */
@media (max-width:1024px){
body .elementor [data-id="1dc82526"]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:8px;}
body .elementor [data-id="1dc82526"]>*{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:6px 8px;text-align:center;line-height:1.2;}
body .elementor [data-id="1dc82526"]>* a{padding-block:0;}
/* the whole pill is the tap area, not just the word */
body .elementor [data-id="1dc82526"]>* a::after{content:"";position:absolute;inset:0;}
}
@media (max-width:640px){
body .elementor [data-id="1dc82526"]>*{font-size:13px;}
}
/* HydroBlok single product (template 1084) */
/* ===== Single Product – HydroBlok (template 1084) ===== */
/* Tablets: photo and details side by side (the photo was 720px tall and pushed the title, price and Add to cart below the fold) */
@media (min-width:641px) and (max-width:1024px){
.elementor[data-elementor-id="1084"] [data-id="30868b49"]{grid-template-columns:minmax(0,4fr) minmax(0,5fr);column-gap:28px;align-items:start;}
}
/* "You may also need": the rail lines up with its heading (the container's default side padding came on top) */
@media (max-width:1024px){
.elementor[data-elementor-id="1084"] :is([data-id="5e67b29f"],[data-id="7e579f9e"]){padding-inline:0;}
}
/* Specifications: plain (not italic) values, 16px */
@media (max-width:1024px){
.elementor[data-elementor-id="1084"] [data-id="0dfa890"] :is(td,td p){font-style:normal;font-size:16px;}
}
/* Text sizes on tablets match phones: description, manufacturer note, FAQ questions and answers 16px */
@media (max-width:1024px){
.elementor[data-elementor-id="1084"] :is([data-id="12452328"],[data-id="5707f915"],[data-id="3fae9ad7"] .e-accordion-item-title-base span,[data-id="3fae9ad7"] .e-accordion-item-content-base p){font-size:16px;}
}
/* "You may also need" cards: readable title and Add button */
@media (max-width:1024px){
.elementor[data-elementor-id="1084"] [data-id="5e67b29f"] h3{font-size:16px;}
.elementor[data-elementor-id="1084"] [data-id="5e67b29f"] .btn-hb{font-size:14px;}
}
/* Cart */
/* ===== /cart/ (page 11, a WooCommerce page without Elementor page CSS: kit CSS) ===== */
/* Pricing callout under the cart: 16px on tablets too (it was 14px) */
@media (max-width:1024px){
.woocommerce-cart .sgb-callout-extra{font-size:16px;}
}
/* Dealer directory cards (Glass Block and HydroBlok Dealers) */
/* Dealer directory: "Show on map" + "Get Directions" become two equal buttons (phones + tablets) */
@media (max-width:1024px){
  .elementor .sgb-dir .sgb-dir-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:stretch}
  .elementor .sgb-dir .sgb-dir-actions .sgb-dir-show,
  .elementor .sgb-dir .sgb-dir-actions .sgb-dir-go{box-sizing:border-box;justify-content:center;text-align:center;min-height:46px;padding:10px 8px;font-size:14px;line-height:1.2}
  .elementor .sgb-dir .sgb-dir-actions .sgb-dir-go:only-child{grid-column:1 / -1}
}
/* very narrow phones: stack the two buttons full width */
@media (max-width:359px){
  .elementor .sgb-dir .sgb-dir-actions{grid-template-columns:1fr}
}
/* Tablet: put the Glass Block / HydroBlok tag above the name so the name gets the full card width, and reserve
   two lines for it so loc / phone / address rows line up between neighbouring cards */
@media (min-width:641px) and (max-width:1024px){
  .elementor .sgb-dir .sgb-dir-card-top{flex-direction:column-reverse;align-items:flex-start;gap:8px}
  .elementor .sgb-dir .sgb-dir-card-top .sgb-dir-tags{flex-direction:row;align-items:flex-start;margin:0}
  .elementor .sgb-dir .sgb-dir-card-top .sgb-dir-name{min-height:2.6em}
}
/* Glass product pages (templates 1109 colored glass block, 1110 solid glass brick, 1111 porcelain breeze block, 1540 PV pavers) */
/* ===== colored-glass-block (template 1109) ===== */
/* Colour chips: they wrap onto lines again, so every colour shows (Oct 28) */
@media (max-width:640px){
/* Thumbnail: full width like the other product pages (was a 220px square floating left) */
.elementor[data-elementor-id="1109"] [data-id="45a7230d"]{max-width:none;}
}
/* Tablet: thumbnail and text start at the top of the row (were vertically centred) */
@media (max-width:1024px){
.elementor[data-elementor-id="1109"] [data-id="528169b5"]{align-items:start;}
}

/* ===== solid-glass-brick-square-blue-vetropieno (template 1110) ===== */
/* Tablet: gallery left, text right instead of a 720px gallery pushing the title down */
@media (min-width:641px) and (max-width:1024px){
.elementor[data-elementor-id="1110"] [data-id="732c7838"]{grid-template-columns:minmax(0,340px) minmax(0,1fr);column-gap:28px;align-items:start;}
}

/* ===== porcelain-breeze-block-saturn (template 1111) ===== */
/* Tablet: image left, text right */
@media (min-width:641px) and (max-width:1024px){
.elementor[data-elementor-id="1111"] [data-id="5b4afc77"]{grid-template-columns:minmax(0,340px) minmax(0,1fr);column-gap:28px;align-items:start;}
}
/* Attribute table: label and value side by side (WooCommerce stacks them at <=768px), no 7px cell indent */
@media (max-width:768px){
.elementor[data-elementor-id="1111"] [data-id="8a98968"] table.shop_attributes tr{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:baseline;border-bottom:1px dotted rgba(0,0,0,.1);}
.elementor[data-elementor-id="1111"] [data-id="8a98968"] table.shop_attributes :is(th,td){padding:0;background:none;border-bottom:0;}
.elementor[data-elementor-id="1111"] [data-id="8a98968"] table.shop_attributes th{padding:8px 12px 8px 0;}
.elementor[data-elementor-id="1111"] [data-id="8a98968"] table.shop_attributes td p{padding:8px 0;}
}
/* Related rail: the whole title line is the link, so the tap area is 44px high and card-wide */
@media (max-width:1024px){
.elementor[data-elementor-id="1111"] [data-id="4f2398c"] > * > p{padding:0;}
.elementor[data-elementor-id="1111"] [data-id="4f2398c"] > * > p > a{display:block;padding-inline:10px;}
}

/* ===== photovoltaic-glass-pavers (template 1540) ===== */
/* Tablet: thumbnail aligned to the top of the text column (was mid-column) */
@media (max-width:1024px){
.elementor[data-elementor-id="1540"] [data-id="42963b7"]{align-items:start;}
}
/* Size filter row repeats the "Sizes available" chips (and wraps 2 + 1): hide its content on phones/tablets and keep the divider line.
   !important is needed because the plugin's JS sets inline display on the chips (same trick as the plugin's own .is-hidden rule). */
@media (max-width:1024px){
.elementor[data-elementor-id="1540"] .sgb-pieces__tabs{padding-top:0;}
.elementor[data-elementor-id="1540"] .sgb-pieces__tabs > *{display:none!important;}
}
/* Phones: same fix as colored-glass-block, the 220px thumbnail goes full width */
@media (max-width:640px){
.elementor[data-elementor-id="1540"] [data-id="88e2cf1"]{max-width:none;}
}
/* HydroBlok in green, never teal (Brianna, Oct 27; all widths): the Architects HydroBlok card's region chip and list dots, and
   the "HydroBlok Shower" labels on Project Showcase cards (class is-hb, added by mu-plugins/sgb-site.php). */
.elementor .e-6cb0f8bf-3d9f > span::before{color:var(--hb-green);}
.elementor [data-id="2d3b8e3d"] [data-id="275429ad"]{color:var(--hb-green-dark);background-color:var(--hb-green-tint);border-color:var(--hb-green-line);}
.elementor .eyebrow.is-hb{color:var(--hb-green-dark);}
.elementor .info-card:has(.eyebrow.is-hb) img{background-color:var(--hb-green-tint);}
/* Footer link lists on phones and tablets (Brianna, Oct 27: "little blue dots next to the things under shop and green ones under the
   Company ones … make sure people understand the menu"): a teal dot before each Shop link, a green dot before each Company link. */
@media (max-width:1024px){
[data-elementor-type="footer"] .e-con:is([data-id="3d26b202"],[data-id="4fa82d34"]) > *{display:flex;align-items:center;gap:10px;}
[data-elementor-type="footer"] .e-con:is([data-id="3d26b202"],[data-id="4fa82d34"]) > *::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background-color:var(--sgb-teal);}
[data-elementor-type="footer"] .e-con[data-id="4fa82d34"] > *::before{background-color:var(--hb-green);}
}
/* Light outline buttons (class btn-outline-light, on dark photos) keep white text on hover and focus (Brianna, Oct 28: "when you
   hover over these buttons … you cant see the text"): the kit's link hover had turned it charcoal. All widths. */
.elementor .btn-outline-light:is(:hover,:focus-visible){color:var(--white);}/* End custom CSS */