/* Scoped designer styles leave the site's real navigation and footer untouched. */
body.gqsf-builder-page .site-container{max-width:none}
#gqsf-app{width:100%;max-width:none;min-width:0;overflow-x:clip}
#gqsf-app main{margin:0;padding:0;max-width:none}
#gqsf-app button{box-shadow:none;text-transform:none;letter-spacing:normal}
#gqsf-app label{font-weight:inherit}
#gqsf-app dialog{padding:0;color:var(--ink);background:#fff;inset:0;margin:auto}
#gqsf-app .site-controls{max-width:1368px;margin:16px auto 0;padding:0;border:1px solid #d9e4eb;border-radius:9px;background:#f0f5fa;color:#12314b}
#gqsf-app .site-controls p{color:#526c82}
#gqsf-app .site-admin-fold>summary{padding:13px 18px;cursor:pointer;font-size:13px;font-weight:700;list-style:revert}
#gqsf-app .site-admin-fold[open]{padding:0 18px 14px}
#gqsf-app .site-admin-fold[open]>summary{padding-inline:0;margin-bottom:7px;border-bottom:1px solid #d9e4eb}
#gqsf-app .site-controls button,#gqsf-app .site-controls a{border:1px solid #bfd1e3;background:white}
#gqsf-app .site-controls input{width:250px}
#gqsf-app .flag-promo{margin:0 auto 28px}
#gqsf-app .flag-promo-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}
#gqsf-app .flag-promo h2{font-size:20px;letter-spacing:-.3px}
#gqsf-app .flag-promo p{font-size:12px;color:#586c7e;margin:6px 0 0}
#gqsf-app .flag-promo-heading>a{font-size:13px;color:#0869ed;font-weight:700;white-space:nowrap}
#gqsf-app .flag-promo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
#gqsf-app .flag-promo-photo{display:block;border-radius:12px;overflow:hidden;background:#edf2f6;border:1px solid #dfe6ea}
#gqsf-app .flag-promo-photo img{display:block;width:100%;height:220px;object-fit:cover;margin:0;transition:transform .2s}
#gqsf-app .flag-promo-photo:hover img{transform:scale(1.025)}
#gqsf-app .flag-promo-caption{font-size:11px!important;margin-top:10px!important}
#gqsf-app .hero{padding-top:22px}
@media(max-width:700px){
 #gqsf-app .site-controls{margin:12px 14px 0}
 #gqsf-app .site-admin-fold>summary{font-size:12px;padding:12px}
 #gqsf-app .site-main-controls{display:grid;grid-template-columns:1fr 1fr}
 #gqsf-app .site-main-controls label{grid-column:1/-1}
 #gqsf-app .site-controls input{width:100%}
 #gqsf-app .flag-promo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #gqsf-app .flag-promo-photo img{height:170px}
 #gqsf-app .flag-promo-heading{display:block}
 #gqsf-app .flag-promo-heading>a{display:inline-block;margin-top:10px}
 #gqsf-app .flag-promo h2{font-size:18px}
 #gqsf-app .hero h1{font-size:32px}
}
@media(prefers-reduced-motion:reduce){#gqsf-app .flag-promo-photo img{transition:none}}

/* Keep the theme's large button padding out of the compact quantity stepper. */
#gqsf-app .quantity-line{gap:12px;align-items:center}
#gqsf-app .quantity-control{display:grid;grid-template-columns:44px 58px 44px;flex:0 0 auto;width:148px;height:46px;overflow:visible;border:1px solid #c8d8e7;border-radius:8px;background:#fff}
#gqsf-app .quantity-control button{display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:0;line-height:1;font-size:22px;font-weight:500;color:#0869ed;background:#f1f6fc;box-shadow:none;touch-action:manipulation}
#gqsf-app .quantity-control button:first-child{border-radius:7px 0 0 7px}
#gqsf-app .quantity-control button:last-child{border-radius:0 7px 7px 0}
#gqsf-app .quantity-control button:hover{background:#e2eeff}
#gqsf-app .quantity-control input{display:block;box-sizing:border-box;width:58px;min-width:0;height:44px;margin:0;padding:0 4px;border:0;border-inline:1px solid #dce6ef;border-radius:0;text-align:center;line-height:normal;font-size:16px;color:#12314b;background:white;box-shadow:none;appearance:textfield}
#gqsf-app .quantity-control button:focus-visible,#gqsf-app .quantity-control input:focus-visible{outline:2px solid #0869ed;outline-offset:2px;position:relative;z-index:1}

#gqsf-app .customer-controls{padding:16px 20px;margin:0 auto 18px}
#gqsf-app .zoom-controls button{display:flex;align-items:center;justify-content:center;padding:0;width:34px;min-width:34px;height:34px;min-height:34px;line-height:1}
#gqsf-app .zoom-controls #zoom-fit{width:42px}
#gqsf-app #review-save{background:#fff;color:#31536c;border:1px solid #c8d8e7;box-shadow:none;font-weight:500}
#gqsf-app #review-save:hover{background:#f1f6fc;border-color:#98b5ce}
#gqsf-app #customer-cart{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;margin-top:12px;background:#0869ed;color:#fff;border:2px solid #0869ed;font-size:15px;font-weight:800;box-shadow:0 4px 12px #0869ed25}
#gqsf-app #customer-cart::after{content:'\2192';font-size:20px;line-height:1}
#gqsf-app #customer-cart:hover{background:#0056cc;border-color:#0056cc}
#gqsf-app #customer-cart:focus-visible{outline:3px solid #e9b949;outline-offset:3px}
#gqsf-app #customer-cart:disabled{opacity:.65;cursor:wait}
#gqsf-app #customer-cart-status{font-size:13px;line-height:1.5;margin:10px 0;color:#12314b}
@media(max-width:700px){
 #gqsf-app .canvas-panel{position:relative;top:auto}
 #gqsf-app .panel-scroll{max-height:none;min-height:0;overflow:visible;flex:none}
 #gqsf-app .panel-scroll #panel-setup:not([hidden]){display:block}
 #gqsf-app .customer-controls{margin:0 14px 18px;padding:16px}
 #gqsf-app .customer-controls .site-main-controls{grid-template-columns:1fr 1fr}
 #gqsf-app .customer-controls .site-main-controls label{grid-column:1/-1}
}
