/* One brand rule: beige buttons roll to gold; gold buttons roll to beige. */
:root { --lcm-roll-gold: #c89f50; --lcm-roll-beige: #e9dfcc; --lcm-roll-ink: #3f4141; }
:where(.legal-close, .article-close, .article-reader-close-bottom, .hero-replay, .discovery-option, .discovery-back-button, .back-link, .booking-back, .calendar-header button, .calendar-day, .calendar-time, .request-copy, .client-actions a:not(.client-primary), .material-choices a, .movie-paths a, .movie-paths button, .button.secondary, .article-reader-controls button, .article-reader-close, .mobile-accordion .accordion-toggle, .manage-actions button, .manage-form button, :where(#manage-save-reminders), .booking-text-button, .request-close) { --lcm-rollover: var(--lcm-roll-gold); }
:where(.discovery-request-page .discovery-request-actions button, .schedule-button, .request-primary, .request-done, .booking-submit, .client-primary, a.button.primary, .movie-talk-button, .movie-confirmation-done, .booking-test-link) { --lcm-rollover: var(--lcm-roll-beige); }
.calendar-day[aria-pressed="true"], .calendar-time[aria-pressed="true"],
.movie-paths .movie-path-primary { --lcm-rollover: var(--lcm-roll-beige); }
html body :is(
  .legal-close,
  .article-close,
  .article-reader-close-bottom,
  .hero-replay,
  .discovery-option,
  .discovery-back-button,
  .back-link,
  .booking-back,
  .calendar-header button,
  .calendar-day,
  .calendar-time,
  .request-copy,
  .client-actions a:not(.client-primary),
  .material-choices a,
  .movie-paths a,
  .movie-paths button,
  .button.secondary,
  .article-reader-controls button,
  .article-reader-close,
  .mobile-accordion .accordion-toggle,
  .manage-actions button,
  .manage-form button,
  :where(#manage-save-reminders),
  .booking-text-button,
  .request-close,
  .discovery-request-page .discovery-request-actions button,
  .schedule-button,
  .request-primary,
  .request-done,
  .booking-submit,
  .client-primary,
  a.button.primary,
  .movie-talk-button,
  .movie-confirmation-done,
  .booking-test-link
):not(:disabled):not([aria-disabled="true"]) { transition: background-color .16s ease, color .16s ease, border-color .16s ease; }
@media (hover: hover) {
html body :is(
  .legal-close,
  .article-close,
  .article-reader-close-bottom,
  .hero-replay,
  .discovery-option,
  .discovery-back-button,
  .back-link,
  .booking-back,
  .calendar-header button,
  .calendar-day,
  .calendar-time,
  .request-copy,
  .client-actions a:not(.client-primary),
  .material-choices a,
  .movie-paths a,
  .movie-paths button,
  .button.secondary,
  .article-reader-controls button,
  .article-reader-close,
  .mobile-accordion .accordion-toggle,
  .manage-actions button,
  .manage-form button,
  :where(#manage-save-reminders),
  .booking-text-button,
  .request-close,
  .discovery-request-page .discovery-request-actions button,
  .schedule-button,
  .request-primary,
  .request-done,
  .booking-submit,
  .client-primary,
  a.button.primary,
  .movie-talk-button,
  .movie-confirmation-done,
  .booking-test-link
):not(:disabled):not([aria-disabled="true"]):hover { background-color: var(--lcm-rollover); color: var(--lcm-roll-ink); border-color: var(--lcm-roll-gold); }
}
html body :is(
  .legal-close,
  .article-close,
  .article-reader-close-bottom,
  .hero-replay,
  .discovery-option,
  .discovery-back-button,
  .back-link,
  .booking-back,
  .calendar-header button,
  .calendar-day,
  .calendar-time,
  .request-copy,
  .client-actions a:not(.client-primary),
  .material-choices a,
  .movie-paths a,
  .movie-paths button,
  .button.secondary,
  .article-reader-controls button,
  .article-reader-close,
  .mobile-accordion .accordion-toggle,
  .manage-actions button,
  .manage-form button,
  :where(#manage-save-reminders),
  .booking-text-button,
  .request-close,
  .discovery-request-page .discovery-request-actions button,
  .schedule-button,
  .request-primary,
  .request-done,
  .booking-submit,
  .client-primary,
  a.button.primary,
  .movie-talk-button,
  .movie-confirmation-done,
  .booking-test-link
):not(:disabled):not([aria-disabled="true"]):focus-visible { background-color: var(--lcm-rollover); color: var(--lcm-roll-ink); border-color: var(--lcm-roll-gold); }
html body :is(
  .legal-close,
  .article-close,
  .article-reader-close-bottom,
  .hero-replay,
  .discovery-option,
  .discovery-back-button,
  .back-link,
  .booking-back,
  .calendar-header button,
  .calendar-day,
  .calendar-time,
  .request-copy,
  .client-actions a:not(.client-primary),
  .material-choices a,
  .movie-paths a,
  .movie-paths button,
  .button.secondary,
  .article-reader-controls button,
  .article-reader-close,
  .mobile-accordion .accordion-toggle,
  .manage-actions button,
  .manage-form button,
  :where(#manage-save-reminders),
  .booking-text-button,
  .request-close,
  .discovery-request-page .discovery-request-actions button,
  .schedule-button,
  .request-primary,
  .request-done,
  .booking-submit,
  .client-primary,
  a.button.primary,
  .movie-talk-button,
  .movie-confirmation-done,
  .booking-test-link
):not(:disabled):not([aria-disabled="true"]):focus-visible { outline: 2px solid #f4efe5; outline-offset: 2px; box-shadow: 0 0 0 4px var(--lcm-roll-ink); }

/* Time-zone choices are radio controls styled as beige buttons. */
.zone-choices input:not(:disabled):focus-visible+span { background-color: var(--lcm-roll-gold); color: var(--lcm-roll-ink); }
.zone-choices input:checked:not(:disabled):focus-visible+span { background-color: var(--lcm-roll-beige); color: var(--lcm-roll-ink); }
@media (hover: hover) {
  .zone-choices label:hover input:not(:disabled)+span { background-color: var(--lcm-roll-gold); color: var(--lcm-roll-ink); }
  .zone-choices label:hover input:checked:not(:disabled)+span { background-color: var(--lcm-roll-beige); color: var(--lcm-roll-ink); }
}
/* Keep lettering and the decorative frame intact while the marquee panel swaps color. */
html body .lcm-marquee-button { position: relative; }
html body .lcm-marquee-button > img { transition: opacity .16s ease; }
html body .lcm-marquee-button > .lcm-hover-art { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; object-fit: contain; opacity: 0; pointer-events: none; filter: drop-shadow(0 .45rem .75rem rgba(63,65,65,.16)); }
@media (hover: hover) {
  html body .lcm-marquee-button:hover > img:not(.lcm-hover-art) { opacity: 0; }
  html body .lcm-marquee-button:hover > .lcm-hover-art { opacity: 1; }
}
html body .lcm-marquee-button:focus-visible > img:not(.lcm-hover-art) { opacity: 0; }
html body .lcm-marquee-button:focus-visible > .lcm-hover-art { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  html body :is(button, .discovery-option, .discovery-back-button, .back-link, .client-actions a, .material-choices a, .button, .request-primary, .lcm-marquee-button > img) { transition: none !important; }
}

html body :is(.movie-paths a, .movie-paths button, .discovery-option, .material-choices a):not(:disabled):not([aria-disabled="true"]):focus-visible :is(span,strong,small,p) { color: var(--lcm-roll-ink); }
@media (hover: hover) {
  html body :is(.movie-paths a, .movie-paths button, .discovery-option, .material-choices a):not(:disabled):not([aria-disabled="true"]):hover :is(span,strong,small,p) { color: var(--lcm-roll-ink); }
}

/* Home: both colors share one grid cell, identical size and identical shadow. */
html body #home .home-discovery-link { display: grid; grid-template-columns: minmax(0, 1fr); width: min(24rem, 100%); }
html body #home .home-discovery-link > img { grid-area: 1 / 1; display: block; width: 100%; height: auto; margin: 0; filter: drop-shadow(0 .45rem .75rem rgba(63,65,65,.16)); }
html body #home .home-discovery-link > .lcm-hover-art { position: static; inset: auto; height: auto; }
@media (max-width: 760px) {
  html body #home .home-discovery-link { width: min(20rem, 100%); }
}

html body #home .home-offer.has-centered-marquee .home-discovery-link { margin-left: var(--home-marquee-offset); margin-right: 0; }

/* Touch feedback lasts only for the press, without moving the button. */
@media (hover: none), (pointer: coarse) {
html body :is(
  .legal-close,
  .article-close,
  .article-reader-close-bottom,
  .hero-replay,
  .discovery-option,
  .discovery-back-button,
  .back-link,
  .booking-back,
  .calendar-header button,
  .calendar-day,
  .calendar-time,
  .request-copy,
  .client-actions a:not(.client-primary),
  .material-choices a,
  .movie-paths a,
  .movie-paths button,
  .button.secondary,
  .article-reader-controls button,
  .article-reader-close,
  .mobile-accordion .accordion-toggle,
  .manage-actions button,
  .manage-form button,
  :where(#manage-save-reminders),
  .booking-text-button,
  .request-close,
  .discovery-request-page .discovery-request-actions button,
  .schedule-button,
  .request-primary,
  .request-done,
  .booking-submit,
  .client-primary,
  a.button.primary,
  .movie-talk-button,
  .movie-confirmation-done,
  .booking-test-link
):not(:disabled):not([aria-disabled="true"]):is(:active, [data-lcm-pressed]) { background-color: var(--lcm-rollover); color: var(--lcm-roll-ink); border-color: var(--lcm-roll-gold); transform: none; transition: none; }
  html body :is(.movie-paths a, .movie-paths button, .discovery-option, .material-choices a):not(:disabled):not([aria-disabled="true"]):is(:active, [data-lcm-pressed]) :is(span,strong,small,p) { color: var(--lcm-roll-ink); }
  .zone-choices label:is(:active, [data-lcm-pressed]) input:not(:disabled)+span { background-color: var(--lcm-roll-gold); color: var(--lcm-roll-ink); transition: none; }
  .zone-choices label:is(:active, [data-lcm-pressed]) input:checked:not(:disabled)+span { background-color: var(--lcm-roll-beige); color: var(--lcm-roll-ink); }
  html body .lcm-marquee-button:is(:active, [data-lcm-pressed]) > img { transition: none; }
  html body .lcm-marquee-button:is(:active, [data-lcm-pressed]) > img:not(.lcm-hover-art) { opacity: 0; }
  html body .lcm-marquee-button:is(:active, [data-lcm-pressed]) > .lcm-hover-art { opacity: 1; }
}
