/* Paleta loga má v detailu přednost před původní barvou banneru. */
body.ks-product-page[data-ks-buy-palette] {
  --ks-pd-primary: var(--ks-buy-club-primary) !important;
  --ks-pd-primary-dark: var(--ks-buy-club-dark) !important;
  --ks-pd-secondary: var(--ks-buy-club-dark) !important;
  --ks-pd-on-primary: #fff !important;
}
#product-detail-form.ks-buy-panel {
  --ks-buy-accent: var(--ks-pd-secondary, #12467d);
  --ks-buy-line: #d6dfe7;
  --ks-buy-line: color-mix(in srgb, var(--ks-buy-accent) 20%, #fff);
  --ks-buy-soft: #f2f6fa;
  --ks-buy-soft: color-mix(in srgb, var(--ks-buy-accent) 8%, #fff);
  --ks-buy-ink: #162233;
  --ks-buy-muted: #48566a;

  container: ks-buy / inline-size;
  box-sizing: border-box;
  min-width: 0;
  margin: 16px 0;
  padding: clamp(13px, 2vw, 22px);
  border: 1px solid var(--ks-buy-line);
  border-radius: 16px;
  background: #fff;
  color: var(--ks-buy-ink);
}

#product-detail-form.ks-buy-panel .p-variants-block,
#product-detail-form.ks-buy-panel .ks-pd-configuration {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

#product-detail-form.ks-buy-panel .p-variants-block table.detail-parameters {
  display: table !important;
  width: 100% !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
#product-detail-form.ks-buy-panel .variant-list {
  display: block !important;
}
#product-detail-form.ks-buy-panel .variant-list > th,
#product-detail-form.ks-buy-panel .variant-list > td {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: left !important;
  background: transparent !important;
}
#product-detail-form.ks-buy-panel .variant-list > th {
  margin-bottom: 7px;
}
#product-detail-form.ks-buy-panel .variant-list > .ks-buy-size-heading {
  display: flex !important;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px 12px;
}
#product-detail-form.ks-buy-panel .variant-list > th label {
  margin: 0 !important;
  color: var(--ks-buy-ink) !important;
  font-size: 15px !important;
  font-weight: 750 !important;
  text-transform: none !important;
}
#product-detail-form.ks-buy-panel .ks-buy-size-heading .size-table {
  position: static !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
#product-detail-form.ks-buy-panel .ks-buy-size-heading .size-table a {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  min-height: 28px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ks-buy-accent) !important;
  font-size: 13px !important;
  font-weight: 700;
  text-transform: none !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
#product-detail-form.ks-buy-panel .ks-buy-size-heading .size-table img {
  /* Šablona jinak pokládá ikonu absolutně přes konec textu. */
  position: static !important;
  transform: none !important;
  flex: 0 0 13px;
  width: 13px !important;
  height: 13px !important;
  margin: 0 !important;
}
#product-detail-form.ks-buy-panel #simple-variants-select {
  width: 100% !important;
  max-width: none !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding-inline: 12px 32px !important;
  border: 1px solid #8998a6 !important;
  border-radius: 9px !important;
  color: var(--ks-buy-ink) !important;
  font-size: 16px !important;
}
#product-detail-form.ks-buy-panel #simple-variants {
  width: 100% !important;
  max-width: none !important;
}
#product-detail-form.ks-buy-panel .p-variants-block .ks-buy-delivery-cell {
  padding-top: 9px !important;
}

#product-detail-form.ks-buy-panel .delivery-time-label,
#product-detail-form.ks-buy-panel .delivery-time,
#product-detail-form.ks-buy-panel .ks-buy-delivery-hint {
  color: var(--ks-buy-muted) !important;
  font-size: 13px !important;
  line-height: 1.45;
}
#product-detail-form.ks-buy-panel .ks-buy-delivery-hint:not([hidden]) {
  display: block;
}
#product-detail-form.ks-buy-panel.ks-buy-awaiting-variant .p-variants-block .delivery-time,
#product-detail-form.ks-buy-panel.ks-buy-awaiting-variant .p-variants-block .delivery-time-label {
  display: none !important;
}

#product-detail-form.ks-buy-panel #dkLabNoteMainWrapper {
  margin: 12px 0 0 !important;
  padding: 12px !important;
  border: 1px solid var(--ks-buy-line);
  border-radius: 11px;
  background: var(--ks-buy-soft);
}
#product-detail-form.ks-buy-panel #dkLabNoteMainWrapper .dkLabNoteHeader {
  margin-bottom: 6px;
  color: var(--ks-buy-ink);
  font-size: 13px;
  line-height: 1.4;
}
#product-detail-form.ks-buy-panel #dkLabNoteMainWrapper .dkLabNoteTextArea {
  box-sizing: border-box;
  width: 100% !important;
  min-height: 65px !important;
  margin: 0 !important;
  border: 1px solid #8998a6 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--ks-buy-ink) !important;
  font-size: 16px !important;
}
#product-detail-form.ks-buy-panel #dkLabNoteMainWrapper .dkLabNoteTextArea::placeholder {
  color: var(--ks-buy-muted) !important;
  opacity: 1;
}
#product-detail-form.ks-buy-panel #dkLabNoteMainWrapper .dkLabFileButton {
  width: fit-content !important;
  max-width: 100%;
  min-height: 34px;
  margin: 0 0 6px !important;
  padding: 6px 9px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: var(--ks-buy-accent) !important;
  box-shadow: none !important;
  font-size: 13px !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
#product-detail-form.ks-buy-panel #dkLabNoteMainWrapper .dkLabFileButton .dkLabNoteChooseAttachLabel {
  color: inherit !important;
}
#product-detail-form.ks-buy-panel #dkLabNoteMainWrapper .dkLabNoteAttachmentWrapper:focus-within .dkLabFileButton {
  outline: 2px solid var(--ks-buy-accent);
  outline-offset: 2px;
}

#product-detail-form.ks-buy-panel .p-basic-info-block {
  margin: 10px 0 0 !important;
  padding: 0 !important;
}
#product-detail-form.ks-buy-panel.ks-buy-awaiting-variant .p-basic-info-block > .block:has(.default-variant .availability-label, .p-code .default-variant) {
  display: none;
}
#product-detail-form.ks-buy-panel .p-to-cart-block {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px 14px;
  margin: 12px 0 0 !important;
  padding: 14px 0 0 !important;
  border-top: 1px solid var(--ks-buy-line);
}
#product-detail-form.ks-buy-panel .p-to-cart-block > div,
#product-detail-form.ks-buy-panel .p-to-cart-block .add-to-cart {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
#product-detail-form.ks-buy-panel .p-to-cart-block .price-final {
  color: var(--ks-buy-ink) !important;
  font-size: clamp(24px, 2.5vw, 34px) !important;
  font-style: normal !important;
  line-height: 1.1 !important;
  overflow-wrap: anywhere;
}
#product-detail-form.ks-buy-panel .p-to-cart-block .add-to-cart {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
#product-detail-form.ks-buy-panel .p-to-cart-block .quantity {
  margin: 0 !important;
  width: 108px !important;
  min-width: 108px !important;
  height: 44px !important;
  border-color: var(--ks-buy-line) !important;
}
#product-detail-form.ks-buy-panel .p-to-cart-block .quantity label,
#product-detail-form.ks-buy-panel .p-to-cart-block .quantity .amount {
  margin: 0 !important;
}
#product-detail-form.ks-buy-panel .p-to-cart-block .quantity label {
  position: absolute;
  inset: 0 36px;
  padding: 0 !important;
}
#product-detail-form.ks-buy-panel .p-to-cart-block .quantity .amount {
  width: 34px !important;
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: center;
  appearance: textfield;
}
#product-detail-form.ks-buy-panel .p-to-cart-block .quantity .amount::-webkit-inner-spin-button {
  appearance: none;
}
#product-detail-form.ks-buy-panel .p-to-cart-block .quantity button {
  display: grid !important;
  place-items: center;
  width: 36px !important;
  height: 42px !important;
  background: var(--ks-buy-soft) !important;
  color: var(--ks-buy-accent) !important;
}
#product-detail-form.ks-buy-panel .p-to-cart-block .quantity button::before {
  content: none !important;
}
#product-detail-form.ks-buy-panel .p-to-cart-block .quantity button > span {
  display: block !important;
  color: inherit !important;
  font: 700 19px/1 system-ui, sans-serif !important;
}
#product-detail-form.ks-buy-panel .p-to-cart-block .add-to-cart-button {
  border: 1px solid transparent !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 10px 15px !important;
  border-radius: 10px !important;
  background: var(--ks-buy-accent) !important;
  color: #fff !important;
  box-shadow: none !important;
  transform: none !important;
  font-size: 15px !important;
  font-weight: 750 !important;
  font-style: normal !important;
  text-transform: none !important;
}
#product-detail-form.ks-buy-panel .p-to-cart-block .add-to-cart-button:hover:not(:disabled):not(.disabled):not([aria-disabled="true"]) {
  background: color-mix(in srgb, var(--ks-buy-accent) 83%, #000) !important;
}
#product-detail-form.ks-buy-panel .p-to-cart-block .add-to-cart-button:is(:disabled, .disabled, [aria-disabled="true"]) {
  opacity: .65;
}
#product-detail-form.ks-buy-panel :is(a, button, select, textarea):focus-visible {
  outline: 2px solid var(--ks-buy-accent) !important;
  outline-offset: 2px;
}

@container ks-buy (max-width: 390px) {
  #product-detail-form.ks-buy-panel .p-to-cart-block {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 6px;
  }
  #product-detail-form.ks-buy-panel .p-to-cart-block > .p-add-to-cart-wrapper,
  #product-detail-form.ks-buy-panel .p-to-cart-block .add-to-cart {
    display: contents !important;
  }
  #product-detail-form.ks-buy-panel .p-to-cart-block .price-final {
    font-size: clamp(20px, 8.8cqi, 29px) !important;
  }
  #product-detail-form.ks-buy-panel .p-to-cart-block .quantity {
    justify-self: end;
  }
  #product-detail-form.ks-buy-panel .p-to-cart-block .add-to-cart-button {
    grid-column: 1 / -1;
    width: 100% !important;
  }
}
