/* Storefront additions retain the existing Snow Air palette and typefaces. */
.brands-carousel { position: relative; container-type:inline-size; }
.brands-carousel .brands-marquee { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; touch-action: pan-x pan-y; mask-image: none; -webkit-mask-image: none; scrollbar-width: none; }
.brands-carousel .brands-marquee::-webkit-scrollbar { display:none; }
.brands-carousel .brands-track { transform:none !important; }
.brands-carousel .brand-card { scroll-snap-align: start; }
.brands-arrow { position:absolute; top:42%; z-index:4; width:42px; height:42px; border:1px solid #d4e3ef; border-radius:50%; color:#0a1f44; background:#fff; font-size:30px; line-height:1; box-shadow:0 4px 14px #08244a24; cursor:pointer; }
.brands-arrow--right { right:-12px; }
.brands-arrow--left { left:-12px; }
.brands-arrow:hover { background:#eaf6fb; }
.section-featured { padding:52px 0 64px; background:#f4f9fc; }
.featured-note { text-align:center; color:#637b91; margin:-12px auto 24px; font-size:14px; }
.featured-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.featured-card { overflow:hidden; display:flex; flex-direction:column; background:#fff; border:1px solid #dfebf3; border-radius:16px; box-shadow:0 8px 28px #14385c0d; }
.featured-image { position:relative; background:#fff; aspect-ratio:1.25; display:grid; place-items:center; }
.featured-image img { width:100%; height:100%; object-fit:contain; }
.featured-tag { position:absolute; inset-block-start:12px; inset-inline-start:12px; background:#e8f5fb; color:#176087; border-radius:20px; padding:4px 10px; font-size:11px; z-index:1; }
.featured-body { display:flex; flex-direction:column; align-items:flex-start; flex:1; padding:18px; gap:8px; }
.featured-body h3 { font-size:17px; color:#0a1f44; }
.featured-body p { color:#637b91; font-size:13px; flex:1; }
.featured-body strong { color:#0a1f44; font-size:20px; }
.featured-body small { color:#637b91; font-size:12px; }
.featured-body .btn-navy { margin-top:6px; width:100%; justify-content:center; }
.featured-more { display:flex; justify-content:center; margin-top:28px; }
.inner-hero { padding:calc(var(--header-h) + 72px) 0 64px; color:#fff; background:linear-gradient(125deg,#081b3a,#124e82); text-align:center; }
.inner-hero p { color:#a6ddf4; letter-spacing:.2em; font-size:12px; font-weight:700; }
.inner-hero h1 { color:#fff; font-size:clamp(32px,5vw,50px); margin:12px 0; }
.inner-hero span { color:#d4eaf5; }
.inner-action { padding:52px 0; background:#f3f9fc; text-align:center; }
.inner-action h2 { color:#0a1f44; margin-bottom:10px; }
.inner-action p { color:#627b91; margin-bottom:20px; }
.inner-action .btn-navy { margin:4px; }
@media (max-width:860px) {
  .featured-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .promo-box { --h:96px; min-height:0; padding:10px 14px 18px; }
  .promo-box .promo-giftbtn { align-self:center; }
  .promo-headline { font-size:20px; margin-bottom:2px; }
  .promo-subtext { font-size:13px; margin-bottom:8px; }
  .btn-promo { padding:8px 18px; }
}
@media (max-width:560px) {
  .brands-carousel .brands-track { gap:10px; }
  .brands-carousel .brands-track .brand-card { flex:0 0 calc((100cqw - 20px)/3); width:calc((100cqw - 20px)/3); min-width:0; padding:12px 5px; }
  .brands-carousel .brand-logo { height:42px; margin-bottom:6px; }
  .brands-carousel .brand-logo img { max-height:38px; }
  .brands-carousel .brand-name { font-size:12px; margin-bottom:8px; }
  .brands-carousel .brand-card .btn-navy { font-size:10px; padding:8px 4px; gap:2px; white-space:nowrap; }
  .brands-carousel .brand-card .btn-navy svg { width:12px; height:12px; }
  .brands-arrow { display:none; }
  .categories-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:0; }
  .category-info { padding:12px 8px; }
  .category-card .category-name { font-size:14px; }
  .category-desc { font-size:12px; margin-bottom:10px; }
  .category-card .btn-navy-arrow { font-size:12px; padding:8px; min-height:44px; }
  .section-featured { padding:40px 0; }
  .featured-grid { gap:10px; }
  .featured-body { padding:12px; }
  .featured-body h3 { font-size:14px; }
  .featured-body strong { font-size:16px; }
  .featured-body .btn-navy { font-size:12px; padding:10px 5px; }
}
