/* Whole-site compact spacing pass — preserves HTML structure, services, prices and scripts. */
:root {
  --compact-section-y: clamp(26px, 2.8vw, 38px);
  --compact-section-gap: clamp(14px, 1.8vw, 22px);
  --compact-card-radius: 16px;
}

html { scroll-padding-top: 104px !important; }
body { font-size: 15.5px !important; line-height: 1.58 !important; }
p { line-height: 1.58 !important; }

/* Reduce vertical whitespace without shrinking tap targets or removing content. */
#block4_programmsid,
#block5_priceid,
#map_block,
#block2id,
.block3_sertifacate,
#block6_contactsid {
  padding-top: var(--compact-section-y) !important;
  padding-bottom: var(--compact-section-y) !important;
}

#block4_programmsid .block4_h1,
#block5_priceid .block5_price_h1,
#map_block h2,
#block2id .block2_textbox h2,
.block3_sertifacate h2,
#block6_contactsid > .wrapper > h2 {
  margin-bottom: var(--compact-section-gap) !important;
  font-size: clamp(24px, 2.25vw, 31px) !important;
  line-height: 1.22 !important;
}

/* Hero: keep booking message prominent while trimming empty space above/below it. */
@media (min-width: 1025px) {
  .block1_headline { padding-top: 114px !important; }
  .header_top_border { margin-bottom: 16px !important; }
  .block1_headline > h1 { margin-bottom: 17px !important; font-size: clamp(32px, 3vw, 42px) !important; }
  .header-carousel .owl-item,
  .header-carousel .header-slide { height: 370px !important; min-height: 370px !important; }
  .header-carousel .header-slide-content { padding: 22px 36px 30px !important; }
  .header-carousel .header-slide-content h2 { margin-bottom: 11px !important; font-size: clamp(26px, 2.4vw, 36px) !important; }
  .header-carousel .header-slide-content > p:not(.header-slide-kicker) { margin-bottom: 17px !important; font-size: 15px !important; line-height: 1.5 !important; }
  .header-carousel .header-slide-kicker { margin-bottom: 8px !important; font-size: 11.5px !important; }
  .header-carousel .header-slide-cta { min-height: 42px !important; padding: 10px 18px !important; }
  header { padding-bottom: 30px !important; }
  header .header_button { padding-top: 14px !important; }
}

/* Compact, consistent spacing for the lower programme carousel. */
#block4_programmsid { padding-top: 32px !important; padding-bottom: 28px !important; }
#block4_programmsid > .wrapper { width: min(calc(100% - 36px), 1120px) !important; }
#block4_programmsid .block4_h1 { margin-bottom: 18px !important; }
#block4_programmsid .owl-carousel { max-width: 1080px !important; padding: 0 42px 6px !important; }
#block4_programmsid .owl-stage-outer { border-radius: 17px !important; }
#block4_programmsid .owl-item { padding: 0 4px 7px !important; }
#block4_programmsid [class^="slider_bg_item"] {
  min-height: 330px !important;
  height: auto !important;
  padding: 11px 15px 13px !important;
  border-radius: var(--compact-card-radius) !important;
  box-shadow: 0 5px 15px rgba(91, 65, 35, .065) !important;
}
#block4_programmsid [class^="slider_item"][class$="_logo"] {
  flex-basis: 66px !important;
  height: 66px !important;
  margin-bottom: 7px !important;
  padding: 3px 7px !important;
  border-radius: 10px !important;
}
#block4_programmsid [class^="slider_item"][class$="_logo"] img { max-height: 56px !important; max-width: min(100%, 180px) !important; }
#block4_programmsid [class^="block4_item"][class$="_headline"] {
  min-height: 38px !important;
  margin-bottom: 5px !important;
  font-size: clamp(14.5px, 1vw, 16px) !important;
  line-height: 1.3 !important;
}
#block4_programmsid [class^="slider_item"][class$="_line"] { margin-bottom: 7px !important; width: 45px !important; }
#block4_programmsid p[class^="slider_item"][class$="_p"] {
  flex: 1 0 auto !important;
  min-height: 0 !important;
  margin-bottom: 7px !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}
#block4_programmsid p[class^="slider_item"][class$="_h4"] {
  margin: 3px 0 !important;
  padding: 5px 8px !important;
  border-radius: 7px !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}
#block4_programmsid .owl-nav button.owl-prev,
#block4_programmsid .owl-nav button.owl-next { width: 34px !important; height: 34px !important; }
#block4_programmsid .owl-dots { margin-top: 5px !important; }
#block4_programmsid .owl-dots .owl-dot span { width: 7px !important; height: 7px !important; margin: 4px !important; }

/* Pricing: smaller cards and tighter, regular gaps while keeping service details readable. */
#block5_priceid { padding-top: 34px !important; padding-bottom: 34px !important; }
#block5_priceid .price_wrapper { gap: 12px 16px !important; }
#block5_priceid .price_wrapper > div[class^="price_item"] {
  min-height: 124px !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  box-shadow: 0 5px 14px rgba(91, 65, 35, .06) !important;
}
#block5_priceid .price_wrapper > div[class^="price_item"] > [class$="_logo"] { grid-template-columns: 60px minmax(0, 1fr) !important; gap: 13px !important; }
#block5_priceid .price_wrapper > div[class^="price_item"] img { width: 56px !important; height: 56px !important; }
#block5_priceid .price_wrapper [class$="_txt"] h3 { margin-bottom: 5px !important; font-size: 16px !important; line-height: 1.32 !important; }
#block5_priceid .price_item_line { margin: 5px 0 6px !important; width: 48px !important; }
#block5_priceid .price_wrapper [class$="_txt"] p { margin: 3px 0 !important; font-size: 13.2px !important; line-height: 1.42 !important; }

/* About section: tighter paragraphs and a slightly more compact two-column layout. */
#block2id .block2_wrapper { gap: clamp(22px, 3vw, 36px) !important; }
#block2id .block2_textbox p { margin-bottom: 10px !important; font-size: clamp(14px, .98vw, 15.5px) !important; line-height: 1.58 !important; }
#block2id .block2_textbox h2 { margin-bottom: 10px !important; }
#block2id .block2_textbox_line { margin-bottom: 16px !important; }
#block2id .block2_textbox h3 { margin-top: 15px !important; padding: 12px 15px !important; line-height: 1.55 !important; }
#block2id .block2_photobox { max-width: 400px !important; }
#block2id .block2_photobox img { max-width: 400px !important; border-radius: 16px !important; }

/* Certificates and map occupy less vertical space but keep image proportions and map usability. */
.block3_sertifacate { padding-top: 32px !important; padding-bottom: 30px !important; }
.block3_sertifacate .sertificate_img { gap: 14px !important; }
.block3_sertifacate .sertificate { padding: 4px !important; border-radius: 11px !important; }
#map_block { padding-top: 32px !important; padding-bottom: 32px !important; }
#map_block .map_canvas { height: 330px !important; min-height: 280px !important; overflow: hidden !important; border-radius: 15px !important; }
#map_block .map_canvas iframe,
#map_block iframe { height: 100% !important; min-height: 280px !important; }
#map_block .map_widget_links { margin-bottom: 8px !important; }

/* Contacts and bottom panel: compact without shrinking touch targets below comfortable size. */
#block6_contactsid { padding-top: 28px !important; padding-bottom: 26px !important; }
#block6_contactsid .contacts-intro { margin-bottom: 12px !important; }
#block6_contactsid .contacts_wrapper { gap: 9px !important; padding: 12px 14px !important; border-radius: 13px !important; }
#block6_contactsid .contacts_logo { gap: 7px !important; }
#block6_contactsid .contacts_logo > a.contact-social { min-height: 42px !important; padding: 6px 9px !important; border-radius: 9px !important; }
#block6_contactsid .contacts_logo > a.contact-social img { width: 20px !important; height: 20px !important; min-width: 20px !important; flex-basis: 20px !important; }
#block6_contactsid .contacts-email { font-size: 12.5px !important; }
#block6_contactsid .contacts_botton .button { min-height: 46px !important; padding: 10px 16px !important; }

/* Small footer/legal elements, if present, do not add oversized gaps. */
footer { padding-top: 18px !important; padding-bottom: 18px !important; }

@media (max-width: 1024px) {
  #block4_programmsid,
  #block5_priceid,
  #map_block,
  #block2id,
  .block3_sertifacate,
  #block6_contactsid { padding-top: 28px !important; padding-bottom: 28px !important; }
  .header-carousel .owl-item,
  .header-carousel .header-slide { height: 350px !important; min-height: 350px !important; }
  .header-carousel .header-slide-content { padding: 19px 26px 28px !important; }
  .header-carousel .header-slide-content h2 { font-size: clamp(24px, 3vw, 32px) !important; }
  #block4_programmsid .owl-carousel { padding: 0 38px 5px !important; }
  #block4_programmsid [class^="slider_bg_item"] { min-height: 315px !important; padding: 10px 13px 12px !important; }
  #block4_programmsid [class^="slider_item"][class$="_logo"] { flex-basis: 62px !important; height: 62px !important; }
  #block4_programmsid [class^="slider_item"][class$="_logo"] img { max-height: 53px !important; }
  #block5_priceid .price_wrapper { gap: 11px !important; }
  #block5_priceid .price_wrapper > div[class^="price_item"] { min-height: 110px !important; padding: 12px !important; }
  #block5_priceid .price_wrapper > div[class^="price_item"] > [class$="_logo"] { grid-template-columns: 50px minmax(0, 1fr) !important; gap: 10px !important; }
  #block5_priceid .price_wrapper > div[class^="price_item"] img { width: 48px !important; height: 48px !important; }
  #map_block .map_canvas { height: 300px !important; }
}

@media (max-width: 767px) {
  /* Do not stretch the description to fill the card's equal-height carousel row. */
  #block4_programmsid p[class^="slider_item"][class$="_p"] {
    flex: 0 0 auto !important;
    min-height: 0 !important;
  }

  body { font-size: 14.5px !important; line-height: 1.55 !important; }
  p { line-height: 1.55 !important; }
  #block4_programmsid,
  #block5_priceid,
  #map_block,
  #block2id,
  .block3_sertifacate,
  #block6_contactsid { padding-top: 24px !important; padding-bottom: 24px !important; }
  #block4_programmsid .block4_h1,
  #block5_priceid .block5_price_h1,
  #map_block h2,
  #block2id .block2_textbox h2,
  .block3_sertifacate h2,
  #block6_contactsid > .wrapper > h2 { font-size: clamp(22px, 5.5vw, 27px) !important; margin-bottom: 15px !important; }
  .block1_headline { padding-top: 88px !important; }
  .header-top-border { margin-bottom: 10px !important; }
  .block1_headline > h1 { margin-bottom: 12px !important; }
  .header-carousel .owl-item,
  .header-carousel .header-slide { height: 336px !important; min-height: 336px !important; }
  .header-carousel .header-slide-content { padding: 15px 16px 30px !important; }
  .header-carousel .header-slide-content h2 { margin-bottom: 8px !important; font-size: clamp(21px, 5vw, 28px) !important; line-height: 1.15 !important; }
  .header-carousel .header-slide-content > p:not(.header-slide-kicker) { margin-bottom: 12px !important; font-size: 13px !important; line-height: 1.45 !important; }
  .header-carousel .header-slide-kicker { margin-bottom: 6px !important; font-size: 10px !important; }
  .header-carousel .header-slide-cta { min-height: 38px !important; padding: 8px 12px !important; font-size: 12px !important; }
  header { padding-bottom: 20px !important; }
  header .header_button { padding-top: 9px !important; }
  #block4_programmsid > .wrapper,
  #block5_priceid > .wrapper,
  #map_block .map_block_wrapper,
  #block2id > .wrapper,
  .block3_sertifacate > .wrapper,
  #block6_contactsid > .wrapper { width: calc(100% - 24px) !important; }
  #block4_programmsid .owl-carousel { padding: 0 30px 4px !important; }
  #block4_programmsid .owl-item { padding: 0 3px 5px !important; }
  #block4_programmsid [class^="slider_bg_item"] { min-height: 0 !important; padding: 10px 12px 12px !important; }
  #block4_programmsid [class^="slider_item"][class$="_logo"] { flex-basis: 58px !important; height: 58px !important; margin-bottom: 5px !important; }
  #block4_programmsid [class^="slider_item"][class$="_logo"] img { max-height: 49px !important; }
  #block4_programmsid [class^="block4_item"][class$="_headline"] { min-height: 36px !important; font-size: 14.5px !important; }
  #block4_programmsid p[class^="slider_item"][class$="_p"] { font-size: 12.5px !important; line-height: 1.42 !important; }
  #block4_programmsid p[class^="slider_item"][class$="_h4"] { padding: 5px 7px !important; font-size: 11.5px !important; }
  #block4_programmsid .owl-nav button.owl-prev,
  #block4_programmsid .owl-nav button.owl-next { width: 29px !important; height: 29px !important; }
  #block5_priceid .price_wrapper { grid-template-columns: minmax(0, 1fr) !important; gap: 9px !important; }
  #block5_priceid .price_wrapper > div[class^="price_item"] { min-height: 0 !important; padding: 11px !important; border-radius: 12px !important; }
  #block5_priceid .price_wrapper > div[class^="price_item"] > [class$="_logo"] { grid-template-columns: 44px minmax(0,1fr) !important; gap: 9px !important; }
  #block5_priceid .price_wrapper > div[class^="price_item"] img { width: 42px !important; height: 42px !important; }
  #block5_priceid .price_wrapper [class$="_txt"] h3 { font-size: 14px !important; margin-bottom: 4px !important; }
  #block5_priceid .price_wrapper [class$="_txt"] p { font-size: 12.5px !important; line-height: 1.4 !important; }
  #block2id .block2_wrapper { gap: 16px !important; }
  #block2id .block2_textbox p { margin-bottom: 8px !important; font-size: 14px !important; }
  #block2id .block2_photobox { max-width: 310px !important; }
  #block2id .block2_photobox img { max-width: 310px !important; border-radius: 13px !important; }
  .block3_sertifacate .sertificate_img { gap: 9px !important; }
  .block3_sertifacate .sertificate { padding: 3px !important; border-radius: 9px !important; }
  #map_block .map_canvas { height: 260px !important; min-height: 240px !important; border-radius: 12px !important; }
  #map_block .map_canvas iframe,
  #map_block iframe { min-height: 240px !important; }
  #block6_contactsid .contacts_wrapper { padding: 10px !important; gap: 8px !important; }
  #block6_contactsid .contacts_logo { gap: 6px !important; }
  #block6_contactsid .contacts_logo > a.contact-social { min-height: 40px !important; padding: 6px 7px !important; }
}

@media (max-width: 380px) {
  .header-carousel .owl-item,
  .header-carousel .header-slide { height: 326px !important; min-height: 326px !important; }
  .header-carousel .header-slide-content { padding: 13px 13px 28px !important; }
  #block4_programmsid .owl-carousel { padding-left: 26px !important; padding-right: 26px !important; }
  #block4_programmsid .owl-nav button.owl-prev,
  #block4_programmsid .owl-nav button.owl-next { width: 26px !important; height: 26px !important; }
  #block5_priceid .price_wrapper > div[class^="price_item"] { padding: 9px !important; }
}

@media (prefers-reduced-motion: reduce) {
  #block4_programmsid [class^="slider_bg_item"],
  .block3_sertifacate .sertificate,
  #block5_priceid .price_wrapper > div[class^="price_item"] { transition: none !important; }
}
