/* Guest comparison and booking assistance. Original brand typography is retained. */
.dr-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.dr-app .dr-collection-item[hidden],.dr-app .dr-property-card[hidden],.dr-app .dr-compare-bar[hidden],.dr-app .dr-collection-empty[hidden],.dr-compare-dialog tr[hidden]{display:none!important}
.dr-app .dr-collection-filters{display:flex;align-items:end;gap:24px;flex-wrap:wrap;margin:30px 0 25px;padding:22px 0;border-top:1px solid #d6dbce;border-bottom:1px solid #d6dbce}
.dr-collection-filters>label{display:flex;flex-direction:column;gap:9px;font-size:12px;color:#335244;font-weight:500}
.dr-collection-filters select{min-height:46px;background:#fffefa;border:1px solid #829279;border-radius:4px;padding:10px 32px 10px 13px;font:14px 'DM Sans',sans-serif;color:#23493f;min-width:160px}
.dr-collection-filters .dr-dog-filter{flex-direction:row;align-items:center;align-self:center;font-size:14px;gap:10px;min-height:46px}
.dr-dog-filter input,.dr-differences input{accent-color:#234f43;width:20px;height:20px;margin:0;flex-shrink:0}
.dr-app .dr-filter-reset{font:13px 'DM Sans',sans-serif;color:#34523f;background:transparent;border:0;text-decoration:underline;text-underline-offset:5px;min-height:46px;padding:10px;cursor:pointer}
.dr-app .dr-filter-count{flex-basis:100%;margin:0;font-size:13px;color:#52634f}
.dr-collection-item{display:flex;flex-direction:column;min-width:0}
.dr-collection-item .dr-retreat-page-card{flex:1}
.dr-app .dr-compare-toggle{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:12px;border:1px solid #b6c4ad;border-radius:4px;background:transparent;color:#274b3d;font:14px 'DM Sans',sans-serif;cursor:pointer;margin-top:14px}
.dr-compare-toggle>span{font-size:20px;line-height:1}
.dr-app .dr-compare-toggle[aria-pressed=true]{background:#e8edde;border-color:#6f8864}
.dr-app .dr-compare-bar{display:flex;align-items:center;gap:20px;padding:20px 24px;margin:0 0 25px;background:#e7edde;border:1px solid #b7c7ac;border-radius:5px;flex-wrap:wrap;position:sticky;top:12px;z-index:25}
.dr-compare-bar>div{margin-right:auto;display:flex;flex-direction:column;gap:6px;font-size:14px;color:#23473c}
.dr-compare-bar>div>span{font-size:12px;color:#52634f}
.dr-compare-bar .dr-button{font-size:13px;padding:14px 21px;min-height:46px}
.dr-app .dr-collection-empty{padding:35px;background:#edf0e5;border-radius:5px}
.dr-collection-empty h3{font:500 34px/1.15 'Cormorant Garamond',Georgia,serif;margin:0 0 14px}
.dr-collection-empty p{font-size:14px;line-height:1.7;max-width:600px}
.dr-collection-empty a{font-size:14px;text-decoration:underline;margin-left:14px}
.dr-app .dr-compare-dialog{width:min(1120px,94vw);max-width:94vw;max-height:90dvh;border:0;border-radius:8px;background:#f3f1ec;color:#24483d;padding:30px;box-sizing:border-box;overflow:auto;overscroll-behavior:contain}
.dr-compare-dialog::backdrop{background:#102c35bb;backdrop-filter:blur(3px)}
.dr-compare-dialog header{display:flex;justify-content:space-between;align-items:start;gap:20px}
.dr-compare-dialog header h2{font:500 clamp(33px,4vw,49px)/1.1 'Cormorant Garamond',Georgia,serif;letter-spacing:-.025em;margin:12px 0 18px}
.dr-compare-dialog header>button{min-width:44px;min-height:44px;border:1px solid #a5b59b;border-radius:50%;background:transparent;color:#23493d;font-size:27px;cursor:pointer;flex-shrink:0}
.dr-compare-dialog>p{font-size:14px;line-height:1.7;max-width:800px;color:#52634f;margin:0 0 20px}
.dr-differences{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;margin:10px 0 18px}
.dr-compare-scroll{max-width:100%;overflow:auto;border-top:1px solid #c5cfbc}
.dr-compare-dialog table{width:100%;min-width:640px;border-collapse:collapse;table-layout:fixed;font:14px/1.6 'DM Sans',sans-serif;text-align:left}
.dr-compare-dialog th,.dr-compare-dialog td{vertical-align:top;padding:16px 18px;border-bottom:1px solid #d7decf;overflow-wrap:anywhere}
.dr-compare-dialog thead td,.dr-compare-dialog tbody th{width:19%;font-size:12px;font-weight:500;color:#52634f;padding-left:0}
.dr-compare-dialog thead th{font-weight:400}
.dr-compare-dialog thead img{width:100%;height:140px;object-fit:cover;border-radius:4px;display:block;margin-bottom:16px}
.dr-compare-dialog thead strong{display:block;font:500 29px/1.1 'Cormorant Garamond',Georgia,serif;margin:0 0 12px}
.dr-compare-dialog thead span{display:block;font-size:12px;color:#52634f}
.dr-compare-dialog thead a{display:inline-block;min-height:44px;padding:12px 0 0;color:#315a3e;text-decoration:underline;text-underline-offset:4px;font-size:12px}
.dr-compare-dialog .dr-button{white-space:normal;line-height:1.5;font-size:12px;padding:12px 15px}
.dr-compare-dialog .dr-compare-note{font-size:12px;margin:20px 0 0}
.dr-app .dr-stay-actions{display:flex;gap:28px;flex-wrap:wrap;max-width:1450px;margin:0 auto;padding:0 7% 25px;box-sizing:border-box}
.dr-stay-actions button{border:0;background:transparent;font:inherit;cursor:pointer;min-height:44px;padding:8px 0}
.dr-stay-actions .dr-text-link{font-size:13px;margin:0;min-height:44px;display:inline-flex;align-items:center}
.dr-app .dr-booking-progress{margin:0 0 28px;padding:0 0 22px;border-bottom:1px solid #77968a}
.dr-booking-shell:is([data-step="2"],[data-step="3"],[data-step="4"]) :is(.dr-calendar-box,.dr-date-toolbar){display:none!important}
.dr-booking-shell:is([data-step="2"],[data-step="3"],[data-step="4"]) .dr-booking-layout{grid-template-columns:minmax(0,1fr)}
.dr-booking-shell:is([data-step="2"],[data-step="3"],[data-step="4"]) .dr-quote-box{width:100%;max-width:740px;justify-self:center}
.dr-nightly-breakdown summary{font-size:13px;cursor:pointer;padding:14px 0;min-height:44px;box-sizing:border-box}
.dr-nightly-breakdown>div{display:flex;justify-content:space-between;gap:20px;font-size:12px;line-height:1.8;padding:4px 0}
.dr-booking-progress ol{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;padding:0;max-width:740px}
.dr-booking-progress li{display:flex;align-items:center;gap:10px;font:13px/1.4 'DM Sans',sans-serif;color:#dce5d5}
.dr-booking-progress li>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #92a99a;border-radius:50%;flex-shrink:0}
.dr-booking-progress strong{font-weight:400}
.dr-booking-progress button{background:transparent;border:0;color:inherit;padding:8px 0;min-height:44px;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.dr-booking-progress li[aria-current=step]{color:#fff6e1}
.dr-booking-progress li[aria-current=step]>span{background:#e5d1a6;border-color:#e5d1a6;color:#263d46}
.dr-booking-progress .is-complete>span{background:#335c50;color:#fff;border-color:#a3b599}
.dr-app .dr-booking-property-strip{display:flex;align-items:center;gap:16px;padding:0 0 20px;margin-bottom:24px;border-bottom:1px solid #d3dbca}
.dr-booking-property-strip img{width:80px;height:70px;object-fit:cover;border-radius:4px;flex-shrink:0}
.dr-booking-property-strip>div{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:14px}
.dr-booking-property-strip span{font-size:12px;color:#52634f}
.dr-booking-property-strip a{font-size:12px;min-height:24px;text-decoration:underline;text-underline-offset:3px;color:#315a3e;line-height:1.5}
.dr-search-tools{display:flex;align-items:center;gap:14px 20px;flex-wrap:wrap;border-top:1px solid #d3dbca;padding-top:18px;margin-top:22px}
.dr-search-tools>a,.dr-search-tools>button{font:13px/1.6 'DM Sans',sans-serif;text-decoration:underline;text-underline-offset:4px;color:#315a3e;padding:8px 0;min-height:44px;border:0;background:transparent;cursor:pointer;box-sizing:border-box}
.dr-app .dr-share-status{flex-basis:100%;margin:0;font-size:12px;line-height:1.6;color:#52634f}
.dr-share-link{width:100%;min-width:0;padding:12px;border:1px solid #829279;background:#fff;font:13px 'DM Sans',sans-serif;color:#23473c;border-radius:4px}
.dr-enquiry-context{border-left:3px solid #71905f;background:#eaf0e1;padding:17px 20px;margin-bottom:24px;font-size:14px;line-height:1.7;color:#23473c}
.dr-enquiry-context p{font-size:13px;margin:6px 0 0}
.dr-property-mobile-book{display:none}
.dr-header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.dr-app .dr-footer-links{background:#263d46;border-radius:5px;padding:32px;margin-bottom:30px;border-top:0}
.dr-app .dr-footer-links h3{color:#f2f1e2}
.dr-app .dr-footer-links a{color:#d7e1ce}
.dr-app .dr-page-finale .dr-button{background:#224a3c;color:#fff4dc}
@media(max-width:700px){
 .dr-app .dr-collection-filters{gap:18px 12px;align-items:end;padding:20px 0}
 .dr-app .dr-footer-links{padding:26px 20px}
 .dr-collection-filters>label{flex:1;min-width:130px}
 .dr-collection-filters select{width:100%;min-width:0;font-size:16px;padding:10px 26px 10px 10px}
 .dr-collection-filters .dr-dog-filter{flex-basis:45%;order:3;font-size:13px}
 .dr-collection-filters .dr-filter-reset{order:4;margin-left:auto}
 .dr-collection-filters .dr-filter-count{order:5;font-size:12px}
 .dr-app .dr-compare-bar{padding:17px;gap:12px;margin-bottom:22px}
 .dr-compare-bar>div{flex-basis:100%}
 .dr-compare-bar>.dr-button{flex:1}
 .dr-app .dr-compare-dialog{padding:20px 16px;width:96vw;max-width:96vw;max-height:92dvh}
 .dr-compare-dialog table{min-width:620px}
 .dr-compare-dialog[data-count="2"] table{min-width:0}
 .dr-compare-dialog[data-count="2"] th,.dr-compare-dialog[data-count="2"] td{padding:12px 7px}
 .dr-compare-dialog[data-count="2"] thead td,.dr-compare-dialog[data-count="2"] tbody th{width:24%;padding-left:0;font-size:11px}
 .dr-compare-dialog[data-count="2"] thead strong{font-size:22px;overflow-wrap:normal}
 .dr-compare-dialog[data-count="2"] thead img{height:85px}
 .dr-compare-dialog[data-count="2"] thead span,.dr-compare-dialog[data-count="2"] thead a{font-size:11px}
 .dr-compare-dialog[data-count="2"] tbody td{font-size:12px;line-height:1.7}
 .dr-compare-dialog th,.dr-compare-dialog td{padding:14px 12px}
 .dr-compare-dialog thead strong{font-size:26px}
 .dr-compare-dialog thead img{height:110px}
 .dr-app .dr-collection-empty{padding:24px}
 .dr-collection-empty .dr-button{font-size:13px;padding:14px}
 .dr-collection-empty a{display:inline-block;margin:12px 0 0;min-height:44px}
 .dr-app .dr-stay-actions{padding:0 6% 15px;gap:15px}
 .dr-app .dr-has-property-bar{padding-bottom:85px}
 .dr-property-mobile-book{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:35;align-items:center;gap:15px;background:#f3f1ec;border-top:1px solid #bdcbb3;padding:12px 6% calc(12px + env(safe-area-inset-bottom));box-shadow:0 -5px 20px #263d460d}
 .dr-property-mobile-book>div{flex:1;min-width:0;font-size:12px;color:#23473c}
 .dr-property-mobile-book>div>span{display:block;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .dr-property-mobile-book strong{font-size:19px;font-weight:500}
 .dr-property-mobile-book .dr-button{min-height:48px;padding:13px 17px;font-size:13px;white-space:nowrap;gap:8px}
 .dr-property-mobile-book small{font-size:10px}
 .dr-app .dr-booking-progress{margin-bottom:20px;padding-bottom:17px}
 .dr-booking-progress ol{gap:10px;align-items:flex-start}
 .dr-booking-progress li{flex:1;gap:7px;flex-direction:column;align-items:start;font-size:11px}
 .dr-booking-progress li>span{width:27px;height:27px}
 .dr-booking-progress button{padding:0;min-height:32px;text-align:left}
 .dr-booking-property-strip img{width:66px;height:66px}
 .dr-booking-property-strip>div{font-size:13px}
 .dr-app .dr-booking-property-strip{gap:12px;margin-bottom:20px;padding-bottom:17px}
}
@media(prefers-reduced-motion:reduce){.dr-app{scroll-behavior:auto}}
