/* ===================================================================
   AMORE — Hoja de estilos compartida
   Paleta y tipografías tomadas del menú oficial (Fraunces + Jost)
   =================================================================== */

:root{
  --paper:#FCFAF5;
  --cream:#EBE5D9;
  --ink:#1C1512;
  --body:#453C32;
  --wine:#8E192B;
  --wine-deep:#661020;
  --gold:#B8934A;
  --hair:#E3DACB;
  --success:#3F7D4F;
  --max:1180px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--cream);
  font-family:'Jost',sans-serif;
  color:var(--body);
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;}

h1,h2,h3,h4{font-family:'Fraunces',serif;color:var(--wine);}

/* ---------- Botones ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.22em;
  text-transform:uppercase;font-weight:600;
  padding:16px 30px;border:1px solid var(--wine);cursor:pointer;
  transition:all .2s ease;white-space:nowrap;
}
.btn-solid{background:linear-gradient(165deg,var(--wine),var(--wine-deep));color:#F7EFE1;}
.btn-solid:hover{filter:brightness(1.08);transform:translateY(-1px);}
.btn-outline{background:none;color:var(--wine);}
.btn-outline:hover{background:var(--wine);color:#F7EFE1;}
.btn-ghost{border-color:rgba(247,239,225,.5);color:#F7EFE1;}
.btn-ghost:hover{background:rgba(247,239,225,.12);}
.btn[disabled],.btn.soon{opacity:.55;cursor:default;pointer-events:none;}

/* ---------- Header / Nav ---------- */
.site-header{
  position:sticky;top:0;z-index:100;
  background:var(--paper);
  border-bottom:1px solid var(--hair);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;}
.brand{font-family:'Fraunces',serif;font-size:26px;color:var(--wine);letter-spacing:.04em;}
.brand em{font-style:italic;}
.nav-links{display:flex;gap:34px;}
.nav-links a{
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
  color:var(--body);padding:6px 0;border-bottom:1px solid transparent;
  transition:color .2s,border-color .2s;
}
.nav-links a:hover,.nav-links a.active{color:var(--wine);border-color:var(--gold);}
.nav-cta{display:flex;align-items:center;gap:14px;}
.nav-cta .btn{padding:11px 20px;font-size:10.5px;}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.burger span{width:24px;height:2px;background:var(--wine);display:block;}

@media (max-width:900px){
  .nav-links{
    position:fixed;inset:70px 0 0 0;background:var(--paper);
    flex-direction:column;align-items:center;justify-content:center;gap:28px;
    transform:translateY(-110%);opacity:0;transition:transform .3s ease,opacity .3s ease;
    z-index:90;
  }
  .nav-links.open{transform:translateY(0);opacity:1;}
  .nav-links a{font-size:14px;}
  .burger{display:flex;}
  .nav-cta .btn:not(.nav-order){display:none;}
}

/* ---------- Hero ---------- */
.hero{
  text-align:center;padding:110px 24px 90px;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 18% 20%, rgba(184,147,74,.10), transparent 45%),
    radial-gradient(circle at 82% 75%, rgba(142,25,43,.08), transparent 45%),
    var(--cream);
}
.hero .eyebrow{
  font-size:11px;letter-spacing:.5em;text-transform:uppercase;color:var(--gold);
  font-weight:600;margin-bottom:26px;margin-right:-.5em;
}
.hero h1{
  font-weight:400;font-size:clamp(52px,10vw,104px);line-height:.95;letter-spacing:.04em;
}
.hero h1 em{font-style:italic;}
.hero p.lead{
  max-width:520px;margin:26px auto 0;font-family:'Fraunces',serif;font-style:italic;
  font-size:19px;color:var(--body);
}
.hero-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:42px;}

/* ---------- Secciones genéricas ---------- */
section{padding:88px 0;}
.section-head{text-align:center;max-width:640px;margin:0 auto 56px;}
.section-head .eyebrow{
  font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);
  font-weight:600;margin-bottom:14px;margin-right:-.4em;
}
.section-head h2{font-weight:500;font-style:italic;font-size:clamp(30px,4vw,44px);}
.section-head p{margin-top:14px;font-size:15.5px;color:var(--body);}
.divider{width:56px;height:1px;background:var(--gold);margin:24px auto 0;}

.on-wine{background:linear-gradient(165deg,var(--wine) 0%,var(--wine-deep) 100%);color:#F7EFE1;}
.on-wine h2,.on-wine h3{color:#F7EFE1;}
.on-wine .section-head p{color:#EBD9C4;}

.on-paper{background:var(--paper);}

/* ---------- Nosotros ---------- */
.about{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.about-copy h2{font-weight:500;font-style:italic;font-size:clamp(28px,4vw,40px);margin-bottom:20px;}
.about-copy p{margin-bottom:16px;font-size:15.5px;}
.about-copy p b{color:var(--wine-deep);}
.about-tags{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}
.about-tags span{
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
  color:var(--wine);border:1px solid var(--wine);padding:8px 16px;
}
.about-frame{
  border:1px solid var(--wine);padding:6px;background:var(--paper);
}
.about-frame-inner{
  border:1px solid var(--gold);padding:52px 30px;text-align:center;
}
.about-frame-inner .sign{font-family:'Fraunces',serif;font-style:italic;font-size:30px;color:var(--wine);}
.about-frame-inner p{margin-top:14px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--body);}
@media (max-width:860px){.about{grid-template-columns:1fr;}}

/* ---------- Favoritos ---------- */
.fav-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.fav-card{
  background:var(--paper);border:1px solid var(--hair);padding:34px 28px;
  transition:transform .2s ease,box-shadow .2s ease;
}
.fav-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(28,21,18,.08);}
.fav-card .tag{
  font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:700;
}
.fav-card .fav-top{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;}
.fav-card h3{font-size:19px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-style:normal;color:var(--ink);}
.fav-card .price{font-family:'Fraunces',serif;font-weight:600;font-size:19px;color:var(--wine);}
.fav-card p{margin-top:10px;font-family:'Fraunces',serif;font-style:italic;font-size:15px;color:var(--body);}
@media (max-width:860px){.fav-grid{grid-template-columns:1fr;}}

.section-cta{text-align:center;margin-top:50px;}

/* ---------- Ordena en línea (delivery) ---------- */
.delivery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.delivery-card{
  background:rgba(247,239,225,.06);border:1px solid rgba(247,239,225,.25);
  padding:36px 26px;text-align:center;position:relative;
}
.delivery-card .logo-badge{
  width:56px;height:56px;border-radius:50%;margin:0 auto 18px;
  display:flex;align-items:center;justify-content:center;
  background:#F7EFE1;color:var(--wine);font-family:'Fraunces',serif;font-weight:600;font-size:20px;
}
.delivery-card h3{color:#F7EFE1;font-style:normal;font-size:18px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;}
.delivery-card p{margin:10px 0 20px;font-size:13.5px;color:#DFC59B;}
.delivery-card .soon-badge{
  position:absolute;top:14px;right:14px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;
  background:var(--gold);color:var(--wine-deep);padding:4px 9px;font-weight:700;
}
.delivery-note{
  margin-top:44px;text-align:center;font-family:'Fraunces',serif;font-style:italic;font-size:15.5px;color:#EBD9C4;
}
@media (max-width:860px){.delivery-grid{grid-template-columns:1fr;}}

/* ---------- Formularios (newsletter / contacto) ---------- */
.form-card{
  background:var(--paper);border:1px solid var(--hair);padding:48px;max-width:560px;margin:0 auto;
}
.form-card.wide{max-width:760px;}
.field{margin-bottom:20px;}
.field label{
  display:block;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);font-weight:700;margin-bottom:8px;
}
.field input,.field textarea,.field select{
  width:100%;padding:13px 14px;border:1px solid var(--hair);background:#fff;
  font-family:'Jost',sans-serif;font-size:14.5px;color:var(--ink);
}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--wine);}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media (max-width:600px){.field-row{grid-template-columns:1fr;}}
.form-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px;flex-wrap:wrap;}
.form-note{font-size:12px;color:var(--body);}
.form-msg{margin-top:16px;font-size:13.5px;padding:12px 14px;display:none;}
.form-msg.show{display:block;}
.form-msg.ok{background:#EAF4EC;color:var(--success);border-left:3px solid var(--success);}
.form-msg.err{background:#F8ECE9;color:var(--wine);border-left:3px solid var(--wine);}
.honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none;}

/* ---------- Ubicación / horario ---------- */
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.info-card{background:var(--paper);border:1px solid var(--hair);padding:34px 30px;color:var(--body);}
.info-card h3{font-style:italic;font-weight:500;font-size:20px;margin-bottom:14px;color:var(--wine);}
.info-card p{font-size:14.5px;margin-bottom:6px;color:var(--body);}
.info-card a{color:var(--wine);font-weight:600;}
.info-card a:hover{text-decoration:underline;}
.info-card .todo{color:var(--gold);font-style:italic;font-family:'Fraunces',serif;}
@media (max-width:760px){.info-grid{grid-template-columns:1fr;}}

.map-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:stretch;}
.map-embed{min-height:340px;border:1px solid var(--hair);filter:sepia(8%) saturate(85%);}
.map-grid .info-card{display:flex;flex-direction:column;justify-content:center;}
@media (max-width:760px){.map-grid{grid-template-columns:1fr;}.map-embed{height:280px;}}

/* ---------- Footer ---------- */
footer.site-footer{
  background:var(--ink);color:#DCD3C4;padding:64px 0 28px;
}

.footer-newsletter{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
  gap:20px;padding-bottom:44px;margin-bottom:44px;
  border-bottom:1px solid rgba(220,211,196,.15);
}
.fn-label{
  font-family:'Fraunces',serif;font-style:italic;font-weight:400;
  font-size:18px;color:#F2E8D6;max-width:360px;
}
.footer-newsletter form{flex:1;min-width:280px;max-width:420px;}
.fn-row{display:flex;border-bottom:1px solid var(--gold);}
.fn-row input{
  flex:1;background:none;border:none;padding:10px 4px;
  font-family:'Jost',sans-serif;font-size:14.5px;color:#F7EFE1;
}
.fn-row input::placeholder{color:#8B8172;}
.fn-row input:focus{outline:none;}
.fn-row button{
  background:none;border:none;cursor:pointer;
  font-family:'Jost',sans-serif;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  font-weight:700;color:var(--gold);padding:10px 4px;white-space:nowrap;
}
.fn-row button:hover{color:#F2E8D6;}
.footer-newsletter .form-msg{margin-top:10px;padding:0;background:none;border:none;font-size:12.5px;}
.footer-newsletter .form-msg.ok{color:#8FCB9E;}
.footer-newsletter .form-msg.err{color:#E8A9A9;}
@media (max-width:700px){.footer-newsletter{flex-direction:column;align-items:flex-start;}}

.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:44px;margin-bottom:48px;}
.footer-brand .brand{color:#F7EFE1;}
.footer-brand p{margin-top:14px;font-family:'Fraunces',serif;font-style:italic;font-size:15px;color:#B8AD98;max-width:280px;}
.footer-col h4{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:16px;}
.footer-col a,.footer-col p{display:block;font-size:13.5px;color:#DCD3C4;margin-bottom:10px;}
.footer-col a:hover{color:#F7EFE1;}
.footer-bottom{
  border-top:1px solid rgba(220,211,196,.15);padding-top:24px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
  font-size:11.5px;letter-spacing:.05em;color:#8B8172;
}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr;gap:34px;}}

/* ---------- Utilidades ---------- */
.center{text-align:center;}
.mt-56{margin-top:56px;}
