/* HOTEL TENDA — OTA room detail template */
.room-page{padding-top:76px}
.breadcrumb-bar{background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.breadcrumb{min-height:48px;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);overflow:auto;white-space:nowrap}
.breadcrumb a{text-decoration:none;color:#475467;font-weight:700}.breadcrumb a:hover{color:var(--brand)}.breadcrumb span{color:#98a2b3}
.room-detail-hero{padding:38px 0 34px}
.room-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:28px;align-items:start}
.room-gallery{display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:230px 230px;gap:10px;border-radius:22px;overflow:hidden;box-shadow:var(--shadow-sm);background:#fff}
.room-gallery button{border:0;padding:0;background:#eee;overflow:hidden;cursor:pointer;position:relative}
.room-gallery .room-photo-main{grid-row:1/3}
.room-gallery img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.room-gallery button:hover img{transform:scale(1.025)}
.room-gallery .photo-count{position:absolute;right:12px;bottom:12px;background:rgba(17,24,39,.82);color:#fff;padding:8px 10px;border-radius:10px;font-size:12px;font-weight:800}
.room-summary-card{background:rgba(255,255,255,.97);border:1px solid #eceef2;border-radius:22px;padding:24px;box-shadow:var(--shadow);position:sticky;top:98px}
.room-summary-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.room-summary-top h1{font-size:34px;line-height:1.03;margin:7px 0 8px;letter-spacing:-.025em}.room-summary-top p{margin:0;color:var(--muted);font-size:14px}.family-badge{background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900;letter-spacing:.08em;white-space:nowrap}
.room-keyfacts{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 20px}.room-keyfacts span{display:inline-flex;align-items:center;gap:6px;border:1px solid #e9ebef;background:#f8f9fb;color:#475467;border-radius:999px;padding:8px 10px;font-size:12px;font-weight:700}.room-keyfacts svg{width:17px;height:17px;fill:var(--brand)}
.price-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-bottom:18px}.price-main{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.price-main small{display:block;color:var(--muted);font-size:11px}.price-main strong{display:block;font-size:30px;line-height:1;color:#202936}.price-main span{font-size:12px;color:var(--muted)}.weekend-rate{text-align:right}.weekend-rate strong{font-size:17px;color:#475467}.weekend-rate small{display:block}
.summary-inclusions{display:grid;gap:9px;margin:0 0 18px;padding:0;list-style:none}.summary-inclusions li{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:#475467}.summary-inclusions svg{width:18px;height:18px;fill:#18a957;flex:0 0 18px;margin-top:1px}.room-summary-card .btn{width:100%;height:50px}.summary-note{text-align:center;font-size:11px;color:#7a8493;margin:9px 0 0}
.room-intro{padding:34px 0 74px}.room-intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center}.room-intro h2{font-size:34px;line-height:1.15;margin:8px 0 14px;letter-spacing:-.02em}.room-intro p{color:#586174;margin:0 0 14px}.room-intro-card{background:#fff;border:1px solid #eceef2;border-radius:20px;padding:24px;box-shadow:var(--shadow-sm)}.room-intro-card strong{font-size:16px}.room-intro-card p{font-size:13px;margin:6px 0 0}.mini-points{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.mini-points div{padding:13px;border-radius:13px;background:#fff7f2;border:1px solid #ffe2d3}.mini-points strong{display:block;font-size:13px}.mini-points span{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.room-feature-section{padding:72px 0;background:rgba(255,255,255,.78);border-block:1px solid rgba(255,255,255,.9);backdrop-filter:blur(8px)}.room-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.room-feature{background:#fff;border:1px solid #eceef2;border-radius:16px;padding:19px;box-shadow:0 4px 16px rgba(17,24,39,.04)}.room-feature svg{width:38px;height:38px;padding:9px;border-radius:11px;background:#fff2ec;fill:var(--brand);margin-bottom:12px}.room-feature strong{display:block;font-size:14px;margin-bottom:3px}.room-feature span{display:block;font-size:12px;color:var(--muted)}
.room-photo-section{padding:72px 0}.room-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:10px}.room-photo-grid button{border:0;background:#ddd;padding:0;cursor:pointer;border-radius:14px;overflow:hidden;position:relative}.room-photo-grid button:first-child{grid-column:span 2;grid-row:span 2}.room-photo-grid button:nth-child(4){grid-column:span 2}.room-photo-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:.32s}.room-photo-grid button:hover img{transform:scale(1.025)}
.booking-section{padding:72px 0}.booking-detail-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;align-items:start}.booking-copy h2{font-size:34px;line-height:1.15;margin:8px 0 12px}.booking-copy p{color:var(--muted);max-width:540px}.booking-reassurance{display:grid;gap:10px;margin-top:20px}.booking-reassurance div{display:flex;gap:10px;align-items:flex-start}.booking-reassurance svg{width:19px;height:19px;fill:#18a957;flex:0 0 19px;margin-top:2px}.booking-reassurance strong{font-size:13px;display:block}.booking-reassurance span{display:block;color:var(--muted);font-size:11px;margin-top:2px}.room-booking-card{background:#fff;border:1px solid #eceef2;border-radius:20px;padding:24px;box-shadow:var(--shadow)}.room-booking-card .booking-grid{margin-top:16px}
.policy-section{padding:72px 0;background:rgba(255,248,244,.72)}.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.policy-card{background:#fff;border:1px solid #eceef2;border-radius:16px;padding:22px}.policy-card strong{display:block;font-size:15px;margin-bottom:7px}.policy-card p{font-size:12px;color:var(--muted);margin:0}.policy-card ul{margin:10px 0 0;padding-left:18px;color:#596273;font-size:12px}.policy-card li+li{margin-top:5px}
.alt-room-section{padding:72px 0}.alt-room-card{background:#fff;border:1px solid #eceef2;border-radius:20px;overflow:hidden;display:grid;grid-template-columns:320px 1fr;box-shadow:var(--shadow-sm)}.alt-room-card img{width:100%;height:100%;min-height:230px;object-fit:cover}.alt-room-body{padding:26px;display:flex;align-items:center;justify-content:space-between;gap:24px}.alt-room-body h3{font-size:24px;margin:5px 0 8px}.alt-room-body p{color:var(--muted);font-size:13px;max-width:520px;margin:0}.alt-room-price{text-align:right;white-space:nowrap}.alt-room-price small{display:block;color:var(--muted);font-size:10px}.alt-room-price strong{display:block;font-size:24px}.alt-room-price .btn{margin-top:12px}
.room-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:3100;display:none;align-items:center;justify-content:center;padding:26px}.room-lightbox.open{display:flex}.room-lightbox img{max-width:min(1100px,90vw);max-height:84vh;object-fit:contain;border-radius:12px}.room-lightbox button{position:absolute;border:0;background:rgba(255,255,255,.13);color:#fff;cursor:pointer;border-radius:999px}.room-lightbox-close{right:20px;top:20px;width:44px;height:44px;font-size:28px}.room-lightbox-prev,.room-lightbox-next{top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:32px}.room-lightbox-prev{left:18px}.room-lightbox-next{right:18px}
@media(max-width:980px){.room-detail-grid{grid-template-columns:1fr}.room-summary-card{position:static}.room-intro-grid,.booking-detail-grid{grid-template-columns:1fr}.room-feature-grid{grid-template-columns:repeat(2,1fr)}.policy-grid{grid-template-columns:1fr 1fr}.alt-room-card{grid-template-columns:260px 1fr}}
@media(max-width:680px){.room-page{padding-top:68px}.breadcrumb{min-height:44px}.room-detail-hero{padding:20px 0 22px}.room-gallery{grid-template-columns:1fr 1fr;grid-template-rows:245px 130px}.room-gallery .room-photo-main{grid-column:1/3;grid-row:auto}.room-summary-card{padding:19px;border-radius:18px}.room-summary-top{flex-direction:column}.room-summary-top h1{font-size:30px}.price-main{align-items:flex-start}.room-intro,.room-feature-section,.room-photo-section,.booking-section,.policy-section,.alt-room-section{padding:54px 0}.room-intro h2,.booking-copy h2{font-size:28px}.mini-points{grid-template-columns:1fr}.room-feature-grid{grid-template-columns:1fr 1fr}.room-photo-grid{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.room-photo-grid button:first-child{grid-column:1/3;grid-row:span 2}.room-photo-grid button:nth-child(4){grid-column:1/3}.policy-grid{grid-template-columns:1fr}.alt-room-card{grid-template-columns:1fr}.alt-room-card img{height:220px;min-height:0}.alt-room-body{align-items:flex-start;flex-direction:column}.alt-room-price{text-align:left}.room-lightbox-prev{left:6px}.room-lightbox-next{right:6px}}
@media(max-width:420px){.room-feature-grid{grid-template-columns:1fr}.room-gallery{grid-template-rows:220px 115px}.room-photo-grid{grid-auto-rows:135px}.room-summary-top h1{font-size:28px}}
