/* CINEPOA: cinema-ticket details, clear wayfinding and a typographic signature. */
.desktop-nav a { position: relative; }
.desktop-nav a::after {
  content: ''; position: absolute; height: 2px; left: 0; right: 0; bottom: 3px;
  background: #ff728a; transform: scaleX(0); transform-origin: left;
  transition: transform .2s ease;
}
.desktop-nav a[aria-current="location"] { color: #fff; }
.desktop-nav a[aria-current="location"]::after,
.desktop-nav a:hover::after { transform: scaleX(1); }
.mobile-nav a[aria-current="location"] { color: #ffb7c4; border-left: 2px solid #ff728a; }
.reseller-page .catalog-controls { align-items: flex-start; }
.reseller-page .catalog-controls .filter-buttons { flex: 1; min-width: 0; }
.reseller-page .filter-buttons > button { max-width: 100%; white-space: normal; }
.reseller-page .filter-buttons > .filter-subcategory {
  border: 1px dashed #d59aac55; color: #e1bccb;
}
.reseller-page .filter-buttons > .filter-subcategory[aria-pressed="true"] {
  border-style: solid; border-color: #ff789a; color: #ffb7c8; background: #ff30491c;
}
.reseller-page .catalog-card[data-featured="true"] { border-color: #e365813d; }
.reseller-page .catalog-card[data-featured="true"] .catalog-label { color: #ffa3bb; }
.pricing-section .section-heading { text-align: left; max-width: 850px; margin-inline: 0; }
.pricing-section .section-heading .eyebrow { justify-content: flex-start; }
.pricing-section .plans-note {
  text-align: left; max-width: 760px; margin: -14px 0 38px;
  padding-left: 17px; border-left: 2px solid #ff667e;
  font-size: 14px; color: #c9c5cd; line-height: 1.8;
}
.pricing-grid { align-items: stretch; gap: 28px; }
.plan-card {
  --ticket-cutout: #0d0e12;
  padding: 30px; border-color: #ffffff2b; border-radius: 3px;
  background: #15161c; box-shadow: 0 18px 45px #0002;
}
.ticket-edition {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding-bottom: 22px; margin-bottom: 26px; border-bottom: 1px solid #ffffff24;
  color: #a9a7b4; font-size: 10px; letter-spacing: 1.5px;
}
.ticket-edition span:last-child { font-variant-numeric: tabular-nums; letter-spacing: 2px; }
.plan-card h3.plan-name { font-family: var(--display); font-size: 40px; line-height: 1; letter-spacing: 1px; font-weight: 600; }
.plan-card .plan-description { font-size: 14px; min-height: 48px; }
.plan-card .plan-price { font-variant-numeric: tabular-nums; margin-bottom: 26px; }
.plan-card .plan-divider {
  position: relative; overflow: visible; height: 1px;
  border-top: 1px dashed #ffffff40; background: none;
  margin-inline: -30px; margin-block: 0 25px;
}
.plan-card .plan-divider::before, .plan-card .plan-divider::after {
  content: ''; position: absolute; top: -8px; width: 16px; height: 16px;
  border-radius: 50%; background: var(--ticket-cutout);
}
.plan-card .plan-divider::before { left: -8px; }
.plan-card .plan-divider::after { right: -8px; }
.plan-card .check-list { flex: 1; font-size: 14px; }
.plan-card .button { margin-top: 12px; }
.plan-featured { background: #eee8de; color: #201a23; border-color: #eee8de; box-shadow: 0 20px 65px #0004; }
.plan-featured .ticket-edition { color: #625566; border-bottom-color: #21142230; }
.plan-featured h3.plan-name { color: #a31533; }
.plan-featured .plan-description, .plan-featured .plan-price small,
.plan-featured .check-list, .plan-featured .check-list li { color: #584b5b; }
.plan-featured .plan-price, .plan-featured .plan-price > span,
.plan-featured .check-list strong { color: #201a23; }
.plan-featured .check-list svg { color: #9e1530; }
.plan-featured .plan-divider { border-top-color: #48364750; }
.plan-featured .plan-app-gift { border-top-color: #a3153340; }
.plan-featured .check-list .plan-app-gift strong { color: #9e1530; }
.plan-badge { border-radius: 3px 3px 0 0; font-size: 10px; letter-spacing: 1.7px; }

.footer-signature {
  overflow: hidden; margin-top: 50px; padding-top: 24px; border-top: 1px solid #ffffff20;
  font-family: var(--display); font-size: clamp(72px, 18.8vw, 265px);
  font-weight: 700; letter-spacing: -.035em; line-height: .93;
  display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
  color: #e5e0dc; user-select: none;
}
.footer-signature > span { white-space: nowrap; }
.footer-signature b { color: #ff3658; font-weight: inherit; }
.footer-signature i { color: #ff3658; font-family: var(--font); font-size: .44em; font-weight: 400; font-style: normal; }
.site-footer .footer-bottom { border-top: none; margin-top: 25px; }

@media (min-width: 721px) and (max-width: 1000px) {
  html.reseller-page { --sticky-header-offset: 132px; }
  .reseller-page .header-inner {
    height: 116px; display: grid; grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: 48px 44px; gap: 6px 20px; padding-block: 8px;
  }
  .reseller-page .brand { grid-column: 1; grid-row: 1; }
  .reseller-page .header-cta { display: inline-flex; grid-column: 2; grid-row: 1; justify-self: end; }
  .reseller-page .desktop-nav { grid-column: 1 / -1; grid-row: 2; justify-content: center; }
}
@media (min-width: 721px) and (max-width: 960px) {
  .pricing-grid { gap: 16px; }
  .plan-card { padding: 27px 20px; }
  .plan-card .plan-divider { margin-inline: -20px; }
  .ticket-edition { font-size: 9px; letter-spacing: .5px; }
  .plan-card .check-list { font-size: 13px; }
  .plan-card .button { padding-inline: 12px; }
}
@media (max-width: 720px) {
  .pricing-grid { max-width: 470px; gap: 46px; }
  .pricing-section .plans-note { font-size: 13px; margin: -9px 0 30px; }
  .plan-card .plan-description { min-height: 0; }
  .footer-signature { margin-top: 26px; padding-top: 23px; font-size: clamp(65px, 19vw, 135px); }
  .footer-signature i { font-size: .37em; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .desktop-nav a::after { transition: none; }
  .button:hover { transform: none; }
}
@media (forced-colors: active) {
  .plan-featured { color: CanvasText; background: Canvas; border-color: CanvasText; }
  .plan-featured :is(.plan-name, .plan-price, .check-list, .plan-description, .ticket-edition) { color: CanvasText; }
  .desktop-nav a[aria-current="location"] { text-decoration: underline; }
}
