/*
Theme Name:   Hello Elementor Child — AIWP
Theme URI:    https://associazioneitalianaweddingplanner.it
Description:  Child theme di Hello Elementor per AIWP
Author:       AIWP — Associazione Italiana Wedding Planner
Author URI:   https://associazioneitalianaweddingplanner.it
Template:     hello-elementor
Version:      1.0.0
Text Domain:  hello-elementor-child
*/

/* ============================================================
   AIWP DESIGN SYSTEM
   Variabili colore, tipografia e utility globali
   ============================================================ */

:root {
  --blue:      #13529C;
  --blue-dark: #0D3B72;
  --blue-deep: #071E3D;
  --blue-pale: #E8EFF8;
  --copper:    #B87333;
  --copper-dk: #9E6128;
  --copper-lt: #C98844;
  --cloud:     #F6F4F0;
  --cloud-alt: #EDEBE6;
  --line:      #DDDBD7;
  --mid:       #9E9B97;
  --muted:     #5A5855;
  --ink:       #1C1C1A;
  --serif: 'Playfair Display', Georgia, serif;
  --sans:  'Inter', system-ui, sans-serif;
  --ease:  0.3s cubic-bezier(.25,.46,.45,.94);
}

/* ── RESET BASE ──────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.7;
  color: var(--ink);
  background: var(--cloud);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }

/* ── LAYOUT ──────────────────────────────────────────────── */
.aiwp-wrap {
  width: 100%;
  padding: 0 1.25rem;
}
@media (min-width: 768px) {
  .aiwp-wrap { max-width: 1280px; margin: 0 auto; padding: 0 2rem; }
}

/* ── TIPOGRAFIA ──────────────────────────────────────────── */
.aiwp-lbl {
  font-size: .62rem; font-weight: 600;
  letter-spacing: .2em; text-transform: uppercase;
  color: var(--copper-dk); margin-bottom: .75rem;
  display: flex; align-items: center; gap: .6rem;
}
.aiwp-lbl::before {
  content: ''; display: block; flex-shrink: 0;
  width: 18px; height: 1px; background: var(--copper-dk);
}
.aiwp-lbl--light { color: var(--copper-lt); }
.aiwp-lbl--light::before { background: var(--copper-lt); }

/* ── BOTTONI ─────────────────────────────────────────────── */
.aiwp-btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: .5rem; font-size: .72rem; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase;
  padding: .9rem 1.8rem; border-radius: 2px;
  transition: all var(--ease); cursor: pointer; border: none;
}
.aiwp-btn--copper { background: var(--copper); color: #fff; }
.aiwp-btn--copper:hover { background: var(--copper-dk); color: #fff; }
.aiwp-btn--blue { background: var(--blue); color: #fff; }
.aiwp-btn--blue:hover { background: var(--blue-dark); color: #fff; }
.aiwp-btn--outline { background: transparent; color: var(--blue); border: 1px solid var(--blue); }
.aiwp-btn--outline:hover { background: var(--blue); color: #fff; }

/* ── REVEAL ON SCROLL ────────────────────────────────────── */
.reveal {
  opacity: 0;
  transition: opacity .65s ease;
}
.reveal.in { opacity: 1; }
.d1 { transition-delay: .1s; }
.d2 { transition-delay: .2s; }
.d3 { transition-delay: .3s; }
.d4 { transition-delay: .4s; }

@media (min-width: 1080px) {
  .reveal {
    transform: translateY(20px);
    transition: opacity .65s ease, transform .65s ease;
  }
  .reveal.in { transform: translateY(0); }
}

/* ── PHOSPHOR ICONS sizing ───────────────────────────────── */
.ph { font-style: normal; line-height: 1; display: inline-block; }
.icon-sm  { font-size: 1.1rem; }
.icon-md  { font-size: 1.4rem; }
.icon-lg  { font-size: 1.8rem; }
.icon-xl  { font-size: 2.4rem; }

/* ── PLACEHOLDER FOTO ────────────────────────────────────── */
.aiwp-ph {
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: .5rem; text-align: center;
  background: var(--blue-pale);
  border: 1px dashed rgba(19,82,156,.22);
  width: 100%; height: 100%; min-height: 200px; padding: 1rem;
}
.aiwp-ph--dark { background: rgba(13,59,114,.45); border-color: rgba(255,255,255,.22); }
.aiwp-ph--neutral { background: var(--cloud-alt); border-color: var(--line); }

/* ── NAV DROPDOWN ────────────────────────────────────────── */
.nav__dropdown { position: relative; }
.nav__dropdown-btn {
  font-size: .73rem; font-weight: 500;
  letter-spacing: .07em; text-transform: uppercase;
  color: var(--muted); background: none; border: none;
  cursor: pointer; font-family: var(--sans);
  display: flex; align-items: center; gap: .3rem;
  padding: 0; transition: color var(--ease);
}
.nav__dropdown-btn:hover { color: var(--blue); }
.nav__dropdown-menu {
  display: none;
  position: absolute; top: calc(100% + 12px); left: 50%;
  transform: translateX(-50%);
  background: var(--cloud);
  border: 1px solid var(--line);
  box-shadow: 0 8px 32px rgba(7,30,61,.10);
  min-width: 220px; z-index: 300; padding: .5rem 0;
}
.nav__dropdown-menu a {
  display: block; padding: .65rem 1.2rem;
  font-size: .78rem; font-weight: 500;
  color: var(--muted); transition: all var(--ease);
  text-transform: none; letter-spacing: .02em;
}
.nav__dropdown-menu a:hover { color: var(--blue); background: var(--blue-pale); padding-left: 1.5rem; }
.nav__dropdown.open .nav__dropdown-menu { display: block; }
