/* ZASCARNIO Portal v0.1.1 · scoped to .zc-portal. Does not modify the WP theme globally. */
.zc-portal{--zc-bg:#151019;--zc-ink:#f5ece5;--zc-muted:#cfbac3;--zc-gold:#f7ce68;--zc-pink:#f36d93;--zc-purple:#74435f;box-sizing:border-box;isolation:isolate;position:relative;overflow:hidden;max-width:none!important;margin:0!important;min-height:100vh;background:radial-gradient(circle at 85% 5%,#5a284e 0,transparent 30%),radial-gradient(circle at 4% 65%,#342044 0,transparent 37%),var(--zc-bg);color:var(--zc-ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.5}
.zc-portal *, .zc-portal *::before, .zc-portal *::after{box-sizing:border-box}
.zc-portal a{color:inherit;text-decoration:none}
.zc-portal .zc-nav,.zc-portal .zc-hero,.zc-portal .zc-how,.zc-portal .zc-strip,.zc-portal .zc-footer{width:min(1250px,calc(100% - 44px));margin-left:auto;margin-right:auto}
.zc-portal .zc-nav{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:95px;border-bottom:1px solid #ffffff1d;position:relative;z-index:2}
.zc-portal .zc-logo{display:flex;align-items:center;gap:13px;font-size:27px;line-height:1;font-weight:1000;letter-spacing:1.5px}
.zc-portal .zc-logo__emblem{display:grid;place-items:center;width:54px;height:54px;transform:rotate(-9deg);background:var(--zc-pink);color:#250d1f;font-size:30px;font-weight:1000;border:3px solid #ffe5ad;border-radius:13px;box-shadow:5px 5px 0 #0b0910}
.zc-portal .zc-logo small{display:block;letter-spacing:2.5px;font-size:9px;color:#e4a9be;margin-top:9px}
.zc-portal .zc-nav__meta,.zc-portal .zc-eyebrow{color:var(--zc-gold);font-size:11px;letter-spacing:2px;font-weight:900}
.zc-portal .zc-nav__meta{display:flex;gap:9px;align-items:center;color:#dbb5c4}
.zc-portal .zc-dot{width:8px;height:8px;border-radius:50%;background:#8bebad;box-shadow:0 0 15px #74dba6}
.zc-portal .zc-hero{display:grid;grid-template-columns:1fr minmax(320px,0.85fr);align-items:center;gap:8%;min-height:660px;padding-top:74px;padding-bottom:88px;position:relative;z-index:1}
.zc-portal .zc-hero h1,.zc-portal .zc-how h2{margin:19px 0 24px;font-family:Impact,'Arial Black',system-ui,sans-serif;font-size:clamp(50px,6.8vw,98px);font-weight:900;letter-spacing:.35px;line-height:1.03;color:#fff0dd;text-transform:uppercase;text-shadow:4px 5px 0 #491c37}
.zc-portal .zc-hero h1 em,.zc-portal .zc-how h2 em{font-style:normal;color:var(--zc-gold)}
.zc-portal .zc-lede{font-size:18px;line-height:1.72;max-width:600px;color:var(--zc-muted);margin-bottom:28px}
.zc-portal .zc-lede strong{color:#fff1d7}
.zc-portal .zc-hero__actions{display:flex;gap:13px;align-items:center;flex-wrap:wrap}
.zc-portal .zc-button{display:inline-flex;align-items:center;gap:20px;justify-content:space-between;min-height:52px;border-radius:10px;padding:14px 20px;font-weight:900;font-size:12px;letter-spacing:.6px;text-align:left}
.zc-portal .zc-button--primary{background:linear-gradient(115deg,#f8d877,#f6a94e);color:#2a1520;box-shadow:0 5px 0 #875032}
.zc-portal .zc-button--primary:hover,.zc-portal .zc-button--secondary:hover{filter:brightness(1.11);transform:translateY(-2px)}
.zc-portal .zc-button--secondary{background:#4c2b43;color:#fff1ed;border:1px solid #9d627c}
.zc-portal .zc-button--disabled{border:1px solid #6b5867;background:#312733;color:#d6bdc8;cursor:not-allowed}
.zc-portal .zc-quickfacts{display:flex;flex-wrap:wrap;gap:12px;margin-top:42px}
.zc-portal .zc-quickfacts span{font-size:10px;letter-spacing:1.3px;color:#e7becd;padding:8px 12px;border:1px solid #654051;border-radius:999px;font-weight:800}
.zc-portal .zc-stage{height:525px;position:relative;display:grid;place-items:center;perspective:800px}
.zc-portal .zc-stage__burst{position:absolute;top:10px;right:7%;color:#ffce6d;font-size:88px;filter:drop-shadow(0 0 26px #cc4b77)}
.zc-portal .zc-playing-card{width:245px;height:350px;position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;border-radius:18px;border:8px solid #ffe0a0;background:repeating-radial-gradient(circle at 50% 45%,#e8b760,#e8b760 6px,#edc773 9px,#e8b760 13px);box-shadow:13px 25px 28px #08060baa,inset 0 0 0 3px #3a2230;text-align:center;transition:transform .4s ease}
.zc-portal .zc-playing-card--back{transform:translate(-115px,-10px) rotate(-25deg) scale(.92);border-color:#c783a5;background:linear-gradient(120deg,#512648,#9e507c)}
.zc-portal .zc-playing-card--mid{transform:translate(94px,-30px) rotate(22deg) scale(.95);border-color:#91add1;background:linear-gradient(110deg,#3c537c,#7ab2c2)}
.zc-portal .zc-playing-card--front{transform:translate(0,25px) rotate(-3deg);color:#3d2025}
.zc-portal .zc-playing-card__ornament{position:absolute;top:9px;left:20px;font-size:30px}
.zc-portal .zc-playing-card__figure{display:grid;place-items:center;width:142px;height:142px;border:4px double #612838;border-radius:50%;background:#f6d47d;font-size:105px;line-height:1;text-shadow:2px 4px 0 #a15e65}
.zc-portal .zc-playing-card__label{font-family:Impact,'Arial Black',sans-serif;font-size:24px;line-height:1.1;letter-spacing:1px}
.zc-portal .zc-stage__caption{position:absolute;bottom:0;color:#c9aabc;font-size:10px;letter-spacing:1.5px;text-align:center}
.zc-portal .zc-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;background:#291d2c;border:1px solid #57394d;padding:22px 30px;border-radius:16px;position:relative;z-index:1}
.zc-portal .zc-strip div{display:flex;gap:18px;align-items:center;font-size:12px;font-weight:900;letter-spacing:1.2px}
.zc-portal .zc-strip strong{font-family:Impact,sans-serif;font-size:30px;color:var(--zc-gold)}
.zc-portal .zc-how{padding-top:100px;padding-bottom:80px}
.zc-portal .zc-how__heading{max-width:770px;margin-bottom:35px}
.zc-portal .zc-how h2{font-size:clamp(38px,5vw,66px);margin:14px 0}
.zc-portal .zc-how__heading p:last-child{color:var(--zc-muted);font-size:17px;line-height:1.7}
.zc-portal .zc-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.zc-portal .zc-step{border:1px solid #64425b;border-radius:16px;background:linear-gradient(160deg,#39253a,#241923);padding:25px;min-height:230px}
.zc-portal .zc-step>b{font-family:Impact,sans-serif;color:var(--zc-pink);font-size:43px}
.zc-portal .zc-step h3{font-size:22px;margin:10px 0;color:#fff1dd}
.zc-portal .zc-step p{margin:0;color:#d1b9c4;font-size:14px;line-height:1.6}
.zc-portal .zc-footer{border-top:1px solid #5e3d52;color:#ac93a0;padding:25px 0 40px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:10px;letter-spacing:1px}
.zc-portal .zc-orbit{pointer-events:none;position:absolute;width:440px;height:440px;border:1px solid #ffffff0c;border-radius:50%}
.zc-portal .zc-orbit--one{top:60px;right:-220px}.zc-portal .zc-orbit--two{bottom:-220px;left:-220px}
.zc-portal.zc-access-only{min-height:0;background:transparent;padding:0;overflow:visible}
.zc-portal .zc-reveal{opacity:1;transform:none}
.zc-portal.zc-js .zc-reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.zc-portal.zc-js .zc-reveal.zc-visible{opacity:1;transform:translateY(0)}
@media(max-width:850px){.zc-portal .zc-hero{grid-template-columns:1fr;gap:20px;padding-top:45px;padding-bottom:50px}.zc-portal .zc-stage{height:415px}.zc-portal .zc-playing-card{transform-origin:center center}.zc-portal .zc-steps{grid-template-columns:1fr}.zc-portal .zc-strip{grid-template-columns:1fr}.zc-portal .zc-nav__meta{display:none}.zc-portal .zc-hero h1{font-size:clamp(48px,9vw,74px)}}
@media(max-width:540px){.zc-portal .zc-nav,.zc-portal .zc-hero,.zc-portal .zc-how,.zc-portal .zc-strip,.zc-portal .zc-footer{width:calc(100% - 30px)}.zc-portal .zc-logo{font-size:20px}.zc-portal .zc-logo__emblem{width:43px;height:43px;font-size:24px}.zc-portal .zc-logo small{font-size:7px;letter-spacing:1px}.zc-portal .zc-hero h1{font-size:52px}.zc-portal .zc-lede{font-size:16px}.zc-portal .zc-stage{height:350px;transform:scale(.83);transform-origin:top center;margin-bottom:-55px}.zc-portal .zc-hero__actions{align-items:stretch}.zc-portal .zc-button{width:100%}.zc-portal .zc-how{padding-top:70px}}
@media(prefers-reduced-motion:reduce){.zc-portal .zc-reveal,.zc-portal .zc-button{transition:none!important;transform:none!important;opacity:1!important}}

/* 0.1.1: tres imágenes propietarias, fondo en movimiento suave, arte sin recortes. */
.zc-portal .zc-hero{isolation:isolate;overflow:hidden;border-radius:24px;border:1px solid #67445a;padding-left:clamp(20px,3.2vw,46px);padding-right:clamp(20px,3.2vw,46px);margin-top:22px;background:#160e1a}
.zc-portal .zc-hero__background{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.zc-portal .zc-hero__background img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.40;transform:scale(1.07);animation:zc-cinematic-drift 24s ease-in-out infinite alternate;filter:saturate(.88) contrast(1.06)}
.zc-portal .zc-hero__background::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,7,17,.96) 0%,rgba(19,10,23,.91) 43%,rgba(22,11,25,.58) 100%),linear-gradient(0deg,rgba(13,8,19,.84),transparent 35%)}
.zc-portal .zc-hero__copy,.zc-portal .zc-stage{z-index:1;position:relative}
.zc-portal .zc-stage--art{height:min(525px,46vw);min-height:420px;perspective:1000px}
.zc-portal .zc-artframe{margin:0;position:relative;overflow:hidden;background:linear-gradient(145deg,#60334e,#241825);border:7px solid #f2c978;outline:1px solid #3a1b36;border-radius:24px;box-shadow:22px 27px 30px #070409ad,0 0 45px #c6667b24;transform:rotate(3deg);width:min(90%,360px);height:min(94%,475px);display:grid;place-items:center;transition:transform .5s ease}
.zc-portal .zc-artframe::before{content:"";pointer-events:none;position:absolute;inset:9px;border:1px solid #f0d59a6e;border-radius:13px;z-index:1}
.zc-portal .zc-artframe img{width:100%;height:100%;display:block;object-fit:contain;object-position:center}
@media(hover:hover){.zc-portal .zc-artframe--hero:hover{transform:rotate(0) translateY(-9px)}}
.zc-portal .zc-feature{display:grid;grid-template-columns: minmax(240px,.9fr) minmax(0,1fr);align-items:center;gap:clamp(25px,6vw,80px);width:min(1250px,calc(100% - 44px));margin:85px auto 0;padding:25px;border-radius:26px;border:1px solid #67465b;background:linear-gradient(120deg,#251624,#4b243c)}
.zc-portal .zc-feature__art{border-radius:17px;border:2px solid #ae7b79;background:#170f1c;overflow:hidden;display:grid;place-items:center;min-height:320px}
.zc-portal .zc-feature__art img{display:block;width:100%;height:100%;max-height:550px;object-fit:contain}
.zc-portal .zc-feature__copy{padding:clamp(10px,3vw,30px)}
.zc-portal .zc-feature h2{margin:12px 0 24px;font-family:Impact,'Arial Black',system-ui,sans-serif;font-size:clamp(38px,4.2vw,68px);line-height:1.08;color:#fff0dd;text-shadow:3px 4px 0 #491c37}
.zc-portal .zc-feature h2 em{font-style:normal;color:var(--zc-gold)}
.zc-portal .zc-feature p:not(.zc-eyebrow){font-size:16px;line-height:1.7;color:#e4c9d3;max-width:510px}
.zc-portal .zc-feature .zc-button{margin-top:22px}
@keyframes zc-cinematic-drift{0%{transform:scale(1.07) translate3d(-1%,0,0)}100%{transform:scale(1.22) translate3d(2%,-1%,0)}}
@media(max-width:850px){.zc-portal .zc-hero{margin-top:16px;padding-top:42px;padding-bottom:48px}.zc-portal .zc-hero__background img{opacity:.24}.zc-portal .zc-hero__background::after{background:linear-gradient(180deg,#100b16ee 0%,#100b16d9 50%,#100b16aa 100%)}.zc-portal .zc-stage--art{min-height:360px;height:390px}.zc-portal .zc-artframe{height:350px;width:min(80%,310px)}.zc-portal .zc-feature{grid-template-columns:1fr;margin-top:50px;gap:20px}.zc-portal .zc-feature__art{min-height:260px}}
@media(max-width:540px){.zc-portal .zc-feature{width:calc(100% - 30px);padding:14px;margin-top:42px}.zc-portal .zc-hero{width:calc(100% - 18px);padding-left:15px;padding-right:15px}.zc-portal .zc-stage--art{transform:none;margin:0;height:320px;min-height:320px}.zc-portal .zc-artframe{height:290px;width:min(78%,240px)}.zc-portal .zc-feature__art{min-height:220px}.zc-portal .zc-feature h2{font-size:40px}.zc-portal .zc-feature__copy{padding:14px 8px 18px}}
@media(prefers-reduced-motion:reduce){.zc-portal .zc-hero__background img{animation:none!important;transform:none!important}.zc-portal .zc-artframe{transition:none!important;transform:none!important}}


/* v0.1.2 — Full-bleed solo para la portada. 
 * Evita el ancho máximo de la columna central de Elementor y mantiene
 * el contenido interno centrado (nav, hero, tarjetas, etc.).
 * No altera la luminosidad/overlay aprobado en la v0.1.1 ni el CSS adicional.
 */
.zc-portal.zc-portal--full-bleed {
    position: relative;
    display: block;
    width: 100vw !important;
    max-width: none !important;
    margin-inline: calc(50% - 50vw) !important;
    padding: 0 !important;
    border: 0;
    overflow: clip;
}

/* Fondo del documento solo si contiene la portada; evita bandas blancas
 * mientras Elementor prepara sus contenedores o si queda algún píxel libre. */
@supports selector(body:has(.zc-portal--full-bleed)) {
    body:has(.zc-portal--full-bleed) {
        background-color: #151019;
        overflow-x: clip;
    }
}

/* El widget y su contenedor no deben recortar el contenido al desbordar.
 * :has se limita únicamente al widget que incluye la portada. */
@supports selector(.elementor-widget-shortcode:has(.zc-portal--full-bleed)) {
    .elementor-widget-shortcode:has(.zc-portal--full-bleed),
    .elementor-widget-shortcode:has(.zc-portal--full-bleed) > .elementor-widget-container {
        overflow: visible !important;
    }
}

/* Evita desbordamientos accidentales en móviles pequeños. */
@media (max-width: 540px) {
    .zc-portal.zc-portal--full-bleed {
        width: 100vw !important;
        min-width: 0;
    }
}
