/* ============================================================
   Single product: gallery, buy box, tabs, specs, reviews, related
   ============================================================ */

.bnk-product { padding-bottom: 10px; }
.bnk-product__notices { margin: 0 0 18px; }
.bnk-product__top { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; margin-top: 8px; }

/* ---------- GALLERY ---------- */
.bnk-gallery__main { position: relative; border: 1px solid var(--bnk-border); border-radius: 14px; aspect-ratio: 1 / 1; background: linear-gradient(155deg, #f7f8f9, #eceff1); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.bnk-gallery__off { position: absolute; top: 18px; left: 18px; background: var(--bnk-red); color: #fff; font-size: 12px; font-weight: 700; padding: 5px 11px; border-radius: 4px; z-index: 2; }
.bnk-gallery__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bnk-gallery__ph { display: flex; flex-direction: column; align-items: center; gap: 14px; color: #c2c8cc; }
.bnk-gallery__sku { font-size: 13px; font-weight: 600; letter-spacing: 1px; }
.bnk-gallery__thumbs-wrap { position: relative; margin-top: 14px; }
.bnk-gallery__thumbs { display: flex; gap: 12px; overflow: hidden; scroll-behavior: smooth; }
.bnk-gallery__thumb { flex: 0 0 calc((100% - 36px) / 4); aspect-ratio: 1 / 1; border: 1.5px solid var(--bnk-border); border-radius: 10px; background: linear-gradient(155deg, #f7f8f9, #eceff1); cursor: pointer; display: flex; align-items: center; justify-content: center; color: #c2c8cc; overflow: hidden; padding: 0; }
.bnk-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
.bnk-gallery__thumb.is-active { border-color: var(--bnk-red); }
.bnk-gallery__thumb--ph { cursor: default; }
.bnk-gallery__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 32px; height: 32px; border-radius: 50%; background: rgba(255, 255, 255, .95); border: 1px solid var(--bnk-border); box-shadow: 0 2px 8px rgba(16, 19, 28, .18); display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 3; font-size: 20px; line-height: 1; color: var(--bnk-ink); padding: 0; }
.bnk-gallery__nav:hover { border-color: var(--bnk-red); color: var(--bnk-red); }
.bnk-gallery__nav--prev { left: 4px; }
.bnk-gallery__nav--next { right: 4px; }
.bnk-gallery__nav[hidden] { display: none; }

/* ---------- BUY BOX ---------- */
.bnk-buy__badges { display: flex; gap: 7px; margin-bottom: 14px; flex-wrap: wrap; }
.bnk-buy__badges .bnk-badge { font-size: 11px; padding: 4px 10px; }
.bnk-buy__title { font-size: 28px; font-weight: 800; line-height: 1.2; margin: 0 0 12px; letter-spacing: -.3px; }
.bnk-buy__meta { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; font-size: 13.5px; color: var(--bnk-text-3); flex-wrap: wrap; }
.bnk-buy__stars { color: var(--bnk-star); font-size: 15px; letter-spacing: 1px; }
.bnk-buy__rating-num { color: var(--bnk-ink); font-weight: 600; }
.bnk-buy__meta-item { border-left: 1px solid var(--bnk-border-2); padding-left: 16px; }
.bnk-buy__stock { color: var(--bnk-success); font-weight: 600; }
.bnk-buy__stock.is-out { color: var(--bnk-warning); }

.bnk-buy__price-box { background: var(--bnk-red-soft); border: 1px solid var(--bnk-red-soft-border); border-radius: 12px; padding: 20px 22px; margin-bottom: 22px; }
.bnk-buy__price-row { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.bnk-buy__price, .bnk-buy__price .woocommerce-Price-amount { font-size: 34px; font-weight: 800; color: var(--bnk-red); }
.bnk-buy__old, .bnk-buy__old .woocommerce-Price-amount { font-size: 17px; color: var(--bnk-muted); text-decoration: line-through; font-weight: 400; }
.bnk-buy__installment { margin-top: 10px; font-size: 13.5px; color: #6b6063; }
.bnk-buy__installment strong { color: var(--bnk-ink); }

.bnk-buy__highlights { margin-bottom: 24px; }
.bnk-buy__hl-title { font-size: 14px; font-weight: 700; margin-bottom: 12px; }
.bnk-buy__highlights ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.bnk-buy__highlights li { display: flex; gap: 11px; font-size: 14.5px; color: #4a4f54; align-items: flex-start; }
.bnk-buy__hl-check { color: var(--bnk-success); flex-shrink: 0; margin-top: 2px; }

.bnk-buy__qty-row { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.bnk-buy__qty-label { font-size: 14px; font-weight: 600; color: #33383d; }
.bnk-qty { display: flex; align-items: center; border: 1px solid var(--bnk-input-border); border-radius: 8px; overflow: hidden; }
.bnk-qty__btn { width: 42px; height: 46px; border: none; background: var(--bnk-soft); cursor: pointer; font-size: 20px; color: #33383d; display: flex; align-items: center; justify-content: center; }
.bnk-qty__btn:hover { background: var(--bnk-border); }
.bnk-qty__input { width: 54px; height: 46px; text-align: center; font-size: 16px; font-weight: 700; border: none; outline: none; -moz-appearance: textfield; appearance: textfield; }
.bnk-qty__input::-webkit-outer-spin-button, .bnk-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.bnk-buy__actions { display: flex; gap: 14px; margin-bottom: 24px; }
.bnk-buy__actions .bnk-buy__add, .bnk-buy__actions .bnk-buy__now { flex: 1; }
.bnk-buy__form .quantity { margin: 0; }

.bnk-buy__assurances { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; border-top: 1px solid var(--bnk-border-3); padding-top: 22px; }
.bnk-buy__assurance { display: flex; align-items: center; gap: 11px; }
.bnk-buy__assurance-icon { color: var(--bnk-red); flex-shrink: 0; display: inline-flex; }
.bnk-buy__assurance span:last-child { font-size: 13.5px; font-weight: 600; color: #33383d; line-height: 1.25; }

/* ---------- TABS ---------- */
.bnk-ptabs { margin-top: 50px; }
.bnk-ptabs__nav { display: flex; gap: 0; border-bottom: 1px solid var(--bnk-border); flex-wrap: wrap; }
.bnk-ptabs__tab { border: none; background: transparent; cursor: pointer; font-size: 15.5px; font-weight: 700; padding: 14px 28px; color: var(--bnk-text-3); border-bottom: 3px solid transparent; margin-bottom: -1px; }
.bnk-ptabs__tab:hover { color: var(--bnk-ink); }
.bnk-ptabs__tab.is-active { color: var(--bnk-red); border-bottom-color: var(--bnk-red); }
.bnk-ptabs__panel { padding: 34px 0; }
.bnk-ptabs__desc { max-width: 760px; margin-bottom: 24px; font-size: 15px; color: var(--bnk-text-2); line-height: 1.7; }

.bnk-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.bnk-feature { border: 1px solid var(--bnk-border); border-radius: 12px; padding: 26px 24px; }
.bnk-feature__icon { width: 50px; height: 50px; border-radius: 12px; background: var(--bnk-red-soft); color: var(--bnk-red); display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.bnk-feature__title { font-size: 16px; font-weight: 700; margin: 0 0 8px; }
.bnk-feature__desc { font-size: 14px; color: var(--bnk-text-2); margin: 0; line-height: 1.6; }

.bnk-specs { max-width: 760px; }
.bnk-specs__row { display: grid; grid-template-columns: 240px 1fr; gap: 20px; padding: 14px 18px; border-radius: 6px; }
.bnk-specs__row.is-alt { background: var(--bnk-soft-2); }
.bnk-specs__k { font-size: 14px; color: var(--bnk-text-3); font-weight: 600; }
.bnk-specs__v { font-size: 14px; color: var(--bnk-ink); }

/* ---------- REVIEWS ---------- */
.bnk-reviews__grid { display: grid; grid-template-columns: 260px 1fr; gap: 48px; align-items: start; }
.bnk-reviews__summary { text-align: center; border: 1px solid var(--bnk-border); border-radius: 12px; padding: 30px 24px; position: sticky; top: 20px; }
.bnk-reviews__avg { font-size: 52px; font-weight: 800; color: var(--bnk-ink); line-height: 1; }
.bnk-reviews__stars { color: var(--bnk-star); font-size: 18px; letter-spacing: 2px; margin: 10px 0 6px; display: block; }
.bnk-reviews__count { font-size: 13.5px; color: var(--bnk-text-3); }
.bnk-reviews__toggle { margin-top: 18px; }
.bnk-reviews__main { display: flex; flex-direction: column; gap: 20px; }
.bnk-reviews__form-wrap { border: 1px solid var(--bnk-border); border-radius: 12px; padding: 24px 26px; background: var(--bnk-soft-3); }
.bnk-reviews__form-wrap #reply-title, .bnk-reviews__form-wrap .comment-reply-title { font-size: 17px; font-weight: 800; display: block; margin-bottom: 4px; }
.bnk-reviews__form-wrap .comment-notes { font-size: 13.5px; color: var(--bnk-text-3); margin: 0 0 18px; }
.bnk-reviews__form-wrap label { font-size: 13px; font-weight: 600; color: #5b6166; display: block; margin-bottom: 6px; }
.bnk-reviews__form-wrap input[type=text], .bnk-reviews__form-wrap input[type=email], .bnk-reviews__form-wrap select, .bnk-reviews__form-wrap textarea { width: 100%; border: 1px solid var(--bnk-input-border); border-radius: 7px; padding: 11px 14px; font-size: 14px; font-family: inherit; background: #fff; outline: none; }
.bnk-reviews__form-wrap p { margin-bottom: 14px; }
.bnk-reviews__form-wrap .comment-form-author, .bnk-reviews__form-wrap .comment-form-email { display: inline-block; width: calc(50% - 7px); vertical-align: top; }
.bnk-reviews__form-wrap .comment-form-author { margin-right: 10px; }
.bnk-reviews__form-wrap .form-submit input { width: auto; cursor: pointer; }
.bnk-reviews__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 20px; }
.bnk-reviews__list li.review, .bnk-reviews__list li.comment { border-bottom: 1px solid var(--bnk-border-3); padding-bottom: 20px; list-style: none; }
.bnk-reviews__list .comment_container { display: flex; gap: 12px; }
.bnk-reviews__list img.avatar { width: 38px; height: 38px; border-radius: 50%; margin: 0; float: none; }
.bnk-reviews__list .comment-text { flex: 1; margin: 0; border: none; padding: 0; }
.bnk-reviews__list .woocommerce-review__author { font-size: 14.5px; font-weight: 700; }
.bnk-reviews__list .woocommerce-review__published-date { font-size: 12.5px; color: var(--bnk-muted); margin-left: 8px; }
.bnk-reviews__list .star-rating { font-size: 12px; margin: 4px 0; }
.bnk-reviews__list .description p { font-size: 14.5px; color: #4a4f54; margin: 8px 0 0; line-height: 1.6; }
.bnk-reviews__empty { color: var(--bnk-text-3); font-size: 14.5px; }

/* ---------- RELATED ---------- */
.bnk-related { margin: 46px auto 60px; }
.bnk-related > h2 { font-size: 24px; font-weight: 800; margin: 0 0 22px; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 900px) {
	.bnk-product__top { grid-template-columns: 1fr; gap: 30px; }
	.bnk-features { grid-template-columns: 1fr 1fr; }
	.bnk-reviews__grid { grid-template-columns: 1fr; gap: 24px; }
	.bnk-reviews__summary { position: static; }
	.bnk-related .bnk-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.bnk-buy__title { font-size: 23px; }
	.bnk-buy__price, .bnk-buy__price .woocommerce-Price-amount { font-size: 28px; }
	.bnk-buy__actions { flex-direction: column; }
	.bnk-buy__assurances { grid-template-columns: 1fr; }
	.bnk-features { grid-template-columns: 1fr; }
	.bnk-specs__row { grid-template-columns: 1fr; gap: 4px; }
	.bnk-reviews__form-wrap .comment-form-author, .bnk-reviews__form-wrap .comment-form-email { width: 100%; margin-right: 0; }
	.bnk-related .bnk-grid--4 { grid-template-columns: 1fr 1fr; gap: 12px; }
}
