/* Responsive corrections for the existing site layout. */
#slides {
  height: clamp(280px, 56.25vw, 680px) !important;
  overflow: hidden;
}
#slides .slides-control,
#slides .slides-container,
#slides .slides-container > li {
  height: 100% !important;
}
#slides .slides-container > li > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
}
/* An optional, consent-blocked map must not reserve an empty screen. */
.row-google-map:has(#gmap_canvas:empty) {
  height: 0;
  overflow: hidden;
  margin: 0 !important;
}
@media (max-width: 767px) {
  .container {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    box-sizing: border-box;
  }
  .container .container { width: 100% !important; }
  #header #logo { float: none !important; text-align: center; height: auto !important; margin: 0 !important; }
  #header #logo a { display: block; }
  #header #logo img {
    display: block; width: 100% !important; max-width: 340px; height: auto;
    position: static !important; margin: 0 auto !important;
  }
  #navigation nav { margin: 0 !important; float: none !important; }
  header#header #navigation {
    float: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 44px;
    margin: 8px 0 0 !important;
  }
  #navigation nav .menu {
    display: flex !important;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 !important;
    width: 100%;
  }
  #navigation nav .menu > li {
    float: none !important;
    height: auto !important;
    padding: 0 !important;
  }
  #navigation nav .menu > li > a {
    display: block;
    padding: 10px 8px !important;
    font-size: 14px !important;
    line-height: 22px !important;
  }
  #slides, #slider-fullwidth { display: none !important; }
  #myCarousel { display: block !important; }
  #myCarousel .item > img { width: 100%; height: auto; }
  #myCarousel .mobile-home-slider h1 { font-size: 22px; line-height: 1.25; }
  #myCarousel .mobile-home-slider p { font-size: 16px; line-height: 1.4; padding-bottom: 16px; }
  #myCarousel .carousel-control { top: 95px !important; }
  #homeTextBig { padding: 24px 0 !important; }
  #homeTextBig h1 span { font-size: 26px !important; line-height: 1.25; }
  .perfect-match > a { width: 100% !important; }
  .portfolio-list > .portfolio-item {
    width: 100% !important;
    margin: 0 0 20px !important;
    float: none !important;
    box-sizing: border-box;
  }
  .portfolio-list > .portfolio-item .media,
  .portfolio-list > .portfolio-item .media img { width: 100% !important; height: auto !important; }
  .portfolio-list .info .name { margin-left: 0 !important; font-size: 16px; }
  .contact_form input:not([type=hidden]):not([type=button]),
  .contact_form textarea { width: 100% !important; font-size: 16px; box-sizing: border-box; }
  .contact_form input:not([type=hidden]) { min-height: 44px; }
  .contact_form textarea { min-height: 150px; }
  .page-dynamic_template-contactpa .row-dynamic-el:has(#gmap_canvas:empty) {
    height: 0; overflow: hidden; margin: 0 !important;
  }
  .page-dynamic_template-contactpa .contact_form { margin-top: 16px !important; }
  .page-dynamic_template-contactpa .contact_form .header { margin-bottom: 0 !important; }
  .page-dynamic_template-contactpa .contact_form input:not([type=hidden]),
  .page-dynamic_template-contactpa .contact_form textarea { margin: 0 0 14px !important; }
  #bottomMenu { height: auto !important; padding: 20px 0 !important; }
  #bottomMenu nav { display: flex; flex-wrap: wrap; gap: 8px 12px; }
  #bottomMenu nav a { float: none !important; margin: 0 !important; font-size: 13px; }
}
