/* One button. Square-cornered (2px), 2px ink border, a hard offset shadow that the button presses into on hover.
   Primary = filled ink (the action: add to cart, pay, sign in, send). Ghost = outline (the other choice: update cart, back, cookie choices).
   Loaded last so every older per-page button rule yields to it. Editorial links (.kv-u, the arrow links in section heads) are not buttons and stay as they are. */

/* ---- shape (all buttons) ---- */
.kv-btn,
.kv-woo .button, .kv-woo button.button, .kv-woo a.button, .kv-woo input.button,
.kv-woo #place_order, .kv-woo .woocommerce-Button, .kv-woo button[type="submit"]:not(.kv-u):not(.kv-btn),
.single_add_to_cart_button, .kv-buybar .single_add_to_cart_button,
.kv-consent__btn, .kv-map__btn,
.kv-pdp__links a:nth-child(-n+2) {
	position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 0 22px; margin: 0;
	border: 2px solid var(--ink); border-radius: 2px;
	font: inherit; font-size: 16px; font-weight: 500; line-height: 1.1; letter-spacing: -0.01em; white-space: nowrap; text-decoration: none; text-align: center;
	cursor: pointer; overflow: visible;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, opacity .3s ease;
}
.kv-btn:hover, .kv-woo .button:hover, .kv-woo #place_order:hover, .kv-woo .woocommerce-Button:hover, .kv-woo button[type="submit"]:not(.kv-u):not(.kv-btn):hover,
.single_add_to_cart_button:hover, .kv-buybar .single_add_to_cart_button:hover, .kv-consent__btn:hover, .kv-map__btn:hover, .kv-pdp__links a:nth-child(-n+2):hover {
	transform: translate(3px, 3px); opacity: 1;
}
.kv-btn:active, .kv-woo .button:active, .kv-woo #place_order:active, .kv-woo .woocommerce-Button:active, .kv-woo button[type="submit"]:not(.kv-u):not(.kv-btn):active,
.single_add_to_cart_button:active, .kv-buybar .single_add_to_cart_button:active, .kv-consent__btn:active, .kv-map__btn:active, .kv-pdp__links a:nth-child(-n+2):active {
	transform: translate(4px, 4px); box-shadow: 0 0 0 transparent;
}
.kv-btn:focus-visible, .kv-woo .button:focus-visible, .kv-woo #place_order:focus-visible, .kv-woo .woocommerce-Button:focus-visible, .single_add_to_cart_button:focus-visible,
.kv-consent__btn:focus-visible, .kv-map__btn:focus-visible, .kv-pdp__links a:nth-child(-n+2):focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
.kv-btn[disabled], .kv-btn[aria-disabled="true"], .kv-woo .button.disabled, .kv-woo .button:disabled, .kv-woo #place_order:disabled,
.single_add_to_cart_button.disabled, .single_add_to_cart_button:disabled, .single_add_to_cart_button.wc-variation-selection-needed { opacity: .45; pointer-events: none; }

/* ---- primary: filled ---- */
.kv-btn--primary,
.kv-woo .button, .kv-woo button.button, .kv-woo a.button, .kv-woo input.button,
.kv-woo #place_order, .kv-woo .woocommerce-Button, .kv-woo button[type="submit"]:not(.kv-u):not(.kv-btn),
.single_add_to_cart_button, .kv-buybar .single_add_to_cart_button,
.kv-pdp__links a:nth-child(2) {
	background: var(--ink); color: var(--paper); border-color: var(--ink);
	box-shadow: 4px 4px 0 color-mix(in srgb, var(--ink) 38%, transparent);
}
.kv-btn--primary:hover, .kv-woo .button:hover, .kv-woo #place_order:hover, .kv-woo .woocommerce-Button:hover, .kv-woo button[type="submit"]:not(.kv-u):not(.kv-btn):hover,
.single_add_to_cart_button:hover, .kv-buybar .single_add_to_cart_button:hover, .kv-pdp__links a:nth-child(2):hover {
	background: var(--ink); color: var(--paper); box-shadow: 1px 1px 0 color-mix(in srgb, var(--ink) 38%, transparent);
}

/* ---- ghost: outline ---- */
.kv-btn--ghost, .kv-consent__btn, .kv-map__btn, .kv-pdp__links a:nth-child(1), .kv-woo .button.kv-btn--ghost {
	background: transparent; color: var(--ink); border-color: var(--ink); box-shadow: 4px 4px 0 var(--ink);
}
.kv-btn--ghost:hover, .kv-consent__btn:hover, .kv-map__btn:hover, .kv-pdp__links a:nth-child(1):hover, .kv-woo .button.kv-btn--ghost:hover {
	background: transparent; color: var(--ink); box-shadow: 1px 1px 0 var(--ink);
}

/* ---- sizes ---- */
.kv-btn--lg, .kv-woo #place_order { min-height: 56px; padding: 0 28px; font-size: 18px; }
.kv-cart__totals .kv-btn, .woocommerce-checkout .kv-woo #place_order, .kv-drawer__foot .kv-btn, .kv-locked__form .kv-btn { width: 100%; }
.kv-woo #place_order { margin-top: 16px; }
.kv-consent__btn { flex: 1; min-height: 40px; padding: 0 14px; font-size: 14px; }

/* the older arrow-link component, when used as a button: no sliding arrows, one trailing arrow */
.kv-cta.kv-btn { font-size: 16px; line-height: 1.1; letter-spacing: -0.01em; overflow: visible; }
.kv-cta.kv-btn.kv-btn--lg { font-size: 18px; }
.kv-cta.kv-btn > svg { width: 0.7em; height: 0.7em; translate: none; position: static; }
.kv-cta.kv-btn > svg:first-child { display: none; }
.kv-cta.kv-btn > span, .kv-cta.kv-btn:hover > span, .kv-cta.kv-btn:hover > svg:last-child { margin: 0; translate: none; }

/* forms: buttons sit on their own line, never glued to the field above */
.kv-woo .woocommerce-form-login__submit, .kv-woo .woocommerce-form-register__submit, .kv-woo button[name="save_account_details"], .kv-woo button[name="save_address"] { margin-top: 8px; }
.kv-woo .woocommerce-form-login .woocommerce-form-login__rememberme { margin-bottom: 8px; }

@media (max-width: 599px) {
	.kv-btn, .kv-woo #place_order { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.kv-btn, .kv-woo .button, .kv-woo #place_order, .single_add_to_cart_button, .kv-consent__btn, .kv-map__btn, .kv-pdp__links a { transition: none; }
}

/* On the dark panels (cart drawer) the pair swaps: paper fill / paper outline. */
.kv-drawer .kv-btn--primary { background: var(--paper); color: var(--ink); border-color: var(--paper); box-shadow: 4px 4px 0 color-mix(in srgb, var(--paper) 38%, transparent); }
.kv-drawer .kv-btn--primary:hover { background: var(--paper); color: var(--ink); box-shadow: 1px 1px 0 color-mix(in srgb, var(--paper) 38%, transparent); }
.kv-drawer .kv-btn--ghost { background: transparent; color: var(--paper); border-color: var(--paper); box-shadow: 4px 4px 0 var(--paper); }
.kv-drawer .kv-btn--ghost:hover { background: transparent; color: var(--paper); box-shadow: 1px 1px 0 var(--paper); }
.kv-drawer .kv-btn:focus-visible { outline-color: var(--paper); }
.kv-drawer__foot { gap: 18px; }

/* payment page: the older rules size this one separately (26px text, mobile padding); same button as the rest */
.kv-woo #place_order, .woocommerce-checkout .kv-woo #place_order { min-height: 56px; padding: 0 28px; font-size: 18px; margin-top: 16px; width: 100%; }

/* "Teklif iste" sits in the info column between two rules: give it air */
.kv-pdp__info .kv-cta.kv-btn { margin: 8px 0 28px; }
