/* UX audit fixes 2026-10-07. Separate file: /script.js and style.css bundles are not rebuilt. Brand: #3f7d80 main, #94bdbf accent, #23211e text. */

/* 0.1 Cookie banner: compact on phones (<=15% of the screen). */
@media (max-width:768px){
.cookie-banner.cookie-banner{padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px))}
.cookie-banner.cookie-banner .cookie-content{gap:6px;flex-wrap:nowrap}
.cookie-banner.cookie-banner .cookie-text{font-size:12.5px;line-height:1.35;text-align:left}
.cookie-banner.cookie-banner .cookie-btn{min-height:38px;padding:6px 16px;font-size:14px}
}
/* 0.1 Online-booking button: bottom right, no pulsing ring, hidden while the mobile menu is open. */
@media (max-width:700px){
a.yButton.yButton .yButtonWave{display:none!important}
a.yButton.yButton{transform:scale(.5);bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;right:8px!important}
html.has-cookie a.yButton.yButton{bottom:calc(var(--cookie-h,0px) + 10px)!important}
body:has(.menuMobile--content__open) a.yButton{display:none!important}
}
/* 0.3 Mobile menu: opaque over the hero. */
@media (max-width:900px){
.menuMobile--content.menuMobile--content{background-color:rgba(18,20,20,.97);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
}

/* 0.4 Inner pages: lower hero (the home page keeps its full hero). */
.header:not(.header_homepage) .socialLinks{display:none}
.header:not(.header_homepage) #header_center{padding-top:40px;padding-bottom:12px}
.header:not(.header_homepage) #header_center>.p--b__2{padding-bottom:0}
.header:not(.header_homepage) #header_center>.p--b__1{padding-bottom:6px}
@media (max-width:700px){
.header:not(.header_homepage) #header_center{padding-top:40px}
}

/* 0.5 Links in text use the brand colour, not system blue. */
.cnt--blockText a:not(.button),.topContent a:not(.button),.item--description a,.tabs_cnt a:not(.button),.newsItem a:not(.button){color:#3f7d80;text-decoration:underline;text-decoration-color:#94bdbf;text-underline-offset:2px}
.cnt--blockText a:not(.button):hover,.topContent a:not(.button):hover{color:#23211e}

/* 1.1 Home hero: two CTAs. */
.header--cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center}
.header--cta .button{margin:0}
.header--cta .header--cta--main{background:#3f7d80;border-color:#3f7d80;color:#fff}

/* 1.3 Home shop grid: cards centred, equal height, buttons on one line. */
@supports (justify-content:safe center){.catalogSlider .swiper-wrapper{justify-content:safe center}}
.catalogSlider .catalogItem{display:flex;flex-direction:column}
.catalogSlider .catalogItem--center{flex:1 1 auto}
.catalogSlider .catalogItem--title{min-height:2.6em}
.catalogSlider .catalogItem--cost{margin-top:auto}

/* 2.1 Event fact block under the hero. */
.event-facts{max-width:1000px;margin:24px auto 32px;padding:16px 20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;border:1px solid #94bdbf;border-radius:8px;background:#f4f9f9;box-sizing:border-box}
.event-facts--list{display:flex;flex-wrap:wrap;gap:8px 32px;margin:0;padding:0}
.event-facts--item{display:flex;flex-direction:column;gap:2px}
.event-facts--item dt{font-size:13px;line-height:1.3;color:#5a554d;text-transform:uppercase;letter-spacing:.04em}
.event-facts--item dd{margin:0;font-size:18px;line-height:1.3;color:#23211e;font-family:main-bold,Georgia}
.event-facts--button{flex:0 0 auto;margin:0;text-align:center}
.event-facts--note{font-size:15px;color:#5a554d}
@media (max-width:700px){
.event-facts{margin:16px 12px 24px;padding:14px;flex-direction:column;align-items:stretch}
.event-facts--button{width:100%;box-sizing:border-box}
.event-facts--note{text-align:center}
}
/* Past events look different from future ones. */
.newsList__backGrey .newsList--image img{filter:grayscale(.75);opacity:.88}
.newsList__backGrey .newsList--date{color:#6b665e}

/* 5.1/5.2 Services: stacked card on phones (photo, then text); price and duration when filled. */
.services--meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:15px;line-height:1.3;color:#23211e}
.services--meta--price{font-family:main-bold,Georgia;color:#3f7d80}
@media (max-width:768px){
.services--item.services--item{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;margin-bottom:28px;border-bottom:1px solid #e1ecec}
.services--item .services--image{position:relative;order:0;width:100%;flex-basis:auto;height:auto;aspect-ratio:16/9;overflow:hidden}
.services--item .services--image img,.services--item .services--image picture{display:block;width:100%;height:100%;object-fit:cover}
.services--item .noPhoto{height:100%;background:#e1ecec}
.services--item .services--cnt.services--cnt{order:1;width:100%;flex-basis:auto;margin-left:0;padding:16px 4px 20px;background:transparent;filter:none;box-sizing:border-box}
.services--item .services--title{font-size:17px;line-height:1.25}
.services--item .services--description{font-size:16px;line-height:1.5}
}

/* 4.1/9.1 Product without price: informational sizes, calm price, request button next to it. */
.item--request{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.item--request .item--price{margin:0;padding:0}
.item--price.item--price__request{font-size:20px;line-height:1.2}
.item--request--btn{margin:0;cursor:pointer}
.sku--info .sku--title{text-transform:none}
.sku--element.sku--element__info{cursor:default;color:#23211e;background:#fff;border:1px solid #94bdbf;border-radius:6px;padding:0 12px;margin:0 8px 8px 0;font-family:main-bold,Georgia;font-size:15px;pointer-events:none}

/* Product request dialog (ux-fixes.js). */
.inq{position:fixed;inset:0;z-index:20000;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.55);padding:12px;box-sizing:border-box}
.inq.is-open{display:flex}
.inq--box{position:relative;width:100%;max-width:420px;max-height:100%;overflow:auto;background:#fff;border-radius:10px;padding:24px 20px 20px;box-sizing:border-box;color:#23211e}
.inq--title{font-family:main-bold,Georgia;font-size:20px;line-height:1.25;margin:0 28px 4px 0}
.inq--product{font-size:15px;color:#5a554d;margin:0 0 14px}
.inq label{display:block;font-size:14px;margin:0 0 12px}
.inq input[type=text],.inq input[type=tel],.inq textarea{display:block;width:100%;box-sizing:border-box;margin-top:4px;padding:10px;border:1px solid #94bdbf;border-radius:6px;font:inherit;font-size:16px;color:#23211e;background:#fff}
.inq .inq--consent{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.4}
.inq .inq--consent input{margin-top:3px}
.inq .inq--consent a{color:#3f7d80}
.inq--hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.inq--submit{width:100%;min-height:44px;border:0;border-radius:6px;background:#3f7d80;color:#fff;font:inherit;font-family:main-bold,Georgia;cursor:pointer}
.inq--submit[disabled]{opacity:.6}
.inq--result{margin-top:10px;font-size:14px;line-height:1.4}
.inq--result.is-error{color:#9d2323}
.inq--close{position:absolute;right:8px;top:8px;width:44px;height:44px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#23211e}

/* 8.1 Contacts: map and phone links. */
.contacts-map{padding-top:24px;padding-bottom:32px}
.contacts-map--frame{position:relative;width:100%;aspect-ratio:16/7;min-height:260px;border:1px solid #94bdbf;border-radius:8px;overflow:hidden;background:#e1ecec}
.contacts-map--frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.contacts-map--actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:16px}
.contacts-map--actions .button{margin:0}
.cnt--blockText a.contact-link{white-space:nowrap}
/* Event facts: place link and share row under the buy button. */
.event-facts--place{color:inherit;text-decoration:underline;text-decoration-color:#94bdbf;text-underline-offset:3px}
.event-facts--place:hover{color:#3f7d80}
.event-facts--side{display:flex;flex-direction:column;align-items:flex-end;gap:14px;flex:0 0 auto}
@media (max-width:700px){.event-facts--side{align-items:stretch}.event-facts--side .share{justify-content:flex-start}}
