*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --az:#2B2B2B;--azd:#1C1C1A;--oc:#9A7E5A;--ocl:#B89A72;
  --cr:#F8F6F2;--crd:#EDEAE4;--ci:#5A5652;--cil:#9A9690;
  --pr:#1C1C1A;--wh:#fff;
  --sf:'Cormorant Garamond',Georgia,serif;--ss:'Inter','Helvetica Neue',Arial,sans-serif;
}
html,body{font-family:var(--ss);color:var(--pr);background:var(--wh);}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;}
button{font-family:var(--ss);cursor:pointer;}
    #navbar {
      position: fixed; top: 0; left: 0; right: 0; z-index: 100;
      background: rgba(248,246,242,0.97); backdrop-filter: blur(16px) saturate(1.4);
      border-bottom: 1px solid var(--crd);
      padding: 0 2rem; display: flex; align-items: center; justify-content: space-between; height: 60px;
    }
    .nav-logo-img { display: flex; align-items: center; text-decoration: none; }
    .nav-logo-img img { height: 36px; width: auto; display: block; }
    .nav-links { display: flex; align-items: center; gap: 2.5rem; list-style: none; }
    .nav-links a {
      text-decoration: none; font-size: 0.85rem; font-weight: 600;
      letter-spacing: 0.12em; text-transform: uppercase; color: var(--pr); transition: color 0.3s;
    }
    .nav-links a:hover { color: var(--oc); }
    .nav-cta {
      background: var(--oc) !important; color: var(--wh) !important;
      padding: 0.6rem 1.4rem; border-radius: 2px;
      font-size: 0.85rem !important; font-weight: 600 !important;
      letter-spacing: 0.12em; text-transform: uppercase;
    }
    .nav-cta:hover { background: var(--ocl) !important; }
    .lang-btn {
      background: transparent; border: 1.5px solid var(--pr); color: var(--pr);
      font-family: var(--ss); font-size: 0.75rem; font-weight: 700;
      letter-spacing: 0.15em; padding: 0.4rem 0.9rem; border-radius: 2px; cursor: pointer; transition: all 0.3s;
    }
    .lang-btn:hover { border-color: var(--oc); color: var(--oc); }
    .hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 4px; background: none; border: none; margin-left: auto; }
    .hamburger span { display: block; width: 24px; height: 2px; background: var(--pr); border-radius: 2px; transition: all 0.3s; }
    .hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .hamburger.open span:nth-child(2) { opacity: 0; }
    .hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    .mob-menu { display: none; position: fixed; top: 60px; left: 0; right: 0; background: var(--azd); z-index: 99; padding: 1.5rem 2rem; gap: 1.2rem; box-shadow: 0 8px 32px rgba(0,0,0,0.3); }
    .mob-menu.open { display: flex; flex-direction: column; }
    .mob-menu a { color: white !important; font-size: 1rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; }
    .mob-menu .nav-cta { background: var(--oc) !important; color: white !important; text-align: center; padding: 0.8rem 1rem; border-radius: 2px; }
    .mob-menu .lang-btn { color: white !important; border-color: rgba(255,255,255,0.5) !important; align-self: flex-start; }
.gallery{position:relative;margin-top:60px;height:520px;overflow:hidden;background:var(--cr);width:100%;left:0;right:0;}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;}
.slide img{width:100%;height:100%;object-fit:cover;display:block;}
.slide.on{opacity:1;}
.g-dots{position:absolute;bottom:.8rem;left:50%;transform:translateX(-50%);display:flex;gap:.4rem;z-index:2;}
.g-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.7);padding:0;cursor:pointer;transition:background .2s;}
.g-dot.on{background:var(--wh);}
.g-all{position:absolute;bottom:.8rem;right:1rem;background:rgba(255,255,255,.92);border:none;border-radius:2px;padding:.45rem .9rem;font-size:.72rem;font-weight:600;letter-spacing:.07em;display:flex;align-items:center;gap:.35rem;z-index:2;}
#gal-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:9999;overflow-y:auto;padding:3rem 1rem 2rem;}
.gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.5rem;max-width:1100px;margin:0 auto;}
#gal-modal img{width:100%;border-radius:3px;cursor:pointer;display:block;}
.gal-close{position:fixed;top:.8rem;right:1.2rem;background:none;border:none;color:var(--wh);font-size:2rem;z-index:10000;}
.wrap{max-width:1180px;margin:0 auto;padding:2.5rem 2rem;display:grid;grid-template-columns:1fr 390px;gap:4rem;align-items:start;overflow:hidden;}
.apt-eye{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--oc);font-weight:700;margin-bottom:.4rem;}
h1{font-family:var(--sf);font-size:2rem;color:var(--pr);line-height:1.2;margin-bottom:.4rem;}
.apt-loc{font-size:.83rem;color:var(--ci);display:flex;align-items:center;gap:.35rem;margin-bottom:1.2rem;}
.apt-specs{display:flex;flex-wrap:wrap;gap:1.2rem;padding:1rem 0;border-top:1px solid var(--crd);border-bottom:1px solid var(--crd);margin-bottom:1.2rem;}
.spec{font-size:.83rem;font-weight:700;color:var(--pr);}
.apt-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.5rem;}
.tag{background:var(--cr);border:1px solid var(--crd);border-radius:20px;padding:.25rem .7rem;font-size:.72rem;color:var(--ci);}
h2{font-family:var(--sf);font-size:1.1rem;color:var(--pr);margin:1.8rem 0 .6rem;}
.apt-desc{font-size:.86rem;line-height:1.85;color:var(--ci);}
.map-iframe{width:100%;height:260px;border:1px solid var(--crd);border-radius:4px;display:block;margin-bottom:.5rem;}
.map-note{font-size:.73rem;color:var(--ci);margin-bottom:2rem;}
.rev-section{margin:1.8rem 0 2rem;}
.rev-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;}
.rev-score{display:flex;align-items:center;gap:.5rem;}
.stars{color:var(--oc);letter-spacing:2px;}
.score{font-family:var(--sf);font-size:1.2rem;font-weight:700;}
.count{font-size:.78rem;color:var(--ci);}
.ab-link{font-size:.73rem;color:var(--az);font-weight:600;}
.ab-link:hover{text-decoration:underline;}
.rev-wrap{display:flex;align-items:center;gap:.4rem;width:100%;min-width:0;overflow:hidden;max-width:100%;}
.rev-outer{flex:1;overflow:hidden;min-width:0;width:0;}
.rev-track{display:flex;gap:1rem;transition:transform .4s ease;will-change:transform;}
.rev-card{flex:0 0 calc(50% - .5rem);min-width:0;background:var(--cr);border:1px solid var(--crd);border-radius:8px;padding:1rem;overflow:hidden;}
.rev-top{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:.6rem;min-width:0;}
.rev-av{width:32px;height:32px;border-radius:50%;background:var(--az);color:var(--wh);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.82rem;flex-shrink:0;}
.rev-meta{flex:1;min-width:0;overflow:hidden;}
.rev-name{font-size:.82rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rev-date{font-size:.68rem;color:var(--cil);}
.rev-text{font-size:.78rem;line-height:1.7;color:var(--ci);font-style:italic;overflow-wrap:break-word;word-break:break-word;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;}
.rev-btn{width:30px;height:30px;flex-shrink:0;border-radius:50%;border:1px solid var(--crd);background:var(--wh);font-size:1rem;color:var(--ci);display:flex;align-items:center;justify-content:center;transition:all .2s;}
.rev-btn:hover{border-color:var(--az);color:var(--az);}
.rev-dots{display:flex;justify-content:center;gap:.4rem;margin-top:.7rem;}
.rev-dot{width:6px;height:6px;border-radius:50%;background:var(--crd);border:none;padding:0;cursor:pointer;transition:background .2s;}
.rev-dot.on{background:var(--az);}
.bcard{position:sticky;top:80px;border:1px solid var(--crd);border-radius:8px;overflow:hidden;box-shadow:0 8px 40px rgba(28,28,26,.08);}
.bcard-head{background:var(--azd);padding:1.2rem 1.4rem;color:var(--wh);}
.price-row-h{display:flex;align-items:baseline;gap:.3rem;margin-bottom:.2rem;}
.p-from{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;opacity:.6;}
.p-amt{font-family:var(--sf);font-size:1.8rem;}
.p-night{font-size:.76rem;opacity:.7;}
.p-note{font-size:.68rem;opacity:.5;}
.bcard-body{padding:1rem 1.2rem;}
.cal-title{font-family:var(--sf);font-size:.95rem;font-weight:700;color:var(--pr);margin-bottom:.8rem;}
.dates-row{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--crd);border-radius:4px;overflow:hidden;margin-bottom:.8rem;}
.date-field{padding:.55rem .7rem;cursor:pointer;}
.date-field:first-child{border-right:1px solid var(--crd);}
.df-label{font-size:.57rem;letter-spacing:.15em;text-transform:uppercase;color:var(--cil);margin-bottom:.12rem;}
.df-val{font-size:.78rem;font-weight:600;color:var(--pr);}
.df-val.empty{color:var(--cil);font-weight:400;}
.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem;}
.cal-lbl{font-size:.82rem;font-weight:700;color:var(--pr);}
.cal-arr{background:none;border:1px solid var(--crd);border-radius:50%;width:24px;height:24px;font-size:.85rem;color:var(--ci);display:flex;align-items:center;justify-content:center;transition:all .2s;}
.cal-arr:hover{background:var(--cr);color:var(--az);}
.cgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;text-align:center;}
.cdow{font-size:.58rem;font-weight:700;text-transform:uppercase;color:var(--cil);padding:.22rem 0;}
.cday{padding:.2rem .05rem;border-radius:3px;cursor:pointer;transition:background .12s;}
.cday:hover:not(.occ):not(.past){background:var(--cr);}
.dn{font-size:.73rem;font-weight:500;display:block;color:var(--pr);}
.dp{font-size:.5rem;color:var(--oc);font-weight:600;display:block;line-height:1;}
.cday.occ{opacity:.28;cursor:not-allowed;}.cday.occ .dp,.cday.past .dp{display:none;}
.cday.past .dn{color:var(--crd);}.cday.past{cursor:default;}
.cday.s0{background:var(--az);border-radius:3px 0 0 3px;}.cday.s1{background:var(--az);border-radius:0 3px 3px 0;}
.cday.s0 .dn,.cday.s1 .dn{color:var(--wh);font-weight:700;}.cday.s0 .dp,.cday.s1 .dp{color:rgba(255,255,255,.8);}
.cday.rng{background:var(--cr);border-radius:0;}.cday.emp{cursor:default;}
.loading{text-align:center;padding:1.5rem;color:var(--cil);font-size:.75rem;}
.spin{width:16px;height:16px;border:2px solid var(--crd);border-top-color:var(--az);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto .4rem;}
@keyframes spin{to{transform:rotate(360deg);}}
.guests-row{display:flex;align-items:center;justify-content:space-between;padding:.65rem 0;border-top:1px solid var(--crd);margin-top:.6rem;}
.g-label{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cil);}
.g-ctrl{display:flex;align-items:center;gap:.65rem;}
.g-btn{width:24px;height:24px;border:1px solid var(--crd);border-radius:50%;background:none;font-size:.95rem;color:var(--ci);display:flex;align-items:center;justify-content:center;transition:all .2s;}
.g-btn:hover{border-color:var(--az);color:var(--az);}
#gcA,#gcB{font-size:.85rem;font-weight:700;min-width:16px;text-align:center;}
.summary{border-top:1px solid var(--crd);margin-top:.6rem;padding-top:.6rem;display:none;}
.summary.on{display:block;}
.s-row{display:flex;justify-content:space-between;font-size:.76rem;color:var(--ci);margin-bottom:.3rem;}
.s-row.total{font-weight:700;color:var(--pr);font-size:.85rem;padding-top:.5rem;border-top:1px solid var(--crd);margin-top:.3rem;}
.btn-res{width:100%;background:var(--oc);color:var(--wh);border:none;padding:.85rem;border-radius:4px;font-size:.76rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-top:.7rem;transition:background .2s;display:block;}
.btn-res:hover{background:var(--ocl);}.btn-res:disabled{background:var(--crd);color:var(--cil);cursor:not-allowed;}
.book-note{text-align:center;font-size:.65rem;color:var(--cil);margin-top:.5rem;}
.mcal{display:none;border:1px solid var(--crd);border-radius:8px;padding:1.2rem;margin-bottom:1.5rem;}
.mbar{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--wh);border-top:1px solid var(--crd);padding:.75rem 1rem;z-index:200;box-shadow:0 -4px 20px rgba(0,0,0,.07);align-items:center;gap:1rem;}
.mb-price{font-family:var(--sf);font-size:1.15rem;font-weight:700;}
.mb-sub{font-size:.65rem;color:var(--cil);}
.mb-btn{background:var(--oc);color:var(--wh);border:none;padding:.6rem 1.2rem;border-radius:4px;font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;}
.mb-btn:hover{background:var(--ocl);}
footer{background:var(--azd);color:var(--wh);padding:2.5rem 2rem;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;align-items:flex-start;}
footer img{height:38px;display:block;opacity:.85;filter:brightness(0) invert(1);}
.ft-alep{font-size:.72rem;color:rgba(255,255,255,.4);margin-top:.4rem;}
.ft-links{list-style:none;display:flex;flex-wrap:wrap;gap:.8rem;}
.ft-links a{font-size:.75rem;color:rgba(255,255,255,.5);transition:color .2s;}
.ft-links a:hover{color:var(--wh);}
.ft-copy{font-size:.68rem;color:rgba(255,255,255,.3);margin-top:.3rem;}
.ft-copy a{color:rgba(255,255,255,.25);}
.whatsapp-float{position:fixed;bottom:2rem;right:1.8rem;z-index:999;background:#25D366;color:#fff;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 6px 24px rgba(37,211,102,.45);transition:transform .3s,box-shadow .3s;}
.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 10px 32px rgba(37,211,102,.55);}
@media(max-width:900px){
  #navbar{padding:1.1rem 1.5rem;height:auto;}
  #navbar .nav-links{display:none;}.hamburger{display:flex!important;}
  .mob-menu{top:72px;}
  .gallery{height:260px;margin-top:72px;}
  .wrap{grid-template-columns:1fr;gap:0;padding:1.2rem 1rem 5rem;}
  .bcard{display:none;}.mcal{display:block;}.mbar{display:flex;}
  .rev-card{flex:0 0 100%;max-width:100%;}.rev-btn{display:none;}
  h1{font-size:1.5rem;}
  footer{flex-direction:column;gap:1.2rem;padding:2rem 1.2rem;}
}
