/* ROOM SPECIFIC STYLES */
  .room-hero { height:100vh;position:relative;display:flex;align-items:flex-end;padding:0 4rem 5rem;overflow:hidden; }
  .room-hero-bg { position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.06);animation:slowZoom 18s ease-in-out infinite alternate;transition:background-image 0.6s; }
  @keyframes slowZoom { from{transform:scale(1.06);}to{transform:scale(1.0);} }
  .room-hero::before { content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(13,12,10,0.2) 0%,rgba(13,12,10,0.4) 50%,rgba(13,12,10,0.85) 100%);z-index:1; }
  .room-hero-content { position:relative;z-index:2;max-width:700px;animation:heroReveal 1.6s cubic-bezier(0.16,1,0.3,1) 0.3s both; }
  @keyframes heroReveal { from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);} }
  .breadcrumb { font-size:0.6rem;letter-spacing:0.35em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;opacity:0.8;display:flex;align-items:center;gap:0.75rem; }
  .breadcrumb span { opacity:0.4; }
  .room-category-tag { font-size:0.6rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(85,224,255,0.4);padding:0.4rem 1rem;display:inline-block;margin-bottom:1.25rem; }
  .room-hero-title { font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,7vw,6rem);font-weight:300;line-height:1.0;color:var(--white);margin-bottom:1rem; }
  .room-hero-title em { font-style:italic;color:var(--gold-light); }
  .room-hero-meta { display:flex;align-items:center;gap:2rem;margin-top:1.5rem; }
  .hero-meta-item { display:flex;align-items:center;gap:0.6rem;font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(245,240,232,0.6); }
  .hero-meta-item svg { color:var(--gold); }
  .hero-price-block { margin-left:auto;text-align:right; }
  .hero-price { font-family:'Cormorant Garamond',serif;font-size:2.5rem;color:var(--gold);font-weight:300;line-height:1; }
  .hero-price-label { font-size:0.55rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted); }

  /* THUMBNAIL STRIP */
  .thumb-strip { background:var(--deep);padding:1rem 4rem;display:flex;gap:0.5rem;overflow-x:auto;scrollbar-width:none; }
  .thumb-strip::-webkit-scrollbar { display:none; }
  .thumb { width:100px;height:65px;overflow:hidden;cursor:pointer;flex-shrink:0;border:2px solid transparent;transition:border-color 0.3s; }
  .thumb.active { border-color:var(--gold); }
  .thumb img { width:100%;height:100%;object-fit:cover;filter:brightness(0.7);transition:filter 0.3s; }
  .thumb:hover img, .thumb.active img { filter:brightness(1); }

  /* OVERVIEW */
  .overview { display:grid;grid-template-columns:1fr 380px;gap:0;background:var(--dark); }
  .overview-main { padding:6rem 4rem; }
  .section-label { font-size:0.6rem;letter-spacing:0.4em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;font-weight:300;display:flex;align-items:center;gap:1rem; }
  .section-label::after { content:'';flex:0 0 30px;height:1px;background:var(--gold);opacity:0.5; }
  .section-title { font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:300;line-height:1.15;color:var(--white); }
  .section-title em { font-style:italic;color:var(--gold-light); }
  .room-description { font-size:0.85rem;line-height:1.95;color:rgba(245,240,232,0.5);font-weight:300;margin:1.75rem 0 2.5rem;max-width:60ch; }
  .amenities-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem; }
  .amenity { display:flex;align-items:center;gap:0.75rem;padding:0.9rem;border:1px solid rgba(85,224,255,0.12);transition:border-color 0.3s,background 0.3s; }
  .amenity:hover { border-color:rgba(85,224,255,0.35);background:rgba(85,224,255,0.03); }
  .amenity svg { color:var(--gold);flex-shrink:0; }
  .amenity-name { font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(245,240,232,0.6);font-weight:300; }

  /* BOOKING SIDEBAR */
  .booking-sidebar { background:var(--deep);padding:4rem 2.5rem;position:sticky;top:0;height:fit-content;border-left:1px solid rgba(85,224,255,0.1); }
  .booking-sidebar-title { font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:300;color:var(--white);margin-bottom:0.5rem; }
  .booking-price-display { display:flex;align-items:baseline;gap:0.5rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid rgba(85,224,255,0.15); }
  .b-price { font-family:'Cormorant Garamond',serif;font-size:2.5rem;color:var(--gold);font-weight:300;line-height:1; }
  .b-night { font-size:0.65rem;letter-spacing:0.1em;color:var(--muted);text-transform:uppercase; }
  .form-group { margin-bottom:1.25rem; }
  .form-label { font-size:0.58rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:0.6rem; }
  .form-input { width:100%;background:rgba(255,255,255,0.04);border:1px solid rgba(85,224,255,0.2);padding:0.85rem 1rem;color:var(--cream);font-family:'Jost',sans-serif;font-size:0.8rem;font-weight:300;outline:none;transition:border-color 0.3s;cursor:text; }
  .form-input:focus { border-color:var(--gold); }
  .form-row { display:grid;grid-template-columns:1fr 1fr;gap:0.75rem; }
  .form-select { width:100%;background:rgba(255,255,255,0.04);border:1px solid rgba(85,224,255,0.2);padding:0.85rem 1rem;color:var(--cream);font-family:'Jost',sans-serif;font-size:0.8rem;font-weight:300;outline:none;cursor:pointer;transition:border-color 0.3s;appearance:none;-webkit-appearance:none; }
  .form-select:focus { border-color:var(--gold); }
  .price-breakdown { background:rgba(85,224,255,0.05);padding:1.25rem;margin:1.5rem 0;border:1px solid rgba(85,224,255,0.1); }
  .price-row { display:flex;justify-content:space-between;align-items:center;font-size:0.72rem;color:rgba(245,240,232,0.5);margin-bottom:0.6rem; }
  .price-row:last-child { margin-bottom:0;padding-top:0.75rem;border-top:1px solid rgba(85,224,255,0.15);color:var(--cream);font-weight:400; }
  .price-row .price-val { font-family:'Cormorant Garamond',serif;font-size:0.9rem;color:var(--gold); }
  .btn-book { width:100%;background:var(--gold);color:var(--dark);border:none;padding:1.1rem;font-family:'Jost',sans-serif;font-size:0.65rem;letter-spacing:0.25em;text-transform:uppercase;cursor:pointer;transition:background 0.3s,transform 0.2s;font-weight:400; }
  .btn-book:hover { background:var(--gold-light);transform:translateY(-1px); }
  .booking-note { font-size:0.62rem;text-align:center;color:rgba(245,240,232,0.3);margin-top:1rem;line-height:1.6; }

  /* GALLERY GRID */
  .room-gallery { background:var(--deep);padding:6rem 4rem; }
  .gallery-masonry { display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto;gap:3px; }
  .gallery-cell { overflow:hidden;position:relative; }
  .gallery-cell:nth-child(1) { grid-column:span 2;height:380px; }
  .gallery-cell:nth-child(2) { height:380px; }
  .gallery-cell:nth-child(3), .gallery-cell:nth-child(4), .gallery-cell:nth-child(5) { height:260px; }
  .gallery-cell:nth-child(6) { height:260px; grid-column:span 3; }
  .gallery-cell img { width:100%;height:100%;object-fit:cover;filter:brightness(0.82);transition:transform 0.7s ease,filter 0.4s; }
  .gallery-cell:hover img { transform:scale(1.06);filter:brightness(0.95); }
  .gallery-cell-label { position:absolute;bottom:1rem;left:1.25rem;font-size:0.55rem;letter-spacing:0.25em;text-transform:uppercase;color:rgba(245,240,232,0.7);opacity:0;transition:opacity 0.3s; }
  .gallery-cell:hover .gallery-cell-label { opacity:1; }

  /* FEATURES */
  .features { background:var(--dark);padding:6rem 4rem; }
  .features-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(85,224,255,0.08);margin-top:3.5rem; }
  .feature-block { background:var(--dark);padding:2.5rem;position:relative;overflow:hidden;transition:background 0.4s; }
  .feature-block::after { content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold);transform:scaleY(0);transition:transform 0.4s;transform-origin:bottom; }
  .feature-block:hover { background:#111009; }
  .feature-block:hover::after { transform:scaleY(1); }
  .feature-num { font-family:'Cormorant Garamond',serif;font-size:2.5rem;color:rgba(85,224,255,0.12);line-height:1;margin-bottom:1.25rem; }
  .feature-title { font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:300;color:var(--white);margin-bottom:0.6rem; }
  .feature-body { font-size:0.75rem;line-height:1.85;color:rgba(245,240,232,0.4);font-weight:300; }

  /* POLICIES */
  .policies { background:var(--deep);padding:5rem 4rem; }
  .policies-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:3rem; }
  .policy-item { padding:2rem;border:1px solid rgba(85,224,255,0.1);transition:border-color 0.3s; }
  .policy-item:hover { border-color:rgba(85,224,255,0.35); }
  .policy-icon { color:var(--gold);margin-bottom:1rem; }
  .policy-title { font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--cream);margin-bottom:0.5rem;font-weight:300; }
  .policy-value { font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:var(--gold-light);font-weight:300; }

  /* CTA */
  .cta { position:relative;overflow:hidden;min-height:50vh;display:flex;align-items:center;justify-content:center; }
  .cta-bg { position:absolute;inset:0;background:linear-gradient(rgba(13,12,10,0.65),rgba(13,12,10,0.65)),url('/images/cta.png') center/cover; }
  .cta-content { position:relative;z-index:2;text-align:center; }
  .cta-title { font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,5vw,4rem);font-weight:300;color:var(--white);margin-bottom:1.25rem; }
  .cta-title em { font-style:italic;color:var(--gold-light); }
  .cta-sub { font-size:0.75rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(245,240,232,0.45);margin-bottom:2.5rem; }
  .cta-actions { display:flex;gap:1.5rem;justify-content:center; }
  .btn-primary { background:var(--gold);color:var(--dark);padding:1rem 2.5rem;border:none;font-family:'Jost',sans-serif;font-size:0.65rem;letter-spacing:0.25em;text-transform:uppercase;cursor:pointer;transition:all 0.3s;text-decoration:none;display:inline-block; }
  .btn-primary:hover { background:var(--gold-light);transform:translateY(-2px); }
  .btn-ghost { color:var(--cream);border:1px solid rgba(245,240,232,0.3);padding:1rem 2.5rem;font-size:0.65rem;letter-spacing:0.25em;text-transform:uppercase;cursor:pointer;transition:all 0.3s;text-decoration:none;display:inline-block; }
  .btn-ghost:hover { border-color:var(--gold);color:var(--gold); }

  @media (max-width:960px) {
    .room-hero { padding:0 2rem 3rem; }
    .room-hero-meta { flex-wrap:wrap; }
    .overview { grid-template-columns:1fr; }
    .booking-sidebar { position:static;border-left:none;border-top:1px solid rgba(85,224,255,0.1); }
    .amenities-grid { grid-template-columns:1fr 1fr; }
    .gallery-masonry { grid-template-columns:1fr 1fr; }
    .gallery-cell:nth-child(1) { grid-column:span 2; }
    .features-grid,.policies-grid,.rooms-row { grid-template-columns:1fr; }
  }
