/* ASHE Public Quality Layer v4.7
   Readability, stable layout, touch targets and accessibility without changing the v4.6 visual identity. */

.quality-v47 {
  --quality-small: 0.6875rem;
  --quality-label: 0.75rem;
}


.quality-v47 .match-details,
.quality-v47 .content-heading a,
.quality-v47 .small-outline,
.quality-v47 .latest-news small,
.quality-v47 .cta-card a,
.quality-v47 .finder-team__badge,
.quality-v47 .finder-team__reasons span,
.quality-v47 .finder-team__actions a,
.quality-v47 .finder-team__actions button,
.quality-v47 .panel-heading--match small,
.quality-v47 .next-match__actions button,
.quality-v47 .content-heading--teams > div small,
.quality-v47 .team-chips button,
.quality-v47 .schedule-filters button,
.quality-v47 .fixture-department-filter,
.quality-v47 .fixture-card__status,
.quality-v47 .fixture-card__actions button,
.quality-v47 .schedule-card__open,
.quality-v47 .schedule-card__new,
.quality-v47 .schedule-card__actions .button,
.quality-v47 .media-modal__header span,
.quality-v47 .media-modal__footer button,
.quality-v47 .media-modal__footer a,
.quality-v47 .media-modal__navigation span,
.quality-v47 .history-navigation button,
.quality-v47 .location-tabs button,
.quality-v47 .location-card small,
.quality-v47 .contact-actions .button,
.quality-v47 .contact-quick small,
.quality-v47 .map-panel__badge,
.quality-v47 .mobile-dock a small,
.quality-v47 .finder-options label span {
  font-size: var(--quality-small);
}

.quality-v47 .countdown small,
.quality-v47 .department-grid small,
.quality-v47 .contact-quick strong,
.quality-v47 .match-team strong,
.quality-v47 .latest-news strong,
.quality-v47 .location-card p {
  font-size: var(--quality-label);
}

.quality-v47 .department-card__type,
.quality-v47 .department-card__age,
.quality-v47 .person-card__role,
.quality-v47 .coach-card__role,
.quality-v47 .management-card__role {
  font-size: max(0.6875rem, 10px);
}

.quality-v47 :where(button, [role="button"], input, select, textarea, .button) {
  scroll-margin-top: 110px;
}

.quality-v47 :where(.team-chips button, .schedule-filters button, .fixture-filter, .location-tabs button,
  .next-match__actions button, .fixture-card__actions button, .media-modal__footer button,
  .media-modal__footer a, .history-navigation button, .contact-actions .button,
  .mobile-dock a, .sponsor-modal__close, .media-modal__close) {
  min-height: 44px;
}

.quality-v47 :where(button, a, input, select, textarea):focus-visible {
  outline: 3px solid #55a7ff;
  outline-offset: 3px;
}

.quality-v47 [aria-busy="true"] {
  cursor: progress;
}

.quality-v47 .modal-background-inert {
  pointer-events: none;
  user-select: none;
}

@media (max-width: 760px) {
  .quality-v47 {
    --quality-small: 0.6875rem;
    --quality-label: 0.75rem;
  }

  .quality-v47 .mobile-dock a small {
    font-size: 0.625rem;
    letter-spacing: -0.01em;
  }

  .quality-v47 .next-match__actions button,
  .quality-v47 .fixture-card__actions button,
  .quality-v47 .media-modal__footer button,
  .quality-v47 .media-modal__footer a {
    font-size: 0.625rem;
  }
}

@media (prefers-contrast: more) {
  .quality-v47 :where(.button, button, input, select, textarea) {
    border-width: 2px;
  }
}

/* Public team/news pages */
.public-page.quality-v47 .pp-brand small,
.public-page.quality-v47 .pp-breadcrumbs,
.public-page.quality-v47 .pp-count,
.public-page.quality-v47 .pp-chips button,
.public-page.quality-v47 .team-directory-card__tags span,
.public-page.quality-v47 .news-date,
.public-page.quality-v47 .related-news small,
.public-page.quality-v47 .team-document small,
.public-page.quality-v47 .team-lightbox__header small {
  font-size: 0.6875rem;
}

.public-page.quality-v47 .related-news strong,
.public-page.quality-v47 .news-share-actions button,
.public-page.quality-v47 .news-share-actions a,
.public-page.quality-v47 .pp-nav a,
.public-page.quality-v47 .team-actions a,
.public-page.quality-v47 .team-actions button {
  font-size: 0.75rem;
}

.public-page.quality-v47 :where(.pp-chips button, .news-share-actions button, .news-share-actions a,
  .team-actions a, .team-actions button, .team-lightbox__close, .team-lightbox__nav,
  .team-lightbox__actions button, .team-lightbox__actions a, .pp-action) {
  min-height: 44px;
}

/* Final readability corrections for v4.6 selectors that intentionally used micro-type. */
.quality-v47.visual-identity-v46 .member-badges > span,
.quality-v47.visual-identity-v46 .hero__logo span,
.quality-v47.visual-identity-v46 .hero__photo-credit,
.quality-v47.visual-identity-v46 .department-card--elliniko::after,
.quality-v47.visual-identity-v46 .department-card__content small,
.quality-v47.visual-identity-v46 .person-card .person-department,
.quality-v47.visual-identity-v46 .person-card__kind,
.quality-v47.visual-identity-v46 .stats-grid small {
  font-size: 0.625rem !important;
}

.quality-v47.visual-identity-v46 .department-card__type,
.quality-v47.visual-identity-v46 .person-card .person-card__role,
.quality-v47.visual-identity-v46 .hero__eyebrow {
  font-size: 0.6875rem !important;
}

/* Public page micro-copy, chips and modal controls. */
.public-page.quality-v47 .pp-count,
.public-page.quality-v47 .pp-chips button,
.public-page.quality-v47 .pp-footer__brand small,
.public-page.quality-v47 .team-directory-card__tags span,
.public-page.quality-v47 .team-overview__stats small,
.public-page.quality-v47 .team-gallery-card__open::after,
.public-page.quality-v47 .team-document__icon,
.public-page.quality-v47 .team-document small,
.public-page.quality-v47 .team-document__open,
.public-page.quality-v47 .related-team small,
.public-page.quality-v47 .team-lightbox__header small,
.public-page.quality-v47 .team-lightbox__counter,
.public-page.quality-v47 .team-lightbox__actions a,
.public-page.quality-v47 .team-lightbox__actions button,
.public-page.quality-v47 .news-date,
.public-page.quality-v47 .news-article__meta,
.public-page.quality-v47 .news-share-actions button,
.public-page.quality-v47 .news-share-actions a,
.public-page.quality-v47 .related-news strong,
.public-page.quality-v47 .related-news small,
.public-page.quality-v47 .pp-brand small,
.public-page.quality-v47 .pp-nav a.primary {
  font-size: 0.6875rem !important;
}

.public-page.quality-v47 .news-share-panel p,
.public-page.quality-v47 .team-lightbox__caption p {
  font-size: 0.75rem;
}

@media (max-width: 760px) {
  .quality-v47.visual-identity-v46 .hero__photo-credit {
    font-size: 0.5625rem !important;
  }

  .quality-v47.visual-identity-v46 .department-card__content strong,
  .quality-v47.visual-identity-v46 .person-card h2,
  .quality-v47.visual-identity-v46 .person-card h3 {
    font-size: 0.75rem;
  }

  .quality-v47.visual-identity-v46 .department-card__type,
  .quality-v47.visual-identity-v46 .department-card__content small,
  .quality-v47.visual-identity-v46 .person-card .person-card__role,
  .quality-v47.visual-identity-v46 .person-card .person-department,
  .quality-v47.visual-identity-v46 .person-card__kind,
  .quality-v47.visual-identity-v46 .stats-grid small,
  .quality-v47.visual-identity-v46 .hero__eyebrow {
    font-size: 0.625rem !important;
  }

  .public-page.quality-v47 .pp-brand__short,
  .public-page.quality-v47 .pp-nav a.primary {
    font-size: 0.6875rem !important;
  }
}

/* The location is already included in the subtitle, for example “U8 Ελληνικού”. */
.quality-v47.visual-identity-v46 .department-card--elliniko::after {
  content: none !important;
  display: none !important;
}

/* ASHE v5.0.4 — uniform team-card visual finishing.
   Desktop/tablet only: the mobile card layout remains unchanged. */
@media (min-width: 701px) {
  .quality-v47.visual-identity-v46 .department-grid {
    align-items: stretch;
    grid-auto-rows: 1fr;
    row-gap: 12px;
  }

  .quality-v47.visual-identity-v46 .department-grid .department-card {
    --team-accent: #60728a;
    --team-wash: rgba(96, 114, 138, 0.065);
    --team-label-bg: rgba(96, 114, 138, 0.09);
    --team-label-text: #4f6279;
    height: 154px;
    min-height: 154px;
    padding: 14px 14px 13px;
    border-top-width: 4px;
    border-top-color: var(--team-accent) !important;
    background: linear-gradient(155deg, rgba(255,255,255,.995) 0 58%, var(--team-wash) 100%);
    box-sizing: border-box;
  }

  .quality-v47.visual-identity-v46 .department-card--competitive {
    --team-accent: #ad202b;
    --team-wash: rgba(173, 32, 43, 0.06);
    --team-label-bg: #fff0f1;
    --team-label-text: #a31d27;
  }

  .quality-v47.visual-identity-v46 .department-card--academy {
    --team-accent: #1268ca;
    --team-wash: rgba(18, 104, 202, 0.065);
    --team-label-bg: #eaf3ff;
    --team-label-text: #0d61bf;
  }

  .quality-v47.visual-identity-v46 .department-card--girls {
    --team-accent: #9a3569;
    --team-wash: rgba(154, 53, 105, 0.065);
    --team-label-bg: #fdeef6;
    --team-label-text: #92315f;
  }

  .quality-v47.visual-identity-v46 .department-card__top {
    min-height: 42px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e2e9f0;
    align-items: center;
  }

  .quality-v47.visual-identity-v46 .department-card__age {
    width: 54px;
    min-width: 54px;
    height: 30px;
    padding: 0 6px;
    background: var(--team-accent) !important;
    box-shadow: 0 5px 12px rgba(4, 24, 50, 0.11);
  }

  .quality-v47.visual-identity-v46 .department-card__type {
    display: inline-flex;
    width: auto;
    min-width: 88px;
    max-width: calc(100% - 66px);
    min-height: 27px;
    margin-left: 8px;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--team-label-bg);
    align-items: center;
    justify-content: center;
    flex: 0 1 auto;
    overflow: visible;
    color: var(--team-label-text) !important;
    font-size: 10px !important;
    line-height: 1;
    letter-spacing: .035em;
    text-align: center;
    text-overflow: clip;
    white-space: nowrap;
    box-sizing: border-box;
  }

  .quality-v47.visual-identity-v46 .department-card__content {
    min-height: 72px;
    margin-top: auto;
    padding: 12px 2px 0 0;
    justify-content: flex-end;
  }

  .quality-v47.visual-identity-v46 .department-card__content strong {
    display: grid;
    min-height: 2.5em;
    max-height: 2.5em;
    align-content: end;
    overflow: hidden;
    font-size: 12px;
    line-height: 1.25;
    letter-spacing: .005em;
  }

  .quality-v47.visual-identity-v46 .department-card__content small {
    display: -webkit-box;
    min-height: 2.7em;
    max-height: 2.7em;
    margin-top: 3px;
    overflow: hidden;
    color: #65758a !important;
    font-size: 10px !important;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .quality-v47.visual-identity-v46 .department-card__watermark {
    right: -4px;
    bottom: -15px;
    color: var(--team-accent) !important;
    font-size: 40px !important;
    opacity: .052;
  }

  .quality-v47.visual-identity-v46 .department-card em {
    display: none;
  }
}


/* ASHE v5.0.6 — desktop team-directory correction.
   The team directory now occupies a full-width row below the match/news row.
   Mobile (<=700px) intentionally keeps the existing two-column appearance. */
@media (min-width: 701px) {
  .quality-v47.visual-identity-v46 .dashboard-grid {
    display: grid;
    grid-template-columns: minmax(310px, .76fr) minmax(0, 1.24fr);
    grid-template-areas:
      "match news"
      "teams teams";
    align-items: start;
    column-gap: 28px;
    row-gap: 34px;
  }

  .quality-v47.visual-identity-v46 .next-match {
    grid-area: match;
    min-width: 0;
  }

  .quality-v47.visual-identity-v46 .departments {
    grid-area: teams;
    width: 100%;
    min-width: 0;
  }

  .quality-v47.visual-identity-v46 .latest-news {
    grid-area: news;
    grid-column: auto;
    min-width: 0;
  }

  .quality-v47.visual-identity-v46 .department-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
  }

  /* Keep the competitive, academy and girls identities distinct after the
     wider desktop layout overrides the generic card variables. */
  .quality-v47.visual-identity-v46 .department-grid .department-card--competitive {
    --team-accent: #ad202b;
    --team-wash: rgba(173, 32, 43, 0.06);
    --team-label-bg: #fff0f1;
    --team-label-text: #a31d27;
  }

  .quality-v47.visual-identity-v46 .department-grid .department-card--academy {
    --team-accent: #1268ca;
    --team-wash: rgba(18, 104, 202, 0.065);
    --team-label-bg: #eaf3ff;
    --team-label-text: #0d61bf;
  }

  .quality-v47.visual-identity-v46 .department-grid .department-card--girls {
    --team-accent: #9a3569;
    --team-wash: rgba(154, 53, 105, 0.065);
    --team-label-bg: #fdeef6;
    --team-label-text: #92315f;
  }

  .quality-v47.visual-identity-v46 .department-card__type {
    width: auto;
    min-width: 0;
    max-width: none;
    padding-inline: 8px;
    flex: 1 1 auto;
    overflow: hidden;
    font-size: 9px !important;
    letter-spacing: .02em;
    text-overflow: clip;
    white-space: nowrap;
  }

  .quality-v47.visual-identity-v46 .department-card__content strong {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}

@media (min-width: 900px) {
  .quality-v47.visual-identity-v46 .department-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1120px) {
  .quality-v47.visual-identity-v46 .dashboard-grid {
    grid-template-columns: minmax(335px, .72fr) minmax(0, 1.28fr);
  }

  .quality-v47.visual-identity-v46 .department-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (min-width: 1450px) {
  .quality-v47.visual-identity-v46 .department-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
