/* v2.13.2 shared public header/footer/legal styling */
.site-header.ah-site-header{
  min-height:88px!important;
  padding:14px max(28px,calc((100vw - 1180px)/2))!important;
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(18px)!important;
  border-bottom:1px solid #eadff4!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:34px!important;
  position:relative!important;
  z-index:20!important;
}
.ah-site-header .brand-logo{display:flex!important;align-items:center!important;flex:1 1 auto!important;min-width:270px!important;text-decoration:none!important;}
.ah-site-header .brand-logo img{width:330px!important;height:72px!important;object-fit:contain!important;object-position:left center!important;display:block!important;}
.ah-site-header .main-nav{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:12px!important;flex:0 0 auto!important;}
.ah-site-header .main-nav a,
.ah-site-header .main-nav .nav-pill{
  background:#f1eaff!important;
  color:#6f42e9!important;
  border:1px solid #e1d2ff!important;
  border-radius:999px!important;
  padding:12px 18px!important;
  font:800 13px/1 Poppins,Arial,sans-serif!important;
  text-decoration:none!important;
  box-shadow:0 10px 28px rgba(108,72,229,.08)!important;
  white-space:nowrap!important;
}
.ah-site-header .main-nav a:hover,
.ah-site-header .main-nav .nav-pill:hover{
  background:#6f42e9!important;
  color:#fff!important;
  border-color:#6f42e9!important;
  box-shadow:0 16px 34px rgba(108,72,229,.22)!important;
}
.ah-site-header .mobile-menu-btn{background:#f1eaff!important;color:#6f42e9!important;border:1px solid #e1d2ff!important;border-radius:999px!important;padding:11px 16px!important;font-weight:800!important;}
.site-footer.ah-site-footer{
  background:#21102f!important;
  color:#fff!important;
  min-height:auto!important;
  padding:34px max(28px,calc((100vw - 1180px)/2))!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:26px!important;
  border-top:0!important;
}
.ah-footer-brand{display:flex!important;align-items:center!important;gap:20px!important;min-width:0!important;}
.ah-footer-brand img{width:185px!important;height:auto!important;display:block!important;filter:brightness(0) invert(1)!important;}
.ah-footer-brand p{margin:0!important;color:rgba(255,255,255,.72)!important;max-width:360px!important;line-height:1.5!important;font-size:15px!important;}
.ah-site-footer .footer-links{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:wrap!important;}
.ah-site-footer .footer-links a,
.ah-site-footer .footer-modal-link{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  background:rgba(255,255,255,.09)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  color:#fff!important;
  border-radius:999px!important;
  padding:11px 17px!important;
  font:800 12px/1 Poppins,Arial,sans-serif!important;
  text-decoration:none!important;
  cursor:pointer!important;
  min-height:38px!important;
  white-space:nowrap!important;
}
.ah-site-footer .footer-links a:hover,
.ah-site-footer .footer-modal-link:hover{background:#7c4dff!important;color:#fff!important;border-color:#7c4dff!important;}
.ah-legal-modal{position:fixed;inset:0;display:none;z-index:9999;}
.ah-legal-modal.is-open{display:block;}
.ah-legal-modal__overlay{position:absolute;inset:0;background:rgba(24,13,36,.58);backdrop-filter:blur(10px);}
.ah-legal-modal__panel{position:relative;width:min(860px,calc(100% - 34px));max-height:86vh;overflow:auto;margin:7vh auto;background:linear-gradient(145deg,#fff,#fbf7ff);border:1px solid #eadff4;border-radius:34px;padding:44px;box-shadow:0 44px 120px rgba(24,13,36,.34);}
.ah-legal-modal__panel h2{font-family:"Cormorant Garamond",Georgia,serif;color:#281638;font-size:52px;line-height:1;margin:0 0 24px;}
.ah-legal-copy h3{margin:26px 0 8px;color:#302047;font-size:18px;}
.ah-legal-copy p{margin:0 0 14px;color:#62556f;line-height:1.78;}
.ah-legal-modal__close{position:absolute;top:22px;right:22px;width:44px;height:44px;border:0;border-radius:50%;background:#f0e9ff;color:#2a1638;font-size:28px;line-height:1;cursor:pointer;}
.ah-legal-modal__close:hover{background:#7c4dff;color:#fff;}
body.ah-modal-open{overflow:hidden;}
@media(max-width:760px){
  .site-header.ah-site-header{min-height:74px!important;padding:12px 18px!important;}
  .ah-site-header .brand-logo img{width:240px!important;height:58px!important;}
  .ah-site-header .main-nav{display:none!important;}
  .site-footer.ah-site-footer{flex-direction:column!important;text-align:center!important;padding:30px 22px!important;}
  .ah-footer-brand{flex-direction:column!important;}
  .ah-footer-brand img{width:160px!important;}
  .ah-site-footer .footer-links{justify-content:center!important;}
  .ah-legal-modal__panel{padding:34px 24px;border-radius:26px;}
  .ah-legal-modal__panel h2{font-size:40px;}
}


/* v2.13.3 - public shell/auth/memorial polish */
body.ah-public-shell .site-header.ah-site-header{
  width:100% !important;
  box-sizing:border-box !important;
}
body.ah-public-shell .site-header.ah-site-header .brand-logo img{
  width:330px !important;
  max-width:34vw !important;
}
body.ah-public-shell .site-header.ah-site-header .main-nav a,
body.ah-public-shell .site-header.ah-site-header .main-nav .nav-pill{
  min-height:42px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
body.ah-public-shell .site-footer.ah-site-footer{
  min-height:118px !important;
  padding-top:30px !important;
  padding-bottom:30px !important;
  box-sizing:border-box !important;
}
body.ah-public-shell .site-footer.ah-site-footer .ah-footer-brand img{
  width:170px !important;
  max-width:170px !important;
  height:auto !important;
  object-fit:contain !important;
}
body.ah-public-shell .site-footer.ah-site-footer .footer-links a,
body.ah-public-shell .site-footer.ah-site-footer .footer-modal-link{
  width:auto !important;
  min-width:0 !important;
  writing-mode:horizontal-tb !important;
  transform:none !important;
}
/* Keep hero buttons readable on memorial pages */
.memorial-hero .btn:hover,
.memorial-hero .btn-soft:hover,
.memorial-profile-hero .btn:hover,
.memorial-profile-hero .btn-soft:hover,
.public-memorial-hero .btn:hover,
.public-memorial-hero .btn-soft:hover,
.hero-actions .btn:hover,
.memorial-actions .btn:hover,
.memorial-actions .btn-soft:hover,
a.btn:hover,
button.btn:hover{
  color:#fff !important;
}
.ah-legal-modal{font-family:Poppins,Arial,sans-serif;}
.ah-legal-modal__panel{box-sizing:border-box;}
@media(max-width:760px){
  body.ah-public-shell .site-header.ah-site-header .brand-logo img{max-width:240px !important;}
  body.ah-public-shell .site-footer.ah-site-footer{min-height:auto !important;}
}

/* v2.13.4 public shell fixes */
body.ah-public-shell .site-footer.ah-site-footer{
  min-height:86px !important;
  padding-top:20px !important;
  padding-bottom:20px !important;
}
body.ah-public-shell .site-footer.ah-site-footer .ah-footer-brand img{
  width:150px !important;
  max-width:150px !important;
}
body.ah-public-shell .site-footer.ah-site-footer .ah-footer-brand p{
  font-size:13px !important;
  max-width:310px !important;
}
body.ah-public-shell .site-footer.ah-site-footer .footer-links a,
body.ah-public-shell .site-footer.ah-site-footer .footer-modal-link{
  padding:9px 14px !important;
  min-height:34px !important;
  font-size:11px !important;
}
.premium-hero-actions .glass-btn:hover,
.premium-hero-actions .glass-btn:focus,
.premium-hero-actions button.glass-btn:hover,
.premium-hero-actions button.glass-btn:focus,
.public-profile-card .glass-btn:hover,
.public-profile-card .glass-btn:focus{
  background:#7148ee !important;
  color:#fff !important;
  border-color:#7148ee !important;
  box-shadow:0 14px 34px rgba(113,72,238,.22) !important;
}
.premium-hero-actions .glass-btn:hover span,
.premium-hero-actions .glass-btn:focus span,
.public-profile-card .glass-btn:hover span,
.public-profile-card .glass-btn:focus span{color:#fff !important;}
.auth-page{
  padding-left:max(24px,calc((100vw - 1180px)/2)) !important;
  padding-right:max(24px,calc((100vw - 1180px)/2)) !important;
  align-items:start !important;
}
.auth-card{
  width:100% !important;
  max-width:1180px !important;
}
.auth-card form{max-width:820px;}
@media(max-width:760px){
  body.ah-public-shell .site-footer.ah-site-footer{min-height:auto !important;}
  .auth-card{padding:34px 22px !important;}
}
