.service-grid { max-width: 72rem; margin-inline: auto; grid-template-columns: repeat(2,minmax(0,1fr)); }
.service-card__icon { background: linear-gradient(145deg,color-mix(in srgb,var(--service-color,#ff5010) 78%,#fff),var(--service-color,#ff5010)); box-shadow: 0 .7rem 1.6rem color-mix(in srgb,var(--service-color,#ff5010) 28%,transparent); }
.kiosk-message { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ticket-success-modal { overflow: hidden; border: 0; border-radius: 1.5rem; box-shadow: 0 1.5rem 4rem rgba(27,18,58,.3); }
.ticket-success-check { display: inline-grid; width: 4.2rem; height: 4.2rem; margin-bottom: 1rem; place-items: center; color: #fff; background: linear-gradient(135deg,#23ae73,#158c60); border-radius: 50%; box-shadow: 0 0 0 .55rem rgba(35,174,115,.12); font-size: 2rem; }
.ticket-success-number { margin: 0 0 .55rem; color: #000040; font-size: clamp(4rem,15vw,7rem); font-weight: 950; letter-spacing: -.08em; line-height: 1; }
.ticket-success-modal .alert { border-radius: .9rem; }
.service-card.is-busy { pointer-events: none; opacity: .68; }
.service-card.is-busy .service-card__icon i { animation: kiosk-spin 850ms linear infinite; }
@keyframes kiosk-spin { to { transform: rotate(360deg); } }
@media (max-width: 767.98px) { .service-grid { grid-template-columns: 1fr; } }
@media (max-width: 575.98px) {
  .service-card { display: grid; min-height: 8.5rem; padding: 1rem 1.1rem; align-items: center; grid-template-columns: 4rem minmax(0,1fr) 2rem; grid-template-rows: auto auto; gap: .25rem .8rem; text-align: left; }
  .service-card::after { display: none; }
  .service-card__icon { grid-column: 1; grid-row: 1 / 3; }
  .service-card__title { min-width: 0; grid-column: 2; grid-row: 1; font-size: 1.05rem; line-height: 1.15; }
  .service-card__description { display: flex; flex-wrap: wrap; grid-column: 2; grid-row: 2; gap: .15rem .65rem; font-size: .76rem; }
  .service-card .kiosk-action { min-width: 0; min-height: 0; padding: 0; grid-column: 3; grid-row: 1 / 3; font-size: 0; }
  .service-card .kiosk-action i { font-size: 1.35rem; }
  .kiosk-message { align-items: stretch; flex-direction: column; text-align: center; }
}
@media (prefers-reduced-motion: reduce) { .service-card.is-busy .service-card__icon i { animation: none; } }
