body:has(.storefront) { height:auto; overflow:auto; }
.storefront { min-height:100dvh; background:#fff; color:var(--ink); display:flex; flex-direction:column; }
.store-nav a { display:inline-flex; align-items:center; gap:6px; }.cart-count { min-width:20px; text-align:center; font-weight:600; }
.store-card-actions { display:grid; gap:8px; }.store-card-actions .command { justify-content:center; gap:8px; }
.store-order > .command + .command { margin-top:10px; }
.store-cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:36px; align-items:start; }
.store-cart-row { display:grid; grid-template-columns:80px minmax(0,1fr) 86px 32px; align-items:center; gap:18px; padding:24px 0; border-bottom:1px solid var(--line); }
.cart-art { height:70px; }.cart-package { min-width:0; display:grid; gap:6px; }.cart-package > a { font-weight:600; text-decoration:none; overflow-wrap:anywhere; }.cart-package > span { color:var(--muted); font-size:12px; }.cart-package .offer-gross strong { font-size:17px; }
.cart-quantity fluent-field { margin:0; }.cart-estimate { display:grid; gap:8px; margin:24px 0; }.cart-estimate strong { font-size:24px; }
.cart-checkout .price-breakdown { margin:0; }.shop-company { max-width:960px; }.shop-company .fluent-input,.shop-company fluent-text-input { width:100%; }
@media(max-width:900px) { .store-cart-layout { grid-template-columns:minmax(0,1fr); }.cart-checkout { border-left:0; padding:24px 0; border-top:1px solid var(--line); position:static; } }
@media(max-width:600px) { .store-cart-row { grid-template-columns:56px minmax(0,1fr) 32px; gap:12px; }.cart-quantity { grid-column:2; grid-row:2; width:90px; }.store-cart-row > button { grid-column:3; grid-row:1; }.store-cart-row .offer-gross { flex-wrap:wrap; } }
.store-header { border-bottom:1px solid var(--line); background:white; }
.store-header-inner { max-width:1280px; margin:auto; min-height:80px; padding:12px 32px; display:flex; align-items:center; gap:48px; }
.store-header fluent-field,.store-filters fluent-field { margin:0; }
.store-brand { display:flex; align-items:center; gap:12px; text-decoration:none; font-size:24px; font-weight:650; flex-shrink:0; color:var(--ink); }
.store-brand .ait-logo { width:110px; }
.store-brand-caption { display:block; font-size:11px; font-weight:400; color:var(--muted); }
.store-nav { display:flex; align-items:center; gap:24px; }
.store-nav a { text-decoration:none; font-size:14px; padding:10px 0; border-bottom:2px solid transparent; }
.store-nav a:hover,.store-nav a.active { border-color:var(--green); color:var(--green-dark); }
.store-account { margin-left:auto; display:flex; align-items:center; gap:20px; }
.store-account .language-selector { width:160px; min-width:160px; }
.store-account .language-selector fluent-field,.store-account .language-selector fluent-dropdown { width:100%; min-width:0; }
.store-account .account-trigger { color:var(--ink); }
.store-account .account-trigger:hover { background:var(--green-hover); }
.store-account .command { gap:8px; white-space:nowrap; }
.store-environment { background:var(--amber-soft); color:var(--amber); border-bottom:1px solid var(--amber-line); text-align:center; font-size:11px; line-height:20px; }
.store-main { width:100%; max-width:1280px; padding:28px 32px 64px; margin:0 auto; flex:1; }
.store-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-bottom:28px; }
.store-heading h1 { font-size:32px; line-height:1.25; font-weight:650; margin:0 0 10px; }
.store-heading p { margin:0; font-size:15px; color:var(--muted); }
.store-heading-mark { color:var(--green-dark); display:flex; align-items:center; gap:8px; font-size:13px; white-space:nowrap; }
.store-filters { padding:16px 0; display:grid; grid-template-columns:minmax(220px,1.6fr) minmax(170px,1fr) minmax(110px,.65fr) minmax(170px,1fr); gap:18px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.store-filters > * { min-width:0; }
.store-filters fluent-select,.store-filters fluent-text-field { width:100%; }
.store-search { display:flex; gap:8px; align-items:flex-end; }
.store-search > :first-child { flex:1; min-width:0; }.store-search button { flex-shrink:0; margin-bottom:4px; }
.store-results { display:flex; align-items:center; justify-content:space-between; min-height:48px; color:var(--muted); font-size:13px; gap:16px; }
.store-clear { border:0; background:none; display:flex; gap:6px; align-items:center; color:var(--green-dark); }
.store-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.store-product { border:1px solid var(--line); border-radius:6px; overflow:hidden; display:flex; flex-direction:column; min-width:0; background:white; transition:border-color .15s,box-shadow .15s; }
.store-product:hover { border-color:var(--green-line); box-shadow:0 4px 18px #243f2810; }
.store-product-art { display:flex; align-items:center; justify-content:center; background:var(--surface-subtle); border-bottom:1px solid var(--line); height:130px; padding:24px; }
.product-artwork { display:block; width:100%; max-width:270px; height:100%; max-height:125px; object-fit:contain; }
.store-product-body { padding:22px; display:flex; flex-direction:column; flex:1; min-width:0; }
.store-product-name { font-size:12px; color:var(--muted); margin-bottom:7px; }
.store-product h2 { font-size:20px; font-weight:650; line-height:1.35; margin:0 0 12px; overflow-wrap:anywhere; }.store-product h2 a { text-decoration:none; color:var(--ink); }
.store-product-description { color:var(--muted); font-size:13px; line-height:1.6; margin:0 0 16px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.store-specs { list-style:none; display:flex; flex-wrap:wrap; gap:10px 16px; padding:0; margin:0 0 24px; color:var(--muted); font-size:12px; }
.store-specs li { display:flex; align-items:center; gap:6px; }.store-specs .app-icon { color:var(--green); }
.store-product-bottom { margin-top:auto; border-top:1px solid var(--line); padding-top:18px; display:grid; gap:18px; }
.store-product-link { display:flex; justify-content:space-between; border-color:var(--green-line); color:var(--green-dark); font-weight:600; min-height:40px; }.store-product-link:hover { background:var(--green-hover); border-color:var(--green); }
.store-pagination { margin-top:28px; }
.store-empty { min-height:260px; text-align:center; padding:60px 16px; }.store-empty > .app-icon { color:var(--green); margin-bottom:16px; }.store-empty h2 { font-size:20px; }.store-empty p { color:var(--muted); }
.store-skeleton { border:1px solid var(--line); padding:24px; min-height:400px; border-radius:6px; }.store-skeleton div { height:130px; background:var(--surface-hover); margin-bottom:28px; }.store-skeleton span { display:block; height:18px; width:70%; background:var(--surface-hover); margin-bottom:16px; }
.store-breadcrumb { display:flex; align-items:center; gap:12px; color:var(--muted); font-size:13px; margin-bottom:32px; flex-wrap:wrap; }.store-breadcrumb a { color:var(--green-dark); text-decoration:none; }
.store-detail { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:64px; align-items:start; }
.store-detail-content { min-width:0; }.store-detail-brand { height:132px; display:flex; align-items:center; margin-bottom:24px; }.store-detail-brand .product-artwork { object-position:left center; }
.store-detail-title > span { color:var(--green); font-weight:600; font-size:14px; }.store-detail-title h1 { font-size:32px; font-weight:650; line-height:1.25; margin:10px 0; overflow-wrap:anywhere; }.store-detail-title p { color:var(--muted); margin:0 0 24px; }
.store-long-description { line-height:1.75; font-size:15px; white-space:pre-line; overflow-wrap:anywhere; }
.store-package-terms { margin-top:32px; padding-top:24px; border-top:1px solid var(--line); }.store-package-terms h2,.store-alternatives h2 { font-size:18px; font-weight:600; margin-bottom:20px; }.store-package-terms .commerce-facts { padding:0; grid-template-columns:repeat(2,minmax(0,1fr)); }
.store-order { border-left:1px solid var(--line); padding-left:32px; min-width:0; position:sticky; top:24px; }.store-order > h2 { font-size:17px; margin:0 0 24px; }
.store-order .offer-gross strong { font-size:30px; }.store-order .offer-gross { flex-wrap:wrap; }
.store-order-term { display:flex; gap:8px; align-items:center; color:var(--muted); margin:20px 0 28px; }
.store-checkout { display:grid; gap:18px; }.store-checkout fluent-select { width:100%; }
.store-billing { display:grid; gap:5px; font-size:12px; color:var(--muted); overflow-wrap:anywhere; }.store-billing strong { color:var(--ink); }.store-billing a { margin-top:6px; color:var(--green-dark); }
.store-order .command { gap:8px; min-height:42px; }
.store-payment-notice { font-size:12px; color:var(--muted); display:flex; align-items:center; gap:8px; margin-top:20px; }
.store-alternatives { margin-top:36px; padding-top:24px; border-top:1px solid var(--line); }.store-alternatives a { display:flex; gap:14px; align-items:center; padding:16px 0; text-decoration:none; border-bottom:1px solid var(--line); flex-wrap:wrap; }.store-alternatives a span { flex:1; overflow-wrap:anywhere; }.store-alternatives a strong { font-size:14px; }
.store-footer { border-top:1px solid var(--line); padding:28px max(24px,calc((100% - 1216px)/2)); display:flex; align-items:center; gap:32px; background:var(--surface-subtle); font-size:13px; }
.store-footer > div { display:flex; align-items:center; gap:12px; }.store-footer .ait-logo { width:65px; }.store-footer nav { display:flex; gap:24px; flex-wrap:wrap; }.store-footer a { text-decoration:none; color:var(--muted); }.store-footer small { margin-left:auto; color:var(--muted); }
.storefront a:focus-visible,.storefront button:focus-visible { outline:2px solid var(--green); outline-offset:3px; }
@media(max-width:1050px) { .store-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.store-header-inner { gap:24px; }.store-nav { gap:16px; }.store-detail { gap:32px; grid-template-columns:minmax(0,1fr) 320px; }.store-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }.store-heading-mark { display:none; } }
@media(max-width:700px) { .store-header-inner { padding:16px 20px; gap:14px; flex-wrap:wrap; }.store-brand { font-size:20px; }.store-brand .ait-logo { width:76px; }.store-nav { order:3; width:100%; border-top:1px solid var(--line); padding-top:4px; }.store-account { gap:12px; }.store-account .account-greeting { display:none; }.store-main { padding:28px 20px 44px; }.store-heading h1 { font-size:27px; }.store-heading p { font-size:14px; }.store-grid { grid-template-columns:minmax(0,1fr); gap:18px; }.store-product-art { height:150px; }.store-detail { grid-template-columns:minmax(0,1fr); gap:32px; }.store-order { position:static; border-left:0; border-top:1px solid var(--line); padding:24px 0 0; }.store-detail-title h1 { font-size:27px; }.store-footer { flex-wrap:wrap; padding:24px 20px; gap:22px; }.store-footer small { margin-left:0; }.store-breadcrumb { margin-bottom:24px; } }
@media(max-width:700px) { .store-account { width:100%; justify-content:space-between; }.store-account:has(.account-menu) { width:auto; } }
@media(max-width:420px) { .store-search { grid-column:1/-1; }.store-filters { gap:16px 12px; }.store-filters > :last-child { grid-column:1/-1; }.store-brand-caption { max-width:64px; font-size:10px; }.store-account .command { padding:7px 9px; font-size:12px; }.store-header-inner { gap:10px; }.store-brand { gap:8px; }.store-brand .ait-logo { width:65px; }.store-account { gap:8px; } }
@media(max-width:360px) { .store-filters { grid-template-columns:minmax(0,1fr); } }

.storefront { background:var(--canvas); }
.store-header { background:var(--surface); }
.store-header-inner { gap:28px; }
.store-account { gap:8px; }
.store-account .language-selector { width:auto; min-width:0; }
.store-account .compact-selector { flex-shrink:0; }
.store-brand-caption { letter-spacing:.02em; }
.store-nav { gap:20px; }
.store-nav a { white-space:nowrap; min-height:44px; }
.cart-count { background:var(--green-soft); color:var(--green-dark); border-radius:6px; padding:2px 6px; font-size:11px; }
.store-heading { padding-block:16px 30px; }
.store-heading h1 { font-size:clamp(28px,3vw,40px); letter-spacing:-.035em; }
.store-heading p { line-height:1.65; max-width:700px; }
.store-filters { padding:20px; border:1px solid var(--line); border-radius:12px; background:var(--surface); box-shadow:var(--shadow); }
.store-results { padding-block:14px; }
.store-product { background:var(--surface); border-radius:16px; box-shadow:var(--shadow); }
.store-product:hover { border-color:var(--green-line); box-shadow:0 8px 28px rgb(79 70 229 / 10%); }
.store-product-art { background:var(--surface-subtle); height:154px; }
.store-product-link { border-radius:8px; }
.store-detail,.store-cart-layout { gap:36px; }
.store-order { border:1px solid var(--line); padding:26px; border-radius:16px; background:var(--surface); box-shadow:var(--shadow); }
.store-cart-row { background:var(--surface); padding:22px 18px; border:1px solid var(--line); border-radius:12px; margin-bottom:12px; }
.store-footer { background:var(--surface); }
.store-footer a { min-height:44px; display:inline-flex; align-items:center; }
.store-skeleton { background:var(--surface); border-radius:16px; }
@media(max-width:1180px) {
    .store-header-inner { flex-wrap:wrap; gap:8px 24px; }
    .store-nav { order:3; width:100%; overflow-x:auto; border-top:1px solid var(--line); }
    .store-account { margin-left:auto; }
}
@media(max-width:700px) {
    .store-header-inner { padding:12px 16px 0; gap:8px; }
    .store-brand { gap:8px; font-size:21px; }
    .store-brand .ait-logo { width:68px; }
    .store-brand-caption { font-size:10px; max-width:none; }
    .store-account,.store-account:has(.account-menu) { width:auto; margin-left:auto; gap:6px; }
    .store-account .theme-selector { position:relative; width:44px; min-width:44px; padding:0; justify-content:center; }
    .store-account .theme-selector select { position:absolute; inset:0; opacity:0; width:100%; min-width:0; }
    .store-sign-in { width:44px; min-width:44px; min-height:44px; padding:0!important; }
    .store-sign-in > span:not(.app-icon) { display:none; }
    .store-nav { gap:22px; padding:2px 0; scrollbar-width:thin; }
    .store-nav a { font-size:13px; }
    .store-main { padding:20px 16px 36px; }
    .store-heading { padding-top:8px; padding-bottom:22px; }
    .store-filters { padding:16px; gap:14px; }
    .store-filters fluent-select,.store-search { grid-column:auto; }
    .store-product-art { height:140px; }
    .store-detail,.store-cart-layout { gap:24px; }
    .store-order { padding:22px; }
    .store-footer { padding:24px 16px; gap:12px 24px; }
}
@media(max-width:420px) {
    .store-header-inner { padding-inline:12px; }
    .store-brand { gap:6px; font-size:19px; }
    .store-brand .ait-logo { width:48px; }
    .store-brand-caption { display:none; }
    .store-account .compact-selector { padding-inline:6px; }
    .store-account .compact-selector select { font-size:12px; min-width:42px; }
    .store-filters { grid-template-columns:minmax(0,1fr); }
    .store-main { padding-inline:12px; }
    .store-cart-row { padding:16px 12px; }
}
