/*
  Travel Clone styles
  Goal: dark, cinematic hero + clean cards, inspired by the referenced demo.
*/

:root{
  --tc-bg:#070a0f;
  --tc-surface:#0f1520;
  --tc-surface-2:#101a2a;
  --tc-text:#f3f6ff;
  --tc-muted:rgba(243,246,255,0.72);
  --tc-line:rgba(243,246,255,0.12);
  --tc-radius:18px;
  --tc-radius-lg:26px;
  --tc-shadow:0 18px 48px rgba(0,0,0,0.35);
}

body{ background: var(--tc-bg); }

/* Typography */
h1,h2,h3,h4{ letter-spacing:-0.02em; }

/* Buttons */
.button, button, input[type=submit]{
  border-radius: 999px !important;
}

/* Sections */
.tc-section{ position:relative; }
.tc-section--surface{ background: var(--tc-surface); border:1px solid var(--tc-line); border-radius: var(--tc-radius-lg); box-shadow: var(--tc-shadow); }
.tc-section--pad{ padding: clamp(18px, 3vw, 42px); }

/* Hero */
.tc-hero{
  border-radius: var(--tc-radius-lg);
  overflow: hidden;
  border: 1px solid var(--tc-line);
  box-shadow: var(--tc-shadow);
}
.tc-hero .banner{ min-height: 72vh; }
.tc-hero .banner-layer{ filter: saturate(1.05) contrast(1.05); }
.tc-hero .banner .text-box{
  max-width: 860px;
}
.tc-hero .tc-hero__kicker{ color: var(--tc-muted); text-transform: uppercase; letter-spacing: .18em; font-size: .78rem; }
.tc-hero .tc-hero__title{ font-size: clamp(38px, 4.4vw, 84px); line-height: 0.95; color: var(--tc-text); }

/* Category quick nav */
.tc-quicknav{
  background: rgba(15,21,32,0.65);
  backdrop-filter: blur(10px);
  border: 1px solid var(--tc-line);
  border-radius: 999px;
  padding: 10px 14px;
}
.tc-quicknav a{ color: var(--tc-text); opacity: .9; }
.tc-quicknav a:hover{ opacity: 1; }

/* Card */
.tc-card{
  background: var(--tc-surface);
  border: 1px solid var(--tc-line);
  border-radius: var(--tc-radius);
  overflow: hidden;
  box-shadow: var(--tc-shadow);
}
.tc-card__body{ padding: 18px 18px 20px; }
.tc-card__meta{ color: var(--tc-muted); font-size: .92rem; }
.tc-badge{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--tc-line);
  background: rgba(16,26,42,0.65);
  color: var(--tc-text);
}

/* Stats */
.tc-stats{ display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
@media (max-width: 849px){ .tc-stats{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
.tc-stat{ padding: 16px; border-radius: var(--tc-radius); border: 1px solid var(--tc-line); background: rgba(16,26,42,0.55); }
.tc-stat__num{ font-size: 2rem; font-weight: 700; color: var(--tc-text); }
.tc-stat__label{ color: var(--tc-muted); }

/* FAQ */
.tc-faq .accordion-title{ border-radius: 14px !important; }
.tc-faq .accordion-item{ border: 1px solid var(--tc-line); border-radius: 16px; overflow:hidden; margin-bottom: 10px; background: rgba(16,26,42,0.55); }

/* Blog grid cards */
.tc-post-card .box{ border-radius: var(--tc-radius); overflow:hidden; border: 1px solid var(--tc-line); background: var(--tc-surface); box-shadow: var(--tc-shadow); }

/* Footer */
#footer{ border-top: 1px solid var(--tc-line); background: #06080c; }
#footer .widget-title{ color: var(--tc-text); }
#footer a{ color: var(--tc-muted); }
#footer a:hover{ color: var(--tc-text); }
