.elementor-4574 .elementor-element.elementor-element-9e01462{--display:flex;}.elementor-4574 .elementor-element.elementor-element-f2287b8{--display:flex;}.elementor-4574 .elementor-element.elementor-element-b01f0a0{--display:flex;}.elementor-4574 .elementor-element.elementor-element-2381e60 .elementor-icon-box-wrapper{align-items:center;text-align:start;gap:15px;}.elementor-4574 .elementor-element.elementor-element-8e1864a{--display:flex;}.elementor-4574 .elementor-element.elementor-element-12c6fc1{--display:flex;}.elementor-4574 .elementor-element.elementor-element-b90e0a8{--display:flex;}.elementor-4574 .elementor-element.elementor-element-bb19851{--display:flex;}.elementor-4574 .elementor-element.elementor-element-01a0b01{--display:flex;}.elementor-4574 .elementor-element.elementor-element-dee564a{--display:flex;}.elementor-4574 .elementor-element.elementor-element-e7b573c{--display:flex;}.elementor-4574 .elementor-element.elementor-element-65d53bd{--display:flex;}.elementor-4574 .elementor-element.elementor-element-efd4194{--display:flex;}.elementor-4574 .elementor-element.elementor-element-b95d2f0{--display:flex;}.elementor-4574 .elementor-element.elementor-element-991abb2{--display:flex;}.elementor-4574 .elementor-element.elementor-element-4d2eb02{--display:flex;}/* Start custom CSS *//* === Base === */
.ch-sec {
  padding: 72px 24px 96px !important;
}

.ch-wrap {
  max-width: 1320px;
  margin: 0 auto;
  width: 100%;
  padding: 0 !important;
}

.ch-sec .e-con {
  --padding-top: 0;
  --padding-bottom: 0;
  --padding-left: 0;
  --padding-right: 0;
}

.ch-p {
  font-family: var(--e-global-typography-text-font-family), sans-serif;
  font-size: var(--e-global-typography-text-font-size);
  line-height: 1.7;
  color: #33403F;
}

.ch-p p:last-child {
  margin-bottom: 0;
}

/* === Section Ponuka – úvod === */
.ch-offer {
  background: #fff;
}

.ch-offer-intro {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  align-items: center;
  gap: 40px;
  margin-bottom: 40px !important;
}

.ch-offer-lead p {
  margin: 0 0 8px;
}

.ch-note .elementor-icon-box-wrapper {
  gap: 14px;
  padding: 18px 20px;
  border: 1px solid #D5E1DF;
  border-radius: 18px;
  background: #EEF8F7;
}

.ch-note .elementor-icon {
  color: var(--e-global-color-primary);
  font-size: 26px;
}

.ch-note .elementor-icon svg {
  fill: var(--e-global-color-primary);
  width: 26px;
  height: 26px;
}

.ch-note .elementor-icon-box-description {
  margin: 0;
  font-family: var(--e-global-typography-text-font-family), sans-serif;
  font-size: var(--e-global-typography-text-font-size);
  font-weight: 500;
  line-height: 1.5;
  color: var(--e-global-color-secondary);
}

/* === Section Kategórie (rovnaký štýl ako HP, bez popisu a šípky) === */
.ch-cat-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  column-gap: 18px;
  row-gap: 22px;
}

.ch-cat {
  position: relative;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  margin-top: 34%;
  padding: 0 18px 22px !important;
  border: 1px solid #D5E1DF;
  border-radius: 18px;
  background: #EEF8F7;
  text-decoration: none;
  transition: background .25s ease, transform .25s ease;
}

.ch-cat:hover {
  background: #E1F3F1;
  transform: translateY(-3px);
}

.ch-cat-img {
  align-self: center;
  width: 100% !important;
  margin: -30% 0 6px !important;
}

.ch-cat-img img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 14px 12px rgba(30,58,71,.12));
  transition: transform .35s ease;
}

.ch-cat:hover .ch-cat-img img {
  transform: translateY(-6px) rotate(-3deg) scale(1.03);
}

.ch-cat-t .elementor-heading-title {
  font-family: var(--e-global-typography-primary-font-family), sans-serif;
  font-size: var(--e-global-typography-cbe0120-font-size);
  line-height: 1.05;
  letter-spacing: .5px;
  color: var(--e-global-color-secondary);
  font-weight: 400;
}

/* === Responzivita === */
@media (max-width: 1024px) {

  .ch-sec {
    padding: 56px 20px 72px !important;
  }

  .ch-offer-intro {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .ch-cat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {

  .ch-sec {
    padding: 40px 16px 56px !important;
  }

  .ch-offer-intro {
    margin-bottom: 24px !important;
  }

  .ch-cat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 12px;
    row-gap: 14px;
  }

  .ch-cat {
    padding: 0 12px 16px !important;
    border-radius: 14px;
  }
}/* End custom CSS */