@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500;600;700&display=swap');

html,
body,
button,
input,
select,
textarea {
  font-family: 'Oswald', 'Arial Narrow', Arial, sans-serif !important;
}

body {
  font-weight: 400;
}

button,
.btn,
.nav a,
.badge,
.field label,
.table th,
.eyebrow {
  font-weight: 600;
}

.brand img,
.login-logo img,
.public-card .club-mark {
  display: block;
  object-fit: contain;
  flex: 0 0 auto;
  background: #fff;
  border-radius: 10px;
  padding: 2px;
}

.brand img {
  width: 44px;
  height: 44px;
}

.login-logo img {
  width: 64px;
  height: 64px;
}

.public-card .club-mark {
  width: 76px;
  height: 76px;
  margin-inline: auto;
}

.season-card,
.season-card * {
  font-family: 'Oswald', 'Arial Narrow', Arial, sans-serif !important;
}

.season-card__logo {
  display: block;
  object-fit: contain;
}

/* 26/27 compatto anche nella preview desktop */
.season-card .season-card__hero {
  height: 34% !important;
}

.season-card .season-card__n26 {
  top: 0 !important;
  left: 4% !important;
}

.season-card .season-card__n27 {
  top: 41% !important;
  bottom: auto !important;
  left: 10% !important;
}

.season-card .season-card__slash {
  top: 43% !important;
  left: 39% !important;
}

/* Scanner più ampio: il video usa tutto il riquadro senza essere tagliato. */
.verify-layout {
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr) !important;
  align-items: start;
}

.scanner-panel {
  width: 100%;
  padding: 18px !important;
}

.camera-box--reader {
  width: 100% !important;
  min-height: clamp(430px, 58vh, 650px) !important;
  aspect-ratio: auto !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #070b12 !important;
}

#reader {
  width: 100% !important;
  min-height: clamp(430px, 58vh, 650px) !important;
  height: 100% !important;
  border: 0 !important;
  background: #070b12 !important;
}

#reader__scan_region {
  width: 100% !important;
  min-height: clamp(430px, 58vh, 650px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #070b12 !important;
}

#reader video {
  width: 100% !important;
  height: 100% !important;
  min-height: clamp(430px, 58vh, 650px) !important;
  max-height: 650px !important;
  object-fit: contain !important;
  background: #070b12 !important;
}

/* Sponsor ufficiali tessera 2026/2027 */
.season-card__sponsors span {
  display: block !important;
  background-color: #fff !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 82% 72% !important;
}

.season-card__sponsors span:nth-child(1) {
  background-image: url('https://ik.imagekit.io/zpkojansx/sponsor/other/Ennio%20Ferrari.png?updatedAt=1785162784171') !important;
}

.season-card__sponsors span:nth-child(2) {
  background-image: url('https://ik.imagekit.io/zpkojansx/sponsor/other/Adidas.png?updatedAt=1785237925708') !important;
  background-size: 72% 62% !important;
}

.season-card__sponsors span:nth-child(3) {
  background-image: url('https://ik.imagekit.io/zpkojansx/sponsor/other/Mafledil%20SA.png?updatedAt=1785162860181') !important;
}

.season-card__sponsors span:nth-child(4) {
  background-image: url('https://ik.imagekit.io/zpkojansx/sponsor/Gold/Saysa.webp') !important;
}

.season-card__sponsors span:nth-child(5) {
  background-image: url('https://ik.imagekit.io/zpkojansx/sponsor/other/Red%20Bull.svg?updatedAt=1785163020906') !important;
  background-size: 88% 66% !important;
}

.season-card__sponsors span:nth-child(6) {
  background-image: url('https://ik.imagekit.io/zpkojansx/sponsor/other/CocaCola.webp?updatedAt=1785162652796') !important;
  background-size: 88% 70% !important;
}

@media (max-width: 980px) {
  .verify-layout {
    grid-template-columns: 1fr !important;
  }

  .camera-box--reader,
  #reader,
  #reader__scan_region,
  #reader video {
    min-height: clamp(440px, 68svh, 620px) !important;
    max-height: 620px !important;
  }
}

@media (max-width: 640px) {
  .public-pass-body {
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  .digital-card-page,
  .digital-card-page__content {
    min-height: max(100svh, 700px) !important;
  }

  .digital-card-page .season-card {
    width: 100vw !important;
    height: max(100svh, 700px) !important;
    min-height: 700px !important;
  }

  .season-card .season-card__masthead {
    top: 4.2% !important;
    left: 7% !important;
    right: 7% !important;
  }

  .season-card .season-card__club-name {
    font-size: clamp(31px, 9.3vw, 37px) !important;
    line-height: .92 !important;
  }

  .season-card .season-card__subtitle {
    margin-top: 7px !important;
    font-size: clamp(11px, 3.45vw, 13px) !important;
  }

  .season-card .season-card__hero {
    top: 15.7% !important;
    left: 7% !important;
    right: 7% !important;
    height: 34% !important;
  }

  .season-card .season-card__n26,
  .season-card .season-card__n27 {
    font-size: clamp(94px, 29vw, 114px) !important;
    line-height: .75 !important;
  }

  .season-card .season-card__n26 {
    top: 0 !important;
    left: 3% !important;
  }

  .season-card .season-card__n27 {
    top: 39% !important;
    bottom: auto !important;
    left: 10% !important;
  }

  .season-card .season-card__slash {
    top: 41% !important;
    left: 38% !important;
    font-size: clamp(86px, 27vw, 106px) !important;
  }

  .season-card .season-card__logo {
    top: 4% !important;
    right: 2% !important;
    width: min(27vw, 106px) !important;
  }

  .season-card .season-card__season-note {
    right: 0 !important;
    bottom: 7% !important;
  }

  .season-card .season-card__claim {
    display: none !important;
  }

  .season-card .season-card__member {
    top: 51.5% !important;
    left: 7% !important;
    right: 7% !important;
    justify-items: center !important;
    text-align: center !important;
  }

  .season-card .season-card__member strong {
    width: 100% !important;
    font-size: clamp(18px, 5.4vw, 21px) !important;
    text-align: center !important;
  }

  .season-card .season-card__payment {
    font-size: 12px !important;
    text-align: center !important;
  }

  .season-card .season-card__code {
    top: 59.5% !important;
    left: 7% !important;
    right: 7% !important;
    justify-items: center !important;
    gap: 6px !important;
    text-align: center !important;
  }

  .season-card .season-card__qr {
    width: 112px !important;
    height: 112px !important;
  }

  .season-card .season-card__qr img,
  .season-card .season-card__qr canvas {
    width: 104px !important;
    height: 104px !important;
  }

  .season-card .season-card__code > span {
    width: 100% !important;
    font-size: 12px !important;
    text-align: center !important;
  }

  .season-card .season-card__sponsors {
    left: 7% !important;
    right: 7% !important;
    bottom: 3.2% !important;
    gap: 5px !important;
    padding-top: 9px !important;
  }

  .season-card .season-card__sponsors span {
    height: 29px !important;
    background-size: 84% 72% !important;
  }

  .season-card .season-card__sponsors span:nth-child(2) {
    background-size: 72% 60% !important;
  }

  .season-card .season-card__sponsors span:nth-child(5),
  .season-card .season-card__sponsors span:nth-child(6) {
    background-size: 88% 66% !important;
  }

  .camera-box--reader,
  #reader,
  #reader__scan_region,
  #reader video {
    min-height: clamp(420px, 64svh, 560px) !important;
    max-height: 560px !important;
  }

  .scanner-panel {
    padding: 12px !important;
  }
}

@media (max-width: 370px) {
  .season-card .season-card__n26,
  .season-card .season-card__n27 {
    font-size: 90px !important;
  }

  .season-card .season-card__slash {
    font-size: 82px !important;
  }

  .season-card .season-card__logo {
    width: 92px !important;
  }

  .season-card .season-card__qr {
    width: 104px !important;
    height: 104px !important;
  }

  .season-card .season-card__qr img,
  .season-card .season-card__qr canvas {
    width: 96px !important;
    height: 96px !important;
  }
}
