/* Promotion popup — follows A038 tokens in site.css (white panel, sage border, Poppins, soft shadow) */
.promo-popup{
  position:fixed;
  inset:0;
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(31,58,46,.78);
  opacity:0;
  visibility:hidden;
  transition:opacity .3s ease,visibility .3s ease;
}
.promo-popup.is-open{
  opacity:1;
  visibility:visible;
}
.promo-popup__dialog{
  position:relative;
  max-width:100%;
  max-height:100%;
  padding:8px;
  background:var(--white,#fff);
  border:1px solid var(--secondary,#899F87);
  box-shadow:0 0 10px 0 rgba(0,0,0,.5);
  transform:translateY(14px);
  transition:transform .3s ease;
}
.promo-popup.is-open .promo-popup__dialog{transform:translateY(0)}
.promo-popup__image{
  display:block;
  width:auto;
  height:auto;
  max-width:min(88vw,600px);
  max-height:calc(100vh - 64px);
}
.promo-popup__close{
  position:absolute;
  top:-16px;
  right:-16px;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  padding:0;
  font:600 26px/1 "Poppins",sans-serif;
  color:var(--sage-dark,#527F50);
  background:var(--white,#fff);
  border:1px solid var(--secondary,#899F87);
  border-radius:50%;
  box-shadow:0 0 10px 0 rgba(0,0,0,.5);
  cursor:pointer;
  transition:background .3s ease,color .3s ease;
}
.promo-popup__close:hover,
.promo-popup__close:focus-visible{
  color:var(--navy,#1F3A2E);
  background:var(--secondary,#899F87);
  outline:none;
}
body.promo-popup-open{overflow:hidden}
@media(max-width:767px){
  .promo-popup{padding:20px}
  .promo-popup__dialog{padding:5px}
  .promo-popup__image{max-width:calc(100vw - 50px);max-height:calc(100vh - 50px)}
  .promo-popup__close{top:-14px;right:-14px;width:36px;height:36px;font-size:23px}
}
@media(prefers-reduced-motion:reduce){
  .promo-popup,.promo-popup__dialog{transition:none}
}
