/* ============================================================
   CAMINO VIEJO — Estilos compartidos (landing + catálogo)
   Restaurante fino · Acabados en madera · Bootstrap 5.3.8 local
   ============================================================ */

:root {
  --madera-oscuro: #1d130c;
  --madera: #2e2015;
  --madera-medio: #4a3424;
  --madera-claro: #6b4f37;
  --crema: #f5efe4;
  --marfil: #fbf7ef;
  --blanco: #ffffff;
  --oro: #b08d57;
  --oro-claro: #d3b57f;
  --oro-suave: #e9dcc3;
  --texto: #2b2119;
  --gris: #7c6c5c;
  --borde: #e5d9c3;
  --bs-primary: var(--oro);
  --bs-primary-rgb: 176, 141, 87;
  --bs-link-color: var(--madera-medio);
  --bs-link-color-rgb: 74, 52, 36;
  --bs-link-hover-color: var(--oro);
  --bs-link-hover-color-rgb: 176, 141, 87;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--texto);
  background: var(--crema);
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, .font-titulo {
  font-family: "Playfair Display", "Times New Roman", serif;
  font-weight: 600;
}

.font-script {
  font-family: "Great Vibes", cursive;
  font-weight: 400;
}

.texto-suave { color: var(--gris); }
.texto-madera { color: var(--madera-medio); }
.texto-oro { color: var(--oro); }

[id] {
  scroll-margin-top: 130px;
}

/* ---------------- Botones ---------------- */
.btn-oro {
  --bs-btn-color: var(--madera-oscuro);
  --bs-btn-bg: var(--oro);
  --bs-btn-border-color: var(--oro);
  --bs-btn-hover-color: var(--madera-oscuro);
  --bs-btn-hover-bg: var(--oro-claro);
  --bs-btn-hover-border-color: var(--oro-claro);
  --bs-btn-active-color: var(--madera-oscuro);
  --bs-btn-active-bg: var(--oro-claro);
  --bs-btn-active-border-color: var(--oro-claro);
  --bs-btn-focus-shadow-rgb: 176, 141, 87;
  border-radius: 0;
  padding: .68rem 1.7rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .78rem;
}

.btn-oro-outline {
  --bs-btn-color: var(--madera-medio);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: var(--oro);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--madera-medio);
  --bs-btn-hover-border-color: var(--madera-medio);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--madera);
  --bs-btn-active-border-color: var(--madera);
  --bs-btn-focus-shadow-rgb: 74, 52, 36;
  border-radius: 0;
  padding: .68rem 1.7rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .78rem;
}

.btn-oro-sm { padding: .42rem 1.15rem; font-size: .7rem; }

/* ---------------- Topbar ---------------- */
.cabecera-fija {
  position: sticky;
  top: 0;
  z-index: 1030;
}
.topbar {
  background: var(--madera-oscuro);
  color: var(--oro-suave);
  font-size: .76rem;
  letter-spacing: .04em;
}
.topbar a {
  color: var(--oro-suave);
  text-decoration: none;
  transition: color .2s;
}
.topbar a:hover { color: var(--oro-claro); }
.topbar .icono-top { opacity: .75; margin-right: .35rem; color: var(--oro); }
.topbar .separador { opacity: .3; margin: 0 .8rem; color: var(--oro); }
.topbar .social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 50%;
  background: rgba(211, 181, 127, .12);
  border: 1px solid rgba(211, 181, 127, .25);
  color: var(--oro-suave);
  transition: background .2s, transform .2s, color .2s;
}
.topbar .social a:hover { background: var(--oro); color: var(--madera-oscuro); transform: translateY(-2px); }

/* ---------------- Navbar ---------------- */
.navbar-camino {
  background: rgba(251, 247, 239, .97);
  border-bottom: 1px solid var(--borde);
  padding-top: .8rem;
  padding-bottom: .8rem;
}
.navbar-camino .navbar-brand {
  display: flex;
  align-items: center;
  gap: .8rem;
}
.navbar-camino .brand-logo {
  width: 50px;
  height: 50px;
  object-fit: cover;
  border-radius: 50%;
  border: 2px solid var(--oro);
  padding: 2px;
  background: var(--marfil);
}
.navbar-camino .brand-nombre {
  font-family: "Playfair Display", serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--madera-oscuro);
  letter-spacing: .02em;
  display: block;
  line-height: 1.1;
}
.navbar-camino .brand-sub {
  font-size: .66rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--oro);
  font-weight: 600;
}
.navbar-camino .nav-link {
  color: var(--madera-medio);
  font-weight: 500;
  font-size: .82rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: .5rem .9rem !important;
  position: relative;
}
.navbar-camino .nav-link::after {
  content: "";
  position: absolute;
  left: .9rem;
  right: .9rem;
  bottom: .25rem;
  height: 1px;
  background: var(--oro);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
}
.navbar-camino .nav-link:hover::after,
.navbar-camino .nav-link.active::after { transform: scaleX(1); }
.navbar-camino .nav-link.active { color: var(--madera-oscuro); font-weight: 600; }
.navbar-camino .navbar-toggler {
  border: 1px solid var(--oro);
  color: var(--madera-medio);
}
.navbar-camino .navbar-toggler:focus { box-shadow: 0 0 0 .15rem rgba(176,141,87,.25); }
.navbar-camino .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(74,52,36,0.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* ---------------- Hero ---------------- */
.hero {
  position: relative;
  background:
    radial-gradient(1200px 500px at 85% -10%, rgba(176,141,87,.16), transparent 60%),
    linear-gradient(180deg, var(--marfil) 0%, var(--crema) 100%);
  padding: 5.5rem 0 6rem;
  overflow: hidden;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  opacity: .5;
  pointer-events: none;
}
.hero .container { position: relative; z-index: 1; }

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .72rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--oro);
  font-weight: 600;
  padding: .45rem 1rem;
  border: 1px solid var(--oro);
  background: rgba(176,141,87,.08);
}

.hero h1 {
  font-size: clamp(2.3rem, 4.4vw, 3.6rem);
  color: var(--madera-oscuro);
  line-height: 1.12;
}
.hero h1 .script {
  font-family: "Great Vibes", cursive;
  font-weight: 400;
  color: var(--madera-medio);
  font-size: 1.15em;
  display: block;
  margin-top: .2rem;
}

.hero-lead {
  font-size: 1.06rem;
  color: var(--gris);
  font-weight: 300;
  max-width: 540px;
  line-height: 1.75;
}

.hero-chip {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .8rem;
  color: var(--madera-medio);
  font-weight: 500;
  background: var(--blanco);
  border: 1px solid var(--borde);
  padding: .45rem .9rem;
  box-shadow: 0 4px 14px rgba(43,33,25,.05);
}
.hero-chip svg { color: var(--oro); }

.hero-panel {
  position: relative;
  background: var(--madera-oscuro);
  min-height: 430px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 30px 60px -20px rgba(29,19,12,.5);
}
.hero-panel::before {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px solid rgba(211,181,127,.35);
  pointer-events: none;
}
.hero-logo-medallon {
  width: 190px;
  height: 190px;
  object-fit: cover;
  border-radius: 50%;
  border: 3px solid var(--oro);
  box-shadow: 0 0 0 12px rgba(211,181,127,.12);
  z-index: 1;
}
.hero-panel-title {
  position: absolute;
  bottom: 2.2rem;
  left: 0;
  right: 0;
  text-align: center;
  color: var(--oro-suave);
  font-family: "Playfair Display", serif;
  font-size: 1.5rem;
  letter-spacing: .08em;
}
.hero-panel-title .font-script { color: var(--oro-claro); font-size: 1.9rem; letter-spacing: 0; }

.chip-flotante {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: var(--marfil);
  border: 1px solid var(--oro);
  padding: .55rem 1rem;
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--madera-oscuro);
  box-shadow: 0 12px 30px rgba(29,19,12,.18);
}
.chip-flotante svg { color: var(--oro); }
.chip-1 { top: -1.2rem; right: -1.2rem; }
.chip-2 { bottom: 4.6rem; left: -1.4rem; }

/* ---------------- Marquee ---------------- */
.marquee {
  background: var(--madera-oscuro);
  color: var(--oro-suave);
  overflow: hidden;
  border-top: 1px solid rgba(211,181,127,.25);
  border-bottom: 1px solid rgba(211,181,127,.25);
}
.marquee-track {
  display: flex;
  width: max-content;
  animation: marquee 30s linear infinite;
}
.marquee-group {
  display: flex;
  align-items: center;
  gap: 3rem;
  padding: 1rem 1.5rem;
  white-space: nowrap;
}
.marquee span {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  font-size: .78rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 500;
}
.marquee span svg { color: var(--oro); }
@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* ---------------- Secciones ---------------- */
.seccion { padding: 5rem 0; }

.etiqueta-seccion {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  font-size: .72rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--oro);
}
.etiqueta-seccion::before,
.etiqueta-seccion::after {
  content: "";
  width: 28px;
  height: 1px;
  background: var(--oro);
  opacity: .6;
}

.titulo-seccion {
  font-size: clamp(1.9rem, 3.4vw, 2.7rem);
  color: var(--madera-oscuro);
  line-height: 1.15;
}
.titulo-seccion .script {
  font-family: "Great Vibes", cursive;
  font-weight: 400;
  color: var(--oro);
  font-size: 1.2em;
  line-height: 1;
}

/* ---------------- Nosotros ---------------- */
.nosotros-arto { position: relative; }
.nosotros-arto .marco {
  position: relative;
  background: var(--madera-oscuro);
  min-height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nosotros-arto .marco::before {
  content: "";
  position: absolute;
  inset: 16px;
  border: 1px solid rgba(211,181,127,.4);
}
.nosotros-arto .marco .marco-marca {
  text-align: center;
  color: var(--oro-suave);
  font-family: "Playfair Display", serif;
  font-size: 1.4rem;
}
.nosotros-arto .marco .marco-marca .font-script { color: var(--oro-claro); font-size: 2.4rem; display: block; }
.nosotros-arto .sello {
  position: absolute;
  bottom: -1.6rem;
  right: 1.4rem;
  width: 108px;
  height: 108px;
  border-radius: 50%;
  background: var(--oro);
  color: var(--madera-oscuro);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: "Playfair Display", serif;
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: .05em;
  border: 4px solid var(--marfil);
  box-shadow: 0 14px 30px rgba(29,19,12,.2);
}

.feature-card {
  display: flex;
  align-items: flex-start;
  gap: 1.1rem;
  background: var(--marfil);
  border: 1px solid var(--borde);
  border-left: 3px solid var(--oro);
  padding: 1.1rem 1.3rem;
  transition: transform .25s ease, box-shadow .25s ease;
}
.feature-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(43,33,25,.08);
}
.feature-card .feature-icon {
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--oro);
  color: var(--oro);
  background: rgba(176,141,87,.08);
}
.feature-card h4 {
  font-family: "Playfair Display", serif;
  font-size: 1.02rem;
  font-weight: 600;
  color: var(--madera-oscuro);
  margin-bottom: .25rem;
}
.feature-card p { font-size: .87rem; color: var(--gris); margin-bottom: 0; line-height: 1.6; }

.stat { text-align: center; }
.stat .num {
  font-family: "Playfair Display", serif;
  font-size: 2.3rem;
  font-weight: 700;
  color: var(--oro);
  line-height: 1;
}
.stat .label {
  font-size: .7rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gris);
  margin-top: .4rem;
  font-weight: 600;
}

/* ---------------- Productos ---------------- */
.product-card {
  border: 1px solid var(--borde);
  border-radius: 0;
  background: var(--marfil);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease;
  height: 100%;
}
.product-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 40px rgba(43,33,25,.12);
}
.product-img {
  position: relative;
  height: 210px;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(400px 200px at 50% 0%, rgba(176,141,87,.12), transparent 70%),
    linear-gradient(160deg, var(--madera-medio), var(--madera-oscuro));
}
.product-img img {
  width: 118px;
  height: 118px;
  object-fit: contain;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.35));
}
.badge-cat {
  position: absolute;
  top: .9rem;
  left: .9rem;
  background: var(--oro);
  color: var(--madera-oscuro);
  font-size: .62rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 700;
  padding: .3rem .65rem;
}
.badge-chef {
  position: absolute;
  top: .9rem;
  right: .9rem;
  background: var(--marfil);
  color: var(--madera-medio);
  border: 1px solid var(--oro);
  font-size: .62rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 700;
  padding: .3rem .6rem;
}
.product-title {
  font-family: "Playfair Display", serif;
  font-size: 1.12rem;
  font-weight: 600;
  color: var(--madera-oscuro);
  margin-bottom: .35rem;
}
.product-desc {
  font-size: .84rem;
  color: var(--gris);
  line-height: 1.6;
  margin-bottom: .9rem;
}
.product-price {
  font-family: "Playfair Display", serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--oro);
}
.product-cat { color: var(--gris); font-size: .78rem; font-weight: 600; letter-spacing: .06em; }

/* Carrusel */
.carousel-destacados {
  padding: 0 2.6rem;
}
.carousel-destacados .carousel-control-prev,
.carousel-destacados .carousel-control-next {
  width: 2.6rem;
  opacity: 1;
}
.carousel-destacados .carousel-control-prev-icon,
.carousel-destacados .carousel-control-next-icon {
  width: 2rem;
  height: 2rem;
}
.carousel-destacados .carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23b08d57'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}
.carousel-destacados .carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23b08d57'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.carousel-destacados .carousel-indicators [data-bs-target] {
  width: 22px;
  height: 3px;
  border: 0;
  border-radius: 0;
  background-color: var(--borde);
  opacity: 1;
}
.carousel-destacados .carousel-indicators .active { background-color: var(--oro); }

/* Pills de filtro */
.pill-oro {
  --bs-btn-color: var(--madera-medio);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: var(--borde);
  --bs-btn-hover-color: var(--madera-oscuro);
  --bs-btn-hover-bg: var(--oro-suave);
  --bs-btn-hover-border-color: var(--oro);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--madera-medio);
  --bs-btn-active-border-color: var(--madera-medio);
  --bs-btn-focus-shadow-rgb: 74, 52, 36;
  border-radius: 0;
  padding: .5rem 1.25rem;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.pill-oro .cnt { opacity: .6; font-size: .72rem; }

/* ---------------- Ubicación ---------------- */
.mapa-iframe {
  width: 100%;
  height: 100%;
  min-height: 420px;
  border: 0;
  filter: grayscale(.15) sepia(.08);
}
.info-card {
  background: var(--marfil);
  color: var(--texto);
  padding: 1.8rem 1.6rem;
  border: 1px solid var(--borde);
  border-top: 3px solid var(--oro);
  box-shadow: 0 12px 30px rgba(43,33,25,.06);
}
.info-card .info-titulo {
  font-family: "Playfair Display", serif;
  font-size: 1.25rem;
  color: var(--madera-oscuro);
  margin-bottom: .15rem;
}
.info-card .info-titulo .script {
  font-family: "Great Vibes", cursive;
  font-weight: 400;
  color: var(--oro);
  font-size: 1.3em;
}
.info-card .info-item {
  display: flex;
  align-items: flex-start;
  gap: .9rem;
  padding: 1rem 0;
  border-bottom: 1px dashed var(--borde);
}
.info-card .info-item:last-of-type { border-bottom: 0; }
.info-card .info-icon {
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--oro);
  color: var(--oro);
  background: rgba(176,141,87,.08);
  margin-top: .1rem;
}
.info-card h5 {
  font-family: "Playfair Display", serif;
  font-size: .88rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--madera-oscuro);
  margin-bottom: .2rem;
}
.info-card p { font-size: .85rem; color: var(--gris); margin-bottom: 0; line-height: 1.6; }

/* ---------------- Contacto CTA ---------------- */
.contacto-band {
  position: relative;
  background:
    linear-gradient(rgba(29,19,12,.88), rgba(29,19,12,.88)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.25'/%3E%3C/svg%3E"),
    var(--madera-oscuro);
  border: 1px solid rgba(211,181,127,.35);
  padding: 3.2rem 2.5rem;
  overflow: hidden;
}
.contacto-band h2 {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  color: var(--marfil);
}
.contacto-band h2 .script { font-family: "Great Vibes", cursive; font-weight: 400; color: var(--oro-claro); }
.contacto-band p { color: var(--oro-suave); }
.btn-whats {
  --bs-btn-color: #fff;
  --bs-btn-bg: #1f8a4c;
  --bs-btn-border-color: #1f8a4c;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #17703e;
  --bs-btn-hover-border-color: #17703e;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #145e35;
  --bs-btn-active-border-color: #145e35;
  border-radius: 0;
  padding: .68rem 1.6rem;
  font-weight: 600;
  letter-spacing: .08em;
  font-size: .8rem;
}
.btn-blanco {
  --bs-btn-color: var(--madera-oscuro);
  --bs-btn-bg: var(--marfil);
  --bs-btn-border-color: var(--marfil);
  --bs-btn-hover-color: var(--madera-oscuro);
  --bs-btn-hover-bg: var(--oro-claro);
  --bs-btn-hover-border-color: var(--oro-claro);
  border-radius: 0;
  padding: .68rem 1.6rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .78rem;
}

/* ---------------- Footer ---------------- */
.footer {
  background: var(--madera-oscuro);
  color: var(--oro-suave);
  border-top: 2px solid var(--oro);
}
.footer .frase {
  font-family: "Great Vibes", cursive;
  font-size: 1.6rem;
  color: var(--oro-claro);
  line-height: 1.3;
}
.footer-title {
  font-family: "Playfair Display", serif;
  font-size: 1rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--oro-claro);
  margin-bottom: 1.1rem;
  padding-bottom: .6rem;
  border-bottom: 1px solid rgba(211,181,127,.25);
}
.footer a { color: var(--oro-suave); text-decoration: none; transition: color .2s; }
.footer a:hover { color: var(--oro-claro); }
.footer .small { color: var(--oro-suave); }
.footer .social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  border: 1px solid rgba(211,181,127,.3);
  color: var(--oro-suave);
  transition: background .2s, transform .2s, color .2s;
}
.footer .social a:hover { background: var(--oro); color: var(--madera-oscuro); transform: translateY(-2px); }
.horario-tabla li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .35rem 0;
  border-bottom: 1px dashed rgba(211,181,127,.15);
}
.horario-tabla strong { color: var(--oro-claro); font-weight: 600; }
.punto-oro {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #3dbf6f;
  box-shadow: 0 0 0 3px rgba(61,191,111,.2);
}
.footer-bottom {
  border-top: 1px solid rgba(211,181,127,.15);
  font-size: .78rem;
  color: var(--gris);
}

/* ---------------- Catálogo ---------------- */
.catalogo-banner {
  position: relative;
  background:
    linear-gradient(rgba(29,19,12,.9), rgba(29,19,12,.9)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.25'/%3E%3C/svg%3E"),
    var(--madera-oscuro);
  padding: 5rem 0 4.5rem;
  border-bottom: 2px solid var(--oro);
}
.catalogo-banner .titulo-seccion { color: var(--marfil); }
.catalogo-banner .breadcrumb-item a { color: var(--oro-suave); }
.catalogo-banner .breadcrumb-item.active { color: var(--oro); }
.catalogo-banner .breadcrumb-item + .breadcrumb-item::before { color: var(--gris); }

/* ---------------- Responsive ---------------- */
@media (max-width: 991.98px) {
  .topbar { display: none; }
  [id] { scroll-margin-top: 88px; }
  .navbar-camino .navbar-collapse {
    background: var(--marfil);
    padding: 1rem 1rem 1.2rem;
    margin-top: .8rem;
    border: 1px solid var(--borde);
  }
  .navbar-camino .nav-link { padding: .6rem 0 !important; }
  .navbar-camino .nav-link::after { display: none; }
  .hero { padding: 3.5rem 0 4rem; }
  .chip-flotante { position: static; margin: .5rem; }
  .hero-panel { margin-top: 2rem; }
  .nosotros-arto .marco { min-height: 320px; }
  .carousel-destacados { padding: 0; }
  .mapa-iframe { min-height: 340px; }
  .seccion { padding: 3.5rem 0; }
}
