/* Bridge native commerce controls into the supplied original composition. */
/* Editorial detail: retain authored frames, improve the small reading layer. */
body.kuntroversie-native .kn-native-product .kn-product-details { text-align:left; }
body.kuntroversie-native .kn-native-product .description-btn { font:11px/1.5 var(--sans); text-transform:uppercase; letter-spacing:.08em; font-style:normal; margin-bottom:14px; padding:8px 0; }
body.kuntroversie-native .kn-native-product .product-description { max-width:100%; font-size:16px; line-height:1.65; margin-bottom:22px; }
body.kuntroversie-native .kn-native-product .product-description p { margin:0 0 12px; }
body.kuntroversie-native .kn-native-product :is(.materials-label,.materials-list,.style-label) { font-size:12px; line-height:1.65; }
body.kuntroversie-native .kn-native-product .materials-list p { margin:0 0 14px; }
body.kuntroversie-native .kn-native-product .kn-garment-assistance { display:flex; flex-wrap:wrap; justify-content:center; gap:4px 20px; width:100%; max-width:420px; margin:22px auto 0; padding-top:14px; border-top:1px solid var(--line); }
body.kuntroversie-native .kn-native-product .kn-garment-assistance a { display:inline-flex; align-items:center; min-height:32px; color:var(--muted); font:11px/1.5 var(--sans); text-decoration:underline; text-underline-offset:4px; }
body.kuntroversie-native .kn-native-product .kn-garment-assistance a:hover { color:var(--ink); }
body.kuntroversie-native .kn-native-catalogue .product-info { grid-template-columns:minmax(0,1fr) auto auto; font-size:11px; line-height:1.5; gap:10px; }
body.kuntroversie-native .kn-native-catalogue .product-info > div { min-width:0; }
body.kuntroversie-native .kn-native-catalogue .product-info h3 { font-size:11px; line-height:1.5; }
body.kuntroversie-native .kn-native-catalogue .product-info p { font-size:11px; line-height:1.5; }
body.kuntroversie-native .kn-native-catalogue .product-price { white-space:nowrap; font-variant-numeric:tabular-nums; }
@media(max-width:600px) {
  body.kuntroversie-native .kn-native-catalogue .product-info { grid-template-columns:minmax(0,1fr) auto; gap:10px 6px; padding:12px 8px 0; }
  body.kuntroversie-native .kn-native-catalogue .product-info > div { grid-column:1 / -1; }
  body.kuntroversie-native .kn-native-catalogue .kart-box { justify-self:start; font-size:10px; }
  body.kuntroversie-native .kn-native-catalogue .product-info p { min-height:3em; }
  body.kuntroversie-native .kn-native-product .kn-garment-assistance a { min-height:44px; }
}
.kn-native-catalogue { width: 100%; min-width: 0; }
.kn-native-catalogue .shop-empty-state { grid-column: 1 / -1; }
.kn-native-catalogue [hidden] { display: none !important; }
.kn-native-catalogue button:focus-visible,
.kn-native-catalogue a:focus-visible,
.kn-native-catalogue select:focus-visible,
.kn-native-catalogue [tabindex]:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
.kn-native-catalogue .filter-button,
.kn-native-catalogue .kart-box { position: relative; }
body.kuntroversie-native .kn-native-catalogue .kart-box { transition:background-color .2s ease,color .2s ease; }
.kn-native-catalogue .filter-button::before,
.kn-native-catalogue .kart-box::before { content: ''; position: absolute; inset: -12px -4px; }
.kn-native-catalogue .product-media:focus-visible .front { opacity: 0; }
.kn-native-catalogue .product-media:focus-visible .back { opacity: 1; }
.kn-native-catalogue .product-media:focus-visible .quick-label { opacity: 1; transform: none; }
.kn-native-product .product-image-zoom img[hidden],
.kn-native-product .product-description[hidden] { display: none !important; }
.kn-native-product .kn-linked-variants { display: flex; align-items: center; gap: 8px; }
.kn-native-product .product-image-zoom img { will-change: auto; }
.kn-native-product .kn-native-product-price { justify-content: center; }
.kn-native-product .kn-native-purchase { width: 100%; max-width: 420px; }
.kn-native-product form.cart { margin: 15px 0 0; width: 100%; }
.kn-native-product .ct-cart-actions { display: contents !important; }
.kn-product-type-variable form.cart,
.kn-product-type-simple form.cart { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 0 12px; margin-top: 0; }
.kn-product-type-variable .single_variation_wrap,
.kn-product-type-variable .woocommerce-variation-add-to-cart { display: contents !important; }
.kn-product-type-variable .single_variation,
.kn-product-type-simple .stock { grid-column: 1 / -1; grid-row: 2; }
.kn-product-type-variable .woocommerce-variation-price { display: none; }
.kn-native-product .kn-option-line { grid-column: 1 / -1; grid-row: 1; align-self: stretch; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); pointer-events: none; }
.kn-product-type-variable .kn-native-qty,
.kn-product-type-simple .kn-native-qty { grid-column: 1; grid-row: 1; justify-self: start; padding: 20px 0; }
.kn-product-type-variable .kn-native-product-price,
.kn-product-type-simple .kn-native-product-price { grid-column: 2; grid-row: 1; padding: 20px 0; }
.kn-native-product.kn-product-type-variable table.variations { grid-column: 3; grid-row: 1; justify-self: end; width: auto; margin: 0; padding: 20px 0; }
.kn-product-type-variable table.variations tbody,
.kn-product-type-variable table.variations tr { display: block; }
.kn-product-type-variable table.variations tr { display: flex; align-items: center; justify-content: end; gap: 5px; }
.kn-native-product.kn-product-type-variable table.variations th,
.kn-native-product.kn-product-type-variable table.variations td { display: block; padding: 0; }
.kn-product-type-variable .reset_variations { margin-top: 3px; }
.kn-native-product .kn-product-details { grid-column: 1 / -1; grid-row: 3; text-align: center; padding-top: 30px; }
.kn-native-product .kn-product-details .product-description { margin-left: auto; margin-right: auto; }
.kn-product-type-variable .single_add_to_cart_button,
.kn-product-type-simple .single_add_to_cart_button { grid-column: 1 / -1; grid-row: 4; }
.kn-native-product .qty-box { padding: 5px; gap: 0; }
.kn-native-product .qty-box .quantity { display: inline-flex; width: 30px; height: auto; margin: 0; }
.kn-native-product .qty-box .quantity input.qty { width: 28px; border: 0; padding: 0; font-size: 13px; }
.kn-native-product .qty-box .ct-increase,
.kn-native-product .qty-box .ct-decrease { display: none; }
.kn-native-product .qty-box input.qty::-webkit-inner-spin-button { -webkit-appearance: none; }
.kn-native-product .qty-box input.qty { -moz-appearance: textfield; appearance: textfield; }
.kn-native-product table.variations { width: 100%; margin: 0 0 15px; border: 0; border-collapse: collapse; }
.kn-native-product table.variations th,
.kn-native-product table.variations td { padding: 5px; border: 0; background: transparent; text-align: left; vertical-align: middle; }
.kn-native-product table.variations label { font: 11px var(--sans); letter-spacing: .08em; text-transform: uppercase; }
.kn-native-product table.variations select { width: 100%; border: 1px solid var(--line); padding: 8px 10px; background: transparent; color: var(--ink); font: 13px var(--sans); border-radius: 0; min-height: 0; }
.kn-native-product .reset_variations { display: inline-block; margin-top: 5px; color: var(--muted); font-size: 11px; }
.kn-native-product .quantity { display: inline-flex; align-items: center; max-width: 100%; margin: 5px 0 10px; }
.kn-native-product .quantity input.qty { width: 65px; max-width: 100%; padding: 7px; border: 1px solid var(--line); border-radius: 0; color: var(--ink); text-align: center; background: transparent; font-size: 13px; }
.kn-native-product .single_add_to_cart_button,
.kn-native-product a.single_add_to_cart_button { display: block; width: 100%; max-width: 380px; margin: 15px auto 0; border: 1px solid var(--ink); border-radius: 0; background: transparent; padding: 18px; color: var(--ink); font: 16px var(--serif); line-height: 1.2; box-shadow: none; transition: background-color .3s, color .3s; }
.kn-native-product .single_add_to_cart_button:hover { background: var(--ink); color: var(--paper); }
.kn-native-product .single_add_to_cart_button.disabled { opacity: .5; }
.kn-native-product .single_add_to_cart_button:disabled { opacity: .5; cursor: not-allowed; }
.kn-native-product .woocommerce-variation-description p,
.kn-native-product .woocommerce-variation-availability p { margin: 10px 0; }
.kn-native-product .stock { color: var(--muted); font-size: 12px; }
.kn-native-product .woocommerce-variation-price { margin: 10px 0; }
.kn-native-product .woocommerce-grouped-product-list { width: 100%; border-collapse: collapse; }
.kn-native-product .woocommerce-grouped-product-list td { padding: 5px; border-bottom: 1px solid var(--line); }
.kn-native-product button:focus-visible,
.kn-native-product a:focus-visible,
.kn-native-product select:focus-visible,
.kn-native-product input:focus-visible,
.kn-native-product [tabindex]:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
@media (max-width: 600px) {
  .kn-product-type-variable form.cart,
  .kn-product-type-simple form.cart { column-gap: 6px; }
  /* A full-width size row keeps the unselected Woo label readable on phones. */
  .kn-native-product.kn-product-type-variable table.variations { grid-column:1 / -1; grid-row:2; justify-self:stretch; width:100%; padding:14px 0; }
  .kn-native-product.kn-product-type-variable table.variations tr { justify-content:space-between; gap:12px; }
  .kn-native-product.kn-product-type-variable table.variations td { flex:1; min-width:0; }
  .kn-native-product.kn-product-type-variable table.variations select { min-height:44px; }
  .kn-product-type-variable .kn-native-product-price { grid-column:2 / -1; justify-self:end; }
  .kn-product-type-variable .kn-native-qty { grid-column:1; }
  .kn-product-type-variable .kn-option-line { grid-row:1 / 3; }
  .kn-product-type-variable .single_variation { grid-row:3; }
  .kn-product-type-variable .kn-product-details { grid-row:4; }
  .kn-product-type-variable .single_add_to_cart_button { grid-row:5; }
  .kn-native-product .qty-box button { min-width:44px; min-height:44px; }
  .kn-native-product .qty-box { flex-shrink:0; }
  /* Preserve the small authored Kart label while making its hit area 44px. */
  .kn-native-catalogue .kart-box::before { inset:-14px -4px; }
  .kn-native-product .prada-price { font-size: 16px; }
  .kn-native-catalogue .size-dropdown,
  .kn-native-product table.variations select,
  .kn-native-product .quantity input.qty,
  .kn-native-product .qty-box .quantity input.qty { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .kn-native-product .product-image-zoom img { transition: none; }
}
