/* Saint Collection — popups (also used by the admin preview). Calm: no sound, a short fade only. */
.popup-overlay { position: fixed; inset: 0; z-index: 900; background: rgba(20, 18, 16, .5); display: grid; place-items: center; padding: 16px; animation: popup-in .25s ease-out; }
.popup { position: relative; width: min(100%, 440px); max-height: calc(100vh - 32px); overflow: auto; background: #fdfbf8; color: #141210; box-shadow: 0 20px 60px rgba(0, 0, 0, .25); font: 15px/1.55 "Jost", "Helvetica Neue", Arial, sans-serif; }
.popup--has-image { width: min(100%, 480px); }
.popup__media { background: #f5efe6; }
.popup__media img { display: block; width: 100%; max-height: 52vh; object-fit: contain; }
.popup__body { padding: 22px 24px 24px; text-align: center; }
.popup--image .popup__body { padding: 14px 20px 18px; }
.popup__heading { margin: 0 0 8px; font: 400 28px/1.15 "Cormorant Garamond", Georgia, serif; }
.popup__text { margin: 0 0 14px; color: #3a352f; }
.popup__close { position: absolute; top: 8px; right: 8px; z-index: 2; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(253, 251, 248, .92); color: #141210; font: 26px/1 Arial, sans-serif; cursor: pointer; }
.popup__close:focus-visible, .popup__cta:focus-visible { outline: 2px solid #a9834b; outline-offset: 2px; }
.popup__cta { display: inline-block; margin-top: 4px; padding: 12px 22px; background: #141210; color: #fff; text-decoration: none; font: 500 12px/1 "Jost", Arial, sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.popup__countdown { display: flex; justify-content: center; gap: 10px; margin: 6px 0 16px; }
.popup__countdown span { min-width: 62px; padding: 8px 6px; background: #f5efe6; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: #6b6259; }
.popup__countdown b { display: block; font: 400 28px/1.1 "Cormorant Garamond", Georgia, serif; color: #141210; letter-spacing: 0; }
.popup__expired { margin: 0; font-weight: 500; }
@keyframes popup-in { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .popup-overlay { animation: none; } }

/* Social follow banner (bottom of the page, beside — never over — the WhatsApp button) */
.social-banner { position: fixed; left: max(12px, env(safe-area-inset-left)); right: 86px; bottom: max(14px, env(safe-area-inset-bottom)); z-index: 55; max-width: 720px;
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding: 12px 44px 12px 16px; background: #141210; color: #fdfbf8;
  box-shadow: 0 10px 30px -12px rgba(0, 0, 0, .5); font: 14px/1.45 "Jost", "Helvetica Neue", Arial, sans-serif; animation: popup-in .3s ease-out; }
.social-banner__text { flex: 1 1 260px; min-width: 0; }
.social-banner__heading { display: block; font: 500 11px/1.4 "Jost", Arial, sans-serif; letter-spacing: .24em; text-transform: uppercase; color: #d8c19a; }
.social-banner__links { display: flex; flex-wrap: wrap; gap: 8px; }
.social-banner__link { display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; border: 1px solid rgba(255, 255, 255, .35); color: #fff; text-decoration: none; font-size: 13px; white-space: nowrap; }
.social-banner__link:hover { background: rgba(255, 255, 255, .08); }
.social-banner__link svg { width: 18px; height: 18px; flex: none; }
.social-banner__close { position: absolute; top: 4px; right: 4px; width: 36px; height: 36px; border: 0; background: none; color: #fdfbf8; font: 24px/1 Arial, sans-serif; cursor: pointer; }
.social-banner__link:focus-visible, .social-banner__close:focus-visible { outline: 2px solid #d8c19a; outline-offset: 2px; }
body.is-locked .social-banner { display: none; } /* never over the bag, menu or checkout */
@media (max-width: 480px) { .social-banner { padding: 10px 40px 10px 12px; font-size: 13px; } .social-banner__link span { font-size: 12px; } }
@media (prefers-reduced-motion: reduce) { .social-banner { animation: none; } }
@media print { .social-banner { display: none; } }
.social-banner--preview { position: static; right: auto; max-width: none; }
