/* Shared final CTA system. Nadal is the visual and structural reference. */
.event-final-cta { display: block; width: 100%; max-width: none; margin: 0; padding: 0; color: inherit; }
.event-final-cta > .event-final-cta-inner { width: min(100%, var(--event-container-max, 1360px)); max-width: var(--event-container-max, 1360px); margin: 0 auto; padding: clamp(42px, 4.2vw, 60px) var(--event-gutter, 4.4vw) clamp(52px, 5vw, 72px); }
.event-final-cta-inner { display: grid; grid-template-columns: var(--event-grid-columns, repeat(12, minmax(0, 1fr))); align-items: end; column-gap: var(--event-grid-gap, clamp(18px, 2.2vw, 32px)); }
.offsites-closing .event-final-cta-inner { margin-top: clamp(42px, 4.2vw, 60px); }
.event-final-cta .event-final-cta-claim,.offsites-closing .event-final-cta-claim { grid-column: 1 / span 5; max-width: 760px; min-width: 0; margin: 0; padding: 0; border: 0; color: inherit; font-family: "Playfair Display", serif; font-size: clamp(32px, 3.2vw, 48px); font-weight: 400; letter-spacing: -.05em; line-height: 1.04; text-transform: none; white-space: normal; }
.anniversary-closing,.afterworks-cta,.jubilacions-cta { background: #fff; }
.conventions-closing,.family-days-closing { background: var(--saboa-cream, #f4f2ed); }
:is(.event-final-cta, .offsites-closing) .event-final-cta-link { grid-column: 9 / -1; display: inline-flex; width: 100%; min-width: 0; margin: 0; padding: 0 0 12px; align-items: center; justify-content: space-between; justify-self: stretch; gap: 32px; border-bottom: 1px solid currentColor; color: inherit; font-family: "DM Mono", monospace; font-size: 12px; font-weight: 500; letter-spacing: .1em; line-height: 1.4; text-decoration: none; text-transform: uppercase; cursor: pointer; transition: color 230ms ease, border-color 230ms ease, opacity 230ms ease; }
:is(.event-final-cta, .offsites-closing) .event-final-cta-link span:last-child { font-size: 19px; font-weight: 400; line-height: .8; transition: transform 230ms ease; }
:is(.event-final-cta, .offsites-closing) .event-final-cta-link span:first-child { text-transform: uppercase; }
:is(.event-final-cta, .offsites-closing) .event-final-cta-link:hover,:is(.event-final-cta, .offsites-closing) .event-final-cta-link:focus-visible { opacity: .82; }
:is(.event-final-cta, .offsites-closing) .event-final-cta-link:hover span:last-child,:is(.event-final-cta, .offsites-closing) .event-final-cta-link:focus-visible span:last-child { transform: translateX(4px); }
:is(.event-final-cta, .offsites-closing) .event-final-cta-link:focus-visible { outline: 1px solid currentColor; outline-offset: 6px; }
@media (max-width: 980px) and (min-width: 761px) {
  .event-final-cta .event-final-cta-claim,.offsites-closing .event-final-cta-claim { grid-column: 1 / span 7; }
  :is(.event-final-cta, .offsites-closing) .event-final-cta-link { grid-column: 8 / -1; }
}
@media (max-width: 760px) {
  .event-final-cta > .event-final-cta-inner { padding: 42px var(--event-gutter, 23px) 48px; }
  .event-final-cta-inner { display: block; }
  .offsites-closing .event-final-cta-inner { margin-top: 38px; }
  .event-final-cta .event-final-cta-claim,.offsites-closing .event-final-cta-claim { max-width: 100%; font-size: clamp(30px, 8.8vw, 38px); }
  :is(.event-final-cta, .offsites-closing) .event-final-cta-link { margin-top: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  :is(.event-final-cta, .offsites-closing) .event-final-cta-link,:is(.event-final-cta, .offsites-closing) .event-final-cta-link span:last-child { transition: none; }
  :is(.event-final-cta, .offsites-closing) .event-final-cta-link:hover span:last-child,:is(.event-final-cta, .offsites-closing) .event-final-cta-link:focus-visible span:last-child { transform: none; }
}
