.listing-page{min-width:0;background:white;border-bottom:1px solid var(--line)}
.gallery-open{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.gallery-open img{width:100%;height:100%;object-fit:cover;object-position:center}
#modal.photo-viewer{inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;border:0;border-radius:0;background:transparent;color:white;box-shadow:none}
#modal.photo-viewer::backdrop{background:rgba(12,20,32,.68)}
.viewer-stage{position:relative;display:grid;place-items:center;width:100%;height:100dvh;padding:70px 76px 54px}
#viewer-photo{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
.photo-viewer .modal-close,.viewer-arrow{width:44px;height:44px;border:0;border-radius:6px;transition:background .15s,color .15s}
.photo-viewer .modal-close{position:fixed;top:20px;right:20px;z-index:2;background:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}
.photo-viewer .modal-close:hover,.photo-viewer .modal-close:focus-visible{background:rgba(255,255,255,.24);color:white}
.viewer-arrow{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;cursor:pointer;background:transparent;color:white;box-shadow:none}
.viewer-arrow:hover:not(:disabled),.viewer-arrow:focus-visible{background:transparent;color:#d6eaff}
.viewer-arrow.previous{left:16px}.viewer-arrow.next{right:16px}
.viewer-arrow svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.viewer-caption{position:absolute;bottom:18px;left:16px;right:16px;display:flex;justify-content:center;gap:16px;font-size:.8125rem;color:rgba(255,255,255,.8)}
@media(max-width:600px){.viewer-stage{padding:70px 12px 54px}.viewer-arrow.previous{left:8px}.viewer-arrow.next{right:8px}.photo-viewer .modal-close{top:16px;right:12px}}
.photo-credits{padding:10px 14px;color:var(--muted);font-size:.75rem;line-height:1.6;overflow-wrap:anywhere}
.photo-credits summary{cursor:pointer;min-height:32px;display:flex;align-items:center}
.photo-credits ol,.profile-sources{padding-left:20px}
.photo-credits p{margin-top:8px}
.photo-credits a,.profile-sources a{color:var(--green);text-decoration:underline;text-underline-offset:2px}
.official-source a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border-radius:5px;background:var(--green);color:white;font-weight:600;font-size:.875rem;text-align:center}
.official-source a:hover{filter:brightness(.94)}
.listing-container{width:calc(100% - 48px);max-width:1160px;margin:0 auto;padding:16px 0 48px;min-width:0}
.listing-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 20px;margin-bottom:12px;font-size:.875rem}
.listing-nav a,.listing-nav button{display:inline-flex;align-items:center;gap:8px;min-height:44px;max-width:100%;padding:8px 0;color:var(--green);text-align:left;overflow-wrap:anywhere}
.listing-nav a:hover,.listing-map:hover{text-decoration:underline;text-underline-offset:3px}
.listing-nav .listing-share{justify-content:center;flex-shrink:0;gap:8px;min-height:44px;padding:9px 14px;border:1px solid #bdd1f2;border-radius:6px;background:#f5f8ff;color:var(--green);font-size:.875rem;font-weight:600;line-height:1.4;text-decoration:none;transition:background .15s,border-color .15s}
.listing-nav .listing-share:hover{background:#eaf1ff;border-color:#8eafe5}
.listing-share:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.listing-share svg{display:block;flex:0 0 19px;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.listing-gallery{min-width:0;border-radius:6px;overflow:hidden;background:var(--paper)}
.listing-gallery .property-gallery{background:var(--paper)}
.listing-gallery .gallery-image{height:clamp(420px,38vw,500px)}
.listing-gallery .gallery-image>img{object-fit:cover;object-position:center}
.listing-gallery .gallery-nav{min-width:44px;min-height:44px}
.listing-gallery .gallery-thumbnails{gap:8px;padding:10px 12px;background:var(--paper)}
.listing-gallery .gallery-thumbnails button{min-width:0;min-height:60px}
.listing-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);align-items:start;gap:0 40px;margin-top:32px}
.listing-heading{grid-column:1;grid-row:1;min-width:0;overflow-wrap:anywhere}
.listing-content{grid-column:1;grid-row:2}
.listing-content,.listing-enquiry{min-width:0;overflow-wrap:anywhere}
.listing-heading .detail-topline{margin-bottom:10px;line-height:1.5}
.listing-heading h1{max-width:none;font-size:clamp(1.75rem,3vw,2.3rem);font-weight:600;line-height:1.18;letter-spacing:-.7px;text-wrap:pretty;overflow-wrap:anywhere}
.listing-address{margin:12px 0 0;font-size:.9375rem;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
.listing-map{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:8px 0;font-size:.8125rem;color:var(--green);overflow-wrap:anywhere}
.listing-facts{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:12px;font-size:.8125rem;color:var(--muted)}
.listing-facts>*{min-width:0;overflow-wrap:anywhere}
.listing-content .detail-stats{gap:12px;padding:20px 0;margin:22px 0 0}
.listing-content .detail-stats>div{min-width:0;overflow-wrap:anywhere}
.listing-content .detail-stats strong{font-size:1.3rem;font-weight:600}
.listing-section{padding:28px 0;border-bottom:1px solid var(--line)}
.listing-section:last-child{border-bottom:0;padding-bottom:0}
.listing-section h2{margin-bottom:16px;font-size:1.125rem;font-weight:600;letter-spacing:-.15px;line-height:1.4}
.listing-section .detail-description{font-size:.9375rem;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}
.listing-section .detail-description+p{margin-top:12px}
.listing-section .detail-amenities{margin:0;gap:8px}
.listing-section .detail-amenities .chip{font-size:.8125rem;padding:6px 10px}
.listing-section .detail-more{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 24px;margin:0}
.listing-section .detail-more div{align-items:baseline;flex-wrap:wrap;gap:4px 12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.listing-section .detail-more strong{margin-left:auto;text-align:right;overflow-wrap:anywhere;min-width:0;max-width:100%}
.listing-section.stay-policies{margin:0;font-size:.875rem;line-height:1.75}
.listing-section.stay-policies .detail-more{margin-bottom:20px}
.listing-section.stay-policies h3{font-size:1rem;margin:20px 0 8px}
.listing-section.stay-policies p{white-space:pre-line;overflow-wrap:anywhere}
.listing-section.stay-policies p+p{margin-top:12px}
.listing-enquiry{position:sticky;top:24px;grid-column:2;grid-row:1 / span 2;padding:24px;border:1px solid var(--line);border-radius:6px;background:white;box-shadow:0 3px 16px #17263806}
.listing-enquiry:has(.date-range-panel:not([hidden])){position:static}
.listing-enquiry .price{font-size:1.625rem;line-height:1.35;letter-spacing:-.5px}
.listing-enquiry>.help{margin-top:6px}
.listing-enquiry>.button{width:100%;margin-top:20px}
.listing-enquiry .form-stack{gap:14px;margin-top:20px}
.listing-enquiry .form-stack>.button{margin-top:2px}
.listing-enquiry .date-range-panel{padding:10px;box-shadow:none}
.listing-enquiry .date-range-status{line-height:1.5}
.listing-enquiry .date-range-weekdays{font-size:.6875rem}
.listing-enquiry .date-range-day{font-size:.875rem;min-height:44px}
.listing-enquiry .date-range-actions{gap:6px 16px}
.listing-enquiry .field-grid{gap:14px;grid-template-columns:minmax(0,1fr)}
.listing-enquiry .stay-summary{padding:12px;background:var(--paper)}
.listing-enquiry .stay-summary:empty{display:none}
.listing-enquiry .quote-lines{font-size:.8125rem}
.listing-enquiry .quote-lines>div{gap:4px 12px}
.listing-enquiry .quote-lines dd{white-space:normal;overflow-wrap:anywhere;text-align:right}
.listing-enquiry .notice{margin:14px 0 0;padding:10px 12px}
.listing-enquiry .form-error{margin-top:14px;margin-bottom:0}
.listing-enquiry .help{line-height:1.6;overflow-wrap:anywhere}
.listing-error,.listing-loading{padding:48px 0 64px;max-width:680px;min-width:0;overflow-wrap:anywhere}
.listing-error h1,.listing-loading h1{max-width:none;font-size:clamp(1.6rem,4vw,2.25rem);font-weight:600;letter-spacing:-.6px;line-height:1.3}
.listing-error .help,.listing-loading .help{margin-top:14px;font-size:.9375rem;line-height:1.7}
.listing-error a,.listing-error button{display:inline-flex;align-items:center;min-height:44px;margin-top:20px;color:var(--green);font-size:.875rem}
@media(max-height:700px){.listing-enquiry{position:static}}
@media(max-width:1000px){
  .listing-layout{gap:0 28px;grid-template-columns:minmax(0,1fr) minmax(0,320px)}
  .listing-enquiry{padding:20px}
  .listing-section .detail-more{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:860px){
  .listing-container{width:calc(100% - 40px);padding-bottom:36px}
  .listing-gallery .gallery-image{height:clamp(260px,46vw,400px)}
  .listing-layout{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:24px}
  .listing-enquiry{position:static;grid-column:1;grid-row:2;padding:20px;box-shadow:none}
  .listing-content{grid-row:3}
  .listing-enquiry .form-stack{margin-top:16px}
  .listing-enquiry .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .listing-enquiry .date-range-panel{max-width:420px}
  .listing-content .detail-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
  .listing-section .detail-more{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .listing-container{width:calc(100% - 28px);padding-top:10px;padding-bottom:28px}
  .listing-nav{gap:4px 16px;margin-bottom:8px}
  .listing-gallery .gallery-image{height:240px}
  .listing-gallery .gallery-thumbnails{padding:8px;gap:6px}
  .listing-gallery .gallery-thumbnails button{flex-basis:64px;min-height:50px}
  .listing-gallery .gallery-thumbnails img{width:64px;height:50px}
  .listing-gallery .gallery-nav.previous{left:8px}
  .listing-gallery .gallery-nav.next{right:8px}
  .listing-layout{gap:24px;margin-top:20px}
  .listing-enquiry{padding:16px}
  .listing-enquiry .field-grid{grid-template-columns:minmax(0,1fr)}
  .listing-heading h1{font-size:1.75rem;letter-spacing:-.5px}
  .listing-content .detail-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .listing-section{padding:24px 0}
  .listing-section .detail-more{grid-template-columns:minmax(0,1fr)}
  .listing-error,.listing-loading{padding:32px 0 48px}
}
@media(max-width:360px){
  .listing-container{width:calc(100% - 24px)}
  .listing-nav{gap:0 12px;font-size:.8125rem}
  .listing-enquiry{padding:14px}
  .listing-enquiry .date-range-panel{padding:8px}
  .listing-enquiry .date-range-weekdays{font-size:.625rem}
  .listing-enquiry .date-range-day{font-size:.8125rem}
  .listing-heading h1{font-size:1.625rem}
  .listing-enquiry .price{font-size:1.5rem}
}

.card-heading-name .card-title{font-size:1.5rem;letter-spacing:-.3px;line-height:1.25}
.property-info-link a{font-size:.875rem;color:var(--green);text-decoration:underline;text-underline-offset:3px}
.gallery-media,.viewer-media{width:100%;height:100%;min-height:0}
.video-cover{position:relative;cursor:pointer}.tour-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:#07162c35;color:white;text-shadow:0 1px 8px #0008;font-size:.875rem}.tour-play svg{width:64px;height:64px;padding:18px;background:#fff2;border:1px solid #fff7;border-radius:50%;fill:currentColor;transition:background .15s}.video-cover:hover .tour-play svg,.video-cover:focus-visible .tour-play svg{background:#fff4}
.gallery-thumbnails button{position:relative}.tour-thumbnail{position:absolute;inset:0;display:grid;place-items:center;color:white;text-shadow:0 1px 5px #000;background:#07162c35;font-size:1rem}
.video-active{display:flex;flex-direction:column;justify-content:center;background:#101722}.video-active iframe{display:block;width:100%;aspect-ratio:16/9;min-height:200px;border:0;flex-shrink:0}.tour-fallback{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;color:white;font-size:.8125rem;text-decoration:underline;text-underline-offset:3px}
.listing-gallery .gallery-image.video-playing{height:auto;padding-bottom:52px;background:#101722;overflow:visible}.gallery-image.video-playing .gallery-nav{top:auto;bottom:4px;transform:none}.gallery-image.video-playing .gallery-count{bottom:17px;right:50%;transform:translateX(50%)}
.viewer-stage.video-playing{padding:70px 12px 110px}.viewer-stage.video-playing .viewer-media{height:auto;max-width:1100px}.viewer-stage.video-playing iframe{max-height:calc(100dvh - 224px)}.viewer-stage.video-playing .viewer-arrow{top:auto;bottom:56px;transform:none}
.listing-photo-picker{border:0;padding:0;margin:0;min-width:0}.listing-photo-picker legend{font-size:.875rem;font-weight:500;margin-bottom:7px}.photo-picker-list{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.photo-picker-item,.photo-add{position:relative;flex:0 0 112px;min-width:0;height:128px;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:var(--paper)}.photo-picker-item>img,.photo-placeholder{display:block;width:112px;height:84px;object-fit:cover}.photo-placeholder{display:grid;place-items:center;font-size:1.25rem;color:var(--muted)}.photo-remove{position:absolute;top:4px;right:4px;z-index:1;display:grid;place-items:center;width:32px;height:32px;min-height:32px;padding:0;border:0;border-radius:5px;background:transparent;color:#fff;line-height:1;transition:background .15s ease,color .15s ease}.photo-remove svg{display:block;width:18px;height:18px;margin:0;stroke-width:2;pointer-events:none;filter:drop-shadow(0 1px 2px #0c182bcc) drop-shadow(0 0 1px #0c182b99)}.photo-cover,.photo-upload-label,.photo-retry{display:flex;align-items:center;justify-content:center;width:100%;height:44px;font-size:.75rem;background:white;color:var(--green)}.photo-cover[aria-pressed=true]{font-weight:600;background:var(--mint);cursor:default}.photo-upload-label{color:var(--muted)}.photo-pending:has(.photo-retry){height:172px}.photo-retry{text-decoration:underline}.photo-add{display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--green);border-style:dashed;font-size:2rem}.photo-add.full{opacity:.4;cursor:default}.photo-add:focus-within{outline:2px solid var(--green);outline-offset:2px}.photo-add input{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important}.photo-links summary{display:flex;align-items:center;min-height:44px;font-size:.8125rem;color:var(--muted);cursor:pointer}.photo-links textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:4px;font-size:.875rem;resize:vertical}.tour-draft-preview{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;font-size:.8125rem;color:var(--muted)}.tour-draft-preview:empty{display:none}.tour-draft-preview a{color:var(--green);text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}.tour-draft-icon{color:var(--green)}
@media(max-width:360px){.photo-picker-list{gap:8px}.photo-picker-item,.photo-add{flex-basis:100px}.photo-picker-item>img,.photo-placeholder{width:100px}}
.holiday-card-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;flex-wrap:wrap}.holiday-card-heading .card-heading{flex:1;min-width:160px}.holiday-location{display:flex;align-items:center;gap:6px;color:var(--green)}.holiday-location svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}.holiday-room-facts{margin-top:14px}.holiday-card .card-footer{align-items:flex-end}.holiday-card-action{text-align:right;flex-shrink:0}.holiday-card-action .price{font-size:1.25rem;margin-bottom:2px}.holiday-card-action .card-detail{margin-top:6px}.holiday-card .card-summary{margin-top:12px}.guest-rating{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px 8px;font-size:.8125rem;color:var(--ink)}.review-stars{color:#c9a13b}.guest-rating>strong{font-size:1rem}.guest-rating>span:last-child{color:var(--muted)}.reference-gallery-note{padding:12px 14px 0;font-size:.75rem;color:var(--muted)}.stay-location-highlights{padding-left:18px;margin:8px 0 0;color:var(--muted);font-size:.8125rem;line-height:1.65}.stay-room-list{display:flex;flex-direction:column;gap:12px}.stay-room-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid var(--line);border-radius:5px;background:white}.stay-room-row.selected{border-color:var(--green);background:#f8fbff}.stay-room-info{min-width:0}.stay-room-info h3{font-size:1rem;margin-bottom:7px}.stay-room-info p{font-size:.8125rem;color:var(--muted);line-height:1.65}.stay-room-info p+p{margin-top:6px}.stay-room-action{flex:0 0 auto;text-align:right}.stay-room-action .button{min-width:110px;padding:9px 14px;font-size:.8125rem}.room-price{font-size:1rem;font-weight:600;margin-bottom:8px}.room-price small{font-size:.75rem;color:var(--muted);font-weight:400}.room-amenities{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:9px;font-size:.75rem;color:var(--muted)}.selected-room-name{font-size:.875rem;font-weight:600;line-height:1.5}.stay-sources summary{min-height:44px;font-size:.875rem;cursor:pointer;display:flex;align-items:center}.stay-sources .profile-sources{margin-top:10px;font-size:.8125rem;line-height:1.7}.guest-reviews-heading,.guest-review-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px}.guest-reviews-heading h2{margin-bottom:0}.guest-reviews-heading{margin-bottom:16px}.guest-review{padding:16px 0;border-top:1px solid var(--line)}.guest-review:first-child{border-top:0;padding-top:0}.guest-review-heading{font-size:.875rem}.guest-review .help{margin-top:6px}.review-comment{font-size:.875rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:10px}.review-rating{border:0;padding:0;margin:0}.review-rating legend{font-size:.875rem;font-weight:500;margin-bottom:8px}.review-rating>div{display:flex;gap:4px}.review-rating label{position:relative;display:grid;place-items:center;width:44px;height:44px;font-size:1.75rem;color:#b9c1cc;cursor:pointer;border-radius:4px}.review-rating input{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;opacity:0}.review-rating label:has(input:checked),.review-rating label:has(~label input:checked){color:#c9a13b}.review-rating label:focus-within{outline:2px solid var(--green);outline-offset:2px}.review-moderation-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--line);border-radius:5px}.review-moderation-row>div:first-child{min-width:0}.review-moderation-row h3{font-size:1rem}.review-moderation-row p{font-size:.8125rem;color:var(--muted);margin-top:8px}.owner-room-settings{margin-top:20px;border-top:1px solid var(--line);padding-top:8px}.owner-room-settings summary{display:flex;align-items:center;gap:8px;min-height:44px;font-size:.875rem;cursor:pointer}.owner-room-settings>.help{margin:8px 0 16px}.owner-room-row{border:1px solid var(--line);border-radius:5px;padding:16px;margin:0 0 16px}.owner-room-row legend{padding:0 6px;font-size:.875rem;font-weight:600}.owner-room-row>.text-button{margin-top:8px}
@media(max-width:600px){.holiday-card-heading .card-heading{min-width:0;flex-basis:100%}.holiday-card-heading{gap:8px}.holiday-card .card-footer{align-items:flex-start}.holiday-card-action{flex-shrink:1}.stay-room-row{align-items:flex-start;flex-direction:column;padding:14px;gap:12px}.stay-room-action{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;text-align:left}.room-price{margin:0}.review-moderation-row{align-items:flex-start;flex-direction:column}.owner-room-row{padding:12px}.guest-reviews-heading{align-items:flex-start}.guest-review-heading{gap:6px 12px}}
.stay-rating-stack{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin:4px 0 10px}.holiday-card-heading .stay-rating-stack{margin:0;flex-shrink:0}.hotel-classification,.provider-rating{display:inline-flex;align-items:center;gap:6px 8px;flex-wrap:wrap;font-size:.75rem;color:var(--muted)}.hotel-classification a,.provider-rating a{color:inherit;text-decoration:underline;text-underline-offset:3px}.rating-kind{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;flex-shrink:0}.rating-label{color:var(--ink);font-size:.8125rem;font-weight:500}.rating-stars{display:inline-flex;align-items:center;gap:2px;color:#bd8d25;vertical-align:middle;flex-shrink:0}.rating-star{display:inline-block;position:relative;width:15px;height:15px;color:inherit}.rating-star>svg{display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.3}.star-fill{position:absolute;top:0;left:0;width:0;height:15px;overflow:hidden}.star-fill.star-fill-0{width:0}.star-fill.star-fill-10{width:10%}.star-fill.star-fill-20{width:20%}.star-fill.star-fill-30{width:30%}.star-fill.star-fill-40{width:40%}.star-fill.star-fill-50{width:50%}.star-fill.star-fill-60{width:60%}.star-fill.star-fill-70{width:70%}.star-fill.star-fill-80{width:80%}.star-fill.star-fill-90{width:90%}.star-fill.star-fill-100{width:100%}.star-fill svg{display:block;width:15px;height:15px;fill:currentColor;stroke:currentColor;stroke-width:1.3;max-width:none}.rating-stars.unknown .rating-star{color:#a8b2be}.guest-rating.unrated{color:var(--muted);font-size:.75rem}.guest-rating .rating-stars,.provider-rating .rating-stars,.review-stars .rating-stars{color:#c9a13b}.provider-rating{margin-bottom:8px}.provider-rating strong{font-weight:500}.provider-reviews>.provider-rating{margin-bottom:16px}.stay-room-action{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.room-calendar-open{min-height:44px;padding:8px 0;font-size:.8125rem}.room-calendar-panel{margin:0 0 28px;padding:16px 18px;border:1px solid var(--line);border-radius:5px;max-width:430px}.room-calendar-panel summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-size:.875rem;font-weight:500}.room-calendar-panel summary::before{content:'+';margin-right:10px;font-size:1.15rem;font-weight:400;color:var(--muted)}.room-calendar-panel[open] summary::before{content:'−'}.room-calendar-select{display:flex;flex-direction:column;gap:6px;font-size:.8125rem;margin:10px 0 14px}.room-calendar-select select{width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:4px;background:white;color:var(--ink);font:inherit}.room-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;font-size:.875rem}.room-calendar-heading button{width:44px;height:44px;border:0;border-radius:4px;background:transparent;color:var(--ink);font-size:1.4rem;cursor:pointer}.room-calendar-heading button:hover{background:var(--paper)}.room-calendar-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin:8px 0 14px;font-size:.6875rem;color:var(--muted)}.room-calendar-legend span{display:inline-flex;align-items:center;gap:5px}.room-calendar-legend span::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:#c7ced7}.room-calendar-legend .available::before{background:#397a60}.room-calendar-legend .unavailable::before{background:#aa4b50}.room-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.room-calendar-day{border:0;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:44px;border-radius:4px;font-size:.8125rem;color:var(--muted);background:#f5f6f8}.room-calendar-day small{font-size:.625rem;line-height:1.1}.room-calendar-day.available{background:#edf6f0;color:#286345}.room-calendar-day.unavailable{background:#f9edef;color:#963d44}.room-calendar-panel>.help{margin-top:12px;font-size:.75rem}.connection-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;font-size:.8125rem;margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid var(--line)}.connection-status>span{color:var(--muted)}.connection-room-mappings{border:1px solid var(--line);border-radius:5px;padding:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;min-width:0}.connection-room-mappings legend{padding:0 6px;font-size:.875rem;font-weight:500}.connection-room-mappings>.help{grid-column:1/-1;font-size:.75rem}.connection-form label,.connection-panel label{min-width:0}.connection-panel [hidden]{display:none!important}.connection-panel input,.connection-panel select,.connection-panel textarea{min-width:0;max-width:100%}.connection-panel .form-stack>div>label{display:flex;flex-direction:column;gap:6px}.connection-panel .form-stack>div>.help{margin-top:6px}.connection-callback{display:flex;flex-direction:column;gap:12px;margin:24px 0;padding:16px;border:1px solid var(--line);border-radius:5px}.connection-callback label{display:flex;flex-direction:column;gap:6px;font-size:.875rem}.connection-callback input,.connection-callback textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);font:inherit;font-size:.8125rem;overflow-wrap:anywhere}.connection-guide{margin:20px 0}.connection-guide summary{display:flex;align-items:center;min-height:44px;font-size:.875rem;cursor:pointer}.connection-guide ul{padding-left:18px;font-size:.8125rem;line-height:1.8;margin:8px 0}.connection-guide a{color:var(--green);text-decoration:underline;text-underline-offset:3px}.connection-guide .help{font-size:.75rem}.connection-panel .form-actions button{min-height:44px}.room-calendar-heading button:focus-visible,.room-calendar-panel summary:focus-visible,.connection-guide summary:focus-visible{outline:2px solid var(--green);outline-offset:2px}
@media(max-width:600px){.holiday-card-heading .stay-rating-stack{flex-basis:100%;flex-shrink:1}.stay-room-action{flex-direction:row;align-items:center;flex-wrap:wrap}.room-calendar-open{flex-basis:100%;text-align:left}.room-calendar-panel{max-width:none;padding:12px}.connection-room-mappings{grid-template-columns:minmax(0,1fr);padding:12px}.connection-status{gap:6px 12px}.connection-panel .form-actions{flex-wrap:wrap}.connection-callback{padding:12px}.rating-star,.rating-star>svg,.star-fill svg{width:15px;height:15px}}
.review-rating .review-rating-options{display:flex;gap:0;width:240px;max-width:100%}
.review-rating .review-rating-options label{flex:1 1 24px;width:24px;min-width:0;height:48px;color:#b9c1cc;touch-action:manipulation}
.review-rating-half{position:relative;display:block;width:100%;height:48px;overflow:hidden;pointer-events:none}
.review-rating-half svg{position:absolute;top:0;left:0;display:block;width:200%;height:48px;max-width:none;fill:currentColor}
.review-rating-options label:nth-child(even) .review-rating-half svg{left:-100%}
.review-rating .review-rating-options label:has(input:checked),.review-rating .review-rating-options label:has(~label input:checked){color:#c9a13b}
.review-rating .review-rating-options label:focus-within{outline:2px solid var(--green);outline-offset:2px;z-index:1}
.review-rating-value{display:block;margin-top:8px;font-size:.875rem;font-weight:500;color:var(--ink)}
.review-rating-value[hidden]{display:none}
.review-rating>.help{margin:5px 0 0;font-size:.75rem}
@media(hover:hover){.review-rating .review-rating-options:has(label:hover) label{color:#b9c1cc}.review-rating .review-rating-options:has(label:hover) label:hover,.review-rating .review-rating-options:has(label:hover) label:has(~label:hover){color:#c9a13b}}
.status-badge.hidden,.status-badge.deleted{background:#eaedf1;color:#5c6673}

#guest-reviews>.help,#guest-reviews>.text-button{margin-top:12px}
#guest-review-content>.help{line-height:1.7}
.guest-review-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:16px}
.guest-review-actions .button{min-height:44px;padding:9px 16px}
.guest-review-actions+.help{margin-top:10px}
.local-review-preview{margin-top:20px;padding:18px;border:1px solid #c6d7f3;border-radius:6px;background:#f7faff}
.local-review-preview>.help{margin-top:8px}
.local-review-preview .guest-review{margin-top:14px;padding-bottom:0}
.listing-section.stay-sources,.listing-section.property-sources{padding:16px 0 0;color:var(--muted)}
.listing-section.stay-sources>summary,.listing-section.property-sources>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:8px 0;font-size:.875rem;line-height:1.5;cursor:pointer;list-style:none}
.listing-section.stay-sources>summary::-webkit-details-marker,.listing-section.property-sources>summary::-webkit-details-marker{display:none}
.listing-section.stay-sources>summary::after,.listing-section.property-sources>summary::after{content:"";flex:0 0 7px;width:7px;height:7px;margin-right:4px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .15s}
.listing-section.stay-sources[open]>summary::after,.listing-section.property-sources[open]>summary::after{transform:rotate(225deg)}
.listing-section.stay-sources>summary:hover,.listing-section.property-sources>summary:hover{color:var(--green)}
.listing-section.stay-sources .profile-sources,.listing-section.property-sources .profile-sources{margin:8px 0 0;line-height:1.8}

.room-calendar-day:focus-visible{outline:2px solid var(--green);outline-offset:1px}.room-calendar-day:hover{box-shadow:inset 0 0 0 1px currentColor}

.holiday-room-facts:empty{display:none}
.card-room-dropdown{min-width:0;margin-top:14px;border-top:1px solid var(--line);color:var(--ink)}
.card-room-dropdown>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 0;cursor:pointer;list-style:none;font-size:.8125rem;font-weight:500}
.card-room-dropdown>summary::-webkit-details-marker{display:none}
.card-room-count{margin-left:4px;color:var(--muted);font-weight:400}
.card-room-dropdown svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0;color:var(--muted)}
.card-room-dropdown>summary>svg{transform:rotate(90deg)}
.card-room-dropdown[open]>summary>svg{transform:rotate(-90deg)}
.card-room-dropdown>summary:hover,.card-room-dropdown>summary:hover>svg{color:var(--green)}
.card-room-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.card-room-list>li+li{border-top:1px solid var(--line)}
.card-room-link{display:flex;align-items:center;gap:12px;min-width:0;min-height:44px;padding:12px 4px;border-radius:3px}
.card-room-link:hover{background:var(--paper)}
.card-room-link:hover strong{color:var(--green)}
.card-room-copy{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}
.card-room-copy strong{font-size:.8125rem;font-weight:500;line-height:1.5}
.card-room-copy>span{font-size:.75rem;line-height:1.5;color:var(--muted)}
.card-room-rate{flex-shrink:0;text-align:right;font-size:.8125rem;font-weight:500}
.card-room-rate small{display:block;font-size:.6875rem;font-weight:400;color:var(--muted)}
.card-room-copy .room-search-match{color:var(--green)}
.card-room-dropdown>summary:focus-visible,.card-room-link:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:3px}
/* Give compact stay cards a consistent rhythm between information groups. */
@media(max-width:600px){
  .holiday-card .card-body{padding:20px}
  .holiday-card-heading{gap:6px}
  .holiday-card .card-heading{margin:0}
  .holiday-card .holiday-location{margin-top:8px;gap:8px}
  .holiday-card .card-summary{margin-top:14px;line-height:1.6}
  .holiday-card .card-room-dropdown{margin-top:16px}
  .holiday-card .card-footer{margin-top:0;padding-top:12px;row-gap:14px}
  .holiday-card .card-features{gap:6px 10px;line-height:1.6}
  .holiday-card-action>.card-detail:only-child{margin-top:0}
}
@media(max-width:360px){.holiday-card .card-body{padding:16px}}
.room-photo-empty{display:flex!important;align-items:center;justify-content:center;padding:16px;background:linear-gradient(145deg,#eaf0f8,#f7f9fc);color:var(--muted);font-size:.75rem;text-align:center;line-height:1.5}
.stay-room-row{display:grid;grid-template-columns:168px minmax(0,1fr);align-items:start;gap:12px 18px}
.stay-room-photos{grid-column:1;grid-row:1/span 2;min-width:0;border-radius:5px;overflow:hidden}
.stay-room-photos.room-photo-empty{min-height:126px}
.stay-room-info{grid-column:2}
.stay-room-action{grid-column:2;display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 14px;text-align:left}
.stay-room-action .room-price{margin:0}
.room-photo-cover{position:relative;display:block;width:100%;padding:0;background:var(--paper);cursor:zoom-in}
.room-photo-cover>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.room-photo-cover>span{position:absolute;bottom:7px;right:7px;border-radius:3px;padding:4px 8px;background:#172638cc;color:white;font-size:.6875rem}
.room-photo-thumbs{display:flex;gap:5px;padding-top:6px}
.room-photo-thumbs button{flex:1;min-width:0;min-height:44px;padding:0;overflow:hidden;border-radius:3px;background:var(--paper);cursor:zoom-in}
.room-photo-thumbs img{display:block;width:100%;height:44px;object-fit:cover}
.owner-room-photo-picker{margin-top:4px;padding-top:12px;border-top:1px solid var(--line)}
.owner-room-photo-picker legend{padding:0}
.room-photo-cover:focus-visible,.room-photo-thumbs button:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
@media(max-width:600px){
  .stay-room-row{grid-template-columns:minmax(0,1fr);gap:14px}
  .stay-room-photos,.stay-room-info,.stay-room-action{grid-column:1;grid-row:auto;width:100%}
  .stay-room-photos.room-photo-empty{min-height:110px}
  .room-photo-cover>img{aspect-ratio:16/10}
  .room-photo-thumbs{max-width:260px}
}

:is(.viewer-arrow,.room-calendar-heading button){display:grid;place-items:center;padding:0;line-height:1}
:is(.viewer-arrow,.room-calendar-heading button,.listing-nav a) svg{display:block;margin:0;pointer-events:none}
.room-calendar-heading button svg{width:24px;height:24px}
.listing-nav a svg{width:20px;height:20px}

.room-editor-topline>.text-button{display:inline-flex;align-items:center;gap:8px}
.room-editor-topline>.text-button svg,.listing-preview-viewer-controls button svg{display:block;width:20px;height:20px;margin:0;pointer-events:none}

.listing-preview-viewer-controls .button.secondary,.listing-preview-viewer-controls .button.secondary:hover{background:transparent;border:0;box-shadow:none}

.viewer-arrow svg{filter:drop-shadow(0 1px 2px #0c182be6) drop-shadow(0 0 1px #0c182bb3);transition:filter .16s ease,transform .16s ease}
.viewer-arrow:is(:hover,:focus-visible):not(:disabled) svg{filter:drop-shadow(0 1px 2px #0c182be6) drop-shadow(0 0 7px #8dc2ffff);transform:scale(1.12)}
.viewer-arrow:focus-visible{outline:2px solid #b8d9ff;outline-offset:2px}
.listing-preview-viewer-controls .button.secondary:is(:hover,:focus-visible):not(:disabled){color:#0967e5;text-shadow:0 0 8px #7fb5ff80}
.listing-preview-viewer-controls .button.secondary svg{stroke-width:2.3;transition:filter .16s ease,transform .16s ease}
.listing-preview-viewer-controls .button.secondary:is(:hover,:focus-visible):not(:disabled) svg{filter:drop-shadow(0 0 5px #7fb5ffb3);transform:scale(1.12)}
@media(prefers-reduced-motion:reduce){.viewer-arrow svg,.listing-preview-viewer-controls .button.secondary svg{transition:none}.viewer-arrow:is(:hover,:focus-visible):not(:disabled) svg,.listing-preview-viewer-controls .button.secondary:is(:hover,:focus-visible):not(:disabled) svg{transform:none}}

/* Approved appearance spacing, October 2026. */
#listing-page .listing-container { max-width: 1200px; padding-bottom: 48px; }
#listing-page .listing-layout { column-gap: 32px; margin-top: 32px; }
#listing-page .listing-heading .detail-topline { margin-bottom: 8px; }
#listing-page .listing-address { margin-top: 12px; }
#listing-page .listing-content .detail-stats { margin-top: 16px; padding-block: 20px; gap: 16px; }
#listing-page .listing-section { padding-block: 24px; }
#listing-page .listing-section h2 { margin-bottom: 16px; }
#listing-page .guest-reviews-heading h2 { margin-bottom: 0; }
#listing-page .listing-section:last-child { padding-bottom: 0; }
#listing-page .listing-section .detail-description { line-height: 1.75; }
#listing-page .listing-section .detail-more { gap: 12px 24px; }
#listing-page .listing-enquiry { padding: 24px; border-radius: 8px; }
#listing-page .listing-enquiry .form-stack { margin-top: 20px; gap: 16px; }
#listing-page .stay-room-list { gap: 16px; }
#listing-page .stay-room-row { padding: 20px; border-radius: 8px; gap: 12px 20px; }
#listing-page .guest-reviews-heading { margin-bottom: 20px; }
#listing-page .guest-review { padding-block: 20px; }
#listing-page .guest-review:first-child { padding-top: 0; }
#listing-page .listing-section.stay-sources,
#listing-page .listing-section.property-sources { padding-top: 16px; }
#modal:has(#booking-form) { max-width: 640px; }
#modal:has(#review-form) { max-width: 560px; }
#modal:has(:is(#booking-form, #review-form)) .modal-inner { padding: 32px; }
#modal:has(:is(#booking-form, #review-form)) #modal-title { font-size: 1.5rem; line-height: 1.3; }
#modal:has(:is(#booking-form, #review-form)) .modal-intro { margin: 8px 0 24px; line-height: 1.6; }
#booking-form, #review-form { gap: 16px; }
#booking-form .notice { margin: 0; padding: 12px 16px; line-height: 1.6; }
#booking-form > .help { line-height: 1.6; }
#booking-form .availability-dates { margin: 0; }
#booking-form .stay-summary { padding: 16px; }
#booking-form > .button, #review-form > .button { margin-top: 4px; }
#review-form textarea { min-height: 112px; }
@media (max-width: 1000px) {
#listing-page .listing-layout { column-gap: 24px; }
#listing-page .listing-enquiry { padding: 20px; }
}
@media (max-width: 860px) {
#listing-page .listing-layout { gap: 24px; margin-top: 24px; }
#listing-page .listing-content .detail-stats { margin-top: 0; }
}
@media (max-width: 760px) {
#listing-page .listing-container { width: calc(100% - 32px); padding-bottom: 32px; }
#listing-page .listing-section { padding-block: 24px; }
#listing-page .listing-enquiry { padding: 20px; }
#listing-page .stay-room-row { padding: 16px; gap: 16px; }
#modal:has(:is(#booking-form, #review-form)) .modal-inner { padding: 28px 20px 24px; }
#modal:has(:is(#booking-form, #review-form)) .modal-intro { margin-bottom: 20px; }
}
