/* Storefront image campaigns and compact catalog discovery. */
.hp-campaigns { margin:18px 0 28px; }
.hp-carousel { position:relative; overflow:hidden; border-radius:23px; background:var(--canvas,#f3f4f6); }
.hp-carousel .swiper-slide { height:auto; }
.hp-carousel:not(.swiper-initialized) .swiper-wrapper { display:block; }
.hp-carousel:not(.swiper-initialized) .swiper-slide:not(:first-child) { display:none; }
.hp-image { display:block; overflow:hidden; }
.hp-image>img { display:block; width:100%; height:auto; }
.hp-image:focus-visible,.hp-category-card:focus-visible,.hp-brand-card:focus-visible { outline:3px solid var(--product-primary-solid,#4f63df); outline-offset:3px; }
.hp-secondary-zone { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:20px; }
.hp-secondary-zone:has(>:only-child) { grid-template-columns:minmax(0,1fr); }
.hp-tile,.hp-native--tile { border-radius:20px; }
.hp-feature { margin:28px 0 40px; }
.hp-feature-zone { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.hp-feature-card,.hp-native--feature { border-radius:20px; }
.hp-native { position:relative; display:block; overflow:hidden; background:var(--canvas,#f3f4f6); }
.hp-native>img,.hp-native>picture,.hp-native>picture>img { display:block; width:100%; height:auto; }
.hp-native>.banner-html,.hp-native>.banner-embed { width:100%; aspect-ratio:3/1; }
.hp-native .banner-embed iframe { width:100%; height:100%; border:0; }
.hp-feature-card>img { aspect-ratio:3/1; object-fit:cover; }
.product-thumb img { width:100%; height:100%; object-fit:contain; }

/* Keep the desktop hero 25 percent shorter; mobile retains the complete artwork. */
@media(min-width:768px) {
 .hp-carousel .hp-image,.hp-carousel .hp-native--hero { aspect-ratio:4/1; }
 .hp-carousel .hp-image>img,.hp-carousel .hp-native--hero>img,
 .hp-carousel .hp-native--hero>picture,.hp-carousel .hp-native--hero>picture>img { height:100%; object-fit:cover; object-position:center 30%; }
 .hp-carousel .hp-native--hero>.banner-html,.hp-carousel .hp-native--hero>.banner-embed { height:100%; aspect-ratio:auto; }
}

/* Static category tiles keep every category visible, with no carousel controls. */
.hp-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.hp-category-card { display:grid; grid-template-columns:76px minmax(0,1fr) 14px; align-items:center; gap:14px; min-height:112px; padding:14px; color:var(--ink,#1a1d29); background:var(--canvas,#f4f5f7); border:1px solid transparent; border-radius:18px; transition:border-color .2s,transform .2s; }
.hp-category-card:nth-child(4n+2),.hp-category-card:nth-child(4n+3) { background:var(--product-primary-soft,#f1f3fa); }
.hp-category-image { display:grid; place-items:center; width:76px; height:76px; overflow:hidden; border-radius:14px; background:var(--surface,#fff); color:var(--product-primary-ink,#4f63df); font-size:25px; }
.hp-category-image>img { display:block; width:100%; height:100%; object-fit:contain; }
.hp-category-name { min-width:0; font-size:14px; font-weight:700; line-height:1.9; overflow-wrap:anywhere; }
.hp-category-arrow { color:var(--slate,#6b7280); font-size:11px; }
.hp-category-card:hover { border-color:var(--product-primary-solid,#4f63df); transform:translateY(-2px); }

/* Brand wordmarks and logos share the same quiet, responsive card layout. */
.hp-brands { padding:24px; background:var(--canvas,#f4f5f7); border:1px solid var(--line,#eceef2); border-radius:24px; }
.hp-brands-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; margin-bottom:22px; }
.hp-brands-heading .section-title { margin:0; }
.hp-brand-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.hp-brand-card { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; min-width:0; min-height:148px; padding:20px 12px 28px; color:var(--ink,#1a1d29); background:var(--surface,#fff); border:1px solid var(--line,#eceef2); border-radius:16px; transition:border-color .2s,transform .2s; }
.hp-brand-mark { display:flex; align-items:center; justify-content:center; width:100%; min-height:52px; }
.hp-brand-mark>img { display:block; width:100%; max-width:160px; height:64px; object-fit:contain; }
.hp-brand-wordmark { display:block; max-width:100%; font-size:clamp(16px,1.6vw,22px); font-weight:800; line-height:1.5; letter-spacing:.045em; overflow-wrap:anywhere; text-align:center; }
.hp-brand-name { color:var(--slate,#6b7280); font-size:12px; line-height:1.8; text-align:center; overflow-wrap:anywhere; }
.hp-brand-arrow { position:absolute; inset-inline-end:12px; bottom:11px; color:var(--slate,#6b7280); font-size:10px; }
.hp-brand-card:hover { border-color:var(--product-primary-solid,#4f63df); transform:translateY(-3px); }
.hp-brand-card:hover .hp-brand-arrow { color:var(--product-primary-ink,#4f63df); }

@media(min-width:641px) and (max-width:1023px) {
 .hp-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .hp-category-card { grid-template-columns:64px minmax(0,1fr) 12px; gap:10px; padding:12px; }
 .hp-category-image { width:64px; height:64px; }
 .hp-brand-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:640px) {
 .hp-campaigns { margin:14px 0 22px; }
 .hp-carousel { border-radius:15px; }
 .hp-secondary-zone,.hp-feature-zone { grid-template-columns:minmax(0,1fr); gap:12px; }
 .hp-secondary-zone { margin-top:12px; }
 .hp-tile,.hp-native--tile { border-radius:14px; }
 .hp-feature { margin:22px 0 28px; }
 .hp-feature-card,.hp-native--feature { border-radius:15px; }
 .hp-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .hp-category-card { display:flex; flex-direction:column; justify-content:center; gap:10px; min-height:142px; padding:12px 8px; border-radius:16px; text-align:center; }
 .hp-category-image { width:72px; height:72px; border-radius:12px; }
 .hp-category-name { font-size:12px; }
 .hp-category-arrow { display:none; }
 .hp-brands { padding:18px 14px; border-radius:20px; }
 .hp-brands-heading { margin-bottom:16px; }
 .hp-brands-heading .section-title { font-size:18px; }
 .hp-brand-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .hp-brand-card { min-height:132px; }
 .hp-brand-card:last-child:nth-child(odd) { grid-column:1/-1; }
 .hp-brand-wordmark { font-size:18px; }
}
@media(prefers-reduced-motion:reduce) {
 .hp-carousel .swiper-wrapper { transition:none!important; }
 .hp-category-card,.hp-brand-card { transition:none; }
 .hp-category-card:hover,.hp-brand-card:hover { transform:none; }
}

/* Compact flash-sale heading without a countdown. */
.hp-flash-compact { padding:16px; }
.hp-flash-compact .flash-head { gap:10px; margin-bottom:12px; }
.hp-flash-compact .flash-brand { gap:10px; }
.hp-flash-compact .flash-brand .ic { width:36px; height:36px; border-radius:11px; font-size:18px; }
.hp-flash-compact .flash-brand b { font-size:18px; }
.hp-flash-compact .flash-brand>span:last-child { display:flex; flex-direction:column; gap:2px; }
.hp-flash-compact .flash-brand small { display:block; font-size:11px; line-height:1.4; }
@media(max-width:640px) {
 .hp-flash-compact { padding:14px; }
 .hp-flash-compact .flash-head { margin-bottom:10px; }
 .hp-flash-compact .flash-brand { gap:8px; }
 .hp-flash-compact .flash-brand .ic { width:32px; height:32px; font-size:16px; }
 .hp-flash-compact .flash-brand b { font-size:16px; }
 .hp-flash-compact .flash-brand small { font-size:10.5px; }
 .hp-flash-compact .flash-actions .section-more { padding:8px 12px; font-size:12px; white-space:nowrap; }
}
