/*
Theme Name: turismo
Theme URI: https://themelab.app
Author: Themelab
Author URI: https://themelab.app
Description: Tema generato automaticamente con Themelab + Claude AI
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: turismo
Tags: elementor, custom, ai-generated
*/

:root {
  --color-primary: #1B4F8A;
  --color-secondary: #2E86C1;
  --font-main: 'Inter', sans-serif;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
  font-family: var(--font-main);
  background: #020617;
  color: #f1f5f9;
  line-height: 1.6;
}

.elementor-section { width: 100%; }

/* ── WP Bakery fallback layout ───────────────────────────────── */
.elz-row {
  display: flex; flex-wrap: wrap;
  max-width: 1200px; margin: 0 auto; padding: 3rem 1.5rem;
  gap: 1.5rem;
}
.elz-row--full { max-width: none; }
.elz-row-inner { padding: 0; }
.elz-col { flex: 1 1 0%; min-width: 0; }
.elz-col--1-2 { flex: 0 0 calc(50% - .75rem); }
.elz-col--1-3 { flex: 0 0 calc(33.333% - 1rem); }
.elz-col--2-3 { flex: 0 0 calc(66.667% - .75rem); }
.elz-col--1-4 { flex: 0 0 calc(25% - 1.125rem); }
.elz-col--3-4 { flex: 0 0 calc(75% - .375rem); }
.elz-text { line-height: 1.7; }
.elz-text p { margin-bottom: .85rem; }
.elz-btn {
  display: inline-block; padding: .75rem 1.75rem;
  border-radius: 8px; text-decoration: none; font-weight: 700;
  background: var(--color-primary); color: #fff; transition: opacity .2s;
}
.elz-btn:hover { opacity: .85; color: #fff; }
.elz-btn--outline { background: transparent; border: 2px solid var(--color-primary); color: var(--color-primary); }
.elz-btn--sm { padding: .45rem 1rem; font-size: .85rem; }
.elz-btn--lg { padding: 1rem 2.25rem; font-size: 1.1rem; }
.elz-separator { border: none; border-top: 1px solid #e5e7eb; margin: 1rem 0; }
@media (max-width: 768px) {
  .elz-row { flex-direction: column; padding: 2rem 1rem; }
  .elz-col--1-2, .elz-col--1-3, .elz-col--2-3,
  .elz-col--1-4, .elz-col--3-4 { flex: 0 0 100%; }
}

/* ── CSS estratto dal layout HTML originale ─────────────────── */

    :root {
      --color-primary: #1B4F8A;
      --color-secondary: #2E86C1;
      --color-accent: #F0A500;
      --color-sand: #F5E6C8;
      --color-text: #1A1A2E;
      --color-muted: #6B7280;
      --color-bg: #FAFAF8;
    }

    @media (prefers-color-scheme: dark) {
      :root {
        --color-bg: #0F1923;
        --color-text: #F0F4F8;
      }
      body { background-color: #0F1923; color: #F0F4F8; }
      .dark-card { background-color: #1A2535 !important; }
      .dark-nav { background-color: rgba(15,25,35,0.95) !important; }
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { font-family: 'Inter', sans-serif; color: var(--color-text); background: var(--color-bg); }

    .font-serif { font-family: 'Playfair Display', serif; }

    .hero-gradient {
      background: linear-gradient(135deg, rgba(27,79,138,0.75) 0%, rgba(46,134,193,0.45) 50%, rgba(0,0,0,0.3) 100%);
    }

    .badge-blue { background: #DBEAFE; color: #1E40AF; }
    .badge-teal { background: #CCFBF1; color: #0F766E; }
    .badge-purple { background: #EDE9FE; color: #6D28D9; }
    .badge-pink { background: #FCE7F3; color: #BE185D; }
    .badge-green { background: #DCFCE7; color: #15803D; }
    .badge-orange { background: #FEF3C7; color: #92400E; }

    .star-rating { color: #F0A500; }

    .card-hover { transition: transform 0.25s ease, box-shadow 0.25s ease; }
    .card-hover:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(27,79,138,0.15); }

    .btn-primary {
      background: linear-gradient(135deg, #1B4F8A, #2E86C1);
      color: white;
      transition: transform 0.2s, box-shadow 0.2s;
    }
    .btn-primary:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(27,79,138,0.35);
    }

    .btn-accent {
      background: linear-gradient(135deg, #F0A500, #E08800);
      color: white;
      transition: transform 0.2s, box-shadow 0.2s;
    }
    .btn-accent:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(240,165,0,0.35);
    }

    .wave-divider { overflow: hidden; line-height: 0; }
    .section-divider { height: 3px; background: linear-gradient(90deg, transparent, #1B4F8A, #2E86C1, transparent); }

    .nav-link { position: relative; }
    .nav-link::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0;
      height: 2px;
      background: #F0A500;
      transition: width 0.3s;
    }
    .nav-link:hover::after { width: 100%; }

    .zone-card { transition: transform 0.25s ease, box-shadow 0.25s ease; }
    .zone-card:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(27,79,138,0.12); }

    .filter-btn { transition: all 0.2s; }
    .filter-btn.active { background: #1B4F8A; color: white; }

    input, select { transition: border-color 0.2s, box-shadow 0.2s; }
    input:focus, select:focus { border-color: #2E86C1; box-shadow: 0 0 0 3px rgba(46,134,193,0.15); outline: none; }
  

/* ── CSS personalizzato generato da Claude ───────────────────── */


/* ── Nav menu WordPress ──────────────────────────────────────── */
.nav-menu { list-style: none; display: flex; align-items: center; gap: 1.5rem; margin: 0; padding: 0; }
.nav-menu li { margin: 0; }
.nav-menu a {
  text-decoration: none; font-weight: 500; font-size: .95rem;
  color: inherit; transition: opacity .2s; white-space: nowrap;
}
.nav-menu a:hover { opacity: .7; }
@media (max-width: 768px) {
  .nav-menu { display: none; }
  .main-navigation.open .nav-menu { display: flex; flex-direction: column; gap: .75rem; }
}
