/* ============================================================
   KOY Pantry — WooCommerce Blocks branding (Cart + Checkout)
   ------------------------------------------------------------
   CSS ONLY. Nothing here changes checkout behaviour:
     - no display:none on any control, notice or payment element
     - no width/height/layout override inside express-payment or
       payment-method containers (Stripe renders those; Apple Pay
       and card fields live in cross-origin iframes)
     - no !important anywhere; the scope prefix is :where() so it
       contributes 0 specificity and the target class alone carries
       the weight — later load order wins over wc-blocks' own rules
   Scope: the cart/checkout block roots only, so the mini-cart
   drawer and /my-account (owned by another agent) stay untouched.
   Tokens: assets/css/tokens.css — var(--koy-*) only, no raw hex.
   Enqueue after koy-theme. Depends on: koy-tokens, koy-theme.

   Shorthand used below:
     $CC = :where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)
   (written out literally — CSS has no selector variables.)
   ============================================================ */

/* ------------------------------------------------------------
   1. Block shell — base type + kill Gutenberg/Woo purple & blue
   ------------------------------------------------------------
   wc-blocks and @wordpress/components read --wp-admin-theme-color
   for links, focus rings, spinners and the "wc purple" fills.
   Remapping it at the block root removes the default palette in
   one move instead of chasing each component down. */
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) {
  --wp-admin-theme-color: var(--koy-ink);
  --wp-admin-theme-color-darker-10: var(--koy-ink-soft);
  --wp-admin-theme-color-darker-20: var(--koy-ink);
  font-family: var(--koy-font-body);
  font-weight: 300;
  font-size: var(--koy-text-body);
  line-height: var(--koy-leading-body);
  color: var(--koy-body);
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) a { color: var(--koy-ink); }

/* Colour-blind rule: no state below is signalled by hue alone —
   notices keep their icon, validation keeps its message text. */

/* ------------------------------------------------------------
   2. Typography — SECTION titles only
   ------------------------------------------------------------
   Display face + lowercase goes on section headings ("cart
   totals", "shipping address"). Product names are real proper
   nouns and are explicitly protected in section 6. */
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(.wc-block-components-title, .wc-block-components-checkout-step__title, .wc-block-cart__empty-cart__title, .wc-block-components-order-summary__title-text) {
  font-family: var(--koy-font-display);
  font-weight: 300;
  font-size: var(--koy-text-h3);
  line-height: var(--koy-leading-tight);
  letter-spacing: 0;
  color: var(--koy-ink);
  text-transform: lowercase;
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-checkout-step__description {
  font-size: var(--koy-text-small);
  color: var(--koy-muted);
}
/* step number badge, when "show step numbers" is enabled */
:where(.wp-block-woocommerce-checkout) .wc-block-components-checkout-step__title::before { color: var(--koy-muted); }

/* ------------------------------------------------------------
   3. Buttons — ink primary (mirrors .koy-btn--primary)
   ------------------------------------------------------------
   Covers "Proceed to Checkout", "Place Order", coupon "Apply".
   The :not() guards keep the quiet variants (§4) and the panel
   toggles (§12) out of this rule. */
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-button:not(.is-link):not(.wc-block-components-panel__button),
:where(.wp-block-woocommerce-cart) .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--koy-touch-min);
  padding: 0 var(--koy-sp-5);
  border: 1px solid transparent;
  border-radius: var(--koy-radius-sm);
  background-color: var(--koy-ink);
  background-image: none;
  color: var(--koy-on-dark);
  font-family: var(--koy-font-body);
  font-weight: 700;
  font-size: var(--koy-text-small);
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .14em;
  text-decoration: none;
  box-shadow: none;
  transition: background-color var(--koy-dur-fast) var(--koy-ease-out), color var(--koy-dur-fast) var(--koy-ease-out), box-shadow var(--koy-dur-fast) var(--koy-ease-out);
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-button:not(.is-link):not(.wc-block-components-panel__button):hover:not(:disabled),
:where(.wp-block-woocommerce-cart) .wp-block-button__link:hover {
  background-color: var(--koy-ink-soft);
  color: var(--koy-on-dark);
  box-shadow: var(--koy-shadow-lift);
}
/* wc-blocks marks the button aria-disabled (not :disabled) while an
   order is being placed — both states are covered. */
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-button:not(.is-link):disabled,
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-button:not(.is-link)[aria-disabled="true"] {
  background-color: var(--koy-line-soft);
  color: var(--koy-muted);
  box-shadow: none;
  cursor: not-allowed;
}
/* outlined variant (extensions occasionally use it) */
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-button.outlined {
  background-color: transparent;
  border-color: var(--koy-ink);
  color: var(--koy-ink);
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-button.outlined:hover:not(:disabled) {
  background-color: var(--koy-ink);
  color: var(--koy-on-dark);
}
:where(.wp-block-woocommerce-cart) .wc-block-cart__submit-button { width: 100%; }

/* ------------------------------------------------------------
   4. Quiet links — remove, return to cart, edit address
   ------------------------------------------------------------ */
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(.wc-block-components-button.is-link, .wc-block-cart-item__remove-link, .wc-block-components-checkout-return-to-cart-button, .wc-block-components-address-card__edit) {
  min-height: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: var(--koy-muted);
  font-family: var(--koy-font-body);
  font-weight: 300;
  font-size: var(--koy-text-small);
  text-transform: none;
  letter-spacing: 0;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color var(--koy-dur-fast) var(--koy-ease-out);
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(.wc-block-components-button.is-link, .wc-block-cart-item__remove-link, .wc-block-components-checkout-return-to-cart-button, .wc-block-components-address-card__edit):hover {
  color: var(--koy-ink);
  background: none;
}

/* ------------------------------------------------------------
   5. Inputs, selects, labels — the .koy-control look
   ------------------------------------------------------------
   Vertical padding is deliberately NOT touched: wc-blocks floats
   its labels with absolute positioning measured against the
   input's own box, so changing padding desyncs the animation. */
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(.wc-block-components-text-input input[type="text"], .wc-block-components-text-input input[type="email"], .wc-block-components-text-input input[type="tel"], .wc-block-components-text-input input[type="number"], .wc-block-components-text-input input[type="password"], .wc-block-components-textarea, .wc-block-components-combobox-control input, .wc-block-components-select__select, .wc-block-components-country-input select, .wc-block-components-state-input select) {
  background-color: var(--koy-surface);
  border: 1px solid var(--koy-line);
  border-radius: var(--koy-radius-sm);
  color: var(--koy-ink);
  font-family: var(--koy-font-body);
  font-weight: 300;
  box-shadow: none;
  transition: border-color var(--koy-dur-fast) var(--koy-ease-out);
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(.wc-block-components-text-input input, .wc-block-components-textarea, .wc-block-components-select__select):hover {
  border-color: var(--koy-muted);
}
/* Focus keeps a visible ring — inset, so no layout shift. The
   theme's global :focus-visible outline still applies on top. */
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(.wc-block-components-text-input input, .wc-block-components-textarea, .wc-block-components-select__select):focus {
  border-color: var(--koy-ink);
  box-shadow: inset 0 0 0 1px var(--koy-ink);
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-text-input input::placeholder { color: var(--koy-muted); }

/* Labels: small + 700. Position/transform untouched so the float
   animation survives. */
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(.wc-block-components-text-input label, .wc-block-components-select__label, .wc-block-components-checkbox__label, .wc-block-components-radio-control__label) {
  font-family: var(--koy-font-body);
  font-weight: 700;
  font-size: var(--koy-text-small);
  color: var(--koy-muted);
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-text-input.is-active label { color: var(--koy-ink); }

/* native controls — removes the browser blue */
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--koy-ink); }

/* validation: colour AND wording */
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-validation-error {
  color: var(--koy-accent-ink);
  font-size: var(--koy-text-small);
  font-weight: 700;
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .has-error :is(input, textarea, select) { border-color: var(--koy-accent-ink); }

/* ------------------------------------------------------------
   6. Cart line items — soft dividers, window-radius thumbs
   ------------------------------------------------------------ */
:where(.wp-block-woocommerce-cart) .wc-block-cart-items { border: 0; }

:where(.wp-block-woocommerce-cart) .wc-block-cart-items__header {
  border-bottom: 1px solid var(--koy-line-soft);
  font-family: var(--koy-font-body);
  font-size: var(--koy-text-eyebrow);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: var(--koy-track-eyebrow);
  color: var(--koy-muted);
}
:where(.wp-block-woocommerce-cart) .wc-block-cart-items__row td {
  border-top: 1px solid var(--koy-line-soft);
  padding-block: var(--koy-sp-5);
}
:where(.wp-block-woocommerce-cart) .wc-block-cart-item__image img,
:where(.wp-block-woocommerce-checkout) .wc-block-components-order-summary-item__image img {
  border-radius: var(--koy-radius-window);
  background-color: var(--koy-surface-alt);
}

/* Product names are real names — NEVER transformed. */
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-product-name {
  font-family: var(--koy-font-body);
  font-weight: 700;
  font-size: var(--koy-text-body);
  line-height: var(--koy-leading-tight);
  color: var(--koy-ink);
  text-transform: none;
  text-decoration: none;
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-product-price {
  color: var(--koy-ink);
  font-weight: 300;
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-product-price__value.is-discounted { color: var(--koy-accent-ink); }
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(.wc-block-components-product-metadata, .wc-block-components-product-details) {
  color: var(--koy-muted);
  font-size: var(--koy-text-small);
}

/* ------------------------------------------------------------
   7. Quantity stepper — minimal, hairline ring
   ------------------------------------------------------------
   wc-blocks draws the ring on ::after; recolouring it (rather
   than hiding it) preserves their focus-within treatment. */
:where(.wp-block-woocommerce-cart) .wc-block-components-quantity-selector {
  max-width: 108px;
  background-color: var(--koy-surface);
}
:where(.wp-block-woocommerce-cart) .wc-block-components-quantity-selector::after {
  border-color: var(--koy-line);
  border-radius: var(--koy-radius-sm);
}
:where(.wp-block-woocommerce-cart) .wc-block-components-quantity-selector__input {
  background-color: transparent;
  color: var(--koy-ink);
  font-weight: 700;
  font-size: var(--koy-text-small);
}
:where(.wp-block-woocommerce-cart) .wc-block-components-quantity-selector__button {
  background-color: transparent;
  color: var(--koy-muted);
  font-weight: 300;
  opacity: 1;
  transition: color var(--koy-dur-fast) var(--koy-ease-out);
}
:where(.wp-block-woocommerce-cart) .wc-block-components-quantity-selector__button:hover:not(:disabled) {
  background-color: transparent;
  color: var(--koy-ink);
}
:where(.wp-block-woocommerce-cart) .wc-block-components-quantity-selector__button:disabled { color: var(--koy-line); }

/* ------------------------------------------------------------
   8. Order summary / totals — white card
   ------------------------------------------------------------ */
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-sidebar {
  box-sizing: border-box;
  padding: var(--koy-sp-5);
  border: 1px solid var(--koy-line-soft);
  border-radius: var(--koy-radius-md);
  background-color: var(--koy-surface);
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-totals-wrapper {
  border-top-color: var(--koy-line-soft);
  padding-block: var(--koy-sp-4);
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-totals-item {
  font-size: var(--koy-text-small);
  color: var(--koy-body);
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-totals-item__value {
  color: var(--koy-ink);
  font-weight: 700;
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-totals-item__description {
  color: var(--koy-muted);
  font-size: var(--koy-text-small);
}
/* grand total — display face, quiet weight */
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-totals-footer-item {
  border-top: 1px solid var(--koy-line-soft);
  padding-top: var(--koy-sp-4);
  font-size: var(--koy-text-h3);
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-totals-footer-item :is(.wc-block-components-totals-item__label, .wc-block-components-totals-item__value) {
  font-family: var(--koy-font-display);
  font-weight: 300;
  color: var(--koy-ink);
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { text-transform: lowercase; }

/* ------------------------------------------------------------
   9. Notices — mirrors the theme's .koy-msg pattern
   ------------------------------------------------------------
   wc-blocks banners ship an icon, so status reads without relying
   on hue (required — red/green colour blindness). */
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-notice-banner {
  margin-bottom: var(--koy-sp-5);
  padding: var(--koy-sp-4);
  border: 1px solid var(--koy-line);
  border-radius: var(--koy-radius-sm);
  background-color: var(--koy-surface-alt);
  color: var(--koy-body);
  font-size: var(--koy-text-small);
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-notice-banner.is-error {
  border-color: var(--koy-accent-ink);
  background-color: var(--koy-red-wash);
  color: var(--koy-accent-ink);
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-notice-banner.is-success {
  border-color: var(--koy-green-deep);
  background-color: var(--koy-green-wash);
  color: var(--koy-green-deep);
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-notice-banner:is(.is-info, .is-warning) {
  border-color: var(--koy-yellow-deep);
  background-color: var(--koy-yellow-wash);
  color: var(--koy-yellow-deep);
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-notice-banner > svg {
  fill: currentColor;
  background-color: transparent;
}

/* ------------------------------------------------------------
   10. Empty cart — centred, display heading, primary CTA
   ------------------------------------------------------------ */
:where(.wp-block-woocommerce-cart) .wp-block-woocommerce-empty-cart-block {
  max-width: var(--koy-container-text);
  margin-inline: auto;
  padding-block: var(--koy-sp-8);
  text-align: center;
}
:where(.wp-block-woocommerce-cart) .wc-block-cart__empty-cart__title {
  margin-bottom: var(--koy-sp-4);
  font-size: var(--koy-text-h2);
  color: var(--koy-ink);
}
:where(.wp-block-woocommerce-cart) .wp-block-woocommerce-empty-cart-block p { color: var(--koy-body); }
/* "Browse the pantry" CTA — the core button block inside the empty
   state inherits the primary pattern from §3. */
:where(.wp-block-woocommerce-cart) .wp-block-woocommerce-empty-cart-block .wp-block-buttons {
  justify-content: center;
  margin-top: var(--koy-sp-5);
}

/* ------------------------------------------------------------
   11. Express checkout (Apple Pay / Google Pay / Link)
   ------------------------------------------------------------
   Spacing and the separator rule ONLY. The button sheet itself is
   Stripe-rendered in an iframe and is never sized or recoloured
   from here. */
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-express-payment {
  margin-block: var(--koy-sp-5);
  padding: 0;
  border: 0;
  background: transparent;
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-express-payment__title {
  font-size: var(--koy-text-eyebrow);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: var(--koy-track-eyebrow);
  color: var(--koy-muted);
}
/* both border- and background- are set because the divider is drawn
   one way in the cart block and the other in the checkout block */
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(.wc-block-components-express-payment__title-container::before, .wc-block-components-express-payment__title-container::after, .wc-block-components-express-payment-continue-rule::before, .wc-block-components-express-payment-continue-rule::after) {
  border-color: var(--koy-line-soft);
  background-color: var(--koy-line-soft);
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-express-payment-continue-rule {
  margin-block: var(--koy-sp-5);
  color: var(--koy-muted);
  font-size: var(--koy-text-eyebrow);
  text-transform: uppercase;
  letter-spacing: var(--koy-track-eyebrow);
}

/* ------------------------------------------------------------
   12. Panels — coupon, shipping, order-summary accordions
   ------------------------------------------------------------ */
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-panel {
  border: 0;
  background: transparent;
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-panel__button {
  padding-inline: 0;
  background: transparent;
  color: var(--koy-ink);
  font-family: var(--koy-font-body);
  font-size: var(--koy-text-small);
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-panel__button:hover {
  background: transparent;
  color: var(--koy-ink-soft);
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-panel__content { padding-inline: 0; }

/* coupon form */
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-totals-coupon__form { gap: var(--koy-sp-2); }
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-totals-coupon__button { flex: none; }
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-chip {
  border: 1px solid var(--koy-line-soft);
  border-radius: var(--koy-radius-pill);
  background-color: var(--koy-surface-alt);
  color: var(--koy-ink);
  font-size: var(--koy-text-small);
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-chip__remove { color: var(--koy-muted); }

/* shipping / payment option rows — hairlines, no loud fills */
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option, .wc-block-components-shipping-rates-control__package, .wc-block-components-address-card) {
  border-color: var(--koy-line-soft);
  background-color: transparent;
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(.wc-block-components-radio-control__option--checked-option-highlighted, .wc-block-components-radio-control-accordion-option--checked-option-highlighted) {
  background-color: var(--koy-surface-alt);
  border-color: var(--koy-line);
}

/* ------------------------------------------------------------
   13. Checkout steps + actions row
   ------------------------------------------------------------ */
:where(.wp-block-woocommerce-checkout) .wc-block-components-checkout-step {
  margin-bottom: var(--koy-sp-6);
  border: 0;
}
:where(.wp-block-woocommerce-checkout) .wc-block-components-checkout-step__heading { margin-bottom: var(--koy-sp-3); }
:where(.wp-block-woocommerce-checkout) .wc-block-checkout__actions {
  padding-top: var(--koy-sp-5);
  border-top: 1px solid var(--koy-line-soft);
}
:where(.wp-block-woocommerce-checkout) .wc-block-checkout__actions_row { gap: var(--koy-sp-4); }
:where(.wp-block-woocommerce-checkout) .wc-block-checkout__terms {
  font-size: var(--koy-text-small);
  color: var(--koy-muted);
}

/* ------------------------------------------------------------
   14. Mobile — reasoned against a 390px viewport
   ------------------------------------------------------------
   At 390px the page gutter (--koy-sp-gutter, clamps to 16px) plus
   the card's own 16px padding leaves a 326px content column —
   enough for a 44px stepper, thumb and price on one row. */
@media (max-width: 640px) {
  :where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-sidebar { padding: var(--koy-sp-4); }
  :where(.wp-block-woocommerce-cart) .wc-block-cart-items__row td { padding-block: var(--koy-sp-4); }
  :where(.wp-block-woocommerce-cart) .wp-block-woocommerce-empty-cart-block { padding-block: var(--koy-sp-6); }
  :where(.wp-block-woocommerce-checkout) .wc-block-checkout__actions_row {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: var(--koy-sp-3);
  }
  :where(.wp-block-woocommerce-checkout) .wc-block-components-checkout-place-order-button { width: 100%; }
  :where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-checkout-return-to-cart-button { text-align: center; }
}

/* ------------------------------------------------------------
   15. Reduced motion
   ------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  :where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(.wc-block-components-button, .wc-block-components-text-input input, .wc-block-components-quantity-selector__button) {
    transition: none;
  }
}

/* ------------------------------------------------------------
   Genislik + sticky duzeltmeleri (2026-08-30)
   Cart/checkout bloklari .koy-prose'un 68ch okuma olcusune
   sikisiyordu (1512px ekranda 750px). Ticaret yuzeyi tam
   konteyner kullanir.
   ------------------------------------------------------------ */
.koy-woo .koy-prose { max-width: none; }
.koy-woo .wp-block-woocommerce-cart,
.koy-woo .wp-block-woocommerce-checkout {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
/* sticky sidebar, sticky header'in (69px) altina girmesin */
.koy-woo .wc-block-components-sidebar { top: 93px !important; }

/* "Shipping / FREE / Free shipping" satiri -> tek bold FREE SHIPPING
   (koy-woo-blocks.js satira .koy-ship-free sinifini ekler) */
.koy-ship-free .wc-block-components-totals-item__label,
.koy-ship-free .wc-block-components-totals-item__value { display: none; }
.koy-ship-free .wc-block-components-totals-item__description,
.koy-ship-free .wc-block-components-totals-shipping__via {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--koy-ink, #111821);
  font-size: 1em;
}
