:root{
  --bg-main:#f5f1eb; --bg-alt:#f0e8dd; --text-main:#372922; --text-muted:#7b6a5f;
  --accent:#b88a60; --accent-dark:#8b6b4a; --danger:#9b2c2c;
  --border-soft:rgba(0,0,0,.08); --radius-lg:18px; --radius-md:12px; --shadow-soft:0 18px 40px rgba(0,0,0,.08);
}
*{box-sizing:border-box} html,body{margin:0;padding:0;font-family:Montserrat,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text-main);background:var(--bg-main);line-height:1.6}
a{text-decoration:none;color:inherit}
.container{max-width:1040px;margin:0 auto;padding:0 20px}

.site-header{position:fixed;top:0;left:0;right:0;z-index:20;background:rgba(245,241,235,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,0,0,.03)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-family:"Playfair Display",serif;font-weight:600;letter-spacing:.16em;font-size:.85rem}
.main-nav{display:flex;gap:18px;font-size:.9rem}
.main-nav a{position:relative;padding-bottom:4px}
.main-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--accent);transition:width .2s ease}
.main-nav a:hover::after{width:100%}

.hero{position:relative;height:100vh;min-height:560px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-image{
  position:absolute;
  inset:0;
  background-image:url("/images/img5171.jpg");
  background-size:cover;
  background-position:center;
  transform:scale(1.02);
  z-index:0;
}

.hero-overlay{
  position:absolute;
  inset:0;
  background-color: rgba(0,0,0,.22);
  background-image:
    radial-gradient(circle at top left, rgba(255,255,255,.92), transparent 48%),
    linear-gradient(to bottom, rgba(30,16,8,.40), rgba(30,16,8,.88));
  z-index:1;
  pointer-events:none;
}
.hero-content{position:relative;z-index:1;text-align:center;color:#fff;padding-top:80px}
.hero-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;margin:0 0 12px;opacity:.9}
.hero h1{font-family:"Playfair Display",serif;font-size:clamp(2.1rem,4.2vw,3.2rem);margin:0 0 8px}
.hero-date{font-size:1rem;letter-spacing:.05em;text-transform:uppercase}
.hero-sub{margin-top:6px;font-size:.95rem;opacity:.9}
.hero-actions{margin-top:28px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.scroll-down{display:inline-block;margin-top:28px;opacity:.85;font-size:.9rem}

.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 22px;border-radius:999px;font-size:.9rem;font-weight:500;border:1px solid transparent;cursor:pointer;transition:all .18s ease}
.btn-primary{background:var(--accent-dark);color:#fff;box-shadow:0 14px 30px rgba(0,0,0,.25)}
.btn-primary:hover{background:#6e5238;transform:translateY(-1px);box-shadow:0 20px 40px rgba(0,0,0,.3)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.85)}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-soft{background:#fff;color:var(--accent-dark);border-color:rgba(0,0,0,.08);box-shadow:0 10px 26px rgba(0,0,0,.06)}
.btn-danger{background:var(--danger);color:#fff}
.btn-full{width:100%}
.btn-link{border-radius:999px;padding:4px 0;font-size:.85rem;color:var(--accent-dark)}

.section{padding:80px 0}
.section-alt{background:var(--bg-alt)}
.section h2{font-family:"Playfair Display",serif;font-size:1.8rem;margin:0 0 28px}

.timeline{border-radius:var(--radius-lg);background:#fff;padding:24px 24px 6px;box-shadow:var(--shadow-soft);border:1px solid var(--border-soft)}
.timeline-item{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid rgba(0,0,0,.05)}
.timeline-item:last-child{border-bottom:none}
.time{font-size:.9rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}
.timeline-item h3{margin:0 0 4px;font-size:1.05rem}

.muted{color:var(--text-muted)} .small{font-size:.85rem} .xsmall{font-size:.78rem} .center{text-align:center}
.grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}

.card{background:#fff;border-radius:var(--radius-md);padding:18px 18px 16px;border:1px solid var(--border-soft);box-shadow:0 10px 24px rgba(0,0,0,.04)}
.card h3{margin:0 0 6px;font-size:1rem}
.card-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.map-placeholder{
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg,#dfd6c8,#f3ece3);
  box-shadow: var(--shadow-soft);
  border: 1px dashed rgba(0,0,0,.15);

  /* cambia layout: niente flex/centratura e niente padding */
  padding: 0;
  overflow: hidden;

  /* ratio stile Google Maps */
  aspect-ratio: 16 / 10;
} 
.map-placeholder{
  padding: 0;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  box-shadow: var(--shadow-soft), inset 0 0 0 12px rgba(255,255,255,.18);
}
.map-placeholder iframe{
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.rsvp-form{background:#fff;border-radius:var(--radius-lg);padding:22px 20px;box-shadow:var(--shadow-soft);border:1px solid var(--border-soft)}
.field{margin-bottom:14px}
.field label{display:block;font-size:.84rem;font-weight:500;margin-bottom:5px}
input[type="text"],input[type="email"],select,textarea{width:100%;padding:9px 11px;border-radius:10px;border:1px solid rgba(0,0,0,.14);font-family:inherit;font-size:.9rem;outline:none;background:#faf7f2;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 1px rgba(184,138,96,.25);background:#fff}
.field-inline{display:grid;grid-template-columns:1fr 1fr;gap:12px}

.faq-list details{background:#fff;border-radius:var(--radius-md);padding:10px 14px;margin-bottom:8px;border:1px solid var(--border-soft);cursor:pointer}
.faq-list summary{list-style:none;font-size:.92rem;font-weight:500}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list details[open]{border-color:var(--accent);box-shadow:0 10px 26px rgba(0,0,0,.06)}
.faq-list p{margin-top:6px;font-size:.86rem}

.gift-box .iban{font-family:Montserrat,monospace;font-size:.9rem;margin-bottom:6px}
.gift-box hr{border:none;border-top:1px dashed rgba(0,0,0,.1);margin:14px 0}

.site-footer{padding:28px 0 30px;border-top:1px solid rgba(0,0,0,.04);background:rgba(245,241,235,.98);margin-top:30px}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:16px}

.notice{border-radius:12px;padding:10px 12px;border:1px solid rgba(0,0,0,.08);background:#fff;margin:10px 0 0}
.notice.success{border-color:rgba(46,125,50,.25);background:rgba(46,125,50,.06)}
.notice.error{border-color:rgba(198,40,40,.25);background:rgba(198,40,40,.06)}
.notice ul{margin:6px 0 0 18px}

.admin-wrap{padding-top:92px;padding-bottom:50px}
.admin-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:18px 0}
.admin-header h1{font-family:"Playfair Display",serif;margin:0;font-size:2rem}
.admin-actions{display:flex;gap:10px;align-items:center}
.admin-search{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.admin-search input{max-width:240px}
.admin-table{width:100%;border-collapse:collapse}
.admin-table th,.admin-table td{padding:10px;border-bottom:1px solid rgba(0,0,0,.06);text-align:left;font-size:.92rem}
.admin-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}
.pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.06em}
.pill-yes{background:rgba(46,125,50,.10);color:rgb(46,125,50);border:1px solid rgba(46,125,50,.18)}
.pill-no{background:rgba(198,40,40,.10);color:rgb(198,40,40);border:1px solid rgba(198,40,40,.18)}

@media(max-width:768px){
  .main-nav{gap:10px;font-size:.78rem}
  .hero{height:92vh}
  .grid-2{grid-template-columns:1fr}
  .timeline-item{grid-template-columns:1fr}
  .field-inline{grid-template-columns:1fr}
  .footer-inner{flex-direction:column;align-items:flex-start}
  .admin-header{flex-direction:column}
}
