/* ========== Menú de accesibilidad ========== */
.vc-a11y { position: fixed; left: clamp(.75rem, 1.4vw, 1.5rem); bottom: clamp(.75rem, 1.4vw, 1.5rem); z-index: 90; font-family: var(--vc-sans); }

.vc-a11y__toggle { display: grid; place-items: center; width: 3.5rem; height: 3.5rem; border: 0; border-radius: 50%; background: var(--vc-orange); color: #fff; cursor: pointer; box-shadow: 0 6px 18px rgba(25,10,1,.28); transition: background .2s, transform .2s; }
.vc-a11y__toggle:hover, .vc-a11y__toggle:focus-visible { background: var(--vc-brown); transform: translateY(-2px); }
.vc-a11y__toggle[aria-expanded="true"] { background: var(--vc-dark); }

.vc-a11y__panel {
	position: absolute; left: 0; bottom: calc(100% + .75rem);
	width: min(22.5rem, calc(100vw - 1.5rem)); padding: 1.35rem 1.35rem 1.25rem;
	background: #fff; color: var(--vc-dark); border-radius: 2rem; box-shadow: 0 18px 48px rgba(25,10,1,.28);
	opacity: 0; transform: translateY(8px); transition: opacity 200ms cubic-bezier(.16, 1, .3, 1), transform 200ms cubic-bezier(.16, 1, .3, 1);
}
.vc-a11y__panel.is-open { opacity: 1; transform: none; }
.vc-a11y__panel[hidden] { display: none; }

.vc-a11y__title { margin: 0 0 1rem .1rem; font: 700 .85rem/1 var(--vc-sans); letter-spacing: .1em; text-transform: uppercase; }
.vc-a11y__grid { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }

.vc-a11y__btn { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .15rem; min-height: 3.6rem; padding: .6rem .75rem; border: 2px solid #9a8f89; border-radius: 1.4rem; background: #fff; color: var(--vc-dark); font: 700 1rem/1.15 var(--vc-sans); text-align: center; cursor: pointer; transition: background .15s, color .15s, border-color .15s; }
.vc-a11y__btn--two { min-height: 4.1rem; }
.vc-a11y__sub { font: 400 .9rem/1.2 var(--vc-sans); color: #6b625d; }
.vc-a11y__btn:hover { border-color: var(--vc-dark); }
.vc-a11y__btn:focus-visible { outline: 3px solid var(--vc-yellow); outline-offset: 2px; }
.vc-a11y__btn[aria-pressed="true"] { background: var(--vc-dark); border-color: var(--vc-dark); color: var(--vc-cream); }
.vc-a11y__btn:disabled { opacity: .4; cursor: default; }
.vc-a11y__btn--reset { grid-column: 1 / -1; color: #6b625d; min-height: 3.4rem; }

/* ========== Modos ========== */

/* Escala de grises + alto contraste: se combinan en un solo filtro. */
html.vc-a11y-gray { --vc-f-gray: grayscale(1); }
html.vc-a11y-contrast { --vc-f-contrast: contrast(1.45); }
html.vc-a11y-gray, html.vc-a11y-contrast { filter: var(--vc-f-gray,) var(--vc-f-contrast,); }
html.vc-a11y-contrast * { text-shadow: none !important; }
html.vc-a11y-contrast .vc-hero__sub, html.vc-a11y-contrast .vc-stats { background-color: rgba(0,0,0,.55); }

/* Resaltar enlaces */
html.vc-a11y-links a:not(.vc-a11y__toggle) { text-decoration: underline !important; text-decoration-thickness: .12em !important; text-underline-offset: .22em; outline: 2px solid var(--vc-yellow); outline-offset: 2px; }

/* Quitar fondos: fotos de fondo, halos y curvas decorativas. El contenido (afiches, tarjetas) se mantiene. */
html.vc-a11y-nobg .vc-hero__bg,
html.vc-a11y-nobg .mood__img img,
html.vc-a11y-nobg .vc-events__swoosh,
html.vc-a11y-nobg .vc-feeling .blob { display: none !important; }
html.vc-a11y-nobg .vc-orbs { display: none !important; }
html.vc-a11y-nobg .vc-feeling::before, html.vc-a11y-nobg .vc-feeling::after { display: none !important; }
html.vc-a11y-nobg .vc-hero::before, html.vc-a11y-nobg .mood__img::after { display: none; }
html.vc-a11y-nobg .vc-hero { background: var(--vc-dark); }
html.vc-a11y-nobg .mood__img { background: var(--c); }

/* Pausar animaciones: entradas, carruseles automáticos, transiciones y desplazamiento suave. */
html.vc-a11y-paused { scroll-behavior: auto !important; }
html.vc-a11y-paused *, html.vc-a11y-paused *::before, html.vc-a11y-paused *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
html.vc-a11y-paused [data-reveal], html.vc-a11y-paused [data-reveal-bg] { opacity: 1 !important; transform: none !important; }
html.vc-a11y-paused .vc-hero__bg { opacity: 1 !important; transform: none !important; }
html.vc-a11y-paused .vc-feeling::before { opacity: .85 !important; transform: none !important; }
html.vc-a11y-paused .vc-feeling::after { opacity: .75 !important; transform: none !important; }
html.vc-a11y-paused .vc-feeling .blob { opacity: .7 !important; transform: none !important; }
html.vc-a11y-paused .vc-events__swoosh { opacity: 1 !important; clip-path: none !important; }

/* Modo nocturno: se cambian los tokens de las secciones claras (no se invierten las fotos). */
html.vc-a11y-night body { background: #16100b; color: #FFFCED; }
html.vc-a11y-night .vc-feeling, html.vc-a11y-night .vc-start, html.vc-a11y-night .vc-mood, html.vc-a11y-night .vc-page {
	--vc-dark: #FFFCED; --vc-cream: #16100b; --vci-dark: #FFFCED; --vci-cream: #16100b; background: #16100b; color: #FFFCED;
}
html.vc-a11y-night .vc-feeling::before, html.vc-a11y-night .vc-feeling::after, html.vc-a11y-night .vc-feeling .blob { filter: blur(60px) brightness(.55); }
html.vc-a11y-night .mood, html.vc-a11y-night .vci-start__card { background: #261a12; }
html.vc-a11y-night .mood__body p { color: #FFFCED; }
html.vc-a11y-night .mood__img h3, html.vc-a11y-night .vc-cats span { color: #FFFCED; }
html.vc-a11y-night .vc-banner { color: #FFFCED; }
html.vc-a11y-night .vc-banner--dark { background: #000; }
html.vc-a11y-night .vc-banner .arrow { border-color: #FFFCED; }
html.vc-a11y-night .vci-btn { color: #FFFCED; background: rgba(22,16,11,.55); }
html.vc-a11y-night .vci-btn:hover, html.vc-a11y-night .vci-btn:focus-visible { background: #FFFCED; color: #16100b; }
html.vc-a11y-night .vc-hero--wtd .vc-hero__wave path:first-of-type { fill: #16100b; }
html.vc-a11y-night .site-footer--cream .site-footer__wave .bg { fill: #16100b; }
html.vc-a11y-night .vc-a11y__panel { background: #fff; }   /* el panel conserva su aspecto */

@media (max-width: 560px) {
	.vc-a11y__toggle { width: 3.1rem; height: 3.1rem; }
}
@media (prefers-reduced-motion: reduce) {
	.vc-a11y__panel { transform: none; transition: opacity 100ms linear; }
	.vc-a11y__toggle, .vc-a11y__btn { transition: none; }
}
