/* Room details and dual room photo presentation */
.room-detail89 .room-detail-columns89{grid-template-columns:minmax(0,1fr)!important}
.room-detail89 .room-description89{min-width:0!important}
.room-detail89 .room-book89{width:min(100%,620px);margin:28px auto 0}
.room-detail89 .room-info-card89{border:1px solid #d7e2df;border-radius:14px;padding:clamp(24px,3vw,48px);margin:28px 0 0;background:#fff;color:#3d4140}
.room-detail89 .room-info-card89 h2{margin:0 0 12px;color:#004c46;font-family:var(--display-font,'Oswald',sans-serif);font-size:clamp(26px,2.35vw,42px);line-height:1.12;text-transform:uppercase;letter-spacing:.01em}
.room-detail89 .room-info-intro89{margin:0 0 30px;color:#59605e;font-size:clamp(16px,1.2vw,21px);line-height:1.45}
.room-detail89 .room-info-grid89{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:clamp(24px,4vw,64px);align-items:start}
.room-detail89 .room-facts89{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.room-detail89 .room-fact89{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;font-size:17px;line-height:1.25}
.room-detail89 .room-fact89>svg{display:block!important;width:30px!important;height:30px!important;min-width:30px!important;max-width:30px!important;fill:none!important;stroke:#164f49!important;stroke-width:2!important;stroke-linecap:round;stroke-linejoin:round}
.room-detail89 .room-fact89>div{display:block!important;min-width:0}.room-detail89 .room-fact89 strong,.room-detail89 .room-fact89 span{display:block!important}
.room-detail89 .room-fact89 strong{margin-bottom:6px}
.room-detail89 .room-rules-card89{margin-top:30px}
.room-detail89 .room-rules-card89 h3,.room-detail89 .room-amenities89 h3{margin:0 0 14px;color:#164f49;font-size:23px;font-weight:500;line-height:1.2}
.room-detail89 .room-rules-card89 ul{list-style:none;margin:0;padding:0;font-size:16px;line-height:1.3}
.room-detail89 .room-rules-card89 p{margin:18px 0 0;color:#164f49;font-size:16px}
.room-detail89 .room-rules-card89 a{color:#164f49;text-decoration:none}
.room-detail89 .room-rules-card89 a:hover{text-decoration:underline}
.room-detail89 .room-amenity-list89{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.room-detail89 .room-amenity-list89 li{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:6px 11px;border:1px solid #d2dfdc;border-radius:9px;color:#164f49;background:#fff;font-size:15px;line-height:1.15;white-space:nowrap}
.room-detail89 .room-amenity-list89 li svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.room-detail89 .room-slider89.room-mosaic89.unified-photo162[data-room-mosaic]{position:relative!important;display:grid!important;grid-template-columns:1.65fr .8fr 1fr!important;grid-template-rows:clamp(250px,30vw,430px)!important;gap:4px!important;overflow:hidden!important;background:#fff!important;border-radius:0!important}
.room-detail89 .room-mosaic89 .room-slide89[data-room-photo]{position:relative!important;inset:auto!important;display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;margin:0!important;overflow:hidden!important;opacity:1!important;visibility:visible!important;transform:none!important;border-radius:0!important}
.room-detail89 .room-mosaic89 .room-slide89[data-room-photo][hidden]{display:none!important}
.room-detail89 .room-mosaic89 .room-slide89 img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;margin:0!important;border-radius:0!important}
.room-detail89 .room-mosaic89 .room-slide-controls89{position:absolute!important;z-index:4!important;inset:0!important;width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 12px!important;pointer-events:none!important;background:transparent!important}
.room-detail89 .room-mosaic89 .room-slide-controls89 button{pointer-events:auto!important;width:42px!important;height:42px!important;border:1px solid rgba(255,255,255,.75)!important;border-radius:50%!important;background:rgba(0,0,0,.28)!important;color:white!important;display:grid!important;place-items:center!important;font-size:0!important}
.room-detail89 .room-mosaic89 .room-slide-controls89 button svg{width:20px!important;height:20px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important}
.room-detail89 .room-mosaic89 [data-room-count]{pointer-events:none!important;align-self:flex-end!important;margin-bottom:14px!important;padding:5px 10px!important;border-radius:20px!important;background:rgba(0,0,0,.52)!important;color:#fff!important;font-size:13px!important}
@media(max-width:760px){.room-detail89 .room-info-card89{padding:22px 18px;margin-top:22px}.room-detail89 .room-info-grid89{grid-template-columns:1fr;gap:26px}.room-detail89 .room-facts89{gap:18px}.room-detail89 .room-fact89{grid-template-columns:28px 1fr;gap:8px;font-size:15px}.room-detail89 .room-fact89>svg{width:26px!important;height:26px!important;min-width:26px!important;max-width:26px!important}.room-detail89 .room-rules-card89{margin-top:24px}.room-detail89 .room-rules-card89 h3,.room-detail89 .room-amenities89 h3{font-size:20px}.room-detail89 .room-rules-card89 ul{font-size:15px}.room-detail89 .room-amenity-list89{gap:7px}.room-detail89 .room-amenity-list89 li{font-size:14px;min-height:36px;padding:5px 9px}}
@media(max-width:700px){.room-detail89 .room-slider89.room-mosaic89.unified-photo162[data-room-mosaic]{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto!important;aspect-ratio:16/10!important;gap:0!important}.room-detail89 .room-mosaic89 .room-slide89[data-room-photo]{grid-area:1/1!important;aspect-ratio:16/10!important}.room-detail89 .room-mosaic89 .room-slide89 img{aspect-ratio:16/10!important;object-fit:cover!important}}

/* Reference-matched page structure and horizontal booking form. */
/* Room pages: centered summary and horizontal booking search, matching the supplied reference. */
.room-page-layout217{max-width:1240px!important;padding-top:38px!important}
.room-heading217{text-align:center;max-width:920px;margin:0 auto 30px}
.room-heading217 h1{margin:0 0 12px!important;color:#164f49!important;font-family:var(--display-font,'Oswald',sans-serif)!important;font-size:clamp(30px,3.2vw,42px)!important;font-weight:600!important;line-height:1.12!important;letter-spacing:.01em!important;text-transform:uppercase!important;max-width:none!important}
.room-heading217 p{margin:0 auto!important;max-width:760px!important;color:#3d4140!important;font-size:clamp(18px,1.55vw,23px)!important;line-height:1.2!important}
.room-search217{display:grid;grid-template-columns:1.05fr 1fr 1fr 1.05fr;align-items:center;gap:0;width:min(100%,1060px);min-height:78px;margin:38px auto 64px!important;margin-left:auto!important;margin-right:auto!important;justify-self:center!important;padding:12px 18px;background:#fff;box-shadow:0 9px 28px rgba(28,53,48,.08);box-sizing:border-box}
.room-search-field217{position:relative;display:flex;align-items:center;gap:12px;min-width:0;min-height:44px;padding:0 14px;border-right:1px solid #d6ddda;color:#3c4140}
.room-search-field217 svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.room-search-field217 select,.room-search-field217 input{width:100%;min-width:0;min-height:42px;padding:8px 4px;border:0;border-radius:0;background:transparent;color:#424745;font:inherit;font-size:14px;outline-offset:2px}
.room-search-field217 input[type=date]{font-size:13px}
.room-search-field217 select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#7b8380 50%),linear-gradient(135deg,#7b8380 50%,transparent 50%);background-position:calc(100% - 7px) 18px,calc(100% - 2px) 18px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}
.room-search-submit217{justify-self:stretch;margin-left:18px!important;min-height:48px!important;padding:12px 20px!important;border-radius:4px!important;background:#164f49!important;color:#fff!important;font-size:14px!important;font-weight:600!important;white-space:nowrap!important}
.room-detail-page89 .room-slider89{width:100%;max-width:none!important;margin:0 auto 38px!important}
.room-detail-page89 .room-slider89.room-mosaic89{display:grid!important;grid-template-columns:1.55fr .75fr 1fr!important;grid-template-rows:clamp(270px,32vw,390px)!important;gap:4px!important;overflow:hidden!important;border-radius:0!important;background:#fff!important}
.room-detail-page89 .room-mosaic89 .room-slide89[data-room-photo]{position:relative!important;inset:auto!important;display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;margin:0!important;overflow:hidden!important;opacity:1!important;visibility:visible!important;transform:none!important;border-radius:0!important}
.room-detail-page89 .room-mosaic89 .room-slide89[data-room-photo][hidden]{display:none!important}
.room-detail-page89 .room-mosaic89 .room-slide89 img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;margin:0!important;border-radius:0!important}
.room-detail-page89 .room-mosaic89 .room-slide-controls89{position:absolute!important;z-index:4!important;inset:0!important;width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 12px!important;pointer-events:none!important;background:transparent!important}
.room-detail-page89 .room-mosaic89 .room-slide-controls89 button{pointer-events:auto!important;width:42px!important;height:42px!important;border:1px solid rgba(255,255,255,.75)!important;border-radius:50%!important;background:rgba(0,0,0,.24)!important;color:#fff!important;display:grid!important;place-items:center!important;font-size:27px!important}
.room-detail-page89 .room-mosaic89 [data-room-count]{pointer-events:none!important;align-self:flex-end!important;margin-bottom:14px!important;padding:5px 10px!important;border-radius:20px!important;background:rgba(0,0,0,.52)!important;color:#fff!important;font-size:13px!important}
.room-detail-page89 .room-facts-amenities217{border:0!important;border-radius:0!important;padding:0!important;margin:0!important;background:transparent!important;color:#3d4140}
.room-detail-page89 .room-info-grid89{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;gap:clamp(30px,5vw,64px)!important;align-items:start!important}
.room-detail-page89 .room-facts89{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;margin:0!important}
.room-detail-page89 .room-fact89{grid-template-columns:34px minmax(0,1fr)!important;gap:12px!important;font-size:17px!important;line-height:1.25!important}
.room-detail-page89 .room-fact89>svg{display:block!important;width:30px!important;height:30px!important;min-width:30px!important;max-width:30px!important;fill:none!important;stroke:#164f49!important;stroke-width:2!important;stroke-linecap:round;stroke-linejoin:round}
.room-detail-page89 .room-fact89 strong,.room-detail-page89 .room-fact89 span{display:block!important}
.room-detail-page89 .room-fact89 strong{margin:2px 0 7px!important}
.room-detail-page89 .room-rules-card89{margin-top:34px!important}
.room-detail-page89 .room-rules-card89 h3,.room-detail-page89 .room-amenities89 h3{margin:0 0 16px!important;color:#164f49!important;font-size:23px!important;font-weight:700!important;line-height:1.2!important}
.room-detail-page89 .room-rules-card89 ul{list-style:none!important;margin:0!important;padding:0!important;font-size:16px!important;line-height:1.3!important}
.room-detail-page89 .room-rules-card89 p{margin:18px 0 0!important;color:#164f49!important;font-size:16px!important}
.room-detail-page89 .room-rules-card89 a{color:#164f49!important;text-decoration:none}
.room-detail-page89 .room-amenity-list89{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:0!important;padding:0!important;list-style:none!important}
.room-detail-page89 .room-amenity-list89 li{display:inline-flex!important;align-items:center!important;gap:7px!important;min-height:38px!important;padding:6px 11px!important;border:1px solid #d2dfdc!important;border-radius:9px!important;color:#164f49!important;background:#fff!important;font-size:15px!important;line-height:1.15!important;white-space:nowrap!important}
.room-detail-page89 .room-amenity-list89 li svg{width:20px!important;height:20px!important;flex:none!important;fill:none!important;stroke:currentColor!important;stroke-width:1.65!important;stroke-linecap:round;stroke-linejoin:round}
.room-detail-page89 .room-next89{margin-top:42px!important}
.room-detail-page89 .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:760px){.room-page-layout217{padding-top:26px!important}.room-heading217{margin-bottom:24px}.room-heading217 h1{font-size:clamp(28px,7vw,36px)!important}.room-heading217 p{font-size:17px!important;line-height:1.35!important}.room-search217{grid-template-columns:1fr 1fr;gap:8px;margin:26px auto 34px;padding:12px;min-height:0}.room-search-field217{padding:2px 8px;border-right:0;border-bottom:1px solid #d6ddda}.room-search-submit217{grid-column:1/-1;margin:4px 0 0!important}.room-detail-page89 .room-slider89.room-mosaic89{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto!important;aspect-ratio:16/10!important;gap:0!important;margin-bottom:26px!important}.room-detail-page89 .room-mosaic89 .room-slide89[data-room-photo]{grid-area:1/1!important;aspect-ratio:16/10!important}.room-detail-page89 .room-mosaic89 .room-slide89 img{aspect-ratio:16/10!important;object-fit:cover!important}.room-detail-page89 .room-info-grid89{grid-template-columns:1fr!important;gap:26px!important}.room-detail-page89 .room-facts89{gap:16px!important}.room-detail-page89 .room-fact89{grid-template-columns:28px minmax(0,1fr)!important;gap:8px!important;font-size:15px!important}.room-detail-page89 .room-fact89>svg{width:26px!important;height:26px!important;min-width:26px!important;max-width:26px!important}.room-detail-page89 .room-rules-card89{margin-top:26px!important}.room-detail-page89 .room-rules-card89 h3,.room-detail-page89 .room-amenities89 h3{font-size:20px!important}.room-detail-page89 .room-rules-card89 ul{font-size:15px!important}.room-detail-page89 .room-amenity-list89{gap:7px!important}.room-detail-page89 .room-amenity-list89 li{font-size:14px!important;min-height:36px!important;padding:5px 9px!important}}
@media(max-width:420px){.room-detail-page89 .room-facts89{grid-template-columns:1fr!important}.room-search-field217 input[type=date]{font-size:12px}}

@media(min-width:761px){.room-twin-page217 .room-slider89.room-mosaic89{grid-template-columns:1.55fr .75fr!important}}

@media(min-width:761px){.room-detail-page89.room-twin-page217 .room-slider89.room-mosaic89.unified-photo162[data-room-mosaic]{grid-template-columns:1.55fr .75fr 1fr!important}}


/* Desktop room pages: use the available viewport width, with balanced details columns. */
@media(min-width:761px){
  .room-page-layout217{width:calc(100vw - 48px)!important;max-width:none!important;margin-left:calc(50% - 50vw + 24px)!important;margin-right:0!important;padding:38px 0 0!important;box-sizing:border-box!important}
  .room-page-layout217 .room-heading217{max-width:1000px}
  .room-page-layout217 .room-search217{width:min(100%,1240px);margin-bottom:64px}
  .room-detail-page89 .room-info-grid89{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr)!important;gap:clamp(40px,5vw,84px)!important;width:100%!important}
  .room-detail-page89 .room-info-main89{min-width:0}
  .room-detail-page89 .room-amenities89{min-width:0;justify-self:stretch}
  .room-detail-page89 .room-amenity-list89{gap:10px!important}
}
.room-detail-page89 .room-mosaic89 .room-slide-controls89 button{width:48px!important;height:56px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#fff!important;display:grid!important;place-items:center!important;font-size:42px!important;font-family:Arial,sans-serif!important;font-weight:300!important;line-height:1!important;text-shadow:0 1px 5px rgba(0,0,0,.48)!important}
.room-detail-page89 .room-mosaic89 [data-room-count]{display:none!important}
@media(max-width:760px){.room-detail-page89 .room-mosaic89 .room-slide-controls89 button{width:42px!important;height:48px!important;font-size:36px!important}}


/* Room availability form mirrors the home-page guest and date controls. */
.room-search217 .guest106 summary{display:flex;align-items:center;gap:12px;width:100%;min-height:42px;list-style:none;cursor:pointer;color:#3c4140;font-size:14px}
.room-search217 .guest106 summary::-webkit-details-marker{display:none}
.room-search217 .guest106 summary i,.room-search217 .chevron108{width:10px;height:10px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-left:auto;position:relative;top:-3px;flex:0 0 10px;font-size:0;font-style:normal}
.room-search217 .guest106-panel{z-index:8;bottom:calc(100% + 12px)}
.room-search217 .guest106-panel label{display:grid;grid-template-columns:1fr 86px;gap:14px;align-items:center;font-size:15px}
.room-search217 .guest106-panel select{min-height:40px;border:1px solid #c6d6d2;border-radius:4px;background:#fff;padding:6px}
.room-search217 .date106-heading{display:flex;align-items:center;gap:12px;width:100%;min-height:42px;color:#3c4140;font-size:14px}
.room-search217 .date108{position:relative}
.room-search217 .date108>input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;min-height:0;padding:0;border:0}
.room-search217 .date108:focus-within{outline:2px solid #668f83;outline-offset:-2px;border-radius:4px}
.room-search217 .search-error:empty{display:none}
.room-detail-page89 .room-next89{margin-bottom:68px!important}
@media(max-width:760px){
 .room-search217{grid-template-columns:minmax(0,1fr)!important;gap:0!important;margin:26px auto 34px!important;padding:8px 14px 14px!important;background:#fff!important;box-shadow:0 8px 28px rgba(28,53,48,.12)!important;border-radius:5px!important}
 .room-search217 .room-search-field217{display:block!important;width:100%;min-height:58px!important;padding:0 10px!important;border-right:0!important;border-bottom:1px solid #d6ddda!important;box-sizing:border-box!important}
 .room-search217 .guest106 summary{min-height:58px!important;font-size:14px!important;gap:10px!important}
 .room-search217 .date106-heading{min-height:58px!important;font-size:14px!important;gap:10px!important}
 .room-search217 .guest106 summary svg,.room-search217 .date106-heading svg{width:22px!important;height:22px!important;flex:0 0 22px!important}
 .room-search217 .room-search-submit217{grid-column:1/-1!important;width:100%!important;margin:12px 0 0!important;min-height:54px!important;font-size:15px!important}
 .room-search217 .guest106-panel{bottom:auto;top:calc(100% + 8px);left:0}
 .room-search217 .search-error{margin:0}
 .room-detail-page89 .room-next89{margin-bottom:0!important;padding-bottom:28px!important}
}


/* Stronger green information subheadings on TWIN and Double room pages. */
.room-detail-page89 .room-rules-card89 h3,.room-detail-page89 .room-amenities89 h3{font-weight:700!important;color:#164f49!important}

@media(min-width:761px){.room-detail-page89.room-twin-page217 .room-slider89.room-mosaic89{grid-template-columns:1.55fr .75fr 1fr!important}}
