.dm-completion-page{max-width:960px;margin-inline:auto;padding-inline:clamp(20px,4vw,48px)}
.dm-completion-page>p{max-width:65ch;font-size:clamp(18px,1.3vw,20px);line-height:1.6}
.dm-completion-page h1{font-size:clamp(36px,4vw,56px);line-height:1.12}
.dm-completion-page h2{margin-top:40px;font-size:28px}
/* Regali: one choice, two real places, a clear request and collection sequence. */
body .dm-completion-page.dm-gift-page{max-width:1280px;padding-block:48px 64px}
body .dm-gift-page.is-layout-constrained>:not(p){max-width:none;margin-inline:0!important}
body .dm-completion-page.dm-gift-page>p{max-width:65ch;margin-inline:0!important;font-size:20px;line-height:1.6}
body .dm-gift-page h1{max-width:20ch;font-size:clamp(36px,4.5vw,64px);line-height:1.08}
.dm-gift-choices{margin-block:32px 48px;padding:28px;background:var(--color-ink,#192a27);color:var(--color-paper,#faf9f5)}
.dm-gift-page .dm-gift-choices h2{margin:0 0 20px;font-size:clamp(26px,2.6vw,34px);line-height:1.2;color:inherit}
.dm-gift-choice-links{display:flex;flex-wrap:wrap;gap:12px}
.dm-gift-choice-links a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:52px;padding:12px 18px;background:var(--color-paper,#faf9f5);color:var(--color-ink,#192a27);font-size:18px;line-height:1.4;text-decoration:none;transition:background .15s ease,color .15s ease}
.dm-gift-choice-links a:hover,.dm-gift-choice-links a[aria-current=true]{background:var(--color-accent,#765636);color:#fff}
.dm-gift-start{margin:12px 0 0}
.dm-gift-start a{display:inline-flex;align-items:center;min-height:44px;color:inherit;font-size:18px;text-underline-offset:.2em}
.dm-gift-experiences{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.dm-gift-experience{display:flex;flex-direction:column;align-items:stretch;min-width:0}
.dm-gift-experience-copy{padding-top:20px}
.dm-gift-page .dm-gift-experience h2{margin:0 0 12px;font-size:clamp(26px,2.6vw,34px);line-height:1.2}
.dm-gift-experience p{font-size:18px;line-height:1.6;margin:0 0 12px;max-width:52ch}
.dm-gift-experience .dm-gift-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:0;margin:0}
.dm-gift-experience .text-link{display:inline-flex;align-items:center;min-height:44px;font-size:18px}
.dm-gift-process{margin-block:56px;padding:32px;background:var(--color-warm,#eeeee6)}
.dm-gift-page .dm-gift-process h2{margin:0 0 24px;font-size:clamp(26px,2.6vw,34px)}
.dm-gift-process ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:0;padding:0}
.dm-gift-process h3{font:600 20px/1.35 var(--font-body,inherit);margin:0 0 12px}
.dm-gift-process p{font-size:18px;line-height:1.6;margin:0}
.dm-gift-request-intro{max-width:800px;margin-top:40px}
.dm-gift-page .dm-gift-request-intro h2{margin:0 0 12px;font-size:clamp(26px,2.6vw,34px)}
.dm-gift-request-intro p{max-width:65ch;font-size:18px;line-height:1.6;margin:0}
.dm-gift-form{max-width:800px;margin-top:24px;padding:28px;background:var(--color-paper,#faf9f5)}
#richiesta-regalo{scroll-margin-top:calc(var(--dm-header-height,84px) + 32px)}
.dm-gift-page>p:last-child a,.dm-gift-form .nf-field-description a{display:inline-flex;align-items:center;min-height:44px}
.dm-gift-discovery{margin-block:12px 0!important}
.dm-gift-discovery a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;font-size:18px;color:inherit;text-underline-offset:.2em;overflow-wrap:anywhere}
.dm-gift-discovery a:focus-visible,.dm-gift-choices a:focus-visible,.dm-gift-experience a:focus-visible{outline:3px solid currentColor;outline-offset:4px}
@media(max-width:767px){body .dm-completion-page.dm-gift-page{padding-block:32px 40px}body .dm-completion-page.dm-gift-page>p{font-size:18px}.dm-gift-choices{padding:20px;margin-block:24px 32px}.dm-gift-choice-links{gap:8px}.dm-gift-choice-links a{flex:1 1 120px;padding:12px;gap:12px}.dm-gift-experiences{grid-template-columns:minmax(0,1fr);gap:32px}.dm-gift-process{padding:24px 20px;margin-block:40px}.dm-gift-process ol{grid-template-columns:minmax(0,1fr);gap:24px}.dm-gift-request-intro{margin-top:32px}.dm-gift-form{padding:20px 12px}}
@media(prefers-reduced-motion:reduce){.dm-gift-choice-links a{transition:none}}
/* Keep Ninja Forms' native controls and associations; reset its floated lists only here. */
#main-content .dm-gift-form :is(.nf-form-fields-required,.nf-field-description,.nf-field-description p,.nf-error-msg){font-size:18px;line-height:1.55;letter-spacing:normal}
#main-content .dm-gift-form .nf-field-container{margin-bottom:24px!important}
#main-content .dm-gift-form .nf-field-label{min-width:0}
#main-content .dm-gift-form .nf-field-element :is(input[type=text],input[type=email],input[type=number],textarea){box-sizing:border-box;width:100%;min-height:48px;border:1px solid #68756f!important;border-radius:8px!important;font-size:18px!important;line-height:1.5}
#main-content .dm-gift-form .nf-field-element textarea{min-height:144px;height:144px;resize:vertical}
#main-content .dm-gift-form .nf-error .nf-field-element :is(input[type=text],input[type=email],input[type=number],textarea){border-color:#8a3026!important}
#main-content .dm-gift-form :is(input,textarea,button,a):focus-visible{outline:3px solid #765636;outline-offset:3px}
#main-content .dm-gift-form :is(input,textarea){scroll-margin-top:calc(var(--dm-header-height,84px) + 24px)}
#main-content .dm-gift-form .list-radio-wrap .nf-field-element ul{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;float:none;width:100%;margin:0!important;padding:0!important;list-style:none!important}
#main-content .dm-gift-form .list-radio-wrap .nf-field-element ul>li{position:relative;display:block;float:none;clear:none;width:auto;min-width:0;margin:0!important;padding:0!important;line-height:1.5;text-indent:0!important}
#main-content .dm-gift-form .list-radio-wrap .nf-field-element ul>li>label{box-sizing:border-box;display:flex;align-items:center;float:none;position:relative;width:100%;min-height:52px;margin:0!important;padding:12px 14px 12px 48px;border:1px solid #68756f;border-radius:8px;font-size:18px;line-height:1.5;font-weight:400;white-space:normal;overflow-wrap:anywhere;cursor:pointer;color:#192a27;background:#faf9f5}
#main-content .dm-gift-form :is(.list-radio-wrap .nf-field-element li>label,.checkbox-wrap .nf-field-label label)::before,
#main-content .dm-gift-form :is(.list-radio-wrap .nf-field-element li>label,.checkbox-wrap .nf-field-label label)::after{display:none!important;content:none!important}
#main-content .dm-gift-form .nf-form-content :is(input[type=radio],input[type=checkbox]){appearance:auto;display:block;opacity:1;float:none;box-sizing:border-box;width:22px!important;min-width:22px;height:22px!important;min-height:22px!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none;accent-color:#19312a;cursor:pointer}
#main-content .dm-gift-form .list-radio-wrap .nf-field-element ul>li>input[type=radio]{position:absolute;inset:50% auto auto 14px;transform:translateY(-50%);z-index:1}
#main-content .dm-gift-form .list-radio-wrap input[type=radio]:checked+label{border-color:#19312a;background:#eeeee6}
#main-content .dm-gift-form .list-radio-wrap input[type=radio]:focus-visible+label{outline:3px solid #765636;outline-offset:3px}
#main-content .dm-gift-form .checkbox-wrap{display:grid;grid-template-columns:22px minmax(0,1fr);gap:0 12px}
#main-content .dm-gift-form .checkbox-wrap .nf-field-label{grid-column:2;grid-row:1;width:100%;margin:0!important;padding:0;text-align:left}
#main-content .dm-gift-form .checkbox-wrap .nf-field-label label{display:flex;align-items:center;min-height:44px;width:100%;margin:0!important;padding:0;line-height:1.5;cursor:pointer}
#main-content .dm-gift-form .checkbox-wrap .nf-field-element{grid-column:1;grid-row:1;align-self:center;width:22px;margin:0;padding:0}
#main-content .dm-gift-form .checkbox-wrap .nf-field-description{grid-column:2;grid-row:2;width:100%;margin:0!important;padding:0}
#main-content .dm-gift-form .checkbox-wrap .nf-field-description p{margin:0}
#main-content .dm-gift-form .checkbox-wrap .nf-field-description a{display:inline-flex;align-items:center;min-height:44px}
#main-content .dm-gift-form .nf-form-content :is(input[type=button],input[type=submit]){min-height:48px;max-width:100%;background:#192a27!important;border-radius:8px;color:#faf9f5!important;font-size:18px;line-height:1.5;white-space:normal;cursor:pointer}
@media(min-width:768px){#main-content .dm-gift-form .list-radio-wrap .nf-field-element ul{grid-template-columns:repeat(2,minmax(0,1fr))}#main-content .dm-gift-form .list-radio-wrap .nf-field-element ul>li:last-child{grid-column:1/-1}#main-content .dm-gift-form .list-radio-wrap .nf-field-element ul>li>label{height:100%}}
.dm-gift-callout{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 32px;max-width:1280px;margin:40px auto;padding:24px clamp(20px,4vw,48px);border-block:1px solid currentColor;color:#192a27;background:#eeeee6}
.dm-gift-callout p{margin:0;max-width:60ch;font-size:18px}
.dm-gift-callout a{min-height:44px;display:inline-flex;align-items:center;font-size:18px}
.dm-announcements{max-width:1280px;margin:24px auto;padding:20px clamp(20px,4vw,48px);background:#eeeee6;color:#192a27;border-inline-start:3px solid #806345}
.dm-announcements p{font-size:18px;line-height:1.6;max-width:65ch;margin:0}
.dm-announcements p+p{margin-top:16px}
.dm-table-composer [data-dm-table-copy-label]{grid-column:1/-1}
.dm-table-composer textarea{width:100%;font:inherit;min-height:120px}
.dm-table-composer button{min-height:48px;white-space:normal}
.footer-cookie-preferences[hidden]{display:none!important}
@media(max-width:767px){.dm-gift-callout{display:block;margin-block:32px}.dm-gift-callout a{margin-top:8px}.dm-completion-page h2{font-size:24px}}
/* Landscape calendars retain month and weekday context inside the scroll panel.
   Narrow layouts retain their existing flow; there is no new dialog/header height. */
@media(max-height:540px) and (min-width:768px){
 .dm-date-range-dialog .dm-date-range-month h3{position:sticky;top:0;z-index:3;margin-bottom:0;padding-bottom:4px;background:var(--color-paper,#f3f0e8)}
 .dm-date-range-dialog .dm-date-range-month thead{position:sticky;top:var(--dm-calendar-month-heading,30.4px);z-index:2;background:var(--color-paper,#f3f0e8)}
 .dm-date-range-dialog .dm-date-range-month th{background:var(--color-paper,#f3f0e8)}
}
/* W15 · Soggiorni di lavoro. Native content, shared contacts, no extra runtime. */
.dm-work-page .dm-work-guide-20261021 .stay-cover-copy{max-width:1080px}
.dm-work-page .dm-work-guide-20261021 .lede{max-width:43ch;text-wrap:pretty}
.dm-work-page .dm-work-guide-20261021 .work-hero-actions{gap:8px 28px}
.dm-work-page .dm-work-guide-20261021 .work-explore{margin:0}
.dm-work-page .dm-work-guide-20261021 .work-explore a{display:inline-flex;align-items:center;min-height:48px;text-underline-offset:.2em}
.dm-work-page :is(.work-guide-request,.work-guide-contact){grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:48px 80px}
.dm-work-page :is(.work-guide-request,.work-guide-contact)>*{min-width:0}
.dm-work-page :is(.work-guide-request,.work-guide-contact) h2{max-width:15ch;text-wrap:balance}
.dm-work-page :is(.work-guide-request,.work-guide-contact) p{font-size:19px;line-height:1.6;max-width:56ch}
.dm-work-page .work-request-details{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:24px}
.dm-work-page .work-request-details li{padding:0;margin:0;font-size:19px;line-height:1.6}
.dm-work-page .work-request-details strong{display:block;font-weight:600;margin-bottom:2px}
.dm-work-page .work-guide-contact{background:var(--color-paper,#f3f0e8);scroll-margin-top:calc(var(--dm-header-height,84px) + 24px);margin-bottom:64px}
.dm-work-page .work-guide-contact .contact-block{margin-top:24px}
.dm-work-page .work-guide-contact .contact-block a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere;text-underline-offset:.2em}
.dm-work-page .work-guide-contact .contact-phone{font-size:clamp(26px,2.6vw,36px);line-height:1.3;font-weight:600;letter-spacing:normal}
.dm-work-page .work-guide-contact .contact-block p{margin-block:8px}
.dm-work-page :is(.dm-work-guide-20261021,.work-guide-request,.work-guide-contact) a:focus-visible{outline:3px solid var(--color-accent,#765636);outline-offset:4px}
.dm-work-page .dm-work-guide-20261021 a:focus-visible{outline-color:#fff}
@media(max-width:1023px){.dm-work-page :is(.work-guide-request,.work-guide-contact){gap:32px}}
@media(max-width:767px){
 .dm-work-page :is(.work-guide-request,.work-guide-contact){grid-template-columns:minmax(0,1fr);gap:28px;padding-block:40px}
 .dm-work-page :is(.work-guide-request,.work-guide-contact) h2{max-width:18ch}
 .dm-work-page :is(.work-guide-request,.work-guide-contact) p,.dm-work-page .work-request-details li{font-size:18px}
 .dm-work-page .work-guide-contact{margin-bottom:40px}
 .dm-work-page .work-guide-contact .contact-phone{font-size:28px}
}

/* W16: agency information, native lists and a direct group enquiry. */
#main-content .stay-cover.dm-agency-guide-20261021 .stay-cover-copy{max-width:1080px}
#main-content .stay-cover.dm-agency-guide-20261021 .stay-cover-copy>.lede{max-width:48ch;font-size:20px;line-height:1.6;font-weight:500;letter-spacing:normal;text-shadow:none;text-wrap:pretty}
.dm-agency-page .dm-agency-guide-20261021 h1{text-shadow:none}
.dm-agency-page .dm-agency-guide-20261021 .agency-hero-actions{gap:8px 28px}
.dm-agency-page .agency-action{margin:0}
.dm-agency-page .agency-action a{min-height:48px;display:inline-flex;align-items:center;max-width:100%;text-underline-offset:.2em}
.dm-agency-page :is(.agency-guide-facts,.agency-guide-request,.agency-guide-context) h2{text-wrap:balance;max-width:22ch;font-size:clamp(32px,3.4vw,44px);line-height:1.15}
.dm-agency-page .agency-guide-facts h3{font:600 23px/1.35 var(--font-body,inherit);margin:0 0 24px;letter-spacing:normal}
.dm-agency-page :is(.agency-guide-facts,.agency-guide-request,.agency-guide-context) p{font-size:19px;line-height:1.6;max-width:58ch;text-wrap:pretty}
.dm-agency-page .agency-guide-facts>.work-introduction{gap:40px 80px;margin-top:36px;align-items:start}
.dm-agency-page :is(.agency-room-types,.agency-request-details){list-style:none;margin:0 0 24px;padding:0;max-width:56ch}
.dm-agency-page :is(.agency-room-types,.agency-request-details) li{font-size:19px;line-height:1.6;margin:0 0 20px;padding:0}
.dm-agency-page :is(.agency-room-types,.agency-request-details) strong{display:block;font-weight:600}
.dm-agency-page .agency-guide-request{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px 80px;align-items:start;background:var(--color-paper,#f3f0e8);scroll-margin-top:calc(var(--dm-header-height,84px) + 24px)}
.dm-agency-page :is(.agency-guide-details,.agency-guide-contact){min-width:0}
.dm-agency-page :is(.agency-guide-facts>.work-introduction,.agency-guide-request,.agency-guide-context)>.wp-block-group{margin-block-start:0}
.dm-agency-page .agency-guide-request h2{margin:0 0 28px}
.dm-agency-page .agency-guide-request .contact-block{margin-top:24px;gap:8px}
.dm-agency-page .agency-guide-request .contact-block :is(p,a){font-size:18px;line-height:1.55}
.dm-agency-page .agency-guide-request .contact-block a{min-height:44px;display:inline-flex;align-items:center}
.dm-agency-page .agency-guide-request .contact-block .contact-phone{font-size:clamp(26px,2.6vw,34px);font-weight:600;letter-spacing:normal}
.dm-agency-page .agency-guide-context{gap:40px 80px}
.dm-agency-page :is(.agency-guide-facts,.agency-guide-context) p a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:.2em}
.dm-agency-page :is(.dm-agency-guide-20261021,.agency-guide-facts,.agency-guide-request,.agency-guide-context) a:focus-visible{outline:3px solid var(--color-accent,#765636);outline-offset:4px}
.dm-agency-page .dm-agency-guide-20261021 a:focus-visible{outline-color:var(--color-paper,#fff)}
@media(max-width:1023px){.dm-agency-page :is(.agency-guide-request,.agency-guide-context,.agency-guide-facts>.work-introduction){gap:32px}}
@media(max-width:767px){
 #main-content .stay-cover.dm-agency-guide-20261021 .stay-cover-copy>.lede{font-size:18px}
 .dm-agency-page .agency-guide-request{grid-template-columns:minmax(0,1fr);gap:40px}
 .dm-agency-page :is(.agency-guide-facts,.agency-guide-request,.agency-guide-context) p,.dm-agency-page :is(.agency-room-types,.agency-request-details) li{font-size:18px}
 .dm-agency-page .agency-guide-facts h3{font-size:22px}
 .dm-agency-page .agency-guide-request .contact-block .contact-phone{font-size:28px}
}
/* W17: readable stay terms and contextual enquiry links. */
body .dm-conditions-guide-20261022{max-width:1280px;padding-block:64px 80px}
.dm-conditions-guide-20261022 .conditions-opening{max-width:880px;margin-bottom:56px}
.dm-conditions-guide-20261022 .conditions-opening h1{font-size:clamp(36px,4.5vw,64px);line-height:1.06;letter-spacing:-.025em;text-wrap:balance;margin:0 0 24px}
.dm-conditions-guide-20261022:lang(de) .conditions-opening h1{hyphens:auto}
.dm-conditions-guide-20261022 .conditions-opening p{font-size:20px;line-height:1.6;max-width:58ch}
.dm-conditions-guide-20261022 .conditions-layout{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.6fr);gap:40px 72px;align-items:start}
.dm-conditions-guide-20261022 .conditions-layout>.wp-block-group{margin-block-start:0;min-width:0}
.dm-conditions-guide-20261022 .conditions-index{padding:24px;background:var(--color-paper,#efeee7)}
.dm-conditions-guide-20261022 .conditions-index h2{font:600 20px/1.4 var(--font-body,inherit);margin:0 0 16px}
.dm-conditions-guide-20261022 .conditions-topic-list{list-style:none;padding:0;margin:0}
.dm-conditions-guide-20261022 .conditions-topic-list li{margin:0}
.dm-conditions-guide-20261022 a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:.2em;overflow-wrap:anywhere}
.dm-conditions-guide-20261022 .conditions-topic-list a{font-size:18px;line-height:1.35;padding-block:8px}
.dm-conditions-guide-20261022 .conditions-topic{margin:0 0 48px}
.dm-conditions-guide-20261022 .conditions-topic h2{margin:0 0 16px;font-size:clamp(26px,2.5vw,32px);line-height:1.2;text-wrap:balance;scroll-margin-top:calc(var(--dm-header-height,84px) + 40px)}
.dm-conditions-guide-20261022 .conditions-topic p{max-width:58ch;font-size:19px;line-height:1.65;margin:0 0 16px}
.dm-conditions-guide-20261022 .conditions-confirmation{padding:28px;background:var(--color-ink,#192a27);color:var(--color-paper,#efeee7)}
.dm-conditions-guide-20261022 .conditions-confirmation :is(h2,p){color:inherit}
.dm-conditions-guide-20261022 .conditions-confirmation p{margin-bottom:0}
.dm-conditions-guide-20261022 .conditions-contact{margin-bottom:0;padding-top:8px}
.dm-conditions-guide-20261022 .conditions-request-link{margin-top:20px}
.dm-conditions-guide-20261022 a:focus-visible,.dm-conditions-form-links a:focus-visible{outline:3px solid var(--color-accent,#765636);outline-offset:4px}
.dm-conditions-form-links{margin-block:16px 24px}
.dm-conditions-form-links p{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0}
.dm-conditions-form-links a{display:inline-flex;align-items:center;min-height:44px;gap:6px;font-size:17px;line-height:1.4;text-underline-offset:.2em}
/* The theme sizes every #main-content paragraph, so this note needs the same anchor to stay secondary. */
#main-content .dm-conditions-form-links .dm-conditions-hint{font-size:16px;color:#4f5955}
/* The step's instruction is read first: the page's text size instead of the form's 18px, as specific as that rule and later. */
#main-content .request-desk p.request-intro{font-size:var(--dm-text);font-weight:500}
@media(max-width:767px){body .dm-conditions-guide-20261022{padding-block:40px 56px}.dm-conditions-guide-20261022 .conditions-opening{margin-bottom:32px}.dm-conditions-guide-20261022 .conditions-layout{grid-template-columns:minmax(0,1fr);gap:32px}.dm-conditions-guide-20261022 .conditions-index{padding:0}.dm-conditions-guide-20261022 .conditions-confirmation{padding:24px}.dm-conditions-guide-20261022 .conditions-topic p,.dm-conditions-guide-20261022 .conditions-opening p{font-size:18px}.dm-conditions-guide-20261022 .conditions-topic{margin-bottom:36px}}
/* W18: the celebration story remains distinct from the confirmed programme. */
#main-content .stay-cover.dm-party-guide-20261022 .stay-cover-copy{max-width:1080px}
#main-content .stay-cover.dm-party-guide-20261022 h1{font-size:clamp(40px,6vw,80px);line-height:1.03;text-shadow:none}
#main-content .stay-cover.dm-party-guide-20261022 .lede{max-width:42ch;font-size:20px;line-height:1.6;font-weight:500;letter-spacing:normal;text-shadow:none}
.dm-party-guide-20261022 .party-action{margin-block:28px 0}
.dm-party-guide-20261022 .party-action a{min-height:48px;display:inline-flex;align-items:center}
.dm-party-guide-20261022 a:focus-visible{outline:3px solid var(--color-paper,#efeee7);outline-offset:4px}
body :is(.party-story,.party-programme,.party-contact){display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px 80px;padding-block:64px;scroll-margin-top:calc(var(--dm-header-height,84px) + 32px)}
:is(.party-story,.party-programme,.party-contact)>*{min-width:0;margin-block-start:0}
:is(.party-story,.party-programme,.party-contact) h2{font-size:clamp(32px,3.4vw,48px);line-height:1.15;max-width:18ch;text-wrap:balance;margin:0}
:is(.party-story,.party-programme,.party-contact) p{max-width:55ch;font-size:19px;line-height:1.65;margin:0 0 20px}
:is(.party-story,.party-programme,.party-contact) p:last-child{margin-bottom:0}
.party-programme{background:var(--color-ink,#192a27);color:var(--color-paper,#efeee7)}
.party-programme :is(h2,h3,p,a){color:inherit}
.party-programme .party-programme-status{font-weight:600;font-size:22px;line-height:1.4}
.party-programme .events-list{margin:0}
.party-programme .event-row{grid-template-columns:minmax(0,1fr);gap:20px;margin:0;padding:0;border:0}
.party-programme .event-row .event-picture{grid-row:auto;grid-column:auto;margin:0}
.party-programme .event-row .event-photo{max-height:480px;object-fit:contain}
.party-programme .event-copy h3{font-size:30px;line-height:1.2}
.party-programme .event-date span{display:block}
.party-programme .event-details{grid-column:auto}
.party-programme :is(a,summary){min-height:44px}
.party-programme a{display:inline-flex;align-items:center}
.party-programme summary{display:list-item;padding-block:8px;cursor:pointer}
.party-programme .event-confirmation{font-size:16px;line-height:1.6}
.party-programme .event-details[open] summary{margin-bottom:20px}
.party-programme .event-details :is(p,li){font-size:18px;line-height:1.6}
.party-programme a:focus-visible,.party-programme summary:focus-visible{outline:3px solid var(--color-paper,#efeee7);outline-offset:4px}
.party-contact .dm-whatsapp{min-height:48px;display:inline-flex;align-items:center;gap:8px;font-size:20px;text-underline-offset:.2em;margin-bottom:20px}
.party-contact p:last-child{display:flex;flex-wrap:wrap;gap:4px 12px}
.party-contact p:last-child a{display:inline-flex;align-items:center;min-height:44px;font-size:18px;text-underline-offset:.2em}
.party-contact a:focus-visible{outline:3px solid var(--color-accent,#765636);outline-offset:4px}
@media(max-width:1023px){body :is(.party-story,.party-programme,.party-contact){gap:32px}}
@media(max-width:767px){
 #main-content .stay-cover.dm-party-guide-20261022 h1{font-size:clamp(32px,9.6vw,40px)}
 #main-content .stay-cover.dm-party-guide-20261022 .lede{font-size:18px}
 body :is(.party-story,.party-programme,.party-contact){grid-template-columns:minmax(0,1fr);gap:24px;padding-block:40px}
 :is(.party-story,.party-programme,.party-contact) p{font-size:18px}
 .party-programme .party-programme-status{font-size:20px}
}
/* «↗» stays for other sites and new tabs. Where it was the only sign of a same-site link (gift choices,
   route titles, Home room cards) a chevron drawn in the text colour takes its place. */
.dm-link-sign{display:inline-block;flex:none;align-self:center;width:.42em;height:.42em;margin-left:.5em;margin-right:2px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);vertical-align:.1em}
/* The language picker opens with a chevron drawn on the text line, not the «⌄» glyph that read as a low «v».
   The theme's gap already separates it from the language code. */
.language-picker .dm-select-sign{display:inline-block;width:.5em;height:.5em}
.language-picker .dm-select-sign::after{content:'';display:block;width:100%;height:100%;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-30%) rotate(45deg)}
/* Every dish repeats this label: a normal weight stops it competing with the dish, and the list keeps the size and colour
   decided for it. As specific as the theme's rule and loaded later. */
.catalog-allergens>span{font-weight:400}
:is(h1,h2,h3){text-wrap:balance}
/* Four titles took four lines on a phone, one of them splitting «eingeschränkter» in two. Each gets a size measured to fit
   three lines; every other title keeps its size. 18382 is the accessible room in German. */
@media(max-width:767px){
 .dm-osteria-page:lang(de) .cinema-osteria .osteria-glass h1{font-size:clamp(30px,13vw - 12px,64px)}
 .postid-18382 h1.wp-block-post-title{font-size:min(40px,9vw)}
}
@media(max-width:374px){.dm-osteria-page:lang(en) .cinema-osteria .osteria-glass h1{font-size:calc(15vw - 15px)}}
@media(max-width:335px){.dm-mountain-page:lang(fr) .mountain-guide-copy h1{font-size:45px}}
/* Reading down on a narrow screen the header steps aside (site.js). 64 px beyond its height take its shadow out of the window too.
   It takes no touches while away and stays in the Tab order: focus brings it back. */
@media(max-width:1023px){
 body .wp-site-blocks>header.wp-block-template-part{transition:transform .22s ease}
 body.dm-header-away .wp-site-blocks>header.wp-block-template-part{transform:translateY(calc(-100% - 64px));pointer-events:none}
}
/* The home bar, with both labels on two lines, was 69 px: 10.8% of a 320x640 window. 64 px keep both buttons at 48. */
@media(max-width:700px){
 body.home.dm-home-actions-away .mobile-dual{padding-block:7px calc(7px + env(safe-area-inset-bottom))}
 body.home .mobile-dual a{padding-block:4px}
}
/* One style for the line above a cover title (chosen on 3/11/2026): written in the content as it is, set in capitals here.
   Events keeps its sentence and the mountain guide its place line, which stands under the title. */
#main-content :is(.scene-copy,.stay-cover-copy,.cinema-copy,.bar-cover-copy,.arrival-copy,.menu-cover-copy,.request-portrait-copy)>p:has(+h1){font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;line-height:1.4}
@media(min-width:768px){#main-content :is(.scene-copy,.stay-cover-copy,.cinema-copy,.bar-cover-copy,.arrival-copy,.menu-cover-copy,.request-portrait-copy)>p:has(+h1){font-size:14px}}
/* Osteria cover: the secondary links share one size (Hours was 21.44px beside 18px on a computer) and the arrow of the
   WhatsApp link stands out of the flow, so it takes no underline of its own beside the text's. */
#main-content .osteria-secondary-actions a{font-size:18px;line-height:1.4}
#main-content .osteria-secondary-actions .dm-whatsapp{position:relative;padding-right:1.15em}
#main-content .osteria-secondary-actions .dm-whatsapp>span{position:absolute;right:0}
/* The Booking.com link under the enquiry may wrap: in French at 320px it went 1px past the screen on one line. */
.booking-alternative .text-link{white-space:normal;overflow-wrap:anywhere}
/* One leading action per cover (owner's choice, 3/11/2026). Home: «Scopri l'Osteria» is a link beside the room request; the
   photo switch stays. Osteria: the table leads, the menu and WhatsApp follow as links. */
/* The theme styles the link as a button up to .home #main-content .scene-home …: the same reach here, later, wins, with the
   Osteria photo too (measured: there the room request already stayed gold). */
.home #main-content .scene-home .scene-copy .visit-actions{align-items:center}
.home #main-content .scene-home .scene-copy .visit-actions .visit-table{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;background:none;border:0;box-shadow:none;color:var(--color-paper);font-weight:400;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.home #main-content .scene-home .scene-copy .visit-actions .visit-table:hover{background:none;color:var(--color-paper);text-decoration-thickness:2px}#main-content .osteria-secondary-actions .osteria-menu-action{display:inline-flex;align-items:center;min-height:44px}
/* Events and Information open with an action (page-presentation.php). */
#main-content .events-cover-copy .events-cover-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:28px}
#main-content .events-cover-copy .events-private-link{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:underline;text-underline-offset:5px}
#main-content .arrival-copy .info-cover-actions{margin:24px 0}
/* Gifts on a phone: the choice comes right after the opening line, the conditions follow it. */
@media(max-width:767px){
 #main-content .dm-gift-page{display:flex;flex-direction:column}
 #main-content .dm-gift-page>*{order:2}
 #main-content .dm-gift-page>h1,#main-content .dm-gift-page>p:first-of-type,#main-content .dm-gift-page>nav.dm-gift-choices{order:1}
}
/* Events below 360 px: at 42 px «Un’occasione» is wider than its card and broke inside the word (VIS-03, audit 30/10). */
@media(max-width:359px){#main-content .events-private-copy h2{font-size:38px}}
/* Cocktail event card on a phone: the column is too narrow to set the place beside the time, so it keeps its own line as it does above 700 px (VIS-01). */
@media(max-width:700px){#main-content .event-callout>.event-date span{display:block;margin:12px 0 0}}
/* The Home dock follows the other stay pages through 767px. The header can retreat while reading at 701-767px too. */
@media(min-width:701px) and (max-width:767px){
 body.home.dm-home-actions-away .mobile-dual{display:grid;position:fixed;z-index:50;bottom:0;left:0;right:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:column;grid-auto-columns:44px;gap:6px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));min-height:64px;box-sizing:border-box;background:var(--color-paper);border-top:1px solid var(--color-rule)}
 body.home .mobile-dual a{display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1.4;min-height:48px;padding:4px 8px;text-align:center;background:var(--color-metal);color:var(--color-ink)}
 body.home .mobile-dual a+a{background:var(--color-night);color:var(--color-paper)}
 body.home .dm-cookie-slot{display:flex;align-items:center;justify-content:center;min-width:44px}
 body.home .dm-cookie-slot button.iubenda-tp-btn.iubenda-cs-preferences-link[data-tp-float]{position:static!important;inset:auto!important;transform:none!important;margin:0!important;width:44px!important;height:48px!important;min-width:44px!important;box-shadow:none!important}
 body.home.dm-home-actions-away{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
}
