/*
 * LÍBI TERMO / Jednotný detail produktu 1.0.4
 * Úmyslně NEUPRAVUJE widgety, boční panely, filtr, příslušenství, produktová data
 * ani hlavičku/patičku webu. Vše je vázané na Woo single-product.
 */
body.ltpd-single-product {
  --ltpd-ink: #1e293b;
  --ltpd-espresso: #3a2b22;
  --ltpd-muted: #647083;
  --ltpd-stroke: #e8e3dc;
  --ltpd-paper: #fff;
  --ltpd-warm: #faf9f7;
  --ltpd-main-height: 440px;
  --ltpd-thumb-height: 88px;
}

/* 1. Galerie: stejný prostor pro fotografie různých poměrů stran, nikdy crop. */
body.ltpd-gallery .woocommerce-product-gallery {
  min-width: 0;
  max-width: 100%;
}
body.ltpd-gallery .woocommerce-product-gallery img {
  box-shadow: none;
  background: transparent;
}
body.ltpd-gallery .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child > a,
body.ltpd-gallery .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child > a:first-child {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  min-height: var(--ltpd-main-height);
  height: var(--ltpd-main-height);
  max-height: var(--ltpd-main-height);
  padding: 14px;
  background: var(--ltpd-paper);
  overflow: hidden;
}
body.ltpd-gallery .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child > a > img,
body.ltpd-gallery .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child > img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-height: calc(var(--ltpd-main-height) - 28px) !important;
  object-fit: contain !important;
  object-position: center center !important;
}
/* Woo native FlexSlider: nepřestavovat slider, jen jeho obsah. */
body.ltpd-gallery .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image > a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--ltpd-main-height);
  padding: 12px;
}
body.ltpd-gallery .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: 100% !important;
  max-height: calc(var(--ltpd-main-height) - 24px) !important;
  object-fit: contain !important;
}
/* Standardní náhledy Woo a náhledy slideru Astra. */
body.ltpd-gallery .woocommerce-product-gallery .flex-control-thumbs img,
body.ltpd-gallery .woocommerce-product-gallery .ast-product-gallery-thumbnails img,
body.ltpd-gallery .woocommerce-product-gallery .ast-gallery-thumbnail img {
  display: block;
  width: 100% !important;
  height: var(--ltpd-thumb-height) !important;
  max-height: var(--ltpd-thumb-height) !important;
  aspect-ratio: 1 / 1;
  object-fit: contain !important;
  object-position: center !important;
  padding: 5px;
  background: #fff;
  border: 1px solid var(--ltpd-stroke);
  border-radius: 5px;
  transition: border-color .16s ease, box-shadow .16s ease;
}
body.ltpd-gallery .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
body.ltpd-gallery .woocommerce-product-gallery .flex-control-thumbs img:hover,
body.ltpd-gallery .woocommerce-product-gallery .ast-product-gallery-thumbnails img:hover {
  border-color: #8e7664;
  box-shadow: 0 2px 9px rgba(58, 43, 34, .08);
}
/* Astra "první velká fotografie" (vybraná ve screenshotu). */
body.ltpd-gallery div.product.ast-product-gallery-layout-first-image-large .woocommerce-product-gallery__wrapper {
  display: grid !important;
  width: 100% !important;
  max-width: 100% !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  align-items: start;
}
body.ltpd-gallery div.product.ast-product-gallery-layout-first-image-large .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child {
  grid-column: 1 / -1;
  width: 100% !important;
  min-width: 0;
  max-width: 100% !important;
  height: var(--ltpd-main-height);
  margin: 0;
  box-sizing: border-box;
}
body.ltpd-gallery div.product.ast-product-gallery-layout-first-image-large .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) {
  width: 100% !important;
  min-width: 0;
  max-width: 100% !important;
  box-sizing: border-box;
  height: var(--ltpd-thumb-height) !important;
  margin: 0 !important;
  border: 1px solid var(--ltpd-stroke);
  border-radius: 5px;
  overflow: hidden;
}
body.ltpd-gallery div.product.ast-product-gallery-layout-first-image-large .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) a {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  padding: 5px;
}
body.ltpd-gallery div.product.ast-product-gallery-layout-first-image-large .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}


/*
 * 1.0.2: ASTRA PRO - HORIZONTAL-SLIDER (třetí volba galerie v customizeru).
 * Astra renderuje zvláštní pás náhledů: .ast-single-product-thumbnails
 * > .woocommerce-product-gallery-thumbnails__wrapper
 * > .ast-woocommerce-product-gallery__image. To NENÍ .flex-control-thumbs!
 * Pravidla jsou omezena na tuto konkrétní variantu a neničí JS carousel.
 */
body.ltpd-gallery div.product.ast-product-gallery-layout-horizontal-slider .woocommerce-product-gallery,
body.ltpd-gallery div.product.ast-product-gallery-layout-vertical-slider .woocommerce-product-gallery {
  min-width: 0;
  max-width: 100%;
}
body.ltpd-gallery div.product.ast-product-gallery-layout-horizontal-slider .woocommerce-product-gallery .flex-viewport,
body.ltpd-gallery div.product.ast-product-gallery-layout-vertical-slider .woocommerce-product-gallery .flex-viewport {
  height: var(--ltpd-main-height) !important;
  max-height: var(--ltpd-main-height) !important;
  overflow: hidden;
  border-radius: 6px;
  border: 1px solid var(--ltpd-stroke);
  background: #fff;
  box-sizing: border-box;
}
body.ltpd-gallery div.product.ast-product-gallery-layout-horizontal-slider .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image,
body.ltpd-gallery div.product.ast-product-gallery-layout-vertical-slider .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image {
  height: calc(var(--ltpd-main-height) - 2px) !important;
  max-height: calc(var(--ltpd-main-height) - 2px) !important;
  box-sizing: border-box;
  overflow: hidden;
}
body.ltpd-gallery div.product.ast-product-gallery-layout-horizontal-slider .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image > a,
body.ltpd-gallery div.product.ast-product-gallery-layout-vertical-slider .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image > a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  height: 100% !important;
  padding: 10px !important;
  box-sizing: border-box;
}
body.ltpd-gallery div.product.ast-product-gallery-layout-horizontal-slider .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image img,
body.ltpd-gallery div.product.ast-product-gallery-layout-vertical-slider .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}
/* Astra Pro uses its own thumbnail slider, not Woo flex-control-thumbs. */
body.ltpd-gallery div.product.ast-product-gallery-layout-horizontal-slider .ast-single-product-thumbnails {
  margin-top: 10px;
}
body.ltpd-gallery div.product.ast-product-gallery-layout-horizontal-slider .ast-single-product-thumbnails .ast-woocommerce-product-gallery__image,
body.ltpd-gallery div.product.ast-product-gallery-layout-vertical-slider #ast-gallery-thumbnails .ast-woocommerce-product-gallery__image {
  height: var(--ltpd-thumb-height) !important;
  max-height: var(--ltpd-thumb-height) !important;
  box-sizing: border-box !important;
  overflow: hidden;
  border: 1px solid var(--ltpd-stroke);
  border-radius: 5px;
  background: #fff;
  padding: 5px;
  transition: border-color .16s ease;
}
body.ltpd-gallery div.product.ast-product-gallery-layout-horizontal-slider .ast-single-product-thumbnails .ast-woocommerce-product-gallery__image img,
body.ltpd-gallery div.product.ast-product-gallery-layout-vertical-slider #ast-gallery-thumbnails .ast-woocommerce-product-gallery__image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}
body.ltpd-gallery div.product.ast-product-gallery-layout-horizontal-slider .ast-single-product-thumbnails .ast-woocommerce-product-gallery__image.flex-active-slide,
body.ltpd-gallery div.product.ast-product-gallery-layout-vertical-slider #ast-gallery-thumbnails .ast-woocommerce-product-gallery__image.flex-active-slide {
  border-color: #816b5b;
}

/*
 * 1.0.3: Astra horizontal slider can place a SECOND FlexSlider viewport inside
 * the thumbnails rail. The generic main-gallery 440px rule must never size it.
 * Keep the rail only as tall as a row of thumbnails, without changing the
 * primary image slide, Astra slider positioning or WooCommerce data.
 */
body.ltpd-gallery div.product.ast-product-gallery-layout-horizontal-slider .ast-single-product-thumbnails,
body.ltpd-gallery div.product.ast-product-gallery-layout-horizontal-slider .ast-single-product-thumbnails .woocommerce-product-gallery-thumbnails__wrapper {
  min-height: 0 !important;
}
body.ltpd-gallery div.product.ast-product-gallery-layout-horizontal-slider .ast-single-product-thumbnails .flex-viewport,
body.ltpd-gallery div.product.ast-product-gallery-layout-horizontal-slider .woocommerce-product-gallery .ast-single-product-thumbnails .flex-viewport {
  height: calc(var(--ltpd-thumb-height) + 4px) !important;
  max-height: calc(var(--ltpd-thumb-height) + 4px) !important;
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

/* 2. Obsah nákupu: hierarchie, rytmus, jednotná tlačítka. */
body.ltpd-summary div.product .summary {
  min-width: 0;
  overflow-wrap: break-word;
  color: var(--ltpd-ink);
}
body.ltpd-summary div.product .summary .product_title {
  margin-top: 0;
  margin-bottom: 11px;
  font-size: clamp(23px, 1.65vw, 29px) !important;
  line-height: 1.3 !important;
  font-weight: 600;
  letter-spacing: -.015em;
  color: var(--ltpd-ink);
}
body.ltpd-summary div.product .summary > .price,
body.ltpd-summary div.product .summary .price:not(.woocommerce-Price-amount) {
  margin: 0 0 14px;
  font-size: clamp(21px, 1.4vw, 25px) !important;
  font-weight: 700;
  color: var(--ltpd-espresso) !important;
  line-height: 1.35;
}
body.ltpd-summary div.product .summary > .price .amount {
  color: inherit;
}
body.ltpd-summary div.product .summary .woocommerce-product-details__short-description,
body.ltpd-summary div.product .summary .woocommerce-product-details__short-description p {
  font-size: 14px;
  line-height: 1.65;
  color: var(--ltpd-muted);
}
body.ltpd-summary div.product .summary > .woocommerce-product-details__short-description {
  margin: 0 0 17px;
}
body.ltpd-summary div.product .summary form.cart:not(.variations_form):not(.grouped_form) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
body.ltpd-summary div.product .summary form.cart .quantity {
  margin-right: 0 !important;
}
body.ltpd-summary div.product .summary .single_add_to_cart_button,
body.ltpd-summary div.product .summary button.single_add_to_cart_button {
  background: var(--ltpd-ink) !important;
  border-color: var(--ltpd-ink) !important;
  color: #fff !important;
  border-radius: 4px !important;
  font-size: 14px;
  font-weight: 600;
  min-height: 42px;
  padding: 10px 18px !important;
  transition: background-color .18s ease;
}
body.ltpd-summary div.product .summary .single_add_to_cart_button:hover {
  background: var(--ltpd-espresso) !important;
  border-color: var(--ltpd-espresso) !important;
}
body.ltpd-summary div.product .summary .product_meta {
  margin: 15px 0;
  padding: 12px 0;
  border-top: 1px solid var(--ltpd-stroke);
  border-bottom: 1px solid var(--ltpd-stroke);
  font-size: 12px;
  line-height: 1.7;
  color: var(--ltpd-muted);
  overflow-wrap: anywhere;
}
body.ltpd-summary div.product .summary a:not(.button):not(.ast-custom-button):not(.single_add_to_cart_button) {
  color: var(--ltpd-espresso);
}
body.ltpd-summary div.product .summary img {
  max-width: 100%;
  object-fit: contain;
}

/* 3. Popis, záložky a tabulky: sjednocení bez přesunu obsahu. */
body.ltpd-details div.product .woocommerce-tabs {
  clear: both;
  margin-top: 24px;
  padding-top: 14px;
  border-top: 1px solid var(--ltpd-stroke);
}
body.ltpd-details div.product .woocommerce-tabs ul.tabs {
  margin-bottom: 18px;
}
body.ltpd-details div.product .woocommerce-tabs ul.tabs li a {
  font-weight: 600;
  font-size: 14px;
  color: var(--ltpd-ink);
}
body.ltpd-details div.product .woocommerce-tabs .woocommerce-Tabs-panel,
body.ltpd-details div.product .woocommerce-tabs .woocommerce-Tabs-panel p,
body.ltpd-details div.product .woocommerce-tabs .woocommerce-Tabs-panel li {
  font-size: 14px;
  line-height: 1.72;
  color: var(--ltpd-ink);
}
body.ltpd-details div.product .woocommerce-tabs .woocommerce-Tabs-panel h2,
body.ltpd-details div.product .woocommerce-tabs .woocommerce-Tabs-panel h3 {
  font-weight: 600;
  color: var(--ltpd-ink);
  margin-top: 23px;
  margin-bottom: 12px;
}
body.ltpd-details div.product .woocommerce-tabs .woocommerce-Tabs-panel table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  table-layout: auto;
}
body.ltpd-details div.product .woocommerce-tabs .woocommerce-Tabs-panel table th,
body.ltpd-details div.product .woocommerce-tabs .woocommerce-Tabs-panel table td {
  padding: 11px 13px;
  border: 1px solid var(--ltpd-stroke);
  overflow-wrap: break-word;
}
body.ltpd-details div.product .woocommerce-tabs .woocommerce-Tabs-panel table tr:nth-child(2n) {
  background: var(--ltpd-warm);
}

/* 4. Další doporučované produkty přímo pod detailem (nikoliv pravý sidebar). */
body.ltpd-related div.product section.related.products ul.products li.product img,
body.ltpd-related div.product section.up-sells.products ul.products li.product img {
  width: 100% !important;
  height: 240px !important;
  object-fit: contain !important;
  object-position: center center;
  padding: 12px;
  background: #fff;
}

@media (max-width: 1024px) {
  body.ltpd-gallery { --ltpd-main-height: 380px !important; --ltpd-thumb-height: 76px !important; }
  body.ltpd-summary div.product .summary .product_title { font-size: 24px !important; }
}
@media (max-width: 767px) {
  body.ltpd-gallery { --ltpd-main-height: 340px !important; --ltpd-thumb-height: 66px !important; }
  body.ltpd-gallery div.product.ast-product-gallery-layout-first-image-large .woocommerce-product-gallery__wrapper { gap: 6px !important; }
  body.ltpd-gallery .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child > a { padding: 8px; }
  body.ltpd-summary div.product .summary .product_title { font-size: 23px !important; }
  body.ltpd-summary div.product .summary > .price { font-size: 22px !important; }
  body.ltpd-related div.product section.related.products ul.products li.product img,
  body.ltpd-related div.product section.up-sells.products ul.products li.product img { height: 185px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.ltpd-single-product .woocommerce-product-gallery img,
  body.ltpd-single-product .summary .single_add_to_cart_button { transition: none !important; }
}


/*
 * 1.0.4 – čitelnější nákupní část, BEZ přesouvání WooCommerce elementů.
 * Všechny selektory jsou omezeny na hlavní .summary detailu produktu:
 * nezasahují do levého filtru, pravého příslušenství ani produktových dat.
 */
body.ltpd-summary div.product .summary.entry-summary {
  --ltpd-soft: #faf9f7;
  --ltpd-hairline: #e8e3dc;
  --ltpd-secondary: #596476;
  line-height: 1.56;
}
/* Záhlaví a cena: prvotní orientace zákazníka. */
body.ltpd-summary div.product .summary.entry-summary h1.product_title {
  font-size: clamp(23px, 1.58vw, 27px) !important;
  line-height: 1.30 !important;
  font-weight: 650;
  letter-spacing: -.012em;
  margin: 3px 0 12px;
}
body.ltpd-summary div.product .summary.entry-summary > .price,
body.ltpd-summary div.product .summary.entry-summary > p.price {
  font-size: clamp(22px, 1.45vw, 26px) !important;
  line-height: 1.34 !important;
  font-weight: 700 !important;
  color: var(--ltpd-espresso) !important;
  margin: 0 0 13px !important;
}
/* Vedlejší informace o DPH nesmí soutěžit s cenou. */
body.ltpd-summary div.product .summary.entry-summary > .price :is(small, .woocommerce-price-suffix, .woocommerce-price-tax, .tax_label),
body.ltpd-summary div.product .summary.entry-summary > .price :is(small, .woocommerce-price-suffix, .woocommerce-price-tax, .tax_label) * {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--ltpd-secondary) !important;
}
body.ltpd-summary div.product .summary.entry-summary .woocommerce-product-details__short-description {
  margin: 4px 0 15px !important;
  color: var(--ltpd-secondary);
}
body.ltpd-summary div.product .summary.entry-summary .woocommerce-product-details__short-description p {
  margin: 0 0 7px !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}
/* Sklad a dodání společně, klidně a čitelně. */
body.ltpd-summary div.product .summary.entry-summary p.stock,
body.ltpd-summary div.product .summary.entry-summary .stock {
  font-size: 14px;
  line-height: 1.5;
  margin: 4px 0 5px !important;
  font-weight: 650;
}
/* Přidání do košíku jako samostatná, ale ne těžká nákupní oblast. */
body.ltpd-summary div.product .summary.entry-summary form.cart:not(.variations_form):not(.grouped_form) {
  width: 100%;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  background: var(--ltpd-soft);
  border: 1px solid var(--ltpd-hairline);
  border-radius: 8px;
  padding: 12px 14px;
  margin: 16px 0 13px !important;
  box-shadow: none !important;
}
body.ltpd-summary div.product .summary.entry-summary form.cart .quantity {
  flex: 0 0 auto;
  margin: 0 !important;
}
body.ltpd-summary div.product .summary.entry-summary form.cart .single_add_to_cart_button {
  min-height: 43px;
  padding: 10px 18px !important;
  border-radius: 5px !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  background: var(--ltpd-ink) !important;
  color: white !important;
}
/* Variantní nákupní formuláře – jen jemná typografie, bez přestavby logiky variant. */
body.ltpd-summary div.product .summary.entry-summary form.variations_form {
  margin-top: 15px;
}
/* Technické kódy a kategorie zůstávají, ale vizuálně ustupují. */
body.ltpd-summary div.product .summary.entry-summary .product_meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 18px;
  background: transparent;
  border-top: 1px solid var(--ltpd-hairline);
  border-bottom: 1px solid var(--ltpd-hairline);
  padding: 11px 0 !important;
  margin: 16px 0 !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  color: var(--ltpd-secondary);
}
body.ltpd-summary div.product .summary.entry-summary .product_meta > span {
  margin: 0 !important;
}
body.ltpd-summary div.product .summary.entry-summary .product_meta a {
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
/* Bannerům financování neubíráme odkazy ani barvy poskytovatelů.
   Pouze jejich přímý kontejner oddělíme jemným rytmem, pokud je rozpoznán. */
@supports selector(:has(*)) {
  body.ltpd-summary div.product .summary.entry-summary > :is(div, section, p):has(img[src*="cofidis" i],img[src*="essox" i]),
  body.ltpd-summary div.product .summary.entry-summary > :is(div, section, p):has(a[href*="cofidis" i],a[href*="essox" i]) {
    margin: 9px 0 14px !important;
    padding: 0 0 8px;
  }
}
/* Tlačítka dalšího výběru nebudou opticky důležitější než hlavní nákup. */
body.ltpd-summary div.product .summary.entry-summary :is(.yith-wcwl-add-button, .compare-button) a,
body.ltpd-summary div.product .summary.entry-summary :is(.yith-wcwl-add-button, .compare-button) button {
  border-radius: 5px;
  font-weight: 500;
}
/* Čitelnější obsah: stále jedna velikost textu, bez zásahů do tabulkových dat. */
body.ltpd-details div.product .woocommerce-tabs .woocommerce-Tabs-panel,
body.ltpd-details div.product .woocommerce-tabs .woocommerce-Tabs-panel p,
body.ltpd-details div.product .woocommerce-tabs .woocommerce-Tabs-panel li {
  font-size: 15px;
  line-height: 1.68;
}
body.ltpd-details div.product .woocommerce-tabs .woocommerce-Tabs-panel table {
  font-size: 14px;
}
@media (max-width: 767px) {
  body.ltpd-summary div.product .summary.entry-summary form.cart:not(.variations_form):not(.grouped_form) {
    padding: 11px;
  }
  body.ltpd-summary div.product .summary.entry-summary .product_meta {
    gap: 5px 10px;
  }
}


/* 1.0.5 – metadata pod nákupem: ponechat SKU, vizuálně odstranit
   duplicitní kategorii a značku (Woo výstupuje obojí jako .posted_in).
   Údaje zůstávají v databázi a v jejich původních navigacích. */
body.ltpd-compact_meta div.product .summary.entry-summary .product_meta > .posted_in,
body.ltpd-compact_meta div.product .summary.entry-summary .product_meta > .product_brand,
body.ltpd-compact_meta div.product .summary.entry-summary .product_meta > .product-brands,
body.ltpd-compact_meta div.product .summary.entry-summary .product_meta > .wc-brands {
  display: none !important;
}
body.ltpd-compact_meta div.product .summary.entry-summary .product_meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 12px;
  margin: 13px 0 11px !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid var(--ltpd-stroke);
  border-top: none;
  background: transparent;
}
body.ltpd-compact_meta div.product .summary.entry-summary .product_meta > .sku_wrapper {
  display: inline-block;
  margin: 0;
  font-size: 12px;
  color: var(--ltpd-muted);
}
/* Nevnucujeme šířky blokům cizích pluginů; jen jim dáme pravidelný rytmus
   a společný levý okraj. Ovládací prvky a jejich obsluhu neměníme. */
body.ltpd-extras div.product .summary.entry-summary > .product_meta ~ :is(div, section, p, ul) {
  max-width: 100%;
  box-sizing: border-box;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0;
  margin-bottom: 10px;
  text-align: left;
}
body.ltpd-extras div.product .summary.entry-summary > .product_meta ~ :is(div, section, p, ul) img {
  vertical-align: middle;
}
body.ltpd-extras div.product .summary.entry-summary > .product_meta ~ :is(div, section, p, ul) :is(a, button) {
  vertical-align: middle;
}
/* Neprůhledné widgety a ikonky nejsou nuceně přeformátovány na vlastní
   flex/grid: tím chráníme interakce s ikonami, značkami a porovnáním. */

/* Jeden nenápadný rozbalovací prvek pro bannery dostupných splátek.
   Originální obrázky/odkazy přesouvá JS beze změny atributů a jen v případě,
   že jsou jednoznačně rozpoznány. */
body.ltpd-finance .summary.entry-summary > details.ltpd-financing {
  margin: 10px 0 14px;
  border: 1px solid var(--ltpd-stroke);
  border-radius: 6px;
  background: #fff;
  box-shadow: none;
  overflow: hidden;
}
body.ltpd-finance .summary.entry-summary > details.ltpd-financing > summary {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  min-height: 35px;
  padding: 8px 12px;
  cursor: pointer;
  list-style: none;
  color: var(--ltpd-ink);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  user-select: none;
}
body.ltpd-finance .summary.entry-summary > details.ltpd-financing > summary::-webkit-details-marker { display: none; }
body.ltpd-finance .summary.entry-summary > details.ltpd-financing > summary::after {
  content: '+';
  font-size: 17px;
  line-height: 1;
  color: var(--ltpd-muted);
}
body.ltpd-finance .summary.entry-summary > details.ltpd-financing[open] > summary::after { content: '\2212'; }
body.ltpd-finance .summary.entry-summary > details.ltpd-financing > summary:focus-visible {
  outline: 2px solid #604838;
  outline-offset: -2px;
}
body.ltpd-finance .summary.entry-summary .ltpd-financing-content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  padding: 10px 12px 13px;
  border-top: 1px solid var(--ltpd-stroke);
}
body.ltpd-finance .summary.entry-summary .ltpd-financing-content > * {
  margin: 0 !important;
  max-width: 100%;
}
body.ltpd-finance .summary.entry-summary .ltpd-financing-content img {
  display: block;
  max-width: 185px !important;
  max-height: 42px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
@media (max-width: 767px) {
  body.ltpd-finance .summary.entry-summary .ltpd-financing-content img {
    max-width: 155px !important;
    max-height: 38px !important;
  }
}


/* 1.0.6 - pod galerii presunuta ziva dvojice Ulozit do vyberu / Porovnat.
   Nezasahovat do vnitri galerie ani do JS galerie/slatek. */
body.ltpd-gallery_actions div.product .woocommerce-product-gallery > .ltpd-photo-actions {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: auto;
  clear: both;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 12px;
  padding: 12px 0 3px;
  margin: 0;
  box-sizing: border-box;
  position: relative;
  float: none;
  order: 99;
}
body.ltpd-gallery_actions div.product .woocommerce-product-gallery > .ltpd-photo-actions > * {
  max-width: 100%;
  margin: 0 !important;
  box-sizing: border-box;
}
body.ltpd-gallery_actions div.product .woocommerce-product-gallery .ltpd-photo-actions :is(a, button, input[type="button"]) {
  box-sizing: border-box;
  max-width: 100%;
  min-height: 32px;
  line-height: 1.4;
  font-size: 12px;
  border-radius: 5px;
  white-space: normal;
}
@media (max-width: 767px) {
  body.ltpd-gallery_actions div.product .woocommerce-product-gallery > .ltpd-photo-actions {
    gap: 8px;
    justify-content: center;
    padding-top: 10px;
  }
}


/* 1.0.7 – two original actions between the main photo and thumbnail carousel.
   Never change the FlexSlider image viewport or thumbnails sizing. */
body.ltpd-gallery_actions div.product .woocommerce-product-gallery > .ltpd-photo-actions-before-thumbs {
  order: initial;
  margin: 5px 0 10px;
  padding: 4px 2px;
  justify-content: flex-start;
  clear: both;
}

/* 1.0.7 – avoid finance banner flash before DOMContentLoaded: original markup
   stays hidden just until safely moved into details. Narrowly scoped to direct
   banner elements in the Woo single product summary; payment links stay intact.
   If no banners are recognized, fallback re-reveals them after initialization. */
@supports selector(:has(> img[src*="cofidis" i])) {
  body.ltpd-finance:not(.ltpd-finance-scan-complete) div.product .summary.entry-summary > :is(div,section,p,a,figure,picture):is(
     :has(a[href*="cofidis" i],img[src*="cofidis" i],img[alt*="cofidis" i]),
     :has(a[href*="essox" i],img[src*="essox" i],img[alt*="essox" i]),
     :has(> img[src*="cofidis" i],> img[src*="essox" i]),
     :has(> a[href*="cofidis" i],> a[href*="essox" i])
  ):not(.ltpd-financing):not(.product_meta) {
    display: none !important;
  }
}

/* 1.0.10: kazdy prvek je oddeleny na nativnim WooCommerce hooku.
   Nezasahuje do galerii, formularu, stavu skladu ani obsahu produktove databaze. */
body.ltpd-product_order div.product .summary.entry-summary > .ltpd-variant-target:empty,
body.ltpd-product_order div.product .summary.entry-summary > .ltpd-features-target:empty,
body.ltpd-product_order div.product .summary.entry-summary > .ltpd-manufacturer-target:empty {
  display:none !important;
}
/* Zakladni vlastnosti HNED pod cenou, pred originalnim kratkym popisem. */
body.ltpd-product_order div.product .summary.entry-summary > .ltpd-features-target:not(:empty) {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  padding:0;
  margin:8px 0 12px !important;
  max-width:100%;
}
body.ltpd-product_order div.product .summary.entry-summary > .ltpd-features-target > * {
  margin:0 !important;
  max-width:100%;
}
/* 1.0.13 – svetle hnede klikaci odkaz na varianty: barevnost tlacitek headeru.
   Jen vizualni uprava EXISTUJICIHO odkazu, jeho URL a obsluha zustavaji. */
body.ltpd-product_order div.product .summary.entry-summary > .ltpd-variant-target:not(:empty) {
  display: block;
  margin: 10px 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 6px;
  background: transparent !important;
  font-size: 14px;
}
body.ltpd-product_order div.product .summary.entry-summary > .ltpd-variant-target > a {
  display: flex !important;
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border: 1px solid #D7BFA4;
  border-radius: 6px;
  background: #D7BFA4;
  color: #3A2B22 !important;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 700;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: 0 2px 8px rgb(58 43 34 / 12%);
  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
body.ltpd-product_order div.product .summary.entry-summary > .ltpd-variant-target > a::after {
  content: "\2192";
  flex: 0 0 auto;
  font-size: 20px;
  line-height: 1;
  color: #3A2B22;
}
body.ltpd-product_order div.product .summary.entry-summary > .ltpd-variant-target > a:hover,
body.ltpd-product_order div.product .summary.entry-summary > .ltpd-variant-target > a:focus-visible {
  background: #C7A784;
  border-color: #C7A784;
  color: #3A2B22 !important;
  box-shadow: 0 3px 12px rgb(58 43 34 / 18%);
  text-decoration: none !important;
}
body.ltpd-product_order div.product .summary.entry-summary > .ltpd-variant-target > a:focus-visible {
  outline: 3px solid #d8b998;
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  body.ltpd-product_order div.product .summary.entry-summary > .ltpd-variant-target > a { transition: none; }
}
/* Jen jedna existujici informace o vyrobci: bez druheho vypisu znacky a kategorii. */
body.ltpd-product_order div.product .summary.entry-summary > .ltpd-manufacturer-target:not(:empty) {
  max-width:100%;
  margin:12px 0 16px !important;
  padding:8px 0;
  border-bottom:1px solid #eee7e0;
}
/* NENUTIT puvodni widget do flexboxu: jeho rozbalovani a vnitrni strukturu
   ovlada vyhradne plugin vyrobce. Upravujeme jen jeho vnejsi rozmery. */
body.ltpd-product_order div.product .summary.entry-summary > .ltpd-manufacturer-target > * {
  max-width:100%;
  margin:0 !important;
  text-align:left;
}
body.ltpd-product_order div.product .summary.entry-summary > .ltpd-manufacturer-target img {
  display:inline-block;
  max-width:64px !important;
  max-height:34px !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain;
}
body.ltpd-product_order div.product .summary.entry-summary > .ltpd-manufacturer-target :is(button,summary) {
  font-size:13px;
}
@media (max-width:767px) {
  body.ltpd-product_order div.product .summary.entry-summary > .ltpd-variant-target > a { padding:11px 12px; min-height:44px; }
}
/* 1.0.12 – logo a rozbalovaci ovladac vyrobce jako jeden kompakni prvek.
   Uvnitř originalniho widgetu nemenime obsah, akce ani viditelnost panelu. */
body.ltpd-product_order div.product .summary.entry-summary > .ltpd-manufacturer-target:not(:empty) {
  margin: 9px 0 14px !important;
  padding: 7px 0 10px;
}
body.ltpd-product_order div.product .summary.entry-summary > .ltpd-manufacturer-target > :first-child:has(img):has(a, button, summary) {
  display: flex;
  align-items: center;
  column-gap: 12px;
  row-gap: 6px;
  flex-wrap: wrap;
}
body.ltpd-product_order div.product .summary.entry-summary > .ltpd-manufacturer-target img {
  max-width: 76px !important;
  max-height: 38px !important;
  vertical-align: middle;
}
/* 1.0.12 – vzhled jiz existujiciho formulare nadrazeneho pluginu.
   Nas obal neni dalsi karta: jeden jediny ramecek zustava originalnimu formuláři. */
body.ltpd-notify-available div.product .summary.entry-summary > .ltpd-notify-slot[hidden] {
  display: none !important;
}
body.ltpd-notify-available div.product .summary.entry-summary > .ltpd-notify-slot:not([hidden]) {
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 8px 0 18px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
/* Puvodni plugin muze omezovat sirku karty. Roztahnout obal, neprestavovat formular. */
body.ltpd-notify-available div.product .summary.entry-summary > .ltpd-notify-slot > :first-child {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}
body.ltpd-notify-available div.product .summary.entry-summary > .ltpd-notify-slot > :first-child > :first-child:has(input[type="email"]) {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
}
body.ltpd-notify-available div.product .summary.entry-summary > .ltpd-notify-slot :is(form, fieldset) {
  max-width: 100%;
  box-sizing: border-box;
}
body.ltpd-notify-available div.product .summary.entry-summary > .ltpd-notify-slot :is(h2, h3, h4, legend) {
  font-size: 18px;
  line-height: 1.4;
  font-weight: 650;
  color: #1e293b;
}
body.ltpd-notify-available div.product .summary.entry-summary > .ltpd-notify-slot :is(input[type="email"], input[type="text"]) {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 42px;
  padding: 9px 12px;
  border: 1px solid #d9d1c8;
  border-radius: 5px;
  background: #fff;
}
body.ltpd-notify-available div.product .summary.entry-summary > .ltpd-notify-slot :is(button[type="submit"],input[type="submit"]) {
  background: #604838 !important;
  border-color: #604838 !important;
  color: #ffffff !important;
  border-radius: 5px;
  font-weight: 650;
  cursor: pointer;
}
body.ltpd-notify-available div.product .summary.entry-summary > .ltpd-notify-slot :is(button[type="submit"],input[type="submit"]):hover {
  background: #3a2b22 !important;
  border-color: #3a2b22 !important;
}
body.ltpd-notify-available div.product .summary.entry-summary > .ltpd-notify-slot :is(button[type="submit"],input[type="submit"]):focus-visible {
  outline: 3px solid #d8b998;
  outline-offset: 2px;
}
@media (max-width: 767px) {
  body.ltpd-notify-available div.product .summary.entry-summary > .ltpd-notify-slot > :first-child { width: 100%; }
}

/* Astra horizontal slider: poradi zustava foto -> puvodni akce -> nahledy.
 * Oprava pouze vizualniho flex order; zadna zmena DOM uvnitr galerie. */
body.ltpd-gallery_actions div.product.ast-product-gallery-layout-horizontal-slider .woocommerce-product-gallery > :is(.flex-viewport, .woocommerce-product-gallery__wrapper) {
  order: 1;
}
body.ltpd-gallery_actions div.product.ast-product-gallery-layout-horizontal-slider .woocommerce-product-gallery > .ltpd-photo-actions-before-thumbs {
  order: 2 !important;
}
body.ltpd-gallery_actions div.product.ast-product-gallery-layout-horizontal-slider .woocommerce-product-gallery > .ast-single-product-thumbnails {
  order: 3;
}

