/*
Theme Name: Vincenzo & Emilia Wedding
Theme URI: https://example.com/
Author: (tuo nome)
Description: Single-page wedding theme with a large above-the-fold hero section.
Version: 1.0
Text Domain: vincenzo-emilia
*/

@font-face {
  font-family: 'Parfumerie Script';
  src: url('fonts/parfumerie/Parfumerie Font/ParfumerieScriptRegular.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}

/* Basic reset */
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: "EB Garamond", serif;
  color: #222;
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.02));
}

.site { min-height: 100vh; display: flex; flex-direction: column; }

/* Hero title with Parfumerie Script */
.hero h1 { font-family: 'Parfumerie Script', cursive; }

/* HERO */
.hero { position: relative; height: 100vh; width: 100%; display: flex; align-items: center; justify-content: center; background-size: cover; background-position: center center; }
.hero::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,0.55); }
.hero-content { position: relative; z-index: 2; text-align: center; color: #fff; padding: 0 1rem; }
.hero h1 { font-size: 10rem; margin-bottom: 0.5rem; }
.hero p.lead { font-size: clamp(1rem, 2.6vw, 1.4rem); margin-bottom: 1.25rem; opacity: 0.95; }

/* CTA as circular arrow */
.hero .cta { display: inline-grid; place-items: center; width: 64px; height: 64px; margin-top: 0.75rem; background: rgba(255,255,255,0.08); color: #fff; border: 1px solid rgba(255,255,255,0.14); border-radius: 50%; text-decoration: none; transition: transform 0.28s ease, background-color 0.2s ease, box-shadow 0.2s ease; }
.hero .cta:focus { outline: 2px solid rgba(255,255,255,0.2); outline-offset: 4px; }
.hero .cta .bi { font-size: 22px; line-height: 1; color: #fff; transition: transform 0.28s ease; display: inline-block; }
.hero .cta:hover { transform: translateY(4px); background: rgba(255,255,255,0.12); box-shadow: 0 6px 18px rgba(0,0,0,0.25); }
.hero .cta:hover .bi { transform: translateY(6px); }

@media (max-width: 768px) {
  .hero h1 { font-size: 7rem; }
}


/* Content section example */
.content { max-width: 900px; margin: 3rem auto; padding: 0 1rem; }

/* Utility */
.visually-hidden { position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* Default background placeholder if no image specified inline */
.hero.default-bg { background-image: url('images/hero.jpg'); }

@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }

/* Story / gift section adjustments (use Bootstrap grid and utilities) */
.story { padding-top: 3rem; padding-bottom: 3rem; }
.monospace { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, "Roboto Mono", "Courier New", monospace; background: rgba(0,0,0,0.03); padding: 0.12rem 0.35rem; border-radius: 4px; }

.iban-card { background: rgba(255,255,255,0.02); border-radius: 8px; width: fit-content; margin: 2rem auto; }
.iban-card p { margin: 0; }

@media (min-width: 900px) {
	.story { padding-top: 4rem; padding-bottom: 4rem; }
}

.form-control:focus { box-shadow: none; }

button[type="submit"],
button[type="submit"]:hover {
  margin-top: 2rem;
  background-color: #C3A03F;
  color: #fff;
  border: none;
  letter-spacing: 1px;
  text-transform: uppercase;
}

button[type="submit"]:hover {
  box-shadow: 0 5px 20px rgba(0,0,0,.05);
}