/* Components — Magnolia Plantation Weddings */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.85rem 2rem;font-family:var(--font-heading);font-size:0.85rem;font-weight:var(--fw-bold);letter-spacing:0.12em;text-transform:uppercase;border-radius:4px;transition:all var(--transition-btn);cursor:pointer;border:none;overflow:hidden;position:relative}
.btn-primary{background:var(--color-accent);color:var(--color-bg-primary)}
.btn-primary:hover{background:var(--color-accent-light);box-shadow:var(--glow-accent);transform:translateY(-2px)}
.btn-secondary{background:transparent;color:var(--color-text-primary);border:2px solid var(--color-accent)}
.btn-secondary:hover{background:var(--color-accent);color:var(--color-bg-primary)}
.btn-nav-cta{background:var(--color-accent);color:var(--color-bg-primary);padding:0.6rem 1.5rem;font-size:0.75rem;margin-left:auto}
.btn-nav-cta:hover{background:var(--color-accent-light);box-shadow:var(--glow-accent-sm)}
.btn-anim-wipe{position:relative;overflow:hidden}
.btn-anim-wipe::after{content:"";position:absolute;inset:0;background:var(--color-accent-light);transform:translateX(-100%);transition:transform 500ms var(--ease-sweep);z-index:0}
.btn-anim-wipe:hover::after{transform:translateX(0)}
.btn-anim-wipe span{position:relative;z-index:1}
.eyebrow{font-family:var(--font-heading);font-size:var(--size-label);letter-spacing:0.3em;text-transform:uppercase;color:var(--color-accent);margin-bottom:0.75rem}
.section-header{text-align:center;margin-bottom:4rem}
.section-header h2{font-family:var(--font-heading);font-size:var(--size-section-h2);font-weight:var(--fw-black);line-height:1.1;text-transform:uppercase}
.section-header p{color:var(--color-text-muted);max-width:600px;margin:1rem auto 0;font-size:1.05rem;line-height:1.7}
.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;padding:2rem;transition:all 400ms var(--ease-out-expo)}
.card:hover{transform:translateY(-4px);border-color:var(--color-accent);box-shadow:var(--glow-accent-sm)}
/* autofix: nav dark background on scroll */
#nav {
  transition: background 0.4s ease, box-shadow 0.4s ease, backdrop-filter 0.4s ease;
}
#nav.scrolled {
  background: rgba(10, 10, 18, 0.92);
  box-shadow: 0 2px 24px rgba(0,0,0,0.45);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* autofix: hamburger aligned with logo on mobile */
.nav-hamburger {
  align-items: center;
  align-self: center;
  flex-direction: column;
}
