
:root{
  --cream:#f8f2e8;--paper:#fffaf2;--ink:#26321f;--muted:#6e6a5e;--green:#284424;--green-2:#3f5c33;--terra:#b4623d;--line:rgba(71,54,32,.16);--shadow:0 20px 50px rgba(49,35,18,.12);--radius:24px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 42px));margin:0 auto}.serif{font-family:Georgia,"Times New Roman",serif}.topbar{position:sticky;top:0;z-index:20;background:rgba(255,250,242,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;flex-direction:column;line-height:.85;letter-spacing:.08em;color:var(--green)}.brand strong{font-family:Georgia,"Times New Roman",serif;font-size:42px}.brand span{font-size:13px;color:var(--terra);letter-spacing:.06em;font-weight:700}.links{display:flex;align-items:center;gap:34px;font-size:14px}.links a{position:relative}.links a:after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;background:var(--green);transform:scaleX(0);opacity:0;transition:transform .22s ease,opacity .22s ease}.links a.is-active:after,.links a:hover:after,.links a:focus-visible:after{transform:scaleX(1);opacity:1}.links a.is-active{font-weight:800;color:var(--green)}.wa{display:inline-flex;align-items:center;gap:9px;border-radius:14px;background:var(--green);color:#fff;padding:13px 18px;font-weight:700;box-shadow:0 10px 22px rgba(40,68,36,.22)}.hero{position:relative;overflow:hidden;background:linear-gradient(90deg,var(--paper) 0%,var(--paper) 42%,transparent 72%),url('../img/hero.webp') center right/cover no-repeat;min-height:610px}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,242,232,.96) 0%,rgba(248,242,232,.86) 39%,rgba(248,242,232,.18) 64%,rgba(0,0,0,.18) 100%);pointer-events:none}.hero .container{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,560px) 1fr;min-height:610px;align-items:center}.eyebrow{color:var(--terra);font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:800}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(54px,7vw,92px);line-height:.95;margin:18px 0;color:var(--green);letter-spacing:-.055em}.hero h1 em{font-style:normal;color:var(--terra)}.hero p{font-size:19px;line-height:1.55;color:#50483d;width:min(490px,100%)}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:14px;padding:14px 20px;font-weight:800;border:1px solid transparent}.btn-primary{background:var(--green);color:white;box-shadow:0 12px 28px rgba(40,68,36,.22)}.btn-light{background:rgba(255,255,255,.72);border-color:rgba(40,68,36,.24)}.btn-link{color:var(--terra);padding-inline:8px}.rating{position:absolute;right:8%;bottom:48px;z-index:2;background:rgba(255,250,242,.92);border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow);border-radius:20px;padding:17px 18px;text-align:center;min-width:155px}.rating b{display:block;color:var(--green)}.stars{color:#c77a2c;letter-spacing:.05em}.trust{transform:translateY(-34px);position:relative;z-index:3}.trust-card{background:rgba(255,250,242,.94);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}.trust-item{padding:25px 24px;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;border-right:1px solid var(--line)}.trust-item:last-child{border-right:0}.icon{width:42px;height:42px;border:1px solid rgba(180,98,61,.28);border-radius:50%;display:grid;place-items:center;color:var(--terra);font-weight:900}.trust-item h3{margin:0 0 4px;font-family:Georgia,"Times New Roman",serif;font-size:18px}.trust-item p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.section{padding:34px 0}.section-title{text-align:center;margin-bottom:26px}.section-title span{display:block;color:var(--terra);font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:800}.section-title h2{font-family:Georgia,"Times New Roman",serif;font-size:43px;line-height:1;margin:8px 0;color:var(--green);letter-spacing:.05em}.rooms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.room-card,.house-card,.review-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:0 16px 35px rgba(49,35,18,.08);overflow:hidden}.room-card img{height:236px;width:100%;object-fit:cover}.room-card .body{padding:23px}.room-card h3,.house-card h3{font-family:Georgia,"Times New Roman",serif;font-size:28px;margin:0 0 12px;color:var(--green)}.meta{display:flex;flex-wrap:wrap;gap:14px;color:#7b6048;font-size:13px;font-weight:700}.room-card p{color:#5b554b;line-height:1.55;margin:16px 0 20px}.mini-btn{border:1px solid rgba(180,98,61,.42);border-radius:10px;padding:10px 14px;color:#8d4529;background:#fff8ed;font-weight:800;display:inline-flex;gap:12px}.houses{background:linear-gradient(180deg,rgba(63,92,51,.08),rgba(63,92,51,0));padding-top:45px}.houses-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.house-card{display:grid;grid-template-columns:1.3fr .85fr;min-height:286px}.house-card img{height:100%;width:100%;object-fit:cover}.house-card .body{padding:30px}.house-card ul{list-style:none;margin:0 0 22px;padding:0;color:#5b554b;line-height:1.8}.why{padding:34px 0 26px}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--line)}.why-item{background:var(--cream);padding:28px 24px;display:grid;grid-template-columns:42px 1fr;gap:14px}.why-item h3{margin:0 0 4px;font-family:Georgia,"Times New Roman",serif;font-size:18px}.why-item p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.restaurant{display:grid;grid-template-columns:.9fr 1.5fr;align-items:stretch;background:#191611;color:#fff;margin-top:24px}.restaurant .copy{padding:46px 7vw 46px max(42px,calc((100vw - 1180px)/2));background:linear-gradient(90deg,#221d16,#15120f)}.restaurant img{width:100%;height:100%;object-fit:cover}.restaurant .eyebrow{color:#d69d6a}.restaurant h2{font-family:Georgia,"Times New Roman",serif;font-size:42px;margin:8px 0 16px}.restaurant p{color:#eadfd2;line-height:1.6}.gallery-reviews{padding:44px 0 58px}.split{display:grid;grid-template-columns:1fr 1fr;gap:40px}.gallery-row{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.gallery-row img{height:112px;width:100%;object-fit:cover;border-radius:14px;border:1px solid var(--line)}.reviews-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.review-card{padding:24px}.quote{font-family:Georgia,"Times New Roman",serif;font-size:40px;color:#c69a70;line-height:0}.footer{background:var(--green);color:#f8f2e8;padding:44px 0 24px}.footer-grid{display:grid;grid-template-columns:1.1fr .9fr 1fr 1.25fr;gap:36px}.footer h3{color:#d6b38a;letter-spacing:.14em;font-size:13px}.footer p,.footer a{color:#e6dccd}.map{height:130px;border-radius:18px;background:linear-gradient(135deg,#e4ddd1,#fff5e8);display:grid;place-items:center;color:var(--green);font-weight:800}.footline{border-top:1px solid rgba(255,255,255,.16);margin-top:28px;padding-top:18px;font-size:12px;color:#d1c6b8;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media(max-width:900px){.links{display:none}.nav{height:70px}.brand strong{font-size:34px}.hero,.hero .container{min-height:650px}.hero{background-position:center}.hero .container{grid-template-columns:1fr}.hero:after{background:rgba(248,242,232,.72)}.rating{display:none}.trust{transform:none;margin-top:18px}.trust-card,.rooms-grid,.houses-grid,.why-grid,.split,.footer-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid var(--line)}.house-card{grid-template-columns:1fr}.restaurant{grid-template-columns:1fr}.restaurant .copy{padding:34px 24px}.container{width:min(100% - 26px,1180px)}.hero h1{font-size:52px}.section-title h2{font-size:34px}.rooms-grid{gap:18px}.room-card img{height:205px}}

/* AIRA v1.13 · hero buttons visible */
html body .hero{
  padding-bottom: 86px !important;
}
html body .hero .container{
  z-index: 8 !important;
}
html body .hero .actions{
  position: relative !important;
  z-index: 12 !important;
  margin-bottom: 28px !important;
}
html body .trust{
  transform: translateY(-26px) !important;
  z-index: 4 !important;
}
@media (max-width: 820px){
  html body .hero{
    padding-bottom: 38px !important;
  }
  html body .trust{
    transform: translateY(0) !important;
    margin-top: 18px !important;
  }
}


/* AIRA v1.13 · gallery modal */
.aira-gallery-modal{
  position:fixed;
  inset:0;
  z-index:20000;
  display:none;
}
.aira-gallery-modal.is-open{
  display:block;
}
.aira-gallery-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,12,9,.68);
  backdrop-filter:blur(8px);
}
.aira-gallery-panel{
  position:relative;
  width:min(1120px, calc(100% - 24px));
  max-height:calc(100vh - 36px);
  margin:18px auto;
  background:#fffaf2;
  border-radius:24px;
  box-shadow:0 24px 80px rgba(0,0,0,.35);
  overflow:hidden;
  border:1px solid rgba(71,54,32,.16);
}
.aira-gallery-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:22px 24px 16px;
  border-bottom:1px solid rgba(71,54,32,.14);
  background:linear-gradient(180deg,#fffaf2,#f8f2e8);
}
.aira-gallery-head h2{
  margin:0;
  color:#284424;
  font-family:Georgia,"Times New Roman",serif;
  font-size:34px;
  line-height:1.05;
}
.aira-gallery-head p{
  margin:6px 0 0;
  color:#6e6a5e;
  max-width:680px;
}
.aira-gallery-close{
  width:42px;
  height:42px;
  border:0;
  border-radius:999px;
  background:#284424;
  color:#fff;
  font-size:24px;
  line-height:1;
  cursor:pointer;
  flex:0 0 auto;
}
.aira-gallery-body{
  padding:20px 24px 26px;
  max-height:calc(100vh - 150px);
  overflow:auto;
}
.aira-gallery-group{
  margin-bottom:28px;
}
.aira-gallery-group h3{
  margin:0 0 12px;
  color:#b4623d;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:13px;
}
.aira-gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.aira-gallery-card{
  background:#fff;
  border:1px solid rgba(71,54,32,.13);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(49,35,18,.08);
}
.aira-gallery-card img{
  width:100%;
  height:170px;
  object-fit:cover;
  display:block;
  background:#eee;
}
.aira-gallery-caption{
  padding:10px 12px 12px;
}
.aira-gallery-caption strong{
  display:block;
  color:#284424;
  font-size:14px;
}
.aira-gallery-caption span{
  display:block;
  color:#6e6a5e;
  font-size:12px;
  margin-top:3px;
}
body.aira-gallery-lock{
  overflow:hidden;
}
@media(max-width:900px){
  .aira-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:560px){
  .aira-gallery-panel{
    width:calc(100% - 14px);
    margin:7px auto;
    border-radius:18px;
  }
  .aira-gallery-head{
    padding:18px 16px 12px;
  }
  .aira-gallery-head h2{
    font-size:26px;
  }
  .aira-gallery-body{
    padding:16px;
    max-height:calc(100vh - 132px);
  }
  .aira-gallery-grid{
    grid-template-columns:1fr;
  }
  .aira-gallery-card img{
    height:210px;
  }
}



/* AIRA v1.14 · hero buttons visible */
html body .hero{
  padding-bottom: 92px !important;
}
html body .hero .container{
  z-index: 8 !important;
}
html body .hero .actions{
  position: relative !important;
  z-index: 20 !important;
  margin-bottom: 34px !important;
}
html body .hero .btn{
  cursor:pointer !important;
}
html body .trust{
  transform: translateY(-18px) !important;
  z-index: 3 !important;
}
@media (max-width: 820px){
  html body .hero{
    padding-bottom: 34px !important;
  }
  html body .trust{
    transform: translateY(0) !important;
    margin-top: 18px !important;
  }
}


/* AIRA v1.16 · asador ancho completo + banner +20% */
html body section.restaurant.restaurant-strip-low#restaurante{
  display:grid !important;
  grid-template-columns: .64fr 1.36fr !important;
  width:100vw !important;
  max-width:100vw !important;
  margin:22px calc(50% - 50vw) 0 calc(50% - 50vw) !important;
  padding:0 !important;
  height:480px !important;
  min-height:480px !important;
  max-height:480px !important;
  overflow:hidden !important;
  border-radius:0 !important;
  background:#191611 !important;
  color:#fff !important;
}
html body section.restaurant.restaurant-strip-low#restaurante .restaurant-copy{
  height:480px !important;
  min-height:480px !important;
  max-height:480px !important;
  padding:38px 46px 38px max(42px, calc((100vw - 1180px)/2)) !important;
  background:linear-gradient(90deg,#221d16,#15120f) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  min-width:0 !important;
}
html body section.restaurant.restaurant-strip-low#restaurante .restaurant-copy .eyebrow{
  color:#d69d6a !important;
  font-size:13px !important;
  letter-spacing:.18em !important;
  margin:0 0 8px !important;
}
html body section.restaurant.restaurant-strip-low#restaurante h2{
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:54px !important;
  line-height:.98 !important;
  margin:0 0 14px !important;
  max-width:440px !important;
}
html body section.restaurant.restaurant-strip-low#restaurante p{
  color:#eadfd2 !important;
  font-size:18px !important;
  line-height:1.45 !important;
  margin:0 0 18px !important;
  max-width:500px !important;
}
html body section.restaurant.restaurant-strip-low#restaurante .btn{
  padding:12px 20px !important;
  border-radius:13px !important;
  font-size:15px !important;
}
html body section.restaurant.restaurant-strip-low#restaurante .restaurant-image{
  width:100% !important;
  height:480px !important;
  min-height:480px !important;
  max-height:480px !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
}
html body section.restaurant.restaurant-strip-low#restaurante .restaurant-image img,
html body section.restaurant.restaurant-strip-low#restaurante img{
  width:100% !important;
  height:480px !important;
  min-height:480px !important;
  max-height:480px !important;
  object-fit:cover !important;
  object-position:center 54% !important;
  display:block !important;
}
@media (max-width: 820px){
  html body section.restaurant.restaurant-strip-low#restaurante{
    grid-template-columns:1fr !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    width:100% !important;
    max-width:100% !important;
    margin:20px 0 0 0 !important;
  }
  html body section.restaurant.restaurant-strip-low#restaurante .restaurant-copy{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    padding:26px 22px !important;
  }
  html body section.restaurant.restaurant-strip-low#restaurante h2{
    font-size:36px !important;
  }
  html body section.restaurant.restaurant-strip-low#restaurante p{
    font-size:15px !important;
  }
  html body section.restaurant.restaurant-strip-low#restaurante .restaurant-image,
  html body section.restaurant.restaurant-strip-low#restaurante .restaurant-image img,
  html body section.restaurant.restaurant-strip-low#restaurante img{
    height:312px !important;
    min-height:312px !important;
    max-height:312px !important;
  }
}


/* AIRA v1.14 · lodging + gallery modals */
.aira-modal{
  position:fixed;
  inset:0;
  z-index:30000;
  display:none;
}
.aira-modal.is-open{
  display:block;
}
.aira-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,12,9,.68);
  backdrop-filter:blur(8px);
}
.aira-modal-panel{
  position:relative;
  width:min(1120px, calc(100% - 24px));
  max-height:calc(100vh - 36px);
  margin:18px auto;
  background:#fffaf2;
  border-radius:24px;
  box-shadow:0 24px 80px rgba(0,0,0,.35);
  overflow:hidden;
  border:1px solid rgba(71,54,32,.16);
}
.aira-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:22px 24px 16px;
  border-bottom:1px solid rgba(71,54,32,.14);
  background:linear-gradient(180deg,#fffaf2,#f8f2e8);
}
.aira-modal-head h2{
  margin:0;
  color:#284424;
  font-family:Georgia,"Times New Roman",serif;
  font-size:34px;
  line-height:1.05;
}
.aira-modal-head p{
  margin:6px 0 0;
  color:#6e6a5e;
  max-width:760px;
}
.aira-modal-close{
  width:42px;
  height:42px;
  border:0;
  border-radius:999px;
  background:#284424;
  color:#fff;
  font-size:24px;
  line-height:1;
  cursor:pointer;
  flex:0 0 auto;
}
.aira-modal-body{
  padding:20px 24px 26px;
  max-height:calc(100vh - 150px);
  overflow:auto;
}
body.aira-modal-lock{
  overflow:hidden;
}

/* Lodging selector */
.aira-lodging-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.aira-lodging-card{
  background:#fff;
  border:1px solid rgba(71,54,32,.13);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 12px 28px rgba(49,35,18,.08);
  display:flex;
  flex-direction:column;
}
.aira-lodging-card img{
  width:100%;
  height:168px;
  object-fit:cover;
  display:block;
}
.aira-lodging-card .body{
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
}
.aira-lodging-card h3{
  margin:0;
  color:#284424;
  font-family:Georgia,"Times New Roman",serif;
  font-size:24px;
}
.aira-lodging-meta{
  color:#7b6048;
  font-size:13px;
  font-weight:800;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.aira-lodging-card p{
  margin:0;
  color:#5b554b;
  line-height:1.45;
  font-size:14px;
}
.aira-lodging-card a{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  border-radius:12px;
  background:#284424;
  color:#fff;
  text-decoration:none;
  font-weight:850;
}

/* Gallery */
.aira-gallery-group{
  margin-bottom:28px;
}
.aira-gallery-group h3{
  margin:0 0 12px;
  color:#b4623d;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:13px;
}
.aira-gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.aira-gallery-card{
  background:#fff;
  border:1px solid rgba(71,54,32,.13);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(49,35,18,.08);
}
.aira-gallery-card img{
  width:100%;
  height:170px;
  object-fit:cover;
  display:block;
  background:#eee;
}
.aira-gallery-caption{
  padding:10px 12px 12px;
}
.aira-gallery-caption strong{
  display:block;
  color:#284424;
  font-size:14px;
}
.aira-gallery-caption span{
  display:block;
  color:#6e6a5e;
  font-size:12px;
  margin-top:3px;
}
@media(max-width:980px){
  .aira-lodging-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .aira-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:560px){
  .aira-modal-panel{
    width:calc(100% - 14px);
    margin:7px auto;
    border-radius:18px;
  }
  .aira-modal-head{
    padding:18px 16px 12px;
  }
  .aira-modal-head h2{
    font-size:26px;
  }
  .aira-modal-body{
    padding:16px;
    max-height:calc(100vh - 132px);
  }
  .aira-lodging-grid,
  .aira-gallery-grid{
    grid-template-columns:1fr;
  }
  .aira-lodging-card img,
  .aira-gallery-card img{
    height:210px;
  }
}



/* AIRA v1.15 · gallery lightbox */
.aira-gallery-card img{
  cursor: zoom-in;
}
.aira-lightbox{
  position: fixed;
  inset: 0;
  z-index: 50000;
  display: none;
}
.aira-lightbox.is-open{
  display: flex;
  align-items: center;
  justify-content: center;
}
.aira-lightbox-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(10,10,10,.82);
  backdrop-filter: blur(4px);
}
.aira-lightbox-panel{
  position: relative;
  width: min(1280px, calc(100% - 24px));
  height: calc(100vh - 28px);
  margin: 14px auto;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 12px;
}
.aira-lightbox-close{
  position: absolute;
  top: 4px;
  right: 4px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.aira-lightbox-figure{
  margin: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.aira-lightbox-figure img{
  max-width: 100%;
  max-height: calc(100vh - 110px);
  object-fit: contain;
  border-radius: 18px;
  box-shadow: 0 18px 70px rgba(0,0,0,.45);
  background: #111;
}
.aira-lightbox-caption{
  color: #fffaf2;
  text-align: center;
  font-size: 15px;
  line-height: 1.4;
  max-width: 900px;
}
@media(max-width:560px){
  .aira-lightbox-panel{
    width: calc(100% - 12px);
    height: calc(100vh - 12px);
    margin: 6px auto;
  }
  .aira-lightbox-figure img{
    max-height: calc(100vh - 140px);
  }
  .aira-lightbox-caption{
    font-size: 14px;
  }
}


/* AIRA v1.18 · servicios, normas, maps premium, carrusel restaurante y carta */
html body .house-premium{padding:42px 0 22px;}
html body .house-premium-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;}
html body .house-premium-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:0 16px 38px rgba(49,35,18,.08);padding:26px;}
html body .house-premium-card h2,html body .house-premium-card h3{font-family:Georgia,"Times New Roman",serif;color:var(--green);margin:0 0 12px;}
html body .house-premium-card h2{font-size:34px;line-height:1.05;}
html body .house-premium-card p{color:#5b554b;line-height:1.55;margin:0 0 18px;}
html body .feature-pill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
html body .feature-pill{display:flex;align-items:center;gap:9px;background:#fff8ed;border:1px solid rgba(180,98,61,.18);border-radius:14px;padding:11px 12px;font-weight:750;color:#4d473f;font-size:14px;}
html body .feature-pill b{color:var(--terra);font-size:15px;}
html body .rules-layout{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;}
html body .rules-box{background:#fff;border:1px solid rgba(71,54,32,.13);border-radius:18px;padding:16px;}
html body .rules-box h3{font-size:23px;margin-bottom:8px;}
html body .rules-box ul{list-style:none;padding:0;margin:0;color:#5b554b;line-height:1.8;font-size:14px;}
html body .rules-box li:before{content:"✓";color:var(--terra);font-weight:900;margin-right:8px;}
html body .rules-layout.rules-unified{grid-template-columns:1fr !important;}
html body .rules-box.rules-box-wide{padding:18px 20px;}
html body .rules-box.rules-box-wide ul{font-size:15px;line-height:1.75;}

html body .location-hub{padding:48px 0 18px;}
html body .location-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:stretch;}
html body .map-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:0 16px 38px rgba(49,35,18,.08);overflow:hidden;}
html body .map-copy{padding:24px 24px 22px;}
html body .map-copy h2, html body .map-copy h3{font-family:Georgia,"Times New Roman",serif;color:var(--green);margin:0 0 10px;}
html body .map-copy p{color:#5b554b;line-height:1.55;margin:0 0 15px;}
html body .map-embed iframe{display:block;width:100%;height:360px;border:0;}
html body .location-side{display:grid;grid-template-columns:1fr;gap:14px;}
html body .location-mini{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 12px 28px rgba(49,35,18,.06);}
html body .location-mini strong{display:block;font-family:Georgia,"Times New Roman",serif;color:var(--green);font-size:22px;margin-bottom:4px;}
html body .location-mini span{display:block;color:#6e6a5e;line-height:1.5;font-size:14px;margin-bottom:10px;}
html body .location-mini iframe{width:100%;height:170px;border:0;border-radius:16px;margin-top:12px;}
html body .restaurant-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px;}
html body .restaurant-actions .btn{cursor:pointer;}
html body section.restaurant.restaurant-strip-low#restaurante .restaurant-image{position:relative !important;background:#0f0d0b !important;}
html body .restaurant-carousel{position:absolute;inset:0;overflow:hidden;}
html body .restaurant-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;}
html body .restaurant-slide.is-active{opacity:1;}
html body .restaurant-slide img{cursor:zoom-in;}
html body .restaurant-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.22),rgba(0,0,0,.02));pointer-events:none;}
html body .restaurant-dots{position:absolute;right:22px;bottom:18px;display:flex;gap:7px;z-index:3;}
html body .restaurant-dot{width:9px;height:9px;border-radius:999px;background:rgba(255,255,255,.45);border:0;padding:0;cursor:pointer;}
html body .restaurant-dot.is-active{background:#fff;transform:scale(1.15);}
html body .restaurant-caption{position:absolute;left:22px;bottom:17px;z-index:3;color:#fff;background:rgba(0,0,0,.38);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:10px 12px;font-weight:800;font-size:13px;}
html body .restaurant-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;}
html body .restaurant-modal-card{background:#fff;border:1px solid rgba(71,54,32,.13);border-radius:18px;padding:18px;box-shadow:0 10px 28px rgba(49,35,18,.06);}
html body .restaurant-modal-card h3{font-family:Georgia,"Times New Roman",serif;color:var(--green);font-size:25px;margin:0 0 8px;}
html body .restaurant-modal-card p,html body .restaurant-modal-card li{color:#5b554b;line-height:1.55;}
html body .restaurant-modal-card ul{margin:0;padding-left:18px;}
html body .menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
html body .aira-menu-card{background:#fff;border:1px solid rgba(71,54,32,.13);border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(49,35,18,.08);}
html body .aira-menu-card button{display:block;width:100%;border:0;background:#fff8ed;padding:0;cursor:zoom-in;}
html body .aira-menu-card img{width:100%;height:360px;object-fit:contain;background:#f3704f;}
html body .aira-menu-card h3{font-family:Georgia,"Times New Roman",serif;color:var(--green);font-size:22px;margin:14px 14px 4px;}
html body .aira-menu-card p{color:#6e6a5e;margin:0 14px 16px;font-size:13px;}
html body .footer .map{overflow:hidden;display:block;background:transparent;height:180px;}
html body .footer .map iframe{width:100%;height:180px;border:0;border-radius:18px;}
@media(max-width:900px){
  html body .house-premium-grid,html body .location-grid,html body .restaurant-modal-grid{grid-template-columns:1fr;}
  html body .rules-layout{grid-template-columns:1fr;}
  html body .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  html body .map-embed iframe{height:300px;}
}
@media(max-width:560px){
  html body .feature-pill-grid,.menu-grid{grid-template-columns:1fr;}
  html body .house-premium-card{padding:20px;}
  html body .restaurant-actions{width:100%;}
  html body .restaurant-actions .btn{width:100%;}
  html body .restaurant-caption{left:14px;right:14px;bottom:14px;text-align:center;}
  html body .restaurant-dots{right:16px;top:16px;bottom:auto;}
  html body .aira-menu-card img{height:330px;}
}

/* AIRA v1.21 · banner full-width, modal restaurante sin hueco y carta ordenada */
html body section.restaurant-premium-banner#restaurante{
  width:100vw !important;
  max-width:100vw !important;
  margin:34px 0 18px 50% !important;
  padding:0 !important;
  transform:translateX(-50%) !important;
  background:#100d0a !important;
  overflow:hidden !important;
  border-radius:0 !important;
  box-shadow:0 26px 80px rgba(37,22,10,.22) !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
  border-bottom:1px solid rgba(255,255,255,.12) !important;
  border-left:0 !important;
  border-right:0 !important;
}
html body .restaurant-premium-img{display:block !important;width:100% !important;height:auto !important;object-fit:contain !important;}
@media (max-width:820px){
  html body section.restaurant-premium-banner#restaurante{width:100vw !important;max-width:100vw !important;margin:24px 0 0 50% !important;transform:translateX(-50%) !important;border-radius:0 !important;}
  html body .restaurant-premium-inner{border-radius:0 !important;}
  html body .restaurant-premium-img{height:auto !important;min-height:0 !important;object-fit:contain !important;}
}
html body .restaurant-modal-grid{display:grid !important;grid-template-columns:minmax(0,1.05fr) minmax(0,1.3fr) minmax(280px,.9fr) !important;grid-template-areas:"asador cafe location" "menu menu gallery" !important;gap:18px !important;align-items:stretch !important;}
html body .restaurant-card-asador{grid-area:asador;}html body .restaurant-card-cafe{grid-area:cafe;}html body .restaurant-card-location{grid-area:location;}html body .restaurant-card-menu{grid-area:menu;}html body .restaurant-card-gallery{grid-area:gallery;}
html body .restaurant-modal-card{height:100%;}
html body .restaurant-card-cafe{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.92fr);gap:16px;align-items:start;}
html body .restaurant-card-cafe img{border-radius:16px;width:100%;height:100%;max-height:250px;object-fit:cover;}
html body .restaurant-card-location iframe{height:230px !important;}
html body .restaurant-card-menu .menu-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:stretch;margin-top:14px;}
html body .restaurant-card-menu .mini-menu-card{border:1px solid rgba(71,54,32,.13);border-radius:16px;background:#fff8ed;overflow:hidden;box-shadow:0 8px 20px rgba(49,35,18,.06);display:flex;flex-direction:column;}
html body .restaurant-card-menu .mini-menu-card button{border:0;background:transparent;padding:0;cursor:zoom-in;display:block;width:100%;}
html body .restaurant-card-menu .mini-menu-card img{width:100%;height:210px;object-fit:contain;background:#f3704f;display:block;}
html body .restaurant-card-menu .mini-menu-card strong{padding:10px 10px 12px;font-family:Georgia,"Times New Roman",serif;color:var(--green);font-size:16px;text-align:center;}
html body .restaurant-card-menu .mini-menu-wines{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;background:#fff2e1;}
html body .restaurant-card-menu .mini-menu-wines button{border:0;border-radius:12px;overflow:hidden;background:#fff;cursor:zoom-in;padding:0;}
html body .restaurant-card-menu .mini-menu-wines img{height:210px;}
html body .restaurant-card-menu .mini-menu-card.is-wines strong{padding-top:2px;}
html body .menu-grid.menu-grid-ordered{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;align-items:stretch;}
html body .menu-grid.menu-grid-ordered .aira-menu-card img{height:360px;}
html body .aira-menu-card.is-wines{display:flex;flex-direction:column;}
html body .aira-menu-card.is-wines .wine-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px;background:#fff8ed;}
html body .aira-menu-card.is-wines button{border-radius:14px;overflow:hidden;background:#fff;border:1px solid rgba(71,54,32,.1);}
html body .aira-menu-card.is-wines img{height:360px;}
html body .aira-menu-card.is-wines h3,html body .aira-menu-card.is-wines p{text-align:center;}
@media (max-width:1100px){html body .restaurant-modal-grid{grid-template-columns:1fr 1fr !important;grid-template-areas:"asador cafe" "location gallery" "menu menu" !important;}html body .restaurant-card-menu .menu-strip,html body .menu-grid.menu-grid-ordered{grid-template-columns:repeat(2,minmax(0,1fr));}html body .restaurant-card-menu .mini-menu-card.is-wines,html body .aira-menu-card.is-wines{grid-column:1 / -1;}}
@media (max-width:720px){html body .restaurant-modal-grid{grid-template-columns:1fr !important;grid-template-areas:"asador" "cafe" "menu" "location" "gallery" !important;}html body .restaurant-card-cafe{display:block;}html body .restaurant-card-cafe img{margin-top:12px;max-height:none;}html body .restaurant-card-menu .menu-strip,html body .menu-grid.menu-grid-ordered{grid-template-columns:1fr;}html body .restaurant-card-menu .mini-menu-wines,html body .aira-menu-card.is-wines .wine-card-grid{grid-template-columns:1fr 1fr;}html body .restaurant-card-menu .mini-menu-card img,html body .menu-grid.menu-grid-ordered .aira-menu-card img,html body .aira-menu-card.is-wines img{height:330px;}}


/* AIRA v1.23 · footer visible y enlaces legales funcionales */
html body .footer .mini-btn.footer-map-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  background:linear-gradient(180deg,#fff7e8,#ffe9cf) !important;
  color:#254923 !important;
  border:2px solid #f3b26d !important;
  box-shadow:0 10px 24px rgba(0,0,0,.18) !important;
  font-weight:900 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
html body .footer .mini-btn.footer-map-btn:hover{
  background:#ffffff !important;
  color:#1f3f1e !important;
  transform:translateY(-1px);
}
html body .footer-legal{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
}
html body .footer-legal a{
  color:#fff7e8 !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(255,247,232,.45) !important;
  font-weight:700 !important;
}
html body .footer-legal a:hover{
  color:#ffd69d !important;
  border-bottom-color:#ffd69d !important;
}
html body .footer-legal span{
  color:rgba(255,247,232,.68) !important;
}
@media(max-width:720px){
  html body .footer .mini-btn.footer-map-btn{width:auto !important;min-width:150px !important;}
  html body .footer-legal{justify-content:flex-start !important;}
}


/* AIRA v1.24 · menú superior activo */
.links a:after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;background:var(--green);transform:scaleX(0);opacity:0;transition:transform .22s ease,opacity .22s ease}.links a.is-active:after,.links a:hover:after,.links a:focus-visible:after{transform:scaleX(1);opacity:1}.links a.is-active{font-weight:800;color:var(--green)}

/* AIRA v1.34 · logo integrado + hero casa grande premium */
html body .topbar{background:rgba(255,250,242,.96) !important;}
html body .brand.brand-image{
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  min-width:0 !important;
  padding:4px 8px !important;
  border-radius:16px !important;
  background:linear-gradient(135deg,rgba(255,250,242,.98),rgba(248,242,232,.94)) !important;
  border:1px solid rgba(180,98,61,.13) !important;
  box-shadow:0 8px 22px rgba(49,35,18,.05) !important;
}
html body .brand.brand-image img{
  width:clamp(150px,15vw,230px) !important;
  height:auto !important;
  max-height:56px !important;
  object-fit:contain !important;
  display:block !important;
}
html body .hero{
  background:linear-gradient(90deg,var(--paper) 0%,var(--paper) 38%,rgba(248,242,232,.34) 66%,rgba(248,242,232,0) 100%),url('../img/hero-casa-grande-premium-v134.webp') center right/cover no-repeat !important;
}
@media(max-width:980px){
  html body .brand.brand-image{padding:4px 6px !important;border-radius:14px !important;}
  html body .brand.brand-image img{width:150px !important;max-height:46px !important;}
  html body .nav{gap:10px !important;}
}
@media(max-width:520px){
  html body .brand.brand-image img{width:132px !important;max-height:40px !important;}
  html body .brand.brand-image{padding:3px 5px !important;}
  html body .hero{
    background:linear-gradient(180deg,rgba(248,242,232,.92) 0%,rgba(248,242,232,.76) 44%,rgba(248,242,232,.18) 100%),url('../img/hero-casa-grande-premium-v134.webp') center center/cover no-repeat !important;
  }
}

