/* ---------- Buttons ---------- */
.lbk-btn, .wp-element-button, .button {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	padding: .875rem 1.75rem; background: var(--c-ink); color: #fff; border: 1px solid var(--c-ink);
	text-transform: uppercase; letter-spacing: .04em; transition: background-color .25s, color .25s;
}
.lbk-btn:hover, .button:hover { background: transparent; color: var(--c-ink); }
.lbk-btn--stroke { background: transparent; color: var(--c-ink); }
.lbk-btn--stroke:hover { background: var(--c-ink); color: #fff; }

/* ---------- Product card (Figma "Prd") ---------- */
.lbk-card { display: flex; flex-direction: column; gap: 1.25rem; margin: 0; }
.lbk-card__media { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; background: #ece9e6; }
.lbk-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease), opacity .5s var(--ease); }
.lbk-card:hover .lbk-card__media img { transform: scale(1.03); }
/* Second gallery image fades in over the first on hover (desktop/pointer devices only). */
.lbk-card__media .lbk-card__hover { position: absolute; inset: 0; opacity: 0; }
@media (hover: hover) {
	.lbk-card:hover .lbk-card__hover, .lbk-card:focus-within .lbk-card__hover { opacity: 1; }
}
.lbk-card__row { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.lbk-card__title { flex: 1 1 auto; min-width: 0; font-size: var(--fs-body); font-weight: 500; letter-spacing: .02em; line-height: 1.3; }
.lbk-card__title a { display: block; }
.lbk-card__title a:hover { text-decoration: underline; text-underline-offset: 4px; }
.lbk-card__actions { flex: none; display: flex; gap: 1.25rem; margin-top: 3px; }

/* Wishlist heart (outline ↔ filled) */
.lbk-wishlist-btn .lbk-heart--fill { display: none; position: absolute; inset: 0; }
.lbk-wishlist-btn .lbk-heart--outline { display: contents; }
.lbk-wishlist-btn.is-active .lbk-heart--fill { display: block; }
.lbk-wishlist-btn.is-active .lbk-heart--outline { display: none; }
.lbk-wishlist-btn:hover { opacity: .65; }

/* ---------- Drawer + overlay (mini cart) ---------- */
.lbk-overlay { position: fixed; inset: 0; z-index: 90; background: var(--c-overlay); opacity: 0; transition: opacity .3s; }
.lbk-overlay.is-open { opacity: 1; }
.lbk-drawer {
	position: fixed; z-index: 100; top: 0; right: 0; bottom: 0; width: min(100%, 26.25rem); background: var(--c-bg);
	display: flex; flex-direction: column; transform: translateX(100%); transition: transform .35s var(--ease);
}
.lbk-drawer.is-open { transform: none; }
.lbk-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 1.5rem 1.5rem 1.25rem; border-bottom: 1px solid var(--c-line); }
.lbk-drawer__title { font-size: var(--fs-h2); letter-spacing: var(--ls-h2); text-transform: uppercase; font-weight: 500; }
.lbk-drawer__close { font-size: 2rem; line-height: 1; width: 32px; height: 32px; }
body.has-drawer { overflow: hidden; }

.lbk-mini-cart__content { flex: 1; overflow-y: auto; padding: 1rem 1.5rem 1.5rem; display: flex; flex-direction: column; }
.lbk-mini-cart__content .woocommerce-mini-cart { flex: 1; }
.lbk-mini-cart__content .woocommerce-mini-cart-item { display: grid; grid-template-columns: 72px 1fr; gap: .25rem 1rem; padding: 1rem 1.75rem 1rem 0; border-bottom: 1px solid var(--c-line); position: relative; }
.lbk-mini-cart__content .woocommerce-mini-cart-item img { grid-row: 1 / span 3; width: 72px; height: 96px; object-fit: cover; }
.lbk-mini-cart__content .woocommerce-mini-cart-item a:not(.remove) { font-weight: 500; }
.lbk-mini-cart__content .remove { position: absolute; top: .75rem; right: 0; font-size: 1.25rem; line-height: 1; }
.lbk-mini-cart__content dl.variation { margin: 0; color: var(--c-muted); font-size: .8125rem; }
.lbk-mini-cart__content dl.variation dt, .lbk-mini-cart__content dl.variation dd { display: inline; margin: 0; }
.lbk-mini-cart__content dl.variation dd p { display: inline; }
.lbk-mini-cart__content .quantity { color: var(--c-muted); }
.lbk-mini-cart__content .woocommerce-mini-cart__total { display: flex; justify-content: space-between; padding: 1.25rem 0; text-transform: uppercase; letter-spacing: .04em; }
.lbk-mini-cart__content .woocommerce-mini-cart__buttons { display: grid; gap: .625rem; }
.lbk-mini-cart__content .woocommerce-mini-cart__buttons .button { width: 100%; }
.lbk-mini-cart__content .woocommerce-mini-cart__empty-message { text-align: center; color: var(--c-muted); padding-block: 3rem; }

/* ---------- WPForms (contact etc.) ---------- */
.wpforms-container .wpforms-field-label { font-weight: 500; letter-spacing: .02em; }
.wpforms-container input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), .wpforms-container textarea, .wpforms-container select {
	width: 100%; max-width: 100%; padding: .625rem 0; border: 0; border-bottom: 1px solid var(--c-muted); border-radius: 0; background: transparent; font: inherit;
}
.wpforms-container .wpforms-submit { padding: .875rem 1.75rem; background: var(--c-ink); color: #fff; border: 1px solid var(--c-ink); border-radius: 0; text-transform: uppercase; letter-spacing: .04em; }

/* ---------- Stroke button (Figma "Btn stroke small") ---------- */
.lbk-btn-stroke {
	display: inline-flex; align-items: center; justify-content: center;
	padding: 1rem clamp(1.5rem, 3.65vw, 4.375rem); border: 1px solid var(--c-ink); color: var(--c-ink);
	font-size: 1.125rem; font-weight: 500; letter-spacing: .06em; text-transform: capitalize; line-height: 1.2; text-align: center;
	transition: background-color .3s, color .3s;
}
.lbk-btn-stroke:hover, .lbk-btn-stroke:focus-visible { background: var(--c-ink); color: #fff; }

/* ---------- Tab link (shop filters, categories, pagination): muted, ink + underline when active ---------- */
.lbk-tab {
	position: relative; display: inline-block; padding: 0 0 6px;
	font-size: 1rem; font-weight: 400; letter-spacing: .02em; line-height: 20px; text-transform: capitalize; white-space: nowrap;
	color: var(--c-muted); transition: color .25s;
}
.lbk-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease); }
.lbk-tab:hover, .lbk-tab.is-active, .lbk-tab[aria-expanded="true"] { color: var(--c-ink); }
.lbk-tab:hover::after, .lbk-tab.is-active::after, .lbk-tab[aria-expanded="true"]::after { transform: scaleX(1); }
