/* Presentation only. Scoped so host themes and Elementor keep their controls. */
#direct-booking-form,.dbm-portal-stage,.dbm-checkin{
 --od-ui-ink:#203b36;--od-ui-muted:#59665d;--od-ui-paper:#fffdf9;--od-ui-soft:#f4f1e9;
 --od-ui-line:#d5d9ce;--od-ui-action:#895334;--od-ui-deep:#193c38;
}
#direct-booking-form{padding:clamp(12px,3vw,40px);min-height:0;background:var(--od-ui-soft);line-height:1.6}
#direct-booking-form .dbm-shell{border-radius:16px;border-color:var(--od-ui-line);box-shadow:0 12px 40px #203b360d;overflow:hidden}
#direct-booking-form .dbm-top{gap:20px;flex-wrap:wrap;background:var(--od-ui-paper)}
#direct-booking-form .dbm-hero{padding:clamp(28px,5vw,56px) 24px 28px;background:var(--od-ui-paper)}
#direct-booking-form .dbm-title{font-size:clamp(34px,4vw,56px);line-height:1.08}
#direct-booking-form .dbm-intro{color:var(--od-ui-muted);font-size:16px}
#direct-booking-form .dbm-main{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr)}
#direct-booking-form .dbm-work{padding:clamp(20px,3vw,36px);min-width:0;background:var(--od-ui-paper)}
#direct-booking-form .dbm-steps{gap:clamp(14px,3vw,40px);flex-wrap:wrap;padding-bottom:24px;background:var(--od-ui-paper)}
#direct-booking-form .dbm-step{letter-spacing:.025em;font-size:12px}
#direct-booking-form .dbm-summary{background:var(--od-ui-deep);color:#fffdf9;padding:clamp(22px,3vw,36px);min-width:0}
#direct-booking-form .dbm-summary :is(h2,h3,h4,strong){color:#fffdf9}
#direct-booking-form .dbm-summary :is(.dbm-row span,.dbm-property-sub,.dbm-note,.dbm-total span){color:#dce6dc}
#direct-booking-form .dbm-summary .dbm-row{gap:12px;flex-wrap:wrap}
#direct-booking-form .dbm-summary a:not(.dbm-btn){color:#f0d6b4;text-underline-offset:3px}
#direct-booking-form .dbm-btn{background:var(--od-ui-action);color:#fffdf9;border:1px solid #bc9679;border-radius:8px;min-height:48px;font-size:13px;letter-spacing:.025em}
#direct-booking-form .dbm-btn:hover:not(:disabled){background:#70422b;transform:none}
#direct-booking-form .dbm-btn:disabled{opacity:1;background:#dce0d6;color:#5b635b;border-color:#b3bdb1;cursor:not-allowed}
#direct-booking-form :is(.dbm-input,.dbm-counter,.dbm-extra,.dbm-rate){border-radius:8px;border-color:#abb8a8}
#direct-booking-form .dbm-input{font-size:16px;color:var(--od-ui-ink);background:#fffdf9}
#direct-booking-form .dbm-months{gap:20px;min-height:0}
#direct-booking-form .dbm-day{border-radius:5px;font-size:13px;min-height:32px}
#direct-booking-form .dbm-calendar-legend{flex-wrap:wrap;font-size:12px}
#direct-booking-form :is(.dbm-arrow,.dbm-counter button,.dbm-lang){min-width:44px;min-height:44px}
#direct-booking-form .dbm-counter{height:56px}
#direct-booking-form .dbm-label{font-size:12px;letter-spacing:.025em}
#direct-booking-form .dbm-msg{font-size:14px;font-weight:600}
#direct-booking-form .dbm-summary .dbm-msg{color:#ffd9cb}
#direct-booking-form :is(.dbm-field-help,.dbm-check,.dbm-extra-description,.dbm-custom-field-help){font-size:13px;color:var(--od-ui-muted)}
#direct-booking-form :is(.dbm-terms,.dbm-rate){background:#f0f2e9;color:var(--od-ui-ink)}
:is(#direct-booking-form,.dbm-portal-stage,.dbm-checkin) :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #9b633b;outline-offset:3px}
#direct-booking-form .dbm-summary :focus-visible{outline-color:#f0cba5}
.dbm-portal-stage .dbm-portal{box-sizing:border-box;max-width:1000px;padding:clamp(20px,4vw,40px);background:var(--od-ui-paper);color:var(--od-ui-ink);border-radius:16px;border-color:var(--od-ui-line);box-shadow:none;line-height:1.65}
.dbm-portal-stage .dbm-portal *{box-sizing:border-box}
.dbm-portal-stage .dbm-portal h2{font-size:clamp(30px,4vw,44px);line-height:1.15;color:var(--od-ui-ink)}
.dbm-portal-stage .dbm-portal :is(input,textarea,select){width:100%;min-width:0;border:1px solid #a4b3a4;border-radius:7px;background:#fffdf9;color:#203b36;font-size:16px;min-height:48px}
.dbm-portal-stage .dbm-portal :is(button,a.dbm-pay){min-height:48px;border-radius:7px;background:var(--od-ui-action);color:#fff;font:600 15px/1.5 system-ui,sans-serif}
.dbm-portal-stage .dbm-portal :is(.card,details){border:1px solid var(--od-ui-line);border-radius:10px;padding:20px;background:var(--od-ui-soft)}
.dbm-portal-stage .dbm-portal summary{cursor:pointer;min-height:44px;font-weight:600}
.dbm-portal-stage .dbm-journey-hero{background:var(--od-ui-deep);color:#fffdf9;padding:clamp(20px,4vw,32px);border-radius:12px}
.dbm-portal-stage .dbm-journey-hero :is(h2,h3,h4,p,small,strong){color:#fffdf9}
.dbm-portal-stage .dbm-journey-hero small{opacity:1}
.dbm-portal-stage .dbm-journey-card{background:#ffffff0d;line-height:1.6}
.dbm-portal-stage .dbm-guest-actions a{border-radius:8px;text-align:center}
.dbm-portal-stage .dbm-portal .result{overflow-wrap:anywhere}
.dbm-checkin .dbm-ci-langs button{min-height:44px;min-width:44px}
.dbm-checkin{--ci-gold:#895334;--ci-gold-dark:#70422b;--ci-muted:#59665d}
@media(max-width:900px){
 #direct-booking-form .dbm-main{grid-template-columns:minmax(0,1fr)}
 #direct-booking-form .dbm-summary{min-height:0}
}
@media(max-width:560px){
 #direct-booking-form{padding:0}
 #direct-booking-form .dbm-shell{border-radius:0}
 #direct-booking-form .dbm-top{padding:16px;gap:12px}
 #direct-booking-form .dbm-hero{padding:24px 18px}
 #direct-booking-form .dbm-step{flex-direction:column;gap:6px;flex:1;min-width:0;text-align:center;font-size:10px}
 #direct-booking-form .dbm-step span{display:block}
 #direct-booking-form .dbm-steps{gap:8px;padding:0 16px 20px}
 #direct-booking-form :is(.dbm-custom-fields,.dbm-form-grid,.dbm-invoice-grid){grid-template-columns:minmax(0,1fr)}
 #direct-booking-form .dbm-extra{grid-template-columns:minmax(80px,auto) minmax(0,1fr);gap:10px}
 #direct-booking-form .dbm-extra-price{white-space:normal}
 .dbm-portal-stage .dbm-portal{margin:16px 10px;padding:20px 16px}
}
@media(prefers-reduced-motion:reduce){#direct-booking-form *, .dbm-portal-stage *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Suppress mobile sticky summary bar everywhere */
#dbm-mobile-sticky-bar,
.dbm-mobile-sticky-bar {
  display: none !important;
}
