/* Shared mobile controls across the theme; legacy bars are replaced by this dock. */
#navbar-mobile__top,#navbar-mobile__bottom,#tablet_nav_container,#mobile_darkening,#collapsed_menu,#discount_bar,#discount_bar_happy,#discount_bar_weekend,#discount_bar_arrow{display:none!important}
.dm-topbar,.dm-dock,.dm-menu:not([open]){display:none}
.dm-dock *,.dm-menu *{box-sizing:border-box}
.dm-dock svg,.dm-menu svg{width:23px;height:23px;display:block;flex-shrink:0;color:inherit}
.dm-dock a,.dm-dock button,.dm-menu a,.dm-menu button,.dm-menu summary{-webkit-tap-highlight-color:transparent}
.dm-dock a:focus-visible,.dm-dock button:focus-visible,.dm-menu a:focus-visible,.dm-menu button:focus-visible,.dm-menu summary:focus-visible{outline:2px solid #a77d4c;outline-offset:3px}
.dm-menu{position:fixed;inset:auto 12px 12px auto;width:min(420px,calc(100% - 24px));max-width:none;height:min(860px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);margin:0;padding:0;border:1px solid #eee7df;border-radius:25px;background:#fdfcf9;color:#43443e;box-shadow:0 25px 85px #101a1740;font:14px/1.6 Work,"Work Sans",Arial,sans-serif;overflow:hidden}
.dm-menu::backdrop{background:#14262185;backdrop-filter:blur(6px)}
.dm-menu[open]{display:flex;flex-direction:column;animation:dm-appear .22s ease-out}
.dm-menu :where(p,a,span,li,ul,summary,button,div){color:inherit;font-family:inherit;text-transform:none;letter-spacing:normal}
.dm-menu-header{display:flex;align-items:center;justify-content:space-between;padding:24px 23px 20px;gap:20px;border-bottom:1px solid #eae6de;background:#fdfcf9;flex-shrink:0}
.dm-menu-header img{display:block;width:150px;height:auto}
.dm-close{display:grid;place-items:center;border:1px solid #e5e0d6;border-radius:50%;width:38px;height:38px;background:transparent;color:#585a50;cursor:pointer;padding:8px}
.dm-close:hover{background:#f1ece3}.dm-close svg{width:19px;height:19px}
.dm-menu-scroll{padding:23px 23px calc(22px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d5c7b4 transparent;flex:1;min-height:0}
.dm-menu .dm-eyebrow{font-size:9px;font-weight:500;letter-spacing:1.8px;color:#9a7b52;margin:0 0 12px}
.dm-booking{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#e9bd8b;padding:16px 18px;border-radius:14px;text-decoration:none;font-weight:500;font-size:14px;margin-bottom:22px}
.dm-booking:hover{background:#dfb07c}
.dm-links,.dm-submenu{list-style:none;margin:0;padding:0}
.dm-links>.dm-item{border-bottom:1px solid #e9e5de}
.dm-links>.dm-item>a,.dm-links summary{display:flex;align-items:center;justify-content:space-between;padding:16px 2px;text-decoration:none;font-size:15px;font-weight:400;cursor:pointer;line-height:1.5;min-height:55px}
.dm-links summary{list-style:none}.dm-links summary::-webkit-details-marker{display:none}
.dm-links summary svg{width:17px;height:17px;color:#9c9589;transition:transform .2s}
.dm-links details[open]>summary{color:#997145}
.dm-links details[open]>summary svg{transform:rotate(90deg)}
.dm-submenu{padding:0 0 12px 12px;border-left:1px solid #decbb3;margin-left:3px;margin-bottom:10px}
.dm-submenu a{display:block;padding:11px 12px;text-decoration:none;font-size:12px;line-height:1.6;border-radius:8px;color:#6d6d62}
.dm-submenu a:hover,.dm-links>.dm-item>a:hover{background:#f3efe7}
.dm-submenu summary{font-size:13px;min-height:44px;padding:8px 12px}
.dm-links .dm-spa-overview{display:block;padding:8px 12px;font-size:12px;color:#765536}
.dm-links .dm-spa-booking{display:flex;align-items:center;gap:9px;color:#765536;font-weight:500}
:is(.dm-spa-booking,.doris-spa-booking,.doris-diet-booking) .do-category-icon{display:inline-flex;width:23px;height:23px;margin-inline-end:5px;vertical-align:middle;flex:none}
:is(.dm-spa-booking,.doris-spa-booking,.doris-diet-booking) .do-category-icon svg{width:100%;height:100%}
.dm-contact{padding-top:27px;margin-top:5px}.dm-contact>span{display:block;color:#929085;font-size:10px;margin-bottom:10px}
.dm-contact-channels{overflow:hidden;border:1px solid #ddcebb;border-radius:4px;background:#faf8f4}
.dm-contact .dm-contact-link{display:flex;align-items:center;gap:10px;min-height:48px;padding:9px 12px;border-bottom:1px solid #ddcebb;color:#554737;text-decoration:none;font-size:12px;line-height:1.5}
.dm-contact .dm-contact-link:last-child{border-bottom:0}.dm-contact .dm-contact-link:hover{background:#f2eadd}
.dm-contact-link>span{min-width:0}.dm-contact .dm-contact-link>svg{width:16px;height:16px;color:#967143;stroke-width:1.5}
.dm-contact .dm-contact-label{display:block;margin-bottom:2px;color:#895e2b;font-size:9px;font-weight:500;line-height:1.4;text-transform:uppercase;letter-spacing:1px}
.dm-contact .dm-contact-value{display:block;overflow-wrap:anywhere}
.dm-contact .dm-contact-address{margin:18px 0 0;padding:0 12px;border-left:2px solid #ddcebb;color:#70685e;font-size:12px;font-style:normal;line-height:1.8}
.dm-contact-address .dm-contact-label{margin-bottom:5px}
.dm-language{margin-top:22px;border-top:1px solid #e9e5de;padding-top:17px;font-size:11px}
@keyframes dm-appear{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:991px){
 .dc-mobile-menu,.dw-mobile-menu,.di-mobile-menu,.doris-listing-nav{display:none!important}
 .dm-topbar{box-sizing:border-box;position:absolute;z-index:1040;top:0;left:0;width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;height:auto;min-height:88px;padding:18px 24px;background:linear-gradient(180deg,#201d1b99,transparent);color:#fff}
 .admin-bar .dm-topbar{top:32px}
 .dm-brand{display:flex;align-items:center;min-height:44px;flex-shrink:0}
 .dm-brand img{display:block;width:170px;max-width:100%;height:auto}
 .dm-topbar-language{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;width:62px;height:44px;color:#fff}
 .dm-topbar .dm-language-code{color:inherit;font:500 12px/1 Work,"Work Sans",Arial,sans-serif;letter-spacing:1px}
 .dm-topbar-language:after{content:"";width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg)}
 .dm-topbar .gt_selector{box-sizing:border-box;position:absolute;inset:0;appearance:none;width:100%;height:100%;min-height:44px;margin:0;padding:0;border:0;background:transparent;opacity:0;font:16px Work,"Work Sans",Arial,sans-serif;cursor:pointer}
 .dm-topbar .gt_selector option{background:#fffdf9;color:#554737}
 .dm-topbar a:focus-visible,.dm-topbar select:focus-visible{outline:2px solid #e9bd8b;outline-offset:4px}
 .dm-topbar-language:focus-within{outline:2px solid #e9bd8b;outline-offset:2px;border-radius:4px}
 /* Enhance the native GTranslate select while preserving it as a fallback. */
 .dm-topbar-language.dm-language-enhanced:after{display:none}
 .dm-topbar-language.dm-language-enhanced:focus-within{outline:0}
 .dm-topbar-language.dm-language-enhanced .gt_selector{display:none!important}
 .dm-topbar .dm-language-trigger{appearance:none;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px;width:62px;min-height:44px;margin:0;padding:10px;border:1px solid #e9bd8b80;border-radius:8px;background:#fffdf908;color:#fff;font:500 12px/1 Work,"Work Sans",Arial,sans-serif;cursor:pointer;transition:background .2s,border-color .2s}
 .dm-topbar .dm-language-trigger:after{content:"";width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg)}
 .dm-topbar .dm-language-trigger:hover,.dm-topbar .dm-language-trigger[aria-expanded="true"]{background:#e9bd8b24;border-color:#e9bd8b}
 .dm-topbar .dm-language-trigger[aria-expanded="true"]:after{transform:translateY(1px) rotate(225deg)}
 .dm-topbar .dm-language-trigger:focus-visible{outline:2px solid #e9bd8b;outline-offset:3px}
 .dm-topbar .dm-language-options{box-sizing:border-box;position:absolute;top:calc(100% + 10px);right:0;z-index:1;width:230px;max-width:calc(100vw - 36px);max-height:min(520px,calc(100dvh - 220px));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c5a478 #f8f5ef;margin:0;padding:7px;border:1px solid #d8c4a9;border-radius:14px;background:#fffdf9;color:#554737;box-shadow:0 14px 38px #30231626;color-scheme:light}
 .dm-topbar .dm-language-options[hidden]{display:none}
 .dm-topbar .dm-language-option{appearance:none;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;margin:0;padding:11px 13px;border:0;border-radius:8px;background:transparent;color:#554737;text-align:left;text-transform:none;letter-spacing:0;font:400 14px/1.5 Work,"Work Sans",Arial,sans-serif;cursor:pointer}
 .dm-topbar .dm-language-option:hover,.dm-topbar .dm-language-option:focus-visible{background:#f2e9dc;outline:0}
 .dm-topbar .dm-language-option[aria-checked="true"]{background:#ead8bf;color:#4b3823;font-weight:500}
 .dm-topbar .dm-language-option[aria-checked="true"]:after{content:"✓";color:#88643a;font-size:16px}
 .dm-topbar .dm-language-option[aria-checked="true"]:focus-visible{outline:2px solid #a77d4c;outline-offset:-2px}
 .doris-offers-catalogue .doris-sequence-controls{top:100px;right:20px;bottom:auto;left:auto;gap:2px}
 .doris-offers-catalogue .doris-sequence-controls button{background:#1e242340}
 .dm-dock{--dm-paper:#fffdf9;--dm-ink:#554737;--dm-gold:#e6bc7f;color-scheme:light;box-sizing:border-box;position:fixed;z-index:1040;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateX(-50%);width:calc(100% - 24px);max-width:470px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;align-items:stretch;padding:10px 5px 8px;border-radius:26px;border:1px solid #e5d8c4;background:var(--dm-paper);box-shadow:0 9px 28px #6c4e2a24;font-family:"Work Sans",Work,Arial,sans-serif}
 .dm-dock .dm-action{appearance:none;position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:10px;min-height:82px;min-width:0;margin:0;padding:7px 0;border:0;border-radius:17px;background:transparent;color:var(--dm-ink);text-decoration:none;cursor:pointer;font:400 16px/1.2 "Work Sans",Work,Arial,sans-serif;letter-spacing:0;text-transform:none;white-space:nowrap}
 .dm-dock .dm-action span{color:inherit;font:inherit;letter-spacing:inherit}
 .dm-dock .dm-action .dm-glyph{display:flex;align-items:center;justify-content:center;width:28.8px;height:28.8px;flex-shrink:0}
 .dm-dock .dm-action svg{display:block;width:28.8px;height:28.8px;stroke-width:1.7}
 .dm-dock .dm-action:hover,.dm-dock .dm-action:active{background:#f6eddf}
 .dm-dock .dm-reserve{background:transparent;color:var(--dm-ink);font-weight:600}
 .dm-dock .dm-reserve .dm-glyph{position:absolute;left:50%;bottom:39px;transform:translateX(-50%);width:69.6px;height:69.6px;border:5px solid var(--dm-paper);border-radius:50%;background:var(--dm-gold);color:#47341d;box-shadow:0 -3px 15px #6c4e2a24}
 .dm-dock .dm-reserve .dm-glyph svg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
 .dm-dock .dm-reserve:hover,.dm-dock .dm-reserve:active{background:transparent}
 .dm-dock .dm-reserve:hover .dm-glyph,.dm-dock .dm-reserve:active .dm-glyph{background:#dfb07c}
 .dm-dock .dm-toggle[aria-expanded="true"]{background:#f0e9dd;color:#9a7245}
 .doris-footer{padding-bottom:calc(142px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){.dm-dock{width:calc(100% - 12px);padding-inline:2px;gap:0}.dm-dock .dm-action{letter-spacing:-.6px}}
@media(max-width:767px){
 .dm-topbar{padding-inline:18px}
 .doris-offers-catalogue .doris-sequence-controls{top:88px;right:14px}
 .admin-bar .dm-topbar{top:46px}
 .dm-dock{width:calc(100% - 24px);bottom:calc(8px + env(safe-area-inset-bottom));padding:6px 5px;gap:2px;border-radius:22px}
 .dm-dock .dm-action{min-height:62px;padding:6px 0;gap:6px;border-radius:13px;font-size:13px;letter-spacing:0}
 .dm-dock .dm-action .dm-glyph,.dm-dock .dm-action svg{width:24px;height:24px}
 .dm-dock .dm-reserve .dm-glyph{bottom:28px;width:58px;height:58px;border-width:4px}
 .doris-footer{padding-bottom:calc(116px + env(safe-area-inset-bottom))}
}
@media(min-width:992px){.dm-menu[open]{display:none}}
@media(prefers-reduced-motion:reduce){.dm-menu[open]{animation:none}.dm-links summary svg{transition:none}}

/* Contact expansion and a right-anchored collapse, preserving the existing dock sizes. */
.dm-dock-shell,.dm-bell-hint{display:none}
.dm-dock-shell [hidden]{display:none!important}
.dm-dock-shell *{box-sizing:border-box}
@media(max-width:991px){
 .dm-dock-shell{--dm-paper:#fffdf9;--dm-ink:#554737;--dm-gold:#e6bc7f;position:fixed;z-index:1040;right:max(12px,calc((100% - 470px)/2));bottom:calc(12px + env(safe-area-inset-bottom));display:block;width:calc(100% - 24px);max-width:470px;height:102px;color:var(--dm-ink);color-scheme:light;font-family:"Work Sans",Work,Arial,sans-serif;transition:width .32s cubic-bezier(.22,.61,.36,1),height .32s ease,right .32s ease,bottom .32s ease}
 .dm-dock-shell .dm-dock{position:absolute;inset:auto 0 0 auto;left:auto;bottom:0;width:var(--dm-expanded-width,100%);max-width:none;height:102px;transform:none;transform-origin:right bottom;opacity:1;visibility:visible;transition:transform .32s cubic-bezier(.22,.61,.36,1),opacity .16s ease .06s,visibility 0s}
 .dm-dock-shell .dm-dock{box-shadow:0 10px 32px #30231638,0 3px 10px #3023161a}
 .dm-dock-shell.is-minimized .dm-dock{transform:scale(.14,.74);opacity:0;visibility:hidden;pointer-events:none;transition:transform .32s cubic-bezier(.22,.61,.36,1),opacity .16s ease,visibility 0s .32s}
 .dm-dock-shell.is-minimized{right:12px;width:64px;height:64px}
 .dm-dock-shell .dm-dock-restore{appearance:none;position:absolute;right:0;bottom:0;display:grid;place-items:center;width:64px;height:64px;min-height:44px;margin:0;padding:14px;border:4px solid var(--dm-paper);border-radius:50%;background:var(--dm-gold);color:#47341d;box-shadow:0 6px 22px #6c4e2a24;cursor:pointer;transform-origin:center}
 .dm-dock-shell.is-minimized .dm-dock-restore{animation:dm-bell-appear .28s ease-out .08s backwards}
 .dm-dock-shell.is-minimized .dm-dock-restore.is-attention{animation:dm-bell-appear .28s ease-out .08s backwards,dm-bell-bounce 5.5s ease-in-out .8s infinite}
 .dm-dock-shell.is-minimized .dm-dock-restore.is-attention:hover,.dm-dock-shell.is-minimized .dm-dock-restore.is-attention:focus-visible{animation-play-state:paused}
 .dm-dock-restore svg{display:block;width:28.8px;height:28.8px;fill:none;stroke-width:1.7}
 .dm-dock-restore:focus-visible,.dm-contact-option:focus-visible{outline:2px solid #a77d4c;outline-offset:3px}
 .dm-bell-hint{position:absolute;z-index:1;right:0;bottom:calc(100% + 18px);display:block;width:min(280px,calc(100vw - 32px));margin:0;padding:19px 46px 19px 19px;border:2px solid #d7b580;border-radius:21px 21px 7px 21px;background:var(--dm-paper);color:var(--dm-ink);box-shadow:0 8px 28px #6c4e2a24;font:400 14px/1.55 "Work Sans",Work,Arial,sans-serif;text-align:left;animation:dm-contact-reveal .2s ease-out both}
 .dm-bell-hint:after{content:"";position:absolute;right:24px;bottom:-9px;width:15px;height:15px;border-right:2px solid #d7b580;border-bottom:2px solid #d7b580;background:var(--dm-paper);transform:rotate(45deg)}
 .dm-bell-hint p{margin:0;color:inherit;font:inherit;letter-spacing:normal;text-transform:none}
 .dm-bell-hint strong{display:block;margin-bottom:5px;color:inherit;font:500 15px/1.4 "Work Sans",Work,Arial,sans-serif;letter-spacing:normal;text-transform:none}
 .dm-bell-hint-caption{display:block;margin-top:9px;color:#79664e;font:400 12px/1.5 "Work Sans",Work,Arial,sans-serif;letter-spacing:normal;text-transform:none}
 .dm-bell-hint-close{appearance:none;position:absolute;top:3px;right:3px;display:grid;place-items:center;width:44px;height:44px;min-height:44px;margin:0;padding:12px;border:0;border-radius:50%;background:transparent;color:var(--dm-ink);cursor:pointer}
 .dm-bell-hint-close svg{display:block;width:18px;height:18px;fill:none;stroke-width:1.7}
 .dm-bell-hint-close:hover{background:#f6eddf}
 .dm-bell-hint-close:focus-visible{outline:2px solid #a77d4c;outline-offset:-4px}
 .dm-dock .dm-contact-trigger[aria-expanded="true"],.dm-dock .dm-offer-trigger[aria-expanded="true"]{color:#8c673b}
 .dm-contact-options{position:absolute;right:calc(10% - 24px);bottom:calc(100% + 14px);display:flex;flex-direction:column;gap:12px}
 .dm-offer-options{right:calc(30% - 24px)}
 .dm-contact-options .dm-contact-option{appearance:none;display:flex;align-items:center;justify-content:flex-end;gap:12px;min-height:56px;margin:0;padding:0;border:0;background:transparent;color:var(--dm-ink);text-decoration:none;text-transform:none;letter-spacing:normal;font:400 14px/1.4 "Work Sans",Work,Arial,sans-serif;cursor:pointer;-webkit-tap-highlight-color:transparent}
 .dm-contact-bubble{display:grid;place-items:center;flex-shrink:0;width:56px;height:56px;border:1px solid #e5d8c4;border-radius:50%;background:var(--dm-paper);box-shadow:0 5px 18px #6c4e2a1c;color:var(--dm-ink)}
 .dm-contact-bubble svg{display:block;width:28.8px;height:28.8px;fill:none;stroke-width:1.7}
 .dm-contact-caption{display:block;padding:8px 12px;border:1px solid #e8dfd2;border-radius:11px;background:var(--dm-paper);color:var(--dm-ink);box-shadow:0 3px 12px #6c4e2a0a;font:inherit;text-transform:none;letter-spacing:normal}
 .dm-contact-option:hover .dm-contact-bubble{background:#f6eddf}
 .dm-contact-collapse .dm-contact-bubble{background:#f0e9dd;box-shadow:none}
 .dm-contact-options:not([hidden]) .dm-contact-option{animation:dm-option-bounce .38s ease-out both;transform-origin:bottom right}
 .dm-contact-options .dm-contact-option:nth-last-child(2){animation-delay:.04s}
 .dm-contact-options .dm-contact-option:nth-last-child(3){animation-delay:.08s}
 .dm-contact-options .dm-contact-option:nth-last-child(4){animation-delay:.12s}
}
@media(max-width:767px){
 .dm-dock-shell{bottom:calc(8px + env(safe-area-inset-bottom));height:76px}
 .dm-dock-shell .dm-dock{height:76px}
 .dm-dock-shell.is-minimized{width:56px;height:56px;bottom:calc(12px + env(safe-area-inset-bottom))}
 .dm-dock-shell .dm-dock-restore{width:56px;height:56px;padding:12px}
 .dm-dock-restore svg{width:24px;height:24px}
 .dm-bell-hint:after{right:20px}
 .dm-contact-options{right:calc(10% - 20px);bottom:calc(100% + 14px)}
 .dm-offer-options{right:calc(30% - 20px)}
 .dm-contact-options .dm-contact-option{min-height:48px;font-size:13px}
 .dm-contact-bubble{width:48px;height:48px}
 .dm-contact-bubble svg{width:24px;height:24px}
}
@media(max-width:360px){.dm-dock .dm-action{font-size:11px}}
@keyframes dm-contact-reveal{from{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes dm-option-bounce{0%{opacity:0;transform:translateY(10px) scale(.96)}60%{opacity:1;transform:translateY(-4px) scale(1)}82%{transform:translateY(2px)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes dm-bell-appear{from{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}
@keyframes dm-bell-bounce{0%,6%,14%,22%,100%{transform:translateY(0)}10%{transform:translateY(-6px)}18%{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.dm-dock-shell,.dm-dock-shell .dm-dock{transition:none!important}.dm-contact-options .dm-contact-option,.dm-dock-shell .dm-dock-restore,.dm-bell-hint{animation:none!important}}
