/* Newsletter pop-up (free 7-day series). Self-contained. */
@font-face { font-family: "Anton"; src: url("../fonts/anton-400.woff2") format("woff2"); font-display: swap; }
.dhc-pop[hidden] { display: none; }
.dhc-pop { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: end center; font-family: "DM Sans", "Helvetica Neue", Arial, sans-serif; }
@media (min-width: 700px) { .dhc-pop { place-items: center; } }
.dhc-pop__scrim { position: absolute; inset: 0; background: rgba(20, 12, 18, .6); backdrop-filter: blur(2px); opacity: 0; transition: opacity .3s ease; }
.dhc-pop.is-open .dhc-pop__scrim { opacity: 1; }
.dhc-pop__card { position: relative; width: min(760px, 100%); max-height: 92vh; overflow: auto; background: #1f141d; color: #f6f2ec; border-radius: 18px 18px 0 0; display: grid; transform: translateY(40px); opacity: 0; transition: transform .35s cubic-bezier(.2,.8,.2,1), opacity .3s ease; padding-bottom: env(safe-area-inset-bottom, 0px); box-shadow: 0 30px 80px rgba(0,0,0,.45); }
@media (min-width: 700px) { .dhc-pop__card { grid-template-columns: 1fr 1.15fr; border-radius: 18px; } }
.dhc-pop.is-open .dhc-pop__card { transform: none; opacity: 1; }
.dhc-pop__art { display: none; background: #2a1f28 center 18% / cover no-repeat; min-height: 100%; }
@media (min-width: 700px) { .dhc-pop__art { display: block; border-radius: 18px 0 0 18px; } }
.dhc-pop__body { padding: 32px 24px 28px; }
@media (min-width: 700px) { .dhc-pop__body { padding: 44px 36px; } }
.dhc-pop__ribbon { display: inline-block; font-family: "Anton", Impact, sans-serif; text-transform: uppercase; letter-spacing: .06em; font-size: 15px; background: #c9a7f5; color: #1f141d; padding: 6px 18px; clip-path: polygon(0 0,100% 0,96% 50%,100% 100%,0 100%,4% 50%); }
.dhc-pop__title { font-family: "DM Serif Display", Georgia, serif; font-weight: 400; font-size: clamp(30px, 7vw, 40px); line-height: 1.08; margin: 16px 0 10px; color: #fff; }
.dhc-pop__title em { color: #c9a7f5; font-style: italic; }
.dhc-pop__text { color: #d8ccd5; font-size: 17px; line-height: 1.5; margin: 0 0 18px; }
.dhc-pop__form { display: grid; gap: 10px; }
.dhc-pop__form input { min-height: 52px; padding: 0 16px; border-radius: 10px; border: 1px solid rgba(255,255,255,.18); background: #fffdfa; color: #1f141d; font: 16px "DM Sans", Arial, sans-serif; }
.dhc-pop__form button { min-height: 52px; border: 0; border-radius: 10px; background: #b99bd6; color: #1f141d; font: 500 17px "DM Sans", Arial, sans-serif; cursor: pointer; box-shadow: 0 10px 26px rgba(185,155,214,.28); }
.dhc-pop__form button:hover { background: #c9b0e2; }
.dhc-pop__fine { color: #a8979f; font-size: 14px; margin: 12px 0 0; }
.dhc-pop__status { min-height: 1.3em; font-size: 15px; color: #c9a7f5; margin: 6px 0 0; }
.dhc-pop__close { position: absolute; top: 10px; right: 10px; width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255,255,255,.08); color: #fff; font-size: 26px; line-height: 1; cursor: pointer; z-index: 1; }
.dhc-pop__close:hover { background: rgba(255,255,255,.16); }
.dhc-pop__no { background: none; border: 0; color: #a8979f; text-decoration: underline; font: 15px "DM Sans", Arial, sans-serif; margin-top: 10px; cursor: pointer; min-height: 40px; }
@media (prefers-reduced-motion: reduce) { .dhc-pop__card, .dhc-pop__scrim { transition: none; } }
.dhc-pop__done { font-family: "DM Serif Display", Georgia, serif; font-size: 24px; line-height: 1.3; color: #fff; margin: 8px 0; }
