/* =====================================================================
   Soriana YA · tema de bloques
   Port del diseño final aprobado (design-system/diseno/, corte-06, 20-oct-2026)
   Dirección «El ticket se vuelve boleto». Mismos nombres de clase que el
   diseño; aquí se aplican sobre el marcado de los bloques (patrones).
   Tokens: assets/css/tokens.css (+ presets de theme.json).
   El tema desactiva los estilos de layout de WordPress
   (disable-layout-styles): el layout lo define este archivo.
   ===================================================================== */
:root{
  color-scheme:light;
  --font-display:var(--wp--preset--font-family--google-sans);
  --font-body:var(--wp--preset--font-family--google-sans);
  --font-poster:var(--wp--preset--font-family--archivo);
  --font-brand:var(--wp--preset--font-family--google-sans);
  --font-campaign-morat:var(--wp--preset--font-family--archivo);
  --gut:clamp(16px,4vw,56px);
  --col:min(1320px,100% - 2*var(--gut));
  --cut:clamp(48px,9vw,140px);
  --paper:#FBFAF7;
  --header-h:68px;
  /* Iconos (decorativos, en CSS para no ensuciar el contenido editable) */
  --i-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h14M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --i-ext:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 17 17 7M9 7h8v8' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --i-down:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v13M6.5 12.5 12 18l5.5-5.5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --ya-bars:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='120'%3E%3Cg fill='%23BCC032'%3E%3Cpolygon points='10,0 22,0 6,44 -6,44'/%3E%3Cpolygon points='40,-6 50,-6 30,52 20,52'/%3E%3Ccircle cx='17' cy='60' r='5'/%3E%3Cpolygon points='72,10 86,10 66,66 52,66'/%3E%3Cpolygon points='30,70 40,70 26,110 16,110'/%3E%3Ccircle cx='56' cy='80' r='5'/%3E%3Cpolygon points='88,74 98,74 82,120 72,120'/%3E%3Cpolygon points='-8,74 2,74 -14,120 -24,120'/%3E%3Ccircle cx='10' cy='118' r='4'/%3E%3C/g%3E%3C/svg%3E");
  --bang:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 160'%3E%3Cpath d='M44 0h42L54 108H12z' fill='%23fff'/%3E%3Ccircle cx='28' cy='140' r='18' fill='%23BCC032'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
*{box-sizing:border-box}
html{background:var(--sy-red-700);scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--sy-n-50);color:var(--sy-n-900);font:400 1.0625rem/1.6 var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
:where(h1,h2,h3,h4,p,ol,ul,dl,dd,figure,blockquote){margin:0}
:where(.sy-s) :where(ol,ul){padding:0;list-style:none}
a{color:inherit}
::selection{background:var(--sy-lime-400);color:var(--sy-n-900)}
:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px;border-radius:2px}
[tabindex="-1"]:focus{outline:none}
.wrap{width:var(--col);margin-inline:auto}
.screen-reader-text,.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link.screen-reader-text:focus{clip:auto;width:auto;height:auto;left:12px;top:12px;z-index:100;background:#fff;color:var(--sy-n-900);padding:10px 14px;border-radius:4px;font-weight:700}
h2[id],section[id]{scroll-margin-top:88px}
.wp-site-blocks{min-height:100svh;display:flex;flex-direction:column}
.wp-site-blocks>main{flex:1}
body .wp-site-blocks>*{margin-block:0}   /* sin el blockGap raíz entre header, main y footer */

/* Layout mínimo para contenido editorial (páginas legales, ayuda):
   sustituye los estilos de layout de WordPress, que el tema desactiva. */
.is-layout-constrained>*{max-width:var(--wp--style--global--content-size,68ch);margin-inline:auto}
.is-layout-constrained>.alignwide{max-width:var(--wp--style--global--wide-size,1180px)}
.is-layout-constrained>.alignfull{max-width:none}
.prose>*+*{margin-block-start:1em}
.prose{padding:clamp(40px,8vw,96px) var(--gut)}
.prose h1{font:italic 800 clamp(2rem,1.4rem + 2vw,3.25rem)/1.02 var(--font-display);color:var(--sy-red-500)}
.prose h2{font:italic 800 clamp(1.5rem,1.2rem + 1vw,2rem)/1.1 var(--font-display);margin-block-start:1.5em}
/* Términos y condiciones: texto oficial largo, legible en celular (índice, numeración y tabla de beneficios) */
.prose .tyc-lead{font-size:clamp(1.125rem,1rem + .4vw,1.3125rem);color:var(--sy-n-800)}
.prose .tyc-pdf .wp-block-button__link{color:var(--sy-red-700)}
.tyc-indice ol{margin:0;padding:0;list-style:none;counter-reset:tyc;border-top:1px solid var(--sy-n-300)}
.tyc-indice li{counter-increment:tyc;border-bottom:1px solid var(--sy-n-300)}
.tyc-indice a{display:flex;gap:14px;align-items:center;min-height:44px;color:var(--sy-n-900);text-decoration:none;font-weight:700}
.tyc-indice a::before{content:counter(tyc);min-width:2ch;font-variant-numeric:tabular-nums;color:var(--sy-red-500)}
.tyc-indice a:hover{color:var(--sy-red-700);text-decoration:underline;text-underline-offset:4px}
@media (min-width:720px){ .tyc-indice ol{columns:2;column-gap:40px} .tyc-indice li{break-inside:avoid} }
.prose p>strong:first-child{font-variant-numeric:tabular-nums;margin-right:.35em}
.prose .tyc-sub{padding-left:clamp(16px,3vw,28px)}
.prose .tyc-letras{list-style:none}
.prose .tyc-letras li+li{margin-top:.6em}
.tyc-tabla{overflow-x:auto}
.tyc-tabla table{width:100%;border-collapse:collapse;font-size:1rem;font-variant-numeric:tabular-nums}
.tyc-tabla th,.tyc-tabla td{text-align:left;vertical-align:top;padding:10px 12px;border:0;border-bottom:1px solid var(--sy-n-300)}
.tyc-tabla thead{border:0}
.tyc-tabla thead th{border-bottom:2px solid var(--sy-n-900);font-size:.875rem}
.tyc-tabla tbody th{font-weight:800;color:var(--sy-red-700)}
@media (max-width:480px){ .tyc-tabla th,.tyc-tabla td{padding:8px 6px;font-size:.9375rem} }
.prose .tyc-fuente{font-size:.875rem;color:var(--sy-n-800);margin-block-start:2em}
.tyc-buscar{display:grid;gap:8px;max-width:480px}
.tyc-buscar[hidden]{display:none}
.tyc-buscar label{font-weight:700}
.tyc-buscar input{min-height:var(--control-h);padding:0 14px;border:2px solid var(--sy-n-800);border-radius:var(--radius-md);background:#fff;font:inherit;color:var(--sy-n-900)}
.tyc-buscar input:focus-visible{outline:3px solid var(--sy-red-500);outline-offset:2px}
.tyc-buscar-msg{min-height:1.5em;margin:0;color:var(--sy-n-800)}
.prose .tyc-estado{border-bottom:1px solid var(--sy-n-300)}
.prose .tyc-estado:first-of-type{border-top:1px solid var(--sy-n-300)}
.prose .tyc-estado+.tyc-estado{margin-block-start:0}
.tyc-estado summary{list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:52px;cursor:pointer;font-weight:800;color:var(--sy-n-900)}
.tyc-estado summary::-webkit-details-marker{display:none}
.tyc-estado summary::after{content:"";width:18px;height:18px;flex:none;background:currentColor;-webkit-mask:var(--i-down) center/contain no-repeat;mask:var(--i-down) center/contain no-repeat;transition:transform var(--dur-base) var(--ease-out)}
.tyc-estado[open] summary::after{transform:rotate(180deg)}
.tyc-estado summary span{margin-left:auto;font-weight:400;color:var(--sy-n-800);font-size:.9375rem;font-variant-numeric:tabular-nums}
.tyc-estado summary:hover{color:var(--sy-red-700)}
.tyc-estado[open] summary{color:var(--sy-red-700)}
.tyc-estado .tyc-tabla{margin-bottom:16px}
.is-layout-flex{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}

/* ---------- Botones (core/button) ---------- */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
.wp-block-button__link,.btn{display:inline-flex;align-items:center;gap:12px;min-height:var(--control-h);padding:0 26px;border-radius:var(--radius-md);border:2px solid transparent;font:italic 800 1.125rem/1 var(--font-display);text-decoration:none;cursor:pointer;background:var(--sy-red-500);color:#fff;transition:background-color var(--dur-base) var(--ease-out),color var(--dur-base),transform var(--dur-fast)}
.wp-block-button__link:hover{background:var(--sy-red-700);color:#fff}
.wp-block-button__link:active{transform:translateY(1px)}
.wp-block-button:not(.is-style-linea) .wp-block-button__link::after{content:"";width:20px;height:20px;flex:none;background:currentColor;-webkit-mask:var(--i-arrow) center/contain no-repeat;mask:var(--i-arrow) center/contain no-repeat;transition:transform var(--dur-base) var(--ease-out)}
.wp-block-button__link:hover::after{transform:translateX(4px)}
.is-style-blanco .wp-block-button__link{background:#fff;color:var(--sy-red-700)}
.is-style-blanco .wp-block-button__link:hover{background:var(--sy-n-50);color:var(--sy-red-700)}
.is-style-linea .wp-block-button__link{background:transparent;color:inherit;border-color:currentColor}
.is-style-linea .wp-block-button__link:hover{background:rgb(255 255 255 / .08);color:inherit}
.is-style-ancho,.is-style-ancho .wp-block-button__link{width:100%;justify-content:space-between}

/* ---------- Header Soriana YA (marco fijo) ---------- */
.top{background:var(--sy-red-700);color:#fff;position:sticky;top:env(safe-area-inset-top,0px);z-index:30}
.top>.wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:var(--header-h)}
.sy-logo{display:inline-flex;min-height:44px;align-items:center;color:#fff}
.sy-logo svg{height:36px;width:auto;aspect-ratio:1032/320;display:block}
.top :focus-visible{outline-color:#fff}
.top .wp-block-navigation{font-weight:700}
.top .wp-block-navigation__container{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.top .wp-block-navigation-item__content{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;text-decoration:none;border-radius:4px;color:#fff}
.top .wp-block-navigation-item__content:hover{background:rgb(255 255 255 / .1)}
.top .current-menu-item>.wp-block-navigation-item__content,.top [aria-current="page"]{text-decoration:underline;text-decoration-color:var(--sy-lime-400);text-decoration-thickness:3px;text-underline-offset:8px}
.top .in>.wp-block-navigation-item__content{border:1.5px solid rgb(255 255 255 / .55);margin-left:10px}
/* Botón «Menú» y panel móvil (navegación responsive del núcleo, con el aspecto del diseño) */
.top .wp-block-navigation__responsive-container-open{display:none;min-height:44px;padding:0 12px;border:1.5px solid rgb(255 255 255 / .55);border-radius:var(--radius-md);background:none;color:#fff;font:700 1rem var(--font-body);align-items:center;gap:8px;cursor:pointer}
.top .wp-block-navigation__responsive-container-open::after{content:"Menú"}
.top .wp-block-navigation__responsive-container-open svg{width:20px;height:20px;fill:currentColor}
@media (max-width:820px){
  .top .wp-block-navigation__responsive-container-open{display:inline-flex}
  .top .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}
  .sy-logo svg{height:30px}
}
@media (min-width:821px){
  .top .wp-block-navigation__responsive-container-open{display:none!important}
  .top .wp-block-navigation__responsive-container:not(.is-menu-open){display:block;position:static;background:none}
  .top .wp-block-navigation__responsive-container-close{display:none}
}
.top .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open{position:fixed;inset:var(--header-h) 0 0 0;z-index:40;background:var(--sy-red-700)!important;color:#fff!important;padding:6px var(--gut) 18px;border-top:1px solid rgb(255 255 255 / .2);overflow:visible}
.top .is-menu-open .wp-block-navigation__responsive-container-close{position:absolute;top:calc((var(--header-h) - 44px)/2 - var(--header-h) - 7px);right:0;z-index:2;min-height:44px;padding:0 12px;display:inline-flex;align-items:center;gap:8px;background:var(--sy-red-700);border:1.5px solid rgb(255 255 255 / .55);border-radius:var(--radius-md);color:#fff;font:700 1rem var(--font-body);cursor:pointer}
.top .is-menu-open .wp-block-navigation__responsive-container-close::after{content:"Cerrar"}
.top .wp-block-navigation:has(.is-menu-open) .wp-block-navigation__responsive-container-open{visibility:hidden}
.top .is-menu-open .wp-block-navigation__responsive-container-close svg{width:20px;height:20px;fill:currentColor}
.top .is-menu-open .wp-block-navigation__container{display:flex!important;flex-direction:column;align-items:stretch!important;gap:0!important;width:100%}
.top .is-menu-open .wp-block-navigation-item{width:100%!important;display:block!important}
.top .is-menu-open .wp-block-navigation__responsive-container-content{padding-top:0!important;align-items:stretch!important}
.top .is-menu-open .wp-block-navigation-item__content{color:#fff;width:100%;display:flex;justify-content:space-between;min-height:58px;padding:0;border:0;margin:0;border-bottom:1px solid rgb(255 255 255 / .16);border-radius:0;font:italic 800 1.375rem var(--font-display)}
.top .is-menu-open .wp-block-navigation-item__content::after{content:"";width:20px;height:20px;background:currentColor;-webkit-mask:var(--i-arrow) center/contain no-repeat;mask:var(--i-arrow) center/contain no-repeat}
.top .is-menu-open .in>.wp-block-navigation-item__content{border:0;border-bottom:1px solid rgb(255 255 255 / .16);margin:0}
.top .is-menu-open .wp-block-navigation__responsive-dialog,.top .is-menu-open .wp-block-navigation__responsive-container-content{display:block;width:100%;margin:0!important}
html.has-modal-open{overflow:hidden}

/* ---------- Ticket de caja (papel térmico) ---------- */
.ticket{background:var(--paper);color:var(--sy-n-900);width:min(100%,360px);padding:22px 22px 26px;font:500 .9375rem/1.45 var(--font-poster);font-stretch:92%;position:relative;
  -webkit-mask:radial-gradient(circle 6px at 50% 0,#0000 98%,#000) 0 0/14px 51% repeat-x,radial-gradient(circle 6px at 50% 100%,#0000 98%,#000) 0 100%/14px 51% repeat-x;
          mask:radial-gradient(circle 6px at 50% 0,#0000 98%,#000) 0 0/14px 51% repeat-x,radial-gradient(circle 6px at 50% 100%,#0000 98%,#000) 0 100%/14px 51% repeat-x;
  filter:drop-shadow(0 18px 24px rgb(40 0 6 / .35))}
.ticket .t-h{display:flex;justify-content:space-between;gap:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:.8125rem;padding-bottom:12px;border-bottom:1.5px dashed var(--sy-n-500)}
.ticket .t-rows{display:grid;gap:6px;padding-block:14px;border-bottom:1.5px dashed var(--sy-n-500)}
.ticket .t-row{display:flex;align-items:baseline;gap:6px}
.ticket .t-row>p:first-child{display:flex;align-items:baseline;gap:6px;flex:1;white-space:nowrap}
.ticket .t-row>p:first-child::after{content:"";flex:1;min-width:12px;border-bottom:1.5px dotted var(--sy-n-500);transform:translateY(-4px)}
.ticket .t-row>p:last-child{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.ticket .t-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:12px;font-weight:900;text-transform:uppercase;font-size:1.125rem;letter-spacing:.02em}
.ticket .t-total strong{font:italic 800 1.375rem var(--font-display);text-transform:none;color:var(--sy-red-700)}
.ticket .wp-block-buttons{margin-top:18px}
.ticket .wp-block-button,.ticket .wp-block-button__link{width:100%;justify-content:space-between}
.ticket .t-foot{margin-top:14px;text-align:center;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sy-n-700)}

/* Patrón de barras YA (decorativo) */
.open::before,.reqs::before,.prog-mark::before{content:"";position:absolute;inset:0;background:var(--ya-bars);opacity:.14;pointer-events:none}

/* =====================================================================
   HOME
   ===================================================================== */
.open{background:var(--sy-red-700);color:#fff;position:relative;overflow:hidden}
.open>.wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:min(760px,calc(100svh - var(--header-h)));position:relative}
.open-copy{padding-block:clamp(40px,6vw,88px) clamp(48px,6vw,96px);display:grid;align-content:space-between;gap:48px;position:relative;z-index:2}
.open h1{font:italic 800 clamp(2.6rem,1.5rem + 3.6vw,5.25rem)/.98 var(--font-display);letter-spacing:-.015em;max-width:11ch;text-wrap:balance;color:#fff}
.open h1 em{font-style:inherit;color:var(--sy-lime-400)}
.open-sub{max-width:34ch;font-size:1.1875rem;color:#FFE3E4;margin-top:24px}
.open-photo{position:relative;margin:0 calc((min(1320px,100vw - 2*var(--gut)) - 100vw)/2) 0 0;clip-path:polygon(var(--cut) 0,100% 0,100% 100%,0 100%)}
/* El primer scroll lleva el banner de campaña (texto y logos dentro de la imagen): se muestra completo y el sobrante toma sus colores de borde. */
.open-photo{background:linear-gradient(#c5c7cb 50%,#edecee 50%)}
.open-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%}
/* Las franjas de arriba y abajo se rellenan con el mismo banner ampliado y desenfocado (la luz plateada sigue);
   el banner queda completo encima, con los bordes difuminados para que no se note el corte. Decorativo. */
.open-photo::before{content:"";position:absolute;inset:-80px;background:url("../images/morat-home-banner-640.webp") 50% 50%/cover no-repeat;filter:blur(48px) brightness(1.12) saturate(.9);opacity:.85}
@media (min-width:861px){
  /* Escritorio: el banner crece 25 % (en el ancho recortado no hay texto, caras ni logos; queda del 8 al 88 %) y las franjas son delgadas */
  .open-photo img{transform:scale(1.25);transform-origin:40% 50%;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 9%,#000 91%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 9%,#000 91%,transparent 100%)}
}
@media (min-width:861px) and (max-width:1279px){ .open-photo img{transform:scale(1.45);transform-origin:40.5% 50%} }   /* laptop: el espacio es casi vertical; 1.45 aún deja ver del 6 al 75 % del banner */
@media (max-width:860px){ .open-photo img{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 6%,#000 94%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 6%,#000 94%,transparent 100%)} }
.open-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgb(184 0 24 / .35),transparent 35%)}
@media (max-width:900px){
  .open>.wrap{grid-template-columns:1fr;min-height:0}
  .open-photo{order:-1;height:62vw;max-height:440px;margin-inline:calc(-1 * var(--gut));clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut)*.55),0 100%)}
  .open-photo img{bottom:calc(var(--cut)*.55);height:auto} /* el banner queda arriba de la diagonal: no se cortan los logos */
  .open-copy{padding-top:8px;gap:32px}
  .open .ticket{width:100%;max-width:420px}
}

/* Cómo funciona */
.how{background:var(--sy-n-50);padding-block:clamp(72px,10vw,144px) clamp(64px,9vw,128px)}
.how>.wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px clamp(32px,6vw,112px);align-items:center}
.how h2{font:italic 800 clamp(1.9rem,1.2rem + 2.4vw,3.5rem)/1.08 var(--font-display);color:var(--sy-n-900);text-wrap:balance}
.how h2 mark{background:none!important;color:var(--sy-red-500)}
.how .how-lead{margin-top:22px;max-width:34ch;font-size:clamp(1.25rem,1.05rem + .5vw,1.5rem);line-height:1.35;color:var(--sy-n-900)}
.how .how-lead + .after{margin-top:18px}
.how .after{margin-top:28px;max-width:40ch;font-size:1.1875rem;color:var(--sy-n-800)}
.how .after strong{color:var(--sy-n-900)}
.sum{justify-self:end;max-width:380px;transform:rotate(1.2deg);filter:drop-shadow(0 22px 26px rgb(30 26 26 / .18))}
.sum .t-rows{border-bottom:0;padding-bottom:4px}
.sum .t-acc{display:flex;justify-content:space-between;align-items:baseline;padding-top:12px;font-weight:900;text-transform:uppercase;font-size:1.0625rem}
.sum .t-acc>p:last-child{font-variant-numeric:tabular-nums}
.sum .win{margin:10px -8px 14px;padding:9px 10px;background:var(--sy-n-900);color:#fff;font:italic 800 1.0625rem/1.2 var(--font-display);display:flex;align-items:center;gap:10px}
.sum .win::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--sy-lime-400);flex:none}
.sum .t-foot{border-top:1.5px dashed var(--sy-n-500);padding-top:12px}
.sum.armed{clip-path:inset(0 0 100% 0)}
.sum.print{clip-path:inset(0 0 0 0);transition:clip-path 1.8s steps(18,end)}
@media (prefers-reduced-motion:reduce){ .sum.armed{clip-path:none} }
@media (max-width:860px){ .how>.wrap{grid-template-columns:1fr} .sum{justify-self:start;transform:none;width:100%} }

/* Programa: el «!» como objeto */
.prog{background:#fff;position:relative;overflow:hidden}
.prog>.wrap{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:stretch}
.prog-mark{background:var(--sy-red-700);position:relative;margin-left:calc(-1 * var(--gut) - (100vw - var(--col) - 2*var(--gut))/2);clip-path:polygon(0 0,100% 0,calc(100% - var(--cut)) 100%,0 100%);min-height:420px}
.prog-mark::after{content:"";position:absolute;inset:0;background:var(--bang) center/min(62%,320px) auto no-repeat}
/* Panel con foto de Morat (pedido de Soriana, PPT 04-nov): misma caja roja y corte diagonal; la foto cubre la caja */
.prog-mark.con-foto::before,.prog-mark.con-foto::after{display:none}
.prog-foto{position:absolute;inset:0;margin:0}
.prog-foto img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 28%}
@media (min-width:861px){ .prog-mark.con-foto{margin-left:calc((min(1320px,100vw - 2*var(--gut)) - 100vw)/2)} }   /* la caja llega al borde de la ventana, no más allá: la foto no se recorta fuera de pantalla */
.prog-text{padding:clamp(56px,7vw,104px) 0 clamp(56px,7vw,104px) clamp(32px,5vw,88px);display:grid;gap:22px;align-content:center}
.prog-text h2{font:italic 800 clamp(1.75rem,1.2rem + 1.8vw,2.75rem)/1.08 var(--font-display);color:var(--sy-red-500);max-width:16ch}
.prog-text p{max-width:46ch;color:var(--sy-n-800)}
.prog-text .where{display:grid;font:800 1.0625rem var(--font-poster);text-transform:uppercase;letter-spacing:.04em;max-width:420px}
.prog-text .where li{display:flex;align-items:center;gap:12px;padding-block:12px;border-bottom:1px solid var(--sy-n-300)}
.prog-text .where li:first-child{border-top:1px solid var(--sy-n-300)}
.prog-text .where li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sy-red-500)}
.prog-text .wp-block-buttons{justify-content:center;margin-top:8px}
@media (max-width:860px){ .prog>.wrap{grid-template-columns:1fr} .prog-mark::after{inset:clamp(40px,11vw,64px) 0 calc(var(--cut)*.5 + clamp(36px,10vw,56px));background-size:contain} .prog-mark{margin-inline:calc(-1 * var(--gut));min-height:clamp(270px,62vw,420px);clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - var(--cut)*.5))} .prog-text{padding-inline:0} }

/* Índice de experiencias (bucle de consulta de sy_experiencia, sin tarjetas) */
.xidx{background:var(--sy-n-50);padding-block:clamp(64px,9vw,128px)}
.xidx h2{font:italic 800 clamp(1.75rem,1.2rem + 1.8vw,2.75rem)/1.08 var(--font-display);color:var(--sy-n-900);margin-bottom:clamp(24px,4vw,48px)}
.xidx .wp-block-post-template{list-style:none;margin:0;padding:0}
.xrow,.xidx .wp-block-post{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr) clamp(88px,10vw,148px);grid-template-areas:"name meta thumb" "name go thumb";gap:12px 32px;align-items:center;padding-block:28px;border-top:2px solid var(--sy-n-900);position:relative}
.xidx .wp-block-post-title{grid-area:name;max-width:7.5em;font:900 clamp(2rem,1.3rem + 2.6vw,3.75rem)/.9 var(--font-poster);font-stretch:76%;text-transform:uppercase;letter-spacing:-.005em;color:var(--sy-n-900)}
.xidx .wp-block-post-title a{text-decoration:none}
.xidx .wp-block-post-title a::after{content:"";position:absolute;inset:0}   /* toda la fila es el enlace */
.xidx .wp-block-post:hover .wp-block-post-title{color:var(--sy-red-700)}
.xidx .wp-block-post-excerpt{grid-area:meta;align-self:end;color:var(--sy-n-800)}
.xidx .wp-block-post-excerpt strong{color:var(--sy-n-900)}
.xidx .wp-block-post-excerpt__more-text{display:none}
.xidx .wp-block-post-featured-image{grid-area:thumb;align-self:center;margin:0}
.xidx .wp-block-post-featured-image img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%)}
.xidx .wp-block-read-more{grid-area:go;align-self:start;display:inline-flex;align-items:center;gap:10px;min-height:44px;font:italic 800 1.125rem var(--font-display);color:var(--sy-red-700);text-decoration:none;position:relative;z-index:1}
.xidx .wp-block-read-more::after{content:"";width:22px;height:22px;background:currentColor;-webkit-mask:var(--i-arrow) center/contain no-repeat;mask:var(--i-arrow) center/contain no-repeat;transition:transform var(--dur-base) var(--ease-out)}
.xidx .wp-block-post:hover .wp-block-read-more::after{transform:translateX(6px)}
.xrow.soon{color:var(--sy-n-700);border-top:1px solid var(--sy-n-300);border-bottom:1px solid var(--sy-n-300);grid-template-areas:"name meta thumb"}
.xrow .x-name{grid-area:name;font:900 clamp(2rem,1.3rem + 2.6vw,3.75rem)/.9 var(--font-poster);font-stretch:76%;text-transform:uppercase;color:var(--sy-n-500)}
.xrow .x-meta{grid-area:meta;display:grid;gap:4px}
@media (max-width:760px){ .xrow,.xidx .wp-block-post{grid-template-columns:1fr 96px;grid-template-areas:"name thumb" "meta meta" "go go"} .xrow.soon{grid-template-areas:"name name" "meta meta"} }

/* =====================================================================
   NUESTRO PROGRAMA (marco Soriana YA, sin capa de campaña)
   Apertura con el «!» → ticket de lo que obtienes → boleto con talón.
   ===================================================================== */
.pg-open{background:var(--sy-red-700);color:#fff;position:relative;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - var(--cut)*.55))}
.pg-open::before{content:"";position:absolute;inset:0;background:var(--ya-bars);opacity:.14;pointer-events:none}
.pg-open>.wrap{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:var(--gut);align-items:stretch;position:relative;padding-block:clamp(48px,7vw,112px) calc(clamp(48px,6vw,96px) + var(--cut)*.55)}
.pg-open h1{font:italic 800 clamp(2.6rem,1.3rem + 4.4vw,6rem)/.95 var(--font-display);letter-spacing:-.015em;max-width:12ch;text-wrap:balance;color:#fff}
.pg-open h1 em{font-style:inherit;color:var(--sy-lime-400)}
.pg-open .pg-lead{margin-top:clamp(20px,3vw,36px);max-width:30ch;font:italic 800 clamp(1.25rem,1.05rem + .8vw,1.75rem)/1.18 var(--font-display);color:#fff;text-wrap:balance}
.pg-open .pg-lead+p{margin-top:16px;max-width:52ch;font-size:1.125rem;color:#FFE3E4}
.pg-open-mark{background:var(--bang) 60% 50%/contain no-repeat;min-height:300px}
@media (max-width:860px){
  .pg-open>.wrap{grid-template-columns:1fr;padding-top:36px}
  .pg-open-mark{order:-1;min-height:0;height:clamp(88px,24vw,140px);width:clamp(56px,15vw,88px);background-position:0 50%}
}

/* Beneficios: un ticket de caja ancho, cada beneficio es un renglón */
.pg-bene{padding-block:clamp(64px,9vw,128px)}
.pg-bene>.wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px clamp(32px,6vw,112px);align-items:center}
.pg-bene h2{font:italic 800 clamp(1.9rem,1.2rem + 2.4vw,3.5rem)/1.06 var(--font-display);color:var(--sy-n-900);max-width:12ch;text-wrap:balance}
.pg-bene-intro{display:grid;gap:clamp(24px,3.4vw,44px)}
.pg-bene-foto{margin:0}
.pg-bene-foto img{display:block;width:100%;max-width:520px;height:auto}   /* la foto ya trae su panel inclinado: sin marco ni sombra */
.recibo{width:100%;max-width:620px;justify-self:end;padding:clamp(22px,3vw,34px) clamp(22px,3.2vw,38px) clamp(26px,3.4vw,40px);transform:rotate(-.8deg);filter:drop-shadow(0 22px 26px rgb(30 26 26 / .18))}
.recibo .t-item{display:grid;grid-template-columns:14px minmax(0,1fr);column-gap:14px;row-gap:6px;padding-block:20px;border-bottom:1.5px dashed var(--sy-n-500)}
.recibo .t-item::before{content:"";grid-row:1;width:10px;height:22px;align-self:start;margin-top:1px;background:var(--sy-red-500);clip-path:polygon(40% 0,100% 0,60% 100%,0 100%)}   /* la barra del «!» */
.recibo .t-item>*{grid-column:2}
.recibo h3{font:800 clamp(1.125rem,1rem + .5vw,1.375rem)/1.1 var(--font-poster);font-stretch:85%;text-transform:uppercase;letter-spacing:.02em;color:var(--sy-n-900)}
.recibo .t-item p{font-size:1rem;line-height:1.5;color:var(--sy-n-800);max-width:52ch}
.recibo .t-link a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font:italic 800 1.0625rem var(--font-display);color:var(--sy-red-700);text-decoration:none}
.recibo .t-link a::after{content:"";width:20px;height:20px;background:currentColor;-webkit-mask:var(--i-arrow) center/contain no-repeat;mask:var(--i-arrow) center/contain no-repeat;transition:transform var(--dur-base) var(--ease-out)}
.recibo .t-link a:hover{text-decoration:underline;text-underline-offset:5px}
.recibo .t-link a:hover::after{transform:translateX(4px)}
.recibo .t-h p:first-child{white-space:nowrap}
.recibo .t-h p:last-child{text-align:right}
.recibo .t-total{padding-top:16px}
.recibo .t-total strong{font-size:clamp(1.375rem,1.2rem + .6vw,1.75rem)}
.imprime.armed{clip-path:inset(0 0 100% 0)}
.imprime.print{clip-path:inset(0 0 0 0);transition:clip-path 1.6s steps(16,end)}
@media (prefers-reduced-motion:reduce){ .imprime.armed{clip-path:none} }
@media (max-width:860px){ .pg-bene>.wrap{grid-template-columns:1fr} .recibo{justify-self:stretch;max-width:none;transform:none} .pg-bene-foto img{max-width:420px} }

/* Cómo empezar: el boleto (pasos) y su talón desprendible (cierre) */
.pg-pasos{background:#fff;padding-block:clamp(64px,9vw,128px)}
.pg-pasos h2{font:italic 800 clamp(1.9rem,1.2rem + 2.4vw,3.5rem)/1.06 var(--font-display);color:var(--sy-n-900);max-width:18ch;text-wrap:balance;margin-bottom:clamp(28px,4vw,56px)}
.boleto{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);filter:drop-shadow(0 22px 26px rgb(30 26 26 / .14))}
.pasos{counter-reset:paso;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--sy-n-50);border-radius:var(--radius-md) 0 0 var(--radius-md);margin:0;padding:clamp(8px,1.4vw,16px) 0;list-style:none}
.pasos li{counter-increment:paso;padding:clamp(24px,3vw,40px) clamp(20px,2.4vw,36px) clamp(28px,3vw,44px);color:var(--sy-n-800);font-size:1rem;line-height:1.5}
.pasos li+li{border-left:1.5px dashed var(--sy-n-500)}
.pasos li::before{content:counter(paso);display:block;margin-bottom:18px;font:900 clamp(2.75rem,2rem + 2vw,4rem)/.8 var(--font-poster);font-stretch:76%;color:var(--sy-red-500);font-variant-numeric:tabular-nums}
.pasos strong{display:block;margin-bottom:8px;font:italic 800 clamp(1.25rem,1.1rem + .5vw,1.5rem)/1.12 var(--font-display);color:var(--sy-n-900)}
.talon{position:relative;overflow:hidden;background:var(--sy-red-700);color:#fff;margin-left:calc(var(--cut) * -.5);clip-path:polygon(calc(var(--cut) * .5) 0,100% 0,100% 100%,0 100%);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:clamp(32px,4vw,56px) clamp(24px,3vw,44px) clamp(32px,4vw,56px) calc(var(--cut) * .5 + clamp(16px,2vw,28px));display:grid;align-content:center;gap:22px}
.talon::before{content:"";position:absolute;inset:0;background:var(--ya-bars);opacity:.14;pointer-events:none}
.talon>*{position:relative}
.talon .lema{font:italic 800 clamp(1.75rem,1.2rem + 1.8vw,2.75rem)/1.02 var(--font-display);color:#fff;text-wrap:balance;max-width:11ch}
.talon .wp-block-button__link{white-space:normal;line-height:1.15;padding-block:12px;text-align:left}
.talon .ext{font-size:.9375rem;color:#FFE3E4}
.talon :focus-visible{outline-color:#fff}
.externo .wp-block-button__link::after{-webkit-mask-image:var(--i-ext);mask-image:var(--i-ext)}
.externo .wp-block-button__link:hover::after{transform:translate(3px,-3px)}
@media (max-width:1199px){
  .boleto{grid-template-columns:1fr}
  .pasos{border-radius:var(--radius-md) var(--radius-md) 0 0;padding-bottom:calc(var(--cut) * .3)}
  .talon{margin:calc(var(--cut) * -.3) 0 0;clip-path:polygon(0 calc(var(--cut) * .3),100% 0,100% 100%,0 100%);border-radius:0 0 var(--radius-md) var(--radius-md);padding:calc(var(--cut) * .3 + 28px) clamp(20px,4vw,40px) 32px;justify-items:start}
  .talon .lema{max-width:none}
}
@media (max-width:760px){
  .pasos{grid-template-columns:1fr;padding:0 0 calc(var(--cut) * .3)}
  .pasos li{display:grid;grid-template-columns:clamp(44px,12vw,64px) minmax(0,1fr);column-gap:16px;padding:24px clamp(20px,4vw,32px)}
  .pasos li::before{grid-row:1/3;margin:0}
  .pasos li+li{border-left:0;border-top:1.5px dashed var(--sy-n-500)}
  .talon{justify-items:stretch}
}

@media (min-width:901px){
  .pg-open h1{font-size:clamp(2.6rem,min(1.3rem + 4.4vw,11vh),6rem)}
  .pg-bene,.pg-pasos{padding-block:var(--vh-gap)}
}

/* =====================================================================
   AYUDA · preguntas frecuentes como cartel de gira (mundo noche)
   La foto queda fija detrás (capa sticky) en blanco y negro, bajo un velo
   noche que garantiza el contraste AA en cualquier punto de la imagen.
   ===================================================================== */
.faq{position:relative;isolation:isolate;padding-block:clamp(56px,8vw,120px) clamp(72px,10vw,144px)}
.faq::before{content:"";position:sticky;top:0;display:block;height:100svh;margin-bottom:-100svh;z-index:-1;
  background:linear-gradient(180deg,rgb(10 10 11 / .7),rgb(10 10 11 / .84) 60%,rgb(10 10 11 / .92)),url("../images/morat-recuerdos-960.webp") 50% 30%/cover no-repeat;filter:grayscale(1)}
@media (min-width:961px){ .faq::before{background-image:linear-gradient(180deg,rgb(10 10 11 / .7),rgb(10 10 11 / .84) 60%,rgb(10 10 11 / .92)),url("../images/morat-recuerdos-1600.webp")} }
.faq-head{display:grid;gap:clamp(20px,2.6vw,32px);justify-items:start;margin-bottom:clamp(48px,7vw,104px)}
.faq h1{font-size:clamp(3rem,1.6rem + 5.4vw,7rem);text-wrap:balance}
.faq-intro{display:grid;gap:clamp(24px,3vw,40px);width:100%}
.faq-intro p{max-width:52ch;font-size:clamp(1.125rem,1rem + .4vw,1.3125rem);color:var(--mo-mist)}
.faq-index{display:grid;list-style:none;margin:0;padding:0;max-width:880px;font:800 1.0625rem/1.1 var(--font-poster);text-transform:uppercase;letter-spacing:.04em}
.faq-index li{border-bottom:1px solid var(--mo-line-strong)}
.faq-index li:first-child{border-top:1px solid var(--mo-line-strong)}
.faq-index a{display:flex;align-items:center;gap:12px;min-height:48px;padding-block:6px;color:#fff;text-decoration:none;transition:color var(--dur-base)}
.faq-index a::before{content:"";width:8px;height:8px;flex:none;border-radius:50%;background:var(--sy-lime-400)}
.faq-index a::after{content:"";width:18px;height:18px;margin-left:auto;flex:none;background:currentColor;-webkit-mask:var(--i-down) center/contain no-repeat;mask:var(--i-down) center/contain no-repeat;opacity:0;transform:translateY(-3px);transition:opacity var(--dur-base),transform var(--dur-base) var(--ease-out)}
.faq-index a:hover{color:var(--sy-lime-400)}
.faq-index a:hover::after,.faq-index a:focus-visible::after{opacity:1;transform:none}
.faq-tema+.faq-tema{margin-top:clamp(56px,8vw,112px)}
.faq-tema h2{font-size:clamp(2.4rem,1.4rem + 4vw,5rem);padding-bottom:clamp(12px,1.6vw,20px);border-bottom:2px solid #fff}
.faq .wp-block-details{border-bottom:1px solid var(--mo-line)}
.faq summary{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:20px;align-items:center;padding-block:clamp(18px,2.2vw,28px);cursor:pointer;list-style:none;font:900 clamp(1.5rem,1rem + 1.9vw,2.75rem)/.95 var(--font-poster);font-stretch:76%;text-transform:uppercase;letter-spacing:-.005em;color:#fff;transition:color var(--dur-base)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:44px;height:44px;box-sizing:border-box;border:1.5px solid var(--mo-line-strong);border-radius:50%;background:linear-gradient(currentColor,currentColor) center/18px 2.5px no-repeat,linear-gradient(currentColor,currentColor) center/2.5px 18px no-repeat;transition:transform var(--dur-slow) var(--ease-out),border-color var(--dur-base)}
.faq summary:hover::after,.faq details[open]>summary::after{border-color:currentColor}
.faq summary:hover,.faq details[open]>summary{color:var(--sy-lime-400)}
.faq details[open]>summary::after{transform:rotate(45deg)}
.faq summary:focus-visible{outline:3px solid #fff;outline-offset:4px}
.faq .wp-block-details>:not(summary){max-width:62ch;padding-bottom:clamp(22px,2.6vw,32px);font-size:1.125rem;line-height:1.6;color:var(--mo-mist)}
.faq .wp-block-details strong{color:#fff}
.faq .wp-block-details a,.faq-intro a{color:#fff;text-underline-offset:4px}
.faq .wp-block-details a:hover{text-decoration-color:var(--sy-lime-400)}
.faq .wp-block-details ul,.faq .wp-block-details ol{margin:0;padding-left:1.4em}
.faq .wp-block-details li+li{margin-top:8px}
.faq .wp-block-details li::marker{color:var(--sy-lime-400);font-weight:800}
.faq .wp-block-details>.faq-tabla{max-width:none;margin:0;overflow-x:auto}
.faq-tabla table{width:100%;min-width:720px;border-collapse:collapse;font-size:1rem;line-height:1.35;font-variant-numeric:tabular-nums}
.faq-tabla th,.faq-tabla td{text-align:left;vertical-align:top;padding:10px 12px;border:0;border-bottom:1px solid var(--mo-line)}
.faq-tabla thead{border:0}
.faq-tabla thead th{border-bottom:2px solid var(--mo-line-strong);font-size:.875rem;color:#fff}
.faq-tabla tbody th{font-weight:800;color:#fff}
/* Celular: cada fila como ficha con la etiqueta de cada columna (sin desplazamiento lateral; el marcado del bloque no cambia). */
@media (max-width:760px){
  .faq .wp-block-details>.faq-tabla{overflow:visible}
  .faq-tabla table{min-width:0}
  .faq-tabla thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .faq-tabla table,.faq-tabla tbody,.faq-tabla tr,.faq-tabla th,.faq-tabla td{display:block}
  .faq-tabla tr{padding:14px 0;border-bottom:1px solid var(--mo-line)}
  .faq-tabla th,.faq-tabla td{padding:2px 0;border:0}
  .faq-tabla tbody th{font-size:1.0625rem;margin-bottom:4px}
  .faq-tabla td::before{color:var(--mo-mist);font-weight:700}
  .faq-tabla td:nth-of-type(1)::before{content:"Ciudad: "}
  .faq-tabla td:nth-of-type(2)::before{content:"Ganadores: "}
  .faq-tabla td:nth-of-type(3)::before{content:"Compras válidas hasta: "}
  .faq-tabla td:nth-of-type(4)::before{content:"Te contactamos el: "}
  .faq-tabla td:nth-of-type(5)::before{content:"Fecha del evento: "}
}
@media (min-width:861px){ .faq-index{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,auto);grid-auto-flow:column;column-gap:clamp(32px,4vw,64px)} .faq-index li:nth-child(4){border-top:1px solid var(--mo-line-strong)} }
@media (prefers-reduced-motion:reduce){ .faq summary::after{transition:none} }

/* ---------- Footer ---------- */
.foot{background:var(--sy-n-900);color:#D9D5D1;padding-block:48px 32px;font-size:.9375rem}
.foot>.wrap{display:grid;grid-template-columns:auto 1fr;gap:24px 48px;align-items:start}
.foot .sy-logo svg{height:34px}
.foot .wp-block-navigation__container{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 24px;list-style:none;margin:0;padding:0}
.foot .wp-block-navigation-item__content{min-height:44px;display:inline-flex;align-items:center;color:#fff;text-decoration:underline;text-underline-offset:4px}
.foot .legal{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;border-top:1px solid #3A3435;padding-top:18px;color:#B5AEAB;font-size:.875rem}
.foot :focus-visible{outline-color:#fff}
@media (max-width:700px){ .foot>.wrap{grid-template-columns:1fr} .foot .wp-block-navigation__container{justify-content:flex-start} }

/* =====================================================================
   LANDING DE EXPERIENCIA · capa Morat (noche)
   ===================================================================== */
.m{background:var(--mo-night);color:var(--mo-mist)}
.m :focus-visible{outline-color:#fff}
.poster,.m h2.poster{font-family:var(--font-poster);text-transform:uppercase;font-stretch:76%;font-weight:900;font-style:normal;color:#fff;line-height:.86;letter-spacing:-.005em}

/* Hero: cuerpo (foto) + desprendible + talón Soriana YA */
.mh{position:relative;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);min-height:min(820px,calc(100svh - var(--header-h)));overflow:hidden}
.mh-photo{grid-column:2;grid-row:1/3;position:relative;clip-path:polygon(var(--cut) 0,100% 0,100% 100%,0 100%);margin:0 0 0 calc(var(--cut) * -1)}
.mh-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:46% 30%}
.mh-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgb(10 10 11 / .7))}
.mh-text{grid-column:1;padding:clamp(40px,6vw,96px) 0 32px max(var(--gut),(100vw - 1320px)/2);display:grid;align-content:start;gap:28px;position:relative;z-index:2}
.mh-kicker{font:900 clamp(1.44rem,.72rem + 2.7vw,3.42rem)/.86 var(--font-poster);font-stretch:85%;letter-spacing:.02em;text-transform:uppercase;color:var(--mo-mist);margin-bottom:-14px}
.mh h1{font-size:clamp(4rem,2rem + 7.5vw,9.5rem);margin-right:-18%;line-height:.92}
.mh-intro{max-width:38ch;font-size:1.1875rem;color:var(--mo-mist)}
.mh-intro strong{color:#fff}
.stub{grid-column:1/-1;grid-row:2;align-self:end;position:relative;z-index:3;background:var(--sy-red-700);color:#fff;clip-path:polygon(0 0,calc(50% + var(--cut)*.2) 0,calc(50% - var(--cut)*.8) 100%,0 100%);padding:24px 0 26px max(var(--gut),(100vw - 1320px)/2);display:flex;flex-wrap:wrap;align-items:center;gap:18px 32px}
.stub>*{max-width:calc(50vw - var(--gut) - var(--cut)*.6)}
/* Entre tablet y escritorio angosto el botón no cabe junto al texto: el contenido termina en la parte más estrecha del corte y el botón baja de renglón. */
@media (min-width:861px) and (max-width:1365px){ .stub{padding-right:calc(50% + var(--cut)*.8 + 12px)} }
.stub-line{font:italic 800 clamp(1rem,.9rem + .35vw,1.1875rem)/1.2 var(--font-display);max-width:26ch}   /* Google Sans es más ancha que la sustituta anterior: tamaño y ancho para que el botón quepa antes del corte */
.stub :focus-visible{outline-color:#fff}
@media (max-width:980px){
  .mh{grid-template-columns:1fr;min-height:0}
  .mh-photo{grid-column:1;grid-row:1;margin:0;height:min(112vw,560px);clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - var(--cut)*.7))}
  .mh-text{grid-row:2;padding:0 var(--gut) 36px;margin-top:calc(-1 * clamp(80px,22vw,160px))}
  .mh h1{margin-right:0}
  .stub{grid-row:3;clip-path:none;padding:22px var(--gut)}
  .stub>*{max-width:none}
}

/* La gira (bloque dinámico sy/gira del plugin) */
.tour{padding-block:clamp(72px,10vw,140px) clamp(56px,8vw,104px)}
.tour-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px var(--gut);align-items:end;margin-bottom:clamp(28px,4vw,56px)}
.tour-head h2{font-size:clamp(3rem,1.8rem + 4.6vw,6rem)}
.tour-head p{max-width:40ch}
.tour-list{border-top:2px solid #fff;list-style:none;margin:0;padding:0}
.trow{display:grid;grid-template-columns:minmax(0,5.5fr) minmax(0,2fr) minmax(0,2.2fr) minmax(0,2.3fr);gap:8px 24px;align-items:baseline;padding-block:clamp(16px,2vw,24px);border-bottom:1px solid var(--mo-line)}
.trow .city{font-size:clamp(2.1rem,1.2rem + 3.4vw,4.5rem)}
.trow .k{display:block;font:700 .75rem/1.2 var(--font-body);color:var(--mo-fog);letter-spacing:.04em}
.trow .v{font:800 1.25rem/1.1 var(--font-poster);font-stretch:85%;color:#fff;text-transform:uppercase;font-variant-numeric:tabular-nums}
.trow .st{font:700 .875rem var(--font-body);color:var(--sy-lime-400)}
.trow.closed .city{color:#4A484E}
.trow.closed .st{color:var(--mo-fog)}
@media (max-width:860px){ .tour-head{grid-template-columns:1fr} .trow{grid-template-columns:repeat(3,minmax(0,1fr))} .trow .city{grid-column:1/-1} }

/* Premios: una sola línea tipográfica */
.prizes{padding-block:clamp(40px,6vw,88px);border-top:1px solid var(--mo-line);border-bottom:1px solid var(--mo-line);overflow:hidden}
.prizes .line{font-size:clamp(2.2rem,1.2rem + 3.8vw,5.25rem);line-height:.98;text-wrap:balance}
.prizes .line em{font-style:normal;color:var(--mo-line-strong);padding-inline:.18em}
.prizes .note{margin-top:20px;max-width:56ch}

/* Así se juega: retrato + setlist */
.play{padding-block:clamp(72px,10vw,140px)}
.play>.wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.play .wp-block-image{position:sticky;top:96px;clip-path:polygon(0 0,100% 0,100% 100%,var(--cut) 100%)}
.play .wp-block-image img{aspect-ratio:4/5;object-fit:cover;object-position:40% 30%;width:100%}
.play h2{font-size:clamp(2.6rem,1.6rem + 3.6vw,5rem);margin-bottom:clamp(20px,3vw,40px)}
.setlist{counter-reset:sl;list-style:none;margin:0;padding:0}
.setlist li{counter-increment:sl;position:relative;padding:22px 0 22px calc(4.5rem + 20px);border-top:1px solid var(--mo-line);max-width:calc(46ch + 4.5rem + 20px)}
.setlist li:last-child{border-bottom:1px solid var(--mo-line)}
.setlist li::before{content:counter(sl,decimal-leading-zero);position:absolute;left:0;top:22px;font:900 2.5rem/.8 var(--font-poster);font-stretch:76%;color:var(--mo-line-strong);font-variant-numeric:tabular-nums}
.setlist li:hover::before{color:#fff}
.setlist strong{display:block;font:800 1.625rem/1.05 var(--font-poster);font-stretch:82%;text-transform:uppercase;color:#fff;margin-bottom:6px}
@media (max-width:860px){ .play>.wrap{grid-template-columns:1fr} .play .wp-block-image{position:relative;top:0;max-width:440px} .setlist li{padding-left:calc(3.25rem + 20px)} }

/* Requisitos: el ticket de caja sobre rojo */
.reqs{background:var(--sy-red-700);color:#fff;padding-block:clamp(72px,10vw,136px);position:relative;overflow:hidden}
.reqs>.wrap{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:center;position:relative}
.reqs h2{font:italic 800 clamp(2.2rem,1.4rem + 3vw,4.25rem)/1 var(--font-display);max-width:12ch;color:#fff;text-transform:none}
.reqs .lead{margin-top:22px;max-width:44ch;color:#FFE3E4;font-size:1.125rem}
.reqs .lead strong{color:#fff}
.reqs .ticket{width:100%;max-width:400px;justify-self:end;transform:rotate(-1.4deg)}
@media (max-width:860px){ .reqs>.wrap{grid-template-columns:1fr} .reqs .ticket{justify-self:start;transform:none} }

/* Futuros recuerdos: de la noche al color, una sola vez */
.memory{position:relative;min-height:min(78vh,720px);display:grid;align-items:end;overflow:hidden;isolation:isolate}
.memory>.wp-block-image{position:absolute;inset:0;margin:0;z-index:-2}
.memory>.wp-block-image img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;filter:grayscale(1) contrast(1.05) brightness(.7);transition:filter 1.6s var(--ease-out)}
.memory.lit>.wp-block-image img{filter:grayscale(0) contrast(1) brightness(.62)}
.memory::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgb(10 10 11 / .92) 0%,rgb(10 10 11 / .2) 55%,transparent);z-index:-1}
.memory .beam{position:absolute;left:-10%;top:24%;width:120%;height:3px;margin:0;border:0;background:#fff;transform:rotate(-9deg);box-shadow:0 0 18px 2px rgb(255 255 255 / .8);opacity:.85;z-index:-1}
.memory .beam::after{content:"";position:absolute;left:52%;top:-60px;width:60%;height:120px;background:var(--mo-spectrum);filter:blur(28px);opacity:0;transition:opacity 1.6s var(--ease-out)}
.memory.lit .beam::after{opacity:.55}
.memory>.wrap{padding-block:clamp(48px,7vw,104px)}
.memory blockquote{margin:0;padding:0;border:0}
.memory blockquote p{max-width:22ch;font:italic 800 clamp(2rem,1.2rem + 3vw,4.25rem)/1.04 var(--font-display);color:#fff;text-wrap:balance}
.memory cite{display:block;margin-top:20px;font:700 1rem var(--font-poster);font-style:normal;text-transform:uppercase;letter-spacing:.08em;color:var(--mo-mist)}
@media (prefers-reduced-motion:reduce){ .memory>.wp-block-image img,.memory .beam::after{transition:none} }

/* Entrada: cuenta */
.door{padding-block:clamp(72px,10vw,128px)}
.door>.wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px var(--gut);align-items:end}
.door h2{font-size:clamp(2.8rem,1.6rem + 4.4vw,5.75rem)}
.door .acts{display:grid;gap:14px;justify-items:start}
.door .acts p{max-width:36ch}
.door .acts .wp-block-buttons{display:grid;gap:14px;justify-items:start}
.door .legal{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 28px;padding-top:28px;border-top:1px solid var(--mo-line);font-size:.9375rem}
.door .legal a{min-height:44px;display:inline-flex;align-items:center;color:#fff;text-underline-offset:4px}
@media (max-width:860px){ .door>.wrap{grid-template-columns:1fr} }

/* =====================================================================
   SOLO ESCRITORIO (≥901 px): los tamaños también responden al ALTO
   (portátiles ≈1000×590: la acción principal en la primera pantalla).
   ===================================================================== */
@media (min-width:901px){
  :root{ --vh-gap:clamp(48px,min(9vw,12vh),132px) }
  .open>.wrap{min-height:0;height:auto;grid-template-columns:minmax(0,6fr) minmax(0,6fr);grid-template-rows:auto}
  .open-copy{grid-column:1;grid-row:1;align-content:center;gap:clamp(14px,2.6vh,28px);padding-block:clamp(28px,6vh,80px)}
  .open h1{font-size:clamp(2.2rem,min(4.4vw,7.4vh),5.25rem);max-width:16ch}
  .open-sub{margin-top:clamp(8px,1.6vh,20px);font-size:clamp(.9375rem,2vh,1.1875rem);line-height:1.5;max-width:40ch}
  .open-photo{grid-column:2;grid-row:1}
  .open .ticket{width:min(340px,100%);padding:14px 18px 16px;font-size:.875rem;line-height:1.3}
  .open .ticket .t-h{padding-bottom:8px}
  .open .ticket .t-rows{gap:1px;padding-block:7px}
  .open .ticket .t-total{padding-top:8px}
  .open .ticket .wp-block-buttons{margin-top:10px}
  .open .ticket .t-foot{display:none}
  .how{padding-block:var(--vh-gap)}
  .how h2{font-size:clamp(1.75rem,min(1.2rem + 2.4vw,6.2vh),3.5rem)}
  .prog-mark{min-height:0}
  .prog-text{padding-block:var(--vh-gap);gap:clamp(12px,2.4vh,22px)}
  .prog-text h2{font-size:clamp(1.5rem,min(1.2rem + 1.8vw,5vh),2.75rem)}
  .prog-text .where li{padding-block:clamp(6px,1.2vh,12px)}
  .xidx{padding-block:var(--vh-gap)}
  .xrow,.xidx .wp-block-post{padding-block:clamp(16px,3vh,28px)}
  .mh{min-height:0;height:clamp(500px,calc(100svh - var(--header-h)),820px);grid-template-rows:minmax(0,1fr) auto}
  .mh-text{overflow:hidden;padding-top:clamp(24px,6vh,96px);gap:clamp(14px,2.6vh,28px)}
  .mh h1{font-size:clamp(3rem,min(2rem + 7.5vw,13vh),9.5rem)}
  .mh-kicker{font-size:clamp(1.08rem,min(.72rem + 2.7vw,4.7vh),3.42rem)}
  .mh-intro{font-size:clamp(1rem,2.2vh,1.1875rem)}
  .stub{padding-block:clamp(14px,2.6vh,26px)}
  .tour,.play,.reqs,.door{padding-block:var(--vh-gap)}
  .tour-head{margin-bottom:clamp(20px,3.5vh,56px)}
  .tour-head h2{font-size:clamp(2.75rem,min(1.8rem + 4.6vw,11vh),6rem)}
  .trow{padding-block:clamp(10px,1.6vh,22px)}
  .trow .city{font-size:clamp(1.9rem,min(1.2rem + 3.4vw,7.4vh),4.5rem)}
  .prizes{padding-block:clamp(32px,6vh,88px)}
  .play .wp-block-image{top:84px}
  .play .wp-block-image img{aspect-ratio:auto;height:min(calc(100svh - 120px),600px)}
  .play h2{font-size:clamp(2.4rem,min(1.6rem + 3.6vw,9vh),5rem)}
  .setlist li{padding-block:clamp(12px,2.2vh,22px)}
  .setlist li::before{top:clamp(12px,2.2vh,22px)}
  .memory{min-height:clamp(420px,72vh,720px)}
}
@media (min-width:901px) and (max-height:680px){
  .mh h1{font-size:clamp(2.75rem,11vh,9.5rem)}
  .mh-text{padding-top:20px;gap:12px}
  .mh-intro{font-size:1rem;line-height:1.5;max-width:44ch}
}

/* Indicador de scroll del Home (solo escritorio) */
.cue{display:none}
@media (min-width:901px){
  .cue{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:4;display:block}
  .cue a{display:grid;justify-items:center;gap:8px;color:#fff;text-decoration:none;font:700 .6875rem/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase}
  .cue a::before{content:"";order:-1;width:46px;height:46px;border-radius:50%;border:1.5px solid rgb(255 255 255 / .7);background:rgb(120 0 16 / .35) ;transition:background-color var(--dur-base),border-color var(--dur-base)}
  .cue a::after{content:"";position:absolute;top:13px;left:calc(50% - 10px);width:20px;height:20px;background:currentColor;-webkit-mask:var(--i-down) center/contain no-repeat;mask:var(--i-down) center/contain no-repeat;animation:cue 2.4s var(--ease-out) infinite}
  .cue a:hover::before{background:#fff;border-color:#fff}
  .cue a:hover::after{color:var(--sy-red-700);background:var(--sy-red-700)}
  .cue a:focus-visible{outline:none}
  .cue a:focus-visible::before{outline:3px solid #fff;outline-offset:3px}
}
@keyframes cue{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(4px)}}
@media (prefers-reduced-motion:reduce){ .cue a::after{animation:none} }

/* Talón fijo en móvil (acción Soriana YA siempre a mano) */
.dock{display:none}
@media (max-width:860px){
  .dock{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:25;transform:translateY(110%);transition:transform var(--dur-slow) var(--ease-out);align-items:center;justify-content:space-between;gap:12px;background:var(--sy-red-700);color:#fff;padding:12px var(--gut) calc(12px + env(safe-area-inset-bottom,0px));clip-path:polygon(0 10px,100% 0,100% 100%,0 100%)}
  .dock p{font:800 1rem/1.1 var(--font-poster);font-stretch:85%;text-transform:uppercase}
  .dock p small{display:block;font:400 .8125rem var(--font-body);text-transform:none;color:#FFD3D5}
  .dock .wp-block-button__link{min-height:48px;padding:0 18px}
  .dock.on{transform:none}
}
@media (max-width:860px) and (prefers-reduced-motion:reduce){ .dock{transition:none} }

/* 404 */
.e404{background:var(--sy-red-700);color:#fff;padding:clamp(64px,12vw,160px) var(--gut);position:relative;overflow:hidden}
.e404 h1{font:italic 800 clamp(2.6rem,1.5rem + 3.6vw,5.25rem)/.98 var(--font-display);color:#fff;max-width:14ch}
.e404 p{margin-top:20px;max-width:44ch;color:#FFE3E4;font-size:1.1875rem}
.e404 .wp-block-buttons{margin-top:32px}

/* Ganadores (T&C 7.2): franja baja con foto de Morat (decorativa, mismo corte diagonal del sitio), cartel por ciudad
   con la tipografía de la gira y, al final, cómo se avisa a los ganadores con una segunda foto */
.gan{padding-block:clamp(28px,6vh,72px) clamp(72px,10vw,144px)}
.gan>.wrap::before{content:"";display:block;height:clamp(150px,20vw,270px);border-radius:var(--radius-md) var(--radius-md) 0 0;background:#2a1606 url("../images/morat-ganadores-1032.webp") 50% 34%/cover no-repeat;clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut)*.3),0 100%);margin-bottom:clamp(20px,3vw,40px)}
@media (max-width:600px){ .gan>.wrap::before{background-image:url("../images/morat-ganadores-640.webp")} }
.gan-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:20px var(--gut);align-items:end;margin-bottom:clamp(28px,4vw,56px)}
.gan h1{font-size:clamp(3rem,1.6rem + 5.4vw,7rem)}
.gan-head p{max-width:44ch;font-size:clamp(1.0625rem,1rem + .3vw,1.25rem)}
.gan-list .trow,.gan-kit .trow{border-bottom:0}
.gan-sede{border-bottom:1px solid var(--mo-line)}
.gan-sede .city{margin:0}
.gan-nombres{columns:3 14em;column-gap:32px;margin:0 0 clamp(20px,2.4vw,32px);padding-left:1.6em;font-size:1rem;line-height:1.5;color:var(--mo-mist)}
.gan-nombres li{break-inside:avoid;padding-block:2px;font-variant-numeric:tabular-nums}
.gan-aviso{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:center;margin-top:clamp(64px,9vw,128px)}
.gan-foto{margin:0}
.gan-foto img{display:block;width:100%;max-width:420px;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:var(--radius-md);clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut)*.3),0 100%)}
.gan-aviso h2{font-size:clamp(2.4rem,1.4rem + 3.6vw,4.5rem);margin:0 0 clamp(16px,2vw,28px)}
.gan-pasos{margin:0;padding:0;list-style:none;display:grid;max-width:56ch}
.gan-pasos li{padding-block:14px;border-top:1px solid var(--mo-line);font-size:1.0625rem;line-height:1.55}
.gan-pasos li:last-child{border-bottom:1px solid var(--mo-line)}
.gan-pasos strong{color:#fff}
.gan-mas{display:flex;flex-wrap:wrap;gap:4px 28px;margin-top:20px}
.gan-mas a{min-height:44px;display:inline-flex;align-items:center;color:#fff;text-underline-offset:4px}
@media (max-width:860px){ .gan-head,.gan-aviso{grid-template-columns:1fr} .gan-foto img{max-width:none;aspect-ratio:3/2} }

/* Migas de pan: una línea discreta sobre el contenido, sin franja propia (va encima del hero). */
.wp-site-blocks>main{position:relative}
.migas{position:absolute;z-index:3;inset-block-start:clamp(10px,1.4vw,18px);inset-inline:max(var(--gut),calc((100% - 1320px) / 2));margin:0;font-size:.8125rem;line-height:1.4;color:rgba(255,255,255,.82)}
.migas ol{display:flex;flex-wrap:wrap;gap:0 .5em;margin:0;padding:0;list-style:none}
.migas li{display:flex;align-items:center;gap:.5em;min-width:0}
.migas li+li::before{content:"›";opacity:.7}
.migas a{color:inherit;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;padding-block:4px}
.migas a:hover{text-decoration-color:currentColor}
.migas [aria-current]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.migas--claro{color:var(--sy-n-700)}
/* Enlaces legales del formulario: se abren en pestaña nueva para no perder lo escrito. */
.nueva-pestana{display:inline-block;width:.8em;height:.8em;margin-inline-start:.2em;vertical-align:-.05em}
/* Con migas, el texto del hero de Morat baja lo justo para que el kicker no quede debajo de ellas (escritorio, también con poca altura). */
@media (min-width:901px){ .migas~.wp-block-post-content .mh-text{padding-top:clamp(64px,8vh,96px)} }
