/* Carpathia Herbarium / Shoptet Step / product detail, iteration 3.
   Scope: native gallery, native pricing and native add-to-cart form.
   Requires the already deployed shoptet-homepage.css?v=9 for CHLora/CHManrope.
   No product copy, benefit banner or checkout logic is changed here. */

body.type-detail {
  --chpd-paper: #f7f5ed;
  --chpd-surface: #efeee5;
  --chpd-ink: #29372c;
  --chpd-muted: #5b665a;
  --chpd-forest: #213c2c;
  --chpd-accent: #81503f;
  --chpd-line: #d5d8cb;
  background: var(--chpd-paper);
  color: var(--chpd-ink);
}

/* Detail only: keep category and article sidebars untouched. The same setting
   can also be selected natively in Shoptet > Templates > Layout. */
body.type-detail #content-wrapper {
  width: min(1280px, calc(100% - 64px));
  max-width: none;
  margin-inline: auto;
  background: transparent;
}
body.type-detail #content-wrapper > .content-wrapper-in {
  display: block;
}
body.type-detail #content-wrapper > .content-wrapper-in > .sidebar {
  display: none;
}
body.type-detail #content-wrapper > .content-wrapper-in > .content {
  float: none;
  width: 100%;
  max-width: none;
  padding-inline: 0;
  margin-inline: 0;
  background: transparent;
}
body.type-detail #content-wrapper .breadcrumbs {
  padding: 20px 0 28px;
  color: var(--chpd-muted);
  font: 400 13px/1.5 CHManrope, Arial, sans-serif;
}
body.type-detail #content-wrapper .breadcrumbs a {
  color: var(--chpd-muted);
}

/* Desktop purchase area. DOM order remains untouched; CSS places Shoptet's
   native image column before the product data visually. */
body.type-detail .p-detail-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
  gap: clamp(40px, 5vw, 80px);
  align-items: start;
  width: 100%;
  margin: 0 0 72px;
}
body.type-detail .p-detail-inner > .p-image-wrapper,
body.type-detail .p-detail-inner > .p-data-wrapper {
  float: none;
  width: auto;
  max-width: none;
  min-width: 0;
  padding: 0;
  margin: 0;
}
body.type-detail .p-detail-inner > .p-image-wrapper {
  grid-column: 1;
  grid-row: 1;
}
body.type-detail .p-detail-inner > .p-data-wrapper {
  grid-column: 2;
  grid-row: 1;
  font: 400 16px/1.65 CHManrope, Arial, sans-serif;
}

/* Gallery: deliberately keep Shoptet's native thumbnail, zoom and lightbox
   markup. A true portrait source image will be added in the photo phase. */
body.type-detail .p-image-wrapper .p-image {
  width: 100%;
  height: auto;
  padding: 0;
  background: transparent;
  overflow: hidden;
}
body.type-detail .p-image-wrapper .p-image > #wrap,
body.type-detail .p-image-wrapper .p-main-image,
body.type-detail .p-image-wrapper .p-main-image img {
  max-width: 100%;
}
body.type-detail .p-image-wrapper .p-main-image img {
  width: 100%;
  height: auto;
  mix-blend-mode: multiply;
}
body.type-detail .p-image-wrapper .flags-default .flag-action {
  display: none;
}
body.type-detail .p-image-wrapper .flags-extra {
  left: 24px;
  right: auto;
  top: 24px;
  bottom: auto;
  display: block;
  width: auto;
  height: auto;
}
body.type-detail .p-image-wrapper .flag-discount {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  float: none;
  width: auto;
  min-width: 0;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 8px 11px;
  border-radius: 2px;
  background: var(--chpd-accent);
  color: #fff;
  font: 600 13px/1.2 CHManrope, Arial, sans-serif;
}
body.type-detail .p-image-wrapper .flag-discount .price-standard {
  display: none;
}
body.type-detail .p-image-wrapper .flag-discount .price-save {
  font: inherit;
  color: inherit;
}
body.type-detail .p-image-wrapper > .row {
  margin-inline: 0;
}
body.type-detail .p-image-wrapper .p-thumbnails-wrapper {
  float: none;
  width: 100%;
  padding: 0;
  margin-top: 12px;
}
body.type-detail .p-image-wrapper .p-thumbnails {
  max-width: 100%;
}
body.type-detail .p-image-wrapper .p-thumbnail {
  border: 0;
  box-shadow: none;
  background: transparent;
}
body.type-detail .p-image-wrapper .p-thumbnail.highlighted {
  border: 0;
  box-shadow: none;
  background: transparent;
}
body.type-detail .p-image-wrapper .p-thumbnail:focus-visible {
  outline: 3px solid var(--chpd-accent);
  outline-offset: 3px;
}

/* Reading order, type and purchase hierarchy. */
body.type-detail .p-detail-inner-header {
  display: flex;
  flex-direction: column;
  padding: 0;
  margin: 0;
}
body.type-detail .p-detail-inner-header h1 {
  order: 0;
  margin: 0 0 20px;
  color: var(--chpd-forest);
  font: 400 clamp(34px, 3.5vw, 52px)/1.17 CHLora, Georgia, serif;
  letter-spacing: -0.035em;
  text-wrap: balance;
}
body.type-detail .p-detail-inner-header .stars-wrapper {
  order: 1;
  width: 100%;
  margin: 0 0 18px;
  color: var(--chpd-muted);
  font: 400 13px/1.4 CHManrope, Arial, sans-serif;
}
body.type-detail .p-detail-inner-header .stars-wrapper .stars-link {
  font-size: 13px;
}
body.type-detail .p-short-description {
  max-width: 50ch;
  padding: 0;
  margin: 0 0 28px;
  color: var(--chpd-muted);
  font: 400 16px/1.7 CHManrope, Arial, sans-serif;
}
body.type-detail .p-short-description p {
  margin: 0;
}
body.type-detail #product-detail-form {
  margin: 0;
}
body.type-detail #product-detail-form .p-basic-info-block {
  margin-bottom: 18px;
  color: var(--chpd-muted);
  font-size: 13px;
}
body.type-detail #product-detail-form .availability-label {
  font-weight: 600;
}
body.type-detail #product-detail-form .p-to-cart-block {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: stretch;
  padding: 24px 0 0;
  border-top: 1px solid var(--chpd-line);
  background: transparent;
}
body.type-detail #product-detail-form .p-final-price-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 16px;
  width: 100%;
  margin: 0;
}
body.type-detail #product-detail-form .price-final {
  order: 0;
  color: var(--chpd-forest);
  font: 600 clamp(30px, 3vw, 40px)/1.1 CHManrope, Arial, sans-serif;
  font-variant-numeric: tabular-nums;
}
body.type-detail #product-detail-form .price-standard {
  order: 1;
  color: var(--chpd-muted);
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}
body.type-detail #product-detail-form .price-save {
  order: 2;
  color: var(--chpd-accent);
  font-size: 13px;
  font-weight: 600;
}
body.type-detail #product-detail-form .pr-list-unit {
  color: var(--chpd-muted);
  font: 400 14px CHManrope, Arial, sans-serif;
}
body.type-detail #product-detail-form .p-add-to-cart-wrapper {
  width: 100%;
  margin: 0;
}
body.type-detail #product-detail-form .add-to-cart {
  display: flex;
  align-items: stretch;
  gap: 12px;
  width: 100%;
}
body.type-detail #product-detail-form .add-to-cart .quantity {
  flex: 0 0 116px;
  height: 52px;
  border: 1px solid var(--chpd-line);
  background: transparent;
}
body.type-detail #product-detail-form .add-to-cart .amount {
  color: var(--chpd-ink);
  font-variant-numeric: tabular-nums;
}
body.type-detail #product-detail-form .add-to-cart-button {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 52px;
  padding: 12px 20px;
  border: 1px solid var(--chpd-forest);
  border-radius: 2px;
  background: var(--chpd-forest);
  color: var(--chpd-paper);
  font: 600 14px/1.3 CHManrope, Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  transition: background-color 180ms ease;
}
body.type-detail #product-detail-form .add-to-cart-button:hover {
  background: #314c3a;
}
body.type-detail #product-detail-form .p-variants-block {
  margin: 0 0 12px;
}
body.type-detail #product-detail-form .shipping-options {
  color: var(--chpd-forest);
  text-underline-offset: 3px;
}
body.type-detail .p-param-block .productEan,
body.type-detail .p-param-block .link-icon.print {
  display: none;
}
body.type-detail a:focus-visible,
body.type-detail button:focus-visible,
body.type-detail input:focus-visible {
  outline: 3px solid var(--chpd-accent);
  outline-offset: 3px;
}

@media (max-width: 767px) {
  body.type-detail #content-wrapper {
    width: calc(100% - 32px);
  }
  body.type-detail #content-wrapper .breadcrumbs {
    padding: 16px 0 20px;
  }
  body.type-detail .p-detail-inner {
    display: flex;
    flex-direction: column;
    gap: 28px;
    margin-bottom: 48px;
  }
  body.type-detail .p-detail-inner > .p-image-wrapper,
  body.type-detail .p-detail-inner > .p-data-wrapper {
    width: 100%;
  }
  body.type-detail .p-detail-inner > .p-image-wrapper { order: 0; }
  body.type-detail .p-detail-inner > .p-data-wrapper { order: 1; }
  body.type-detail .p-image-wrapper .p-image { padding: 0; }
  body.type-detail .p-image-wrapper .flags-extra { top: 16px; left: 16px; }
  body.type-detail .p-detail-inner-header h1 {
    font-size: clamp(30px, 9vw, 40px);
    margin-bottom: 14px;
  }
  body.type-detail .p-short-description {
    max-width: none;
    margin-bottom: 24px;
    font-size: 15px;
  }
  body.type-detail #product-detail-form .add-to-cart { gap: 8px; }
  body.type-detail #product-detail-form .add-to-cart .quantity { flex-basis: 104px; }
}

@media (prefers-reduced-motion: reduce) {
  body.type-detail #product-detail-form .add-to-cart-button { transition: none; }
}

/* v4: nákupná časť podľa schváleného rozloženia. */
body.type-detail { --chpd-sale: #bb3153; }
body.type-detail #content-wrapper .breadcrumbs { padding: 18px 0 22px; }
body.type-detail .p-detail-inner { gap: clamp(32px, 4vw, 64px); margin-bottom: 56px; }
body.type-detail .p-detail-inner > .p-data-wrapper.chpd-ready { display: flex; flex-direction: column; }
body.type-detail .chpd-eyebrow {
 margin: 0 0 16px;
 color: var(--chpd-muted);
 font: 500 11px/1.4 CHManrope, Arial, sans-serif;
 text-transform: uppercase;
 letter-spacing: .12em;
}
body.type-detail .p-detail-inner-header h1 {
 font-size: clamp(34px, 3.25vw, 48px);
 line-height: 1.12;
 margin: 0 0 18px;
 letter-spacing: -.035em;
 text-wrap: pretty;
}
body.type-detail .p-short-description { font-size: 15px; line-height: 1.6; margin: 0 0 18px; max-width: none; }
body.type-detail .chpd-tags {
 display: flex; flex-wrap: wrap; gap: 8px;
 list-style: none; padding: 0; margin: 0 0 20px;
 color: var(--chpd-forest);
 font: 500 13px/1.4 CHManrope, Arial, sans-serif;
}
body.type-detail .chpd-tags li { background: var(--chpd-surface); border-radius: 24px; padding: 9px 16px; margin: 0; }
body.type-detail .chpd-ready > .stars-wrapper { margin: 0 0 22px; font: 400 13px/1.4 CHManrope, Arial, sans-serif; color: var(--chpd-muted); }
body.type-detail .chpd-ready > .stars-wrapper .stars-link { display: inline-block; margin-left: 8px; }
body.type-detail .chpd-ready #product-detail-form { display: flex; flex-direction: column; }
body.type-detail .chpd-ready #product-detail-form .p-variants-block { order: 0; margin: 0 0 16px; }
body.type-detail .chpd-ready #product-detail-form .chpd-empty-variants { display: none; }
body.type-detail .chpd-ready #product-detail-form .p-to-cart-block { order: 1; padding: 20px 0 0; gap: 18px; border-top: 1px solid var(--chpd-line); border-bottom: 0; }
body.type-detail .chpd-ready #product-detail-form .p-basic-info-block {
 order: 2; display: block; border: 0; padding: 0; margin: 15px 0 0; min-height: 0;
}
body.type-detail .chpd-ready #product-detail-form .p-basic-info-block .block { border: 0; padding: 0; margin: 0; }
body.type-detail .chpd-ready #product-detail-form .p-basic-info-block .block:empty,
body.type-detail .chpd-ready #product-detail-form .p-basic-info-block .block:has(.p-manufacturer-label) { display: none; }
body.type-detail .chpd-ready #product-detail-form .availability-label { font: 600 13px/1.5 CHManrope, Arial, sans-serif; }
body.type-detail .chpd-ready #product-detail-form .availability-label::before { content: ''; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: currentColor; margin-right: 9px; }
body.type-detail .chpd-delivery { order: 3; margin: 12px 0 0; color: var(--chpd-muted); font-size: 13px; }
body.type-detail .chpd-ready > .p-param-block { display: none; }
body.type-detail #product-detail-form .price-final.price-action { color: var(--chpd-sale); }
body.type-detail #product-detail-form .price-final { font-size: 36px; }
body.type-detail #product-detail-form .pr-list-unit { display: none; }
body.type-detail #product-detail-form .price-save { display: none; }
body.type-detail #product-detail-form .price-standard { color: #99998d; }
body.type-detail .p-image-wrapper .flag-discount { background: var(--chpd-sale); }
body.type-detail #product-detail-form .add-to-cart .quantity { flex-basis: 144px; height: 56px; }
body.type-detail #product-detail-form .add-to-cart-button { min-height: 56px; border-radius: 0; }
body.type-detail .p-image-wrapper .p-main-image img { mix-blend-mode: normal; }
/* Zarovnanie galérie: väčšie miniatúry, bez rámov a bez zásahu do lightboxu. */
body.type-detail .p-image-wrapper .p-thumbnails-inner { width: 100% !important; }
body.type-detail .p-image-wrapper .p-thumbnails-inner > div { display: flex; gap: 10px; max-width: 100%; overflow-x: auto; padding: 0 0 4px; }
body.type-detail .p-image-wrapper .p-thumbnail { float: none; flex: 0 0 calc((100% - 20px) / 3); width: calc((100% - 20px) / 3); height: auto; margin: 0; padding: 0; }
body.type-detail .p-image-wrapper .p-thumbnail img { display: block; width: 100%; height: auto; max-height: none; }
/* Samostatný benefits.css sa načítava pred touto v4 vrstvou. */
body.type-detail .p-data-wrapper.chpd-ready > .ch-benefits { margin-top: 22px; padding-top: 20px; font-size: 12px; }
body.type-detail .ch-benefits__item { gap: 9px; padding-inline: 10px; }
body.type-detail .ch-benefits__icon { width: 38px; height: 38px; flex-basis: 38px; }
@media (max-width: 767px) {
 body.type-detail .p-detail-inner { gap: 24px; }
 body.type-detail .p-detail-inner-header h1 { font-size: clamp(29px, 7.5vw, 38px); }
 body.type-detail .chpd-eyebrow { margin-bottom: 12px; }
 body.type-detail .p-short-description { font-size: 14px; }
 body.type-detail #product-detail-form .add-to-cart .quantity { flex-basis: 116px; }
 body.type-detail #product-detail-form .price-final { font-size: 32px; }
 body.type-detail .chpd-tags { gap: 7px; margin-bottom: 16px; }
 body.type-detail .chpd-tags li { font-size: 12px; padding: 8px 13px; }
}
@media (max-width: 479px) {
 body.type-detail .ch-benefits__item { padding-inline: 0; }
 body.type-detail .p-data-wrapper.chpd-ready > .ch-benefits { font-size: 13px; }
}
/* Step má pevné 100px kontajnery miniatúr; uvoľníme aj ich vnútornú vrstvu. */
body.type-detail .p-image-wrapper .p-thumbnails { height: auto; overflow: visible; margin-bottom: 0; }
body.type-detail .p-image-wrapper .p-thumbnails-inner { position: static; height: auto; left: 0 !important; transform: none !important; }
body.type-detail .p-image-wrapper .p-thumbnail img { border: 0; }
body.type-detail .p-image-wrapper .p-thumbnails .thumbnail-next,
body.type-detail .p-image-wrapper .p-thumbnails .thumbnail-prev,
body.type-detail .p-image-wrapper .p-thumbnails::before,
body.type-detail .p-image-wrapper .p-thumbnails::after { display: none; }
body.type-detail #product-detail-form tr[hidden] { display: none !important; }
body.type-detail #product-detail-form .add-to-cart .quantity {
 display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0;
}
body.type-detail #product-detail-form .quantity label { grid-column: 2; grid-row: 1; display: block; min-width: 0; margin: 0; }
body.type-detail #product-detail-form .quantity input { width: 100%; height: 54px; padding: 0; }
body.type-detail #product-detail-form .quantity .increase,
body.type-detail #product-detail-form .quantity .decrease { position: relative; width: 100%; height: 54px; top: auto; left: auto; right: auto; padding: 0; grid-row: 1; }
body.type-detail #product-detail-form .quantity .increase { grid-column: 3; }
body.type-detail #product-detail-form .quantity .decrease { grid-column: 1; }
body.type-detail #product-detail-form .quantity .increase::before,
body.type-detail #product-detail-form .quantity .decrease::before { line-height: 54px; }
