/* VIP Phone storefront polish — presentation only, shared linear SVG icons. */
.storefront-body {
  --sf-navy: #0d233d;
  --sf-navy-hover: #193954;
  --sf-gold: #c79a40;
  --sf-gold-bright: #e7b84b;
  --sf-gold-hover: #f0ca72;
  --sf-gold-text: #77551b;
  --sf-gold-line: #eadbb9;
  --sf-gold-soft: #faf5e9;
  --sf-text: #172b42;
  --sf-muted: #607186;
  --sf-line: #dce4eb;
  --sf-surface: #fff;
  --sf-soft: #f4f6f8;
  --sf-success: #22734e;
  --sf-success-soft: #edf7f0;
  --sf-danger: #ad3540;
  --sf-danger-soft: #fcf0f1;
  --sf-radius: 10px;
  --sf-speed: 170ms;
  --sf-focus: #b38327;
  --teal: var(--sf-navy);
  --teal-dark: var(--sf-navy-hover);
}
.storefront-body .sf-icon { display:inline-block; width:20px; height:20px; flex:none; vertical-align:middle; pointer-events:none; }
.storefront-body :where(a, button, summary, input, select, textarea) { -webkit-tap-highlight-color:transparent; }
.storefront-body :where(a, button, summary, input, select, textarea):focus-visible {
  outline:3px solid var(--sf-focus); outline-offset:3px;
}
.storefront-body :where(button, a, summary) { transition:background-color var(--sf-speed), border-color var(--sf-speed), color var(--sf-speed), box-shadow var(--sf-speed); }
.storefront-body :where(button, a):active { filter:brightness(.96); }
.storefront-body :where(button, input, select, textarea):disabled { opacity:.5; cursor:not-allowed; box-shadow:none; }
.storefront-body main :where(p, .muted, .account-card, .checkout-form, .checkout-form-fields, .success-card, .tracking-card) a:not(.button) {
  color:var(--sf-navy); text-decoration-color:var(--sf-gold); text-underline-offset:3px;
}
/* Shared button variants. Layout widths and the existing form hooks are preserved. */
.storefront-body .button,
.storefront-body .filters .button,
.storefront-body .card-cart-form .button,
.storefront-body .accessory-compact .button,
.storefront-body .checkout-layout .button {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:44px; padding:11px 18px; border:1px solid var(--sf-navy);
  border-radius:var(--sf-radius); background:var(--sf-navy); color:var(--sf-surface);
  font:inherit; font-size:14px; font-weight:650; line-height:1.35; text-align:center; text-decoration:none;
  box-shadow:none; cursor:pointer; transition:background-color var(--sf-speed),border-color var(--sf-speed),box-shadow var(--sf-speed);
}
.storefront-body .button:hover:not(:disabled) { background:var(--sf-navy-hover); border-color:var(--sf-navy-hover); color:var(--sf-surface); box-shadow:0 3px 9px #0d233d12; transform:none; }
.storefront-body .button.secondary,
.storefront-body .button.button-secondary { background:var(--sf-surface); color:var(--sf-navy); border-color:var(--sf-line); }
.storefront-body .button.secondary:hover:not(:disabled),
.storefront-body .button.button-secondary:hover:not(:disabled) { background:var(--sf-soft); border-color:var(--sf-navy); color:var(--sf-navy); }
.storefront-body .sf-ghost,
.storefront-body .catalog-filter-toggle {
  display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:9px 12px;
  color:var(--sf-navy); border:1px solid var(--sf-line); border-radius:var(--sf-radius); background:var(--sf-surface);
  font-size:13px; font-weight:600; text-decoration:none;
}
.storefront-body .sf-ghost:hover, .storefront-body .catalog-filter-toggle:hover { background:var(--sf-soft); border-color:var(--sf-navy); }
.storefront-body .link-danger,
.storefront-body .button.sf-danger {
  display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:9px 12px;
  border:1px solid transparent; border-radius:var(--sf-radius); color:var(--sf-danger); background:transparent;
  font:inherit; font-size:13px; font-weight:600; text-decoration:none; cursor:pointer;
}
.storefront-body .link-danger:hover, .storefront-body .button.sf-danger:hover { background:var(--sf-danger-soft); border-color:var(--sf-danger-soft); color:var(--sf-danger); }
/* Header: one coherent icon family and comfortable targets, including comparison. */
.storefront-body .nav-actions { gap:8px; flex-wrap:nowrap; }
.storefront-body .nav-action { min-height:44px; border-radius:var(--sf-radius); padding:6px; gap:8px; font-weight:600; }
.storefront-body .nav-action:hover { background:#ffffff0d; }
.storefront-body .nav-action .nav-icon { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; line-height:1; }
.storefront-body .nav-icon .sf-icon { width:23px; height:23px; }
.storefront-body .nav-action.active { outline:none; background:#ffffff0d; box-shadow:inset 0 -2px var(--sf-gold); }
.storefront-body .nav-action:focus-visible { outline:3px solid var(--sf-gold); outline-offset:2px; }
.storefront-body .cart-link b { display:grid; place-items:center; min-width:17px; height:17px; padding:0 4px; font-size:10px; line-height:1; color:var(--sf-navy); background:var(--sf-gold-bright); }
.storefront-body .global-search { border-radius:var(--sf-radius); }
.storefront-body .global-search button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:44px; min-height:44px; border-radius:0 9px 9px 0; font-size:13px; font-weight:650; }
.storefront-body .global-search button .sf-icon { width:21px; height:21px; }
.storefront-body .category-menu>summary { display:flex; align-items:center; gap:10px; min-height:44px; }
.storefront-body .category-menu>summary::after { content:none; }
.storefront-body .sf-menu-chevron { margin-left:auto; display:inline-flex; }
.storefront-body .sf-menu-chevron .sf-icon, .storefront-body .mega-chevron .sf-icon { width:16px; height:16px; }
.storefront-body .category-menu[open]>.sf-menu-chevron,
.storefront-body .category-menu[open]>summary .sf-menu-chevron { transform:rotate(180deg); }
.storefront-body .category-menu .mega-column-links a::before { content:none; }
.storefront-body .category-menu .mega-column-links a { padding-left:10px; }
.storefront-body .category-toggle { display:inline-flex; align-items:center; justify-content:center; min-width:36px; min-height:44px; }
.storefront-body .category-toggle .sf-icon { width:16px; height:16px; }
/* Icon controls preserve their button/form semantics. */
.storefront-body .icon-button,
.storefront-body .cart-page .cart-quantity-button,
.storefront-body .product-lightbox__nav,
.storefront-body .product-lightbox__close,
.storefront-body .accessory-compact .accessory-arrow {
  display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; min-width:44px; min-height:44px;
  padding:0; border:1px solid var(--sf-line); border-radius:var(--sf-radius); background:var(--sf-surface); color:var(--sf-navy); box-shadow:none;
}
.storefront-body .icon-button:hover,
.storefront-body .cart-page .cart-quantity-button:hover:not(:disabled),
.storefront-body .product-lightbox__nav:hover,
.storefront-body .product-lightbox__close:hover,
.storefront-body .accessory-compact .accessory-arrow:hover:not(:disabled) { color:var(--sf-navy); background:var(--sf-gold-soft); border-color:var(--sf-gold); }
.storefront-body .icon-button.compare-toggle.is-selected { color:var(--sf-navy); background:var(--sf-gold-soft); border-color:var(--sf-gold); box-shadow:inset 0 0 0 1px var(--sf-gold); }
.storefront-body .cart-page .cart-quantity-control { gap:5px; padding:3px; border:1px solid var(--sf-line); border-radius:13px; background:var(--sf-soft); }
.storefront-body .cart-quantity-value { min-width:24px; font-variant-numeric:tabular-nums; }
.storefront-body .cart-remove { margin-top:3px; }
.storefront-body .product-main-image-button { position:relative; }
.storefront-body .sf-zoom-hint { position:absolute; right:14px; bottom:14px; display:grid; place-items:center; width:40px; height:40px; border:1px solid var(--sf-line); border-radius:var(--sf-radius); background:var(--sf-surface); color:var(--sf-navy); pointer-events:none; }
.storefront-body .gallery-thumb { border-radius:var(--sf-radius); }
.storefront-body .gallery-thumb.is-active { border-color:var(--sf-gold); box-shadow:0 0 0 1px var(--sf-gold); }
.storefront-body .breadcrumb { flex-wrap:wrap; align-items:center; }
.storefront-body .breadcrumb>.sf-icon { width:14px; height:14px; color:var(--sf-muted); }
/* Inputs stay native: keyboard, validation, radio groups and number stepping work as before. */
.storefront-body :where(.filters, .checkout-form, .checkout-form-fields, .account-card, .tracking-form, .buy-row, .gift-card-purchase-form) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]), select, textarea),
.storefront-body .catalog-sort {
  min-height:44px; border:1px solid var(--sf-line); border-radius:var(--sf-radius); background-color:var(--sf-surface);
  color:var(--sf-text); font-family:inherit; font-size:14px; line-height:1.5; padding:10px 12px; box-shadow:none;
  transition:border-color var(--sf-speed),box-shadow var(--sf-speed);
}
.storefront-body :where(input,select,textarea):hover:not(:disabled) { border-color:#a7b5c3; }
.storefront-body :where(input,select,textarea):focus-visible { border-color:var(--sf-focus); box-shadow:0 0 0 3px #c79a401a; }
.storefront-body select:not([multiple]):not([size]) {
  appearance:none; padding-right:38px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23607186' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; background-size:18px;
}
.storefront-body .buy-row input[type=number] { width:78px; padding-inline:12px; text-align:center; font-weight:650; }
.storefront-body :is(.choice,.terms-choice,.payment-choice) input:is([type=checkbox],[type=radio]),
.storefront-body .filters input:is([type=checkbox],[type=radio]) { width:20px; height:20px; flex:0 0 20px; accent-color:var(--sf-navy); cursor:pointer; }
.storefront-body .choice { min-height:44px; cursor:pointer; }
.storefront-body .checkout-layout fieldset>.choice:not(.terms-choice) { border:1px solid var(--sf-line); border-radius:var(--sf-radius); background:var(--sf-surface); padding:12px; margin-top:8px; }
.storefront-body .checkout-layout fieldset>.choice:has(input:checked) { border-color:var(--sf-gold); background:var(--sf-gold-soft); box-shadow:inset 0 0 0 1px var(--sf-gold); }
.storefront-body .checkout-layout fieldset>.choice:has(input:focus-visible) { outline:3px solid var(--sf-focus); outline-offset:3px; }
.storefront-body .checkout-layout .payment-choice[hidden] { display:none; }
/* Small badges, restrained color and consistent typography. */
.storefront-body :is(.stock,.stock-note,.pill,.promo-badge,.original-parts-badge,.gift-card-platform-badge,.accessory-optional) {
  display:inline-flex; align-items:center; justify-content:center; align-self:flex-start; width:fit-content; max-width:100%; gap:5px;
  border:1px solid transparent; border-radius:7px; padding:4px 8px; font-size:11px; line-height:1.35; font-weight:600; letter-spacing:0;
}
.storefront-body :is(.stock,.stock-note,.original-parts-badge) { color:var(--sf-success); background:var(--sf-success-soft); }
.storefront-body :is(.pill,.gift-card-platform-badge,.accessory-compact .accessory-optional) { color:var(--sf-muted); background:var(--sf-soft); border-color:var(--sf-line); }
.storefront-body .promo-badge { background:var(--sf-gold-soft); color:var(--sf-gold-text); border-color:var(--sf-gold-line); }
.storefront-body .original-parts-note { background:var(--sf-success-soft); border-color:#cfe5d6; color:var(--sf-success); }
.storefront-body .original-parts-note strong { color:var(--sf-success); }
.storefront-body .accessory-box.accessory-compact .accessory-option:has(input:checked) { background:var(--sf-gold-soft); border-color:var(--sf-gold); box-shadow:inset 0 0 0 1px var(--sf-gold); }
.storefront-body .accessory-compact input:checked+.accessory-check { background:var(--sf-navy); border-color:var(--sf-navy); color:var(--sf-surface); }
.storefront-body .accessory-check .sf-icon { width:17px; height:17px; }
.storefront-body .accessory-box.accessory-compact .accessory-option:has(input:focus-visible) { outline:3px solid var(--sf-focus); outline-offset:2px; }
.storefront-body .accessory-compact .accessory-product-link { color:var(--sf-navy); text-underline-offset:3px; }
.storefront-body .accessory-compact .accessory-total strong { color:var(--sf-navy); }
/* Carousel targets remain 44px while their visual indicators stay quiet. */
.storefront-body .home-slider-control { display:grid; place-items:center; width:44px; height:44px; border:1px solid #ffffff40; box-shadow:none; }
.storefront-body .home-slider-dots button,
.storefront-body .home-slider-dots button.is-active,
.storefront-body .home-slider-dots button[aria-current=true] { width:44px; height:44px; border:0; background:transparent; transform:none; box-shadow:none; }
.storefront-body .home-slider-dots button::before { content:""; display:block; width:8px; height:8px; margin:auto; border-radius:50%; background:#ffffff70; transition:background-color var(--sf-speed); }
.storefront-body .home-slider-dots button.is-active::before,
.storefront-body .home-slider-dots button[aria-current=true]::before { background:var(--sf-gold-bright); box-shadow:0 0 0 3px #e7b84b26; }
.storefront-body .section-head>a { display:inline-flex; align-items:center; gap:7px; min-height:44px; color:var(--sf-navy); }
.storefront-body .category-card__cta { display:inline-flex; align-items:center; gap:6px; }
.storefront-body .catalog-pagination :is(a,span):not(.pagination-pages) { min-height:44px; min-width:40px; border-radius:var(--sf-radius); gap:5px; }
.storefront-body .catalog-pagination a:hover { border-color:var(--sf-gold); color:var(--sf-navy); background:var(--sf-gold-soft); }
.storefront-body .catalog-pagination .pagination-current { background:var(--sf-navy); border-color:var(--sf-navy); color:var(--sf-surface); }
.storefront-body .success-icon { display:grid; place-items:center; background:var(--sf-success-soft); color:var(--sf-success); }
.storefront-body .success-icon .sf-icon { width:30px; height:30px; }
@media (max-width:1100px) {
 .storefront-body .nav-action { display:flex; justify-content:center; width:44px; height:44px; padding:0; }
 .storefront-body .nav-action>span:not(.nav-icon) { display:none!important; }
 .storefront-body .compare-nav-action .nav-icon { display:inline-flex; }
 .storefront-body .nav-actions { flex-wrap:nowrap; gap:4px; }
}
@media (max-width:760px) {
 .storefront-body .nav { column-gap:8px; }
 .storefront-body .nav-actions { margin-left:auto; flex-wrap:nowrap; gap:2px; }
 .storefront-body .brand-mark { width:126px; flex:0 0 126px; }
 .storefront-body .brand-mark-media { width:100%; }
 .storefront-body .global-search input { font-size:16px; min-width:0; }
 .storefront-body .global-search button { min-width:48px; }
 .storefront-body .global-search button span { display:none; }
 .storefront-body .card-top-actions { gap:5px; }
 .storefront-body .card-cart-form .button { padding:10px 7px; gap:5px; font-size:12px; }
 .storefront-body .card-cart-form .button .sf-icon { width:17px; height:17px; }
 .storefront-body .catalog-pagination { column-gap:3px; }
 .storefront-body .catalog-pagination :is(a,span):not(.pagination-pages) { min-width:32px; padding-inline:7px; }
 .storefront-body .catalog-pagination .sf-icon { width:15px; }
 .storefront-body .accessory-compact .accessory-controls { gap:5px; }
 .storefront-body :is(.checkout-form,.checkout-form-fields,.account-card) :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { font-size:16px; }
}
@media (max-width:360px) {
 .storefront-body .brand-mark { width:100px; flex-basis:100px; }
 .storefront-body .nav-actions { gap:0; }
 .storefront-body .nav { column-gap:4px; }
 .storefront-body .card-cart-form .button { flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce) {
 .storefront-body :is(a,button,summary,input,select,textarea,.accessory-option) { transition:none!important; }
}
@media (forced-colors:active) {
 .storefront-body :is(.button,.icon-button,.accessory-option,.choice,.stock,.promo-badge) { border:1px solid ButtonText; }
 .storefront-body .accessory-compact input:checked+.accessory-check { background:Highlight; color:HighlightText; }
 .storefront-body select:not([multiple]):not([size]) { appearance:auto; background-image:none; }
}
/* Small shared surfaces also use the common palette. */
.storefront-body .eyebrow { color:var(--sf-muted); }
.storefront-body .home-slide .eyebrow, .storefront-body .hero .eyebrow { color:var(--sf-gold-bright); }
.storefront-body .gift-card-card-cta { min-height:44px; border-radius:var(--sf-radius); background:var(--sf-navy); border-color:var(--sf-navy); font-weight:650; }
.storefront-body .gift-card-card-link:hover .gift-card-card-cta { background:var(--sf-navy-hover); border-color:var(--sf-navy-hover); }
.storefront-body .gift-card-filter-form :is(input,select) { min-height:44px; border:1px solid var(--sf-line); border-radius:var(--sf-radius); background-color:var(--sf-surface); }
.storefront-body .gift-card-pagination :is(a,span) { min-height:44px; border-radius:var(--sf-radius); }
.storefront-body .accessory-box.accessory-compact .accessory-option:hover { border-color:var(--sf-gold); }
.storefront-body .accessory-box.accessory-compact .accessory-price { color:var(--sf-navy); }
.storefront-body :is(.category-link,.category-menu summary,.mega-column-links a):hover { transition-duration:var(--sf-speed); }
@media(min-width:768px) { .storefront-body .catalog-filter-toggle { display:none; } }
@media(max-width:767px) {
 .storefront-body .catalog-filter-head { flex-direction:column; align-items:stretch; }
 .storefront-body .catalog-filter-head-actions { flex-wrap:nowrap; width:100%; }
 .storefront-body .catalog-filter-head-actions>* { flex:1; }
 .storefront-body .catalog-filter-head-actions .sf-ghost { padding:9px 12px; }
 .storefront-body .product-card .product-visual { padding-top:0; height:172px; }
 .storefront-body .product-visual-media { height:100%; min-height:0; }
}
.storefront-body .home-slide .button, .storefront-body .hero .button { background:var(--sf-gold-bright); border-color:var(--sf-gold-bright); color:var(--sf-navy); }
.storefront-body .home-slide .button:hover, .storefront-body .hero .button:hover { background:var(--sf-gold-hover); border-color:var(--sf-gold-hover); color:var(--sf-navy); }
.storefront-body .cart-page .cart-item-media img { object-fit:contain; padding:5px; background:var(--sf-surface); }
.storefront-body :is(a,button,summary,input,select,textarea):focus-visible { outline:3px solid var(--sf-focus)!important; outline-offset:3px; }
@media (min-width:761px) and (max-width:1100px) {
 /* The existing category disclosure contains the same links without four sticky rows. */
 .storefront-body .category-links { display:none; }
}

@media(min-width:768px) { .storefront-body .product-card .product-visual { padding-top:0; height:212px; } }
.storefront-body :is(.gift-card-platform-pill,.accessory-subcategory-pill) { display:inline-flex; align-items:center; min-height:44px; border-radius:var(--sf-radius); padding:8px 12px; border:1px solid var(--sf-line); font-size:13px; font-weight:600; color:var(--sf-navy); background:var(--sf-surface); }
.storefront-body :is(.gift-card-platform-pill,.accessory-subcategory-pill).is-active { background:var(--sf-gold-soft); border-color:var(--sf-gold); color:var(--sf-navy); }
.storefront-body :is(.gift-card-platform-pill,.accessory-subcategory-pill):hover { border-color:var(--sf-gold); background:var(--sf-gold-soft); color:var(--sf-navy); }
.storefront-body .gift-card-filters>summary::after { content:""; flex:none; width:18px; height:18px; background:center/18px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23607186' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); }
.storefront-body .gift-card-filters[open]>summary::after { transform:rotate(180deg); }
.storefront-body .gift-card-filter-count { margin-left:auto; }

/* Reserve the chevron area against earlier, more specific input padding rules. */
.storefront-body select:not([multiple]):not([size]) { padding-right:38px!important; text-overflow:ellipsis; }
