:root{
  /* ===== NÔRTE (Boutique Luxury) ===== */

  /* Base (más Stitch: mucho blanco + acentos cálidos) */
  --norte-bg: #FFFFFF;
  --norte-paper: #FAFAF8;
  --norte-sand: #C7B08A;
  --norte-brown: #6B4A2F;   /* acento, no “bloques grandes” */
  --norte-ink: #171717;     /* botones / texto fuerte */
  --norte-dark: #2A2622;
  --norte-muted: #6F6A64;

  /* Geometría más editorial (menos “roundy”) */
  --radius-xl: 16px;
  --radius-lg: 14px;
  --radius-md: 10px;

  /* Bordes/sombras más sutiles */
  --border-soft: 1px solid rgba(23,23,23,.10);
  --shadow-soft: 0 12px 28px rgba(17,17,17,.06);
}

/* Base */
html, body { height: 100%; }
body{
  background: var(--norte-bg);
  color: var(--norte-dark);
  font-family: 'Lato', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height: 1.55;
}

h1,h2,h3,h4{
  font-family: 'Playfair Display', ui-serif, Georgia, 'Times New Roman', serif;
  letter-spacing: .2px;
}

a{ color: inherit; }

/* Container (más aire) */
.container{ max-width: 1180px; }

/* Navbar */
.navbar{
  background: var(--norte-bg) !important;
  border-bottom: var(--border-soft);
}

.navbar .nav-link{
  font-weight: 600;
  letter-spacing: .02em;
  color: rgba(23,23,23,.75) !important;
  position: relative;
}
.navbar .nav-link:hover{ color: var(--norte-ink) !important; }
.navbar .nav-link.active{ color: var(--norte-ink) !important; }
.navbar .nav-link.active::after,
.navbar .nav-link:hover::after{
  content:"";
  position:absolute;
  left: .6rem;
  right: .6rem;
  bottom: .3rem;
  height: 2px;
  background: var(--norte-brown);
  border-radius: 2px;
  opacity: .9;
}

/* Bootstrap overrides */
.btn{
  border-radius: var(--radius-md) !important;
  font-weight: 700;
  letter-spacing: .02em;
}

.btn-outline-primary{
  border-color: rgba(23,23,23,.22) !important;
  color: var(--norte-ink) !important;
}
.btn-outline-primary:hover{
  background: rgba(23,23,23,.05) !important;
}

.btn-primary{
  background: var(--norte-ink) !important;
  border: 1px solid var(--norte-ink) !important;
}
.btn-primary:hover{
  background: #0f0f0f !important;
  border-color: #0f0f0f !important;
}

.btn:focus{
  box-shadow: 0 0 0 .25rem rgba(107,74,47,.18) !important;
}

.card{
  background: var(--norte-bg) !important;

  border-radius: var(--radius-lg) !important;
  border: var(--border-soft) !important;
  box-shadow: var(--shadow-soft);
}

/* Inputs (menos Bootstrap “azul”) */
.form-control, .form-select{
  border-radius: var(--radius-md) !important;
  border-color: rgba(23,23,23,.14) !important;
  background: #fff !important;
}
.form-control:focus, .form-select:focus{
  border-color: rgba(107,74,47,.45) !important;
  box-shadow: 0 0 0 .25rem rgba(107,74,47,.16) !important;
}

.badge{
  border-radius: 999px;
}

.text-muted{ color: var(--norte-muted) !important; }

/* Utility */
.norte-kicker{
  font-family: 'Inter', sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .78rem;
  color: var(--norte-muted);
}

.price-highlight{
  font-size: clamp(1.6rem, 2.4vw, 2.15rem);
  font-weight: 600;
  color: var(--norte-ink);
}

.stat-pill{
  background: var(--norte-paper);
  border: var(--border-soft);
  border-radius: 14px;
  padding: 10px 12px;
  display:flex;
  gap:10px;
  align-items:center;
}

.amen-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
}

@media (max-width: 992px){
  .amen-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}


/* Soft section background */
.section-soft{ background: var(--norte-paper); border: var(--border-soft); border-radius: var(--radius-lg); }

/* Badges tipo Stitch: discretos */
.badge.bg-primary{
  background: rgba(107,74,47,.10) !important;
  color: var(--norte-ink) !important;
  border: 1px solid rgba(107,74,47,.20) !important;
}

/* Paginación */
.page-link{
  border-radius: 10px !important;
  border-color: rgba(23,23,23,.10) !important;
  color: var(--norte-ink) !important;
}
.page-link:hover{ background: rgba(23,23,23,.04) !important; }
.page-item.active .page-link{
  background: var(--norte-ink) !important;
  border-color: var(--norte-ink) !important;
}
