/* =====================================================
   MEMORABILIA HOMEPAGE PRELOAD + ASTRA OVERRIDES
   (Clean version – prevents flicker)
===================================================== */

/* Preload hero image so it loads before render */

body.home::before{
content:"";
position:fixed;
width:0;
height:0;
background-image:url("https://images.unsplash.com/photo-1498075702571-ecb018f3752d?auto=format&fit=crop&w=2100&q=80");
}

/* =====================================================
   Prevent Astra Header / Footer from flashing
   Homepage only
===================================================== */

body.home header.site-header,
body.home #masthead,
body.home .ast-primary-header-bar,
body.home .ast-desktop-header,
body.home .ast-mobile-header,
body.home .ast-builder-header{
display:none !important;
}

body.home footer,
body.home .site-footer,
body.home .ast-footer-overlay,
body.home .ast-small-footer,
body.home .ast-builder-footer{
display:none !important;
}

/* Remove Astra spacing on homepage */

body.home #page,
body.home .site-content,
body.home .ast-container{
margin:0 !important;
padding:0 !important;
}

/* =====================================================
   Hide page titles only on homepage
===================================================== */

body.home .ast-page-title,
body.home .entry-title,
body.home .page-title,
body.home h1.entry-title{
display:none !important;
}

/* =====================================================
   Builder preload (prevents white flash)
===================================================== */

body.home #memorabilia-home-app{
visibility:hidden;
opacity:0;
min-height:100vh;
background:#002b59;
transition:opacity .25s ease;
}

body.home.memo-home-ready #memorabilia-home-app{
visibility:visible;
opacity:1;
}

/* =====================================================
   NAV PRELOAD
   Ensures nav appears styled before JS runs
===================================================== */

#memorabilia-home-app .nav{
background:#002b59 !important;
color:#ffffff !important;

position:fixed;
top:0;
left:0;
right:0;

height:70px;
display:flex;
align-items:center;
justify-content:space-between;
padding:0 40px;

z-index:99999999;
}

#memorabilia-home-app .nav a,
#memorabilia-home-app .nav span,
#memorabilia-home-app .brand{
color:#ffffff !important;
}

/* =====================================================
   Prevent layout shift during hero load
===================================================== */

.hero{
background:#002b59;
}

/* ================================
   PMPro Checkout – Memorabilia Style
================================ */

.pmpro_checkout {
  max-width: 780px;
  margin: 40px auto 80px;
  padding: 28px 30px;
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  border: 1px solid #e6eef7;
}

/* Page titles */
.pmpro_checkout h1,
.pmpro_checkout h2 {
  color: #002b59;
  font-weight: 800;
}

/* Membership summary box */
#pmpro_level_cost {
  background: #f0f7ff;
  border: 1px solid #cfe3ff;
  border-radius: 14px;
  padding: 18px 20px;
  font-size: 1.05rem;
}

/* Emphasize price */
#pmpro_level_cost strong {
  font-size: 1.2rem;
  color: #003c7a;
}

/* Remove visual clutter */
.pmpro_checkout hr,
.pmpro_checkout .pmpro_checkout-h2-name {
  display: none;
}

/* Submit button */
.pmpro_btn-submit-checkout {
  background: linear-gradient(135deg,#4da3ff,#7ccaff);
  border: none;
  color: #002b59;
  font-size: 1.05rem;
  padding: 14px 28px;
  border-radius: 999px;
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(0,0,0,0.15);
}

.pmpro_btn-submit-checkout:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(0,0,0,0.18);
}

/* Logged-in notice styling */
.pmpro_logged_in_as {
  background: #eef6ff;
  border: 1px solid #cfe3ff;
  border-radius: 12px;
  padding: 14px 16px;
  margin-bottom: 20px;
}

/* ================================
   PMPro Confirmation – Success Page
================================ */

.pmpro_confirmation_wrap {
  max-width: 760px;
  margin: 60px auto;
  background: #ffffff;
  border-radius: 18px;
  padding: 36px 32px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  border: 1px solid #e6eef7;
}

.pmpro_confirmation_wrap h1 {
  font-size: 2rem;
  color: #002b59;
  font-weight: 800;
}

/* Hide receipt tables */
.pmpro_confirmation_wrap table {
  display: none;
}

/* Dashboard CTA */
.memor-dashboard-cta {
  margin-top: 28px;
  text-align: center;
}

.memor-dashboard-cta a {
  display: inline-block;
  background: linear-gradient(135deg,#4da3ff,#7ccaff);
  color: #002b59;
  padding: 14px 32px;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  font-size: 1.05rem;
  box-shadow: 0 6px 18px rgba(0,0,0,0.15);
}
/* Hide Cancel Membership button when user has no active membership */
body:not(.pmpro-has-membership) a[href*="membership-cancel"] {
  display: none !important;
}
/* ================================
   Hide Astra / WordPress Page Title
   (Fix for shortcode + PMPro pages)
================================ */

/* Global Astra page title */
.ast-page-title,
.entry-title,
.page-title,
h1.entry-title {
  display: none !important;
}