/* Reset básico */
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; }

:root{
  /* Palette: black & gold */
  --bg: #faf8f3;
  --card: #ffffff;
  --text: #0b0b0b;
  --muted: #6b6b6b;
  --accent: #d4af37; /* gold */
  --accent-600: #b98920; /* darker gold */
  --nav-bg: #0b0b0b; /* solid black */
  --container: 1100px;
}

body{
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.nav-inner{ max-width: var(--container); margin: 0 auto; display:flex; align-items:center; justify-content:space-between; padding:12px 20px; }
.site-nav{ position:fixed; inset:0 0 auto 0; background:var(--nav-bg); color:#fff; backdrop-filter: blur(4px); z-index:1000; }
.brand{ color:#fff; text-decoration:none; font-weight:700; font-size:1.15rem; display:inline-flex; align-items:center; gap:8px; }
.brand span{ font-family:'Playfair Display', serif; font-weight:600; color:var(--accent); }
.menu-toggle{ background:transparent; border:0; color:#fff; font-size:1.2rem; cursor:pointer; display:none; }
.nav-links{ list-style:none; display:flex; gap:22px; }
.nav-links a{ color:#fff; text-decoration:none; font-weight:600; padding:8px 6px; border-radius:6px; }
.nav-links a:hover{ background: rgba(255,255,255,0.04); color:var(--accent); }

/* Hero */
.hero{ height:80vh; min-height:520px; display:flex; align-items:center; position:relative; background-size:cover; background-position:center; color:#fff; }
.hero::after{ content:''; position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,0.55), rgba(0,0,0,0.65)); }
.hero-inner{ position:relative; max-width:var(--container); margin:0 auto; padding:80px 20px; text-align:center; z-index:2; }
.hero-title{ font-family:'Playfair Display', serif; font-size:3rem; margin-bottom:10px; color:#fff; }
.hero-sub{ color: #f7f4ee; margin-bottom:18px; font-size:1.05rem; }
.hero-cta{ display:flex; gap:12px; justify-content:center; }
.btn{ display:inline-block; padding:12px 18px; border-radius:8px; text-decoration:none; font-weight:700; }
.btn-primary{ background: var(--accent); color:#0b0b0b; box-shadow: 0 8px 22px rgba(181,145,60,0.12); }
.btn-primary:hover{ background:var(--accent-600); color:#0b0b0b; }
.btn-ghost{ background:transparent; color:var(--accent); border:1px solid rgba(212,175,55,0.18); }
/* hero-specific ghost button (light on dark) */
.hero .btn-ghost{ background:transparent; color:#fff; border:1px solid rgba(255,255,255,0.12); }

/* Sections */
.section{ padding:64px 20px; max-width:var(--container); margin:0 auto; }
.section h2{ font-size:1.8rem; text-align:center; margin-bottom:24px; color:var(--text); }

/* Gallery */
.galeria{ display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap:18px; }
.card{ background:var(--card); border-radius:12px; overflow:hidden; box-shadow: 0 6px 18px rgba(31,41,55,0.06); text-align:center; }
.card img{ width:100%; height:220px; object-fit:cover; display:block; }
.card figcaption{ padding:12px; font-weight:600; color:var(--muted); }

/* Table */
.table-wrap{ overflow:auto; }
table{ width:100%; border-collapse:collapse; background:var(--card); border-radius:8px; overflow:hidden; box-shadow: 0 6px 18px rgba(31,41,55,0.04); }
thead th{ background:#fafafa; color:var(--muted); font-weight:700; padding:14px; text-align:left; }
tbody td{ padding:14px; border-top:1px solid #eee; }

/* Calendar iframe responsive */
.iframe-wrap{ max-width:900px; margin:18px auto 0; border-radius:10px; overflow:hidden; box-shadow:0 8px 22px rgba(0,0,0,0.06); }
.iframe-wrap iframe{ width:100%; height:620px; border:0; display:block; }

/* WhatsApp floating */
.whatsapp{ position:fixed; right:20px; bottom:20px; background:var(--accent); color:#0b0b0b; width:56px; height:56px; display:flex; align-items:center; justify-content:center; border-radius:50%; text-decoration:none; box-shadow:0 8px 20px rgba(177,141,55,0.16); font-size:1.3rem; }
.whatsapp:hover{ background:var(--accent-600); }

/* Footer */
.site-footer{ margin-top:30px; padding:20px; background:transparent; color:var(--muted); }
.footer-inner{ max-width:var(--container); margin:0 auto; display:flex; justify-content:space-between; gap:12px; align-items:center; padding:8px 20px; }
.footer-small a{ color:var(--muted); text-decoration:underline; }

/* Responsive rules */
@media (max-width: 880px){
  .hero-title{ font-size:2.2rem; }
  .menu-toggle{ display:block; }
  .nav-links{ position: absolute; right:20px; top:64px; background: rgba(17,17,17,0.97); padding:14px; border-radius:10px; flex-direction:column; display:none; min-width:180px; }
  .nav-links.open{ display:flex; }
  .nav-links a{ padding:10px 8px; }
  .footer-inner{ flex-direction:column; text-align:center; }
}

@media (max-width:480px){
  .hero-inner{ padding:40px 16px; }
  .card img{ height:160px; }
}

/* small accessibility focus states */
.nav-links a:focus, .btn:focus, .menu-toggle:focus, .whatsapp:focus{ outline:3px solid rgba(212,175,55,0.18); outline-offset:3px; }

/* Información del negocio */
.info-section{ background:linear-gradient(180deg, rgba(250,250,250,1), rgba(246,246,246,1)); }
.info-card{ max-width:var(--container); margin:18px auto; display:flex; gap:20px; padding:20px; background:var(--card); border-radius:12px; box-shadow:0 10px 30px rgba(16,24,40,0.06); align-items:flex-start; }
.info-main{ flex:1; }
.biz-name{ font-family:'Playfair Display', serif; font-size:1.4rem; margin-bottom:6px; display:flex; align-items:center; gap:12px; }
.badge{ font-size:0.8rem; padding:6px 8px; border-radius:999px; background:#eee; color:var(--text); font-weight:700; }
.badge.open{ background:var(--accent); color:#0b0b0b; }
.badge.closed{ background:#333; color:#fff; }
.biz-meta{ display:flex; gap:12px; align-items:center; margin-bottom:8px; }
.rating{ font-weight:700; }
.muted{ color:var(--muted); font-size:0.95rem; }
.biz-address{ display:block; margin:6px 0 12px; color:var(--muted); }
.biz-hours h4{ margin-bottom:8px; }
.hours-list{ list-style:none; display:grid; gap:6px 0; color:var(--muted); max-width:360px; }
.hours-list li{ display:flex; justify-content:space-between; padding:8px 12px; border-radius:8px; }
.hours-list li + li{ margin-top:6px; }
.hours-list li .day{ font-weight:600; color:var(--text); }
.hours-list li .hours{ color:var(--muted); }
.hours-list li.today{ background:var(--nav-bg); color:#fff; }
.hours-list li.today .day{ color:var(--accent); font-weight:700; }
.hours-list li.today .hours{ color:#f6ecd3; }
.info-actions{ display:flex; flex-direction:column; gap:12px; align-items:flex-end; }
.biz-actions{ display:flex; flex-direction:column; gap:8px; }
.app-download .btn{ display:block; }

@media (max-width:880px){
  .info-card{ flex-direction:column; align-items:stretch; }
  .info-actions{ align-items:stretch; }
  .hours-list{ grid-template-columns:1fr; }
}

