/* Shared page components; selectors do not affect the quote form. */
/* Separate baskets share the existing store; allow one compact row on phones. */
.gkq-header-carts{display:flex;gap:8px;flex:0 0 auto}
.gkq-header-cart{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;min-height:44px;box-sizing:border-box;border:1px solid #168b85;border-radius:9px;color:#102a36;font-size:13px;font-weight:750;text-decoration:none;white-space:nowrap}
.gkq-header-cart:hover{background:#eff8f7;color:#102a36}
.gkq-header-cart strong{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 4px;box-sizing:border-box;border-radius:999px;background:#dcebea;font-size:12px}
.gkq-header-cart.has-items strong{background:#ef6b2e;color:#fff}
.gkq-header-cart:focus-visible{outline:3px solid #075dba;outline-offset:3px}
@media(max-width:1100px){.gkq-header-carts{flex-direction:column;gap:4px}.gkq-header-cart{min-height:36px;padding:5px 8px}}
@media(max-width:781px){.gkq-header-row{flex-wrap:wrap!important;row-gap:12px!important}.gkq-header-carts{flex-direction:row;flex-basis:100%;width:100%;gap:8px}.gkq-header-cart{flex:1;min-width:0;min-height:44px;font-size:12px;padding:6px}.gkq-header-cart strong{min-width:22px}}
.gkq-accessories,.gkq-accessory-detail,.gkq-boiler-option-links{box-sizing:border-box;width:100%;max-width:1120px;margin:40px auto;padding:0 24px;color:#102a36;overflow-wrap:break-word}
.gkq-accessories *,.gkq-accessory-detail *{box-sizing:border-box}
.gkq-accessories,.entry-content.wp-block-post-content>.wp-block-group.gkq-accessories{max-width:1040px!important;margin-inline:auto!important}
.gkq-accessories>.gkq-accessory-grid{max-width:none!important}
.gkq-accessory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}
.gkq-accessory-grid>.gkq-accessory-card{display:flex;flex-direction:column;min-width:0;margin:0!important;padding:22px;border:1px solid #ccdde2;border-radius:12px;background:#fff}
.gkq-accessory-card figure{margin:0 0 18px!important;width:100%}
.gkq-accessory-card img{display:block;width:100%;height:180px;object-fit:contain;margin:0}
.gkq-accessory-card h2{font-size:22px;line-height:1.3;margin:0 0 12px}
.gkq-accessory-card p{font-size:16px;line-height:1.6;margin:0 0 18px}
.gkq-accessory-card .wp-block-buttons{margin-top:auto!important;padding-top:6px}
.gkq-accessory-card .wp-block-button__link{font-size:16px;min-height:44px}
.gkq-accessory-detail figure{max-width:420px;margin:24px 0}
.gkq-accessory-detail img{width:100%;height:300px;object-fit:contain}
.gk-option-placeholder-page{width:100%;max-width:1120px!important;margin-inline:auto!important;padding-inline:24px;box-sizing:border-box}
.gk-option-placeholder-page .gkq-component-photo{width:100%;height:340px;max-width:440px;object-fit:contain;background:white}
.gkq-home-services{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1120px!important;margin-inline:auto!important}
.gkq-home-service{border:1px solid #ccdde2;border-radius:12px;padding:26px;display:flex;flex-direction:column;margin:0!important;min-width:0}
.gkq-home-service h3{margin-top:0}.gkq-home-service p:last-child{margin-top:auto;padding-top:12px}
.gkq-home-service a{display:inline-block;padding:8px 0;min-height:44px;box-sizing:border-box}
.gkq-hybrid-package{max-width:1120px!important;margin:24px auto!important;padding:16px 22px;border-left:4px solid #168b85;background:#eff8f7;box-sizing:border-box}
.gkq-hybrid-package p{margin:0!important;max-width:none!important;line-height:1.65;font-size:16px}
.gkq-spoed-ribbon{width:100%;max-width:none!important;margin:0!important;padding:14px 22px;border-left:4px solid #168b85;background:#eff8f7;box-sizing:border-box}
.gkq-spoed-ribbon p{margin:0!important;max-width:none!important;line-height:1.65;font-size:16px;font-weight:400}
.gk-choice-panel>*{max-width:none!important;margin-left:0!important;margin-right:0!important;text-align:left}
.gk-choice-panel .gk-choice-list{grid-template-columns:1fr;text-align:left}
@media(max-width:700px){.gkq-home-services{grid-template-columns:1fr}.gkq-home-service{padding:22px}.gk-option-placeholder-page{padding-inline:18px}.gk-option-placeholder-page .gkq-component-photo{height:260px}.gkq-hybrid-package{margin:20px 16px!important}}
.gkq-boiler-option-links{padding:28px;background:#eff8f7;border-radius:12px}
@media(max-width:900px){.gkq-accessory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.gkq-accessories,.gkq-accessory-detail,.gkq-boiler-option-links{padding:0 16px;margin:28px auto}.gkq-accessory-grid{grid-template-columns:1fr;gap:18px}.gkq-accessory-card img{height:160px}.gkq-boiler-option-links{padding:22px 18px}}
.gk-details>summary,.wp-block-details>summary{position:relative;display:block;list-style:none;min-height:44px;box-sizing:border-box;padding:8px 44px 8px 0;cursor:pointer}
.gk-details>summary::-webkit-details-marker,.wp-block-details>summary::-webkit-details-marker{display:none}
.gk-details>summary::marker,.wp-block-details>summary::marker{content:""}
.gk-details>summary::after,.wp-block-details>summary::after{content:"";position:absolute;right:10px;top:50%;transform:translateY(-50%);width:22px;height:22px;background:linear-gradient(#ef6a2c,#ef6a2c) center/20px 3px no-repeat,linear-gradient(#ef6a2c,#ef6a2c) center/3px 20px no-repeat}
.gk-details[open]>summary::after,.wp-block-details[open]>summary::after{background-size:20px 3px,0 0}
.gk-details>summary:focus-visible,.wp-block-details>summary:focus-visible{outline:3px solid #075dba;outline-offset:3px}

/* One gallery layout shared by single-photo and multi-photo thermostat pages. */
.gk-thermostat-product-hero:has(.gkq-detail-media){align-items:start}
.gkq-detail-media,.gkq-detail-media *{box-sizing:border-box;min-width:0}
.gkq-detail-media{width:100%;display:grid;gap:16px;align-self:start}
.gkq-detail-main{width:100%;background:white;padding:16px;border-radius:12px}
.gkq-detail-main img{display:block;width:100%;height:auto;aspect-ratio:1;max-width:100%;object-fit:contain;object-position:center;margin:0}
.gkq-detail-thumbs{display:flex;flex-wrap:wrap;gap:10px}
.gkq-detail-thumbs button{width:72px;height:72px;padding:5px;border:1px solid #ccdde2;border-radius:8px;background:white;cursor:pointer}
.gkq-detail-thumbs button[aria-pressed=true]{border:2px solid #087f78;padding:4px}
.gkq-detail-thumbs img{display:block;width:100%;height:100%;object-fit:contain;margin:0}
.gkq-detail-thumbs button:focus-visible{outline:3px solid #075dba;outline-offset:3px}
.gkq-gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:8px}
.gkq-gallery-controls button{min-height:44px;padding:10px 14px;border:1px solid #168b85;border-radius:8px;background:#fff;color:#102a36;font:inherit;font-size:15px;font-weight:650;cursor:pointer}
.gkq-gallery-controls button:hover{background:#eff8f7}
.gkq-gallery-controls button:focus-visible{outline:3px solid #075dba;outline-offset:3px}
.gkq-gallery-controls [data-gkq-position]{font-size:14px;white-space:nowrap;color:#536b76}
@media(max-width:781px){.gkq-detail-media{max-width:480px;margin-inline:auto}.gkq-detail-main{padding:12px}.gkq-detail-thumbs button{width:64px;height:64px}}
/* Shared field feedback also applies to the existing maintenance/request markup. */
.gkq-field-error{display:block;color:#a83220;font-size:.95rem;line-height:1.5;margin-top:.5rem}
input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:#a83220}
.gkq-contact{max-width:1120px;margin:3rem auto;padding:0 1.25rem}
.gkq .gkq-contact-uploads{border:0;padding:0;margin:2rem 0;min-width:0}
.gkq-contact-uploads legend{font-size:1.2rem;font-weight:700;margin-bottom:1rem}
.gkq-related-links{display:flex;flex-wrap:wrap;gap:.65rem 1.25rem;margin-block:1rem}
.gkq-related-links a{display:inline-block;min-height:32px;padding-block:.25rem}
.gkq-thermostat-variants{margin-block:2.5rem}
.gkq-variant-info{padding-block:1.5rem;border-top:1px solid #dbe7eb;scroll-margin-top:180px}
.gkq-variant-info img{display:block;width:260px;max-width:100%;height:auto;object-fit:contain}
@media(max-width:781px){.gkq-variant-info{scroll-margin-top:30px}}

/* Shared kraanset photo popup. Native dialog supplies focus trapping and Escape. */
html.gkq-photo-open{overflow:hidden}
a[data-gkq-zoom]{cursor:zoom-in}
.gkq-photo-dialog{box-sizing:border-box;width:min(960px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:58px 18px 16px;border:0;border-radius:12px;background:#fff;color:#102a36;box-shadow:0 12px 60px #0005;overflow:auto}
.gkq-photo-dialog::backdrop{background:rgba(9,27,36,.78)}
.gkq-photo-dialog figure{margin:0}
.gkq-photo-dialog figure img{display:block;width:100%;height:min(72vh,760px);height:min(72dvh,760px);object-fit:contain;background:#fff}
.gkq-photo-dialog figcaption{margin-top:12px;font-size:15px;line-height:1.4;text-align:center}
.gkq-photo-dialog .gkq-photo-close{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #c5d8dd;border-radius:50%;background:#fff;color:#102a36;font:32px/1 sans-serif;cursor:pointer}
.gkq-photo-dialog .gkq-photo-close:hover{background:#eaf5f4}
.gkq-photo-dialog .gkq-photo-close:focus-visible{outline:3px solid #087b80;outline-offset:2px}
.gkq-photo-dialog .gkq-photo-error{font-size:14px;line-height:1.5}
@media(max-width:600px){.gkq-photo-dialog{padding:56px 10px 12px}.gkq-photo-dialog figure img{height:64vh;height:64dvh}.gkq-photo-dialog figcaption{font-size:14px}}
