/* Home page design applied to hotel detail pages (body.detail-page). Loaded after style.css. */
.detail-page{--rd-navy:#123B5D;--rd-rose:#9F1239;--rd-rose-2:#B52B50;--rd-line:#DCE5ED;--rd-ink:#173C5A;--rd-text:#33566E;--rd-muted:#5C7184;background:#F7F9FC;color:var(--rd-ink)}

/* breadcrumbs and heading */
.detail-page .breadcrumbs{gap:9px;padding:26px 0 18px;font-size:13.5px;color:var(--rd-muted)}
.detail-page .breadcrumbs a{color:var(--rd-navy);font-weight:600}
.detail-page .breadcrumbs a:hover{color:var(--rd-rose)}
.detail-page .breadcrumbs span{opacity:.55}
.detail-page .breadcrumbs span:last-child{opacity:1;color:var(--rd-ink);font-weight:600}
.detail-page .property-heading{align-items:flex-end;margin:0 0 28px}
.detail-page .property-heading .section-label{display:inline-flex;align-items:center;gap:9px;color:var(--rd-rose);font-size:11.5px;font-weight:800;letter-spacing:2.2px}
.detail-page .property-heading .section-label::before{content:"";width:26px;height:2px;border-radius:2px;background:currentColor}
.detail-page .property-heading h1{margin:12px 0 0;font-weight:600;font-size:clamp(34px,4.4vw,54px);line-height:1.1;letter-spacing:-.5px;color:var(--rd-ink)}
.detail-page .property-price{margin:14px 0 0;font-size:18px;color:var(--rd-ink)}
.detail-page .property-price small{font-size:13px;color:var(--rd-muted)}
.detail-page .enquire-cta{display:inline-flex;align-items:center;justify-content:center;min-height:50px;margin-top:18px;padding:0 26px;border-radius:12px;background:var(--rd-rose);color:#fff;font-weight:700;box-shadow:0 10px 22px rgba(159,18,57,.28);transition:background .15s,transform .15s}
.detail-page .enquire-cta:hover{background:var(--rd-rose-2);transform:translateY(-1px)}
.detail-page .back-link{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1.5px solid var(--rd-line);border-radius:999px;background:#fff;color:var(--rd-navy);font-size:14px;font-weight:700;text-decoration:none;transition:border-color .15s,color .15s}
.detail-page .back-link:hover{border-color:var(--rd-rose);color:var(--rd-rose)}

/* lead photo, sections */
.detail-page .property-layout{gap:36px}
.detail-page .property-photo{border-radius:22px;background:#E8EEF4;box-shadow:0 18px 44px rgba(10,34,58,.14)}
.detail-page .property-section{margin-top:46px}
.detail-page .property-section h2,.detail-page .related-stays h2,.detail-page .nearby-attractions h2{margin:0 0 16px;font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:clamp(26px,3vw,34px);line-height:1.2;letter-spacing:-.2px;color:var(--rd-ink)}
.detail-page .description{font-size:16.5px;line-height:1.85;color:var(--rd-text)}
.detail-page .hotel-gallery-heading span{padding:5px 12px;border:1px solid var(--rd-line);border-radius:999px;background:#fff;color:var(--rd-navy);font-size:12.5px;font-weight:700}
.detail-page .hotel-gallery-item{border-radius:16px}
.detail-page .hotel-video{border-radius:20px}
.detail-page .hotel-map{border-radius:20px}
.detail-page .amenities{gap:10px}
.detail-page .amenity{display:inline-flex;align-items:center;padding:9px 16px;border:1.5px solid var(--rd-line);border-radius:999px;background:#fff;color:var(--rd-navy);font-size:14px;font-weight:600}
.detail-page .amenity::before{content:"\2713";margin-right:8px;color:var(--rd-rose);font-weight:800}

/* things to do nearby */
.detail-page .nearby-attractions{margin:46px 0 0;padding:30px 32px;border:1px solid var(--rd-line);border-radius:22px;background:#fff}
.detail-page .nearby-attractions .attractions-intro{color:var(--rd-muted)}
.detail-page .attraction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:1180px){.detail-page .attraction-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.detail-page .attraction-card{border-radius:16px;border-color:var(--rd-line);transition:transform .25s ease,box-shadow .25s ease}
.detail-page .attraction-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(18,59,93,.13)}
.detail-page .attraction-card h3{color:var(--rd-ink)}

/* nearby or similar stays: same card as the home page */
.detail-page .related-stays{margin:46px 0 30px}
.detail-page .related-hotel-grid{gap:18px}
.detail-page .related-hotel-grid .card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--rd-line);border-radius:16px;background:#fff;box-shadow:none;transition:transform .25s ease,box-shadow .25s ease}
.detail-page .related-hotel-grid .card:hover{transform:translateY(-5px);box-shadow:0 14px 34px rgba(18,59,93,.12)}
.detail-page .related-hotel-grid .card-photo{aspect-ratio:16/10;overflow:hidden;background:#EDF2F7}
.detail-page .related-hotel-grid .card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.detail-page .related-hotel-grid .card:hover .card-photo img{transform:scale(1.05)}
.detail-page .related-hotel-grid .stay-type{border-radius:8px;font-size:12px}
.detail-page .related-hotel-grid .card-body{display:flex;flex-direction:column;flex:1;padding:18px 18px 16px}
.detail-page .related-hotel-grid .card-location{font-size:12.5px;font-weight:600;color:var(--rd-muted)}
.detail-page .related-hotel-grid .card h3{margin:7px 0 8px;min-height:0;font-weight:600;font-size:20px;line-height:1.28;color:var(--rd-ink)}
.detail-page .related-hotel-grid .card h3 a:hover{color:var(--rd-rose)}
.detail-page .related-hotel-grid .card-description{min-height:0;font-size:14px;line-height:1.6;color:var(--rd-muted);-webkit-line-clamp:2}
.detail-page .related-hotel-grid .card-bottom{margin-top:auto}
.detail-page .related-hotel-grid .view-link{color:var(--rd-navy)}
.detail-page .related-hotel-grid .view-link:hover{color:var(--rd-rose);text-decoration:none}

/* at a glance and enquiry panel */
.detail-page .property-info{padding:30px 28px;border:1px solid var(--rd-line);border-radius:22px;background:#fff;box-shadow:0 18px 44px rgba(10,34,58,.08)}
.detail-page .property-info .section-label{display:inline-flex;align-items:center;gap:9px;color:var(--rd-rose);font-size:11.5px;font-weight:800;letter-spacing:2.2px}
.detail-page .property-info .section-label::before{content:"";width:26px;height:2px;border-radius:2px;background:currentColor}
.detail-page .property-info h2{margin:10px 0 18px;font-weight:600;font-size:28px;line-height:1.2;color:var(--rd-ink)}
.detail-page .property-info dl{padding-top:6px;border-top:1px solid #E8EDF2}
.detail-page .property-info dt{margin-top:16px;font-size:11.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--rd-muted)}
.detail-page .property-info dd{margin:4px 0 0;font-size:15px;line-height:1.5;color:var(--rd-ink)}
.detail-page .property-info a.button[href*="google.com/maps"]{display:flex;align-items:center;justify-content:center;min-height:48px;border:1.5px solid var(--rd-navy);border-radius:12px;background:#fff;color:var(--rd-navy);font-weight:700;transition:background .15s,color .15s}
.detail-page .property-info a.button[href*="google.com/maps"]:hover{background:var(--rd-navy);color:#fff}
.detail-page .property-disclaimer,.detail-page .property-data-notice{font-size:12.5px;line-height:1.65;color:var(--rd-muted)}
.detail-page .property-data-notice a{color:var(--rd-rose)}
.detail-page .property-info .hotel-enquiry{margin-top:26px;padding-top:24px;border-top:1px solid #E8EDF2}
.detail-page .property-info .hotel-enquiry h2{margin:0 0 8px;font-size:24px}
.detail-page .hotel-lead-intro{font-size:14px;color:var(--rd-muted)}
.detail-page .enquiry-direct-buttons .button{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:12px;background:var(--rd-navy);color:#fff;font-weight:700;transition:background .15s}
.detail-page .enquiry-direct-buttons .button:hover{background:#0D2F4A}
.detail-page .hotel-lead-form{gap:14px}
.detail-page .hotel-lead-field{font-size:13px;font-weight:700;color:var(--rd-ink)}
.detail-page .hotel-lead-field input,.detail-page .hotel-lead-field textarea{padding:12px 14px;border:1.5px solid var(--rd-line);border-radius:12px;font-size:15px;transition:border-color .15s}
.detail-page .hotel-lead-field input:focus,.detail-page .hotel-lead-field textarea:focus{border-color:var(--rd-rose)}
.detail-page .hotel-lead-form .button{display:flex;align-items:center;justify-content:center;min-height:50px;border-radius:12px;background:var(--rd-rose);color:#fff;font-weight:700;box-shadow:0 10px 22px rgba(159,18,57,.25);transition:background .15s,transform .15s}
.detail-page .hotel-lead-form .button:hover{background:var(--rd-rose-2);transform:translateY(-1px)}
.detail-page .hotel-lead-privacy a{color:var(--rd-navy);font-weight:600}

/* premium listings */
.detail-page .premium-contact{margin:-4px -4px 24px;padding:20px;border:1px solid #E7B3C1;border-radius:16px;background:#FFF4F7}
.detail-page .premium-badge{padding:5px 11px;background:var(--rd-rose);color:#fff;font-size:11px;letter-spacing:1px}
.detail-page .premium-gallery-grid figure{border-radius:16px}

/* closing note */
.detail-page .directory-note{margin:46px 0 60px;padding:30px 34px;border:1px solid #F1D5DD;border-radius:22px;background:linear-gradient(135deg,#FFF4F7,#fff 70%);color:var(--rd-muted)}
.detail-page .directory-note strong{display:block;font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:24px;line-height:1.25;color:var(--rd-ink)}
.detail-page .directory-note p{margin:8px 0 0;font-size:15.5px}
.detail-page .directory-note .text-link{margin-top:16px;color:var(--rd-rose);font-weight:700}

@media(max-width:760px){
  .detail-page .breadcrumbs{padding:18px 0 12px}
  .detail-page .property-heading{margin-bottom:22px}
  .detail-page .property-heading .back-link{margin-top:16px}
  .detail-page .property-heading h1{font-size:clamp(30px,9vw,38px)}
  .detail-page .enquire-cta{width:100%;margin-top:16px}
  .detail-page .property-photo{border-radius:18px}
  .detail-page .property-section{margin-top:36px}
  .detail-page .property-info{padding:24px 20px;border-radius:18px}
  .detail-page .nearby-attractions{padding:22px 16px;border-radius:18px}
  .detail-page .directory-note{padding:24px 20px;border-radius:18px}
}
