/* Baitun Nisa Academy — brand & motion layer */
html { scroll-behavior: smooth; }
::selection { background: #6B2D5C; color: #fff; }
body { -webkit-font-smoothing: antialiased; }

/* Cards: lift + deepen shadow */
.bna-card { box-shadow: 0 6px 24px rgba(61,30,51,.07); transition: transform .38s cubic-bezier(.22,.61,.36,1), box-shadow .38s ease; will-change: transform; }
.bna-card:hover { transform: translateY(-8px); box-shadow: 0 22px 48px rgba(107,45,92,.16); }

/* Course card link cover */
.bna-card .elementor-button { transition: all .3s ease; }

/* Images: slow zoom on hover */
.bna-img img { transition: transform .7s cubic-bezier(.22,.61,.36,1), box-shadow .4s ease; }
.bna-img:hover img { transform: scale(1.035); }

/* Hero pattern drift */
@keyframes bnaDrift { from { background-position: 0 0; } to { background-position: 280px 280px; } }
.bna-hero > .elementor-background-overlay { animation: bnaDrift 80s linear infinite; }

/* Buttons */
.bna-btn .elementor-button { transition: background-color .3s ease, transform .3s ease, box-shadow .3s ease; box-shadow: 0 8px 22px rgba(183,110,121,.35); letter-spacing: .4px; }
.bna-btn .elementor-button:hover { box-shadow: 0 12px 30px rgba(183,110,121,.5); }

/* Header */
.site-header { box-shadow: 0 2px 18px rgba(61,30,51,.08); position: relative; z-index: 40; }
.main-header-menu .menu-item > .menu-link { font-family: 'Jost', sans-serif; font-weight: 500; letter-spacing: .3px; color: #3D1E33; transition: color .25s ease; }
.main-header-menu .menu-item > .menu-link:hover, .main-header-menu .current-menu-item > .menu-link { color: #B76E79; }
.site-title a, .site-title a:hover { font-family: 'Playfair Display', serif; color: #3D1E33; font-weight: 700; }
.site-description { font-family: 'Jost', sans-serif; color: #96434F; letter-spacing: .4px; }

/* Footer */
.site-footer, .site-footer .ast-builder-grid-row-container, .site-footer [data-section] { background: #2A1524 !important; }
.site-footer, .site-footer a, .ast-footer-copyright { color: #E9D8DC !important; font-family: 'Jost', sans-serif; }
.site-footer a:hover { color: #B76E79 !important; }
.site-footer .ast-builder-grid-row, .footer-widget-area { background: transparent; }

/* Blog archive cards */
.ast-article-post, .ast-article-single { border-radius: 18px; overflow: hidden; box-shadow: 0 6px 24px rgba(61,30,51,.07); transition: transform .38s ease, box-shadow .38s ease; background: #fff; }
.blog .ast-article-post:hover { transform: translateY(-6px); box-shadow: 0 20px 44px rgba(107,45,92,.15); }
.entry-title a { font-family: 'Playfair Display', serif; color: #3D1E33; transition: color .25s ease; }
.entry-title a:hover { color: #6B2D5C; }

/* WPForms brand styling */
.wpforms-container .wpforms-field-label { font-family: 'Jost', sans-serif; font-weight: 500; color: #3D1E33; }
.wpforms-container input[type=text], .wpforms-container input[type=email], .wpforms-container select, .wpforms-container textarea { border: 1.5px solid #E7D3D6 !important; border-radius: 12px !important; padding: 12px 16px !important; font-family: 'Jost', sans-serif; transition: border-color .25s ease, box-shadow .25s ease; background: #fff; }
.wpforms-container input:focus, .wpforms-container select:focus, .wpforms-container textarea:focus { border-color: #B76E79 !important; box-shadow: 0 0 0 4px rgba(183,110,121,.15) !important; outline: none; }
.wpforms-container button[type=submit] { background: #B76E79 !important; color: #fff !important; border: none !important; border-radius: 50px !important; padding: 15px 42px !important; font-family: 'Jost', sans-serif !important; font-weight: 600 !important; font-size: 16px !important; letter-spacing: .4px; box-shadow: 0 8px 22px rgba(183,110,121,.35); transition: all .3s ease !important; }
.wpforms-container button[type=submit]:hover { background: #96434F !important; transform: translateY(-2px); box-shadow: 0 12px 30px rgba(183,110,121,.5); }
.wpforms-confirmation-container-full { background: #F3E4E0 !important; border: none !important; border-radius: 14px; color: #3D1E33; font-family: 'Jost', sans-serif; }

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .bna-hero > .elementor-background-overlay { animation: none; }
  .bna-card, .bna-img img, .bna-btn .elementor-button { transition: none; }
}
