/* ===== TOP-CAMPINGS.FR — CSS Global ===== */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,'Inter','Segoe UI',Roboto,sans-serif;line-height:1.8;color:#1a1a1a;background:#f8fafc;font-size:16px}

/* ---- HEADER ---- */
header{background:linear-gradient(135deg,#0f172a 0%,#1e3a5f 100%);color:#fff;padding:3rem 2rem;text-align:center;position:relative}
header::after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#0ea5e9,#06b6d4)}
.site-brand{font-size:.85rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#93c5fd;margin-bottom:.5rem}
header h1{font-size:2.6rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.8rem;line-height:1.2}
header p{font-size:1.1rem;opacity:.85;max-width:680px;margin:0 auto}

/* ---- NAV ---- */
nav{background:#fff;position:sticky;top:0;z-index:1000;box-shadow:0 2px 8px rgba(0,0,0,.07);border-bottom:1px solid #e2e8f0}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem}
.nav-logo{font-weight:800;font-size:1.1rem;color:#0f172a;text-decoration:none;padding:1rem 0;white-space:nowrap}
.nav-logo span{color:#3b82f6}
nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:0;margin:0}
nav a{color:#475569;text-decoration:none;font-weight:500;font-size:.9rem;padding:1.1rem 1rem;display:block;border-bottom:3px solid transparent;transition:all .2s;white-space:nowrap}
nav a:hover,nav a.active{color:#0f172a;border-bottom-color:#3b82f6;background:#f8fafc}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:1rem}
.nav-toggle span{display:block;width:24px;height:2px;background:#0f172a;transition:all .3s;transform-origin:center}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---- BREADCRUMB ---- */
.breadcrumb{background:#f1f5f9;border-bottom:1px solid #e2e8f0;padding:.6rem 0}
.breadcrumb-inner{max-width:1200px;margin:0 auto;padding:0 2rem;font-size:.85rem;color:#64748b}
.breadcrumb a{color:#3b82f6;text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}

/* ---- CONTAINER ---- */
.container{max-width:1200px;margin:0 auto;padding:2.5rem 2rem}

/* ---- SECTIONS ---- */
section{background:#fff;margin:2rem 0;padding:3rem;border-radius:16px;box-shadow:0 1px 4px rgba(0,0,0,.05);border:1px solid #f1f5f9}
h2{color:#0f172a;font-size:2rem;margin-bottom:1.5rem;padding-bottom:.8rem;border-bottom:2px solid #e2e8f0;font-weight:700;letter-spacing:-.02em}
h3{color:#1e293b;font-size:1.5rem;margin:2rem 0 1rem;font-weight:600}
h4{color:#334155;font-size:1.15rem;margin:1.5rem 0 .8rem;font-weight:600}
p{margin-bottom:1.2rem;color:#475569;line-height:1.8;text-align:justify}
ul{margin:1.2rem 0 1.2rem 2rem}
li{margin:.7rem 0;color:#475569;line-height:1.7}
li strong{color:#1e293b}
a{color:#3b82f6}

/* ---- HERO SECTION ---- */
.hero-section{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border:1px solid #bfdbfe;padding:3rem;border-radius:16px;margin:2rem 0}
.hero-section h2{border-bottom-color:#bfdbfe;color:#1e3a5f}

/* ---- STATS GRID ---- */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.2rem;margin:2rem 0}
.stat-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;padding:2rem;text-align:center;transition:all .3s}
.stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.08)}
.stat-number{font-size:2.6rem;font-weight:800;background:linear-gradient(135deg,#3b82f6,#0ea5e9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em;margin-bottom:.4rem}
.stat-label{color:#64748b;font-size:.9rem;font-weight:500}

/* ---- CAMPING CARDS GRID ---- */
.campings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin:2rem 0}
.camping-card-item{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1.8rem;transition:all .3s;text-decoration:none;color:inherit;display:block}
.camping-card-item:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.1);border-color:#93c5fd}
.camping-card-item .region-tag{display:inline-block;background:#dbeafe;color:#1d4ed8;font-size:.78rem;font-weight:600;padding:.3rem .8rem;border-radius:20px;margin-bottom:.8rem;text-transform:uppercase;letter-spacing:.05em}
.camping-card-item h3{font-size:1.15rem;margin:0 0 .6rem;color:#0f172a}
.camping-card-item p{font-size:.9rem;margin:0 0 1rem;color:#64748b;text-align:left}
.camping-card-item .stars{color:#f59e0b;font-size:.9rem;margin-bottom:.5rem}
.card-link-btn{display:inline-block;background:#3b82f6;color:#fff;padding:.55rem 1.2rem;border-radius:8px;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .2s}
.card-link-btn:hover{background:#2563eb}

/* ---- HIGHLIGHT BOX ---- */
.highlight-box{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24;border-left:4px solid #f59e0b;border-radius:12px;padding:1.5rem;margin:1.5rem 0}
.highlight-box strong{color:#92400e}

/* ---- INFO BOX ---- */
.info-box{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #6ee7b7;border-left:4px solid #10b981;border-radius:12px;padding:1.5rem;margin:1.5rem 0}
.info-box strong{color:#065f46}

/* ---- CTA BUTTON ---- */
.cta-btn{display:inline-block;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:1rem 2.5rem;border-radius:10px;text-decoration:none;font-weight:700;font-size:1rem;box-shadow:0 4px 12px rgba(59,130,246,.3);transition:all .3s;margin-top:1rem}
.cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(59,130,246,.4);background:linear-gradient(135deg,#2563eb,#1d4ed8)}
.cta-btn-outline{display:inline-block;border:2px solid #3b82f6;color:#3b82f6;padding:.85rem 2rem;border-radius:10px;text-decoration:none;font-weight:600;font-size:.95rem;transition:all .2s;margin:.5rem}
.cta-btn-outline:hover{background:#3b82f6;color:#fff}

/* ---- FAQ ---- */
.faq-item{border:1px solid #e2e8f0;border-radius:10px;margin:.8rem 0;overflow:hidden}
.faq-question{padding:1.2rem 1.5rem;font-weight:600;color:#1e293b;cursor:pointer;background:#f8fafc;border:none;width:100%;text-align:left;font-size:1rem}
.faq-answer{padding:1.2rem 1.5rem;color:#475569;border-top:1px solid #e2e8f0;display:none}
.faq-answer.open{display:block}

/* ---- FOOTER ---- */
footer{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;padding:3rem 2rem;margin-top:4rem}
.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem}
.footer-col h4{color:#93c5fd;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem}
.footer-col a{display:block;color:rgba(255,255,255,.7);text-decoration:none;font-size:.88rem;margin:.4rem 0;transition:color .2s}
.footer-col a:hover{color:#fff}
.footer-bottom{max-width:1200px;margin:2rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);text-align:center;color:rgba(255,255,255,.5);font-size:.82rem}
.footer-disclaimer{font-size:.78rem;color:rgba(255,255,255,.4);margin-top:.5rem}

/* ---- RESPONSIVE ---- */
@media(max-width:768px){
  header h1{font-size:1.9rem}
  .nav-toggle{display:flex}
  nav ul{flex-direction:column;max-height:0;overflow:hidden;transition:max-height .3s ease}
  nav ul.open{max-height:700px}
  nav a{padding:.9rem 1.5rem;border-bottom:1px solid #f1f5f9;border-left:3px solid transparent}
  nav a:hover,nav a.active{border-left-color:#3b82f6;border-bottom-color:transparent}
  section{padding:1.8rem}
  .container{padding:1.5rem 1rem}
  h2{font-size:1.6rem}
  .campings-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr 1fr}
  .footer-inner{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .stats-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
}
