/* ======================================================================
   KILINÇ GÜMÜŞ — BRAND SYSTEM 0.9.1
   Visual-only normalization layer.

   Contract
   - Primary CTA: black / square / invert-on-hover.
   - Secondary CTA: white / black outline / invert-on-hover.
   - Commerce CTA: 52px; standard CTA: 48px.
   - Form controls: 48px / square.
   - Utility chips & filter buttons: pill.
   - Cards/panels: 12px radius, quiet border/shadow.
   - Icon-only actions: circular.
   - Motion: no bounce/lift on buttons; subtle media motion can remain.
   - Typography: Inter/system stack everywhere.
   ====================================================================== */

/* ----------------------------------------------------------------------
   1. Native theme primitives
   ---------------------------------------------------------------------- */
.kg-theme .kg-button,
.kg-theme button.kg-button,
.kg-theme a.kg-button {
  min-height: var(--kg-action-h);
  border-radius: var(--kg-action-radius);
  border-color: var(--kg-color-ink);
  background: var(--kg-color-ink);
  color: var(--kg-color-inverse);
  box-shadow: none;
  font-family: var(--kg-font-sans);
  transition:
    background-color var(--kg-duration-fast) var(--kg-ease),
    border-color var(--kg-duration-fast) var(--kg-ease),
    color var(--kg-duration-fast) var(--kg-ease),
    opacity var(--kg-duration-fast) var(--kg-ease);
}
.kg-theme .kg-button:hover,
.kg-theme button.kg-button:hover,
.kg-theme a.kg-button:hover {
  border-color: var(--kg-color-ink);
  background: var(--kg-color-surface);
  color: var(--kg-color-ink);
  transform: none;
}
.kg-theme .kg-button--outline {
  background: var(--kg-color-surface);
  color: var(--kg-color-ink);
}
.kg-theme .kg-button--outline:hover {
  background: var(--kg-color-ink);
  color: var(--kg-color-inverse);
}
.kg-theme .kg-button--ghost,
.kg-theme .kg-button--ghost:hover {
  min-height: auto;
  border-color: transparent;
  background: transparent;
  color: var(--kg-color-ink);
}

.kg-theme .kg-input,
.kg-theme .kg-select,
.kg-theme .kg-textarea {
  min-height: var(--kg-control-h);
  border-color: var(--kg-color-line);
  border-radius: var(--kg-control-radius);
  background: var(--kg-color-surface);
  color: var(--kg-color-text);
  box-shadow: none;
  font-family: var(--kg-font-sans);
  transition:
    border-color var(--kg-duration-fast) var(--kg-ease),
    box-shadow var(--kg-duration-fast) var(--kg-ease),
    background-color var(--kg-duration-fast) var(--kg-ease);
}
.kg-theme .kg-input:focus,
.kg-theme .kg-select:focus,
.kg-theme .kg-textarea:focus {
  border-color: var(--kg-color-ink);
  box-shadow: var(--kg-focus-ring);
}

.kg-theme .kg-skeleton {
  animation-duration: var(--kg-skeleton-duration);
}

/* ----------------------------------------------------------------------
   2. Contact Form 7 / İletişim
   ---------------------------------------------------------------------- */
.kg-theme .kg-contact .wpcf7 input[type="text"],
.kg-theme .kg-contact .wpcf7 input[type="email"],
.kg-theme .kg-contact .wpcf7 input[type="tel"],
.kg-theme .kg-contact .wpcf7 input[type="url"],
.kg-theme .kg-contact .wpcf7 select {
  min-height: var(--kg-control-h);
  border-color: var(--kg-color-line);
  border-radius: var(--kg-control-radius);
}
.kg-theme .kg-contact .wpcf7 textarea {
  border-color: var(--kg-color-line);
  border-radius: var(--kg-control-radius);
}
.kg-theme .kg-contact .wpcf7 input[type="submit"],
.kg-theme .kg-contact .wpcf7 .wpcf7-submit {
  min-height: var(--kg-action-h);
  border-radius: var(--kg-action-radius);
  background: var(--kg-color-ink);
  border-color: var(--kg-color-ink);
  color: var(--kg-color-inverse);
}
.kg-theme .kg-contact .wpcf7 input[type="submit"]:hover,
.kg-theme .kg-contact .wpcf7 .wpcf7-submit:hover {
  background: var(--kg-color-surface);
  color: var(--kg-color-ink);
}
.kg-theme .kg-contact .wpcf7-spinner {
  background-color: var(--kg-spinner-head);
}

/* ----------------------------------------------------------------------
   4. Favorilerim
   ---------------------------------------------------------------------- */
body.kg-theme .kfav-page {
  --kfav-ink: var(--kg-color-ink);
  --kfav-soft: var(--kg-color-muted);
  --kfav-line: var(--kg-color-line-soft);
  --kfav-paper: var(--kg-color-surface);
  --kfav-cream: var(--kg-color-surface-warm);
  --kfav-danger: var(--kg-color-danger);
  --kfav-radius: var(--kg-card-radius);
  --kfav-shadow: var(--kg-shadow-card);
  color: var(--kg-color-text);
  font-family: var(--kg-font-sans);
}
body.kg-theme .kfav-hero,
body.kg-theme .kfav-toolbar,
body.kg-theme .kfav-card,
body.kg-theme .kfav-filter-empty {
  border-radius: var(--kg-card-radius) !important;
}
body.kg-theme .kfav-card {
  box-shadow: var(--kg-shadow-card) !important;
}
body.kg-theme .kfav-card:hover {
  transform: none !important;
  box-shadow: var(--kg-shadow-card) !important;
}
body.kg-theme .kfav-filter,
body.kg-theme .kfav-tbtn {
  border-radius: var(--kg-chip-radius) !important;
  transform: none !important;
}
body.kg-theme .kfav-filter:hover,
body.kg-theme .kfav-tbtn:hover {
  transform: none !important;
}
body.kg-theme .kfav-cart-link,
body.kg-theme .kfav-btn-link,
body.kg-theme .kfav-btn-primary,
body.kg-theme .kfav-btn-outline,
body.kg-theme .kfav-btn-danger {
  min-height: 40px;
  border-radius: var(--kg-action-radius) !important;
  box-shadow: none !important;
  transform: none !important;
}
body.kg-theme .kfav-cart-link,
body.kg-theme .kfav-btn-link {
  border: 1px solid var(--kg-color-ink) !important;
  background: var(--kg-color-ink) !important;
  color: var(--kg-color-inverse) !important;
}
body.kg-theme .kfav-cart-link:hover,
body.kg-theme .kfav-btn-link:hover {
  border-color: var(--kg-color-ink) !important;
  background: var(--kg-color-surface) !important;
  color: var(--kg-color-ink) !important;
}
body.kg-theme .kfav-share-input-row,
body.kg-theme .kfav-social-btn {
  border-radius: var(--kg-action-radius) !important;
}
body.kg-theme .kfav-spinner {
  border-color: var(--kg-spinner-track) !important;
  border-top-color: var(--kg-spinner-head) !important;
  animation-duration: var(--kg-spinner-duration) !important;
}
body.kg-theme .kfav-heart.kfav-loading::after {
  border-color: var(--kg-spinner-track) !important;
  border-top-color: var(--kg-spinner-head) !important;
  animation-duration: var(--kg-spinner-duration) !important;
}

/* ----------------------------------------------------------------------
   5. İade sistemi
   ---------------------------------------------------------------------- */
body.kg-theme .kilinc-return-wrapper,
body.kg-theme .kilinc-return-account,
body.kg-theme .kilinc-return-login-gate {
  --kg-ink: var(--kg-color-ink);
  --kg-muted: var(--kg-color-muted);
  --kg-soft: var(--kg-color-surface-soft);
  --kg-border: var(--kg-color-line-soft);
  --kg-gold: var(--kg-color-muted);
  --kg-success: var(--kg-color-success);
  --kg-danger: var(--kg-color-danger);
  color: var(--kg-color-text);
  font-family: var(--kg-font-sans);
}
body.kg-theme .kilinc-return-wrapper,
body.kg-theme .kilinc-return-login-gate,
body.kg-theme .kilinc-return-account {
  border-color: var(--kg-color-line-soft) !important;
  border-radius: var(--kg-panel-radius) !important;
  box-shadow: var(--kg-shadow-card) !important;
  background: var(--kg-color-surface) !important;
}
body.kg-theme .kilinc-return-head,
body.kg-theme .kilinc-return-account-head,
body.kg-theme .kilinc-return-login-gate {
  background: var(--kg-color-surface) !important;
}
body.kg-theme .kilinc-return-eyebrow {
  color: var(--kg-color-muted) !important;
}
body.kg-theme .kilinc-return-assurance span {
  border-color: var(--kg-color-line-soft) !important;
  background: var(--kg-color-surface-warm) !important;
  color: var(--kg-color-muted) !important;
}
body.kg-theme .kilinc-input,
body.kg-theme .kilinc-select,
body.kg-theme .kilinc-textarea,
body.kg-theme .kilinc-product-qty input {
  min-height: var(--kg-control-h) !important;
  border-color: var(--kg-color-line) !important;
  border-radius: var(--kg-control-radius) !important;
  background: var(--kg-color-surface) !important;
  color: var(--kg-color-text) !important;
  box-shadow: none !important;
}
body.kg-theme .kilinc-input:focus,
body.kg-theme .kilinc-select:focus,
body.kg-theme .kilinc-textarea:focus,
body.kg-theme .kilinc-product-qty input:focus {
  border-color: var(--kg-color-ink) !important;
  box-shadow: var(--kg-focus-ring) !important;
}
body.kg-theme .kilinc-product-option,
body.kg-theme .kilinc-product-placeholder,
body.kg-theme .file-upload-wrapper,
body.kg-theme .kilinc-return-response,
body.kg-theme .kilinc-return-notice {
  border-radius: var(--kg-card-radius) !important;
}
body.kg-theme .kilinc-product-option:hover {
  border-color: var(--kg-color-ink) !important;
  box-shadow: var(--kg-shadow-card) !important;
  transform: none !important;
}
body.kg-theme .kilinc-product-option.is-selected {
  border-color: var(--kg-color-ink) !important;
  background: var(--kg-color-surface-warm) !important;
  box-shadow: var(--kg-focus-ring) !important;
}
body.kg-theme .kilinc-product-image {
  border-radius: var(--kg-radius-sm) !important;
}
body.kg-theme .kilinc-btn,
body.kg-theme .kilinc-return-secondary-btn,
body.kg-theme .kilinc-view-order-return .button,
body.kg-theme .kilinc-return-login-btn {
  min-height: var(--kg-action-h) !important;
  border: 1px solid var(--kg-color-ink) !important;
  border-radius: var(--kg-action-radius) !important;
  background: var(--kg-color-ink) !important;
  color: var(--kg-color-inverse) !important;
  box-shadow: none !important;
  transform: none !important;
  transition:
    background-color var(--kg-duration-fast) var(--kg-ease),
    border-color var(--kg-duration-fast) var(--kg-ease),
    color var(--kg-duration-fast) var(--kg-ease),
    opacity var(--kg-duration-fast) var(--kg-ease) !important;
}
body.kg-theme .kilinc-btn:hover,
body.kg-theme .kilinc-return-secondary-btn:hover,
body.kg-theme .kilinc-view-order-return .button:hover,
body.kg-theme .kilinc-return-login-btn:hover {
  border-color: var(--kg-color-ink) !important;
  background: var(--kg-color-surface) !important;
  color: var(--kg-color-ink) !important;
  box-shadow: none !important;
  transform: none !important;
}

/* ----------------------------------------------------------------------
   6. Sipariş Takip
   ---------------------------------------------------------------------- */
body.kg-theme .kg-track-wrapper {
  --kg-bg: var(--kg-color-surface);
  --kg-surface: var(--kg-color-surface);
  --kg-soft: var(--kg-color-surface-soft);
  --kg-soft-2: var(--kg-color-surface-warm);
  --kg-line: var(--kg-color-line-soft);
  --kg-line-strong: var(--kg-color-line);
  --kg-text: var(--kg-color-ink);
  --kg-muted: var(--kg-color-muted);
  --kg-muted-2: var(--kg-color-subtle);
  --kg-accent: var(--kg-color-muted);
  --kg-success: var(--kg-color-success);
  --kg-danger: var(--kg-color-danger);
  --kg-radius: var(--kg-card-radius);
  --kg-radius-sm: var(--kg-control-radius);
  font-family: var(--kg-font-sans);
}
body.kg-theme .kg-track-box,
body.kg-theme .kg-track-card,
body.kg-theme .kg-items-list,
body.kg-theme .kg-info-box {
  border-radius: var(--kg-card-radius);
  box-shadow: none;
}
body.kg-theme .kg-track-eyebrow,
body.kg-theme .kg-card-kicker {
  color: var(--kg-color-muted);
}
body.kg-theme .kg-track-wrapper .kg-input {
  min-height: var(--kg-control-h);
  border-radius: var(--kg-control-radius);
}
body.kg-theme .kg-submit-btn,
body.kg-theme .kg-courier-btn {
  min-height: var(--kg-action-h);
  border: 1px solid var(--kg-color-ink);
  border-radius: var(--kg-action-radius);
  background: var(--kg-color-ink);
  color: var(--kg-color-inverse) !important;
  box-shadow: none;
  transform: none;
  transition:
    background-color var(--kg-duration-fast) var(--kg-ease),
    border-color var(--kg-duration-fast) var(--kg-ease),
    color var(--kg-duration-fast) var(--kg-ease),
    opacity var(--kg-duration-fast) var(--kg-ease);
}
body.kg-theme .kg-submit-btn:hover:not(:disabled),
body.kg-theme .kg-courier-btn:hover {
  border-color: var(--kg-color-ink);
  background: var(--kg-color-surface);
  color: var(--kg-color-ink) !important;
  transform: none;
}
body.kg-theme .kg-result-skeleton span {
  background: linear-gradient(90deg, #efeee9 25%, #f8f7f4 37%, #efeee9 63%);
  background-size: 400% 100%;
  animation-duration: var(--kg-skeleton-duration);
}

/* ----------------------------------------------------------------------
   7. Hediye Bulucu
   ---------------------------------------------------------------------- */
body.kg-theme .kghf-app {
  --kghf-black: var(--kg-color-ink);
  --kghf-text: var(--kg-color-text);
  --kghf-muted: var(--kg-color-muted);
  --kghf-border: var(--kg-color-line);
  --kghf-border-soft: var(--kg-color-line-soft);
  --kghf-soft: var(--kg-color-surface-soft);
  --kghf-soft-2: var(--kg-color-surface-warm);
  --kghf-white: var(--kg-color-surface);
  --kghf-red: var(--kg-color-danger);
  --kghf-success: var(--kg-color-success);
  --kghf-radius-lg: var(--kg-card-radius);
  --kghf-radius-md: var(--kg-control-radius);
  --kghf-shadow: var(--kg-shadow-card);
  color: var(--kg-color-text);
  font-family: var(--kg-font-sans);
}
body.kg-theme .kghf-intro,
body.kg-theme .kghf-results,
body.kg-theme .kghf-product-card,
body.kg-theme .kghf-cta,
body.kg-theme .kghf-no-results {
  border-radius: var(--kg-card-radius);
}
body.kg-theme .kghf-product-card:hover {
  transform: none;
  box-shadow: var(--kg-shadow-card);
}
body.kg-theme .kghf-option {
  border-radius: var(--kg-card-radius) !important;
}
body.kg-theme .kghf-option:hover,
body.kg-theme .kghf-option:focus-visible {
  border-color: var(--kg-color-line) !important;
  background: var(--kg-color-surface-warm) !important;
  box-shadow: var(--kg-shadow-card) !important;
  transform: none !important;
}
body.kg-theme .kghf-option.is-selected {
  border-color: var(--kg-color-ink) !important;
  background: var(--kg-color-surface-warm) !important;
}
body.kg-theme .kghf-eyebrow,
body.kg-theme .kghf-step-kicker,
body.kg-theme .kghf-cta-eyebrow {
  color: var(--kg-color-subtle);
}
body.kg-theme .kghf-primary-button,
body.kg-theme .kghf-cta-button {
  min-height: var(--kg-action-h) !important;
  border: 1px solid var(--kg-color-ink) !important;
  border-radius: var(--kg-action-radius) !important;
  background: var(--kg-color-ink) !important;
  color: var(--kg-color-inverse) !important;
  box-shadow: none !important;
  transform: none !important;
}
body.kg-theme .kghf-primary-button:hover,
body.kg-theme .kghf-primary-button:focus-visible,
body.kg-theme .kghf-cta-button:hover {
  border-color: var(--kg-color-ink) !important;
  background: var(--kg-color-surface) !important;
  color: var(--kg-color-ink) !important;
  transform: none !important;
}
body.kg-theme .kghf-secondary-button {
  min-height: 42px !important;
  border-radius: var(--kg-action-radius) !important;
  border-color: var(--kg-color-ink) !important;
  background: var(--kg-color-surface) !important;
  color: var(--kg-color-ink) !important;
}
body.kg-theme .kghf-secondary-button:hover,
body.kg-theme .kghf-secondary-button:focus-visible {
  background: var(--kg-color-ink) !important;
  color: var(--kg-color-inverse) !important;
}
body.kg-theme .kghf-card-primary,
body.kg-theme .kghf-card-secondary {
  border-radius: var(--kg-action-radius) !important;
}
body.kg-theme .kghf-loader {
  width: var(--kg-spinner-size);
  height: var(--kg-spinner-size);
  border-color: var(--kg-spinner-track);
  border-top-color: var(--kg-spinner-head);
  animation-duration: var(--kg-spinner-duration);
}

/* ----------------------------------------------------------------------
   8. E-bülten
   ---------------------------------------------------------------------- */
body.kg-theme .kg-nl {
  color: var(--kg-color-text) !important;
  font-family: var(--kg-font-sans) !important;
}
body.kg-theme .kg-nl__shell {
  border-color: var(--kg-color-line-soft) !important;
  border-radius: var(--kg-card-radius) !important;
  background: var(--kg-color-surface) !important;
  box-shadow: var(--kg-shadow-card) !important;
}
body.kg-theme .kg-nl__eyebrow {
  color: var(--kg-color-muted) !important;
}
body.kg-theme .kg-nl__copy p {
  color: var(--kg-color-muted) !important;
}
body.kg-theme .kg-nl input.kg-nl__email,
body.kg-theme .kg-nl input.newsletter-email,
body.kg-theme .kg-nl input[type="email"].newsletter-email {
  height: var(--kg-control-h) !important;
  min-height: var(--kg-control-h) !important;
  border-color: var(--kg-color-line) !important;
  border-radius: var(--kg-control-radius) !important;
  background: var(--kg-color-surface) !important;
  color: var(--kg-color-text) !important;
  line-height: normal !important;
}
body.kg-theme .kg-nl button.kg-nl__button,
body.kg-theme .kg-nl .kg-nl__button[type="submit"],
body.kg-theme .kg-nl button[type="submit"].kg-nl__button {
  height: var(--kg-action-h) !important;
  min-height: var(--kg-action-h) !important;
  border: 1px solid var(--kg-color-ink) !important;
  border-radius: var(--kg-action-radius) !important;
  background: var(--kg-color-ink) !important;
  color: var(--kg-color-inverse) !important;
  box-shadow: none !important;
  transform: none !important;
}
body.kg-theme .kg-nl button.kg-nl__button:hover,
body.kg-theme .kg-nl .kg-nl__button[type="submit"]:hover {
  border-color: var(--kg-color-ink) !important;
  background: var(--kg-color-surface) !important;
  color: var(--kg-color-ink) !important;
  transform: none !important;
}

/* ----------------------------------------------------------------------
   9. Side Cart
   ---------------------------------------------------------------------- */
body.kg-theme .ksc-root,
body.kg-theme [class*="ksc-"] {
  font-family: var(--kg-font-sans);
}
body.kg-theme .ksc-close-btn {
  transform: none !important;
}
body.kg-theme .ksc-close-btn:hover {
  background: var(--kg-color-surface-soft);
  transform: none !important;
}
body.kg-theme .ksc-btn {
  min-height: var(--kg-action-h-lg);
  border-radius: var(--kg-action-radius);
  box-shadow: none;
}
body.kg-theme .ksc-checkout-btn {
  border: 1px solid var(--kg-color-ink);
  background: var(--kg-color-ink);
  color: var(--kg-color-inverse) !important;
}
body.kg-theme .ksc-checkout-btn:hover {
  border-color: var(--kg-color-ink);
  background: var(--kg-color-surface);
  color: var(--kg-color-ink) !important;
}
body.kg-theme .ksc-checkout-btn:hover .ksc-btn-price,
body.kg-theme .ksc-checkout-btn:hover .ksc-btn-price span,
body.kg-theme .ksc-checkout-btn:hover .ksc-btn-price bdi {
  color: var(--kg-color-ink) !important;
}
body.kg-theme .ksc-viewcart-btn {
  border: 1px solid var(--kg-color-ink);
  background: var(--kg-color-surface);
  color: var(--kg-color-ink);
}
body.kg-theme .ksc-viewcart-btn:hover {
  background: var(--kg-color-ink);
  color: var(--kg-color-inverse);
}
body.kg-theme .ksc-loading {
  opacity: .56;
  filter: none;
}

/* ----------------------------------------------------------------------
   10. Mobile menu
   ---------------------------------------------------------------------- */
body.kg-theme .kilinc-custom-wrapper,
body.kg-theme .kilinc-custom-wrapper *:not(svg):not(path) {
  font-family: var(--kg-font-sans);
}
body.kg-theme .kilinc-custom-wrapper .km-welcome {
  font-family: var(--kg-font-display);
  font-style: italic;
  font-weight: 650;
  color: var(--kg-color-ink);
}
body.kg-theme .kilinc-custom-wrapper .km-btn {
  min-height: 44px;
  border: 1px solid var(--kg-color-line-soft);
  border-radius: var(--kg-card-radius);
  background: var(--kg-color-surface-soft);
  color: var(--kg-color-text);
  transition:
    background-color var(--kg-duration-fast) var(--kg-ease),
    border-color var(--kg-duration-fast) var(--kg-ease),
    color var(--kg-duration-fast) var(--kg-ease);
}
body.kg-theme .kilinc-custom-wrapper .km-btn:hover {
  border-color: var(--kg-color-line);
  background: var(--kg-color-surface);
  color: var(--kg-color-ink);
}

/* ----------------------------------------------------------------------
   11. Cart / Checkout / Thank-you
   ---------------------------------------------------------------------- */
body.kg-theme .kilinc-premium-cart .checkout-button,
body.kg-theme .kilinc-premium-cart .wc-proceed-to-checkout a.checkout-button,
body.kg-theme .kilinc-premium-cart .wc-proceed-to-checkout .checkout-button,
body.kg-theme .kilinc-premium-cart .wc-proceed-to-checkout button,
body.kg-theme .kilinc-premium-cart .wc-proceed-to-checkout input[type="submit"] {
  min-height: var(--kg-action-h-lg) !important;
  border: 1px solid var(--kg-color-ink) !important;
  border-radius: var(--kg-action-radius) !important;
  background: var(--kg-color-ink) !important;
  color: var(--kg-color-inverse) !important;
  box-shadow: none !important;
}
body.kg-theme .kilinc-premium-cart .checkout-button:hover,
body.kg-theme .kilinc-premium-cart .checkout-button:focus,
body.kg-theme .kilinc-premium-cart .wc-proceed-to-checkout button:hover,
body.kg-theme .kilinc-premium-cart .wc-proceed-to-checkout input[type="submit"]:hover {
  border-color: var(--kg-color-ink) !important;
  background: var(--kg-color-surface) !important;
  color: var(--kg-color-ink) !important;
}
body.kg-theme .kilinc-premium-cart .checkout-button:hover svg {
  transform: none !important;
}

body.kg-theme #kc {
  font-family: var(--kg-font-sans) !important;
  color: var(--kg-color-text) !important;
}
body.kg-theme #kc .kc-card,
body.kg-theme #kc .ksum,
body.kg-theme #kc .kc-selected-addr,
body.kg-theme #kc .kship,
body.kg-theme #kc .kpay {
  border-radius: var(--kg-card-radius) !important;
}
body.kg-theme #kc .ki,
body.kg-theme #kc .ks,
body.kg-theme #kc .kt,
body.kg-theme #kc .kc-ci,
body.kg-theme #kc .kc-trigger,
body.kg-theme #kcm .mfi,
body.kg-theme #kc .ka-phone-wrap,
body.kg-theme #kcm .ka-phone-wrap {
  border-radius: var(--kg-control-radius) !important;
}
body.kg-theme #kc .ka-phone-country,
body.kg-theme #kcm .ka-phone-country,
body.kg-theme #kc .ka-phone-wrap input.ka-phone-local,
body.kg-theme #kcm .ka-phone-wrap input.ka-phone-local {
  border-radius: 0 !important;
}
body.kg-theme #kc .kc-cb,
body.kg-theme #kc #place_order {
  min-height: var(--kg-action-h-lg) !important;
  height: var(--kg-action-h-lg) !important;
  padding: 0 22px !important;
  border: 1px solid var(--kg-color-ink) !important;
  border-radius: var(--kg-action-radius) !important;
  background: var(--kg-color-ink) !important;
  color: var(--kg-color-inverse) !important;
}
body.kg-theme #kc .kc-cb:hover,
body.kg-theme #kc #place_order:hover {
  border-color: var(--kg-color-ink) !important;
  background: var(--kg-color-surface) !important;
  color: var(--kg-color-ink) !important;
}
body.kg-theme #kc .kc-cb:disabled,
body.kg-theme #kc #place_order:disabled {
  border-color: #aaaaa5 !important;
  background: #aaaaa5 !important;
  color: #ffffff !important;
  cursor: not-allowed !important;
  opacity: .72;
}

body.kg-theme .kg-thankyou-page .kg-button,
body.kg-theme .kg-thankyou-main a.button,
body.kg-theme .kg-thankyou-main button.button,
body.kg-theme .kg-thankyou-main .button {
  min-height: var(--kg-action-h) !important;
  border-radius: var(--kg-action-radius) !important;
  box-shadow: none !important;
}
body.kg-theme .kg-thankyou-page .kg-button--primary,
body.kg-theme .kg-thankyou-main a.button,
body.kg-theme .kg-thankyou-main button.button {
  border: 1px solid var(--kg-color-ink) !important;
  background: var(--kg-color-ink) !important;
  color: var(--kg-color-inverse) !important;
}
body.kg-theme .kg-thankyou-page .kg-button--primary:hover,
body.kg-theme .kg-thankyou-main a.button:hover,
body.kg-theme .kg-thankyou-main button.button:hover {
  background: var(--kg-color-surface) !important;
  color: var(--kg-color-ink) !important;
}
body.kg-theme .kg-thankyou-page .kg-button--secondary {
  border: 1px solid var(--kg-color-ink) !important;
  background: var(--kg-color-surface) !important;
  color: var(--kg-color-ink) !important;
}
body.kg-theme .kg-thankyou-page .kg-button--secondary:hover {
  background: var(--kg-color-ink) !important;
  color: var(--kg-color-inverse) !important;
}

/* ----------------------------------------------------------------------
   12. Global accessibility/motion coherence
   ---------------------------------------------------------------------- */
body.kg-theme button:focus-visible,
body.kg-theme a:focus-visible,
body.kg-theme input:focus-visible,
body.kg-theme select:focus-visible,
body.kg-theme textarea:focus-visible {
  outline-color: var(--kg-color-ink);
}

@media (prefers-reduced-motion: reduce) {
  body.kg-theme .kfav-card,
  body.kg-theme .kghf-product-card,
  body.kg-theme .kilinc-product-option,
  body.kg-theme .ksc-close-btn {
    transform: none !important;
  }
}

/* ----------------------------------------------------------------------
   11. Checkout focus mode
   Active payment flow intentionally removes the main site chrome so the
   customer sees one focused, branded checkout surface without distractions.
   ---------------------------------------------------------------------- */
body.kg-theme.kg-checkout-focus {
  background: var(--kg-color-surface-soft);
}
body.kg-theme.kg-checkout-focus .kg-main--checkout-focus {
  min-height: 100vh;
  padding: clamp(24px, 3vw, 42px) 0 56px;
}
body.kg-theme.kg-checkout-focus #kc {
  margin-inline: auto;
}
@media (max-width: 640px) {
  body.kg-theme.kg-checkout-focus .kg-main--checkout-focus {
    padding-top: 18px;
    padding-bottom: 36px;
  }
}

/* ----------------------------------------------------------------------
   13. Site-wide product media radius contract
   Category cards are the visual reference. Every customer-facing product
   image surface uses the same rounded language without changing image ratio,
   loading behaviour, gallery logic or WooCommerce data.
   ---------------------------------------------------------------------- */
body.kg-theme {
  --kg-product-media-radius: 16px;
  --kg-product-media-radius-mobile: 12px;
  --kg-product-thumb-radius: 10px;
  --kg-product-media-line: #ededed;
}

/* Shared WooCommerce product cards: home, archives, related/recent products,
   search result grids and every surface using the native kg-product-card. */
body.kg-theme .kg-product-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--kg-product-media-line) !important;
  border-radius: var(--kg-product-media-radius) !important;
  background: #fff;
}
body.kg-theme .kg-product-card__media {
  overflow: hidden !important;
  border-radius: calc(var(--kg-product-media-radius) - 1px) calc(var(--kg-product-media-radius) - 1px) 0 0 !important;
  background: #f2f2f2;
}
body.kg-theme .kg-product-card__media-link,
body.kg-theme .kg-product-card__media img {
  border-radius: inherit;
}
body.kg-theme .kg-product-card .kg-product-card__body {
  flex: 1;
  padding: 12px 18px 24px !important;
}

/* Product images in auxiliary commerce surfaces. */
body.kg-theme .kg-search-result img {
  border-radius: var(--kg-product-thumb-radius) !important;
}
body.kg-theme .kilinc-premium-cart .product-thumbnail img,
body.kg-theme .kilinc-premium-cart .kg-cart-suggestion__image {
  overflow: hidden;
  border-radius: var(--kg-product-media-radius-mobile) !important;
}
body.kg-theme .kfav-card-img {
  overflow: hidden;
  border-radius: calc(var(--kg-product-media-radius) - 1px) calc(var(--kg-product-media-radius) - 1px) 0 0 !important;
}
/* P1.3: favorites use the catalogue's portrait media ratio. Keep their grid,
   content, actions and existing crop/hover behaviour. */
body.kg-theme .kfav-page .kfav-card-img {
  aspect-ratio: var(--kg-product-ratio, 3 / 4);
}
body.kg-theme .kghf-card-image {
  overflow: hidden;
  border-radius: calc(var(--kg-product-media-radius) - 1px) calc(var(--kg-product-media-radius) - 1px) 0 0 !important;
}

@media (max-width: 640px) {
  body.kg-theme {
    --kg-product-media-radius: var(--kg-product-media-radius-mobile);
    --kg-product-thumb-radius: 8px;
  }
  body.kg-theme .kg-product-card .kg-product-card__body {
    padding: 10px 10px 18px !important;
  }
}

/* ----------------------------------------------------------------------
   13.6 Global swipe dash contract
   Every carousel/slider that exposes a swipe indicator uses one visual
   language: a quiet 48x2 rail with one live dark segment. This is purely
   navigational UI; shipping/cart progress bars are intentionally excluded.
   ---------------------------------------------------------------------- */
:root {
  --kg-swipe-dash-width: 48px;
  --kg-swipe-dash-height: 2px;
  --kg-swipe-dash-track: rgba(17, 17, 17, .13);
  --kg-swipe-dash-active: #111111;
}

/* Native theme sliders ------------------------------------------------ */
body.kg-theme .kg-slider__dots {
  position: relative !important;
  display: block !important;
  width: var(--kg-swipe-dash-width) !important;
  height: var(--kg-swipe-dash-height) !important;
  min-height: var(--kg-swipe-dash-height) !important;
  margin: 14px auto 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  overflow: visible !important;
  background: var(--kg-swipe-dash-track) !important;
}

body.kg-theme .kg-slider__dots::after {
  content: '';
  position: absolute;
  top: 0;
  left: var(--kg-swipe-progress, 0%);
  width: var(--kg-swipe-progress-size, 30%);
  height: 100%;
  border-radius: inherit;
  background: var(--kg-swipe-dash-active);
  pointer-events: none;
  transition: left .2s ease, width .2s ease;
}

body.kg-theme .kg-slider__dot {
  position: absolute !important;
  top: -10px !important;
  height: 22px !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  opacity: 0 !important;
  cursor: pointer;
}

/* Product-card swipe galleries --------------------------------------- */
body.kg-theme .kg-product-card__media.klc-card-gallery-box .klc-card-gallery__dots {
  position: absolute !important;
  left: 50% !important;
  bottom: 12px !important;
  z-index: 18 !important;
  display: block !important;
  width: var(--kg-swipe-dash-width) !important;
  height: var(--kg-swipe-dash-height) !important;
  min-height: var(--kg-swipe-dash-height) !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 999px !important;
  background: var(--kg-swipe-dash-track) !important;
  transform: translateX(-50%) !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

body.kg-theme .kg-product-card__media.klc-card-gallery-box .klc-card-gallery__dots::after {
  content: '';
  position: absolute;
  inset-block: 0;
  left: var(--kg-swipe-progress, 0%);
  width: var(--kg-swipe-progress-size, 30%);
  border-radius: inherit;
  background: var(--kg-swipe-dash-active);
  transition: left .18s ease, width .18s ease;
}

body.kg-theme .kg-product-card__media.klc-card-gallery-box .klc-card-gallery__dot {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  body.kg-theme .kg-slider__dots::after,
  body.kg-theme .kg-product-card__media.klc-card-gallery-box .klc-card-gallery__dots::after {
    transition: none !important;
  }
}
