/* Eventos BiocCo · front. Hereda la tipografía de la página; el color sale del evento. */
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400 800; font-display: swap; src: url(../fonts/inter-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2190-2199, U+2212, U+2215, U+FEFF, U+FFFD; }
.evt { --evt-color: #1F4FD1; --evt-on-color: #fff; --evt-text: #1F1F23; --evt-muted: #4A4A50; --evt-line: #D4D4D8; --evt-error: #B3261E; --evt-ok: #1E6B34; color: var(--evt-text); font-size: 16px; line-height: 1.5; box-sizing: border-box; }
.evt *, .evt *::before, .evt *::after { box-sizing: border-box; }
.evt-h2 { font-size: clamp(22px, 4vw, 28px); line-height: 1.2; font-weight: 700; margin: 0 0 8px; }
.evt-h2:focus { outline: none; }
.evt-h3 { font-size: 17px; font-weight: 700; margin: 20px 0 8px; }
.evt-p { margin: 0 0 20px; color: var(--evt-muted); }
.evt-aviso { background: #FDF6E4; border-left: 4px solid #B7791F; padding: 10px 14px; border-radius: 8px; font-size: 14px; }

/* Tarjeta */
.evt-card { display: flex; flex-direction: column; gap: 6px; }
.evt-card p { margin: 0; }
.evt-card__fecha { font-size: 20px; font-weight: 700; }
.evt-card__lugar, .evt-card__cierre { color: var(--evt-muted); }
.evt-chip { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; font-size: 13px; font-weight: 700; padding: 4px 12px; border-radius: 999px; background: #E7F3EA; color: var(--evt-ok); }
.evt-chip--abierto::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; animation: evt-pulse 1.8s ease-in-out infinite; }
@keyframes evt-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(30,107,52,.45); } 50% { box-shadow: 0 0 0 6px rgba(30,107,52,0); } }
.evt-chip--cerrado, .evt-chip--terminado { background: #F0F0F2; color: var(--evt-muted); }
.evt-chip--borrador { background: #FDF6E4; color: #8A5A12; }
.evt-countdown { display: flex; gap: 10px; margin: 0; color: inherit; }
.evt-countdown > div { display: flex; flex-direction: column; align-items: center; min-width: 76px; padding: 12px 10px; border-radius: 14px; background: color-mix(in srgb, currentColor 8%, transparent); border: 1px solid color-mix(in srgb, currentColor 16%, transparent); }
.evt-countdown span { font-size: 34px; font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; }
.evt-countdown small { font-size: 13px; opacity: .75; }
.evt-countdown span.evt-tick { animation: evt-tick .5s ease; }
@keyframes evt-tick { from { transform: translateY(-6px); opacity: .2; } to { transform: none; opacity: 1; } }
.evt-crono { list-style: none; margin: 0; padding: 0; }
.evt-crono li { display: flex; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--evt-line); }
.evt-crono li:last-child { border-bottom: 0; }
.evt-crono strong { min-width: 56px; color: var(--evt-color); font-variant-numeric: tabular-nums; }
.evt-link { background: none; border: 0; padding: 0; font: inherit; font-weight: 700; color: var(--evt-text); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; min-height: 44px; display: inline-flex; align-items: center; }

/* Formulario */
.evt-form { max-width: 560px; width: 100%; background: #fff; border-radius: 20px; padding: clamp(20px, 4vw, 36px); box-shadow: 0 1px 2px rgba(16,24,40,.06), 0 18px 48px -12px rgba(16,24,40,.18); border: 1px solid rgba(16,24,40,.06); }
.evt-form__app > * { animation: evt-in .35s cubic-bezier(.2,.7,.2,1) both; }
.evt-form__app > *:nth-child(2) { animation-delay: .03s; } .evt-form__app > *:nth-child(3) { animation-delay: .06s; } .evt-form__app > *:nth-child(4) { animation-delay: .09s; } .evt-form__app > *:nth-child(5) { animation-delay: .12s; }
@keyframes evt-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.evt-link--maps { gap: 6px; }
.evt-progreso { font-size: 13px; font-weight: 700; color: var(--evt-muted); margin: 0 0 6px; }
.evt-pbar { height: 6px; background: #EDEDF0; border-radius: 999px; margin-bottom: 20px; overflow: hidden; }
.evt-pbar span { display: block; height: 100%; background: var(--evt-color); border-radius: 999px; transition: width .25s ease; }
.evt-field { display: flex; flex-direction: column; gap: 6px; margin: 0 0 16px; }
.evt-field label { font-weight: 700; font-size: 15px; }
.evt-opt { font-weight: 400; color: var(--evt-muted); }
.evt-help { font-size: 14px; color: var(--evt-muted); }
.evt input[type="text"], .evt input[type="email"], .evt input[type="tel"], .evt select, .evt textarea {
	width: 100%; min-height: 48px; padding: 10px 14px; font: inherit; font-size: 16px; color: var(--evt-text);
	background: #fff; border: 1px solid #8A8A90; border-radius: 10px;
}
.evt textarea { min-height: 96px; }
.evt input:focus-visible, .evt select:focus-visible, .evt textarea:focus-visible, .evt button:focus-visible, .evt a:focus-visible { outline: 3px solid var(--evt-color); outline-offset: 2px; }
.evt-field--error input, .evt-field--error select { border-color: var(--evt-error); border-width: 2px; }
.evt-error { color: var(--evt-error); font-size: 14px; font-weight: 700; }
.evt-radios { border: 0; padding: 0; margin: 0 0 16px; display: flex; flex-direction: column; gap: 8px; }
.evt-radios legend, .evt-persona legend { font-weight: 700; font-size: 15px; margin-bottom: 8px; padding: 0; }
.evt-radios label, .evt-check label { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 8px 14px; border: 1px solid var(--evt-line); border-radius: 10px; cursor: pointer; font-weight: 400; }
.evt-check label { align-items: flex-start; border: 0; padding: 0; }
.evt-radios input, .evt-check input { width: 20px; height: 20px; flex: none; accent-color: var(--evt-color); margin-top: 2px; }
.evt-persona { border: 1px solid var(--evt-line); border-radius: 14px; padding: 16px; margin: 0 0 14px; }
.evt-persona--compacta { padding: 12px 16px; }
.evt-persona--compacta .evt-field { margin: 0; }
.evt-persona__nombre { margin: 0 0 8px; font-weight: 700; }
.evt-persona__nombre span { font-weight: 400; color: var(--evt-muted); }
.evt-quitar { background: none; border: 0; padding: 0; color: var(--evt-error); font: inherit; font-weight: 700; min-height: 44px; cursor: pointer; }
.evt-agregar { display: flex; flex-wrap: wrap; gap: 10px; margin: 4px 0 8px; }
.evt-acciones { display: flex; gap: 10px; margin-top: 20px; flex-wrap: wrap; }
.evt-acciones--col { flex-direction: column; }
.evt-btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px; border-radius: 999px; border: 0;
	background: var(--evt-color); color: var(--evt-on-color); font: inherit; font-weight: 700; font-size: 16px; text-decoration: none; cursor: pointer; flex: 1 1 auto;
	transition: filter .15s ease;
}
.evt-btn:hover { filter: brightness(.92); color: var(--evt-on-color); }
.evt-btn--sec { background: #fff; color: var(--evt-text); border: 1.5px solid var(--evt-text); }
.evt-btn--sec:hover { color: var(--evt-text); background: #F5F5F7; }
.evt-btn[disabled] { opacity: .45; cursor: not-allowed; }
.evt-box { background: #F5F5F7; border-radius: 12px; padding: 14px 16px; margin: 0 0 16px; }
.evt-box p { margin: 0 0 8px; }
.evt-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.evt-rev { border-bottom: 1px solid var(--evt-line); padding-bottom: 6px; }
.evt-rev__top { display: flex; justify-content: space-between; align-items: center; }
.evt-rev p { margin: 0 0 10px; }
.evt-lista { margin: 0 0 10px; padding-left: 18px; }
.evt-lista span { color: var(--evt-muted); }
.evt-check { margin-top: 20px; }

/* Confirmación */
.evt-ok { display: flex; flex-direction: column; gap: 12px; align-items: stretch; text-align: center; }
.evt-ok svg { align-self: center; }
.evt-ok svg circle { stroke-dasharray: 164; stroke-dashoffset: 164; animation: evt-draw .6s ease forwards; }
.evt-ok svg path { stroke-dasharray: 40; stroke-dashoffset: 40; animation: evt-draw .35s .5s ease forwards; }
@keyframes evt-draw { to { stroke-dashoffset: 0; } }
.evt-qr { animation: evt-pop .45s .35s cubic-bezier(.2,.9,.3,1.3) both; }
@keyframes evt-pop { from { opacity: 0; transform: scale(.92); } to { opacity: 1; transform: none; } }
.evt-ok .evt-p { margin: 0; }
.evt-qr { border: 2px solid var(--evt-text); border-radius: 16px; padding: 16px; display: flex; flex-direction: column; align-items: center; gap: 4px; }
.evt-qr p { margin: 0; }
.evt-qr__label { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--evt-muted); }
.evt-qr img { width: 200px; height: 200px; image-rendering: pixelated; }
.evt-qr__grupo { font-weight: 700; font-size: 14px; }
.evt-qr__codigo { font-size: 22px; font-weight: 700; letter-spacing: .06em; }
.evt-nota { background: #F5F5F7; border-radius: 12px; padding: 12px 14px; font-size: 14px; margin: 0; }

/* Días para el evento */
.evt-countdown--dias { flex-direction: column; gap: 6px; }
.evt-countdown--dias span { font-size: clamp(56px, 7vw, 80px); line-height: 1; letter-spacing: -.03em; color: var(--evt-color); }
.evt-countdown--dias small { font-size: 18px; opacity: 1; color: var(--evt-muted); }

/* Novedades */
.evt-nov__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 1024px) { .evt-nov__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .evt-nov__grid { grid-template-columns: 1fr; } }
.evt-nov { --nov-marca: var(--evt-marca, var(--evt-color)); }
.evt-nov .evt-nov__card { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid #E2E2E8; border-radius: 22px; overflow: hidden; color: var(--evt-text); text-decoration: none; box-shadow: 0 1px 2px rgba(16,24,40,.04), 0 12px 32px -18px rgba(16,24,40,.18); transition: transform .25s ease, box-shadow .25s ease; }
.evt-nov .evt-nov__card:hover { transform: translateY(-3px); box-shadow: 0 1px 2px rgba(16,24,40,.04), 0 22px 44px -20px rgba(16,24,40,.25); }
.evt-nov .evt-nov__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #EDEDF0; }
.evt-nov .evt-nov__media img, .elementor .evt-nov .evt-nov__media img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; transition: transform .4s ease; }
.evt-nov .evt-nov__card:hover .evt-nov__media img { transform: scale(1.04); }
.evt-nov .evt-nov__body { display: flex; flex-direction: column; gap: 8px; flex: 1; padding: 20px 22px 22px; }
.evt-nov .evt-nov__fecha { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--nov-marca); }
.evt-nov .evt-nov__titulo { font-size: 19px; line-height: 1.3; font-weight: 800; letter-spacing: -.01em; color: var(--evt-text); }
.evt-nov .evt-nov__extracto { font-size: 15px; line-height: 1.6; color: #55555C; }
.evt-nov .evt-nov__mas { margin-top: auto; padding-top: 6px; font-weight: 700; font-size: 15px; color: var(--nov-marca); }
.evt-nov .evt-nov__card:hover .evt-nov__mas { text-decoration: underline; text-underline-offset: 3px; }
.evt-nov .evt-nov__card:focus-visible { outline: 3px solid var(--nov-marca); outline-offset: 3px; }
.evt-nov__card--ghost { opacity: .6; }
.evt-nov__card--ghost .evt-nov__media { background: repeating-linear-gradient(45deg, #EDEDF0 0 10px, #F5F5F7 10px 20px); }
@media (prefers-reduced-motion: reduce) { .evt-nov .evt-nov__card, .evt-nov .evt-nov__media img { transition: none; } .evt-nov .evt-nov__card:hover { transform: none; } }
/* Página del evento: la fila "Novedades / Ver todas" alineada con las tarjetas */
.ev-nov .e-con { --padding-left: 0px; --padding-right: 0px; }
.evt-nov .evt-aviso { margin: 0 0 16px; }

/* FAQ */
.evt-faq { border-top: 1px solid var(--evt-line); }
.evt-faq__item { border-bottom: 1px solid var(--evt-line); }
.evt-faq__item summary { cursor: pointer; font-weight: 700; font-size: 17px; padding: 18px 40px 18px 0; min-height: 48px; list-style: none; position: relative; }
.evt-faq__item summary::-webkit-details-marker { display: none; }
.evt-faq__item summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 12px; height: 12px; margin-top: -8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .25s ease; }
.evt-faq__item[open] summary::after { transform: rotate(-135deg); margin-top: -2px; }
.evt-faq__item summary:hover { color: var(--evt-color); }
.evt-faq__item summary:focus-visible { outline: 3px solid var(--evt-color); outline-offset: 2px; }
.evt-faq__item div { color: var(--evt-muted); padding: 0 40px 16px 0; }
.evt-faq__item[open] div { animation: evt-in .3s ease both; }
.evt-faq__item div p { margin: 0; }

@media (prefers-reduced-motion: reduce) { .evt *, .evt *::before { animation: none !important; transition: none !important; } .evt-ok svg circle, .evt-ok svg path { stroke-dashoffset: 0; } }

/* Logo del evento (parte="logo") */
.evt-logo { display: inline-flex; align-items: center; }
.evt-logo__img { display: block; max-height: 44px; max-width: 200px; width: auto; height: auto; }
.evt-logo__txt { font-weight: 800; font-size: 18px; }

/* Fecha en la portada */
.evt-cuando { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-weight: 600; }
.evt-cuando svg { flex: none; opacity: .85; }

/* Barra fija de inscripción (solo celular) */
.evt-barra { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.96); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-top: 1px solid #E2E2E8; box-shadow: 0 -10px 24px -14px rgba(16,24,40,.3); transform: translateY(110%); transition: transform .25s ease; }
.evt-barra__in { display: flex; align-items: center; justify-content: space-between; gap: 12px; max-width: 600px; margin: 0 auto; }
.evt-barra__txt { font-size: 14px; line-height: 1.3; color: #4A4A50; }
.evt-barra__txt strong { display: block; color: #1F1F23; font-size: 15px; }
.evt-barra__btn { flex: none; display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; border-radius: 999px; background: var(--evt-marca, #1F4FD1); color: var(--evt-on-marca, #fff) !important; font-weight: 700; text-decoration: none; }
.evt-barra__btn:focus-visible { outline: 3px solid #1F1F23; outline-offset: 2px; }
@media (max-width: 767px) { .evt-barra { display: block; } .evt-barra.is-on { transform: none; } body.evt-con-barra { padding-bottom: 76px; } }
@media (prefers-reduced-motion: reduce) { .evt-barra { transition: none; } }

/* Modificar mi inscripción */
.evt-cancelar { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--evt-line); }
.evt-link--peligro { color: var(--evt-error) !important; min-height: 44px; }
.evt-btn--peligro { background: var(--evt-error) !important; color: #fff !important; }

/* Cómo usamos tus datos */
.evt-privacidad { margin: 8px 0 0 30px; font-size: 14px; color: var(--evt-muted); }
.evt-privacidad summary { cursor: pointer; font-weight: 600; color: var(--evt-text); min-height: 44px; display: flex; align-items: center; }
.evt-privacidad p { margin: 4px 0 0; line-height: 1.5; }

/* Barra superior del evento: debajo de la barra de administración (solo logueados) */
body.admin-bar .ev-top { top: 32px; }
@media (max-width: 782px) { body.admin-bar .ev-top { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .ev-top { top: 0; } }

/* Blindaje: el tema del sitio pinta todos los botones de rosa al pasar o al tocar (button:hover/:focus).
   Estas reglas son más específicas, así los botones del evento mantienen su estilo. */
.evt button.evt-link, .evt button.evt-link:hover, .evt button.evt-link:focus, .evt button.evt-link:active { background: none; border: 0; color: var(--evt-text); box-shadow: none; }
.evt button.evt-link:hover { text-decoration-thickness: 2px; }
.evt button.evt-link--peligro, .evt button.evt-link--peligro:hover, .evt button.evt-link--peligro:focus { color: var(--evt-error); }
.evt button.evt-quitar, .evt button.evt-quitar:hover, .evt button.evt-quitar:focus, .evt button.evt-quitar:active { background: none; border: 0; color: var(--evt-error); box-shadow: none; }
.evt button.evt-btn:focus, .evt button.evt-btn:active { background: var(--evt-color); color: var(--evt-on-color); border-color: transparent; }
.evt button.evt-btn:hover { background: var(--evt-color); color: var(--evt-on-color); }
.evt button.evt-btn--sec:hover, .evt button.evt-btn--sec:focus, .evt button.evt-btn--sec:active { background: #F5F5F7; color: var(--evt-text); border-color: var(--evt-text); }
.evt button.evt-btn--peligro:hover, .evt button.evt-btn--peligro:focus { background: var(--evt-error); color: #fff; }

/* "Cómo usamos tus datos": pegado al texto del consentimiento */
.evt-check .evt-privacidad { margin: 6px 0 0 30px; }
.evt-privacidad summary { min-height: 0; padding: 6px 0; display: inline-flex; gap: 6px; list-style: none; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; font-size: 14px; }
.evt-privacidad summary::-webkit-details-marker { display: none; }
.evt-privacidad summary::after { content: "▾"; text-decoration: none; }
.evt-privacidad[open] summary::after { content: "▴"; }
.evt a.evt-link:hover, .evt a.evt-link:focus { color: var(--evt-text); }
.evt-nov a.evt-nov__card:hover, .evt-nov a.evt-nov__card:focus { color: var(--evt-text); }

