
:root{
  --bg:#080706; --panel:#11110f; --panel2:#171512;
  --gold:#d9a94e; --gold2:#f2cd7a; --cream:#f8f0df;
  --wine:#651f27; --muted:#c8bdab; --line:rgba(226,181,91,.55);
  --shadow:0 18px 50px rgba(0,0,0,.42);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#070604}
body{
  margin:0; color:var(--cream); background:
  radial-gradient(circle at 50% -20%,rgba(120,63,21,.26),transparent 36rem),
  linear-gradient(180deg,#120b07 0,#080706 42%,#070604 100%);
  font-family:Arial,Helvetica,sans-serif;
  min-height:100vh; padding-bottom:86px;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.serif{font-family:Georgia,"Times New Roman",serif}
.script{font-family:"Brush Script MT","Segoe Script",cursive}
.shell{width:min(1100px,100%);margin:auto}
.topbar{
  position:sticky;top:0;z-index:50;height:64px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 18px;background:rgba(8,7,6,.88);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(226,181,91,.22)
}
.brand-mini{display:flex;align-items:center;gap:10px}
.brand-mini img{width:50px;height:50px;object-fit:contain}
.brand-mini span{font-family:Georgia,serif;color:var(--gold2);font-size:18px}
.hamburger,.lang{
  border:0;background:transparent;color:var(--gold2);font-size:27px;padding:8px
}
.lang{font-size:16px}
.hero{
  min-height:620px;position:relative;display:flex;align-items:flex-end;justify-content:center;
  background:
    linear-gradient(180deg,rgba(0,0,0,.16),rgba(0,0,0,.18) 34%,rgba(4,3,2,.94) 100%),
    url("imagenes/portada/hero.webp") center/cover no-repeat;
  overflow:hidden
}
.hero-content{text-align:center;width:min(760px,94%);padding:42px 18px 58px}
.hero-logo{width:min(570px,88vw);margin:0 auto 8px;filter:drop-shadow(0 12px 24px rgba(0,0,0,.55))}
.hero-kicker{letter-spacing:.27em;color:var(--gold2);font-size:13px;text-transform:uppercase}
.hero-script{font-size:clamp(32px,8vw,62px);margin:18px 0 0;color:#fff;text-shadow:0 4px 20px #000}
.section{padding:38px 20px}
.section-title{text-align:center;margin:0 0 28px}
.section-title h1,.section-title h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,7vw,64px);margin:0;color:#fff1d3}
.section-title p{margin:8px auto;color:var(--gold2);letter-spacing:.08em}
.home-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;max-width:980px;margin:auto
}
.home-card{
  min-width:0;min-height:178px;border:1.5px solid var(--gold);
  border-radius:24px;background:linear-gradient(145deg,#171715,#0c0c0b);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:14px 8px;box-shadow:var(--shadow);transition:.2s transform,.2s border-color
}
.home-card:hover{transform:translateY(-3px);border-color:var(--gold2)}
.home-card img{width:98px;height:98px;object-fit:contain;margin-bottom:4px}
.home-card strong{font-size:17px;text-align:center;font-weight:500;line-height:1.15}
.home-card small{color:var(--gold2);font-size:10px;letter-spacing:.14em;margin-top:5px}
.reserve-banner{
  max-width:980px;margin:34px auto 10px;min-height:210px;border:1.5px solid var(--gold);
  border-radius:25px;overflow:hidden;position:relative;background:
  linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.24)),
  url("imagenes/restaurante/terraza.webp") center/cover;
  display:flex;align-items:center;padding:30px
}
.reserve-banner h3{font-family:Georgia,serif;font-size:34px;margin:0 0 8px}
.reserve-banner p{font-size:25px;margin:0 0 20px}
.gold-btn,.outline-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;
  padding:14px 24px;font-weight:700;letter-spacing:.04em;border:1px solid var(--gold)
}
.gold-btn{background:linear-gradient(#f0c66f,#b8822f);color:#171009;box-shadow:0 8px 28px rgba(216,164,67,.24)}
.outline-btn{background:#10100f;color:var(--gold2)}
.bottom-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  display:grid;grid-template-columns:repeat(4,1fr);height:82px;
  background:rgba(8,9,9,.96);backdrop-filter:blur(15px);
  border-top:1px solid var(--gold);padding-bottom:env(safe-area-inset-bottom)
}
.bottom-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-right:1px solid rgba(217,169,78,.24)}
.bottom-action:last-child{border-right:0}
.bottom-action svg{width:25px;height:25px;stroke:var(--gold2);fill:none;stroke-width:1.8}
.bottom-action span{font-size:12px}
.panel{
  background:linear-gradient(145deg,rgba(25,24,21,.97),rgba(10,10,9,.97));
  border:1px solid var(--gold);border-radius:22px;box-shadow:var(--shadow)
}
.page-hero{
  min-height:300px;display:flex;align-items:flex-end;justify-content:center;text-align:center;padding:30px 18px;
  background:linear-gradient(180deg,rgba(0,0,0,.24),rgba(0,0,0,.8)),url("imagenes/portada/hero.webp") center/cover
}
.page-hero h1{font-family:Georgia,serif;font-size:clamp(44px,9vw,74px);font-weight:400;margin:0}
.page-hero p{font-size:26px;margin:10px 0 0}
.menu-section{padding:24px;margin-bottom:22px}
.menu-section h2{font-family:Georgia,serif;color:var(--gold2);font-size:34px;font-weight:400;margin:0 0 18px}
.menu-item{display:grid;grid-template-columns:140px 1fr auto;gap:18px;align-items:center;padding:13px 0;border-top:1px solid rgba(217,169,78,.18)}
.menu-item:first-of-type{border-top:0}
.menu-item img{width:140px;height:95px;object-fit:cover;border-radius:14px;border:1px solid var(--gold)}
.menu-item h3{font-family:Georgia,serif;margin:0 0 4px;font-size:22px;font-weight:400}
.menu-item p{margin:0;color:var(--muted);line-height:1.45}
.price{color:var(--gold2);font-family:Georgia,serif;font-size:22px;white-space:nowrap}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
.field label{color:var(--gold2);font-family:Georgia,serif;font-size:18px}
.field input,.field select,.field textarea{
  width:100%;border:1px solid var(--gold);border-radius:15px;background:#101110;color:#fff;
  padding:14px 15px;outline:none
}
.field textarea{min-height:120px;resize:vertical}
.form-card{padding:24px;max-width:760px;margin:auto}
.note{padding:14px 16px;border-left:3px solid var(--gold);background:rgba(217,169,78,.08);color:var(--muted);margin:18px 0;border-radius:8px}
.result{display:none;margin-top:15px;padding:14px;border-radius:12px}
.result.ok{display:block;background:#0e3c27;border:1px solid #3b9b6b}
.result.err{display:block;background:#491c1f;border:1px solid #a55258}
.filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:24px}
.filter{border:1px solid var(--gold);background:#111;color:#eee;border-radius:999px;padding:10px 18px}
.filter.active{background:linear-gradient(#f0c66f,#b8822f);color:#161009}
.gallery-grid{columns:3 250px;column-gap:14px}
.gallery-grid figure{break-inside:avoid;margin:0 0 14px}
.gallery-grid img{width:100%;border-radius:18px;border:1px solid var(--gold);cursor:zoom-in}
.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.video-card{overflow:hidden}
.video-thumb{height:220px;background-size:cover;background-position:center;position:relative}
.play{
  position:absolute;inset:0;margin:auto;width:70px;height:70px;border-radius:50%;
  display:grid;place-items:center;background:rgba(0,0,0,.58);border:2px solid var(--gold2);font-size:28px;color:var(--gold2)
}
.video-copy{padding:18px}
.video-copy h3{font-family:Georgia,serif;font-size:27px;margin:0 0 8px;font-weight:400}
.video-copy p{color:var(--muted);margin:0}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.story-card{overflow:hidden}
.story-card img{width:100%;height:250px;object-fit:cover}
.story-card div{padding:20px}
.story-card h3{font-family:Georgia,serif;color:var(--gold2);font-size:28px;margin:0 0 8px}
.story-card p{color:#ddd;line-height:1.6}
.chef-layout{display:grid;grid-template-columns:minmax(280px,.85fr) 1.15fr;gap:24px;align-items:stretch}
.chef-photo{overflow:hidden}
.chef-photo img{width:100%;height:100%;object-fit:cover}
.chef-copy{padding:28px}
.chef-copy h2{font-family:Georgia,serif;color:var(--gold2);font-size:38px;font-weight:400;margin-top:0}
.badges{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.badge{border:1px solid var(--gold);padding:15px;border-radius:16px;text-align:center;color:var(--gold2)}
.reviews{display:grid;gap:16px}
.review{padding:20px}
.review .stars{color:var(--gold2);letter-spacing:2px}
.review blockquote{font-family:Georgia,serif;font-style:italic;font-size:21px;margin:10px 0}
.review footer{color:var(--muted)}
.social-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}
.social{padding:22px;text-align:center}
.social strong{display:block;font-size:20px;margin-top:8px}
.social-mark{font-size:42px;color:var(--gold2)}
.modal{
  position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.76);display:none;align-items:center;justify-content:center;padding:22px
}
.modal.open{display:flex}
.modal-card{position:relative;width:min(520px,100%);padding:30px;text-align:center}
.modal-close{position:absolute;right:14px;top:10px;background:transparent;border:0;color:var(--gold2);font-size:34px}
.qr-demo{width:260px;max-width:80%;margin:20px auto;border-radius:22px}
.nav-drawer{
  position:fixed;inset:0 auto 0 0;width:min(350px,88vw);z-index:90;
  transform:translateX(-102%);transition:.25s;background:#0b0a09;border-right:1px solid var(--gold);
  padding:82px 24px 24px
}
.nav-drawer.open{transform:none}
.nav-drawer a{display:block;padding:13px 4px;border-bottom:1px solid rgba(217,169,78,.18);font-family:Georgia,serif;font-size:22px}
.overlay{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.55);display:none}
.overlay.open{display:block}
.lightbox img{max-height:82vh;max-width:92vw;border-radius:18px;border:1px solid var(--gold)}
.footer-space{height:20px}
@media(max-width:700px){
  .hero{min-height:520px}
  .home-grid{gap:12px}
  .home-card{min-height:138px;border-radius:18px;padding:9px 5px}
  .home-card img{width:72px;height:72px}
  .home-card strong{font-size:13px}
  .reserve-banner{min-height:180px;padding:20px}
  .reserve-banner h3{font-size:28px}.reserve-banner p{font-size:20px}
  .section{padding:28px 14px}
  .menu-item{grid-template-columns:92px 1fr;gap:12px}
  .menu-item img{width:92px;height:82px}
  .price{grid-column:2;font-size:18px}
  .form-grid,.story-grid,.chef-layout,.video-grid{grid-template-columns:1fr}
  .gallery-grid{columns:2 140px}
  .social-grid{grid-template-columns:repeat(2,1fr)}
  .badges{grid-template-columns:1fr}
}
@media(max-width:390px){
  .home-grid{gap:8px}
  .home-card{min-height:124px}
  .home-card img{width:63px;height:63px}
  .home-card strong{font-size:12px}
}
