/* Estrelas & Refúgos — V60 | camadas decorativas premium, mobile first.
   Visual only: never moves persistent values into images or changes write logic.
   Loaded after V59. All new rules are isolated behind theme-v60. */
.theme-v60 {
  --v60-ink: #071936;
  --v60-blue: #064dc6;
  --v60-red: #b70f24;
  --v60-gold: #bc841e;
  --v60-edge: #dbe3ee;
  --v60-soft: #f2f6fb;
  --v60-shadow: 0 7px 21px rgba(11, 36, 81, .075);
  --v60-radius: 19px;
  overflow-x: clip;
}
.theme-v60 .app-shell { background: linear-gradient(180deg, #f1f5fa, #eaf0f7); }
.theme-v60 .content { padding-top: 12px; padding-bottom: calc(106px + env(safe-area-inset-bottom, 0px)); }
.theme-v60 .content > * { min-width: 0; }
.theme-v60 .topbar {
  min-height: calc(72px + env(safe-area-inset-top, 0px));
  padding-top: calc(6px + env(safe-area-inset-top, 0px));
  border-radius: 0 0 20px 20px;
  border-color: #e0e5ee;
  box-shadow: 0 4px 17px rgba(14, 32, 65, .085);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.theme-v60 .topbar .icon-button {
  background: #f7f9fd;
  border: 1px solid #e0e6f0;
  box-shadow: none;
}
.theme-v60 .brand-versus { gap: 4px; }
.theme-v60 .brand-versus .brand-team-mark { filter: drop-shadow(0 3px 3px rgba(9, 19, 45, .16)); }
.theme-v60 .brand-versus .app-version-badge {
  position: static; margin-top: 4px; min-height: 20px; padding: 3px 11px;
  background: #ecf0f5; border-color: #e1e6ee;
  color: #39475d; font-size: 10px; letter-spacing: .03em; box-shadow: none;
}
/* Hero: existing OFFICIAL blue/red lion/warrior art stays separate and sharp. */
.theme-v60 .hero.home-hero-premium {
  aspect-ratio: 1.86 / 1;
  max-height: 336px;
  border: 2px solid rgba(255,255,255,.9);
  border-radius: 20px;
  background: #06132f;
  box-shadow: 0 9px 25px rgba(9, 35, 74, .16);
}
.theme-v60 .home-hero-premium .hero-versus-art {
  object-position: center;
  filter: saturate(1.1) contrast(1.03);
}
.theme-v60 .home-hero-premium .hero-overlay {
  background:
    linear-gradient(90deg, rgba(0,27,86,.20),rgba(0,8,26,.59) 31%,rgba(0,8,26,.65) 50%,rgba(37,0,12,.54) 69%,rgba(96,0,17,.10)),
    linear-gradient(0deg,rgba(0,7,22,.65), transparent 45%);
}
.theme-v60 .home-hero-premium .hero-copy { padding: 15px 25% 11px; }
.theme-v60 .home-hero-premium .eyebrow {
  margin: 0 0 7px; padding: 4px 8px; font-size: clamp(8px, 1.8vw, 11px);
  letter-spacing: .055em; border-color: #cfa65c; background: rgba(0,12,32,.82);
}
.theme-v60 .home-hero-premium h1 {
  color: #fff; font-weight: 1000; line-height: .94;
  font-size: clamp(28px, 5.9vw, 52px);
  letter-spacing: -.037em;
  text-shadow: 0 2px 0 #617ca3, 0 4px 1px #020b23, 0 8px 18px #000;
}
.theme-v60 .home-hero-premium h1 span { color: #fff0f1; text-shadow: 0 2px 0 #b65456,0 4px 1px #330311,0 8px 18px #000; }
.theme-v60 .home-hero-premium .hero-intro-row { margin-top: 8px; }
.theme-v60 .home-hero-premium .hero-intro-text {
  color: #f0f4fc; font-size: clamp(10px, 2.35vw, 13px);
  font-weight: 550; line-height: 1.32;
  text-shadow: 0 2px 6px #000;
}
/* Score: dynamic real results over the original transparent frame PNG. */
.theme-v60 .home-match-panel-premium {
  grid-template-columns: minmax(0, 1fr) minmax(108px, 1.18fr) minmax(0, 1fr);
  aspect-ratio: auto;
  min-height: clamp(147px, 28vw, 218px);
  margin: 10px 0 13px;
  padding: 17px clamp(10px, 3vw, 30px);
  gap: 3px;
  border-radius: 20px;
  outline: 1px solid rgba(255,255,255,.95);
  outline-offset: -4px;
  filter: drop-shadow(0 6px 11px rgba(16,41,75,.11));
}
.theme-v60 .home-match-frame,
.theme-v60 .home-match-panel-premium > img { object-fit: fill; }
.theme-v60 .home-match-team { gap: 2px; min-width: 0; }
.theme-v60 .home-match-team > span { min-width: 0; }
.theme-v60 .home-match-crest { width: clamp(44px, 11vw, 83px); height: clamp(44px, 11vw, 83px); }
.theme-v60 .home-match-team b {
  max-width: 100%; font-size: clamp(10px, 2.5vw, 17px); letter-spacing: -.03em;
  word-break: normal; overflow-wrap: normal; text-wrap: nowrap; white-space: nowrap;
}
.theme-v60 .home-match-team small { font-size: 10px; }
.theme-v60 .home-match-score { gap: 4px; min-width: 0; }
.theme-v60 .home-match-score > small {
  max-width: 100%; color: #516077; font-size: clamp(9px, 1.5vw, 11px);
  font-weight: 900; letter-spacing: .05em; white-space: nowrap;
}
.theme-v60 .home-match-score > span { gap: clamp(4px, 1.5vw, 14px); justify-content: center; min-width: 0; width: 100%; }
.theme-v60 .home-match-score strong {
  min-width: 0; font-size: clamp(37px, 8.3vw, 70px); font-weight: 1000;
  letter-spacing: -.07em; font-variant-numeric: tabular-nums;
  line-height: 1; white-space: nowrap;
}
.theme-v60 .home-match-score i { color: #727f91; font-size: clamp(20px, 4.2vw, 30px); }
.theme-v60 .home-match-score em {
  padding: 3px 10px; border-radius: 99px; background: #ecf0f5;
  color: #29394f; font-size: clamp(9px, 1.7vw, 11px);
  font-weight: 900; white-space: nowrap;
}
.theme-v60 .home-match-empty-copy { max-width: 80%; margin: 0 auto; }
.theme-v60 .home-match-empty-copy b { font-size: clamp(15px, 3.4vw, 23px); }
/* Remove the legacy grouped statistics strip. Each button is an independent premium tile. */
.theme-v60 .home-quick-grid {
  display: grid;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
  gap: 9px !important;
  overflow: visible;
}
.theme-v60 .home-quick-grid > .premium-action {
  border: 1px solid #dce4ee;
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--v60-shadow);
  overflow: hidden;
}
.theme-v60 .home-primary-grid > .premium-action::after {
  display: block;
  z-index: 1;
  opacity: 1;
}
/* Real tap targets. Each card has a separately authored transparent PNG trim. */
.theme-v60 .home-primary-grid { margin-top: 0; gap: 9px; }
.theme-v60 .home-primary-grid > .premium-action {
  position: relative; min-width: 0; min-height: 128px; padding: 14px 5px 19px;
  overflow: hidden; border: 1px solid #e0e6ef; border-radius: 18px;
  background: #fff; box-shadow: var(--v60-shadow);
  grid-template-rows: 33px auto auto;
  align-content: center; gap: 4px;
}
.theme-v60 .home-primary-grid > .premium-action::before { display: none; }
.theme-v60 .home-primary-grid > .premium-action::after {
  content: ''; position: absolute; pointer-events: none;
  bottom: 0; left: 0; right: 0; height: 22px;
  background: url('/images/theme-v60/stat-trim-blue.png') bottom / 100% 22px no-repeat;
}
.theme-v60 .home-primary-grid > .premium-action.accent-green::after { background-image: url('/images/theme-v60/stat-trim-green.png'); }
.theme-v60 .home-primary-grid > .premium-action.accent-purple::after { background-image: url('/images/theme-v60/stat-trim-purple.png'); }
.theme-v60 .home-primary-grid .action-icon {
  display: grid; width: 33px; height: 33px; padding: 0; place-items: center;
  border: 0; border-radius: 11px; background: #eff5ff; box-shadow: none;
}
.theme-v60 .home-primary-grid .accent-green .action-icon { background: #e7f8ee; }
.theme-v60 .home-primary-grid .accent-purple .action-icon { background: #f3edff; }
.theme-v60 .home-primary-grid .action-icon .icon { width: 24px; height: 24px; }
.theme-v60 .home-primary-grid .action-metric {
  display: block; order: 0; grid-row: 2; width: 100%; min-width: 0;
  padding: 0; margin: 0; border: 0;
  font-size: clamp(27px, 7.1vw, 49px); line-height: 1; letter-spacing: -.065em;
  text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.theme-v60 .home-primary-grid .action-copy { grid-row: 3; width: 100%; display: grid; justify-items: center; min-width: 0; }
.theme-v60 .home-primary-grid .action-copy b {
  font-size: clamp(10px, 2.15vw, 14px); line-height: 1.15;
  white-space: normal; text-wrap: balance; overflow-wrap: normal; hyphens: none;
}
.theme-v60 .home-primary-grid .action-copy small { display: none; }
/* Vote/winner card: gold PNG decor, real candidate avatar and dynamic button. */
.theme-v60 .craque-home-card {
  min-width: 0; min-height: 113px; margin: 12px 0;
  padding: 12px 13px 18px;
  border: 1px solid #e7cf8b; border-radius: 18px;
  background-color: #fff;
  background-image:
    url('/images/theme-v60/craque-gold-trim.png'),
    linear-gradient(90deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,.94) 31%, #fff 100%),
    url('/images/theme-v57/craque-medal-premium.png');
  background-size: 100% 18px, 100% 100%, 128px 128px;
  background-position: bottom center, center, left center;
  background-repeat: no-repeat;
  box-shadow: 0 9px 22px rgba(98,65,9,.10);
}
.theme-v60 .craque-home-card > div:nth-child(2) { min-width: 0; }
.theme-v60 .craque-home-card small { color: #94630e; font-size: clamp(10px, 2.6vw, 12px); font-weight: 900; letter-spacing: .04em; }
.theme-v60 .craque-home-card h2 { margin: 3px 0; font-size: clamp(16px, 4.2vw, 22px); line-height: 1.13; overflow-wrap: anywhere; }
.theme-v60 .craque-home-card p { font-size: clamp(11px, 2.6vw, 13px); line-height: 1.35; }
.theme-v60 .craque-home-card .btn { min-height: 44px; white-space: normal; line-height: 1.2; }
/* The next actionable round is under the first-fold statistics/craque. */
.theme-v60 .home-spotlight { margin-top: 10px; background: #17384e; border: 0; min-height: 91px; box-shadow: 0 7px 18px rgba(13,44,63,.13); }
.theme-v60 .home-spotlight .home-spotlight-copy small,
.theme-v60 .home-spotlight .home-spotlight-copy b,
.theme-v60 .home-spotlight .home-spotlight-copy em,
.theme-v60 .home-spotlight .home-spotlight-stat strong,
.theme-v60 .home-spotlight .home-spotlight-stat small { color: #f6faff; opacity: 1; }
.theme-v60 .home-spotlight .home-spotlight-copy small { color: #bad5e7; font-size: 11px; }
.theme-v60 .home-spotlight .home-spotlight-copy b { font-size: clamp(13px, 3.25vw, 17px); white-space: normal; }
.theme-v60 .home-spotlight .home-spotlight-copy em { color: #d4e4f1; font-size: 12px; white-space: normal; }
.theme-v60 .home-spotlight .home-spotlight-stat strong { font-size: 29px; }
.theme-v60 .home-spotlight .home-spotlight-stat small { font-size: 10px; }
.theme-v60 .home-spotlight.result { background: #173c70; }
.theme-v60 .home-spotlight.cancelled { background: #6f2633; }
/* Secondary activities: the result has its own full row on phones, not a compressed column. */
.theme-v60 .home-secondary-grid { gap: 9px; margin-top: 9px; }
.theme-v60 .home-secondary-grid > .premium-action {
  min-width: 0; min-height: 92px; padding: 11px 8px;
  border: 1px solid var(--v60-edge); border-radius: 17px;
  background: #fff; box-shadow: var(--v60-shadow);
}
.theme-v60 .home-secondary-grid .action-metric,
.theme-v60 .home-secondary-grid .action-metric strong {
  min-width: 0; max-width: 100%; font-size: clamp(17px, 3.4vw, 24px);
  line-height: 1.1; text-align: center; overflow-wrap: normal; word-break: normal;
}
.theme-v60 .home-secondary-grid .action-copy b { font-size: 12px; }
.theme-v60 .home-secondary-grid .action-copy small,
.theme-v60 .home-secondary-grid .action-copy em { font-size: 11px; }
/* Historical sections: same app design language without flattening official data. */
.theme-v60 .classic-panel,
.theme-v60 .monthly-highlights,
.theme-v60 .home-history-list,
.theme-v60 .home-podium-list { min-width: 0; }
.theme-v60 .classic-panel,
.theme-v60 .monthly-highlights {
  border: 1px solid #dde5ef; border-radius: 19px;
  box-shadow: var(--v60-shadow); background: #fff;
}
.theme-v60 .classic-panel::before { background: linear-gradient(90deg, #0056c7 0 48%, #d9a539 49% 51%, #c31327 52%); }
.theme-v60 .section-head { margin-top: 21px; margin-bottom: 10px; }
.theme-v60 .section-head h2 { font-size: clamp(17px, 3.6vw, 21px); }
.theme-v60 .section-head p { font-size: 12px; line-height: 1.35; }
.theme-v60 .section-kicker { font-size: 10px; letter-spacing: .11em; }
.theme-v60 .home-podium-list .ranking-row,
.theme-v60 .home-history-list .history-row { box-shadow: var(--v60-shadow); }
/* Universal micro-polish for controls and states; never hide errors or controls. */
.theme-v60 :where(button, a, input, select, textarea, summary):focus-visible {
  outline: 3px solid #2177dc; outline-offset: 3px;
}
.theme-v60 :where(button, [role="button"]) { touch-action: manipulation; }
.theme-v60 :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { max-width: 100%; }
.theme-v60 .modal-card { max-width: min(100%, 600px); }
.theme-v60 .bottom-nav {
  border-radius: 20px 20px 0 0;
  background: #fff;
  backdrop-filter: none; -webkit-backdrop-filter: none;
  box-shadow: 0 -5px 20px rgba(19,42,74,.13);
}
.theme-v60 .nav-item { border-radius: 13px; }
.theme-v60 .nav-item.active { background: #eef4ff; color: #064dc6; }
/* Indicador legado removido: o estado ativo usa o fundo e o ícone V62. */
.theme-v60 .nav-item b { font-size: clamp(10px, 2.4vw, 12px); }
@media (max-width: 520px) {
  .theme-v60 .content { padding: 10px max(10px,env(safe-area-inset-left, 0px)) calc(100px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-right,0px)); }
  .theme-v60 .topbar { min-height: calc(65px + env(safe-area-inset-top,0px)); grid-template-columns: 44px minmax(0,1fr) 44px; }
  .theme-v60 .brand-versus { grid-template-columns: 36px minmax(0,auto) 36px; gap: 2px; }
  .theme-v60 .brand-versus .brand-team-mark { width: 36px; height: 36px; }
  .theme-v60 .brand-versus b { font-size: clamp(11px, 3.15vw, 14px); }
  .theme-v60 .brand-versus em { font-size: clamp(9px, 2.45vw, 11px); }
  .theme-v60 .brand-versus .app-version-badge { min-height: 18px; font-size: 9px; padding: 2px 9px; }
  .theme-v60 .hero.home-hero-premium { aspect-ratio: 1.8 / 1; max-height: 238px; }
  .theme-v60 .home-hero-premium .hero-copy { padding: 10px 23% 8px; }
  .theme-v60 .home-hero-premium .eyebrow { font-size: 8px; padding: 3px 6px; }
  .theme-v60 .home-hero-premium h1 { font-size: clamp(22px, 6.5vw, 31px); }
  .theme-v60 .home-hero-premium .hero-intro-text { font-size: 10px; }
  .theme-v60 .home-match-panel-premium { grid-template-columns: minmax(0,1fr) minmax(104px,1.15fr) minmax(0,1fr); padding: 12px 8px; min-height: 147px; }
  .theme-v60 .home-match-crest { width: clamp(42px, 11.7vw, 54px); height: clamp(42px, 11.7vw, 54px); }
  .theme-v60 .home-match-team small { display: none; }
  .theme-v60 .home-match-team b { font-size: clamp(9px,2.65vw,12px); }
  .theme-v60 .home-match-score strong { font-size: clamp(34px, 9.1vw, 47px); }
  .theme-v60 .home-match-score > small { font-size: 9px; }
  .theme-v60 .home-primary-grid .premium-action { min-height: 122px; }
  .theme-v60 .home-secondary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .theme-v60 .home-secondary-grid > .premium-action:first-child { grid-column: 1 / -1 !important; min-height: 93px; }
  .theme-v60 .home-secondary-grid > .premium-action { min-height: 106px; }
  .theme-v60 .home-secondary-grid .action-metric,
  .theme-v60 .home-secondary-grid .action-metric strong { max-width: 100%; font-size: clamp(14px,4.1vw,21px); }
  .theme-v60 .craque-home-card { grid-template-columns: 62px minmax(0,1fr); gap: 9px; background-size: 100% 16px, 100% 100%, 108px 108px; }
  .theme-v60 .craque-home-card > .btn { grid-column: 2; justify-self: start; margin: 2px 0 0; padding-inline: 13px; }
  .theme-v60 .craque-home-winner,
  .theme-v60 .craque-home-icon { min-width: 0; }
  .theme-v60 .nav-item { min-height: 54px; padding-inline: 1px; }
  .theme-v60 .nav-item .icon { width: 23px; height: 23px; }
  .theme-v60 .bottom-nav { min-height: calc(73px + env(safe-area-inset-bottom,0px)); }
  .theme-v60 .modal-card { max-width: 100%; }
}
@media (max-width: 370px) {
  .theme-v60 .brand-versus { grid-template-columns: 31px minmax(0,auto) 31px; }
  .theme-v60 .brand-versus .brand-team-mark { width: 31px; height: 31px; }
  .theme-v60 .brand-versus b { font-size: 10px; }
  .theme-v60 .brand-versus em { font-size: 9px; }
  .theme-v60 .hero.home-hero-premium { aspect-ratio: 1.73 / 1; }
  .theme-v60 .home-hero-premium .hero-copy { padding-inline: 22%; }
  .theme-v60 .home-hero-premium h1 { font-size: 21px; }
  .theme-v60 .home-match-panel-premium { grid-template-columns: minmax(0,1fr) minmax(100px,1.12fr) minmax(0,1fr); padding-inline: 6px; }
  .theme-v60 .home-match-score strong { font-size: 35px; }
  .theme-v60 .home-match-team b { font-size: 9px; }
  .theme-v60 .home-primary-grid { gap: 6px; }
  .theme-v60 .home-primary-grid .premium-action { min-height: 114px; }
  .theme-v60 .home-primary-grid .action-metric { font-size: 31px; }
  .theme-v60 .home-primary-grid .action-copy b { font-size: 10px; }
}
@media (min-width: 761px) {
  .theme-v60 .bottom-nav { bottom: 16px; border-radius: 20px; }
  .theme-v60 .content { padding-inline: 20px; padding-bottom: 120px; }
}
@media (prefers-reduced-motion: reduce) {
  .theme-v60 *, .theme-v60 *::before, .theme-v60 *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
