/* V3.9.4: final responsive text and working Journal story links.
   Scoped to ETERVOXIA public pages; existing branding and visual tokens stay intact. */
body.ev3-app .ev3-journal-grid{
  align-items:stretch;
  grid-auto-rows:1fr;
}
body.ev3-app .ev3-story{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  overflow:hidden;
}
body.ev3-app .ev3-story a{
  height:auto;
  text-decoration:none;
}
body.ev3-app .ev3-story .ev394-story-media{
  display:block;
  flex:0 0 auto;
  overflow:hidden;
  min-height:0;
}
body.ev3-app .ev3-story .ev394-story-media :is(img,.ev3-story-art){
  display:block;
  width:100%;
  height:230px!important;
  object-fit:cover;
}
body.ev3-app .ev3-story .ev394-story-media .ev3-story-art{
  display:grid;
  place-items:center;
}
body.ev3-app .ev3-story .ev3-story-content{
  padding:clamp(19px,2.1vw,25px);
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  align-items:stretch;
  min-height:215px;
  min-width:0;
}
body.ev3-app .ev3-story .ev3-story-content time{
  display:block;
  color:var(--ev3-mint);
  font-size:16px!important;
  letter-spacing:.035em;
  line-height:1.55;
}
body.ev3-app .ev3-story .ev3-story-content h3{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  overflow:hidden;
  overflow-wrap:break-word;
  word-break:normal;
  margin:12px 0 22px!important;
  font-size:clamp(21px,1.7vw,26px)!important;
  line-height:1.28;
  letter-spacing:-.025em;
}
body.ev3-app .ev3-story .ev3-story-content h3 a{
  display:inline;
  font:inherit;
  color:inherit;
}
body.ev3-app .ev3-story .ev3-story-content h3 a:hover{color:var(--ev3-mint)}
body.ev3-app .ev3-story .ev394-story-link{
  display:inline-flex!important;
  width:max-content;
  max-width:100%;
  align-items:center;
  justify-content:flex-start;
  gap:6px;
  min-height:44px;
  margin-top:auto;
  font-size:17px!important;
  line-height:1.45;
  font-weight:850;
  color:var(--ev3-gold,#f2cf86);
  text-transform:uppercase;
  text-decoration:none;
}
body.ev3-app .ev3-story .ev394-story-link span{font-size:1em!important;color:inherit}
body.ev3-app .ev3-story .ev394-story-link:hover{
  color:#ffe3a7;
  text-decoration:underline;
  text-underline-offset:5px;
}
body.ev3-app .ev3-story :is(.ev394-story-link,.ev394-story-media,h3 a):focus-visible{
  outline:3px solid #90fff0;
  outline-offset:3px;
  border-radius:3px;
}

/* Keep actual information legible. Large headings retain their established scales. */
body.ev3-app :is(.ev3-eyebrow,.ev36-kicker,.ev390-eyebrow,.ev390-status,
  .ev390-stats span,.ev390-top-rank,.ev390-top-votes,.ev390-unclaimed,
  .ev390-row-rank,.ev390-row-sport,.ev390-row-name,.ev390-board-head p,
  .ev390-toggles button,.ev390-edition-card span,.ev390-bottom-links a,
  .ev390-feedback,.ev392-card-tag,.ev392-card-country,.ev392-card-count,
  .ev392-section-head p,.ev393-voted-state,.ev394-story-link,
  .ev3-card-sport,.ev3-card-bottom,.ev3-level,
  .ev3-story time,.ev3-story .ev394-story-link,
  .ev3-footer nav a,.ev3-footer p,
  .ev3-auth-panel label,.ev3-auth-panel p,
  .evxe-ranking-filters label,.evxe-ranking-filters select,
  .evxe-standings p,.evxe-standings table,
  .ev322-tree-directory small,.ev322-tree-voices,
  .ev384-media-credit,.ev322-rule-card span){
  font-size:max(16px,1em);
  line-height:1.5;
}
body.ev3-app :is(input,select,textarea,button){font-size:max(16px,1em)}
body.ev3-app .ev390-row-total{font-size:clamp(20px,2vw,27px)}
body.ev3-app .ev390-row-meta{min-width:0}
body.ev3-app .ev390-bars .ev390-row{min-width:0}
body.ev3-app .ev390-row-sport{overflow-wrap:break-word}
body.ev3-app .ev390-top-card :is(strong,a){font-size:clamp(16px,1.4vw,20px)}
body.ev3-app .ev390-top-medal{font-size:clamp(38px,4vw,52px)}
body.ev3-app :is(.ev390-toggles button,.ev390-bottom-links a){min-height:44px}
body.ev3-app .ev390-row-track{width:100%}

@media(max-width:820px){
  body.ev3-app .ev3-journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.ev3-app .ev3-story .ev3-story-content{min-height:195px}
}
@media(max-width:620px){
  body.ev3-app .ev3-journal-grid{grid-template-columns:1fr;gap:18px}
  body.ev3-app .ev3-story .ev3-story-content{min-height:182px}
  body.ev3-app .ev3-story .ev394-story-media :is(img,.ev3-story-art){height:clamp(180px,52vw,240px)!important}
  body.ev3-app .ev390-top-three{grid-template-columns:1fr;gap:12px}
  body.ev3-app .ev390-top-card.rank-1{transform:none}
  body.ev3-app .ev390-top-card{padding:17px;border-radius:15px}
  body.ev3-app .ev390-row{grid-template-columns:28px minmax(0,1fr) 58px;gap:10px}
  body.ev3-app .ev390-row-track{grid-column:2;grid-row:2}
  body.ev3-app .ev390-row-total{grid-column:3;grid-row:1}
}
@media(prefers-reduced-motion:reduce){body.ev3-app .ev3-story,body.ev3-app .ev394-story-link{transition:none!important}}

/* V3.9.5 mobile legibility floor for labels, supporting copy, and actions.
   Limit to text controls to avoid affecting interactive tree geometry or decorative icons. */
@media (max-width:767px){
  body.ev3-app :is(
    .ev3-eyebrow,.ev3-footnote,.ev3-card-sport,.ev3-card-bottom,.ev3-level,.ev3-verified,
    .ev3-hero-signals,.ev3-auth-links,.ev3-footer nav a,.ev3-footer p,.ev3-metric,
    .ev36-kicker,.ev36-topline,.ev36-card-kicker,.ev36-card-stat,.ev36-card-level,
    .ev36-sport-kicker,.ev36-section-link,.ev36-hero-footnote,.ev36-tree-hint,
    .ev36-tree-profile-meta,.ev36-tree-profile-stat,.ev36-tree-directory,
    .evx-sport-count,.evx-v33-sport-card .evx-sport-count,.evxe-hero-leaf-sport,
    .evxe-hero-leaf-level,.evxe-hero-caps,.evxe-sport-index,.evxe-sport-card,
    .ev322-note,.ev322-vote-auth-msg,.ev322-secondary-action,.ev322-tree-voices,
    .ev390-eyebrow,.ev390-status,.ev390-stats span,.ev390-top-rank,.ev390-top-votes,
    .ev390-unclaimed,.ev390-board-head p,.ev390-toggles button,.ev390-row-rank,
    .ev390-row-sport,.ev390-edition-card span,.ev390-bottom-links a,.ev390-link-note a,
    .ev390-feedback,.ev392-index-open,.ev392-card-tag,.ev392-card-country,.ev392-card-count,
    .ev392-card-rank,.ev392-card-vote,.ev392-card-action-placeholder,.ev392-more-candidates,
    .ev393-voted-state,.evxm-guide,.evxm-guide-title,.evxm-touch-mode,.ev384-media-credit,
    .ev381-small-note,.ev381-consent,.ev3-story time
  ){
    font-size:max(15px,1em)!important;
    line-height:1.45;
  }
  body.ev3-app .ev390-top-card :is(a,strong){font-size:16px!important}
  body.ev3-app .ev390-row-meta a{font-size:16px!important}
  body.ev3-app :is(input,select,textarea,button){font-size:max(16px,1em)}
}
