/* The original Artthé styles are retained in assets/site. These rules repair
   responsive edge cases and add accessible controls without changing the brand. */
html { scroll-behavior: smooth; }
img { max-width: 100%; }
.btn.btn-medium, .btn.btn-large, .btn.btn-small, .forminator-button { display: inline-flex; align-items: center; justify-content: center; vertical-align: middle; text-align: center; line-height: 1.35 !important; }
.btn.btn-medium, .forminator-button { min-height: 52px; }
.btn br, .forminator-button br { display: none; }
.about-boxes a.about-box { display: block; height: 100%; color: #fff; text-decoration: none; border: 1px solid transparent; }
.about-boxes a.about-box:hover, .about-boxes a.about-box:focus-visible { border-color: #39839b; }
[id^="focus-"] { scroll-margin-top: 32px; }
.google-map.mapouter { height: auto; }
.google-map iframe { display: block; width: 100%; height: 410px; border: 0; }
.google-map .map-directions { display: block; padding: 12px; text-align: center; color: #fff; text-decoration: underline; font-size: 14px; }
.youtube-surface { position: relative; aspect-ratio: 16 / 9; min-height: 200px; background: #181a1f; overflow: hidden; }
.youtube-play { display: block; position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; cursor: pointer; background: #181a1f; }
.youtube-play img { display: block; width: 100%; height: 100%; object-fit: cover; }
.youtube-play-icon { position: absolute; top: 50%; left: 50%; width: 68px; height: 48px; border-radius: 12px; background: #f00; transform: translate(-50%,-50%); transition: background .2s ease; }
.youtube-play-icon::after { content: ''; position: absolute; top: 14px; left: 27px; border-left: 18px solid #fff; border-top: 10px solid transparent; border-bottom: 10px solid transparent; }
.youtube-play:hover .youtube-play-icon { background: #c00; }
.youtube-surface iframe { width: 100%; height: 100%; min-height: 200px; border: 0; position: absolute; inset: 0; }
.youtube-status { margin-top: 12px; padding: 0 5px; font-size: 15px; text-align: center; }
.youtube-status a { text-decoration: underline; color: #a6d5e4; }
a:focus-visible, button:focus-visible, [role="button"]:focus-visible,
input:focus-visible, textarea:focus-visible { outline: 2px solid #68bad2; outline-offset: 5px; }
.side-menu[inert] { visibility: hidden; }
.side-menu.side-menu-active { visibility: visible; }
body.menu-open { overflow: hidden; }
.btn_sideNavClose, .fixed-nav-on-scroll { cursor: pointer; }
.kl-video-youtube iframe { width: 100%; aspect-ratio: 16 / 9; display: block; }
.reservation-module { max-width: 1200px; margin: 0 auto; padding: 0 15px; }
.reservation-module iframe { display: block; width: 100%; height: calc(100vh - 64px); height: min(1050px, calc(100svh - 64px)); border: 0; background: #fff; }
.reservation-alternative { text-align: center; padding: 18px 5px 0; color: #145870; font-size: 14px; }
.reservation-alternative a { color: #145870; text-decoration: underline; }
.kl-section-contact .forminator-row { display: flex; gap: 30px; margin-bottom: 24px; }
.kl-section-contact .forminator-col { flex: 1; min-width: 0; }
.kl-section-contact .forminator-input, .kl-section-contact .forminator-textarea { width: 100%; }
.kl-section-contact .forminator-textarea { height: auto !important; resize: vertical !important; }
.kl-section-contact .forminator-input::placeholder, .kl-section-contact .forminator-textarea::placeholder { color: #a5a5a5; opacity: 1; }
.kl-section-contact .forminator-button { cursor: pointer; }
.contact-honeypot { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
#contact-status { margin-top: 20px; }
#contact-status[data-error="true"] { color: #ffb7b7; }
#cabinet-gallery .cbp-item-wrapper { cursor: zoom-in; }
#cabinet-gallery .cbp-item-wrapper { position: relative; overflow: hidden; height: 100%; }
#cabinet-gallery .kl-img-cbp-caption-defaultWrap { width: 100%; transition: transform .5s ease; }
#cabinet-gallery .cbp-caption-activeWrap { position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity .4s ease; }
#cabinet-gallery .cbp-l-caption-alignCenter { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; pointer-events: none; }
#cabinet-gallery .cbp-item-wrapper:hover .kl-img-cbp-caption-defaultWrap { transform: scale(1.05); }
#cabinet-gallery .cbp-item-wrapper:hover .cbp-caption-activeWrap { opacity: .4; }
#cabinet-gallery .cbp-item-wrapper:hover .cbp-l-caption-alignCenter { opacity: 1; }
#cabinet-gallery .cbp-item-wrapper:focus-visible { outline: 3px solid #fff; outline-offset: -5px; }
#cabinet-gallery .cbp-item-wrapper:focus-visible .cbp-l-caption-alignCenter { opacity: 1; }
#gallery-lightbox { border: 0; background: transparent; padding: 0; max-width: 96vw; max-height: 96dvh; width: 96vw; height: 96dvh; color: #fff; overflow: hidden; }
#gallery-lightbox::backdrop { background: rgba(0,0,0,.94); }
#gallery-lightbox[open] { display: flex; align-items: center; justify-content: center; }
#gallery-lightbox figure { margin: 0; max-width: calc(100% - 110px); text-align: center; }
#gallery-lightbox figure img { max-width: 100%; max-height: 84dvh; object-fit: contain; }
#gallery-lightbox figcaption { padding-top: 12px; font-size: 15px; }
#gallery-lightbox button { position: absolute; border: 0; color: white; background: rgba(20,88,112,.55); cursor: pointer; width: 44px; height: 44px; font-size: 36px; line-height: 1; border-radius: 50%; }
#gallery-lightbox .lightbox-close { right: 8px; top: 8px; z-index: 2; }
#gallery-lightbox .lightbox-prev { left: 5px; }
#gallery-lightbox .lightbox-next { right: 5px; }
@media (max-width: 991px) {
  .top-banner > .container-fluid > .row { position: relative; min-height: 52px; align-items: center; flex-wrap: nowrap; }
  .top-banner > .container-fluid > .row > div { flex: 0 0 33.333%; max-width: 33.333%; }
  .top-banner .logo-center { position: static; left: auto; top: auto; }
  .top-banner .sidemenu_btn { margin-top: 0; }
  .kl-blog .blog-img { max-width: 100%; }
}
@media (max-width: 767.98px) {
  .kl-video-youtube { width: 100%; padding: 0 15px; }
  .kl-home-hero .kl-slider-area { min-height: 480px; }
  .kl-home-hero h1 { overflow-wrap: break-word; }
  .kl-section-contact .forminator-row { flex-direction: column; gap: 20px; margin-bottom: 20px; }
  .kl-section-contact .forminator-button { max-width: 100%; padding-left: 24px !important; padding-right: 24px !important; }
  .kl-cabinet .kl-col-with-max-height { max-height: none; }
  .kl-cabinet .kl-img-cbp-caption-defaultWrap { display: block; }
  .kl-cabinet .kl-web-design-right > .marketing { height: auto; }
  .kl-cabinet .kl-h-50, .kl-cabinet .kl-h-100 { height: auto; }
  .kl-cabinet .kl-col > .kl-h-100 { min-height: 280px; }
  .kl-cabinet .kl-col > .kl-h-100 .kl-img-cbp-caption-defaultWrap { max-height: 480px; }
  .kl-cabinet .kl-wrapper-seo-marketing { height: auto; }
  .kl-content-single.text-justify { text-align: left !important; }
  .page-title { background-attachment: scroll !important; }
  .page-title h1 { font-size: clamp(27px, 7vw, 40px); overflow-wrap: break-word; }
  .kl-footer-link p { margin-top: 15px; }
  #gallery-lightbox figure { max-width: calc(100% - 80px); }
  #gallery-lightbox button { width: 36px; height: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-delay: 0ms !important; transition-duration: .01ms !important; }
}
