/* =========================================================
   FAR7NA THEME KIT — base layer shared by every kit design.
   Root class `.f7-kit` is set on <body> (guest page) or on
   .inv-master-renderer (wizard preview) while a kit design is
   active; `.f7-opened` is added once its opening has finished.
   Design stylesheets (assets/themes/<id>/<id>.css) build on this.
   ========================================================= */

/* ---------- The classic cover card is replaced by the design's opening ---------- */
.f7-kit .baroque-card-wrap,
.f7-kit #landing > .sparkles,
.f7-kit .inv-landing-cover > .sparkles { display: none !important; }
body.f7-kit #landing { padding: 0; }

/* The preview keeps the invitation in the flow behind its cover; take it out until the
   opening has played so the opening fills exactly one screen. */
.inv-master-renderer.f7-kit:not(.f7-opened) .inv-main-content { display: none !important; }

/* Page-level falling effects wait until the invitation is open */
.f7-kit:not(.f7-opened) .falling-effects-canvas,
.f7-kit:not(.f7-opened) .falling-effects-toggle { opacity: 0 !important; pointer-events: none !important; }

/* Classic floral artwork belongs to the classic designs */
.f7-kit .hero-paper-card > .corner-flower-tl,
.f7-kit .hero-paper-card > .corner-flower-br,
.f7-kit .fl { display: none !important; }

/* ---------- Opening overlay (built by Far7naThemeKit.helpers.createOpening) ---------- */
.f7-open {
  position: absolute; inset: 0; z-index: 40;
  container-type: size;
  overflow: hidden; cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none; user-select: none;
  transition: opacity 0.9s cubic-bezier(.4, 0, .2, 1), visibility 0.9s;
}
.f7-open.is-opening { cursor: default; }
.f7-open.is-done { opacity: 0; visibility: hidden; pointer-events: none; }
.f7-open:focus-visible { outline: 2px solid currentColor; outline-offset: -6px; }

/* ---------- Scroll reveal (added by Far7naThemeKit.enhancePage) ---------- */
.f7-reveal { opacity: 0; transform: translateY(28px); transition: opacity 1s cubic-bezier(.22, 1, .36, 1), transform 1s cubic-bezier(.22, 1, .36, 1); }
.f7-reveal.f7-in { opacity: 1; transform: none; }

/* ---------- Couple-name fonts picked in the wizard (all designs) ---------- */
.f7-font-ar .c-name-ar,
.f7-font-ar .f-names,
.f7-font-ar [data-f7="groom"],
.f7-font-ar [data-f7="bride"],
.f7-font-ar [data-f7="monogram"] { font-family: var(--f7-font-ar) !important; word-spacing: var(--f7-word-spacing, normal); }
/* Hero names hold English names when given, otherwise Arabic: the stack covers both scripts */
.f7-font-ar .eng-gname,
.f7-font-en .eng-gname,
.f7-font-ar [data-f7-names],
.f7-font-en [data-f7-names] { font-family: var(--f7-font-names) !important; word-spacing: var(--f7-word-spacing, normal); }
.f7-font-en [data-f7="groom-en"],
.f7-font-en [data-f7="bride-en"] { font-family: var(--f7-font-en) !important; }

@media (prefers-reduced-motion: reduce) {
  .f7-open, .f7-open * { animation: none !important; transition-duration: .3s !important; }
  .f7-reveal { opacity: 1; transform: none; transition: none; }
}
