/* LÚKA VYŠÍVANIE — Samba, externá verzia 3.0 */
/* LÚKA VYŠÍVANIE — Samba, fáza 1: typografia, kategória a produkt */
:root {
  --luka-bg: #FAF8F2;
  --luka-card: #F5F1E8;
  --luka-green: #587243;
  --luka-green-dark: #344A31;
  --luka-sage: #DDE4D3;
  --luka-terracotta: #B46D52;
  --luka-plum: #2D222B;
  --luka-text: #202820;
  --luka-line: #DED9CE;
  --luka-radius: 14px;
}

html { scroll-behavior: smooth; }

body {
  color: var(--luka-text);
  background: var(--luka-bg);
  font-family: "Source Sans 3", "Source Sans Pro", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
}

h1, h2, h3, h4, h5, h6,
.category-title,
.products-header,
.p-detail h1,
.p-in .name {
  color: var(--luka-text);
  font-family: "Lora", Georgia, serif;
  letter-spacing: -0.02em;
}

a { color: var(--luka-green-dark); }
a:hover, a:focus { color: var(--luka-green); }

.btn,
a.btn,
button,
input[type="submit"] {
  border-radius: 10px;
  font-family: "Source Sans 3", "Source Sans Pro", Arial, sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

.btn.btn-primary,
a.btn.btn-primary,
.add-to-cart-button {
  border-color: var(--luka-green);
  background: var(--luka-green);
  color: #fff;
}

.btn.btn-primary:hover,
.btn.btn-primary:focus,
a.btn.btn-primary:hover,
a.btn.btn-primary:focus,
.add-to-cart-button:hover,
.add-to-cart-button:focus {
  border-color: var(--luka-green-dark);
  background: var(--luka-green-dark);
}

.type-category .category-title {
  margin: 24px 0 12px;
  font-size: clamp(34px, 9vw, 48px);
  line-height: 1.12;
  text-align: center;
}

.type-category .luka-category-intro {
  max-width: 680px;
  margin: 0 auto 28px;
  padding: 0 14px;
  text-align: center;
}

.type-category .luka-category-intro p {
  margin: 0;
  font-size: 18px;
  line-height: 1.45;
}

.type-category .subcategories {
  gap: 10px;
  margin: 0 0 34px;
  padding: 0 10px;
}

.type-category .subcategories li {
  flex: 1 1 calc(50% - 10px);
  min-width: 150px;
  padding: 0;
}

.type-category .subcategories li a {
  min-height: 70px;
  height: 100%;
  padding: 10px 38px 10px 10px;
  border: 1px solid var(--luka-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(52, 74, 49, 0.05);
}

.type-category .subcategories.with-image li a .image { width: 52px; }

.type-category .subcategories.with-image li a .image img {
  max-width: 44px;
  max-height: 44px;
  border-radius: 6px;
}

.type-category .subcategories.with-image li a .text {
  width: calc(100% - 52px);
  padding-left: 10px;
  font-size: 16px;
  font-weight: 700;
}

.type-category .products-top-header,
.type-category .products-top {
  display: none !important;
}

.type-category #category-header {
  margin: 10px 0 20px;
  padding: 6px;
  border: 1px solid var(--luka-line);
  border-radius: 12px;
  background: #fff;
}

.type-category #category-header input[type="radio"] + label {
  margin: 3px;
  padding: 10px 13px;
  border: 0;
  border-radius: 999px;
  font-family: "Source Sans 3", "Source Sans Pro", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.2;
}

.type-category #category-header input[type="radio"]:checked + label {
  background: var(--luka-green);
  color: #fff;
}

.type-category .products-block {
  margin-right: -6px;
  margin-left: -6px;
}

.type-category .products-block > div { padding: 6px; }

.type-category .products-block .p {
  overflow: hidden;
  border: 1px solid var(--luka-line);
  border-radius: var(--luka-radius);
  background: #fff;
  text-align: left;
  box-shadow: 0 7px 22px rgba(52, 74, 49, 0.06);
}

.type-category .products-block .p .image {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 4 / 5;
  background: var(--luka-card);
}

.type-category .products-block .p .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.type-category .products-block .p-in { padding: 14px 14px 16px; }

.type-category .products-block .p-in-in .name {
  min-height: 2.8em;
  margin-bottom: 6px;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.35;
}

.type-category .products-block .prices { text-align: left; }

.type-category .products-block .price-final strong {
  color: var(--luka-green-dark);
  font-family: "Source Sans 3", "Source Sans Pro", Arial, sans-serif;
  font-size: 20px;
  font-weight: 700;
}

.type-category .products-block .p-tools {
  padding-top: 10px !important;
  text-align: left;
}

.type-category .products-block .p-tools .btn {
  width: 100%;
  min-height: 44px;
}

.type-category .category__secondDescription,
.type-category .luka-category-seo {
  max-width: 820px;
  margin: 48px auto 0;
  padding: 28px 20px;
  border-radius: var(--luka-radius);
  background: var(--luka-card);
}

.type-category .category__secondDescription h2,
.type-category .luka-category-seo h2 {
  margin-top: 0;
  font-size: 28px;
}

.type-product .p-detail-inner-header-mobile h1,
.type-product .p-detail-inner h1 {
  margin: 22px 0 18px;
  font-size: clamp(32px, 8.5vw, 46px);
  line-height: 1.12;
}

.type-product .p-image img,
.type-product .p-image-wrapper img {
  border-radius: var(--luka-radius);
}

.type-product .p-thumbnails-wrapper { margin: 12px 0 20px; }

.type-product .p-short-description {
  margin-bottom: 22px;
  font-size: 18px;
  line-height: 1.5;
}

.type-product .variant-list .variant-label,
.type-product .surcharge-list .surcharge-label {
  margin-bottom: 8px;
  color: var(--luka-text);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.type-product .variant-list select,
.type-product .surcharge-list select {
  height: 52px;
  margin-bottom: 18px;
  border: 1px solid #B9B5AC;
  border-radius: 10px;
  background-color: #fff;
  font-size: 17px;
}

.type-product .p-price-wrapper .price-final {
  color: var(--luka-green);
  font-family: "Source Sans 3", "Source Sans Pro", Arial, sans-serif;
  font-size: 42px;
  font-weight: 700;
}

.type-product .p-to-cart-block .add-to-cart { gap: 10px; }

.type-product .p-to-cart-block .quantity { margin-right: 0; }

.type-product .p-to-cart-block .add-to-cart-button {
  min-height: 54px;
  font-size: 18px;
}

.type-product .link-icons {
  display: flex;
  gap: 18px;
  margin-top: 18px;
}

.type-product .link-icons .link-icon {
  margin: 0;
  padding: 10px 4px;
}

.type-product .p-detail-full-width #tab-content {
  border: 1px solid var(--luka-line);
  border-radius: var(--luka-radius);
  background: #fff;
}

.type-product .p-detail-full-width h4 { font-size: 26px; }

@media (min-width: 360px) and (max-width: 767px) {
  .type-category .products-block > div { width: 50% !important; }

  .type-category .products-block .p-in {
    padding: 11px 10px 13px;
  }

  .type-category .products-block .p-in-in .name { font-size: 15px; }

  .type-category .products-block .price-final strong { font-size: 18px; }

  .type-category .products-block .p-tools .btn {
    min-height: 40px;
    padding: 8px;
    font-size: 14px;
  }
}

@media (max-width: 359px) {
  .type-category .products-block > div { width: 100% !important; }
}

@media (min-width: 768px) {
  .type-category .subcategories { padding: 0; }
  .type-category .products-block > div { padding: 10px; }

  .type-product .p-detail-inner-header-mobile h1,
  .type-product .p-detail-inner h1 {
    margin-top: 0;
  }
}


/* Fáza 1.1 — opravy po mobilnej kontrole */
.type-category .subcategories li a {
  display: flex !important;
  align-items: center !important;
}
.type-category .subcategories.with-image li a .text {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
}
.type-category .products-block .p .image img {
  object-fit: contain !important;
}
.type-category .products-block .p-in-in .name,
.type-category .products-block .p-in-in .name strong {
  font-weight: 500 !important;
}
.type-category .products-block .p-tools .btn {
  border: 1px solid var(--luka-green) !important;
  background: #fff !important;
  color: var(--luka-green-dark) !important;
}
.type-category .products-block .p-tools .btn:hover,
.type-category .products-block .p-tools .btn:focus {
  background: var(--luka-green) !important;
  color: #fff !important;
}
body.type-product #content h1,
body.type-product .p-detail h1,
body.type-product .p-detail-inner h1,
body.type-product .p-detail-inner-header h1,
body.type-product .p-detail-inner-header-mobile h1 {
  margin: 20px 0 18px !important;
  color: var(--luka-text) !important;
  font-family: "Lora", Georgia, serif !important;
  font-size: clamp(30px, 8vw, 40px) !important;
  font-weight: 500 !important;
  line-height: 1.14 !important;
  letter-spacing: -0.025em !important;
  text-align: center !important;
}
body.type-product .p-short-description {
  font-size: 17px !important;
  line-height: 1.45 !important;
}
@media (max-width: 767px) {
  .type-category .subcategories.with-image li a .image {
    flex: 0 0 48px !important;
    width: 48px !important;
  }
  .type-category .subcategories.with-image li a .text {
    padding-left: 8px !important;
    font-size: 15px !important;
  }
}

/* Doplnky z fázy 2 */
.type-category .products-block .p .image{aspect-ratio:4/5!important;background:#F5F1E8!important}
.type-category .products-block .p .image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
.type-category #category-header.luka-sort-ready{display:block!important;margin:8px 0 18px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.type-category #category-header.luka-sort-ready>*:not(.luka-sort-wrap){display:none!important}
.luka-sort-wrap{position:relative}
.luka-sort-wrap:after{content:"⌄";position:absolute;top:50%;right:16px;transform:translateY(-56%);color:#344A31;font-size:22px;pointer-events:none}
.luka-sort-select{width:100%;height:54px;padding:0 46px 0 16px;border:1px solid #DED9CE;border-radius:12px;background:#fff;color:#202820;font:600 16px/1.2 "Source Sans 3","Source Sans Pro",Arial,sans-serif;appearance:none;-webkit-appearance:none}
body.luka-product-page h1,body.luka-product-page h1 *{color:#202820!important;font-family:"Lora",Georgia,serif!important;font-weight:500!important;letter-spacing:-.025em!important}
body.luka-product-page h1{margin:18px 0 16px!important;font-size:clamp(29px,7.6vw,39px)!important;line-height:1.14!important;text-align:center!important}
body.luka-product-page .p-short-description{font-size:16.5px!important;line-height:1.48!important}
body.luka-product-page .p-thumbnails a,body.luka-product-page .p-thumbnails .p-thumbnail:not(img){display:inline-block!important;overflow:visible!important;width:auto!important;height:auto!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
body.luka-product-page .p-thumbnails img{display:block!important;width:58px!important;height:58px!important;border:1px solid #DED9CE!important;border-radius:8px!important;object-fit:cover!important}
body.luka-product-page .p-thumbnails a.highlighted img,body.luka-product-page .p-thumbnails a.active img{border-color:#587243!important;box-shadow:0 0 0 1px #587243!important}
body.luka-product-page .p-thumbnails .luka-thumb-empty{display:none!important}
body.luka-product-page .p-detail-full-width h4{font-size:24px!important}
.luka-size-wrap{display:none!important}
.luka-native-size{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.luka-size-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 20px}
.luka-size-button{min-height:48px;padding:8px 4px;border:1px solid #CFC9BE;border-radius:10px;background:#fff;color:#202820;font:600 16px/1 "Source Sans 3","Source Sans Pro",Arial,sans-serif}
.luka-size-button:hover,.luka-size-button:focus{border-color:#587243;outline:0}
.luka-size-button.is-active{border-color:#587243;background:#587243;color:#fff;box-shadow:0 0 0 1px #587243}
.luka-size-button:disabled{opacity:.38;cursor:not-allowed;text-decoration:line-through}
.luka-size-help{display:block;margin:-7px 0 20px;color:#587243;font-size:14px;text-decoration:underline}
@media(max-width:359px){.luka-size-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Fáza 3 — mobilný prilepený košík */
.luka-sticky-cart {
  position: fixed;
  z-index: 9999;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  padding:
    10px max(14px, env(safe-area-inset-right))
    calc(10px + env(safe-area-inset-bottom))
    max(14px, env(safe-area-inset-left));
  border-top: 1px solid var(--luka-line);
  background: rgba(250, 248, 242, 0.97);
  box-shadow: 0 -8px 24px rgba(32, 40, 32, 0.14);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transform: translateY(125%);
  transition: transform 0.22s ease;
}

.luka-sticky-cart.is-visible {
  transform: translateY(0);
}

.luka-sticky-cart__price {
  flex: 0 0 auto;
  color: var(--luka-green-dark);
  font-family: "Source Sans 3", "Source Sans Pro", Arial, sans-serif;
  font-size: 25px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.luka-sticky-cart__button {
  flex: 1 1 auto;
  min-height: 52px;
  padding: 10px 14px;
  border: 0;
  border-radius: 10px;
  background: var(--luka-green);
  color: #fff;
  font-family: "Source Sans 3", "Source Sans Pro", Arial, sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.15;
}

.luka-sticky-cart__button.is-waiting {
  background: var(--luka-sage);
  color: var(--luka-green-dark);
}

.luka-sticky-cart__button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

@media (max-width: 767px) {
  body.luka-product-page.luka-has-sticky-cart {
    padding-bottom: calc(82px + env(safe-area-inset-bottom)) !important;
  }
}

@media (min-width: 768px) {
  .luka-sticky-cart {
    display: none !important;
  }
}

/* Fáza 4 — dokončenie detailu produktu */
body.luka-product-page .content-wrapper-in,
body.luka-product-page #content {
  padding-top: 0 !important;
}

body.luka-product-page .p-detail-inner-header,
body.luka-product-page .p-detail-inner-header-mobile {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.luka-product-page h1 {
  margin-top: 8px !important;
  margin-bottom: 16px !important;
}

body.luka-product-page .p-short-description {
  max-width: 720px;
  margin: 20px auto 24px !important;
  color: var(--luka-text);
}

body.luka-product-page .variant-list,
body.luka-product-page .surcharge-list {
  margin-bottom: 4px;
}

body.luka-product-page .p-price-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 14px;
  margin: 10px 0 4px !important;
}

body.luka-product-page .p-price-wrapper .price-final,
body.luka-product-page .p-price-wrapper .price-final strong {
  margin: 0 !important;
  color: var(--luka-green) !important;
  font-size: 42px !important;
  line-height: 1 !important;
}






body.luka-product-page .p-to-cart-block {
  margin-top: 4px;
}

body.luka-product-page .p-to-cart-block .add-to-cart {
  display: grid !important;
  grid-template-columns: minmax(102px, 0.31fr) minmax(0, 1fr);
  align-items: stretch;
  gap: 10px;
}

body.luka-product-page .p-to-cart-block .quantity {
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  border-radius: 10px;
}

body.luka-product-page .p-to-cart-block .add-to-cart-button {
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
}

body.luka-product-page .link-icons {
  margin: 14px 0 26px !important;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--luka-line);
}

body.luka-product-page .shp-tabs-holder {
  margin-top: 12px !important;
}

body.luka-product-page .shp-tabs-holder ul,
body.luka-product-page .shp-tabs {
  display: flex;
  gap: 8px;
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
}

body.luka-product-page .shp-tabs-holder li,
body.luka-product-page .shp-tabs li {
  margin: 0 !important;
  border: 0 !important;
}

body.luka-product-page .shp-tabs-holder a,
body.luka-product-page .shp-tabs a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 9px 18px !important;
  border: 1px solid var(--luka-line) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--luka-text) !important;
  font-family: "Source Sans 3", "Source Sans Pro", Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
}

body.luka-product-page .shp-tabs-holder .active a,
body.luka-product-page .shp-tabs .active a {
  border-color: var(--luka-green) !important;
  background: var(--luka-green) !important;
  color: #fff !important;
}

body.luka-product-page .p-detail-full-width #tab-content,
body.luka-product-page .tab-content {
  overflow: hidden;
  margin-top: 0 !important;
  padding: 22px 20px !important;
  border: 1px solid var(--luka-line) !important;
  border-radius: var(--luka-radius) !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(52, 74, 49, 0.05);
}

body.luka-product-page .p-detail-full-width #tab-content h4,
body.luka-product-page .tab-content h4 {
  margin-top: 0 !important;
  margin-bottom: 16px !important;
  color: var(--luka-text);
  font-family: "Lora", Georgia, serif;
  font-size: 25px !important;
  font-weight: 500;
  line-height: 1.2;
}

body.luka-product-page .p-detail-full-width #tab-content p,
body.luka-product-page .tab-content p,
body.luka-product-page .p-detail-full-width #tab-content li,
body.luka-product-page .tab-content li {
  font-size: 16.5px;
  line-height: 1.6;
}

body.luka-product-page .products-related,
body.luka-product-page #productsRelated,
body.luka-product-page .products-related-header {
  margin-top: 42px;
}

body.luka-product-page .products-related h2,
body.luka-product-page #productsRelated h2,
body.luka-product-page .products-related-header {
  color: var(--luka-text);
  font-family: "Lora", Georgia, serif;
  font-size: 28px;
  font-weight: 500;
  text-align: center;
}

@media (max-width: 767px) {
  body.luka-product-page .p-detail-inner,
  body.luka-product-page .p-detail {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.luka-product-page .p-image-wrapper,
  body.luka-product-page .p-image {
    margin-top: 0 !important;
  }

  body.luka-product-page .p-to-cart-block .add-to-cart {
    grid-template-columns: 106px minmax(0, 1fr);
  }

  body.luka-product-page .p-detail-full-width #tab-content,
  body.luka-product-page .tab-content {
    padding: 20px 18px !important;
  }
}

@media (max-width: 359px) {
  body.luka-product-page .p-to-cart-block .add-to-cart {
    grid-template-columns: 94px minmax(0, 1fr);
    gap: 8px;
  }

  body.luka-product-page .shp-tabs-holder a,
  body.luka-product-page .shp-tabs a {
    padding-right: 14px !important;
    padding-left: 14px !important;
    font-size: 15px;
  }
}

/* Fáza 5 — hlavný hero carousel */
body.type-index #carousel,
body.type-index .carousel-wrapper #carousel {
  overflow: hidden;
  margin: 0 !important;
  background: var(--luka-bg);
}

body.type-index #carousel .carousel-inner,
body.type-index #carousel .item,
body.type-index #carousel .carousel-item {
  height: clamp(520px, calc(100vh - 230px), 680px) !important;
  min-height: 0 !important;
}

body.type-index #carousel .item > a,
body.type-index #carousel .carousel-item > a {
  display: block;
  width: 100%;
  height: 100%;
}

body.type-index #carousel .item > a > img,
body.type-index #carousel .carousel-item > a > img,
body.type-index #carousel .item > img,
body.type-index #carousel .carousel-item > img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center 43% !important;
}

body.type-index #carousel .carousel-caption {
  position: absolute !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  left: clamp(58px, 7.5vw, 150px) !important;
  width: min(545px, 39vw) !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 38px 42px 40px !important;
  transform: translateY(-50%) !important;
  border: 1px solid rgba(222, 217, 206, 0.88);
  border-radius: 16px;
  background: rgba(250, 248, 242, 0.95) !important;
  color: var(--luka-text) !important;
  text-align: left !important;
  text-shadow: none !important;
  box-shadow: 0 18px 50px rgba(24, 31, 24, 0.16);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

body.type-index #carousel .carousel-caption *,
body.type-index #carousel .carousel-caption-inner,
body.type-index #carousel .carousel-caption > div {
  height: auto !important;
  min-height: 0 !important;
  text-align: left !important;
}

body.type-index #carousel .carousel-caption h1,
body.type-index #carousel .carousel-caption h2,
body.type-index #carousel .carousel-caption h3,
body.type-index #carousel .carousel-caption h4,
body.type-index #carousel .carousel-caption .h1,
body.type-index #carousel .carousel-caption .h2,
body.type-index #carousel .carousel-caption .h3,
body.type-index #carousel .carousel-caption strong:first-child {
  display: block;
  margin: 0 0 16px !important;
  color: var(--luka-text) !important;
  font-family: "Lora", Georgia, serif !important;
  font-size: clamp(40px, 3vw, 54px) !important;
  font-weight: 500 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.035em !important;
  text-transform: none !important;
}

body.type-index #carousel .carousel-caption p {
  max-width: 440px;
  margin: 0 0 26px !important;
  color: var(--luka-text) !important;
  font-family: "Source Sans 3", "Source Sans Pro", Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

body.type-index #carousel .carousel-caption .btn,
body.type-index #carousel .carousel-caption a.btn,
body.type-index #carousel .carousel-caption .btn-primary {
  display: inline-flex !important;
  width: auto !important;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 13px 22px !important;
  border: 1px solid var(--luka-green) !important;
  border-radius: 10px !important;
  background: var(--luka-green) !important;
  color: #fff !important;
  font-family: "Source Sans 3", "Source Sans Pro", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  text-transform: none !important;
  box-shadow: none !important;
}

body.type-index #carousel .carousel-caption .btn:hover,
body.type-index #carousel .carousel-caption .btn:focus {
  border-color: var(--luka-green-dark) !important;
  background: var(--luka-green-dark) !important;
}

/* Používame jednu snímku pre každý typ zariadenia, preto navigácia nie je potrebná. */
body.type-index #carousel .carousel-control,
body.type-index #carousel .left.carousel-control,
body.type-index #carousel .right.carousel-control,
body.type-index #carousel .carousel-control-prev,
body.type-index #carousel .carousel-control-next,
body.type-index #carousel .carousel-indicators {
  display: none !important;
}

@media (max-width: 767px) {
  body.type-index #carousel {
    overflow: visible;
    background: #fff;
  }

  body.type-index #carousel .carousel-inner,
  body.type-index #carousel .item,
  body.type-index #carousel .carousel-item {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body.type-index #carousel .item > a,
  body.type-index #carousel .carousel-item > a {
    height: auto;
  }

  body.type-index #carousel .item > a > img,
  body.type-index #carousel .carousel-item > a > img,
  body.type-index #carousel .item > img,
  body.type-index #carousel .carousel-item > img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    object-fit: cover !important;
    object-position: center 44% !important;
  }

  body.type-index #carousel .carousel-caption {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 24px 16px 32px !important;
    transform: none !important;
    border: 0;
    border-radius: 0;
    background: #fff !important;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  body.type-index #carousel .carousel-caption h1,
  body.type-index #carousel .carousel-caption h2,
  body.type-index #carousel .carousel-caption h3,
  body.type-index #carousel .carousel-caption h4,
  body.type-index #carousel .carousel-caption .h1,
  body.type-index #carousel .carousel-caption .h2,
  body.type-index #carousel .carousel-caption .h3,
  body.type-index #carousel .carousel-caption strong:first-child {
    margin-bottom: 14px !important;
    font-size: clamp(31px, 8.5vw, 38px) !important;
    line-height: 1.12 !important;
  }

  body.type-index #carousel .carousel-caption p {
    max-width: 390px;
    margin-bottom: 22px !important;
    font-size: 17px !important;
    line-height: 1.5 !important;
  }

  body.type-index #carousel .carousel-caption .btn,
  body.type-index #carousel .carousel-caption a.btn,
  body.type-index #carousel .carousel-caption .btn-primary {
    min-height: 50px;
    padding: 13px 20px !important;
    font-size: 16px !important;
  }
}

@media (min-width: 768px) and (max-width: 1100px) {
  body.type-index #carousel .carousel-caption {
    left: 48px !important;
    width: 46vw !important;
    padding: 32px 34px 34px !important;
  }

  body.type-index #carousel .carousel-caption h1,
  body.type-index #carousel .carousel-caption h2,
  body.type-index #carousel .carousel-caption h3,
  body.type-index #carousel .carousel-caption h4,
  body.type-index #carousel .carousel-caption .h1,
  body.type-index #carousel .carousel-caption .h2,
  body.type-index #carousel .carousel-caption .h3,
  body.type-index #carousel .carousel-caption strong:first-child {
    font-size: 38px !important;
  }
}

/* Fáza 5.1 — presná korekcia textovej vrstvy hero banneru */
@media (min-width: 768px) {
  body.type-index #carousel .carousel-caption {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.type-index #carousel .extended-banner-texts {
    display: block !important;
    width: min(520px, 38vw) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 0 clamp(54px, 7vw, 138px) !important;
    padding: 32px 36px 34px !important;
    border: 1px solid rgba(222, 217, 206, 0.9) !important;
    border-radius: 16px !important;
    background: rgba(250, 248, 242, 0.95) !important;
    color: var(--luka-text) !important;
    text-align: left !important;
    box-shadow: 0 18px 50px rgba(24, 31, 24, 0.16) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
  }
}

body.type-index #carousel .extended-banner-title {
  display: block !important;
  margin: 0 0 14px !important;
  color: var(--luka-text) !important;
  font-family: "Lora", Georgia, serif !important;
  font-size: clamp(39px, 2.8vw, 51px) !important;
  font-weight: 500 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.035em !important;
  text-align: left !important;
  text-transform: none !important;
}

body.type-index #carousel .extended-banner-text {
  display: block !important;
  max-width: 430px;
  margin: 0 0 24px !important;
  color: var(--luka-text) !important;
  font-family: "Source Sans 3", "Source Sans Pro", Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

body.type-index #carousel .extended-banner-link,
body.type-index #carousel .extended-banner-link a {
  display: inline-flex !important;
  width: auto !important;
  min-height: 50px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 13px 21px !important;
  border: 1px solid var(--luka-green) !important;
  border-radius: 10px !important;
  background: var(--luka-green) !important;
  color: #fff !important;
  font-family: "Source Sans 3", "Source Sans Pro", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  box-shadow: none !important;
}

body.type-index #carousel .extended-banner-link:hover,
body.type-index #carousel .extended-banner-link:focus,
body.type-index #carousel .extended-banner-link a:hover,
body.type-index #carousel .extended-banner-link a:focus {
  border-color: var(--luka-green-dark) !important;
  background: var(--luka-green-dark) !important;
  color: #fff !important;
}

@media (max-width: 767px) {
  body.type-index #carousel .carousel-caption {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body.type-index #carousel .extended-banner-texts {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 24px 16px 32px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    text-align: left !important;
    box-shadow: none !important;
  }

  body.type-index #carousel .extended-banner-title {
    margin-bottom: 13px !important;
    font-size: clamp(31px, 8.3vw, 37px) !important;
    line-height: 1.13 !important;
  }

  body.type-index #carousel .extended-banner-text {
    max-width: 390px;
    margin-bottom: 21px !important;
    font-size: 17px !important;
    line-height: 1.5 !important;
  }

  body.type-index #carousel .extended-banner-link,
  body.type-index #carousel .extended-banner-link a {
    min-height: 50px !important;
    padding: 13px 20px !important;
    font-size: 16px !important;
  }
}

@media (min-width: 768px) and (max-width: 1100px) {
  body.type-index #carousel .extended-banner-texts {
    width: 44vw !important;
    margin-left: 44px !important;
    padding: 28px 30px 30px !important;
  }

  body.type-index #carousel .extended-banner-title {
    font-size: 37px !important;
  }
}

/* Fáza 6 — tri kolekčné bannery pod hero */
body.type-index .next-to-carousel-banners {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 18px !important;
  width: min(calc(100% - 40px), 1560px) !important;
  max-width: 1560px !important;
  margin: 24px auto 58px !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.type-index .next-to-carousel-banners .banner-wrapper[data-testid="bannerTop"] {
  display: flex !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  flex: none !important;
  border: 1px solid var(--luka-line) !important;
  border-radius: var(--luka-radius) !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(38, 50, 36, 0.07) !important;
}

body.type-index .next-to-carousel-banners .banner-wrapper[data-testid="bannerTop"] > a {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  flex-direction: column !important;
  color: var(--luka-text) !important;
  text-decoration: none !important;
}

body.type-index .next-to-carousel-banners .banner-wrapper[data-testid="bannerTop"] img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 2 !important;
  flex: 0 0 auto !important;
  object-fit: cover !important;
  object-position: center center !important;
}

body.type-index .next-to-carousel-banners .extended-banner-texts {
  position: static !important;
  inset: auto !important;
  display: flex !important;
  width: 100% !important;
  height: auto !important;
  min-height: 230px !important;
  max-height: none !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  padding: 24px 25px 23px !important;
  overflow: visible !important;
  transform: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--luka-text) !important;
  text-align: left !important;
  box-shadow: none !important;
}

body.type-index .next-to-carousel-banners .extended-banner-title {
  display: block !important;
  width: 100% !important;
  margin: 0 0 12px !important;
  overflow: visible !important;
  color: var(--luka-text) !important;
  font-family: "Lora", Georgia, serif !important;
  font-size: clamp(24px, 2vw, 30px) !important;
  font-weight: 500 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.025em !important;
  text-align: left !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

body.type-index .next-to-carousel-banners .extended-banner-text {
  display: block !important;
  width: 100% !important;
  margin: 0 0 18px !important;
  overflow: visible !important;
  color: var(--luka-text) !important;
  font-family: "Source Sans 3", "Source Sans Pro", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.48 !important;
  text-align: left !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

body.type-index .next-to-carousel-banners .extended-banner-link {
  display: inline-flex !important;
  width: auto !important;
  min-height: 42px !important;
  align-items: center !important;
  margin: auto 0 0 !important;
  padding: 0 !important;
  color: var(--luka-green) !important;
  font-family: "Source Sans 3", "Source Sans Pro", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-align: left !important;
  text-transform: none !important;
}

body.type-index .next-to-carousel-banners .banner-wrapper[data-testid="bannerTop"] > a:hover {
  color: var(--luka-text) !important;
}

body.type-index .next-to-carousel-banners .banner-wrapper[data-testid="bannerTop"] > a:hover img {
  transform: scale(1.015);
}

body.type-index .next-to-carousel-banners .banner-wrapper[data-testid="bannerTop"] img {
  transition: transform 0.28s ease !important;
}

/* Fantasy karta ako samostatný tmavý svet. */
body.type-index .next-to-carousel-banners a[href*="/fantazia-a-mystika/"] .extended-banner-texts {
  background: var(--luka-plum) !important;
  color: #f8f3eb !important;
}

body.type-index .next-to-carousel-banners a[href*="/fantazia-a-mystika/"] .extended-banner-title,
body.type-index .next-to-carousel-banners a[href*="/fantazia-a-mystika/"] .extended-banner-text {
  color: #f8f3eb !important;
}

body.type-index .next-to-carousel-banners a[href*="/fantazia-a-mystika/"] .extended-banner-link {
  color: #e8b8a8 !important;
}

@media (max-width: 980px) and (min-width: 768px) {
  body.type-index .next-to-carousel-banners {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: calc(100% - 24px) !important;
  }

  body.type-index .next-to-carousel-banners .extended-banner-texts {
    min-height: 250px !important;
    padding: 21px 19px 20px !important;
  }

  body.type-index .next-to-carousel-banners .extended-banner-title {
    font-size: 23px !important;
  }

  body.type-index .next-to-carousel-banners .extended-banner-text {
    font-size: 16px !important;
  }
}

@media (max-width: 767px) {
  body.type-index .next-to-carousel-banners {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    width: calc(100% - 20px) !important;
    max-width: none !important;
    margin: 10px auto 42px !important;
  }

  body.type-index .next-to-carousel-banners .banner-wrapper[data-testid="bannerTop"] {
    border-radius: 13px !important;
    box-shadow: 0 8px 22px rgba(38, 50, 36, 0.06) !important;
  }

  body.type-index .next-to-carousel-banners .extended-banner-texts {
    min-height: 0 !important;
    padding: 21px 20px 22px !important;
  }

  body.type-index .next-to-carousel-banners .extended-banner-title {
    margin-bottom: 10px !important;
    font-size: 27px !important;
    line-height: 1.18 !important;
  }

  body.type-index .next-to-carousel-banners .extended-banner-text {
    margin-bottom: 16px !important;
    font-size: 17px !important;
    line-height: 1.48 !important;
  }

  body.type-index .next-to-carousel-banners .extended-banner-link {
    min-height: 38px !important;
    margin-top: 0 !important;
    font-size: 16px !important;
  }
}

/* Fáza 7 FINAL — vlastný benefit pás nezávislý od Samba wrappera */
body.type-index .luka-benefits-section {
  position: relative !important;
  left: 50% !important;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 0 54px -50vw !important;
  padding: 0 !important;
  background: #f8f5ed !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body.type-index .luka-benefits-strip {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: min(calc(100% - 48px), 1450px) !important;
  max-width: 1450px !important;
  margin: 0 auto !important;
  padding: 28px 0 !important;
  box-sizing: border-box !important;
}

body.type-index .luka-benefit {
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) !important;
  align-items: center !important;
  min-width: 0 !important;
  min-height: 104px !important;
  padding: 8px 34px !important;
  border-right: 1px solid rgba(88, 114, 67, 0.18) !important;
  box-sizing: border-box !important;
}

body.type-index .luka-benefit:last-child {
  border-right: 0 !important;
}

body.type-index .luka-benefit__icon {
  display: block !important;
  width: 52px !important;
  height: 52px !important;
  object-fit: contain !important;
}

body.type-index .luka-benefit__body {
  min-width: 0 !important;
  padding-left: 15px !important;
}

body.type-index .luka-benefit__title {
  margin: 0 0 5px !important;
  color: var(--luka-text) !important;
  font-family: "Source Sans 3", "Source Sans Pro", Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.22 !important;
}

body.type-index .luka-benefit__text {
  margin: 0 !important;
  color: rgba(32, 40, 32, 0.78) !important;
  font-family: "Source Sans 3", "Source Sans Pro", Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

@media (max-width: 1100px) and (min-width: 768px) {
  body.type-index .luka-benefits-strip {
    width: calc(100% - 28px) !important;
  }

  body.type-index .luka-benefit {
    grid-template-columns: 46px minmax(0, 1fr) !important;
    padding: 8px 18px !important;
  }

  body.type-index .luka-benefit__icon {
    width: 42px !important;
    height: 42px !important;
  }

  body.type-index .luka-benefit__body {
    padding-left: 11px !important;
  }

  body.type-index .luka-benefit__title {
    font-size: 16px !important;
  }

  body.type-index .luka-benefit__text {
    font-size: 13px !important;
  }
}

@media (max-width: 767px) {
  body.type-index .luka-benefits-section {
    margin-bottom: 38px !important;
  }

  body.type-index .luka-benefits-strip {
    grid-template-columns: 1fr !important;
    width: calc(100% - 28px) !important;
    padding: 10px 0 !important;
  }

  body.type-index .luka-benefit {
    grid-template-columns: 54px minmax(0, 1fr) !important;
    min-height: 0 !important;
    padding: 15px 5px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(88, 114, 67, 0.16) !important;
  }

  body.type-index .luka-benefit:last-child {
    border-bottom: 0 !important;
  }

  body.type-index .luka-benefit__icon {
    width: 48px !important;
    height: 48px !important;
  }

  body.type-index .luka-benefit__body {
    padding-left: 13px !important;
  }

  body.type-index .luka-benefit__title {
    font-size: 17px !important;
  }

  body.type-index .luka-benefit__text {
    font-size: 14px !important;
    line-height: 1.38 !important;
  }
}

/* Fáza 8.1 — editorial bloky, robustná verzia */
body.type-index .luka-editorial-section {
  width: min(calc(100% - 40px), 1420px) !important;
  max-width: 1420px !important;
  margin: 68px auto 76px !important;
  padding: 0 !important;
}

body.type-index .luka-editorial-grid {
  display: grid !important;
  gap: 24px !important;
}

body.type-index .luka-editorial-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
  min-height: 420px !important;
  overflow: hidden !important;
  border: 1px solid rgba(88,114,67,.16) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 12px 32px rgba(38,50,36,.06) !important;
}

body.type-index .luka-editorial-card--reverse {
  grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr) !important;
}

body.type-index .luka-editorial-card--reverse .luka-editorial-media { order: 2 !important; }
body.type-index .luka-editorial-card--reverse .luka-editorial-copy { order: 1 !important; }

body.type-index .luka-editorial-media {
  min-width: 0 !important;
  min-height: 420px !important;
  overflow: hidden !important;
  background: #f8f5ed !important;
}

body.type-index .luka-editorial-media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 420px !important;
  object-fit: cover !important;
  object-position: center center !important;
}

body.type-index .luka-editorial-copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  min-width: 0 !important;
  padding: 48px 52px !important;
  text-align: left !important;
}

body.type-index .luka-editorial-kicker {
  margin: 0 0 10px !important;
  color: var(--luka-terracotta) !important;
  font-family: "Source Sans 3","Source Sans Pro",Arial,sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

body.type-index .luka-editorial-title {
  margin: 0 0 17px !important;
  color: var(--luka-green) !important;
  font-family: "Lora",Georgia,serif !important;
  font-size: clamp(34px,2.8vw,47px) !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
}

body.type-index .luka-editorial-text {
  max-width: 510px !important;
  margin: 0 0 23px !important;
  color: var(--luka-text) !important;
  font-family: "Source Sans 3","Source Sans Pro",Arial,sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

body.type-index .luka-editorial-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  color: var(--luka-green-dark) !important;
  font-family: "Source Sans 3","Source Sans Pro",Arial,sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 5px !important;
}

body.type-index .luka-editorial-link::after {
  content: "→";
  text-decoration: none !important;
}

body.type-index .luka-editorial-card--home {
  background: #f8f5ed !important;
}

body.type-index .luka-editorial-card--fantasy {
  border-color: rgba(54,37,50,.65) !important;
  background: var(--luka-plum) !important;
}

body.type-index .luka-editorial-card--fantasy .luka-editorial-copy {
  background: var(--luka-plum) !important;
}

body.type-index .luka-editorial-card--fantasy .luka-editorial-kicker { color:#e7a58e !important; }
body.type-index .luka-editorial-card--fantasy .luka-editorial-title,
body.type-index .luka-editorial-card--fantasy .luka-editorial-text { color:#f8f3eb !important; }
body.type-index .luka-editorial-card--fantasy .luka-editorial-link { color:#efb29e !important; }

body.type-index .luka-story {
  width: min(calc(100% - 40px), 1050px) !important;
  max-width: 1050px !important;
  margin: 62px auto 0 !important;
  padding: 54px 66px 56px !important;
  border: 1px solid rgba(88,114,67,.16) !important;
  border-radius: 18px !important;
  background: #f8f5ed !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

body.type-index .luka-story__eyebrow {
  margin:0 0 10px !important;
  color:var(--luka-terracotta) !important;
  font:700 13px/1.2 "Source Sans 3","Source Sans Pro",Arial,sans-serif !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
}

body.type-index .luka-story__title {
  max-width:800px !important;
  margin:0 auto 20px !important;
  color:var(--luka-green) !important;
  font-family:"Lora",Georgia,serif !important;
  font-size:clamp(35px,3vw,48px) !important;
  font-weight:500 !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
}

body.type-index .luka-story__text {
  max-width:760px !important;
  margin:0 auto 18px !important;
  color:var(--luka-text) !important;
  font:400 18px/1.58 "Source Sans 3","Source Sans Pro",Arial,sans-serif !important;
}

body.type-index .luka-story__signature {
  margin:0 0 24px !important;
  color:var(--luka-green) !important;
  font:700 17px/1.35 "Source Sans 3","Source Sans Pro",Arial,sans-serif !important;
}

body.type-index .luka-story__link {
  display:inline-flex !important;
  min-height:48px !important;
  align-items:center !important;
  justify-content:center !important;
  padding:12px 21px !important;
  border-radius:10px !important;
  background:var(--luka-green) !important;
  color:#fff !important;
  font:700 16px/1.2 "Source Sans 3","Source Sans Pro",Arial,sans-serif !important;
  text-decoration:none !important;
}

@media (max-width:767px) {
  body.type-index .luka-editorial-section {
    width:calc(100% - 20px) !important;
    max-width:none !important;
    margin:36px auto 44px !important;
  }

  body.type-index .luka-editorial-grid { gap:18px !important; }

  body.type-index .luka-editorial-card,
  body.type-index .luka-editorial-card--reverse {
    display:flex !important;
    min-height:0 !important;
    flex-direction:column !important;
    border-radius:15px !important;
  }

  body.type-index .luka-editorial-card--reverse .luka-editorial-media,
  body.type-index .luka-editorial-card--reverse .luka-editorial-copy { order:initial !important; }

  body.type-index .luka-editorial-media {
    min-height:0 !important;
    aspect-ratio:4/3 !important;
  }

  body.type-index .luka-editorial-media img {
    min-height:0 !important;
    aspect-ratio:4/3 !important;
    object-fit:cover !important;
  }

  body.type-index .luka-editorial-copy {
    padding:26px 22px 28px !important;
  }

  body.type-index .luka-editorial-kicker {
    margin-bottom:8px !important;
    font-size:12px !important;
  }

  body.type-index .luka-editorial-title {
    margin-bottom:13px !important;
    font-size:30px !important;
    line-height:1.1 !important;
  }

  body.type-index .luka-editorial-text {
    margin-bottom:18px !important;
    font-size:16.5px !important;
    line-height:1.5 !important;
  }

  body.type-index .luka-editorial-link { font-size:15.5px !important; }

  body.type-index .luka-story {
    width:100% !important;
    max-width:none !important;
    margin:30px auto 0 !important;
    padding:36px 21px 38px !important;
    border-radius:15px !important;
  }

  body.type-index .luka-story__title {
    margin-bottom:17px !important;
    font-size:30px !important;
    line-height:1.1 !important;
  }

  body.type-index .luka-story__text {
    margin-bottom:16px !important;
    font-size:16.5px !important;
    line-height:1.52 !important;
  }

  body.type-index .luka-story__signature {
    margin-bottom:21px !important;
    font-size:16px !important;
  }
}

/* =========================================================
   v21 — HERO OVERLAY
   Živý text cez fotografiu, bez bielej karty.
   Desktop: text vľavo, jemný tmavý gradient.
   Mobil: jeden celistvý hero, text dole nad fotografiou.
   ========================================================= */

/* DESKTOP */
@media (min-width: 768px) {
  body.type-index #carousel,
  body.type-index #carousel .carousel-inner,
  body.type-index #carousel .item,
  body.type-index #carousel .carousel-item {
    position: relative !important;
  }

  body.type-index #carousel .carousel-caption {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 0 !important;
    background:
      linear-gradient(
        90deg,
        rgba(19, 23, 17, .68) 0%,
        rgba(19, 23, 17, .48) 27%,
        rgba(19, 23, 17, .16) 47%,
        rgba(19, 23, 17, 0) 66%
      ) !important;
    pointer-events: none !important;
  }

  body.type-index #carousel .extended-banner-texts {
    display: block !important;
    width: min(510px, 37vw) !important;
    max-width: 510px !important;
    margin: 0 0 0 clamp(58px, 7vw, 138px) !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    text-align: left !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    pointer-events: auto !important;
  }

  body.type-index #carousel .extended-banner-title {
    max-width: 480px !important;
    margin: 0 0 17px !important;
    color: #fff !important;
    font-size: clamp(43px, 3.25vw, 58px) !important;
    font-weight: 500 !important;
    line-height: 1.07 !important;
    letter-spacing: -.04em !important;
    text-shadow: 0 2px 20px rgba(0,0,0,.18) !important;
  }

  body.type-index #carousel .extended-banner-text {
    max-width: 440px !important;
    margin: 0 0 27px !important;
    color: rgba(255,255,255,.94) !important;
    font-size: 18px !important;
    line-height: 1.48 !important;
    text-shadow: 0 1px 12px rgba(0,0,0,.20) !important;
  }

  body.type-index #carousel .extended-banner-link,
  body.type-index #carousel .extended-banner-link a {
    min-height: 50px !important;
    padding: 13px 22px !important;
    border-color: #5a7c42 !important;
    border-radius: 9px !important;
    background: #5a7c42 !important;
    color: #fff !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.14) !important;
  }
}

/* TABLET — trochu kompaktnejší overlay */
@media (min-width: 768px) and (max-width: 1100px) {
  body.type-index #carousel .extended-banner-texts {
    width: 42vw !important;
    margin-left: 44px !important;
  }

  body.type-index #carousel .extended-banner-title {
    font-size: 39px !important;
  }

  body.type-index #carousel .extended-banner-text {
    font-size: 16.5px !important;
  }
}

/* MOBILE */
@media (max-width: 767px) {
  body.type-index #carousel {
    position: relative !important;
    overflow: hidden !important;
    background: #171912 !important;
  }

  body.type-index #carousel .carousel-inner,
  body.type-index #carousel .item,
  body.type-index #carousel .carousel-item {
    position: relative !important;
    height: calc(100svh - 58px) !important;
    min-height: 590px !important;
    max-height: 760px !important;
    overflow: hidden !important;
    background: #171912 !important;
  }

  body.type-index #carousel .item > a,
  body.type-index #carousel .carousel-item > a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  body.type-index #carousel .item > a > img,
  body.type-index #carousel .carousel-item > a > img,
  body.type-index #carousel .item > img,
  body.type-index #carousel .carousel-item > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center 42% !important;
  }

  body.type-index #carousel .carousel-caption {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    background:
      linear-gradient(
        180deg,
        rgba(13,15,11,0) 0%,
        rgba(13,15,11,.03) 34%,
        rgba(13,15,11,.32) 55%,
        rgba(13,15,11,.78) 76%,
        rgba(13,15,11,.94) 100%
      ) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    pointer-events: none !important;
  }

  body.type-index #carousel .extended-banner-texts {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 22px 24px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    text-align: left !important;
    box-shadow: none !important;
    pointer-events: auto !important;
  }

  body.type-index #carousel .extended-banner-title {
    max-width: 300px !important;
    margin: 0 0 12px !important;
    color: #fff !important;
    font-size: clamp(39px, 11.5vw, 47px) !important;
    font-weight: 500 !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em !important;
    text-shadow: 0 2px 18px rgba(0,0,0,.28) !important;
  }

  body.type-index #carousel .extended-banner-text {
    max-width: 315px !important;
    margin: 0 0 18px !important;
    color: rgba(255,255,255,.95) !important;
    font-size: 15.5px !important;
    line-height: 1.43 !important;
    text-shadow: 0 1px 12px rgba(0,0,0,.25) !important;
  }

  body.type-index #carousel .extended-banner-link,
  body.type-index #carousel .extended-banner-link a {
    min-height: 48px !important;
    padding: 12px 20px !important;
    border: 1px solid #5a7c42 !important;
    border-radius: 9px !important;
    background: #5a7c42 !important;
    color: #fff !important;
    font-size: 15.5px !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
  }
}

/* Kratšie telefóny — aby CTA ostalo celé viditeľné */
@media (max-width: 767px) and (max-height: 680px) {
  body.type-index #carousel .carousel-inner,
  body.type-index #carousel .item,
  body.type-index #carousel .carousel-item {
    min-height: 560px !important;
  }

  body.type-index #carousel .extended-banner-texts {
    padding-bottom: 18px !important;
  }

  body.type-index #carousel .extended-banner-title {
    margin-bottom: 9px !important;
    font-size: 37px !important;
  }

  body.type-index #carousel .extended-banner-text {
    margin-bottom: 14px !important;
    font-size: 14.5px !important;
    line-height: 1.38 !important;
  }

  body.type-index #carousel .extended-banner-link,
  body.type-index #carousel .extended-banner-link a {
    min-height: 44px !important;
    padding: 10px 18px !important;
  }
}

/* =========================================================
   v22 — MOBILE HERO RUNTIME HOST
   Samba môže mobilný hero vykresliť mimo desktopového #carousel.
   JS nájde konkrétny banner podľa titulku a označí jeho reálny wrapper.
   ========================================================= */
@media (max-width: 767px) {
  body.type-index .luka-mobile-hero-host {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: calc(100svh - 58px) !important;
    min-height: 590px !important;
    max-height: 760px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #171912 !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  body.type-index .luka-mobile-hero-host > a,
  body.type-index .luka-mobile-hero-host > picture,
  body.type-index .luka-mobile-hero-host > a > picture {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  body.type-index .luka-mobile-hero-host img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center 40% !important;
  }

  body.type-index .luka-mobile-hero-host::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    background:
      linear-gradient(
        180deg,
        rgba(12,14,10,0) 0%,
        rgba(12,14,10,0) 38%,
        rgba(12,14,10,.18) 52%,
        rgba(12,14,10,.58) 68%,
        rgba(12,14,10,.91) 100%
      ) !important;
  }

  body.type-index .luka-mobile-hero-host .carousel-caption {
    position: static !important;
    display: contents !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.type-index .luka-mobile-hero-host .extended-banner-texts {
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 3 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 22px 24px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    text-align: left !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.type-index .luka-mobile-hero-host .extended-banner-title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-width: 310px !important;
    margin: 0 0 11px !important;
    color: #fff !important;
    font-family: "Lora", Georgia, serif !important;
    font-size: clamp(38px, 11vw, 45px) !important;
    font-weight: 500 !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em !important;
    text-align: left !important;
    text-shadow: 0 2px 18px rgba(0,0,0,.30) !important;
  }

  body.type-index .luka-mobile-hero-host .extended-banner-text {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-width: 315px !important;
    margin: 0 0 17px !important;
    color: rgba(255,255,255,.96) !important;
    font-family: "Source Sans 3","Source Sans Pro",Arial,sans-serif !important;
    font-size: 15.5px !important;
    font-weight: 400 !important;
    line-height: 1.42 !important;
    text-align: left !important;
    text-shadow: 0 1px 12px rgba(0,0,0,.28) !important;
  }

  body.type-index .luka-mobile-hero-host .extended-banner-link,
  body.type-index .luka-mobile-hero-host .extended-banner-link a {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    min-height: 48px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 12px 20px !important;
    border: 1px solid #5a7c42 !important;
    border-radius: 9px !important;
    background: #5a7c42 !important;
    color: #fff !important;
    font-family: "Source Sans 3","Source Sans Pro",Arial,sans-serif !important;
    font-size: 15.5px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
  }
}

@media (max-width: 767px) and (max-height: 680px) {
  body.type-index .luka-mobile-hero-host {
    min-height: 550px !important;
  }

  body.type-index .luka-mobile-hero-host .extended-banner-texts {
    padding-bottom: 17px !important;
  }

  body.type-index .luka-mobile-hero-host .extended-banner-title {
    margin-bottom: 8px !important;
    font-size: 36px !important;
  }

  body.type-index .luka-mobile-hero-host .extended-banner-text {
    margin-bottom: 13px !important;
    font-size: 14.5px !important;
    line-height: 1.37 !important;
  }

  body.type-index .luka-mobile-hero-host .extended-banner-link,
  body.type-index .luka-mobile-hero-host .extended-banner-link a {
    min-height: 44px !important;
    padding: 10px 18px !important;
  }
}

/* =========================================================
   v26 — Instagram sekcia
   Bez zmeny samotného feedu / pluginu.
   ========================================================= */

body.type-index .luka-instagram-section {
  position: relative !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 44px 0 54px !important;
  background: #f8f5ed !important;
  box-sizing: border-box !important;
}

body.type-index .luka-instagram-title {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  width: min(calc(100% - 40px), 900px) !important;
  margin: 0 auto 28px !important;
  padding: 0 !important;
  color: #587243 !important;
  font-family: "Lora", Georgia, serif !important;
  font-size: 36px !important;
  font-weight: 500 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  text-align: center !important;
}

body.type-index .luka-instagram-title img {
  display: block !important;
  width: 42px !important;
  height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  object-fit: contain !important;
  margin: 0 !important;
}

body.type-index .luka-instagram-grid {
  width: min(calc(100% - 40px), 1500px) !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  gap: 8px !important;
  box-sizing: border-box !important;
}

body.type-index .luka-instagram-grid img {
  display: block !important;
  max-width: 100% !important;
  border-radius: 10px !important;
}

@media (max-width: 767px) {
  body.type-index .luka-instagram-section {
    padding: 34px 0 38px !important;
  }

  body.type-index .luka-instagram-title {
    width: calc(100% - 32px) !important;
    margin-bottom: 22px !important;
    gap: 7px !important;
    font-size: 30px !important;
    line-height: 1.08 !important;
  }

  body.type-index .luka-instagram-title img {
    width: 38px !important;
    height: 38px !important;
    max-width: 38px !important;
    max-height: 38px !important;
  }

  body.type-index .luka-instagram-grid {
    width: calc(100% - 16px) !important;
    gap: 5px !important;
  }

  body.type-index .luka-instagram-grid img {
    border-radius: 7px !important;
  }
}

/* =========================================================
   v27 — Instagram: oprava orezaného nadpisu + spacing
   Iba Instagram sekcia.
   ========================================================= */

/* Samotná sekcia nesmie odrezať titulok ani jeho riadky. */
body.type-index .luka-instagram-section {
  overflow: visible !important;
  height: auto !important;
  min-height: 0 !important;
}

/* Nadpis: žiadna pevná výška ani orezanie. */
body.type-index .luka-instagram-title {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;

  width: min(calc(100% - 40px), 900px) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  margin: 0 auto 32px !important;
  padding: 0 0 4px !important;

  overflow: visible !important;
  white-space: normal !important;

  color: #587243 !important;
  font-family: "Lora", Georgia, serif !important;
  font-size: 36px !important;
  font-weight: 500 !important;
  line-height: 1.22 !important;
  letter-spacing: -0.025em !important;
  text-align: center !important;
}

/* Ak je text v ďalšom vnorenom elemente, odstránime staré obmedzenia aj tam. */
body.type-index .luka-instagram-title > *,
body.type-index .luka-instagram-title span,
body.type-index .luka-instagram-title strong,
body.type-index .luka-instagram-title a {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  line-height: inherit !important;
}

/* Ikona má vlastný riadok a nesmie tlačiť text smerom nadol. */
body.type-index .luka-instagram-title img {
  flex: 0 0 auto !important;
  display: block !important;
  width: 42px !important;
  height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  margin: 0 0 2px !important;
  object-fit: contain !important;
}

/* Feed od nadpisu vedome oddelíme.
   Padding-top funguje aj vtedy, keď plugin ignoruje margin nadpisu. */
body.type-index .luka-instagram-grid {
  position: relative !important;
  padding-top: 4px !important;
  overflow: visible !important;
}

/* Desktop: ak je grid priamy nasledujúci súrodenec nadpisu. */
body.type-index .luka-instagram-title + .luka-instagram-grid {
  margin-top: 0 !important;
}

/* Poistka proti starým štýlom wrappera feedu, ktoré mohli prekrývať titulok. */
body.type-index .luka-instagram-section .luka-instagram-grid,
body.type-index .luka-instagram-section .luka-instagram-grid > * {
  top: auto !important;
}

/* Mobil */
@media (max-width: 767px) {
  body.type-index .luka-instagram-section {
    padding-top: 34px !important;
    padding-bottom: 38px !important;
  }

  body.type-index .luka-instagram-title {
    width: calc(100% - 32px) !important;
    margin-bottom: 22px !important;
    padding-bottom: 3px !important;

    font-size: 30px !important;
    line-height: 1.18 !important;
    letter-spacing: -0.02em !important;
  }

  body.type-index .luka-instagram-title img {
    width: 38px !important;
    height: 38px !important;
    max-width: 38px !important;
    max-height: 38px !important;
    margin-bottom: 3px !important;
  }

  body.type-index .luka-instagram-grid {
    padding-top: 3px !important;
  }
}

/* =========================================================
   v28 — Obľúbené kúsky + kompaktná pätička
   ========================================================= */

/* Produktový nadpis */
body.type-index .homepage-group-title,
body.type-index .homepage-products-heading-5 {
  font-family: "Lora", Georgia, serif !important;
  font-size: 38px !important;
  font-weight: 500 !important;
  line-height: 1.14 !important;
  letter-spacing: -0.03em !important;
  color: #293426 !important;
}

@media (max-width: 767px) {
  body.type-index .homepage-group-title,
  body.type-index .homepage-products-heading-5 {
    font-size: 30px !important;
    line-height: 1.12 !important;
  }
}

/* Starý osamelý banner tesne nad footerom */
body.type-index .luka-footer-obsolete-cta {
  display: none !important;
}

/* Footer */
#footer {
  margin-top: 0 !important;
  background: #f4f0e6 !important;
  color: #293426 !important;
  font-family: "Source Sans 3", "Source Sans Pro", Arial, sans-serif !important;
}

#footer .container,
#footer .container-full-width {
  max-width: 1480px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#footer .footer-rows,
#footer .custom-footer {
  padding-top: 44px !important;
  padding-bottom: 34px !important;
}

/* Nadpisy stĺpcov */
#footer h1,
#footer h2,
#footer h3,
#footer h4,
#footer h5,
#footer .footer-block h4,
#footer .footer-block h5 {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
  color: #587243 !important;
  font-family: "Lora", Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

/* Biela podčiarka zo starého footeru preč */
#footer h1::after,
#footer h2::after,
#footer h3::after,
#footer h4::after,
#footer h5::after {
  display: none !important;
  content: none !important;
}

/* Text a odkazy */
#footer,
#footer p,
#footer li,
#footer a {
  font-size: 15px !important;
  line-height: 1.55 !important;
}

#footer a {
  color: #293426 !important;
  text-decoration: none !important;
}

#footer a:hover {
  color: #587243 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

#footer ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#footer li {
  margin-bottom: 8px !important;
}

/* Starý FB iframe/widget už vizuálne nepoužívame */
#footer .luka-footer-facebook-old iframe,
#footer .luka-footer-facebook-old .fb-page,
#footer .luka-footer-facebook-old blockquote,
#footer .luka-footer-facebook-old > a img {
  display: none !important;
}

/* Jednoduchý social blok */
#footer .luka-footer-social-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 4px !important;
}

#footer .luka-footer-social-links a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  padding: 8px 14px !important;
  border: 1px solid rgba(88, 114, 67, .32) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.48) !important;
  color: #587243 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* Platobné logá menšie a pokojnejšie */
#footer img[src*="visa"],
#footer img[src*="Visa"],
#footer img[src*="mastercard"],
#footer img[src*="Mastercard"],
#footer img[alt*="Visa"],
#footer img[alt*="Mastercard"],
#footer img[alt*="MasterCard"] {
  width: auto !important;
  height: auto !important;
  max-width: 108px !important;
  max-height: 54px !important;
  object-fit: contain !important;
}

/* Spodný copyright pás */
#footer .footer-bottom,
#footer .copyright {
  border-top: 1px solid rgba(88,114,67,.16) !important;
  background: transparent !important;
  color: rgba(41,52,38,.72) !important;
  font-size: 13px !important;
}

/* Mobil */
@media (max-width: 767px) {
  #footer .footer-rows,
  #footer .custom-footer {
    padding-top: 32px !important;
    padding-bottom: 26px !important;
  }

  #footer h1,
  #footer h2,
  #footer h3,
  #footer h4,
  #footer h5,
  #footer .footer-block h4,
  #footer .footer-block h5 {
    margin-bottom: 13px !important;
    font-size: 20px !important;
  }

  #footer .footer-block,
  #footer .custom-footer > div,
  #footer .footer-rows > div {
    margin-bottom: 26px !important;
  }

  #footer .luka-footer-social-links {
    gap: 8px !important;
  }

  #footer .luka-footer-social-links a {
    min-height: 42px !important;
    padding: 9px 15px !important;
  }

  #footer img[src*="visa"],
  #footer img[src*="Visa"],
  #footer img[src*="mastercard"],
  #footer img[src*="Mastercard"],
  #footer img[alt*="Visa"],
  #footer img[alt*="Mastercard"],
  #footer img[alt*="MasterCard"] {
    max-width: 92px !important;
    max-height: 46px !important;
  }
}

/* =========================================================
   v29 — mobilný footer: kompaktnejší a čistejší
   Desktop zostáva z v28.
   ========================================================= */

#footer .luka-payment-logo {
  width: auto !important;
  height: auto !important;
  max-width: 94px !important;
  max-height: 48px !important;
  object-fit: contain !important;
}

#footer .luka-footer-brand-logo {
  width: auto !important;
  height: auto !important;
  max-width: 108px !important;
  max-height: 118px !important;
  object-fit: contain !important;
}

@media (max-width: 767px) {

  #footer {
    padding: 0 !important;
  }

  #footer .footer-rows,
  #footer .custom-footer {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    padding: 30px 22px 22px !important;
  }

  #footer .footer-rows > *,
  #footer .custom-footer > * {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  #footer .footer-block,
  #footer .custom-footer > div,
  #footer .footer-rows > div {
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  #footer h1,
  #footer h2,
  #footer h3,
  #footer h4,
  #footer h5,
  #footer .footer-block h4,
  #footer .footer-block h5 {
    margin: 0 0 10px !important;
    padding: 0 !important;
    font-size: 19px !important;
    line-height: 1.2 !important;
  }

  #footer p,
  #footer li,
  #footer a {
    font-size: 14.5px !important;
    line-height: 1.45 !important;
  }

  #footer li {
    margin-bottom: 6px !important;
  }

  #footer .luka-footer-social-links {
    gap: 8px !important;
    margin: 0 !important;
  }

  #footer .luka-footer-social-links a {
    min-height: 38px !important;
    padding: 7px 13px !important;
    font-size: 14px !important;
  }

  /* platby: 4 menšie značky v jednom kompaktnejšom bloku */
  #footer .luka-footer-payments {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: center !important;
    justify-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 2px 0 4px !important;
    padding: 0 !important;
  }

  #footer .luka-payment-logo {
    width: auto !important;
    height: auto !important;
    max-width: 68px !important;
    max-height: 36px !important;
    margin: 0 !important;
  }

  /* logo Lúka v spodnej časti nesmie zabrať polovicu obrazovky */
  #footer .luka-footer-brand-logo {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 86px !important;
    max-height: 96px !important;
    margin: 10px auto 2px !important;
  }

  #footer .footer-bottom,
  #footer .copyright {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
    font-size: 12.5px !important;
    line-height: 1.35 !important;
  }
}

/* =========================================================
   v30 — footer final cleanup
   Shoptet kredit + platby + vertikálne medzery.
   ========================================================= */

/* Kredit Shoptet ponechávame, ale iba ako nenápadný podpis. */
#footer .luka-shoptet-credit-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 8px 12px 10px !important;
}

#footer .luka-shoptet-credit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: auto !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(41,52,38,.66) !important;
  font-family: "Source Sans 3","Source Sans Pro",Arial,sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}

#footer .luka-shoptet-credit img,
#footer .luka-shoptet-credit svg,
#footer .luka-shoptet-credit .luka-shoptet-icon {
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: 16px !important;
  height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
}

/* Ak Shoptet používa dekoratívne pseudo-elementy, nesmú prerásť kredit. */
#footer .luka-shoptet-credit::before,
#footer .luka-shoptet-credit::after {
  max-width: 16px !important;
  max-height: 16px !important;
  background-size: 16px 16px !important;
}

/* Skutočný blok platieb — desktop zostáva decentný. */
#footer .luka-footer-payments-v30 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(90px, 120px)) !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 14px !important;
  width: auto !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

#footer .luka-footer-payments-v30 img {
  display: block !important;
  width: 100% !important;
  height: 58px !important;
  max-width: 120px !important;
  max-height: 58px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  object-fit: contain !important;
  box-sizing: border-box !important;
}

/* Reálny obal loga Lúka. */
#footer .luka-footer-brand-wrap-v30 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 20px 0 10px !important;
  padding: 0 !important;
}

#footer .luka-footer-brand-wrap-v30 img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 82px !important;
  max-height: 92px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

/* Zrušenie nafúknutých výšok na spodných footer wrapperoch. */
#footer .luka-footer-payments-v30,
#footer .luka-footer-payments-v30 *,
#footer .luka-footer-brand-wrap-v30,
#footer .luka-footer-brand-wrap-v30 * {
  min-height: 0 !important;
}

@media (max-width: 767px) {
  #footer .luka-footer-payments-v30 {
    grid-template-columns: repeat(2, minmax(0, 112px)) !important;
    gap: 10px 12px !important;
    margin: 6px auto 8px !important;
  }

  #footer .luka-footer-payments-v30 img {
    width: 112px !important;
    height: 54px !important;
    max-width: 112px !important;
    max-height: 54px !important;
    padding: 7px 9px !important;
  }

  #footer .luka-footer-brand-wrap-v30 {
    margin: 24px 0 10px !important;
  }

  #footer .luka-footer-brand-wrap-v30 img {
    max-width: 76px !important;
    max-height: 86px !important;
  }

  #footer .luka-shoptet-credit-wrap {
    padding: 10px 10px 14px !important;
  }

  #footer .luka-shoptet-credit {
    gap: 5px !important;
    font-size: 11.5px !important;
  }

  #footer .luka-shoptet-credit img,
  #footer .luka-shoptet-credit svg,
  #footer .luka-shoptet-credit .luka-shoptet-icon {
    width: 14px !important;
    height: 14px !important;
    max-width: 14px !important;
    max-height: 14px !important;
  }
}

/* =========================================================
   v31 — Shoptet kredit iba ako text
   ========================================================= */

#footer .luka-shoptet-credit {
  display: inline !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: rgba(41,52,38,.60) !important;
  font-family: "Source Sans 3","Source Sans Pro",Arial,sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}

/* Po JS už vo vnútri nič grafické nebude; toto je poistka. */
#footer .luka-shoptet-credit *,
#footer .luka-shoptet-credit::before,
#footer .luka-shoptet-credit::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  background-image: none !important;
}

#footer .luka-shoptet-credit-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 8px 12px 10px !important;
  background: transparent !important;
}

/* Trochu skrátime zbytočný vzduch pod hlavným footer obsahom. */
#footer .luka-footer-brand-wrap-v30 {
  margin-top: 12px !important;
  margin-bottom: 8px !important;
}

@media (max-width: 767px) {
  #footer .luka-shoptet-credit {
    font-size: 11px !important;
  }

  #footer .luka-shoptet-credit-wrap {
    padding: 9px 10px 12px !important;
  }

  #footer .luka-footer-brand-wrap-v30 {
    margin-top: 16px !important;
    margin-bottom: 8px !important;
  }
}

/* =========================================================
   v32 — PRESNÁ oprava Shoptet kreditu podľa reálneho DOM:
   #signature > a.image  = logo
   #signature > a.title  = text "Vytvoril Shoptet"
   ========================================================= */

/* Farebné logo Shoptetu odstránime úplne. */
#footer #signature > a.image,
#footer #signature > a.image img,
#footer #signature a.image,
#footer #signature a.image img {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Samotný podpis je len malý textový kredit. */
#footer #signature {
  display: inline-flex !important;
  visibility: visible !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
}

/* Presný textový link Shoptetu. */
#footer #signature > a.title,
#footer #signature a.title {
  display: inline !important;
  visibility: visible !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  color: rgba(41,52,38,.55) !important;
  font-family: "Source Sans 3","Source Sans Pro",Arial,sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}

/* Zrušíme všetky dekorácie / pseudo prvky okolo signature. */
#footer #signature::before,
#footer #signature::after,
#footer #signature > a.title::before,
#footer #signature > a.title::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

/* Footer-bottom po odstránení loga nech ostane nízky. */
#footer .footer-bottom {
  min-height: 0 !important;
  height: auto !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  align-items: center !important;
}

/* Desktop: copyright a Shoptet kredit na jednej pokojnej úrovni. */
@media (min-width: 768px) {
  #footer .footer-bottom {
    display: flex !important;
    justify-content: space-between !important;
    gap: 24px !important;
  }

  #footer #signature {
    flex: 0 0 auto !important;
  }
}

/* Mobil: kredit len drobný text pod copyrightom. */
@media (max-width: 767px) {
  #footer .footer-bottom {
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    padding-top: 11px !important;
    padding-bottom: 13px !important;
  }

  #footer #signature > a.title,
  #footer #signature a.title {
    font-size: 10.5px !important;
  }
}
