/* =========================
   NURIA TOURS — BASE SYSTEM
========================= */
body{
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: var(--ink);
  background: #f7f7f5;
}
.container-fluid.p-0{
  background: #f7f7f5;
}
/* ===== TOKENS ===== */
:root{
  --brand-red:#c21d1d;

  --ink:#0f172a;
  --muted:#64748b;

  --bg:#ffffff;
  --bg-soft:#f5f7fa;

  --line:rgba(15,23,42,.12);

  --radius:16px;
}

/* ===== RESET ===== */
*,
*::before,
*::after{
  box-sizing:border-box;
}

html,
body{
  margin:0;
  padding:0;
}

/* ===== BASE TYPOGRAPHY ===== */
body{
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: var(--ink);
  background: var(--bg);
}

h1,h2,h3{
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  margin:0;
}

p{
  margin:0 0 1rem;
}

/* ===== LINKS ===== */
a{
  text-decoration:none;
  color:inherit;
  transition:all .2s ease;
}

/* ===== IMAGES ===== */
img{
  max-width:100%;
  display:block;
}

/* ===== UTILITIES ===== */
.text-muted{
  color: var(--muted);
}

.bg-soft{
  background: var(--bg-soft);
}

.section{
  padding: 80px 0;
}

.section-sm{
  padding: 60px 0;
}

.text-center{
  text-align:center;
}

.justify{
  text-align:justify;
}

/* ===== SIMPLE COLORS ===== */
.primary{
  color: var(--brand-red);
}

.white{
  color:#fff !important;
}

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar{
  width:10px;
}

::-webkit-scrollbar-thumb{
  background: var(--brand-red);
  border-radius:10px;
}

/* ===== BASIC CARDS (SAFE FALLBACK) ===== */
.card-clean{
  background:#fff;
  border-radius:var(--radius);
  border:1px solid var(--line);
}
.btn-link-brand{
  color:#c21d1d;
  font-weight:600;
  text-decoration:none;
  position:relative;
}

.btn-link-brand::after{
  content:"";
  display:block;
  width:0;
  height:2px;
  background:#c21d1d;
  transition:.2s;
}

.btn-link-brand:hover::after{
  width:100%;
}
/* ===== SAFE BUTTON FALLBACK ===== */
.btn-base{
  display:inline-block;
  padding:10px 18px;
  border-radius:999px;
  border:none;
}
/* =========================
   BUTTON OUTLINE (SECONDARY)
========================= */

.btn-outline-brand{
  display:inline-block;
  border:1.5px solid #c21d1d;
  color:#c21d1d;
  background:transparent;

  padding:10px 20px;
  border-radius:999px;

  font-weight:600;
  font-size:.95rem;

  text-decoration:none;
  transition:all .2s ease;
}

.btn-outline-brand:hover{
  background:#c21d1d;
  color:#fff;
  transform:translateY(-1px);
}
/* ===== GENERIC CONTAINER FIX ===== */
.container{
  position:relative;
}