:root{--sf-primary:#0b2d5c;--sf-secondary:#79bde8;--sf-accent:#f0b323;--sf-ink:#172033;--sf-muted:#667085;--sf-border:#dce3eb;--sf-bg:#f5f7fa;--sf-white:#fff;--sf-danger:#b42318;--sf-success:#067647}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sf-bg);color:var(--sf-ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit}.sf-staging-banner{padding:8px 16px;background:#fff4d6;color:#633b00;text-align:center;font-size:13px;font-weight:700;border-bottom:1px solid #efcf85}.sf-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px clamp(18px,4vw,56px);background:#fff;border-bottom:1px solid var(--sf-border);box-shadow:0 3px 12px rgba(15,23,42,.04)}.sf-brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:20px;font-weight:900;color:var(--sf-primary)}.sf-brand img{width:48px;height:48px;object-fit:contain}.sf-nav{display:flex;align-items:center;gap:20px}.sf-nav a{text-decoration:none;font-weight:700;color:#344054}.sf-cart-link span{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:5px;padding:0 6px;border-radius:999px;background:var(--sf-primary);color:#fff;font-size:12px}.sf-main{width:min(1440px,100%);margin:0 auto;padding:0 clamp(16px,3vw,42px) 56px}.sf-breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:18px 0;color:var(--sf-muted);font-size:14px}.sf-breadcrumb a{text-decoration:none;color:var(--sf-primary);font-weight:700}.sf-directory-hero,.sf-hero{margin-top:24px;border-radius:24px;padding:clamp(34px,6vw,76px);background:linear-gradient(135deg,var(--sf-primary),#173f72);color:#fff;overflow:hidden}.sf-directory-hero{background:radial-gradient(circle at 82% 10%,rgba(121,189,232,.42),transparent 35%),linear-gradient(135deg,var(--sf-primary),#173f72)}.sf-directory-hero h1,.sf-hero h1{margin:8px 0 10px;font-size:clamp(36px,5vw,64px);line-height:1.02}.sf-directory-hero p,.sf-hero p{max-width:760px;margin:0;font-size:clamp(16px,2vw,20px);color:rgba(255,255,255,.88)}.sf-hero{display:flex;justify-content:space-between;align-items:center;gap:30px;background-size:cover;background-position:center}.sf-hero-logo{flex:0 0 min(220px,28vw);display:grid;place-items:center}.sf-hero-logo img{max-width:100%;max-height:210px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.28))}.sf-eyebrow{display:block;color:var(--sf-accent);font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.sf-section{padding:42px 0 0}.sf-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}.sf-section-heading h1,.sf-section-heading h2{margin:4px 0 0;color:var(--sf-primary);font-size:clamp(26px,3vw,38px)}.sf-count{color:var(--sf-muted);font-size:14px}.sf-school-grid,.sf-card-grid,.sf-product-grid{display:grid;gap:18px}.sf-school-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.sf-card-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.sf-product-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.sf-school-card,.sf-category-card,.sf-product-card{background:#fff;border:1px solid var(--sf-border);border-radius:18px;overflow:hidden;box-shadow:0 6px 18px rgba(15,23,42,.04);transition:transform .16s ease,box-shadow .16s ease}.sf-school-card:hover,.sf-category-card:hover,.sf-product-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(15,23,42,.09)}.sf-school-card{display:flex;align-items:center;gap:14px;padding:18px;text-decoration:none}.sf-school-card img,.sf-school-initial{width:68px;height:68px;object-fit:contain;border-radius:14px;background:#f3f6fa}.sf-school-initial,.sf-category-initial{display:grid;place-items:center;background:linear-gradient(135deg,var(--sf-primary),var(--sf-secondary));color:#fff;font-size:28px;font-weight:900}.sf-school-card div:last-child{display:flex;min-width:0;flex-direction:column}.sf-school-card strong{color:var(--sf-primary);font-size:17px}.sf-school-card span,.sf-school-card small{color:var(--sf-muted)}.sf-category-card{display:flex;min-height:190px;flex-direction:column;align-items:center;justify-content:center;padding:18px;text-align:center;text-decoration:none}.sf-category-card img,.sf-category-initial{width:100px;height:100px;object-fit:contain;border-radius:20px;margin-bottom:12px}.sf-category-card strong{color:var(--sf-primary);font-size:18px}.sf-category-card span{color:var(--sf-muted);font-size:14px}.sf-product-card{display:flex;flex-direction:column}.sf-product-image{display:grid;place-items:center;aspect-ratio:1/1;background:#eef2f6;text-decoration:none;overflow:hidden}.sf-product-image img{width:100%;height:100%;object-fit:cover}.sf-image-placeholder{display:grid;place-items:center;width:100%;height:100%;min-height:180px;color:#98a2b3;background:linear-gradient(135deg,#eef2f6,#f8fafc);font-weight:800}.sf-image-placeholder.large{min-height:440px;border-radius:20px}.sf-product-body{display:flex;flex:1;flex-direction:column;padding:18px}.sf-product-body h3{margin:0 0 10px;font-size:18px;line-height:1.3}.sf-product-body h3 a{text-decoration:none;color:var(--sf-primary)}.sf-price,.sf-product-main-price{margin:0;color:var(--sf-primary);font-weight:900}.sf-product-main-price{font-size:28px;margin:8px 0 18px}.sf-meta{margin:5px 0 16px;color:var(--sf-muted);font-size:13px}.sf-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--sf-primary);border-radius:10px;padding:10px 15px;background:#fff;color:var(--sf-primary);font-weight:800;text-decoration:none;cursor:pointer}.sf-button.primary{background:var(--sf-primary);color:#fff}.sf-button.secondary{background:#fff}.sf-button.full{width:100%}.sf-button:disabled{cursor:not-allowed;opacity:.55}.sf-product-body .sf-button{margin-top:auto}.sf-empty{padding:34px;border:1px dashed #c9d2dc;border-radius:18px;background:#fff;text-align:center}.sf-empty h1,.sf-empty h2,.sf-empty h3{color:var(--sf-primary)}.sf-product-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:42px;align-items:start;padding:26px 0}.sf-product-detail-image{position:sticky;top:110px;border-radius:20px;overflow:hidden;background:#eef2f6}.sf-product-detail-image img{display:block;width:100%;max-height:720px;object-fit:contain;background:#fff}.sf-product-detail-copy{padding:20px 0}.sf-product-detail-copy h1{margin:6px 0 0;color:var(--sf-primary);font-size:clamp(32px,4vw,52px);line-height:1.08}.sf-description{color:#475467;margin:0 0 24px}.sf-add-form{display:grid;gap:14px;padding:20px;border:1px solid var(--sf-border);border-radius:16px;background:#fff}.sf-add-form label,.sf-cart-actions label{display:grid;gap:6px;font-weight:800;color:#344054}.sf-add-form select,.sf-add-form input,.sf-cart-actions input{width:100%;min-height:44px;border:1px solid #cfd7e1;border-radius:9px;padding:9px 11px;background:#fff;font:inherit}.sf-notice{padding:12px 14px;border-radius:10px;background:#fff4d6;color:#633b00;font-size:14px}.sf-cart-page{padding:32px 0}.sf-alert{margin:0 0 18px;padding:12px 15px;border-radius:10px;font-weight:700}.sf-alert.success{background:#ecfdf3;color:var(--sf-success);border:1px solid #abefc6}.sf-alert.error{background:#fef3f2;color:var(--sf-danger);border:1px solid #fecdca}.sf-cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.sf-cart-items{display:grid;gap:14px}.sf-cart-item{display:grid;grid-template-columns:110px minmax(0,1fr) 170px;gap:18px;align-items:center;padding:16px;border:1px solid var(--sf-border);border-radius:16px;background:#fff}.sf-cart-item.unavailable{border-color:#fda29b}.sf-cart-thumb{display:grid;place-items:center;width:110px;height:110px;border-radius:12px;overflow:hidden;background:#eef2f6;color:#98a2b3}.sf-cart-thumb img{width:100%;height:100%;object-fit:cover}.sf-cart-copy h2{margin:0 0 5px;color:var(--sf-primary);font-size:18px}.sf-cart-copy p{margin:0 0 7px;color:var(--sf-muted)}.sf-cart-actions{display:grid;gap:7px}.sf-cart-actions form:first-child{display:grid;gap:7px}.sf-text-button{border:0;background:transparent;color:var(--sf-danger);font-weight:800;cursor:pointer}.sf-cart-summary{position:sticky;top:112px;padding:22px;border:1px solid var(--sf-border);border-radius:18px;background:#fff}.sf-cart-summary h2{margin:5px 0 18px;color:var(--sf-primary)}.sf-summary-row,.sf-summary-total{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #eef2f6}.sf-summary-row.muted{color:#98a2b3}.sf-summary-total{margin:4px 0 16px;border-bottom:0;font-size:18px}.sf-small{color:var(--sf-muted);font-size:12px}.sf-danger-text{color:var(--sf-danger)}.sf-footer{padding:28px 18px;border-top:1px solid var(--sf-border);background:#fff;text-align:center;color:var(--sf-muted);font-size:13px}.sf-footer p{margin:3px 0}@media(max-width:900px){.sf-product-detail,.sf-cart-layout{grid-template-columns:1fr}.sf-product-detail-image,.sf-cart-summary{position:static}.sf-cart-item{grid-template-columns:90px minmax(0,1fr)}.sf-cart-thumb{width:90px;height:90px}.sf-cart-actions{grid-column:1/-1;grid-template-columns:1fr auto;align-items:end}.sf-cart-actions form:first-child{grid-template-columns:minmax(100px,160px) auto;align-items:end}.sf-cart-actions form:first-child label{grid-column:1}.sf-cart-actions form:first-child button{grid-column:2}}@media(max-width:640px){.sf-header{align-items:flex-start;flex-direction:column;gap:10px}.sf-nav{width:100%;justify-content:space-between}.sf-main{padding-inline:14px}.sf-directory-hero,.sf-hero{border-radius:16px;padding:28px 22px}.sf-hero{align-items:flex-start;flex-direction:column}.sf-hero-logo{display:none}.sf-section-heading{align-items:flex-start;flex-direction:column}.sf-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sf-product-body{padding:12px}.sf-product-body h3{font-size:15px}.sf-product-body .sf-button{font-size:13px;padding:8px}.sf-cart-item{grid-template-columns:72px minmax(0,1fr);gap:12px}.sf-cart-thumb{width:72px;height:72px}.sf-cart-actions{display:block}.sf-cart-actions form:first-child{grid-template-columns:1fr}.sf-school-grid{grid-template-columns:1fr}.sf-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sf-category-card{min-height:160px}.sf-category-card img,.sf-category-initial{width:76px;height:76px}.sf-image-placeholder.large{min-height:300px}}

/* Build 0032 Step 1 Hotfix H1: readable light-background eyebrow labels */
.sf-section .sf-eyebrow,.sf-product-detail-copy>.sf-eyebrow{color:var(--sf-primary)}

/* Build 0032 Step 2 — live Printful shipping */
.sf-shipping-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.sf-shipping-panel{padding:24px;border:1px solid var(--sf-border);border-radius:18px;background:#fff}.sf-shipping-panel h2{margin:5px 0 6px;color:var(--sf-primary);font-size:28px}.sf-muted-copy{margin:0 0 20px;color:var(--sf-muted)}.sf-shipping-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sf-shipping-form label{display:grid;gap:6px;font-weight:800;color:#344054}.sf-shipping-form label.full,.sf-shipping-form .full{grid-column:1/-1}.sf-shipping-form label span small{font-weight:400;color:var(--sf-muted)}.sf-shipping-form input{width:100%;min-height:44px;border:1px solid #cfd7e1;border-radius:9px;padding:9px 11px;background:#fff;font:inherit}.sf-rate-list{display:grid;gap:12px}.sf-rate-card{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 20px;border:1px solid var(--sf-border);border-radius:16px;background:#fff}.sf-rate-card.selected{border-color:var(--sf-primary);box-shadow:0 0 0 2px rgba(11,45,92,.08)}.sf-rate-card>div:first-child{display:grid;gap:4px}.sf-rate-card>div:first-child strong{color:var(--sf-primary);font-size:17px}.sf-rate-card span,.sf-rate-card small{color:var(--sf-muted)}.sf-rate-price{display:flex;align-items:center;gap:18px;white-space:nowrap}.sf-rate-price>strong{color:var(--sf-primary);font-size:20px}.sf-checkout-disabled{margin-top:9px}.sf-cart-summary .sf-button+.sf-button{margin-top:9px}@media(max-width:900px){.sf-shipping-layout{grid-template-columns:1fr}.sf-rate-card{align-items:flex-start;flex-direction:column}.sf-rate-price{width:100%;justify-content:space-between}}@media(max-width:640px){.sf-shipping-form{grid-template-columns:1fr}.sf-shipping-form label.full,.sf-shipping-form .full{grid-column:1}.sf-rate-price{align-items:stretch;flex-direction:column;gap:9px}.sf-rate-price form,.sf-rate-price .sf-button{width:100%}}

/* Build 0032 Step 3R — ABOS Internal Sales Tax */
.sf-tax-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.sf-tax-panel{padding:24px;border:1px solid var(--sf-border);border-radius:18px;background:#fff}.sf-tax-panel h2{margin:5px 0 14px;color:var(--sf-primary);font-size:28px}.sf-address-card{display:grid;gap:3px;margin:0 0 14px;padding:16px;border:1px solid var(--sf-border);border-radius:12px;background:#f8fafc}.sf-address-card strong{color:var(--sf-primary)}.sf-address-card span{color:#475467}.sf-tax-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.sf-tax-actions form{margin:0}.sf-tax-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.sf-tax-detail-grid>div{display:grid;gap:3px;padding:12px;border:1px solid #e7edf3;border-radius:10px;background:#f8fafc}.sf-tax-detail-grid span{color:var(--sf-muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.sf-tax-detail-grid strong{color:var(--sf-primary)}.sf-order-total strong{font-size:21px;color:var(--sf-primary)}@media(max-width:900px){.sf-tax-layout{grid-template-columns:1fr}}@media(max-width:640px){.sf-tax-detail-grid{grid-template-columns:1fr}.sf-tax-actions{display:grid}.sf-tax-actions .sf-button,.sf-tax-actions form,.sf-tax-actions form .sf-button{width:100%}}

/* Build 0032 Step 4 — Square Sandbox checkout */
.sf-checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.sf-checkout-panel{padding:24px;border:1px solid var(--sf-border);border-radius:18px;background:#fff}.sf-checkout-panel h2{margin:5px 0 18px;color:var(--sf-primary);font-size:28px}.sf-checkout-form{display:grid;gap:18px}.sf-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sf-form-grid label{display:grid;gap:6px;font-weight:800;color:#344054}.sf-form-grid label span small{font-weight:400;color:var(--sf-muted)}.sf-form-grid input{width:100%;min-height:44px;border:1px solid #cfd7e1;border-radius:9px;padding:9px 11px;background:#fff;font:inherit}.sf-checkout-address{display:grid;gap:3px;padding:14px;border:1px solid #e7edf3;border-radius:12px;background:#f8fafc;color:#475467}.sf-checkout-address>span:first-child,.sf-field-label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--sf-muted)}.sf-checkout-address strong{color:var(--sf-primary)}.sf-square-card-wrap{display:grid;gap:8px}.sf-square-card{min-height:92px;padding:12px;border:1px solid #cfd7e1;border-radius:12px;background:#fff}.sf-square-status{margin:0;color:var(--sf-muted);font-size:13px}.sf-square-status.error{color:var(--sf-danger);font-weight:700}.sf-pay-button{min-height:48px;font-size:16px}.sf-payment-result{max-width:820px;margin:20px auto;padding:32px;border:1px solid var(--sf-border);border-radius:20px;background:#fff}.sf-payment-result h1{margin:7px 0 10px;color:var(--sf-primary)}.sf-payment-receipt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.sf-payment-receipt-grid>div{display:grid;gap:4px;padding:14px;border:1px solid #e7edf3;border-radius:12px;background:#f8fafc}.sf-payment-receipt-grid span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--sf-muted)}.sf-payment-receipt-grid strong{color:var(--sf-primary);overflow-wrap:anywhere}.sf-tax-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sf-tax-detail-grid>div{min-width:0}.sf-tax-detail-grid strong{overflow-wrap:anywhere}@media(max-width:900px){.sf-checkout-layout{grid-template-columns:1fr}.sf-tax-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.sf-form-grid,.sf-payment-receipt-grid,.sf-tax-detail-grid{grid-template-columns:1fr}.sf-checkout-panel{padding:18px}}


/* Build 0032-S6H6 — Geographic landing pages + branded header */
.sf-brand img{
    width:auto;
    height:54px;
    max-width:150px;
    object-fit:contain;
    border-radius:8px;
}
.sf-home-hero{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:36px;
    align-items:center;
    margin-top:24px;
    padding:clamp(38px,6vw,82px);
    border-radius:24px;
    overflow:hidden;
    color:#fff;
    background:
        radial-gradient(circle at 82% 18%,rgba(121,189,232,.42),transparent 28%),
        linear-gradient(135deg,var(--sf-primary),#173f72 72%);
}
.sf-home-hero:after{
    content:"";
    position:absolute;
    inset:auto -80px -120px auto;
    width:360px;
    height:360px;
    border:52px solid rgba(255,255,255,.045);
    border-radius:50%;
}
.sf-home-hero-copy{position:relative;z-index:2;max-width:850px}
.sf-home-kicker,.sf-directory-kicker{
    display:block;
    margin-bottom:8px;
    color:rgba(255,255,255,.78);
    font-size:12px;
    font-weight:900;
    letter-spacing:.15em;
    text-transform:uppercase;
}
.sf-home-hero h1{
    margin:0 0 14px;
    max-width:850px;
    font-size:clamp(38px,5.5vw,72px);
    line-height:1.02;
}
.sf-home-hero p{
    max-width:740px;
    margin:0 0 24px;
    color:rgba(255,255,255,.9);
    font-size:clamp(16px,2vw,21px);
}
.sf-hero-button{
    border-color:#fff;
    background:#fff!important;
    color:var(--sf-primary)!important;
}
.sf-home-mark{
    position:relative;
    z-index:2;
    display:grid;
    place-items:center;
    width:170px;
    height:170px;
    border:2px solid rgba(255,255,255,.22);
    border-radius:50%;
    background:rgba(255,255,255,.08);
    box-shadow:inset 0 0 0 14px rgba(255,255,255,.035);
}
.sf-home-mark span{
    font-size:25px;
    font-weight:900;
    letter-spacing:.08em;
}
.sf-home-mark strong{
    margin-top:-22px;
    color:var(--sf-secondary);
    font-size:58px;
    line-height:1;
}
.sf-location-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
    gap:16px;
}
.sf-location-card{
    display:grid;
    grid-template-columns:58px minmax(0,1fr) auto;
    gap:15px;
    align-items:center;
    min-height:100px;
    padding:18px;
    border:1px solid var(--sf-border);
    border-radius:18px;
    background:#fff;
    box-shadow:0 6px 18px rgba(15,23,42,.04);
    text-decoration:none;
    transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.sf-location-card:hover{
    transform:translateY(-2px);
    border-color:rgba(11,45,92,.2);
    box-shadow:0 10px 26px rgba(15,23,42,.09);
}
.sf-location-badge{
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    border-radius:15px;
    color:#fff;
    background:linear-gradient(135deg,var(--sf-primary),#234f83);
    font-size:18px;
    font-weight:900;
    letter-spacing:.04em;
}
.sf-location-badge.county{
    background:linear-gradient(135deg,var(--sf-secondary),var(--sf-primary));
    font-size:24px;
}
.sf-location-card>div{
    display:flex;
    min-width:0;
    flex-direction:column;
}
.sf-location-card strong{
    color:var(--sf-primary);
    font-size:17px;
}
.sf-location-card span,.sf-location-card small{
    color:var(--sf-muted);
}
.sf-location-card .sf-location-arrow{
    color:var(--sf-primary);
    font-size:28px;
    font-weight:700;
}
.sf-location-hero{
    background:
        radial-gradient(circle at 82% 10%,rgba(121,189,232,.38),transparent 34%),
        linear-gradient(135deg,var(--sf-primary),#173f72);
}
.sf-location-hero .sf-directory-kicker{
    color:rgba(255,255,255,.76);
}
@media(max-width:640px){
    .sf-brand img{height:44px;max-width:120px}
    .sf-brand{font-size:18px}
    .sf-nav{gap:14px;flex-wrap:wrap}
    .sf-home-hero{
        grid-template-columns:1fr;
        border-radius:16px;
        padding:34px 24px;
    }
    .sf-home-mark{display:none}
    .sf-location-grid{grid-template-columns:1fr}
}


/* Build 0032-S6H7 — Geographic hero images + homepage brand logo */
.sf-location-hero.has-image{
    min-height:340px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}
.sf-home-brand-logo{
    position:relative;
    z-index:2;
    display:grid;
    place-items:center;
    width:min(330px,28vw);
    min-width:230px;
    padding:18px;
    border:1px solid rgba(255,255,255,.32);
    border-radius:24px;
    background:rgba(255,255,255,.96);
    box-shadow:0 20px 45px rgba(2,20,48,.22);
}
.sf-home-brand-logo img{
    display:block;
    width:100%;
    height:auto;
    max-height:220px;
    object-fit:contain;
}
@media(max-width:900px){
    .sf-home-brand-logo{
        width:min(280px,32vw);
        min-width:210px;
    }
}
@media(max-width:640px){
    .sf-home-brand-logo{
        width:min(280px,100%);
        min-width:0;
        justify-self:start;
        padding:14px;
        border-radius:18px;
    }
    .sf-location-hero.has-image{
        min-height:280px;
    }
}


/* Build 0032-S6H8-1 — Personalization Capture & Cart */
.sf-personalization-panel{
    margin:4px 0;
    padding:17px;
    border:1px solid #b7c9df;
    border-radius:14px;
    background:#f7fbff;
}
.sf-personalization-panel legend{
    padding:0 8px;
    color:var(--sf-primary);
    font-size:17px;
    font-weight:900;
}
.sf-personalization-panel legend small{
    margin-left:5px;
    color:var(--sf-muted);
    font-size:12px;
    font-weight:700;
}
.sf-personalization-intro{
    margin:0 0 13px;
    color:#475467;
    font-size:13px;
    line-height:1.45;
}
.sf-personalization-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.sf-personalization-field{
    align-content:start;
}
.sf-personalization-field em{
    color:#b42318;
    font-size:11px;
    font-style:normal;
    font-weight:900;
    text-transform:uppercase;
}
.sf-personalization-field small{
    color:var(--sf-muted);
    font-size:11px;
    font-weight:500;
    line-height:1.4;
}
.sf-add-form textarea{
    width:100%;
    min-height:82px;
    resize:vertical;
    border:1px solid #cfd7e1;
    border-radius:9px;
    padding:9px 11px;
    background:#fff;
    font:inherit;
}
.sf-cart-personalization{
    margin:9px 0;
    padding:10px 12px;
    border-left:3px solid var(--sf-secondary);
    border-radius:8px;
    background:#f5f9fd;
}
.sf-cart-personalization>strong{
    display:block;
    margin-bottom:5px;
    color:var(--sf-primary);
    font-size:13px;
}
.sf-cart-personalization dl{
    margin:0;
}
.sf-cart-personalization dl div{
    display:grid;
    grid-template-columns:minmax(90px,auto) 1fr;
    gap:8px;
    padding:2px 0;
    font-size:13px;
}
.sf-cart-personalization dt{
    color:#667085;
    font-weight:700;
}
.sf-cart-personalization dd{
    margin:0;
    color:#101828;
    font-weight:800;
}
@media(max-width:640px){
    .sf-personalization-grid{
        grid-template-columns:1fr;
    }
}


/* Build 0032-S6H9 — Variant-Aware Product Gallery */
.sf-product-gallery{
    position:sticky;
    top:110px;
    align-self:start;
}
.sf-product-gallery .sf-product-detail-image{
    position:static;
}
.sf-product-thumbnails{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    padding-top:12px;
}
.sf-product-thumb{
    width:82px;
    height:82px;
    padding:0;
    overflow:hidden;
    border:2px solid transparent;
    border-radius:11px;
    background:#fff;
    cursor:pointer;
    box-shadow:0 2px 8px rgba(15,23,42,.08);
}
.sf-product-thumb:hover,
.sf-product-thumb.active{
    border-color:var(--sf-primary);
}
.sf-product-thumb[hidden]{
    display:none!important;
}
.sf-product-thumb img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
@media(max-width:900px){
    .sf-product-gallery{
        position:static;
    }
}
@media(max-width:640px){
    .sf-product-thumbnails{
        gap:8px;
    }
    .sf-product-thumb{
        width:68px;
        height:68px;
    }
}

/* Build 0032 — Native Store Product Filter Facets — UI V2 */
.sf-product-filter-panel{
    margin:0 0 26px;
    padding:20px;
    border:1px solid #d7e1ec;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 24px rgba(15,23,42,.055);
}
.sf-product-filter-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:16px;
    padding-bottom:14px;
    border-bottom:1px solid #edf1f5;
}
.sf-product-filter-head>div{display:grid;gap:3px}
.sf-product-filter-head strong{color:var(--sf-primary);font-size:19px;line-height:1.2}
.sf-product-filter-head span{color:var(--sf-muted);font-size:13px}
.sf-filter-clear{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:6px 11px;
    border:1px solid #cfd9e4;
    border-radius:999px;
    background:#f8fafc;
    color:var(--sf-primary);
    font-size:12px;
    font-weight:900;
    text-decoration:none;
    white-space:nowrap;
}
.sf-filter-clear:hover{background:#eef5fb;border-color:#a8bed6}
.sf-filter-quick{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    margin:0 0 16px;
}
.sf-filter-chip{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:38px;
    padding:7px 12px;
    border:1px solid #ccd8e4;
    border-radius:999px;
    background:#fff;
    color:#344054;
    font-size:13px;
    font-weight:850;
    line-height:1;
    text-decoration:none;
    transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease;
}
.sf-filter-chip:hover{border-color:var(--sf-primary);transform:translateY(-1px)}
.sf-filter-chip.is-active{border-color:var(--sf-primary);background:var(--sf-primary);color:#fff}
.sf-filter-chip span{
    display:inline-grid;
    place-items:center;
    min-width:24px;
    height:24px;
    padding:0 7px;
    border-radius:999px;
    background:#eef3f8;
    color:var(--sf-primary);
    font-size:11px;
    font-weight:900;
}
.sf-filter-chip.is-active span{background:rgba(255,255,255,.18);color:#fff}
.sf-filter-form{
    display:grid;
    grid-template-columns:repeat(5,minmax(135px,1fr));
    gap:12px;
    align-items:end;
    padding:16px;
    border:1px solid #e6edf4;
    border-radius:14px;
    background:#f8fafc;
}
.sf-filter-field{display:grid;gap:6px;min-width:0}
.sf-filter-field>span{
    color:#344054;
    font-size:11px;
    font-weight:900;
    letter-spacing:.055em;
    text-transform:uppercase;
}
.sf-filter-field select{
    width:100%;
    min-height:44px;
    border:1px solid #c8d3df;
    border-radius:10px;
    padding:8px 34px 8px 11px;
    background:#fff;
    color:#172033;
    font:inherit;
    font-size:14px;
    outline:none;
}
.sf-filter-field select:focus{border-color:var(--sf-primary);box-shadow:0 0 0 3px rgba(11,45,92,.09)}
.sf-filter-actions{
    grid-column:1/-1;
    display:flex;
    justify-content:flex-end;
    gap:9px;
    padding-top:2px;
}
.sf-filter-actions .sf-button{min-height:42px;min-width:118px;white-space:nowrap}
.sf-filter-empty{margin-top:18px}
.sf-filter-empty .sf-button{margin-top:8px}
.sf-product-badges{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
    margin:0 0 10px;
}
.sf-product-badge{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:4px 8px;
    border:1px solid #d7e5f4;
    border-radius:999px;
    background:#eef5ff;
    color:var(--sf-primary);
    font-size:10px;
    font-weight:900;
    letter-spacing:.045em;
    line-height:1;
    text-transform:uppercase;
}
@media(max-width:1180px){
    .sf-filter-form{grid-template-columns:repeat(3,minmax(145px,1fr))}
}
@media(max-width:760px){
    .sf-product-filter-panel{padding:16px}
    .sf-product-filter-head{align-items:flex-start;flex-direction:column}
    .sf-filter-quick{overflow-x:auto;flex-wrap:nowrap;padding:0 0 4px;scrollbar-width:thin}
    .sf-filter-chip{flex:0 0 auto}
    .sf-filter-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:13px}
    .sf-filter-actions{grid-column:1/-1}
    .sf-filter-actions .sf-button{flex:1;min-width:0}
}
@media(max-width:480px){
    .sf-filter-form{grid-template-columns:1fr}
    .sf-filter-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}
}


/* Build 0032 — Native Store Product Filter Facets — UI V3 compact desktop polish */
@media(min-width:1181px){
    .sf-product-filter-panel{padding:18px;margin-bottom:24px}
    .sf-product-filter-head{margin-bottom:12px;padding-bottom:12px}
    .sf-filter-quick{margin-bottom:12px}
    .sf-filter-form{
        grid-template-columns:repeat(5,minmax(120px,1fr)) auto;
        gap:10px;
        padding:14px;
    }
    .sf-filter-actions{
        grid-column:auto;
        align-self:end;
        padding-top:0;
        gap:8px;
    }
    .sf-filter-actions .sf-button{min-width:104px;padding-inline:13px}
}
@media(min-width:1181px) and (max-width:1380px){
    .sf-filter-form{grid-template-columns:repeat(3,minmax(145px,1fr))}
    .sf-filter-actions{grid-column:1/-1;justify-content:flex-end}
}
