﻿/* Preferences change motion only; complete mode leaves the existing effects intact. */
.motion-media { display: contents; }
.footer-legal { gap: 24px; flex-wrap: wrap; }
.motion-footer-row, .motion-only-footer { padding: 24px 4%; text-align: right; }
.motion-only-footer { background: #111; color: #fff; font-size: 14px; }
.motion-settings-trigger { appearance:none; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; padding:8px 0; min-height:44px; text-decoration:none; }
.motion-settings-trigger:hover { color:var(--pink,currentColor); }
.festival-footer .motion-settings-trigger:hover { color:#8f1725; }
.motion-settings-trigger:focus-visible, .motion-dialog :focus-visible { outline:3px solid currentColor; outline-offset:4px; }
.motion-dialog { box-sizing:border-box; width:min(460px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; padding:28px; border:1px solid #777; background:var(--ink,#111); color:var(--blue,#fff); font:400 16px/1.5 var(--body,system-ui,sans-serif); text-align:left; }
.motion-dialog::backdrop { background:rgb(0 0 0 / .65); }
.motion-dialog h2 { font:750 24px/1.2 var(--display,inherit); color:var(--pink,inherit); letter-spacing:-.02em; margin:0 40px 24px 0; padding:0; text-transform:none; }
.motion-close { position:absolute; top:12px; right:12px; width:44px; height:44px; border:0; padding:0; display:grid; place-items:center; background:transparent; color:inherit; cursor:pointer; }
.motion-dialog fieldset { border:0; padding:0; margin:0; min-width:0; }
.motion-dialog legend { font:inherit; font-weight:700; padding:0; margin:0 0 12px; color:inherit; }
.motion-option { display:grid; grid-template-columns:24px minmax(0,1fr); align-items:start; gap:12px; padding:12px 0; min-height:44px; cursor:pointer; color:inherit; }
.motion-option input { width:20px; height:20px; margin:3px 0 0; accent-color:var(--pink,#fff); }
.motion-option strong { display:block; font:700 16px/1.4 var(--body,inherit); color:inherit; }
.motion-description { display:block; margin-top:4px; font:400 14px/1.5 var(--body,inherit); color:inherit; }
.motion-status { min-height:24px; margin:16px 0 0; font:400 14px/1.5 var(--body,inherit); color:inherit; }
html[data-motion="reduced"], html[data-motion="none"] { scroll-behavior:auto !important; }
html[data-motion="reduced"] *, html[data-motion="reduced"] *::before, html[data-motion="reduced"] *::after { animation:none !important; transition-property:color,background-color,border-color,opacity !important; scroll-behavior:auto !important; }
html[data-motion="none"] *, html[data-motion="none"] *::before, html[data-motion="none"] *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
html:is([data-motion="reduced"],[data-motion="none"]) :is(.programme-photo,.artist-photo-link img,.artist-video img,.artista,.hover-img img,.artist-back,.social-links a),
html:is([data-motion="reduced"],[data-motion="none"]) :is(.programme-artist:hover .programme-photo,.programme-artist:focus-visible .programme-photo,.artista:hover) { transform:none !important; }
html:is([data-motion="reduced"],[data-motion="none"]) :is(.animated,.wow,[data-animate]) { opacity:1 !important; visibility:visible !important; }
/* Do not leave entrance effects hidden when JavaScript is unavailable. */
@media (prefers-reduced-motion:reduce) { html:not([data-motion]) *,html:not([data-motion]) *::before,html:not([data-motion]) *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
@media(max-width:420px) { .motion-dialog { padding:24px 20px; } .motion-dialog h2 { font-size:22px; } }
.motion-only-footer > .motion-footer-row { padding:0; }
body.motion-panel-open { overflow:hidden; }
/* Keep contact, partners and legal actions aligned and easy to tap on phones. */
@media (max-width:700px) {
  .festival-footer { grid-template-columns:minmax(0,1fr); gap:32px; padding-bottom:20px; }
  .festival-footer > div { min-width:0; }
  .festival-footer h2 { margin-bottom:16px; }
  .festival-footer .footer-contact p { line-height:1.65; overflow-wrap:anywhere; }
  .festival-footer .social-links { margin-top:16px; gap:16px; }
  .festival-footer .footer-organizer img { width:145px; max-width:100%; height:auto; }
  .festival-footer .partner-logos { display:grid; grid-template-columns:92px minmax(0,1fr); gap:24px; align-items:center; }
  .festival-footer .partner-logos a:first-child { grid-column:1 / -1; }
  .festival-footer .partner-logos a { min-width:0; min-height:44px; }
  .festival-footer .partner-logos img { max-width:100%; object-position:left center; }
  .festival-footer .partner-logos a:nth-child(1) img { width:200px; }
  .festival-footer .partner-logos a:nth-child(2) img { width:92px; }
  .festival-footer .partner-logos a:nth-child(3) img { width:145px; }
  .festival-footer .footer-legal { display:flex; justify-content:flex-start; align-items:center; gap:8px 24px; padding-top:16px; margin-top:0; border-top:1px solid rgb(0 0 0 / .2); }
  .festival-footer .footer-legal > a,
  .festival-footer .motion-settings-trigger { display:inline-flex; align-items:center; min-height:44px; padding:8px 0; font-size:14px; }
}
.motion-dialog h2 { font-family:var(--display,inherit); font-size:24px; font-weight:750; line-height:1.2; }
.motion-option strong { font-family:inherit; font-size:16px; font-weight:700; line-height:1.4; }
.motion-description, .motion-status { font-family:inherit; font-size:14px; font-weight:400; line-height:1.5; }
html:is([data-motion="reduced"],[data-motion="none"]) :is(a:hover img,figure:hover img,.edicion:hover,.artist-photo-link:hover img,.artist-photo-link:focus-visible img) { transform:none !important; }
