/*
Theme Name: Mineo Travel Theme
Theme URI: https://mineotravel.com
Author: Giovanni (converted by ChatGPT)
Description: One-page theme with parallax hero, smooth scrolling, centered headings, and responsive mobile fixes.
Version: 1.2
License: MIT
Tags: one-column, responsive-layout
Text Domain: mineotravel
*/

/* Fonts */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Inter:wght@300;400;500;600&display=swap');

/* Variables */
:root {
  --background:#000;
  --foreground:#fff;
  --card-dark:#0f0f12;
  --text-muted:#b3b3b3;
  --white:#fff;
  --black:#000;
  --radius:12px;
  --font-serif:'Playfair Display',serif;
  --font-sans:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;

  /* Type scales */
  --hero-title-size: clamp(2.25rem, 8vw, 6rem);
  --section-title-size: clamp(2rem, 5vw, 3rem);
  --card-title-size: clamp(1.25rem, 3.3vw, 1.5rem);
  --lead-size: clamp(1rem, 2.7vw, 1.25rem);
  --body-size: 1rem;
}

/* Base */
html,body {
  margin:0; padding:0; width:100%; height:100%;
  background:var(--background); color:var(--foreground);
  font-family:var(--font-sans); font-size:var(--body-size);
  scroll-behavior:smooth;
}
h1,h2,h3,h4,h5,h6 { font-family:var(--font-serif); margin:0; color:var(--foreground); }
a { color:inherit; text-decoration:none; }

/* Layout helpers */
.container { max-width:1280px; margin:0 auto; padding:0 1.5rem; }
.section { padding:6rem 0; }
@media (max-width:600px){ .section { padding:4.5rem 0; } }

/* Navigation */
.site-nav {
  position:fixed; inset:0 0 auto 0; z-index:50;
  background:rgba(0,0,0,.7); backdrop-filter:blur(10px);
}
.site-nav .nav-inner {
  display:flex; align-items:center; justify-content:space-between;
  padding:1.25rem 1.5rem; max-width:1280px; margin:0 auto;
}
.nav-links { display:none; }
@media (min-width:768px){ .nav-links { display:flex; gap:2rem; } }
.nav-links button {
  background:none; border:none; padding:0; margin:0; font:inherit;
  cursor:pointer; color:rgba(255,255,255,.7); position:relative;
  transition:color .3s ease;
}
.nav-links button:hover,.nav-links button.active { color:var(--white); }
.nav-links button .underline {
  position:absolute; left:0; right:0; bottom:-4px;
  height:2px; background:var(--white); opacity:0;
  transition:opacity .3s ease;
}
.nav-links button.active .underline { opacity:1; }

/* Hero */
.hero {
  position:relative; min-height:100vh;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.parallax-hero { position:absolute; inset:0; background-size:cover; background-position:center; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(135deg, rgba(0,0,0,.4), rgba(0,0,0,.2)); }
.hero-content { position:relative; z-index:10; text-align:center; max-width:720px; padding:0 1.5rem; }
.hero-title {
  font-size:var(--hero-title-size); line-height:1.08;
  margin:0 0 2rem; white-space:normal; word-break:normal;
}
@media (min-width:768px){ .hero-title { white-space:nowrap; } }
.hero-tagline {
  font-family:var(--font-sans); font-size:var(--lead-size);
  line-height:1.6; color:rgba(255,255,255,.9);
  margin-bottom:3rem;
}
.btn-primary {
  display:inline-block; padding:1rem 2.5rem; border-radius:50px;
  background:var(--white); color:var(--black);
  border:2px solid transparent; font-family:var(--font-sans);
  font-weight:500; transition:all .3s ease;
}
.btn-primary:hover { background:var(--black); color:var(--white); border-color:var(--white); }

/* Section Headings */
.section h2 {
  font-size:var(--section-title-size); font-weight:700;
  margin:0 0 1.5rem; text-align:center;
}
.section p.lead {
  font-size:var(--lead-size); color:rgba(255,255,255,.8);
  max-width:64ch; margin:0 auto 2rem; text-align:center; line-height:1.7;
}

/* Cards */
.card-dark {
  background:var(--card-dark); border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius); padding:2rem; box-shadow:0 4px 8px rgba(0,0,0,.3);
}
.card-dark h3 {
  font-size:var(--card-title-size); font-weight:600;
  margin:0 0 1rem; text-align:center;
}
.card-dark p { color:var(--text-muted); line-height:1.6; }

/* Grid layouts */
.grid-two { display:grid; gap:2rem; max-width:900px; margin:0 auto; }
@media (min-width:768px){ .grid-two { grid-template-columns:repeat(2,1fr); } }

/* Promises list bullets */
.list-bullet { display:flex; align-items:flex-start; gap:.75rem; }
.list-bullet .bullet {
  width:8px; height:8px; border-radius:999px;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.1);
  flex-shrink:0; margin-top:.5rem;
}
.list-bullet span { color:rgba(255,255,255,.9); }

/* Animations */
.fade-in,.slide-up,.scale-in,.text-reveal { opacity:0; }
.fade-in { transform:translateY(30px); }
.slide-up { transform:translateY(50px); }
.scale-in { transform:scale(.9); }
.text-reveal { transform:translateY(20px); }
.fade-in.visible {
  opacity:1; transform:translateY(0);
  transition:opacity .8s cubic-bezier(.4,0,.2,1), transform .8s cubic-bezier(.4,0,.2,1);
}
.slide-up.visible {
  opacity:1; transform:translateY(0);
  transition:opacity .6s cubic-bezier(.4,0,.2,1), transform .6s cubic-bezier(.4,0,.2,1);
}
.scale-in.visible {
  opacity:1; transform:scale(1);
  transition:opacity .7s cubic-bezier(.4,0,.2,1), transform .7s cubic-bezier(.4,0,.2,1);
}
.text-reveal.visible {
  opacity:1; transform:translateY(0);
  transition:opacity .8s cubic-bezier(.4,0,.2,1), transform .8s cubic-bezier(.4,0,.2,1);
}
/* Stagger helpers */
.stagger-1{ transition-delay:.1s; }
.stagger-2{ transition-delay:.2s; }
.stagger-3{ transition-delay:.3s; }
.stagger-4{ transition-delay:.4s; }

/* Contact form legacy styles */
.contact-form input,.contact-form textarea {
  width:100%; padding:.75rem 1rem; border:1px solid rgba(255,255,255,.2);
  border-radius:var(--radius); background:var(--card-dark);
  color:var(--foreground); font-family:var(--font-sans);
}
.contact-form input::placeholder,.contact-form textarea::placeholder { color:rgba(255,255,255,.5); }
.contact-form label { display:block; margin-bottom:.25rem; font-family:var(--font-sans); color:var(--foreground); font-weight:500; }
.contact-form button { width:100%; margin-top:1rem; }

/* Footer */
.site-footer {
  background:var(--black); border-top:1px solid rgba(255,255,255,.1);
  padding:3rem 0; text-align:center;
}
.site-footer p {
  margin:.5rem 0; color:rgba(255,255,255,.6);
  font-family:var(--font-sans); font-size:.875rem;
}

/* --- Utility classes used in markup --- */
.text-center { text-align:center; }
.mb-16 { margin-bottom:4rem; }
.grid { display:grid; }
.gap-8 { gap:2rem; }
.lg\:grid-cols-2 { grid-template-columns:1fr; }
@media (min-width:1024px){ .lg\:grid-cols-2 { grid-template-columns:1fr 1fr; } }
