/* Compatibility layer. Original design rules remain in style.css. */
#logo a { overflow: hidden; }
#boutique img { width: 436px; height: 270px; max-width: 100%; object-fit: cover; }
#boutique:not(.boutique) { list-style: none; }
.services-item-image { width: 276px; max-width: 100%; overflow: hidden; }
.services-item-image img { width: 264px; max-width: 100%; height: 196px; object-fit: cover; display: block; }
.goods-item-image img { width: 294px; max-width: 100%; height: 176px; object-fit: cover; display: block; }
.goodslist-item-image img { max-width: 100%; height: auto; }
.gallery-tabs-item { overflow: hidden; min-height: 300px; }
.gallery-tabs-item .item-g-container { position: relative; width: 100%; height: 320px; overflow: hidden; border: 1px solid #66d1cbd9; border-radius: 4px; }
.gallery-tabs-item .item-g-container > img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gallery-tabs-item .overs-after { position: absolute; inset: 0; z-index: 1; background: #0006; transition: opacity .2s ease; }
.gallery-tabs-item .overs-after:hover { opacity: 0; }
.gallery-tabs-item .gal-item-title { position: absolute; bottom: 0; width: 100%; color: white; text-align: center; font-weight: bold; }
.gallery-tabs-item a { display: block; text-decoration: none; }
#pricetable_wrapper { max-width: 960px; width: 100%; margin-left: auto; margin-right: auto; overflow-x: auto; }
.carpediem-price-search { display: block; padding: 0 0 15px; font-size: 16px; text-align: right; }
.carpediem-price-search input { max-width: 100%; padding: 7px 10px; border: 1px solid #b5b5b5; border-radius: 3px; }
.carpediem-service-page .item-213,
.carpediem-service-page .item-214,
.carpediem-service-page .item-215,
.carpediem-service-page .item-219 { display: none !important; }
.header-menu ul.mod-menu { padding-left: 0; list-style: none; }
.header-menu ul.mod-menu > li { display: inline-block; }
.header-menu ul.mod-menu > li > a { display: inline-block; font: bold 14px verdana, sans-serif; line-height: 51px; padding: 0 9px; color: #fff; border-left: 1px solid #42c5be; background: #42c5be url(img/bg-menu.jpg) center repeat-x; }
.header-menu ul.mod-menu > li.current > a,
.header-menu ul.mod-menu > li.active > a,
.header-menu ul.mod-menu > li > a:hover { background: #000 url(img/bg-menu-hover.jpg) center repeat-x; }
.header-menu ul.mod-menu > li:first-child > a { border-radius: 10px 0 0 10px; border-left: none; }
.header-menu ul.mod-menu > li:last-child > a { border-radius: 0 10px 10px 0; }
.header-menu ul.mod-menu { box-shadow: 0 1px 4px #0009; border-radius: 10px; }
@media (max-width: 1150px) {
    #boutique img { height: auto; }
    .gallery-tabs-item .item-g-container > img { height: 100%; min-height: 0; }
    .service-description, .goodslist-items { padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 678px) {
    .header-menu ul.mod-menu > li, .header-menu ul.mod-menu > li > a { display: block; }
    .header-menu ul.mod-menu > li > a { border-left: 0; }
    #logo { max-width: 100%; height: auto; aspect-ratio: 489 / 132; }
    .goods-item-image, .services-item-image { max-width: 100%; }
    .gallery-tabs-item { min-height: 240px; }
    .gallery-tabs-item .item-g-container { height: 260px; }
    .carpediem-price-search { text-align: left; }
}

/* Header navigation: keep every top-level item on one row. */
@media (min-width: 679px) {
  #header { width: 100%; }
  .header-menu { width: 72%; white-space: nowrap; }
  .header-menu ul.mod-menu { display: inline-flex; flex-wrap: nowrap; width: max-content; max-width: none; margin: 0 auto 5px; padding: 0; vertical-align: top; }
  .header-menu ul.mod-menu > li { display: block; flex: 0 0 auto; }
  .header-menu ul.mod-menu > li > a { white-space: nowrap; }
}
