/* ================================================================
   MODO PREVENTA (28-oct-2026, FRENOS_BRIEF decisión 2)
   El optin (dialog de prelaunch.js), el aviso del checkout y /workshop/soon.
   ================================================================ */
.wms-pl { width: min(480px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; border: 1px solid var(--mm-border); background: var(--mm-black-card); color: var(--mm-white); box-shadow: inset 0 3px 0 var(--mm-green), 0 30px 80px -20px rgba(0, 0, 0, 0.8); }
.wms-pl::backdrop { background: rgba(5, 5, 6, 0.78); }
.wms-pl-in { position: relative; padding: 34px 28px 26px; }
.wms-pl-x { position: absolute; right: 8px; top: 8px; width: 44px; height: 44px; border: 0; background: transparent; color: var(--mm-gray); font-size: 28px; line-height: 1; cursor: pointer; }
.wms-pl-x:hover, .wms-pl-x:focus-visible { color: var(--mm-white); }
.wms-pl-tag { margin: 0 0 8px; font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mm-green); }
.wms-pl-h { margin: 0 0 10px; font-family: 'Fraunces', serif; font-variation-settings: "opsz" 144; font-weight: 500; font-size: 32px; line-height: 1.15; letter-spacing: -0.02em; color: var(--mm-white); }
.wms-pl-p { margin: 0 0 22px; font-size: 17px; line-height: 1.55; color: var(--mm-light); }
.wms-pl .wms-field { display: block; margin: 0 0 14px; }
.wms-pl .wms-field > span { display: block; margin: 0 0 6px; font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 500; letter-spacing: 0.08em; color: var(--mm-light); }
.wms-pl .wms-input { width: 100%; background: var(--mm-black); border: 1px solid var(--mm-darkest); color: var(--mm-white); font-family: 'IBM Plex Sans', sans-serif; font-size: 17px; padding: 14px; border-radius: 0; }
.wms-pl .wms-input:focus { outline: none; border-color: var(--mm-green); box-shadow: 0 0 0 1px var(--mm-green); }
.wms-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.wms-pl-error { margin: 0 0 14px; padding: 10px 12px; border: 1px solid #7F1D1D; background: rgba(248, 113, 113, 0.08); color: #FCA5A5; font-size: 16px; line-height: 1.5; }
.wms-pl-go { width: 100%; justify-content: center; padding: 17px 16px; font-size: 18px; margin-top: 4px; }
.wms-pl-go[disabled] { opacity: 0.7; cursor: progress; }
.wms-pl-consent { margin: 14px 0 0; font-size: 14px; line-height: 1.5; color: var(--mm-gray); }
.wms-pl-consent a { color: var(--mm-light); }

/* Checkout en preventa: el cuadro de la tarjeta lleva el aviso y el optin */
.wms-pl-note { margin: 0 0 14px; font-size: 17px; line-height: 1.55; color: var(--mm-light); }
.wms-pl-note strong { color: var(--mm-white); }
.wms-pl-open { width: 100%; justify-content: center; }

/* /workshop/soon */
.wms-soon-in { padding-top: 80px; padding-bottom: 80px; text-align: center; position: relative; z-index: 1; }
.wms-soon-tag { margin: 0 0 14px; font-family: 'IBM Plex Mono', monospace; font-size: 14px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mm-green); }
.wms-soon-in h1 { margin: 0 0 14px; font-family: 'Fraunces', serif; font-variation-settings: "opsz" 144; font-weight: 500; font-size: 56px; line-height: 1.08; letter-spacing: -0.02em; color: var(--mm-white); }
.wms-soon-lead { margin: 0 auto; max-width: 620px; font-size: 22px; line-height: 1.5; color: var(--mm-light); }
.wms-soon-next { padding: 80px 0 96px; border-top: 1px solid var(--mm-border); background: var(--mm-black-soft); }
.wms-soon-opts { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 980px; margin: 40px auto 0; }
.wms-soon-opt { display: flex; flex-direction: column; background: var(--mm-black); border: 1px solid var(--mm-border); box-shadow: inset 0 3px 0 var(--mm-green); padding: 30px 28px 28px; }
.wms-soon-opt-tag { margin: 0 0 8px; font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mm-green); }
.wms-soon-opt-h { margin: 0 0 12px; font-family: 'Fraunces', serif; font-variation-settings: "opsz" 144; font-weight: 500; font-size: 30px; line-height: 1.15; color: var(--mm-white); }
.wms-soon-opt p { margin: 0 0 12px; font-size: 18px; line-height: 1.55; color: var(--mm-light); }
.wms-soon-opt .wms-soon-opt-small { font-size: 16px; color: var(--mm-gray); }
.wms-soon-opt .mm-btn { margin-top: auto; justify-content: center; }
.wms-soon-btn-light { background: transparent; color: var(--mm-white); border: 1px solid var(--mm-light); }
.wms-soon-note { max-width: 720px; margin: 36px auto 0; text-align: center; font-size: 16px; line-height: 1.55; color: var(--mm-gray); }
@media (max-width: 760px) {
    .wms-soon-opts { grid-template-columns: 1fr; }
    .wms-soon-in { padding-top: 48px; padding-bottom: 56px; }
    .wms-soon-in h1 { font-size: 40px; }
    .wms-soon-lead { font-size: 19px; }
    .wms-soon-next { padding: 56px 0 64px; }
    .wms-soon-opt { padding: 24px 18px 22px; }
}
