/* -----------------------------------------------------------------------
   Adaosuri WordPress.

   styles.css este preluat identic din mockup și NU se modifică. Aici sunt
   doar ecranele care nu existau în mockup (articol, arhive, căutare, 404,
   pagini legale, formular) plus corecțiile de admin bar. Fiecare valoare
   vine din design tokens — nicio culoare nouă, nicio rotunjire.
   -------------------------------------------------------------------- */

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 999;
	width: auto;
	height: auto;
	clip: auto;
	padding: 14px 22px;
	background: var(--navy);
	color: var(--white);
	font-weight: 800;
	letter-spacing: .12em;
	font-size: 13px;
}

:focus-visible {
	outline: 3px solid var(--turq);
	outline-offset: 2px;
}

.admin-bar .site-header { top: 32px; }
@media screen and (max-width: 782px) {
	.admin-bar .site-header { top: 46px; }
}

/* ---------- Antet de pagină interioară ---------- */

.page-hero {
	background: var(--navy-deep);
	color: var(--white);
	padding: 84px 0 64px;
}

.page-hero .section-eyebrow { color: var(--turq); }
.page-hero .section-eyebrow a { color: var(--turq); text-decoration: underline; }

.page-title {
	margin: 14px 0 0;
	font-weight: 900;
	font-style: italic;
	font-size: clamp(34px, 6vw, 68px);
	line-height: .92;
	letter-spacing: -.01em;
	text-transform: uppercase;
	color: var(--white);
}

.page-lead {
	margin: 18px 0 0;
	max-width: 720px;
	font-weight: 600;
	font-size: 17px;
	line-height: 1.6;
	color: var(--hero-copy);
}

.page-section { padding: 72px 0 96px; }

.page-copy {
	max-width: 760px;
	font-weight: 600;
	font-size: 17px;
	line-height: 1.72;
	color: var(--body-muted);
}

.page-copy h2,
.page-copy h3 {
	margin: 40px 0 14px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .02em;
	color: var(--navy);
}

.page-copy h2 { font-size: 26px; }
.page-copy h3 { font-size: 19px; }
.page-copy a { text-decoration: underline; }
.page-copy ul,
.page-copy ol { padding-left: 22px; }
.page-copy li { margin-bottom: 8px; }

.page-copy blockquote {
	margin: 28px 0;
	padding: 18px 24px;
	border-left: 4px solid var(--turq);
	background: var(--bg-light);
	color: var(--navy);
}

.page-copy img { display: block; height: auto; }

.section-empty {
	font-weight: 700;
	letter-spacing: .04em;
	color: var(--muted);
}

/* ---------- Știre ---------- */

.single-hero {
	background: var(--navy-deep);
	color: var(--white);
	padding: 76px 0 56px;
}

.single-hero .news-card-meta { margin-bottom: 20px; }
.single-hero .news-date { color: var(--hero-copy); }

.single-title {
	margin: 0;
	font-weight: 900;
	font-style: italic;
	font-size: clamp(30px, 5.2vw, 58px);
	line-height: .94;
	text-transform: uppercase;
	color: var(--white);
}

.single-lead {
	margin: 20px 0 0;
	max-width: 720px;
	font-weight: 600;
	font-size: 18px;
	line-height: 1.6;
	color: var(--hero-copy);
}

.single-image {
	max-width: 1360px;
	margin: 0 auto;
	padding: 0 24px;
	transform: translateY(-32px);
}

.single-image img {
	display: block;
	width: 100%;
	max-height: 620px;
	object-fit: cover;
	box-shadow: 12px 12px 0 var(--turq);
}

.single-news + .news-section { border-top: 1px solid var(--border-light); }

/* ---------- Filtre de categorie ---------- */

.filter-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 26px;
}

.filter-chip {
	--chip: var(--turq);
	display: inline-block;
	transform: skewX(-12deg);
	padding: 9px 18px;
	background: transparent;
	border: 2px solid var(--chip);
	transition: background .2s;
}

.filter-chip span {
	display: inline-block;
	transform: skewX(12deg);
	font-weight: 800;
	font-size: 12px;
	letter-spacing: .12em;
	color: var(--white);
}

.filter-chip:hover,
.filter-chip.is-active { background: var(--chip); }

/* ---------- Liste de rezultate ---------- */

.result-list { border-top: 1px solid var(--border-light); }

.result-row {
	display: grid;
	grid-template-columns: 130px 1fr auto;
	align-items: baseline;
	gap: 18px;
	padding: 20px 0;
	border-bottom: 1px solid var(--border-light);
}

.result-type {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--muted);
}

.result-title {
	font-weight: 800;
	font-size: 17px;
	color: var(--navy);
}

.result-title:hover { color: var(--turq); }

.result-date {
	font-family: 'JetBrains Mono', monospace;
	font-size: 12px;
	color: var(--muted);
}

.search-count {
	margin: 0 0 26px;
	font-weight: 700;
	letter-spacing: .04em;
	color: var(--body-muted);
}

@media (max-width: 700px) {
	.result-row { grid-template-columns: 1fr; gap: 6px; }
}

/* ---------- Formulare ---------- */

.search-form {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 26px;
}

.search-form input[type="search"] {
	flex: 1 1 260px;
	padding: 14px 16px;
	border: 2px solid var(--border-dashed);
	background: var(--white);
	font-family: inherit;
	font-weight: 600;
	font-size: 15px;
	color: var(--navy);
}

/* În .form-row (flex pe verticală) flex-basis ar deveni înălțime — de aceea
   câmpurile își iau lățimea din width, nu din flex. */
.enroll-form input:not([type="checkbox"]):not([type="radio"]),
.enroll-form select,
.enroll-form textarea {
	flex: 0 0 auto;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 14px 16px;
	border: 2px solid var(--border-dashed);
	background: var(--white);
	font-family: inherit;
	font-weight: 600;
	font-size: 15px;
	color: var(--navy);
}

.search-form input[type="search"]:focus,
.enroll-form input:focus,
.enroll-form select:focus {
	border-color: var(--turq);
	outline: none;
}

.enroll-form { max-width: 620px; }

.form-row {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 22px;
}

.form-row label {
	font-weight: 800;
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--navy);
}

.form-consent label {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.55;
	color: var(--body-muted);
}

.form-consent input { flex: none; margin-top: 3px; }

.form-note {
	margin: 0 0 26px;
	padding: 16px 18px;
	background: var(--bg-light);
	border-left: 4px solid var(--turq);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.6;
	color: var(--body-muted);
}

.form-message {
	margin: 0 0 28px;
	padding: 16px 20px;
	font-weight: 700;
	color: var(--white);
	background: var(--navy);
	box-shadow: 6px 6px 0 var(--turq);
}

.form-message.is-error { box-shadow: 6px 6px 0 var(--red); }

.form-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* ---------- Documente ---------- */

.doc-regime {
	display: inline-block;
	margin-left: 14px;
	padding: 4px 12px;
	background: var(--turq);
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--navy-deep);
}

.doc-files { list-style: none; margin: 0 0 32px; padding: 0; }

.doc-file {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 18px;
	padding: 18px 20px;
	margin-bottom: 10px;
	border: 2px solid var(--border-light);
	font-weight: 700;
	color: var(--navy);
	transition: border-color .2s, background .2s;
}

.doc-file:hover { border-color: var(--turq); background: var(--bg-light); }

.doc-file em {
	font-family: 'JetBrains Mono', monospace;
	font-style: normal;
	font-size: 11px;
	letter-spacing: .1em;
	color: var(--muted);
}

.doc-notice,
.doc-empty,
.doc-legal {
	max-width: 720px;
	font-weight: 600;
	font-size: 15px;
	line-height: 1.65;
	color: var(--body-muted);
}

.doc-notice {
	padding: 18px 20px;
	background: var(--bg-light);
	border-left: 4px solid var(--yellow);
}

.doc-date {
	margin-left: 10px;
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	color: var(--muted);
}

/* ---------- Blocuri de detaliu (secție) ---------- */

.detail-block { margin-top: 56px; }
.detail-block .section-title { font-size: 24px; margin-bottom: 20px; }
.detail-cta { margin-top: 44px; display: flex; flex-wrap: wrap; gap: 14px; }

.people-grid,
.gallery-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 20px;
}

.person-card { border: 2px solid var(--border-light); padding: 18px; }
.person-card img { display: block; width: 100%; height: 220px; object-fit: cover; margin-bottom: 14px; }
.person-name { margin: 0 0 6px; font-weight: 800; font-size: 16px; color: var(--navy); }
.person-role { margin: 0; font-size: 13px; font-weight: 600; color: var(--muted); }
.gallery-grid img { display: block; width: 100%; height: 200px; object-fit: cover; }

/* ---------- Paginare ---------- */

.pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 56px;
}

.pagination .page-numbers {
	display: inline-block;
	min-width: 44px;
	padding: 12px 14px;
	text-align: center;
	border: 2px solid var(--border-light);
	font-weight: 800;
	font-size: 13px;
	color: var(--navy);
}

.pagination .page-numbers:hover,
.pagination .page-numbers.current {
	border-color: var(--turq);
	background: var(--turq);
	color: var(--white);
}

/* ---------- Footer widgets ---------- */

.footer-widgets {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 28px;
	padding: 28px 0;
}

.footer-widget-title {
	margin: 0 0 12px;
	font-weight: 800;
	font-size: 12px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--turq);
}

.footer-widget { font-size: 14px; color: var(--hero-copy); }
.footer-widget a { color: var(--white); }

/* ---------- Fir de navigare ---------- */

.breadcrumbs { margin-bottom: 22px; }
.breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.breadcrumbs li + li::before { content: "/"; margin-right: 8px; color: var(--muted); }
.breadcrumbs a { color: var(--hero-copy); }
.breadcrumbs a:hover { color: var(--turq); }
.breadcrumbs [aria-current] { color: var(--turq); }

/* ---------- Pagini legale ---------- */

.legal-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	margin: 20px 0 0;
	font-family: 'JetBrains Mono', monospace;
	font-size: 12px;
	letter-spacing: .04em;
	color: var(--hero-copy);
}
.legal-basis { color: var(--muted); }

.legal-layout {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 56px;
	align-items: start;
}

.legal-toc {
	position: sticky;
	top: 120px;
	padding: 24px;
	background: var(--bg-light);
	border-left: 4px solid var(--turq);
}
.legal-toc-title {
	margin: 0 0 14px;
	font-weight: 800;
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--violet);
}
.legal-toc ol {
	margin: 0;
	padding: 0 0 0 18px;
	font-size: 13px;
	line-height: 1.5;
}
.legal-toc li { margin-bottom: 9px; }
.legal-toc a { color: var(--body-muted); font-weight: 600; }
.legal-toc a:hover { color: var(--turq); }

.legal-copy { max-width: 780px; }
.legal-copy h2 {
	margin-top: 52px;
	padding-top: 20px;
	border-top: 2px solid var(--divider);
	scroll-margin-top: 120px;
}
.legal-copy h2:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.legal-copy h3 { margin-top: 32px; font-size: 17px; color: var(--violet); }

.legal-copy .wp-block-table { margin: 26px 0; overflow-x: auto; }
.legal-copy table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	line-height: 1.55;
}
.legal-copy th,
.legal-copy td {
	padding: 12px 14px;
	text-align: left;
	vertical-align: top;
	border: 1px solid var(--border-light);
}
.legal-copy th {
	background: var(--navy);
	color: var(--white);
	font-weight: 800;
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.legal-copy tbody tr:nth-child(even) { background: var(--bg-light); }
.legal-copy code {
	padding: 2px 6px;
	background: var(--bg-light);
	font-family: 'JetBrains Mono', monospace;
	font-size: 12px;
	color: var(--violet);
}

.legal-copy strong:first-child:not(:only-child) { color: var(--navy); }

.legal-action { margin-top: 36px; }
.legal-contact {
	margin-top: 44px;
	padding: 18px 20px;
	background: var(--bg-light);
	border-left: 4px solid var(--violet);
	font-weight: 700;
	font-size: 14px;
}

@media (max-width: 900px) {
	.legal-layout { grid-template-columns: 1fr; gap: 32px; }
	.legal-toc { position: static; }
}

/* ---------- Bara de consimțământ ---------- */

.consent-bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 90;
	background: var(--navy-deep);
	border-top: 4px solid var(--turq);
	box-shadow: 0 -8px 0 rgba(24, 15, 62, .18);
}
.consent-bar.is-hidden { display: none; }

.consent-inner {
	max-width: 1360px;
	margin: 0 auto;
	padding: 24px;
	display: flex;
	align-items: center;
	gap: 32px;
}

.consent-copy { flex: 1 1 auto; }
.consent-title {
	margin: 0 0 8px;
	font-weight: 800;
	font-size: 12px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--turq);
}
.consent-copy p {
	margin: 0;
	max-width: 760px;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.6;
	color: var(--hero-copy);
}
.consent-copy a { color: var(--turq); text-decoration: underline; }

.consent-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	flex: none;
}

/* „Respinge tot" are exact aceeași greutate vizuală ca „Acceptă tot" —
   cerință de conformitate, nu opțiune de design. */
.consent-actions .btn-primary,
.consent-actions .btn-outline {
	border: none;
	cursor: pointer;
	font-family: inherit;
}
.consent-reject { background: var(--violet) !important; }
.consent-reject:hover { background: var(--royal) !important; }

.consent-panel {
	position: fixed;
	inset: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(24, 15, 62, .72);
	overflow-y: auto;
}
.consent-panel.is-hidden { display: none; }
body.consent-open-body { overflow: hidden; }

.consent-panel-inner {
	width: 100%;
	max-width: 640px;
	padding: 36px;
	background: var(--white);
	box-shadow: 12px 12px 0 var(--turq);
}
.consent-panel .consent-title { color: var(--violet); font-size: 14px; margin-bottom: 22px; }

.consent-category {
	padding: 18px 0;
	border-bottom: 1px solid var(--divider);
}
.consent-category:last-of-type { border-bottom: none; }
.consent-category label {
	display: flex;
	align-items: center;
	gap: 12px;
	cursor: pointer;
}
.consent-category input { width: 20px; height: 20px; flex: none; accent-color: var(--turq); }
.consent-category input:disabled { cursor: not-allowed; }
.consent-category-label {
	font-weight: 800;
	font-size: 13px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--navy);
}
.consent-always {
	font-family: 'JetBrains Mono', monospace;
	font-size: 10px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--muted);
}
.consent-category-desc {
	margin: 8px 0 0 32px;
	font-size: 13px;
	line-height: 1.55;
	color: var(--body-muted);
}
.consent-panel .consent-actions { margin-top: 28px; }
.consent-note {
	margin: 22px 0 0;
	font-size: 12px;
	line-height: 1.55;
	color: var(--muted);
}

.consent-placeholder {
	padding: 28px;
	background: var(--bg-light);
	border: 2px dashed var(--border-dashed);
	text-align: center;
}
.consent-placeholder p {
	margin: 0 0 18px;
	font-weight: 600;
	font-size: 14px;
	color: var(--body-muted);
}
.consent-placeholder .btn-outline { border: none; cursor: pointer; font-family: inherit; }

.footer-consent-link {
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
	font-family: inherit;
	font-weight: inherit;
	font-size: inherit;
	letter-spacing: inherit;
	color: var(--hero-copy);
	text-decoration: underline;
}
.footer-consent-link:hover { color: var(--turq); }

@media (max-width: 860px) {
	.consent-inner { flex-direction: column; align-items: flex-start; gap: 20px; padding: 20px; }
	.consent-actions { width: 100%; }
	.consent-actions .btn-primary,
	.consent-actions .btn-outline { flex: 1 1 auto; text-align: center; }
	.consent-panel-inner { padding: 24px; box-shadow: 6px 6px 0 var(--turq); }
}

/* ---------- Coș (WooCommerce) ---------- */

.cart-link {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-left: 12px;
	padding: 12px 16px;
	transform: skewX(-12deg);
	border: 2px solid var(--border-light);
	transition: border-color .2s;
}
.cart-link:hover { border-color: var(--turq); }
.cart-link span,
.cart-link em {
	display: inline-block;
	transform: skewX(12deg);
	font-style: normal;
	font-weight: 800;
	font-size: 12px;
	letter-spacing: .1em;
	color: var(--navy);
}
.cart-link em {
	min-width: 22px;
	padding: 2px 6px;
	background: var(--border-light);
	text-align: center;
}
.cart-link.has-items em { background: var(--turq); color: var(--white); }

@media (max-width: 940px) { .cart-link { display: none !important; } }

/* ---------- Ținte de atingere și rafinări mobile ---------- */

@media (max-width: 700px) {
	.page-hero { padding: 56px 0 44px; }
	.page-section { padding: 48px 0 64px; }
	.single-image { transform: translateY(-18px); }
	.single-image img { box-shadow: 6px 6px 0 var(--turq); }
	.detail-cta { flex-direction: column; align-items: stretch; }
	.detail-cta .btn-primary,
	.detail-cta .btn-outline { text-align: center; }
	.search-form { flex-direction: column; }
	.filter-chip { padding: 11px 16px; }
}

@media (max-width: 480px) {
	.legal-copy table { font-size: 13px; }
	.legal-copy th, .legal-copy td { padding: 9px 10px; }
}

/* Zone de atingere de minimum 44px, cerință WCAG 2.1 AA pe mobil. */
@media (pointer: coarse) {
	.nav-links a,
	.mobile-nav a,
	.footer-nav a,
	.footer-legal a,
	.breadcrumbs a,
	.legal-toc a,
	.news-card-cta,
	.section-link { min-height: 44px; display: inline-flex; align-items: center; }
}

/* ---------- Tipărire ---------- */

@media print {
	.site-header,
	.consent-bar,
	.consent-panel,
	.legal-toc,
	.stripe-divider,
	.site-footer,
	.breadcrumbs,
	.skip-link { display: none !important; }
	.page-hero { background: none; color: #000; padding: 0 0 18px; }
	.page-title, .legal-meta span { color: #000; }
	.legal-layout { display: block; }
	.page-copy, .legal-copy { max-width: none; color: #000; }
	a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 10px; word-break: break-all; }
}

/* -----------------------------------------------------------------------
   Ruperea cuvintelor în titlurile mari.

   PROBLEMĂ: mockupul dă `.hero-title { font-size: clamp(52px, 8.2vw, 118px);
   overflow-wrap: break-word }` într-o coloană de maximum 700px. Cu sloganul
   real, „PERFORMANȚĂ." are 948px la 118px — nu încape, iar browserul îl taie
   în „PERFORM / ANȚĂ". Măsurat cu fontul livrat: se rupea la 11 din 16
   rezoluții uzuale, inclusiv pe telefon.

   În română nu există despărțire fără cratimă, iar §7.5 cere sloganul scris
   întotdeauna complet. Aici nu se pune problema despărțirii în silabe: un
   slogan de brand nu se cratimează.

   SOLUȚIE: cuvintele nu se rup niciodată, iar corpul de literă se calculează
   ca să încapă cel mai lung cuvânt. Scara nouă — clamp(38px, 6.2vw, 84px) —
   ține sloganul întreg la toate cele 16 rezoluții testate, de la 360px la
   3440px. Titlul rămâne mare: 84px pe desktop.

   Este singura abatere de la §3.4 (design definitiv). Nu se poate reproduce
   „pixel-fidel" un layout care produce cuvinte inexistente; abaterea
   servește intenția designului, nu o contrazice. De confirmat cu clubul.
   -------------------------------------------------------------------- */

.hero-title,
.page-title,
.single-title,
.section-title,
.kit-title,
.transparency-title,
.club-title {
	overflow-wrap: normal;
	word-break: normal;
	-webkit-hyphens: manual;
	hyphens: manual;
}

.hero-title {
	/* Scară verificată numeric față de lățimea reală a coloanei. */
	font-size: clamp(38px, 6.2vw, 84px);
}

/* Unde există unități de container, mărimea se leagă de coloana reală, nu de
   fereastră — rămâne corectă și dacă se schimbă structura din jur. */
@supports (font-size: 1cqi) {
	.hero-content { container-type: inline-size; }
	.hero-title { font-size: min(clamp(38px, 6.2vw, 84px), 12cqi); }
}

/* Titlurile de card rămân cu rupere: sunt text mic, iar un cuvânt foarte
   lung ar sparge grila. Acolo overflow-ul e mai grav decât ruperea. */
.news-card-title,
.section-card-title,
.result-title {
	overflow-wrap: break-word;
}

/* -----------------------------------------------------------------------
   v1.4.0 — handoff 06.09.2026: sigle foruri, parteneri de secție, vitrina
   magazinului, galeriile din știri, rezultatele FRF. Tot din tokenii
   existenți; nicio culoare nouă.
   -------------------------------------------------------------------- */

/* ---------- Banda de sigle (fundal alb, deasupra footerului) ---------- */

.partners-band {
	background: var(--white);
	border-top: 1px solid var(--border-light);
	padding: 44px 0 40px;
}

.partners-band-label {
	display: block;
	margin-bottom: 26px;
	text-align: center;
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: .3em;
	color: var(--muted);
}

.partners-band-logos {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 28px 52px;
}

.partner-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 64px;
	max-width: 200px;
	opacity: .92;
	transition: opacity .2s, transform .2s;
}

.partner-logo:hover { opacity: 1; transform: translateY(-3px); }

.partner-logo img {
	display: block;
	max-height: 64px;
	width: auto;
	max-width: 200px;
	object-fit: contain;
}

.partner-name {
	font-weight: 800;
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--navy);
}

@media (max-width: 700px) {
	.partners-band { padding: 32px 0 28px; }
	.partners-band-logos { gap: 22px 34px; }
	.partner-logo, .partner-logo img { max-height: 48px; height: 48px; max-width: 140px; }
}

@media (pointer: coarse) {
	.partner-logo { min-height: 44px; }
}

/* ---------- Partener de secție (ex. BC Dan Dacian la Baschet) ---------- */

.section-partners {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 20px;
}

.section-partner {
	display: flex;
	align-items: center;
	gap: 26px;
	padding: 26px 28px;
	background: var(--navy);
	color: var(--white);
	box-shadow: 8px 8px 0 var(--turq);
}

.section-partner .partner-logo { height: 110px; max-width: 120px; flex: none; opacity: 1; }
.section-partner .partner-logo img { max-height: 110px; max-width: 120px; }
.section-partner-body { min-width: 0; }
.section-partner-name {
	margin: 8px 0 0;
	font-style: italic;
	font-weight: 800;
	text-transform: uppercase;
	font-size: 22px;
	line-height: 1.05;
	color: var(--white);
}
.section-partner-link {
	display: inline-block;
	margin-top: 14px;
	font-weight: 800;
	font-size: 12px;
	letter-spacing: .14em;
	color: var(--turq);
}
.section-partner-link:hover { color: var(--white); }

@media (max-width: 480px) {
	.section-partner { flex-direction: column; align-items: flex-start; box-shadow: 6px 6px 0 var(--turq); }
}

/* ---------- Vitrina magazinului: buton static („ÎN CURÂND") ---------- */

.btn-primary.is-static { cursor: default; background: var(--hero-copy); box-shadow: 6px 6px 0 var(--royal); }
.btn-primary.is-static:hover { background: var(--hero-copy); box-shadow: 6px 6px 0 var(--royal); }

/* ---------- Galerii și legende în știri ---------- */

.page-copy .wp-block-gallery { margin: 32px 0; gap: 14px; }
.page-copy .wp-block-gallery .wp-block-image img { box-shadow: 6px 6px 0 var(--turq); }
.page-copy .wp-block-gallery.columns-5 .wp-block-image,
.page-copy .wp-block-gallery.columns-7 .wp-block-image { width: calc(20% - 12px); }
.page-copy .legenda-simulare {
	margin: -14px 0 32px;
	font-family: 'JetBrains Mono', monospace;
	font-size: 12px;
	letter-spacing: .04em;
	color: var(--muted);
}
.page-copy .wp-block-buttons { margin: 32px 0; }
.page-copy .wp-block-button__link {
	display: inline-block;
	transform: skewX(-12deg);
	background: var(--turq);
	padding: 17px 34px;
	box-shadow: 6px 6px 0 var(--royal);
	color: var(--navy-deep);
	font-weight: 800;
	font-size: 14px;
	letter-spacing: .12em;
	text-decoration: none;
	border-radius: 0;
}
.page-copy .wp-block-button__link:hover { background: var(--navy); color: var(--white); box-shadow: 6px 6px 0 var(--turq); }

@media (max-width: 700px) {
	.page-copy .wp-block-gallery.columns-5 .wp-block-image,
	.page-copy .wp-block-gallery.columns-7 .wp-block-image { width: calc(50% - 7px); }
}

/* ---------- Rezultate și clasament (FRF Datalake) ---------- */

.frf-block { margin-top: 56px; }
.frf-block .section-title { font-size: 24px; margin-bottom: 20px; }
.frf-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 26px;
	margin-top: 28px;
}

.frf-next {
	padding: 28px 30px;
	background: var(--navy-deep);
	color: var(--white);
	box-shadow: 8px 8px 0 var(--turq);
}
.frf-next .section-eyebrow { color: var(--turq); }
.frf-next-teams {
	margin: 14px 0 0;
	font-style: italic;
	font-weight: 800;
	text-transform: uppercase;
	font-size: clamp(20px, 2.4vw, 28px);
	line-height: 1.05;
	color: var(--white);
}
.frf-next-teams .is-club { color: var(--turq); }
.frf-next-meta {
	margin: 16px 0 0;
	font-family: 'JetBrains Mono', monospace;
	font-size: 12px;
	letter-spacing: .12em;
	line-height: 1.8;
	color: var(--hero-copy);
}
.frf-next-meta strong { color: var(--white); font-weight: 700; }

.frf-matches { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--border-light); }
.frf-match {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid var(--border-light);
	font-weight: 700;
	font-size: 14px;
	color: var(--navy);
}
.frf-match .frf-home { text-align: right; }
.frf-match .frf-away { text-align: left; }
.frf-match .is-club { color: var(--violet); }
.frf-match.is-club-match { background: var(--bg-light); padding-left: 10px; padding-right: 10px; }
.frf-score {
	display: inline-block;
	min-width: 64px;
	padding: 7px 12px;
	text-align: center;
	transform: skewX(-12deg);
	background: var(--navy);
	color: var(--white);
	font-family: 'JetBrains Mono', monospace;
	font-size: 14px;
	letter-spacing: .08em;
}
.frf-score span { display: inline-block; transform: skewX(12deg); }
.frf-score.is-pending { background: var(--border-light); color: var(--body-muted); }
.frf-score.is-manual { box-shadow: 3px 3px 0 var(--turq); }
.frf-match-date {
	grid-column: 1 / -1;
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: .1em;
	color: var(--muted);
}

.frf-table-wrap { overflow-x: auto; }
.frf-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	line-height: 1.4;
}
.frf-table th,
.frf-table td { padding: 11px 10px; border-bottom: 1px solid var(--border-light); text-align: center; white-space: nowrap; }
.frf-table th {
	background: var(--navy);
	color: var(--white);
	font-weight: 800;
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.frf-table td.frf-team,
.frf-table th.frf-team { text-align: left; font-weight: 800; color: var(--navy); white-space: normal; }
.frf-table td.frf-pts { font-family: 'JetBrains Mono', monospace; font-weight: 700; }
.frf-table tr.is-club td { background: var(--turq); color: var(--navy-deep); }
.frf-table tr.is-club td.frf-team { color: var(--navy-deep); }
.frf-table tr.is-club td:first-child { box-shadow: inset 6px 0 0 var(--navy); }

.frf-rounds { margin-top: 28px; }
.frf-round { border: 2px solid var(--border-light); margin-bottom: 10px; }
.frf-round summary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	padding: 14px 18px;
	cursor: pointer;
	list-style: none;
	font-weight: 800;
	font-size: 13px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--navy);
}
.frf-round summary::-webkit-details-marker { display: none; }
.frf-round summary::before { content: "+"; font-family: 'JetBrains Mono', monospace; color: var(--turq); }
.frf-round[open] summary::before { content: "−"; }
.frf-round summary .frf-round-club { margin-left: auto; font-weight: 600; letter-spacing: .04em; text-transform: none; color: var(--body-muted); }
.frf-round .frf-matches { padding: 0 18px 8px; border-top: 1px solid var(--border-light); }

.frf-updated {
	margin: 22px 0 0;
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: .08em;
	color: var(--muted);
}
.frf-empty {
	padding: 18px 20px;
	background: var(--bg-light);
	border-left: 4px solid var(--yellow);
	font-weight: 600;
	font-size: 15px;
	line-height: 1.6;
	color: var(--body-muted);
}

@media (max-width: 700px) {
	.frf-match { grid-template-columns: 1fr; text-align: center; gap: 6px; }
	.frf-match .frf-home, .frf-match .frf-away { text-align: center; }
	.frf-next { box-shadow: 6px 6px 0 var(--turq); }
}

@media print {
	.partners-band { display: none !important; }
}

.frf-table-meta {
	margin: 12px 0 0;
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: .06em;
	line-height: 1.8;
	color: var(--muted);
}
.frf-table sup { font-size: 10px; margin-left: 3px; color: var(--violet); }
.frf-table tr.is-club sup { color: var(--navy-deep); }

/* -------------------------------------------------------------------------
   Hero: titlurile știrilor peste fotografie (v1.6.0)
   Panoul respectă limbajul X-Sharp: skew -12°, umbră dură, colțuri drepte.
   ---------------------------------------------------------------------- */

.hero-headline {
	position: absolute;
	right: 30px;
	bottom: 96px;
	z-index: 6;
	width: min(460px, 40vw);
	display: grid;
	grid-template-rows: auto 1fr;
	gap: 14px;
}

.hero-headline-kicker {
	grid-row: 1;
	justify-self: end;
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: .28em;
	color: var(--turq);
	text-shadow: 0 2px 10px rgba(24, 15, 62, .7);
}

.hero-headline-item {
	grid-row: 2;
	grid-column: 1;
	align-self: start;
	background: rgba(24, 15, 62, .84);
	padding: 18px 22px;
	transform: skewX(-12deg);
	box-shadow: 8px 8px 0 rgba(0, 180, 201, .5);
	opacity: 0;
	visibility: hidden;
	transition: opacity .5s, box-shadow .2s;
}

.hero-headline-item.is-active {
	opacity: 1;
	visibility: visible;
}

.hero-headline-item:hover { box-shadow: 8px 8px 0 var(--turq); }

.hero-headline-item > * { display: block; transform: skewX(12deg); }

.hero-headline-meta {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 8px;
}

.hero-headline-cat {
	font-weight: 800;
	font-size: 11px;
	letter-spacing: .16em;
	color: var(--turq);
	text-transform: uppercase;
}

.hero-headline-date {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: .1em;
	color: rgba(255, 255, 255, .62);
}

.hero-headline-title {
	font-style: italic;
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1.12;
	font-size: clamp(17px, 1.6vw, 24px);
	color: var(--white);
	overflow-wrap: break-word;
	text-wrap: balance;
}


@media (max-width: 940px) {
	/* Fotografia devine fundal la 32% opacitate, deci panoul rămâne lizibil
	   doar pentru că e opac. Îl trecem pe toată lățimea, sub conținut. */
	.hero-headline {
		left: 24px;
		right: 24px;
		bottom: 74px;
		width: auto;
	}
	.hero-headline-item { padding: 14px 16px; box-shadow: 6px 6px 0 rgba(0, 180, 201, .5); }
	.hero-headline-title { font-size: 17px; }
	.hero-photo-nav { right: 24px; bottom: 26px; }
}

@media (max-width: 480px) {
	.hero-headline-kicker { display: none; }
}

/* Cu mișcare redusă, caruselul nu mai pornește singur (vezi main.js);
   aici scoatem doar tranziția de opacitate. */
@media (prefers-reduced-motion: reduce) {
	.hero-headline-item { transition: none; }
}

/* -------------------------------------------------------------------------
   Pagina de contact (v1.8.0)
   ---------------------------------------------------------------------- */

.contact-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 44px;
	margin-top: 44px;
}

.contact-card { min-width: 0; }

.contact-list {
	margin: 28px 0 0;
	display: grid;
	grid-template-columns: minmax(120px, auto) 1fr;
	gap: 10px 20px;
	align-items: baseline;
}

.contact-list dt {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--muted);
}

.contact-list dd {
	margin: 0;
	font-weight: 600;
	color: var(--navy);
	overflow-wrap: anywhere;
}

.contact-list dd a { color: var(--violet); border-bottom: 2px solid var(--turq); }
.contact-list dd a:hover { color: var(--turq); }

.contact-legal {
	margin: 30px 0 0;
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: .06em;
	line-height: 1.9;
	color: var(--muted);
}

/* Facadă de hartă: până la clic nu pleacă nicio cerere către OpenStreetMap. */
.map-facade {
	position: relative;
	margin-top: 28px;
	aspect-ratio: 4 / 3;
	background: var(--navy-deep);
	overflow: hidden;
	box-shadow: 10px 10px 0 var(--turq);
}

.map-facade-inner {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	gap: 14px;
	padding: 28px;
}

.map-facade-address {
	margin: 0;
	font-style: italic;
	font-weight: 800;
	text-transform: uppercase;
	font-size: clamp(18px, 2vw, 24px);
	line-height: 1.15;
	color: var(--white);
}

.map-facade-note {
	margin: 0;
	max-width: 44ch;
	font-size: 13px;
	line-height: 1.6;
	color: rgba(255, 255, 255, .72);
}

.map-facade-btn { align-self: flex-start; }

.map-facade iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.contact-map-links {
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
	margin: 22px 0 0;
	font-weight: 800;
	font-size: 13px;
	letter-spacing: .1em;
}

.contact-map-links a { color: var(--violet); border-bottom: 3px solid var(--turq); padding-bottom: 3px; }
.contact-map-links a:hover { color: var(--turq); }

/* Formularul de pe prima pagină stă pe fundal închis. */
.enroll-inline { margin-top: 36px; }
.enroll-inline .enroll-form { max-width: 720px; }

.enroll-form textarea {
	width: 100%;
	font: inherit;
	padding: 14px 16px;
	border: 2px solid var(--border-light);
	background: var(--white);
	color: var(--navy);
	resize: vertical;
	min-height: 140px;
}

.enroll-form textarea:focus {
	outline: none;
	border-color: var(--turq);
	box-shadow: 4px 4px 0 var(--turq);
}

@media (max-width: 700px) {
	.contact-grid { gap: 36px; }
	.contact-list { grid-template-columns: 1fr; gap: 4px; }
	.contact-list dd { margin-bottom: 14px; }
	.map-facade { aspect-ratio: 1 / 1; box-shadow: 6px 6px 0 var(--turq); }
	.map-facade-inner { padding: 20px; }
}

/* Cele trei culori sunt din X-ul emblemei: royal, violet, turcoaz. */

/* Vitrina de magazin, pe pagina proprie. */
.shop-placeholder {
	margin: 0 0 44px;
	background: var(--navy-deep);
	box-shadow: 12px 12px 0 var(--turq);
}
.shop-placeholder img { display: block; width: 100%; height: auto; }

@media (max-width: 700px) {
	.social-section { padding: 64px 0 72px; }
	.social-columns { gap: 32px; margin-top: 34px; }
	.shop-placeholder { box-shadow: 6px 6px 0 var(--turq); margin-bottom: 32px; }
}

@media (prefers-reduced-motion: reduce) {
	.social-tile img { transition: none; }
	.social-tile:hover img { transform: none; }
}

/* -------------------------------------------------------------------------
   Reparații 08.09.2026 (v1.9.2)
   ---------------------------------------------------------------------- */

/* Bifele nu sunt câmpuri de text: fără lățime de rând, fără chenar, fără
   padding. Rămân bife. */
.enroll-form input[type="checkbox"],
.enroll-form input[type="radio"] {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 2px 0 0;
	padding: 0;
	border: 0;
	background: none;
	accent-color: var(--turq);
}

/* Toate linkurile din navigație au aceeași culoare — inclusiv pagina
   curentă. Evidențierea turcoaz făcea „MAGAZIN" să pară altă categorie. */
.nav-links a.is-current,
.mobile-nav a.is-current { color: var(--navy); }
.nav-links a.is-current:hover,
.mobile-nav a.is-current:hover { color: var(--turq); }

/* Secțiile: trei pe rând. Cu auto-fit intrau patru pe ecran lat, deci
   se rupeau 4 + 2 în loc de 3 active + 3 în curând. */
.sections-grid { grid-template-columns: repeat(3, 1fr); }

@media (max-width: 1100px) {
	.sections-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
	.sections-grid { grid-template-columns: 1fr; }
}

/* Eticheta de consimțământ: checkbox + un singur bloc de text. */
.form-consent label > span { flex: 1 1 auto; min-width: 0; }

/* Formularul stă și pe fundal închis (secțiunea Înscrieri de pe prima
   pagină). Acolo culorile de text pentru fundal alb sunt ilizibile. */
.enroll-section .form-row > label { color: var(--turq); }
.enroll-section .form-consent label,
.enroll-section .form-consent label > span { color: rgba(255, 255, 255, .84); }
.enroll-section .form-consent a { color: var(--turq); border-bottom: 1px solid rgba(0, 180, 201, .5); }
.enroll-section .form-consent a:hover { color: var(--white); }
.enroll-section .form-note {
	background: rgba(255, 255, 255, .07);
	color: rgba(255, 255, 255, .78);
}
.enroll-section .form-message { box-shadow: 6px 6px 0 var(--turq); background: rgba(255, 255, 255, .1); }

/* Kicker-ul din hero stătea turcoaz peste fotografie — ilizibil pe cadrele
   deschise. Îi punem un fundal propriu. */
.hero-headline-kicker {
	background: rgba(24, 15, 62, .84);
	padding: 6px 12px;
	text-shadow: none;
}

/* -------------------------------------------------------------------------
   Calendar competițional pe sporturi
   ---------------------------------------------------------------------- */

.calendar-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 34px;
}

.calendar-tab {
	transform: skewX(-12deg);
	border: 2px solid var(--border-light);
	background: var(--white);
	padding: 11px 22px;
	cursor: pointer;
	transition: border-color .2s, background .2s, box-shadow .2s;
}

.calendar-tab span {
	display: inline-block;
	transform: skewX(12deg);
	font-weight: 800;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--navy);
}

.calendar-tab:hover { border-color: var(--turq); }

.calendar-tab.is-active {
	background: var(--navy);
	border-color: var(--navy);
	box-shadow: 5px 5px 0 var(--turq);
}
.calendar-tab.is-active span { color: var(--white); }

.calendar-row.is-hidden,
.calendar-empty.is-hidden { display: none; }

.calendar-empty {
	margin: 26px 0 0;
	font-weight: 600;
	color: var(--muted);
}

@media (max-width: 700px) {
	.calendar-tabs { gap: 8px; }
	.calendar-tab { padding: 9px 16px; }
	.calendar-tab span { font-size: 11px; letter-spacing: .1em; }
}

/* Transparență: o singură linie pentru ce urmează să fie publicat, în locul
   unui șir de rânduri „ÎN COMPLETARE". */
.transparency-pending {
	margin: 18px 0 0;
	padding: 14px 18px;
	background: var(--bg-light);
	border-left: 4px solid var(--border-dashed);
	font-size: 14px;
	line-height: 1.65;
	color: var(--muted);
}

/* -------------------------------------------------------------------------
   Lotul și staff-ul pe paginile de secție (v1.10.0)
   ---------------------------------------------------------------------- */

.people-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 24px;
	margin-top: 30px;
}

.person-card { min-width: 0; }

.person-photo {
	position: relative;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--navy-deep);
}

.person-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 20%;
	display: block;
}

.person-photo.is-empty { display: flex; align-items: center; justify-content: center; }

.person-number {
	position: absolute;
	left: 12px;
	bottom: 10px;
	font-style: italic;
	font-weight: 900;
	font-size: 34px;
	line-height: 1;
	color: var(--white);
	text-shadow: 0 2px 14px rgba(24, 15, 62, .85);
}

.person-photo.is-empty .person-number { position: static; opacity: .5; }

.person-name {
	margin: 14px 0 0;
	font-style: italic;
	font-weight: 800;
	text-transform: uppercase;
	font-size: 16px;
	line-height: 1.15;
	color: var(--navy);
}

.person-role {
	margin: 6px 0 0;
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: .1em;
	color: var(--muted);
}

.person-duties {
	margin: 8px 0 0;
	padding-left: 18px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--muted);
}

.person-duties li { margin: 0 0 4px; }

@media (max-width: 700px) {
	.people-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 16px; }
	.person-number { font-size: 26px; }
	.person-name { font-size: 14px; }
}

/* -------------------------------------------------------------------------
   Video în hero (v1.11.0)
   Fotografiile rămân dedesubt ca plasă de siguranță; acoperirea mov trece
   peste video, exact ca peste fotografie.
   ---------------------------------------------------------------------- */

/* Clipul acoperă tot hero-ul, ca strat de bază. Panoul din dreapta cu
   fotografiile știrilor featured stă deasupra și îl taie pe diagonală —
   deci video-ul se vede exact în jumătatea stângă, sub text. */
.hero-video {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	z-index: 0;
}

/* „Acoperirea ușor mov" peste videoclip. */
.hero-video-tint {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: var(--violet);
	mix-blend-mode: color;
	opacity: .62;
	pointer-events: none;
}

/* Fără video, gradientul e navy opac până la 44% — ar ascunde complet
   clipul. Cu video, îl facem translucid: textul rămâne lizibil, imaginea
   se vede pe dedesubt. */
.hero.has-video .hero-gradient {
	background: linear-gradient(100deg,
		rgba(24, 15, 62, .88) 0%,
		rgba(24, 15, 62, .76) 30%,
		rgba(24, 15, 62, .38) 46%,
		rgba(24, 15, 62, .08) 62%,
		rgba(24, 15, 62, 0) 100%);
}

.hero.has-video .hero-photo { z-index: 2; }
.hero.has-video .hero-gradient { z-index: 3; }
.hero.has-video .hero-headline,
.hero.has-video .hero-photo-nav { z-index: 6; }

/* Un iframe nu are object-fit: îl facem mai mare decât zona și îl centrăm,
   ca să acopere fără benzi negre indiferent de proporția containerului. */
.hero-video iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 177.78vh;
	height: 56.25vw;
	min-width: 100%;
	min-height: 100%;
	transform: translate(-50%, -50%);
	border: 0;
}

@media (max-width: 940px) {
	.hero-video,
	.hero-video-tint { display: none; }
	.hero.has-video .hero-gradient { background: linear-gradient(100deg, var(--navy-deep) 44%, rgba(24, 15, 62, .55) 62%, rgba(24, 15, 62, .15) 100%); }
}

.hero-watch { cursor: pointer; font: inherit; }

.video-section {
	background: var(--navy-deep);
	padding: 78px 0 86px;
}

.video-section .section-title,
.video-section .section-eyebrow { color: var(--white); }
.video-section .section-eyebrow { color: var(--turq); }
.video-section .section-link { color: var(--turq); }

.video-frame {
	position: relative;
	margin-top: 40px;
	aspect-ratio: 16 / 9;
	background: var(--navy-deep);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	box-shadow: 12px 12px 0 var(--turq);
}

.video-frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.video-play { cursor: pointer; font: inherit; }

.video-note {
	margin: 0;
	max-width: 44ch;
	text-align: center;
	font-size: 13px;
	line-height: 1.6;
	color: rgba(255, 255, 255, .7);
}

@media (max-width: 700px) {
	.video-section { padding: 56px 0 62px; }
	.video-frame { box-shadow: 6px 6px 0 var(--turq); margin-top: 28px; }
}

/* Cu mișcare redusă, fundalul video nu are ce căuta: rămân fotografiile. */
@media (prefers-reduced-motion: reduce) {
	.hero-video { display: none; }
}

/* -------------------------------------------------------------------------
   Tranziția dintre videoclip și fotografie (v1.11.2)

   Unghiul de 100° e cel folosit deja de `.hero-gradient` din mockup pentru
   aceeași diagonală — deci banda cade exact pe muchie, la orice lățime, fără
   calcule dependente de viewport.
   ---------------------------------------------------------------------- */

/* 1. Fotografia ocupă 60% din hero când există clip — clipul rămâne pe
      stânga, unde stă și textul. Muchia se stinge pe o bandă îngustă, doar
      cât să nu fie o tăietură dreaptă sub blur. */
.hero.has-video .hero-photo {
	width: 60%;
	-webkit-mask-image: linear-gradient(100deg, transparent 0%, rgba(0, 0, 0, .5) 5%, #000 11%);
	mask-image: linear-gradient(100deg, transparent 0%, rgba(0, 0, 0, .5) 5%, #000 11%);
}

/* 2. Banda de tranziție stă DEASUPRA amândurora. Așa `backdrop-filter`
      prinde compoziția clip + fotografie și le topește pe amândouă în
      aceeași zonă, nu doar clipul. Masca o stinge la ambele capete, ca
      blurul să n-aibă margini vizibile, iar fotografia rămâne curată
      dincolo de bandă. */
.hero-seam {
	position: absolute;
	inset: 0;
	z-index: 4;
	pointer-events: none;
	-webkit-backdrop-filter: blur(22px);
	backdrop-filter: blur(22px);
	-webkit-mask-image: linear-gradient(100deg, transparent 24%, rgba(0, 0, 0, .7) 33%, #000 39%, #000 45%, rgba(0, 0, 0, .7) 51%, transparent 60%);
	mask-image: linear-gradient(100deg, transparent 24%, rgba(0, 0, 0, .7) 33%, #000 39%, #000 45%, rgba(0, 0, 0, .7) 51%, transparent 60%);
}

/* Textul trece peste bandă, nu pe sub ea. */
.hero.has-video .hero-inner { z-index: 5; }

/* Fără backdrop-filter (browsere vechi), banda ar fi un dreptunghi gol:
   o ascundem, muchia rămâne stinsă din masca de la punctul 1. */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.hero-seam { display: none; }
}

@media (max-width: 940px) {
	.hero-seam { display: none; }
	.hero.has-video .hero-photo {
		width: 100% !important;
		-webkit-mask-image: none;
		mask-image: none;
	}
}

/* -------------------------------------------------------------------------
   Butonul „Urmărește"

   `.btn-outline` e scris pentru <a>. Pe <button>, fundalul gri al browserului
   rămâne dedesubt — de aici cutia. Îl resetăm complet și îl construim în
   limbajul celorlalte butoane: skew -12°, umbră dură, triunghi turcoaz.
   ---------------------------------------------------------------------- */

.hero-watch,
.video-play {
	-webkit-appearance: none;
	appearance: none;
	font: inherit;
	cursor: pointer;
}

/* `.video-play` poartă clasa .btn-primary, care își aduce fundalul turcoaz —
   nu-l călcăm cu `background: none`, doar scoatem chenarul de la browser. */
.video-play { border: 0; }

.hero-watch { background: none; color: inherit; }

.hero-watch {
	display: inline-block;
	transform: skewX(-12deg);
	border: 2px solid rgba(255, 255, 255, .45);
	padding: 15px 30px;
	transition: border-color .2s, background .2s, box-shadow .2s;
}

.hero-watch > span {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	transform: skewX(12deg);
	color: var(--white);
	font-weight: 800;
	font-size: 14px;
	letter-spacing: .12em;
}

.hero-watch svg { color: var(--turq); flex: none; transition: color .2s; }

.hero-watch:hover,
.hero-watch:focus-visible {
	border-color: var(--turq);
	background: rgba(0, 180, 201, .14);
	box-shadow: 6px 6px 0 var(--turq);
}

.hero-watch:hover svg,
.hero-watch:focus-visible svg { color: var(--white); }

.hero-watch[aria-expanded="true"] {
	border-color: var(--turq);
	background: var(--turq);
}
.hero-watch[aria-expanded="true"] > span { color: var(--navy-deep); }
.hero-watch[aria-expanded="true"] svg { color: var(--navy-deep); }

/* -------------------------------------------------------------------------
   Calendar competițional, magazin, club (v1.12.0)
   ---------------------------------------------------------------------- */

/* Banda cu meciul următor: o linie, pe toată lățimea. Înainte era o casetă
   înaltă cu text doar în cap și restul gol. */
.next-match {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 26px;
	margin-top: 40px;
	padding: 24px 28px;
	background: var(--navy-deep);
	box-shadow: 10px 10px 0 var(--turq);
	transition: box-shadow .2s, transform .2s;
}

.next-match:hover { transform: translateY(-3px); box-shadow: 10px 10px 0 var(--violet); }

.next-match-flag {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: .2em;
	color: var(--turq);
	white-space: nowrap;
}

.next-match-teams {
	font-style: italic;
	font-weight: 800;
	text-transform: uppercase;
	font-size: clamp(17px, 1.9vw, 25px);
	line-height: 1.1;
	color: var(--white);
	min-width: 0;
}

.next-match-meta {
	font-family: 'JetBrains Mono', monospace;
	font-size: 12px;
	line-height: 1.7;
	color: var(--hero-copy);
	text-align: right;
}

@media (max-width: 860px) {
	.next-match { grid-template-columns: 1fr; gap: 10px; box-shadow: 6px 6px 0 var(--turq); }
	.next-match-meta { text-align: left; }
}

/* Magazin: doar eticheta și fotografia. Secțiunea nu mai are coloană de
   text, deci nici spațiul dimensionat pentru ea. */
.kit-section .section-inner { display: block; }
.kit-section { padding: 76px 0 84px; }

.kit-flag {
	display: inline-block;
	transform: skewX(-12deg);
	background: var(--turq);
	padding: 11px 26px;
	margin-bottom: 26px;
}

.kit-flag,
.kit-flag * { font-weight: 800; font-size: 13px; letter-spacing: .2em; }

.kit-section .kit-flag { color: var(--navy-deep); }

/* Eticheta și fotografia stăteau în containere diferite — una lipită de
   marginea secțiunii, cealaltă centrată la 1000px. Le punem în aceeași
   coloană, ca „ÎN CURÂND" să cadă exact deasupra colțului din stânga sus. */
.kit-shell {
	max-width: 1000px;
	margin: 0 auto;
}

a.kit-image {
	display: block;
	transition: transform .25s;
}

a.kit-image:hover { transform: translateY(-4px); }

/* Club: text la stânga, date la dreapta. */
.club-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(260px, 1fr);
	gap: 56px;
	align-items: start;
	margin-top: 44px;
}

.club-copy { max-width: 68ch; }

.club-aside { position: sticky; top: 120px; }

.club-facts {
	display: grid;
	grid-template-columns: 1fr;
	max-width: none;
	margin-top: 0;
}

@media (max-width: 900px) {
	.club-grid { grid-template-columns: 1fr; gap: 34px; }
	.club-aside { position: static; }
	.club-facts { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
}

/* -------------------------------------------------------------------------
   Mobil: blocurile adăugate azi (v1.13.0)
   ---------------------------------------------------------------------- */

@media (max-width: 700px) {
	.hero-watch { padding: 13px 22px; }
	.hero-watch > span { font-size: 13px; gap: 9px; }

	.kit-flag { padding: 9px 20px; margin-bottom: 18px; }
	.kit-flag,
	.kit-flag * { font-size: 12px; letter-spacing: .16em; }

	.social-tiles { gap: 8px; }
	.social-tile.is-lead { aspect-ratio: 3 / 2; }

	.calendar-pager { justify-content: center; margin-top: 18px; }
	.enroll-inline { margin-top: 26px; }
	.enroll-inline .enroll-form { max-width: none; }
}

/* Ținte de atins cu degetul: minimum 44px, ca în restul temei. */
@media (pointer: coarse) {
	.calendar-page-btn { width: 44px; height: 44px; }
	.calendar-tab { padding: 13px 20px; }
	.hero-photo-nav button { width: 26px; height: 26px; }
	.social-follow { display: inline-block; padding: 6px 0; }
}

/* Concursuri: descărcare și candidatură, în lista de documente. */
.transparency-details .doc-downloads { display: block; margin: 8px 0 0; }
.transparency-details .doc-files { margin: 0; padding: 0; list-style: none; }

.doc-apply {
	display: inline-block;
	margin-top: 10px;
	transform: skewX(-12deg);
	background: var(--turq);
	color: var(--navy-deep);
	padding: 9px 18px;
	font-weight: 800;
	font-size: 11px;
	letter-spacing: .14em;
	transition: box-shadow .2s, transform .2s;
}

.doc-apply:hover { color: var(--navy-deep); box-shadow: 5px 5px 0 var(--violet); transform: skewX(-12deg) translateY(-2px); }

/* -------------------------------------------------------------------------
   Program săptămânal de antrenamente (v1.15.0)

   Pe ecran lat, tabel. Sub 900px, un tabel de 9 grupe × 7 zile e ilizibil
   oricât l-ai derula, așa că același conținut se afișează ca fișe — o fișă
   per grupă, doar cu zilele care au ceva.
   ---------------------------------------------------------------------- */

.training-block + .training-block { margin-top: 44px; }

.training-title {
	margin: 0 0 18px;
	font-family: 'JetBrains Mono', monospace;
	font-size: 12px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--turq);
}

.training-scroll { overflow-x: auto; }

.training-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
	line-height: 1.5;
}

.training-table th,
.training-table td {
	border: 1px solid var(--border-light);
	padding: 12px 14px;
	vertical-align: top;
	text-align: left;
}

.training-table thead th {
	background: var(--navy);
	color: var(--white);
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	white-space: nowrap;
}

.training-table tbody th {
	background: var(--bg-light);
	font-style: italic;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--navy);
	white-space: nowrap;
}

.training-table tbody tr:hover td { background: var(--divider); }
.training-free { color: var(--border-dashed); }

.training-cards { display: none; }

.training-note {
	margin: 20px 0 0;
	font-size: 13px;
	line-height: 1.65;
	color: var(--muted);
}

@media (max-width: 900px) {
	.training-scroll { display: none; }
	.training-cards { display: grid; gap: 16px; }

	.training-card {
		border: 2px solid var(--border-light);
		padding: 18px 20px;
	}

	.training-card-title {
		margin: 0 0 12px;
		font-style: italic;
		font-weight: 800;
		text-transform: uppercase;
		font-size: 15px;
		color: var(--navy);
	}

	.training-card dl {
		margin: 0;
		display: grid;
		grid-template-columns: 84px 1fr;
		gap: 8px 14px;
	}

	.training-card dt {
		font-family: 'JetBrains Mono', monospace;
		font-size: 11px;
		letter-spacing: .1em;
		text-transform: uppercase;
		color: var(--muted);
	}

	.training-card dd { margin: 0; font-size: 13px; line-height: 1.5; color: var(--navy); }
}

/* -------------------------------------------------------------------------
   Informații publice: linkuri, concursuri, banner (v1.16.0)
   ---------------------------------------------------------------------- */

.transparency-details a { color: var(--violet); border-bottom: 1px solid var(--border-dashed); }
.transparency-details a:hover { color: var(--turq); border-bottom-color: var(--turq); }
.detail-ext { font-size: .85em; opacity: .7; }

/* Bandă pe toată lățimea, la baza paginii. */
.construction-banner {
	background: var(--navy-deep);
	padding: 34px 0;
	border-top: 4px solid var(--turq);
}

.construction-banner .section-inner {
	display: flex;
	align-items: center;
	gap: 22px;
	flex-wrap: wrap;
}

.construction-flag {
	display: inline-block;
	transform: skewX(-12deg);
	background: var(--turq);
	color: var(--navy-deep);
	padding: 9px 20px;
	font-weight: 800;
	font-size: 11px;
	letter-spacing: .18em;
	white-space: nowrap;
}

.construction-banner p {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: rgba(255, 255, 255, .82);
}

@media (max-width: 700px) {
	.construction-banner { padding: 26px 0; }
	.construction-banner .section-inner { gap: 14px; }
	.construction-flag { font-size: 10px; letter-spacing: .14em; padding: 8px 16px; }
}

/* Butonul de candidatură, ținta de atins pe ecran tactil. */
@media (pointer: coarse) {
	.doc-apply { padding: 13px 22px; }
}

/* -------------------------------------------------------------------------
   Rezultate pe pagina de secție (v1.17.0)
   ---------------------------------------------------------------------- */

.result-list { margin-top: 26px; border-top: 1px solid var(--border-light); }

.result-row {
	display: grid;
	grid-template-columns: 96px 1fr auto 130px;
	align-items: center;
	gap: 18px;
	padding: 16px 0;
	border-bottom: 1px solid var(--border-light);
}

.result-date {
	font-family: 'JetBrains Mono', monospace;
	font-size: 12px;
	letter-spacing: .06em;
	color: var(--muted);
}

.result-teams {
	font-style: italic;
	font-weight: 800;
	text-transform: uppercase;
	font-size: 15px;
	line-height: 1.2;
	color: var(--navy);
	min-width: 0;
}

.result-score {
	font-family: 'JetBrains Mono', monospace;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: .08em;
	color: var(--white);
	background: var(--navy);
	padding: 7px 14px;
	transform: skewX(-12deg);
	white-space: nowrap;
}

.result-comp {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--muted);
	text-align: right;
}

.doc-deadline {
	display: inline-block;
	margin-left: 10px;
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: .08em;
	color: var(--red);
}

@media (max-width: 760px) {
	.result-row {
		grid-template-columns: 1fr auto;
		gap: 6px 14px;
		padding: 14px 0;
	}
	.result-date { grid-column: 1 / -1; }
	.result-comp { grid-column: 1 / -1; text-align: left; }
	.result-teams { font-size: 14px; }
	.doc-deadline { display: block; margin: 6px 0 0; }
}

/* -------------------------------------------------------------------------
   Sigla: disc alb sub inele, care iese de sub antet peste conținut (v1.21.0)
   ---------------------------------------------------------------------- */

.site-header { overflow: visible; }

.logo-mark {
	width: 96px;
	height: 96px;
	z-index: 2;
}

.logo-mark img { position: relative; z-index: 2; }

/* Discul e mai mare decât emblema și decât inelele, deci coboară sub linia
   antetului. Acolo se suprapune peste hero — de aici efectul de plutire.
   Rămâne centrat pe emblemă: orice decalare pe verticală ar scoate emblema
   din centrul discului, ceea ce se vede imediat. */
.logo-halo {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 148px;
	height: 148px;
	margin: -74px 0 0 -74px;
	border-radius: 50%;
	background: var(--white);
	/* Inel fin plus o urmă de umbră: discul citește ca o medalie așezată în
	   pagină, nu ca un balon care plutește deasupra ei. */
	box-shadow:
		inset 0 0 0 1px var(--border-light),
		inset 0 3px 8px rgba(24, 15, 62, .07),
		0 3px 10px rgba(24, 15, 62, .09);
	z-index: 0;
	pointer-events: none;
}

/* Textul siglei trebuie să înceapă dincolo de disc: discul depășește emblema
   cu 26px de fiecare parte, iar spațiul din mockup era 18px — de aceea îl
   acoperea. */
.logo { gap: 48px; }

.logo-ring-outer { inset: -9px; z-index: 1; }
.logo-ring-inner { inset: -17px; z-index: 1; }

.logo-title { font-size: 30px; }
.logo-kicker { font-size: 12px; letter-spacing: .32em; }

@media (max-width: 940px) {
	.logo { gap: 34px; }
	.logo-mark { width: 68px; height: 68px; }
	.logo-halo { width: 104px; height: 104px; margin: -52px 0 0 -52px; }
	.logo-ring-outer { inset: -6px; }
	.logo-ring-inner { inset: -12px; }
	.logo-title { font-size: 22px; }
	.logo-kicker { font-size: 11px; }
}

@media (max-width: 480px) {
	.logo-halo { display: none; }
	.logo { gap: 14px; }
}

/* -------------------------------------------------------------------------
   Fotografiile de lot și staff: grafică finită, nu se decupează
   ---------------------------------------------------------------------- */

.person-photo {
	position: static;
	aspect-ratio: auto;
	background: none;
	overflow: hidden;
}

.person-photo img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: fill;
	object-position: 50% 50%;
}

/* Numărul stă lângă nume, nu peste imagine: plăcile de reveal îl au deja
   ars în grafică, iar suprapunerea dădea două numere pe același card. */
.person-number {
	position: static;
	display: inline-block;
	margin-right: 8px;
	padding: 2px 8px;
	background: var(--navy);
	color: var(--white);
	font-style: normal;
	font-family: 'JetBrains Mono', monospace;
	font-weight: 700;
	font-size: 12px;
	line-height: 1.5;
	text-shadow: none;
	vertical-align: middle;
}

.people-grid { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }

/* Vitrina de magazin, pe pagina proprie: aceeași formă ca pe prima pagină. */
.kit-note { margin-top: 30px; }
.kit-image img { width: 100%; height: auto; display: block; }

@media (max-width: 700px) {
	.people-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
	.person-number { font-size: 11px; padding: 1px 6px; }
}

/* -------------------------------------------------------------------------
   Vitrina de magazin: fotografia se topește în fundal (v1.23.0)

   Prima încercare folosea `mask-image: radial-gradient(120% 120% …)`. Greșit:
   la un gradient radial, procentele sunt raze raportate la lățimea și
   înălțimea cutiei, deci primul stop cădea la 62% din lățime — dincolo de
   marginea imaginii. Toată fotografia rămânea în zona opacă și masca nu se
   stingea nicăieri.

   Acum e o suprapunere, nu o mască: un pseudo-element care pictează exact
   culoarea secțiunii peste margini. Tranziția e perfectă prin construcție —
   culoarea care acoperă e chiar culoarea de dedesubt — și nu depinde de
   suportul pentru `mask-composite`.
   ---------------------------------------------------------------------- */

.kit-image {
	position: relative;
	display: block;
}

.kit-image img {
	clip-path: none;
	box-shadow: none;
	-webkit-mask-image: none;
	mask-image: none;
	width: 100%;
	height: auto;
	display: block;
}

.kit-image::after {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(to right, var(--navy-deep) 0%, rgba(24, 15, 62, 0) 14%, rgba(24, 15, 62, 0) 86%, var(--navy-deep) 100%),
		linear-gradient(to bottom, var(--navy-deep) 0%, rgba(24, 15, 62, 0) 12%, rgba(24, 15, 62, 0) 88%, var(--navy-deep) 100%);
}

a.kit-image:hover { transform: translateY(-3px); }

.kit-section { padding: 60px 0 64px; }


/* -------------------------------------------------------------------------
   Panoul de accesibilitate (v1.22.0)
   ---------------------------------------------------------------------- */

.a11y-dock {
	position: fixed;
	left: 16px;
	bottom: 16px;
	z-index: 80;
	display: flex;
	flex-direction: column-reverse;
	align-items: flex-start;
	gap: 10px;
}

.a11y-toggle {
	-webkit-appearance: none;
	appearance: none;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 11px 16px;
	border: 2px solid var(--navy);
	background: var(--white);
	color: var(--navy);
	font: inherit;
	font-weight: 800;
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(24, 15, 62, .16);
}

.a11y-toggle:hover,
.a11y-toggle:focus-visible { border-color: var(--turq); color: var(--turq); }

.a11y-panel {
	width: min(340px, calc(100vw - 32px));
	padding: 20px;
	background: var(--white);
	border: 2px solid var(--navy);
	box-shadow: 0 14px 40px rgba(24, 15, 62, .24);
}

.a11y-panel[hidden] { display: none; }

.a11y-panel-title {
	margin: 0 0 14px;
	font-style: italic;
	font-weight: 800;
	text-transform: uppercase;
	font-size: 15px;
	color: var(--navy);
}

.a11y-option {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 9px 0;
	border-top: 1px solid var(--divider);
	cursor: pointer;
}

.a11y-option input { flex: none; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--turq); }
.a11y-option strong { display: block; font-size: 13px; color: var(--navy); }
.a11y-option em { display: block; margin-top: 2px; font-style: normal; font-size: 12px; line-height: 1.45; color: var(--muted); }

.a11y-reset {
	-webkit-appearance: none;
	appearance: none;
	margin-top: 14px;
	padding: 8px 14px;
	border: 2px solid var(--border-light);
	background: none;
	font: inherit;
	font-size: 12px;
	font-weight: 700;
	color: var(--navy);
	cursor: pointer;
}
.a11y-reset:hover { border-color: var(--turq); }

.a11y-note { margin: 12px 0 0; font-size: 11px; line-height: 1.6; color: var(--muted); }
.a11y-note a { color: var(--violet); text-decoration: underline; }

/* --- efectele preferințelor ---------------------------------------------- */

html.a11y-text { font-size: 112.5%; }

html.a11y-contrast body { color: var(--navy-deep); }
html.a11y-contrast .news-card,
html.a11y-contrast .section-card,
html.a11y-contrast .person-card,
html.a11y-contrast .training-table th,
html.a11y-contrast .training-table td { border-color: var(--navy) !important; }
html.a11y-contrast .hero-gradient { background: rgba(24, 15, 62, .92) !important; }
html.a11y-contrast .muted,
html.a11y-contrast .news-date,
html.a11y-contrast .person-role,
html.a11y-contrast .calendar-date { color: var(--navy) !important; }

html.a11y-links main a,
html.a11y-links .site-footer a { text-decoration: underline; text-underline-offset: 3px; }

html.a11y-motion *,
html.a11y-motion *::before,
html.a11y-motion *::after {
	animation-duration: 0s !important;
	animation-delay: 0s !important;
	transition-duration: 0s !important;
	scroll-behavior: auto !important;
}
html.a11y-motion .hero-video,
html.a11y-motion .hero-video-tint { display: none; }

@media (max-width: 700px) {
	.a11y-dock { left: 12px; bottom: 12px; }
	.a11y-toggle span { display: none; }
	.a11y-toggle { padding: 12px; }
}

@media print {
	.a11y-dock { display: none; }
}

/* -------------------------------------------------------------------------
   Calendar ca grilă (v1.24.0)
   Aceeași celulă pentru luna întreagă și pentru săptămâna de pe prima pagină.
   ---------------------------------------------------------------------- */

.cal-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	margin-top: 34px;
}

.cal-nav { display: flex; align-items: center; gap: 16px; }

.cal-nav-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 2px solid var(--border-light);
	color: var(--navy);
	transform: skewX(-12deg);
	transition: border-color .2s, color .2s, box-shadow .2s;
}
.cal-nav-btn svg { transform: skewX(12deg); }
.cal-nav-btn:hover { border-color: var(--turq); color: var(--turq); box-shadow: 4px 4px 0 var(--turq); }

.cal-month {
	margin: 0;
	min-width: 200px;
	text-align: center;
	font-style: italic;
	font-weight: 800;
	text-transform: uppercase;
	font-size: clamp(18px, 2.2vw, 26px);
	color: var(--navy);
}

.cal-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 1px;
	margin-top: 26px;
	background: var(--border-light);
	border: 1px solid var(--border-light);
}

.cal-head {
	background: var(--navy);
	color: var(--white);
	padding: 10px 8px;
	text-align: center;
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.cal-day {
	background: var(--white);
	min-height: 118px;
	padding: 8px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.cal-day.is-out { background: var(--bg-light); }
.cal-day.is-out .cal-date { opacity: .38; }
.cal-day.has-events { box-shadow: inset 0 3px 0 var(--turq); }

.cal-day.is-today .cal-date {
	background: var(--navy);
	color: var(--white);
	border-radius: 50%;
	width: 26px;
	height: 26px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.cal-date {
	font-family: 'JetBrains Mono', monospace;
	font-size: 13px;
	font-weight: 700;
	color: var(--navy);
	flex: none;
}

.cal-weekday { display: none; }

.cal-ev {
	display: block;
	padding: 7px 8px;
	background: var(--bg-light);
	border-left: 3px solid var(--violet);
	transition: transform .15s, box-shadow .15s;
}

a.cal-ev:hover { transform: translateX(2px); box-shadow: 3px 3px 0 var(--turq); }
.cal-ev.is-hidden { display: none; }

.cal-ev-fotbal  { border-left-color: var(--royal); }
.cal-ev-baschet { border-left-color: var(--orange); }
.cal-ev-sah     { border-left-color: var(--turq); }

.cal-ev-tag {
	display: block;
	font-family: 'JetBrains Mono', monospace;
	font-size: 9px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--muted);
}

.cal-ev-title {
	display: block;
	margin-top: 2px;
	font-weight: 700;
	font-size: 12px;
	line-height: 1.3;
	color: var(--navy);
	overflow-wrap: anywhere;
}

.cal-ev-score,
.cal-ev-time {
	display: inline-block;
	margin-top: 4px;
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	font-weight: 700;
}
.cal-ev-score { background: var(--navy); color: var(--white); padding: 1px 6px; }
.cal-ev-time { color: var(--muted); }

/* Săptămâna de pe prima pagină: celule mai înalte, o singură linie de zile. */
.cal-grid.is-week .cal-day { min-height: 146px; }

/* Sub 780px, șapte coloane devin ilizibile: grila se desface în listă, o zi
   pe rând, iar zilele goale sau din alte luni dispar de tot. */
@media (max-width: 780px) {
	.cal-grid { grid-template-columns: 1fr; border: 0; background: none; gap: 8px; }
	.cal-head { display: none; }
	.cal-day { min-height: 0; border: 1px solid var(--border-light); flex-direction: row; flex-wrap: wrap; align-items: flex-start; gap: 10px; padding: 12px; }
	.cal-day:not(.has-events) { display: none; }
	.cal-day.is-out { display: none; }
	.cal-date { min-width: 46px; }
	.cal-weekday { display: inline; margin-right: 5px; color: var(--muted); }
	.cal-day.is-today .cal-date { border-radius: 0; width: auto; padding: 2px 8px; }
	.cal-ev { flex: 1 1 220px; }
	.cal-bar { gap: 14px; }
	.cal-month { min-width: 0; font-size: 18px; }
}

/* -------------------------------------------------------------------------
   Social media: taburi la stânga, postări la dreapta
   ---------------------------------------------------------------------- */

.social-section { background: var(--white); padding: 88px 0 96px; }

.social-layout {
	display: grid;
	grid-template-columns: minmax(190px, 240px) minmax(0, 1fr);
	gap: 40px;
	margin-top: 44px;
	align-items: start;
}

.social-tabs { display: flex; flex-direction: column; gap: 8px; }

.social-tab {
	-webkit-appearance: none;
	appearance: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	padding: 14px 16px;
	border: 2px solid var(--border-light);
	background: var(--white);
	font: inherit;
	cursor: pointer;
	text-align: left;
	transition: border-color .2s, background .2s, box-shadow .2s;
}

.social-tab-name { font-style: italic; font-weight: 800; font-size: 15px; color: var(--navy); }
.social-tab-count { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--muted); }

.social-tab:hover { border-color: var(--turq); }
.social-tab.is-active { background: var(--navy); border-color: var(--navy); box-shadow: 5px 5px 0 var(--turq); }
.social-tab.is-active .social-tab-name { color: var(--white); }
.social-tab.is-active .social-tab-count { color: var(--turq); }

.social-tabs .social-follow {
	margin-top: 8px;
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: .1em;
	color: var(--violet);
	line-height: 1.5;
}
.social-tabs .social-follow:hover { color: var(--turq); }
.social-follow[hidden] { display: none; }

.social-pane {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}
.social-pane[hidden] { display: none; }

.social-tile {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--bg-light);
	transition: box-shadow .2s, transform .2s;
}

.social-tile.is-lead { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; }

.social-tile img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s; }
.social-tile:hover img { transform: scale(1.05); }

.social-facebook .social-tile:hover,
.social-facebook .social-tile:focus-visible { box-shadow: 6px 6px 0 var(--royal); }
.social-instagram .social-tile:hover,
.social-instagram .social-tile:focus-visible { box-shadow: 6px 6px 0 var(--violet); }
.social-tiktok .social-tile:hover,
.social-tiktok .social-tile:focus-visible { box-shadow: 6px 6px 0 var(--turq); }

@media (max-width: 900px) {
	.social-section { padding: 62px 0 68px; }
	.social-layout { grid-template-columns: 1fr; gap: 24px; margin-top: 30px; }
	.social-tabs { flex-direction: row; flex-wrap: wrap; gap: 8px; }
	.social-tab { width: auto; flex: 1 1 auto; padding: 11px 14px; }
	.social-tab-name { font-size: 14px; }
	.social-tabs .social-follow { flex: 1 0 100%; margin-top: 2px; }
	.social-pane { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.social-tile.is-lead { grid-column: span 2; grid-row: auto; aspect-ratio: 16 / 10; }
}

@media (prefers-reduced-motion: reduce) {
	.social-tile img { transition: none; }
	.social-tile:hover img { transform: none; }
}

/* -------------------------------------------------------------------------
   Social media fără plăci: bandă cu adresele canalelor (v1.26.0)
   ---------------------------------------------------------------------- */

.social-strip {
	background: var(--navy);
	padding: 26px 0;
}

.social-strip .section-inner {
	display: flex;
	align-items: center;
	gap: 28px;
	flex-wrap: wrap;
}

.social-strip-label {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--turq);
	flex: none;
}

.social-strip-links { display: flex; gap: 12px; flex-wrap: wrap; flex: 1 1 auto; }

.social-strip-link {
	display: inline-flex;
	align-items: baseline;
	gap: 9px;
	padding: 11px 20px;
	border: 2px solid rgba(255, 255, 255, .26);
	transform: skewX(-12deg);
	transition: border-color .2s, background .2s, box-shadow .2s;
}

.social-strip-link > * { transform: skewX(12deg); }
.social-strip-link span { font-style: italic; font-weight: 800; font-size: 15px; color: var(--white); }
.social-strip-link em { font-style: normal; font-family: 'JetBrains Mono', monospace; font-size: 11px; color: rgba(255, 255, 255, .6); }

.social-strip-link:hover { border-color: var(--turq); box-shadow: 5px 5px 0 var(--turq); }
.social-strip-link.social-facebook:hover { box-shadow: 5px 5px 0 var(--royal); border-color: var(--royal); }
.social-strip-link.social-instagram:hover { box-shadow: 5px 5px 0 var(--violet); border-color: var(--violet); }

/* Titlul cardului de știre e link, dar nu arată ca unul până la hover:
   cardul întreg e deja o suprafață de acțiune. */
.news-card-title a { color: inherit; }
.news-card-title a:hover,
.news-card-title a:focus-visible { color: var(--violet); }

@media (max-width: 700px) {
	.social-strip .section-inner { gap: 16px; }
	.social-strip-links { gap: 8px; }
	.social-strip-link { padding: 11px 16px; }
	.social-strip-link span { font-size: 14px; }
}
