/* ============================================================
   Homepage sections: hero, categories, featured, collection,
   promos, guarantee. Enqueued only on the front page.
   ============================================================ */

/* ---------- HERO ---------- */
.bnk-hero { position: relative; background: var(--bnk-hero); overflow: hidden; }
.bnk-hero__swiper { position: relative; }
.bnk-hero__slide { position: relative; overflow: hidden; }
.bnk-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.bnk-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8, 10, 12, .82) 0%, rgba(8, 10, 12, .45) 45%, rgba(8, 10, 12, 0) 70%); }
.bnk-hero__inner { position: relative; height: 440px; display: flex; align-items: center; }
.bnk-hero__content { max-width: 520px; margin-left: 40px; }
.bnk-hero__tag { display: inline-block; background: var(--bnk-red); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; padding: 6px 13px; border-radius: 3px; margin-bottom: 20px; }
.bnk-hero__title { font-size: 46px; line-height: 1.08; font-weight: 800; color: #fff; margin: 0 0 16px; letter-spacing: -.5px; }
.bnk-hero__sub { font-size: 17px; color: #d3d8dc; margin: 0 0 28px; max-width: 440px; }
.bnk-hero__cta { display: flex; gap: 13px; flex-wrap: wrap; }
.bnk-hero__cta .bnk-btn { border-radius: 4px; }
.bnk-hero__ghost { display: inline-flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .12); color: #fff; font-weight: 600; font-size: 15px; padding: 14px 26px; border-radius: 4px; border: 1px solid rgba(255, 255, 255, .3); min-height: 44px; transition: background .18s ease; }
.bnk-hero__ghost:hover { background: rgba(255, 255, 255, .2); color: #fff; }
.bnk-hero__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 46px; height: 46px; border-radius: 50%; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .25); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 3; transition: background .18s ease; }
.bnk-hero__nav:hover { background: rgba(255, 255, 255, .28); }
.bnk-hero__prev { left: 24px; }
.bnk-hero__next { right: 24px; }
.bnk-hero__dots.swiper-pagination { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); z-index: 3; display: flex; gap: 9px; width: auto; }
.bnk-hero .swiper-pagination-bullet { width: 9px; height: 9px; border-radius: 5px; background: rgba(255, 255, 255, .45); opacity: 1; margin: 0 !important; transition: width .3s ease, background .3s ease; }
.bnk-hero .swiper-pagination-bullet-active { width: 26px; background: var(--bnk-red); }

/* ---------- CATEGORY CAROUSEL ---------- */
.bnk-cats { padding-top: 54px; padding-bottom: 10px; }
.bnk-cats__carousel { position: relative; padding: 0 24px; }
.bnk-cats__slider { overflow: hidden; }
.bnk-cats__item { box-sizing: border-box; height: auto; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 11px; padding: 14px 4px; text-align: center; color: var(--bnk-ink); border-radius: 14px; transition: color .18s ease; }
.bnk-cats__item:hover { color: var(--bnk-red); }
.bnk-cats__item:hover .bnk-cats__name { color: var(--bnk-red); }
.bnk-cats__icon { width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; }
.bnk-cats__icon img { width: 100%; height: 100%; object-fit: contain; }
.bnk-cats__icon svg { width: 60px; height: 60px; color: var(--bnk-ink); }
.bnk-cats__name { font-size: 13px; font-weight: 600; line-height: 1.3; }
.bnk-cats__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--bnk-border); background: #fff; color: var(--bnk-ink); display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 4; box-shadow: 0 4px 14px rgba(16,25,28,.08); transition: border-color .16s ease, color .16s ease, box-shadow .16s ease, opacity .16s ease; }
.bnk-cats__nav:hover { border-color: var(--bnk-red); color: var(--bnk-red); box-shadow: 0 6px 18px rgba(226,0,26,.16); }
.bnk-cats__prev { left: 0; }
.bnk-cats__next { right: 0; }
.bnk-cats__nav.swiper-button-disabled,
.bnk-cats__nav.swiper-button-lock { opacity: 0; pointer-events: none; }
.bnk-cats__dots.swiper-pagination { position: static; display: flex; justify-content: center; align-items: center; gap: 7px; margin-top: 24px; }
.bnk-cats__dots.swiper-pagination-lock { display: none; }
.bnk-cats__dots .swiper-pagination-bullet { width: 8px; height: 8px; margin: 0 !important; background: #cfd6da; opacity: 1; border-radius: 50%; transition: width .2s ease, background-color .2s ease; }
.bnk-cats__dots .swiper-pagination-bullet-active { width: 24px; border-radius: 5px; background: var(--bnk-red); }

/* ---------- FEATURED ---------- */
.bnk-featured { padding-top: 46px; padding-bottom: 10px; }
.bnk-featured__tabs { display: flex; justify-content: center; gap: 14px; margin-bottom: 40px; flex-wrap: wrap; }
.bnk-featured__tab { position: relative; border: 1px solid #d3dade; background: #fff; cursor: pointer; font-size: 15px; font-weight: 700; padding: 10px 32px; color: var(--bnk-ink); border-radius: 7px; transition: background-color .16s ease, border-color .16s ease, color .16s ease; }
.bnk-featured__tab:hover { border-color: var(--bnk-ink); }
.bnk-featured__tab.is-active { background: var(--bnk-ink); border-color: var(--bnk-ink); color: #fff; }
.bnk-featured__tab.is-active::after { content: ""; position: absolute; left: 50%; bottom: -7px; transform: translateX(-50%); width: 0; height: 0; border-left: 7px solid transparent; border-right: 7px solid transparent; border-top: 7px solid var(--bnk-ink); }
.bnk-featured__more { text-align: center; margin-top: 32px; }

/* ---------- COLLECTION BANNER ---------- */
.bnk-collection { padding-top: 54px; padding-bottom: 0; }
.bnk-collection__card { display: grid; grid-template-columns: 1.15fr 1fr; border-radius: 14px; overflow: hidden; background: var(--bnk-ink); }
.bnk-collection__media { position: relative; min-height: 340px; background: #15181b center / cover no-repeat; }
.bnk-collection__body { padding: 50px 48px; display: flex; flex-direction: column; justify-content: center; color: #fff; }
.bnk-collection__eyebrow { color: #ff7a86; font-weight: 700; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 14px; }
.bnk-collection__title { font-size: 33px; font-weight: 800; line-height: 1.12; margin: 0 0 16px; color: #fff; }
.bnk-collection__text { color: #c2c7cb; font-size: 15.5px; margin: 0 0 28px; max-width: 420px; }
.bnk-collection__cta { align-self: flex-start; border-radius: 5px; }

/* ---------- PROMOS ---------- */
.bnk-promos { padding-top: 24px; padding-bottom: 0; }
.bnk-promos__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.bnk-promo { position: relative; min-height: 280px; border-radius: 14px; overflow: hidden; display: flex; align-items: flex-end; background-size: cover; background-position: center; }
.bnk-promo--red { background-color: #2a1416; }
.bnk-promo--amber { background-color: #241a12; }
.bnk-promo__overlay { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(13, 17, 21, .94) 0%, rgba(13, 17, 21, .6) 50%, rgba(13, 17, 21, .25) 100%); }
.bnk-promo__body { position: relative; padding: 36px 36px 38px; color: #fff; }
.bnk-promo__title { font-size: 25px; font-weight: 800; line-height: 1.15; margin: 0 0 12px; max-width: 330px; color: #fff; }
.bnk-promo__sub { font-size: 14.5px; color: rgba(255, 255, 255, .85); margin: 0 0 20px; max-width: 330px; }
.bnk-promo__cta { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-weight: 700; font-size: 14px; border-bottom: 2px solid var(--bnk-red); padding-bottom: 3px; transition: gap .18s ease; }
.bnk-promo__cta:hover { color: #fff; gap: 12px; }

/* ---------- GUARANTEE ---------- */
.bnk-guarantee { padding-top: 56px; padding-bottom: 60px; }
.bnk-guarantee__card { background: var(--bnk-red-soft); border: 1px solid var(--bnk-red-soft-border); border-radius: 14px; padding: 40px 44px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 34px; }
.bnk-guarantee__icon { width: 78px; height: 78px; border-radius: 16px; background: var(--bnk-red); display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; }
.bnk-guarantee__copy h3 { font-size: 23px; font-weight: 800; margin: 0 0 7px; }
.bnk-guarantee__copy p { color: #6b6063; font-size: 15px; margin: 0; max-width: 680px; }
.bnk-guarantee__cta { white-space: nowrap; border-radius: 5px; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1080px) {
	.bnk-hero__title { font-size: 38px; }
	.bnk-cats__carousel { padding: 0 46px; }
}
@media (max-width: 900px) {
	.bnk-hero__inner { height: 380px; }
	.bnk-hero__title { font-size: 32px; }
	.bnk-grid--4 { grid-template-columns: repeat(2, 1fr); }
	.bnk-cats__carousel { padding: 0 42px; }
	.bnk-collection__card { grid-template-columns: 1fr; }
	.bnk-collection__media { min-height: 220px; }
	.bnk-collection__body { padding: 34px 28px; }
	.bnk-promos__grid { grid-template-columns: 1fr; }
	.bnk-guarantee__card { grid-template-columns: 1fr; text-align: center; gap: 20px; justify-items: center; padding: 32px 24px; }
	.bnk-guarantee__copy p { margin: 0 auto; }
}
@media (max-width: 560px) {
	.bnk-hero__inner { height: 340px; }
	.bnk-hero__title { font-size: 26px; }
	.bnk-hero__sub { font-size: 15px; }
	.bnk-hero__nav { display: none; }
	.bnk-hero__content { margin-left: 0; }
	.bnk-cats__carousel { padding: 0 34px; }
	.bnk-cats__nav { width: 38px; height: 38px; }
	.bnk-cats__icon { width: 64px; height: 64px; }
	.bnk-grid--4 { grid-template-columns: 1fr 1fr; gap: 12px; }
	.bnk-featured__tabs { gap: 5px; margin-bottom: 26px; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 10px; }
	.bnk-featured__tab { padding: 10px 9px; font-size: 11px; white-space: nowrap; flex-shrink: 0; }
}
