/* pages/estate-detail.css — unique styles not in base.css */

:root{
  --brand:#0c2340; --brand-700:#091a2f; --brand-500:#143a5c; --brand-400:#1d5280; --brand-300:#2a6aa0;
  --brand-100:#e4edf5; --brand-50:#f0f5fa;
  --accent:#0071c2; --accent-h:#005a9e; --accent-light:#e8f4fd;
  --gold:#f0b132; --gold-h:#d99a1a; --gold-light:#fef6e4; --gold-deep:#b8791a;
  --teal:#17a2a8; --teal-light:#e0f5f5;
  --green:#008a05; --green-light:#e8f5e9;
  --red:#d32f2f; --orange:#e67e22; --purple:#7c3aed; --pink:#e8a5b8;
  --white:#fff; --g50:#f8f9fb; --g100:#f0f2f4; --g200:#e2e5e9; --g300:#cdd2d9;
  --g400:#98a2ae; --g500:#6b7785; --g700:#3b4856; --g900:#1a2430;
  --font:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-display:'Playfair Display',Georgia,serif;
  --r:6px; --rm:10px; --rl:14px; --rxl:20px;
  --sh-xs:0 1px 3px rgba(0,0,0,.06);
  --sh-sm:0 2px 8px rgba(0,0,0,.08);
  --sh:0 4px 20px rgba(0,0,0,.10);
  --sh-md:0 8px 30px rgba(0,0,0,.12);
  --sh-lg:0 16px 48px rgba(0,0,0,.14);
  --tr:.2s cubic-bezier(.4,0,.2,1);
}

body{font-family:var(--font);font-size:14px;line-height:1.55;color:var(--g900);background:var(--g50);-webkit-font-smoothing:antialiased;overflow-x:hidden;margin:0}

.logo{display:inline-flex;align-items:baseline;gap:0;flex-shrink:0;text-decoration:none;font-family:'Ubuntu',var(--font)}

.nav-tab{display:flex;align-items:center;gap:6px;padding:0 13px;height:100%;color:rgba(255,255,255,.72);font-size:13px;font-weight:500;border-bottom:3px solid transparent;transition:all var(--tr);white-space:nowrap;position:relative;text-decoration:none}

.hbtn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:var(--rm);font-size:13px;font-weight:600;white-space:nowrap;border:none;text-decoration:none;transition:all var(--tr)}

.btn-burger{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff;width:42px;height:42px;border-radius:var(--rm);display:none;align-items:center;justify-content:center;padding:0;transition:all var(--tr)}

.btn-burger .bl{display:block;width:20px;height:2px;background:#fff;margin:2.5px auto;border-radius:2px}

.mm-logo-t{font-family:'Ubuntu',var(--font);font-size:22px;font-weight:700;color:#fff;letter-spacing:-.3px;line-height:1}

.mm-logo-d{font-family:'Ubuntu',var(--font);font-size:15px;font-weight:500;color:var(--gold);letter-spacing:-.2px;line-height:1;margin-left:1px}

.mm-search-box{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.15);border-radius:var(--rm);padding:12px 14px}

.mm-pr{display:flex;align-items:center;gap:8px;padding:14px;border-radius:var(--rm);font-size:13px;font-weight:700;letter-spacing:.3px;text-decoration:none;text-transform:uppercase;position:relative;overflow:hidden}

.mm-sh{font-size:10.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(240,177,50,.7);margin-bottom:10px}

.mm-item{display:flex;align-items:center;gap:14px;padding:13px 14px;color:rgba(255,255,255,.9);font-size:15.5px;font-weight:500;border-radius:var(--rm);transition:all var(--tr);text-decoration:none;opacity:0;transform:translateX(-10px)}

.mm-item:hover{background:rgba(255,255,255,.07)}

.mm-item-badge{background:var(--gold);color:var(--brand);font-size:9px;font-weight:800;padding:2px 6px;border-radius:100px;margin-left:6px}

.mm-auth-btn{padding:13px;border-radius:var(--rm);font-size:14px;font-weight:700;text-align:center;border:none;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:6px}

.mm-prefbtn{background:rgba(255,255,255,.08);color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.1);padding:6px 12px;border-radius:100px;font-size:11.5px;font-weight:600}

.anchor-nav{background:#fff;border-bottom:1px solid var(--g200);position:sticky;top:60px;z-index:1030;box-shadow:var(--sh-xs);transition:box-shadow .3s}

.an-inner{display:flex;align-items:center;gap:14px;min-height:54px}

.an-links{display:flex;align-items:center;gap:0;flex:1;overflow-x:auto;scrollbar-width:none}

.an-links::-webkit-scrollbar{display:none}

.an-link{padding:17px 14px;font-size:13.5px;font-weight:600;color:var(--g700);border-bottom:3px solid transparent;transition:all var(--tr);white-space:nowrap;text-decoration:none}

.an-link:hover{color:var(--accent)}

.an-link.active{color:var(--accent);border-bottom-color:var(--accent)}

.an-cta{display:flex;align-items:center;gap:14px;flex-shrink:0}

.an-price{font-size:12.5px;color:var(--g500)}

.an-price strong{color:var(--g900);font-weight:700;font-size:15px}

.btn-an-book{background:linear-gradient(135deg,var(--accent),#0083d9);color:#fff;padding:10px 20px;border-radius:var(--rm);font-size:13.5px;font-weight:700;border:none;display:inline-flex;align-items:center;gap:6px;transition:all var(--tr)}

.btn-an-book:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,113,194,.3)}

.hotel-main{padding:18px 0 40px}

.breadcrumb-row{padding:8px 0 14px;font-size:12.5px;color:var(--g500)}

.breadcrumb-links{display:flex;align-items:center;flex-wrap:wrap;gap:4px}

.breadcrumb-links a{color:var(--accent);transition:color var(--tr)}

.breadcrumb-links a:hover{color:var(--accent-h);text-decoration:underline}

.breadcrumb-links i{font-size:10px;color:var(--g400);margin:0 2px}

.breadcrumb-links span{color:var(--g700);font-weight:500}

.hotel-hd{display:grid;grid-template-columns:1fr 280px;gap:22px;background:#fff;border-radius:var(--rl);box-shadow:var(--sh-sm);padding:22px 26px;margin-bottom:18px;border:1px solid var(--g100)}

.hd-left{min-width:0}

.hotel-stars{display:flex;align-items:center;gap:6px;margin-bottom:8px}

.hotel-stars i{color:var(--gold);font-size:14px}

.hotel-type-chip{background:var(--brand-50);color:var(--brand-400);font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:100px;margin-left:8px;letter-spacing:.4px;text-transform:uppercase}

.hotel-name{font-family:var(--font-display);font-size:30px;font-weight:800;color:var(--g900);line-height:1.12;margin:0 0 10px;letter-spacing:-.5px}

.hotel-meta{font-size:13.5px;color:var(--g700);margin-bottom:14px;display:flex;align-items:center;flex-wrap:wrap;gap:4px}

.hotel-meta i{color:var(--accent);font-size:15px;margin-right:2px}

.hotel-meta .hm-sep{color:var(--g300);margin:0 6px}

.hotel-meta .hm-link{color:var(--accent);font-weight:600}

.hotel-meta .hm-link:hover{text-decoration:underline}

.hotel-badges{display:flex;flex-wrap:wrap;gap:8px}

.hbadge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:5px 10px;border-radius:var(--r);letter-spacing:.3px}

.hbadge i{font-size:12px}

.hbadge-genius{background:linear-gradient(135deg,#fef6e4,#fdeccc);color:var(--gold-deep);border:1px solid rgba(240,177,50,.3)}

.hbadge-green{background:var(--green-light);color:var(--green)}

.hbadge-blue{background:var(--accent-light);color:var(--accent)}

.hbadge-lang{background:linear-gradient(135deg,#ffe5ea,#ffd0d8);color:#b01830;border:1px solid rgba(220,53,90,.2)}

.hd-right{display:flex;flex-direction:column;gap:10px;align-items:stretch}

.hotel-score{background:#fff;border:1px solid var(--g200);color:var(--g900);border-radius:var(--rl);padding:16px;display:flex;align-items:center;gap:14px}

.hs-big{background:linear-gradient(135deg,var(--accent) 0%,#0083d9 100%);color:#fff;width:58px;height:58px;border-radius:var(--rm);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:26px;font-weight:800;line-height:1;flex-shrink:0;box-shadow:0 4px 14px rgba(0,113,194,.25)}

.hs-txt{min-width:0}

.hs-label{font-size:15px;font-weight:800;color:var(--g900);margin-bottom:2px}

.hs-count{font-size:12px;color:var(--g500);margin-bottom:4px}

.hs-link{font-size:12px;color:var(--accent);font-weight:600}

.hs-link:hover{text-decoration:underline}

.hotel-actions{display:flex;gap:8px;align-items:center}

.btn-action{background:#fff;border:1.5px solid var(--g200);color:var(--g700);padding:9px 14px;border-radius:var(--rm);font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:5px;transition:all var(--tr);cursor:pointer}

.btn-action:hover{border-color:var(--accent);color:var(--accent)}

.btn-action.saved{background:var(--red);border-color:var(--red);color:#fff}

.share-wrap{position:relative}

.btn-share{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--g200);background:#fff;color:var(--g700);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--tr);flex-shrink:0}

.btn-share:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}

.share-menu{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid var(--g200);border-radius:var(--rm);box-shadow:var(--sh-md);padding:8px;display:none;z-index:100;min-width:190px}

.share-wrap.open .share-menu{display:block}

.share-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;background:none;border:none;font-size:13px;font-weight:600;color:var(--g700);border-radius:var(--r);cursor:pointer;text-align:left;transition:background var(--tr)}

.share-item:hover{background:var(--g50);color:var(--g900)}

.share-item .sic{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;flex-shrink:0}

.sic-fb{background:#1877f2}

.sic-tw{background:#000}

.sic-wa{background:#25d366}

.sic-tg{background:#229ed9}

.sic-em{background:#666}

.sic-cp{background:var(--accent)}

.gallery{margin-bottom:22px;border-radius:var(--rl);overflow:hidden;box-shadow:var(--sh-sm)}

.gallery-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;grid-template-rows:245px 245px;gap:4px;background:#fff}

.gg-main{grid-row:span 2;position:relative;overflow:hidden;cursor:pointer;background:var(--g100)}

.gg-thumb{position:relative;overflow:hidden;cursor:pointer;background:var(--g100)}

.gg-main img,.gg-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}

.gg-main:hover img,.gg-thumb:hover img{transform:scale(1.04)}

.gg-overlay{position:absolute;top:12px;right:12px;background:rgba(0,0,0,.55);color:#fff;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;backdrop-filter:blur(4px)}

.gg-main:hover .gg-overlay,.gg-thumb:hover .gg-overlay{opacity:1}

.gg-more{position:absolute;inset:0;background:rgba(12,35,64,.75);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:700;backdrop-filter:blur(2px);opacity:0;transition:opacity .3s;cursor:pointer}

.gg-more i{font-size:18px}

.gg-thumb:hover .gg-more{opacity:1}

.hotel-video{position:relative;margin-bottom:22px;border-radius:var(--rl);overflow:hidden;box-shadow:var(--sh-sm);aspect-ratio:18/5;max-height:260px;cursor:pointer;background:var(--g100)}

.hotel-video .hv-poster{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.4,0,.2,1)}

.hotel-video:hover .hv-poster{transform:scale(1.04)}

.hotel-video .hv-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,35,64,.75) 0%,rgba(12,35,64,.35) 45%,rgba(0,0,0,.2) 100%);pointer-events:none}

.hotel-video .hv-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;border-radius:50%;border:3px solid rgba(255,255,255,.9);background:rgba(240,177,50,.85);color:#fff;font-size:32px;display:flex;align-items:center;justify-content:center;padding-left:4px;cursor:pointer;transition:all .25s;box-shadow:0 6px 24px rgba(0,0,0,.4),0 0 0 0 rgba(240,177,50,.5);backdrop-filter:blur(6px);z-index:2}

.hotel-video .hv-play::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:3px solid rgba(255,255,255,.3);animation:pulseRing 2.2s ease-out infinite;pointer-events:none}

@keyframes pulseRing{0%{transform:scale(1);opacity:1} 100%{transform:scale(1.4);opacity:0}}

.hotel-video:hover .hv-play{transform:translate(-50%,-50%) scale(1.08);background:var(--gold);box-shadow:0 10px 34px rgba(0,0,0,.5)}

.hotel-video .hv-text{position:absolute;left:28px;bottom:22px;color:#fff;z-index:2;max-width:60%}

.hotel-video .hv-kicker{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--gold);margin-bottom:6px;background:rgba(0,0,0,.35);padding:5px 10px;border-radius:100px;backdrop-filter:blur(6px)}

.hotel-video .hv-kicker i{font-size:13px}

.hotel-video .hv-title{font-family:var(--font-display);font-size:24px;font-weight:800;line-height:1.2;margin-bottom:2px;text-shadow:0 2px 14px rgba(0,0,0,.4)}

.hotel-video .hv-sub{font-size:12.5px;color:rgba(255,255,255,.8)}

.property-video{aspect-ratio:16/9;max-height:540px;cursor:auto;background:#000}

.property-video video{width:100%;height:100%;object-fit:cover}

.hv-modal{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:3000;display:none;align-items:center;justify-content:center;padding:20px}

.hv-modal.open{display:flex}

.hv-modal-inner{position:relative;width:100%;max-width:1100px;aspect-ratio:16/9;background:#000;border-radius:var(--rl);overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.6)}

.hv-modal-inner iframe{width:100%;height:100%;border:0}

.hv-close{position:absolute;top:-50px;right:0;background:rgba(255,255,255,.15);border:none;color:#fff;width:42px;height:42px;border-radius:50%;font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--tr)}

.hv-close:hover{background:rgba(255,255,255,.3)}

.hotel-layout{display:grid;grid-template-columns:1fr 340px;gap:22px;align-items:flex-start}

.hotel-content{min-width:0;display:flex;flex-direction:column;gap:16px}

.hotel-sidebar{position:sticky;top:134px;display:flex;flex-direction:column;gap:14px}

.hcard{background:#fff;border-radius:var(--rl);box-shadow:var(--sh-sm);padding:22px 26px;border:1px solid var(--g100);scroll-margin-top:130px}

.hcard-title{font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--g900);margin:0 0 14px;letter-spacing:-.2px}

.hotel-desc{font-size:14.5px;color:var(--g700);line-height:1.65;margin-bottom:12px}

.quick-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--g100)}

.qf{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--g700);padding:8px 12px;background:var(--brand-50);border-radius:var(--r);font-weight:500}

.qf i{color:var(--accent);font-size:16px;flex-shrink:0}

.rooms-card{padding:0;overflow:hidden}

.rooms-card .hcard-title{padding:22px 26px 12px;border-bottom:1px solid var(--g100);margin-bottom:0}

.rooms-bar{display:flex;align-items:stretch;padding:14px 26px;background:var(--brand-50);border-bottom:1px solid var(--g200);gap:0;flex-wrap:wrap}

.rb-field{flex:1;min-width:150px;padding:8px 16px 8px 0;border-right:1px solid var(--g200);display:flex;align-items:center;gap:10px;position:relative}

.rb-field:last-of-type{border-right:none}

.rb-ic{color:var(--accent);font-size:18px;flex-shrink:0}

.rb-field > div{flex:1;min-width:0;display:flex;flex-direction:column}

.rb-label{display:block;font-size:10.5px;font-weight:700;color:var(--g500);text-transform:uppercase;letter-spacing:.4px}

.rb-val{display:block;font-size:13.5px;font-weight:600;color:var(--g900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.rb-btn{background:transparent;border:none;font:inherit;color:var(--g900);font-size:13.5px;font-weight:600;text-align:left;padding:0;cursor:pointer;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.rb-btn.placeholder{color:var(--g500);font-weight:500}

.btn-rb{background:var(--accent);color:#fff;border:none;padding:10px 18px;border-radius:var(--rm);font-size:13px;font-weight:700;margin-left:14px;transition:all var(--tr);white-space:nowrap}

.btn-rb:hover{background:var(--accent-h);transform:translateY(-1px)}

.rooms-list{padding:18px 26px 24px;display:flex;flex-direction:column;gap:16px}

.room-card{display:grid;grid-template-columns:220px 1fr 250px;border:1px solid var(--g200);border-radius:var(--rl);overflow:hidden;transition:all var(--tr);background:#fff}

.room-card:hover{box-shadow:var(--sh);border-color:var(--g300)}

.room-img{position:relative;overflow:hidden;background:var(--g100);min-height:180px}

.room-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}

.room-card:hover .room-img img{transform:scale(1.04)}

.room-tag{position:absolute;top:10px;left:10px;background:linear-gradient(135deg,var(--gold),var(--gold-h));color:var(--brand);font-size:10px;font-weight:800;padding:4px 9px;border-radius:var(--r);text-transform:uppercase;letter-spacing:.3px}

.room-info{padding:16px 18px;border-right:1px solid var(--g200);min-width:0}

.room-name{font-size:15.5px;font-weight:700;color:var(--g900);margin-bottom:10px;line-height:1.3}

.room-specs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}

.rsp{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--g500);background:var(--g50);border:1px solid var(--g200);padding:4px 9px;border-radius:100px;font-weight:500}

.rsp i{font-size:13px;color:var(--g700)}

.room-amenities{display:flex;flex-direction:column;gap:5px}

.ram{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--g700)}

.ram i{color:var(--green);font-size:13px}

.room-opts{padding:16px;display:flex;flex-direction:column;gap:6px;background:var(--g50);min-width:0}

.ro-meal,.ro-cancel,.ro-prepay,.ro-urgency{font-size:11.5px;font-weight:600;display:flex;align-items:center;gap:6px;padding:5px 9px;border-radius:var(--r);line-height:1.3}

.ro-meal i,.ro-cancel i,.ro-prepay i,.ro-urgency i{font-size:12px;flex-shrink:0}

.ro-meal-green{background:var(--green-light);color:var(--green)}

.ro-cancel-green{background:var(--green-light);color:var(--green)}

.ro-prepay{background:var(--accent-light);color:var(--accent)}

.ro-urgency{background:#fff4e0;color:var(--orange);font-weight:700}

.ro-bottom{margin-top:auto;padding-top:10px;border-top:1px solid var(--g200);display:flex;flex-direction:column;gap:2px}

.ro-genius{font-size:10px;font-weight:800;color:var(--gold-deep);background:var(--gold-light);padding:3px 7px;border-radius:var(--r);align-self:flex-start;display:inline-flex;align-items:center;gap:3px}

.ro-genius i{font-size:10px}

.ro-guests{font-size:11px;color:var(--g500);margin-top:4px}

.ro-old{font-size:12.5px;color:var(--g400);text-decoration:line-through}

.ro-price{font-size:22px;font-weight:800;color:var(--g900);line-height:1.05;font-family:var(--font-display)}

.ro-price span{font-size:11px;color:var(--g500);font-weight:500;font-family:var(--font);margin-left:2px}

.ro-note{font-size:11px;color:var(--g500);margin-bottom:6px}

.btn-book{background:linear-gradient(135deg,var(--accent),#0083d9);color:#fff;border:none;padding:10px 14px;border-radius:var(--rm);font-size:13px;font-weight:700;margin-top:6px;display:inline-flex;align-items:center;justify-content:center;gap:5px;transition:all var(--tr);width:100%}

.btn-book:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,113,194,.35)}

.amenities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 30px}

.am-cat{font-size:10.5px;font-weight:700;color:var(--g500);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:10px;padding-bottom:6px;border-bottom:2px solid var(--g100)}

.am-list{display:flex;flex-direction:column;gap:7px}

.am-item{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--g700)}

.am-item i{color:var(--accent);font-size:15px;width:18px;text-align:center}

.scores-wrap{display:grid;grid-template-columns:180px 1fr;gap:24px;margin-bottom:22px;padding:16px;background:var(--brand-50);border-radius:var(--rl)}

.sc-big{text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:14px 10px;background:#fff;border-radius:var(--rl);box-shadow:var(--sh-xs)}

.sc-big-num{font-family:var(--font-display);font-size:46px;font-weight:800;color:var(--brand);line-height:1}

.sc-big-label{font-size:14px;font-weight:700;color:var(--green);margin-top:4px}

.sc-big-count{font-size:11.5px;color:var(--g500);margin-top:6px}

.sc-bars{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;align-self:center}

.sc-bar-row{display:grid;grid-template-columns:90px 1fr 32px;align-items:center;gap:10px}

.sc-bar-label{font-size:12px;color:var(--g700);font-weight:500}

.sc-bar-track{height:6px;background:var(--g200);border-radius:3px;overflow:hidden}

.sc-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--teal));border-radius:3px}

.sc-bar-val{font-size:12px;font-weight:700;color:var(--g900);text-align:right}

.reviews-list{display:flex;flex-direction:column;gap:14px;margin-bottom:16px}

.rv{border:1px solid var(--g200);border-radius:var(--rl);padding:16px 18px;transition:all var(--tr);background:#fff}

.rv:hover{box-shadow:var(--sh-xs);border-color:var(--g300)}

.rv-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px;gap:12px}

.rv-author-wrap{display:flex;align-items:center;gap:10px;min-width:0}

.rv-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--teal));color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}

.rv-name{font-size:13.5px;font-weight:700;color:var(--g900)}

.rv-stayed{font-size:11.5px;color:var(--g500);margin-top:1px}

.rv-lang{font-size:10.5px;color:var(--accent);font-weight:600;margin-top:3px;display:inline-flex;align-items:center;gap:4px}

.rv-lang i{font-size:11px}

.rv-score-badge{background:var(--brand);color:#fff;width:46px;height:38px;border-radius:var(--rm);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;flex-shrink:0}

.rv-title{font-size:14.5px;font-weight:700;color:var(--g900);margin:8px 0}

.rv-pos,.rv-neg{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px}

.rv-pos i{color:var(--green);font-size:15px;flex-shrink:0;margin-top:2px}

.rv-neg i{color:var(--red);font-size:15px;flex-shrink:0;margin-top:2px}

.rv-pos p,.rv-neg p{font-size:13px;color:var(--g700);line-height:1.55;margin:0}

.rv-foot{margin-top:10px;padding-top:10px;border-top:1px solid var(--g100)}

.rv-helpful{background:none;border:1px solid var(--g200);color:var(--g700);padding:6px 12px;border-radius:100px;font-size:11.5px;font-weight:600;display:inline-flex;align-items:center;gap:5px;transition:all var(--tr)}

.rv-helpful:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}

.btn-more-reviews{width:100%;padding:13px;border:1.5px solid var(--g200);background:#fff;border-radius:var(--rm);font-size:14px;font-weight:700;color:var(--g700);display:flex;align-items:center;justify-content:center;gap:8px;transition:all var(--tr)}

.btn-more-reviews:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}

.rules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}

.rule-card{background:var(--g50);border:1px solid var(--g200);border-radius:var(--rm);padding:14px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}

.rule-icon{width:38px;height:38px;border-radius:50%;background:var(--accent-light);display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:18px;margin-bottom:4px}

.rule-title{font-size:13px;font-weight:700;color:var(--g900)}

.rule-text{font-size:12.5px;color:var(--g700)}

.map-placeholder{background:linear-gradient(135deg,var(--brand-50),var(--teal-light));border-radius:var(--rm);height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--brand-500);font-size:15px;margin-bottom:14px;gap:10px;position:relative;overflow:hidden}

.map-placeholder::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 30%, rgba(23,162,168,.12), transparent 40%),radial-gradient(circle at 80% 70%, rgba(240,177,50,.12), transparent 40%)}

.map-placeholder i{font-size:36px;color:var(--accent);position:relative}

.map-placeholder span{position:relative;font-weight:600}

.map-placeholder .mp-coords{font-size:11.5px;color:var(--g500);font-weight:500}

.near-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin-top:10px}

.near{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px dashed var(--g200);font-size:13px}

.near-left{display:flex;align-items:center;gap:8px;color:var(--g700)}

.near-left i{color:var(--accent);font-size:14px}

.near-dist{font-size:12px;color:var(--g500);font-weight:600}

.side-card{background:#fff;border:1px solid var(--g200);border-radius:var(--rl);padding:18px;box-shadow:var(--sh-xs)}

.sc-title{font-size:15px;font-weight:700;color:var(--g900);margin-bottom:12px;font-family:var(--font-display)}

.lang-card{background:linear-gradient(135deg,var(--gold-light) 0%,#fff 100%);border:1.5px solid rgba(240,177,50,.35);border-radius:var(--rl);padding:18px;display:flex;gap:14px;box-shadow:var(--sh-xs);position:relative;overflow:hidden}

.lang-card::after{content:"";position:absolute;top:-20px;right:-20px;width:80px;height:80px;background:radial-gradient(circle,rgba(240,177,50,.2),transparent 70%);border-radius:50%}

.lang-card-icon{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-h));color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;position:relative}

.lang-card-title{font-size:14px;font-weight:800;color:var(--gold-deep);margin-bottom:4px;position:relative}

.lang-card-text{font-size:12.5px;color:var(--g700);line-height:1.5;margin-bottom:10px;position:relative}

.lang-card-flags{display:flex;gap:6px;flex-wrap:wrap;position:relative}

.lang-flag{background:#fff;border:1px solid rgba(240,177,50,.3);padding:3px 10px;border-radius:100px;font-size:11.5px;font-weight:700;color:var(--g900)}

.booking-widget{background:#fff;border:1px solid var(--g200);border-radius:var(--rl);padding:20px;box-shadow:var(--sh);position:relative;overflow:hidden}

.booking-widget::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent),var(--teal),var(--gold))}

.bw-title{font-family:var(--font-display);font-size:18px;font-weight:800;color:var(--g900);margin:0 0 14px}

.bw-price-head{display:flex;align-items:flex-end;justify-content:space-between;padding:12px 0 14px;border-bottom:1px solid var(--g100);margin-bottom:14px}

.bw-price-lead{font-size:11.5px;color:var(--g500);margin-bottom:2px;text-transform:uppercase;letter-spacing:.5px;font-weight:700}

.bw-price-big{font-family:var(--font);font-size:28px;font-weight:800;color:var(--g900);line-height:1;letter-spacing:-.5px;font-variant-numeric:tabular-nums}

.bw-price-big span{font-size:12px;color:var(--g500);font-weight:500;font-family:var(--font);margin-left:4px;letter-spacing:0}

.bw-old-price{font-size:13px;color:var(--g400);text-decoration:line-through;margin-bottom:2px}

.bw-discount{background:var(--red);color:#fff;font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:var(--r);letter-spacing:.3px}

.bw-field{margin-bottom:10px;position:relative}

.bw-label{font-size:10.5px;font-weight:700;color:var(--g500);text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px}

.bw-input{display:flex;align-items:center;gap:8px;border:1.5px solid var(--g200);border-radius:var(--rm);padding:10px 12px;transition:border-color var(--tr);background:#fff}

.bw-input:focus-within{border-color:var(--accent)}

.bw-input i{color:var(--g500);font-size:16px;flex-shrink:0}

.bw-input input,.bw-input select,.bw-input button{flex:1;border:none;background:none;font:inherit;font-size:13.5px;font-weight:600;color:var(--g900);outline:none;text-align:left;padding:0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.bw-input button{cursor:pointer}

.bw-input button.placeholder{color:var(--g500);font-weight:500}

.btn-bw{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--accent),#0083d9);color:#fff;border:none;width:100%;padding:14px;border-radius:var(--rm);font-size:15px;font-weight:700;margin:14px 0 14px;transition:all var(--tr);text-decoration:none}

.btn-bw:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,113,194,.35)}

.bw-note{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--g700);margin-bottom:5px}

.bw-note i{color:var(--green);font-size:14px}

.bw-breakdown{margin-top:16px;padding-top:14px;border-top:1px dashed var(--g200);display:flex;flex-direction:column;gap:7px}

.bwb-row{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--g700)}

.bwb-total{padding-top:9px;border-top:1px solid var(--g200);margin-top:4px;font-size:14.5px;font-weight:800;color:var(--g900)}

.similar-list{display:flex;flex-direction:column;gap:10px}

.sim{display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:center;padding:8px;border-radius:var(--rm);transition:background var(--tr);text-decoration:none}

.sim:hover{background:var(--g50)}

.sim img{width:72px;height:60px;object-fit:cover;border-radius:var(--r)}

.sim-info{min-width:0}

.sim-name{font-size:13px;font-weight:700;color:var(--g900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.sim-loc{font-size:11px;color:var(--g500);margin:2px 0}

.sim-loc i{color:var(--accent);font-size:11px;margin-right:2px}

.sim-price{font-size:11.5px;color:var(--g700)}

.sim-price strong{color:var(--g900);font-weight:800}

.sim-score{background:var(--brand);color:#fff;padding:4px 8px;border-radius:var(--r);font-size:12.5px;font-weight:800;align-self:flex-start}

.sc-contact{display:flex;flex-direction:column;gap:10px}

.sc-contact a{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--accent);font-weight:600;padding:8px 10px;border-radius:var(--rm);transition:background var(--tr)}

.sc-contact a:hover{background:var(--accent-light)}

.sc-contact a i{font-size:16px}

.ac-list{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--g200);border-radius:var(--rm);box-shadow:var(--sh-md);max-height:340px;overflow-y:auto;z-index:100;display:none}

.ac-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;border:none;background:none;text-align:left;width:100%;transition:background var(--tr)}

.ac-item i{font-size:16px;color:var(--accent);width:20px;text-align:center}

.ac-item .ac-body{flex:1}

.ac-item .ac-name{font-size:13.5px;font-weight:600;color:var(--g900)}

.ac-item .ac-meta{font-size:11.5px;color:var(--g500)}

.ac-item .ac-tag{font-size:10px;font-weight:700;color:var(--g500);background:var(--g100);padding:2px 7px;border-radius:100px}

.guests-pop{position:absolute;top:calc(100% + 4px);left:0;right:auto;min-width:300px;background:#fff;border:1px solid var(--g200);border-radius:var(--rm);box-shadow:var(--sh-md);padding:14px 16px;z-index:9999;display:none}

.gp-lbl{font-size:13.5px;font-weight:600;color:var(--g900);display:block}

.gp-hint{font-size:11.5px;color:var(--g500)}

.gp-btn{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--accent);background:#fff;color:var(--accent);font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0;transition:all var(--tr);cursor:pointer}

.gp-val{min-width:20px;text-align:center;font-size:14px;font-weight:700}

.dp{position:absolute;top:calc(100% + 4px);left:0;background:#fff;border:1px solid var(--g200);border-radius:var(--rm);box-shadow:var(--sh-md);padding:16px;z-index:9999;display:none;min-width:320px;max-width:92vw}

.dp.dp-double{min-width:640px}

.pick-sheet-close{display:none;position:sticky;top:0;background:#fff;z-index:2;margin:-16px -16px 6px;padding:14px 14px 10px;border-bottom:1px solid var(--g100);align-items:center}

.pick-sheet-close .pcs-title{flex:1;font-size:15px;font-weight:700;color:var(--g900);margin:0}

@media(max-width:767.98px){
  .dp.open,.guests-pop.open{
    position:fixed !important;
    top:auto !important; bottom:0 !important;
    left:0 !important; right:0 !important;
    width:100% !important; max-width:100% !important;
    min-width:0 !important;
    border-radius:var(--rl) var(--rl) 0 0 !important;
    max-height:88vh; overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    z-index:9999 !important;
    box-shadow:0 -10px 40px rgba(0,0,0,.25) !important;
    padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));
    animation:slideUp .25s ease-out;
  }
  .dp.dp-double{min-width:0 !important}
  .dp.dp-double .dp-months{grid-template-columns:1fr !important}
  .dp.dp-double .dp-months>div:nth-child(2){display:none}
  .pick-sheet-close{display:flex !important}
}

.dp-nav{background:var(--g50);border:1px solid var(--g200);width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--g700);padding:0;transition:all var(--tr)}

.dp-month-title{font-size:14px;font-weight:700;text-align:center;margin-bottom:10px;text-transform:capitalize}

.dp-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;color:var(--g700);background:none;border:none;border-radius:var(--r);padding:0}

.dp-day.selected,.dp-day.range-start,.dp-day.range-end{background:var(--accent);color:#fff !important;font-weight:700}

.dp-day.range-start{border-radius:var(--r) 0 0 var(--r)}

.dp-day.range-end{border-radius:0 var(--r) var(--r) 0}

.dp-clear{background:none;border:none;color:var(--g500);font-size:12.5px;font-weight:600;text-decoration:underline}

.ft-soc:hover{background:rgba(255,255,255,.12);color:#fff}

.ft-legal a{font-size:11.5px;color:rgba(255,255,255,.35)}

.mn-it{display:flex;flex-direction:column;align-items:center;gap:2px;padding:3px 12px;color:var(--g400);font-size:10px;font-weight:600;text-decoration:none}

.mob-book-bar{position:fixed;bottom:0;left:0;right:0;z-index:1040;background:#fff;border-top:1px solid var(--g200);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));display:none;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -4px 16px rgba(0,0,0,.1)}

.mbb-price{font-size:13px;color:var(--g700)}

.mbb-price strong{font-size:18px;color:var(--g900);font-weight:800;font-family:var(--font-display)}

.btn-mbb{background:linear-gradient(135deg,var(--accent),#0083d9);color:#fff;border:none;padding:12px 22px;border-radius:var(--rm);font-size:14px;font-weight:700;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;gap:6px}

.sctop{position:fixed;bottom:80px;right:16px;width:44px;height:44px;border-radius:50%;background:var(--brand);color:#fff;border:none;display:none;align-items:center;justify-content:center;font-size:18px;box-shadow:var(--sh);z-index:1020;transition:all var(--tr)}

.sctop.show{display:flex}

.sctop:hover{background:var(--brand-500);transform:translateY(-2px)}

@media(max-width:1199.98px){
  .hotel-layout{grid-template-columns:1fr 300px;gap:18px}
  .hotel-hd{grid-template-columns:1fr 240px}
  .hotel-name{font-size:26px}
  .main-nav .nav-tab{padding:0 10px;font-size:12.5px}
  .room-card{grid-template-columns:180px 1fr 220px}
}

@media(max-width:991.98px){
  .main-nav{display:none}
  .btn-burger{display:flex}
  .hotel-layout{grid-template-columns:1fr}
  .hotel-sidebar{position:static;order:-1}
  .booking-widget{display:none}
  .mob-nav{display:block}
  .mob-book-bar{display:flex}
  body{padding-bottom:128px}
  .anchor-nav{top:60px}
  .amenities-grid{grid-template-columns:1fr 1fr}
  .room-card{grid-template-columns:160px 1fr;grid-template-rows:auto auto}
  .room-opts{grid-column:span 2;border-right:none;border-top:1px solid var(--g200)}
  .rules-grid{grid-template-columns:1fr 1fr}
  .scores-wrap{grid-template-columns:1fr;gap:16px}
  .sc-bars{grid-template-columns:1fr}
  .dp.dp-double{min-width:auto}
  .dp.dp-double .dp-months{grid-template-columns:1fr}
  .dp.dp-double .dp-months>div:nth-child(2){display:none}
}

@media(max-width:767.98px){
  .topbar{padding:8px 0}
  .topbar-inner{height:auto;min-height:40px;gap:10px;justify-content:center}
  .tb-right{display:none}
  .tb-left{justify-content:center;gap:8px}
  .tb-premium{padding:6px 14px;font-size:11px;letter-spacing:.3px}
  .tb-premium i{font-size:12px}
  .anchor-nav{display:none}
  .hotel-hd{grid-template-columns:1fr;padding:18px;gap:16px}
  .hd-right{flex-direction:column;align-items:stretch;gap:10px}
  .hotel-score{padding:14px}
  .hs-big{width:52px;height:52px;font-size:23px}
  .hs-label{font-size:14px}
  .hotel-actions{gap:8px;justify-content:flex-end}
  .btn-action{padding:8px 14px;font-size:12.5px}
  .hotel-name{font-size:24px}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:200px 130px 130px;gap:3px}
  .gg-main{grid-column:span 2;grid-row:span 1}
  .hcard{padding:18px 18px}
  .hcard-title{font-size:19px}
  .rooms-card .hcard-title{padding:18px 18px 10px}
  .rooms-bar{padding:12px 18px;flex-direction:column;align-items:stretch;gap:4px}
  .rb-field{border-right:none;border-bottom:1px solid var(--g200);padding:10px 0;min-width:auto}
  .rb-field:last-of-type{border-bottom:none}
  .btn-rb{margin:10px 0 0;width:100%}
  .rooms-list{padding:14px 18px 18px}
  .room-card{grid-template-columns:1fr}
  .room-img{min-height:160px}
  .room-info{border-right:none;border-bottom:1px solid var(--g200)}
  .room-opts{grid-column:auto}
  .amenities-grid{grid-template-columns:1fr}
  .rules-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .sidebar-section-mobile{display:block}
  .quick-facts{grid-template-columns:1fr 1fr}
  .bw-price-big{font-size:24px}
  .hotel-video{aspect-ratio:16/9;max-height:none}
  .hotel-video .hv-title{font-size:18px}
  .hotel-video .hv-text{left:18px;bottom:14px;max-width:calc(100% - 36px)}
  .hotel-video .hv-play{width:62px;height:62px;font-size:24px}
}

@media(max-width:575.98px){
  .hotel-name{font-size:21px}
  .gallery-grid{grid-template-rows:180px 110px 110px}
  .ro-price{font-size:19px}
  .breadcrumb-row{font-size:11.5px}
}
