/* =========================
   NURIA TOURS — CONTACT
========================= */

:root{
  --brand-red:#c21d1d;
  --silver-0:#ffffff;
  --silver-1:#f6f8fb;
  --silver-2:#edf1f6;
  --ink:#0b1220;
  --muted:#66758b;
  --line:rgba(11,18,32,.10);
  --radius:18px;
  --shadow:0 14px 40px rgba(11,18,32,.08);
}

/* HERO */

.nt-contact-hero{
  position:relative;
  min-height:62vh;
  display:flex;
  align-items:center;

  background-image:
    linear-gradient(
      120deg,
      rgba(246,248,251,.92) 0%,
      rgba(246,248,251,.80) 42%,
      rgba(246,248,251,.62) 100%
    ),
    url('/assets/img/contact.png');

  background-size:cover;
  background-position:center;

  overflow:hidden;

  border-bottom:1px solid var(--line);
}

.nt-contact-hero::before{
  content:"";

  position:absolute;
  inset:0;

  background:
    radial-gradient(
      900px 420px at 14% 18%,
      rgba(194,29,29,.10),
      transparent 60%
    ),

    radial-gradient(
      820px 420px at 86% 72%,
      rgba(255,255,255,.70),
      transparent 60%
    );

  pointer-events:none;
}

.nt-contact-hero-inner{
  position:relative;
  padding:92px 0 74px;
}

.nt-contact-badge{
  display:inline-flex;
  align-items:center;
  gap:.55rem;

  padding:.42rem .78rem;

  border:1px solid rgba(11,18,32,.12);
  border-radius:999px;

  background:rgba(255,255,255,.62);

  backdrop-filter:blur(8px);

  color:var(--ink);

  font-size:.92rem;
}

.nt-contact-badge i{
  color:var(--brand-red);
}

.nt-contact-hero h1{
  margin-top:14px;

  font-weight:300;

  letter-spacing:-.03em;

  color:var(--ink);

  line-height:1.1;
}

.nt-contact-hero h1 strong{
  color:var(--brand-red);
  font-weight:900;
}

.nt-contact-hero p{
  margin-top:12px;

  color:var(--muted);

  font-size:1.08rem;

  max-width:72ch;
}

.nt-contact-meta{
  margin-top:18px;

  display:flex;
  flex-wrap:wrap;

  gap:10px;
}

.nt-contact-chip{
  display:inline-flex;
  align-items:center;
  gap:.45rem;

  padding:.38rem .70rem;

  border-radius:999px;

  border:1px solid rgba(11,18,32,.12);

  background:rgba(255,255,255,.62);
}

.nt-contact-chip i{
  color:var(--brand-red);
}

.nt-contact-chip a{
  color:var(--ink);
  text-decoration:none;
}

/* CONTENT */

.nt-section{
  background:
    linear-gradient(
      180deg,
      var(--silver-0) 0%,
      var(--silver-1) 100%
    );

  padding:72px 0;
}

/* PANELS */

.nt-panel{
  background:#fff;

  border:1px solid rgba(11,18,32,.10);

  border-radius:18px;

  overflow:hidden;

  box-shadow:var(--shadow);
}

.nt-panel-h{
  padding:20px 20px 14px;

  border-bottom:1px solid rgba(11,18,32,.10);

  background:
    linear-gradient(
      180deg,
      #fff 0%,
      rgba(246,248,251,.88) 100%
    );
}

.nt-panel-b{
  padding:20px;
}

.nt-title{
  color:var(--ink);
  font-weight:900;
}

.nt-sub{
  color:var(--muted);
}

.nt-note{
  color:var(--muted);
  font-size:.92rem;
}

/* STANDARDS */

.nt-std{
  display:flex;
  gap:12px;

  padding:12px 0;

  border-bottom:1px dashed rgba(11,18,32,.14);
}

.nt-std:last-child{
  border-bottom:none;
}

.nt-ico{
  width:42px;
  height:42px;

  border-radius:14px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:rgba(194,29,29,.10);

  color:var(--brand-red);
}

.nt-std h4{
  margin:0;

  color:var(--ink);

  font-size:1rem;

  font-weight:700;
}

.nt-std p{
  margin:2px 0 0;

  color:var(--muted);
}

/* FORM */

.nt-label{
  font-weight:700;
  color:var(--ink);
}

.nt-required{
  color:var(--brand-red);
}

.nt-field{
  border-radius:14px;

  border:1px solid rgba(11,18,32,.16);

  padding:.84rem .95rem;
}

.nt-field:focus{
  border-color:rgba(194,29,29,.55);

  box-shadow:
    0 0 0 .22rem rgba(194,29,29,.12);
}

/* ROUTING */

.nt-route{
  border:1px solid rgba(11,18,32,.10);

  border-radius:16px;

  padding:14px;

  background:
    linear-gradient(
      180deg,
      rgba(246,248,251,.75),
      rgba(255,255,255,1)
    );
}

.nt-help{
  margin-top:8px;
  color:var(--muted);
  font-size:.90rem;
}

.nt-btn{
  background:var(--brand-red);
  border:1px solid var(--brand-red);

  color:#fff;

  border-radius:14px;

  padding:1rem;

  font-weight:800;

  text-transform:uppercase;

  letter-spacing:.08em;
}

.nt-btn:hover{
  color:#fff;
  filter:brightness(.96);
}

.nt-recaptcha{
  transform:scale(.95);
  transform-origin:0 0;
}

/* MOBILE */

@media (max-width:991px){

  .nt-contact-hero-inner{
    padding:74px 0 56px;
  }

  .nt-section{
    padding:56px 0;
  }

  .nt-recaptcha{
    transform:scale(.90);
  }

}