/* ==========================================================================
   Apollonia TV — stilurile site-ului, direcția „TV” (v0.2)
   --------------------------------------------------------------------------
   Limbajul vizual vine din brandbook-ul Apollonia TV (mai 2023): blocuri drepte
   de culoare (fără colțuri rotunjite), banda roșie verticală din burtiere,
   etichete pline cu majuscule (ca „DIRECT”, „URMEAZĂ”), text negru, Arial.

   CUPRINS
     1. Culori și mărimi (variabile)  ← aici se schimbă culorile pe tot site-ul
     2. Bază (text, linkuri, focus)
     3. Ajustări GeneratePress
     4. Elemente comune (container, titluri cu bandă, butoane, etichete, grile)
     5. Antet (calculator) și meniul de pe telefon
     6. Carduri de episod
     7. Prima pagină
     8. Pagini de categorie (emisiuni, teme, știri)
     9. Pagina episodului și playerul
    10. Subsol
    11. Telefon și tabletă

   REGULI DE ACCESIBILITATE (pentru vizitatorii vârstnici):
     - text de bază 20px (18px pe telefon), care crește cu A+ / A++; niciun text sub 16px;
     - contrast cel puțin 7:1 pentru textul obișnuit (AAA);
     - orice buton sau link de cel puțin 44px înălțime;
     - contur galben-negru foarte vizibil la navigarea cu tastatura.
   ========================================================================== */

/* 1. Culori și mărimi ---------------------------------------------------- */
:root {
	--aptv-negru: #000000;           /* textul (culoarea textului din brandbook) */
	--aptv-albastru-inchis: #14527F; /* bara de meniu, butoane, linkuri */
	--aptv-albastru-hover: #0E3F63;
	--aptv-albastru: #26A3FC;        /* albastrul din logo — doar suprafețe, nu text pe alb */
	--aptv-rosu: #FC4F4C;            /* roșul din logo */
	--aptv-galben: #FFFF40;          /* galbenul din logo: conturul de focus la tastatură */
	--aptv-gri: #444444;             /* texte secundare (9,7:1 pe alb) */
	--aptv-linie: #BBBBBB;           /* linii de despărțire */
	--aptv-fundal: #F2F2F2;          /* fundaluri de secțiune */
	--aptv-imagine: #23313F;         /* fundal până se încarcă imaginea */
	--aptv-latime: 1240px;           /* lățimea maximă a conținutului */
	--aptv-text-mic: max(16px, 0.8rem); /* cel mai mic text de pe site */

	--aptv-accent: #FC4F4C;          /* banda roșie a titlurilor, eticheta RECOMANDAT */
	--aptv-accent-text: #FFFFFF;
	--aptv-evidentiere: #FFFF40;     /* eticheta NOU, butonul de meniu curent */
	--aptv-ajutor-fundal: #FFFF40;   /* banda „Nu găsiți ce căutați?” */
	--aptv-chenar: #000000;          /* chenarele butoanelor și casetelor */
	--aptv-chenar-fin: #BBBBBB;
	--aptv-univ-fundal: #000000;
}

/* Elementele în culoarea temei (Educație, Cultură...): culoarea vine din categorie (câmpul „Culoare”). */
.aptv-c { background: var(--c-tare); color: var(--c-tare-text); }

/* Mărimea textului: butoanele A / A+ / A++ schimbă doar această valoare. */
html { font-size: 20px; }
html.aptv-text-mare { font-size: 23px; }
html.aptv-text-foarte-mare { font-size: 26px; }

/* 2. Bază ---------------------------------------------------------------- */
body {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1rem;
	line-height: 1.5;
	color: var(--aptv-negru);
	background: #FFFFFF;
}
h1, h2, h3 { color: var(--aptv-negru); font-family: inherit; font-weight: 700; line-height: 1.2; }
a { color: var(--aptv-albastru-inchis); }
a:hover { color: var(--aptv-negru); }
.aptv-main h1 { font-size: 2.1rem; margin: 0.3em 0 0.5em; }
.aptv-main h2 { font-size: 1.55rem; margin: 0 0 0.6em; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible {
	outline: 4px solid var(--aptv-galben);
	outline-offset: 2px;
	box-shadow: 0 0 0 7px var(--aptv-negru);
}
.aptv-meniu-deschis { overflow: hidden; } /* pagina nu se derulează sub meniul de pe telefon */

/* 3. Ajustări GeneratePress ---------------------------------------------- */
.aptv-sablon .site.grid-container { max-width: none; padding: 0; background: transparent; }
.aptv-sablon .site-content { display: block; padding: 0; }
.site-footer { background: transparent; }

/* 4. Elemente comune ----------------------------------------------------- */
.aptv-container { max-width: var(--aptv-latime); margin-inline: auto; padding-inline: 1.2rem; box-sizing: border-box; }
.aptv-sectiune { padding-block: 2.4rem 0.4rem; }
.aptv-main > .aptv-container.aptv-sectiune:first-child { padding-top: 1.2rem; }
.aptv-sectiune__cap { display: flex; flex-wrap: wrap; gap: 0.4rem 1.2rem; align-items: baseline; justify-content: space-between; margin-bottom: 0.9rem; }
.aptv-sectiune__cap h2 { margin: 0; }
.aptv-sectiune__cap > a { font-weight: 700; display: inline-flex; align-items: center; min-height: 44px; }
.aptv-sectiune__intro { color: var(--aptv-gri); margin: -0.3rem 0 1.1rem; max-width: 46rem; }
.aptv-titlu-pagina { margin-top: 0.4em; }
.aptv-mic { font-size: var(--aptv-text-mic); color: var(--aptv-gri); }
.aptv-gol { padding: 1.2rem 1.4rem; background: var(--aptv-fundal); color: var(--aptv-negru); }

/* Titlu cu banda roșie verticală, ca în burtierele de pe post. */
.aptv-titlu-banda { border-left: 8px solid var(--aptv-accent); padding-left: 0.7rem; }

.aptv-buton {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.5em;
	min-height: 52px; box-sizing: border-box;
	padding: 0.6em 1.3em; border-radius: 0; border: 2px solid var(--aptv-albastru-inchis);
	background: var(--aptv-albastru-inchis); color: #FFFFFF;
	font-size: 1.05rem; font-weight: 700; line-height: 1.25; text-decoration: none; text-align: center;
}
.aptv-buton:hover { background: var(--aptv-albastru-hover); border-color: var(--aptv-albastru-hover); color: #FFFFFF; }
.aptv-buton svg { width: 1.2em; height: 1.2em; flex: none; }
.aptv-buton--contur { background: #FFFFFF; color: var(--aptv-negru); border-color: var(--aptv-chenar); }
.aptv-buton--contur:hover { background: var(--aptv-fundal); color: var(--aptv-negru); border-color: var(--aptv-negru); }
.aptv-buton--inchis { background: var(--aptv-negru); border-color: var(--aptv-negru); }
.aptv-buton--inchis:hover { background: #333333; border-color: #333333; }
.aptv-buton--alb { background: #FFFFFF; border-color: #FFFFFF; color: var(--aptv-negru); }
.aptv-buton--alb:hover { background: var(--aptv-fundal); color: var(--aptv-negru); }
.aptv-buton--galben { background: var(--aptv-evidentiere); border-color: var(--aptv-evidentiere); color: var(--aptv-negru); }
.aptv-buton--galben:hover { background: #F0F000; border-color: #F0F000; color: var(--aptv-negru); }
.aptv-buton--mare { font-size: 1.2rem; min-height: 60px; padding: 0.6em 1.5em; }
.aptv-buton--mic { font-size: var(--aptv-text-mic); min-height: 44px; padding: 0.4em 1em; }
.aptv-butoane { display: flex; flex-wrap: wrap; gap: 0.7rem; }

/* Etichete pline, ca pe post (DIRECT, URMEAZĂ...). */
.aptv-etichete { display: flex; flex-wrap: wrap; gap: 0.35rem; align-items: center; }
.aptv-eticheta {
	display: inline-block; font-size: var(--aptv-text-mic); font-weight: 700; letter-spacing: 0.04em;
	text-transform: uppercase; line-height: 1.35; padding: 0.1em 0.5em;
}
.aptv-eticheta--nou { background: var(--aptv-evidentiere); color: var(--aptv-negru); }
.aptv-eticheta--recomandat { background: var(--aptv-accent); color: var(--aptv-accent-text); font-size: 20px; padding: 0.1em 0.55em; } /* 20px bold = text mare: alb pe roșu (3,3:1) e suficient */
.aptv-eticheta--arhiva { background: var(--aptv-gri); color: #FFFFFF; }
.aptv-eticheta--urmeaza { background: var(--aptv-albastru-inchis); color: #FFFFFF; }
.aptv-eticheta--alb { background: #FFFFFF; color: var(--aptv-negru); }

.aptv-grila { display: grid; gap: 1.6rem 1.4rem; }
.aptv-grila--3 { grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); }
/* Număr fix de coloane (nu „câte încap”): fără un card singur pe ultimul rând, și când textul e mărit. */
.aptv-grila--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.aptv-grila--teme { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; align-items: start; } /* 2 pe rând: loc pentru nume și numărul de episoade, și cu textul mărit */
.aptv-grila--scurte { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.2rem 1rem; }
@media (max-width: 900px) {
	.aptv-grila--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.aptv-grila--scurte { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.aptv-grila--stiri { grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); gap: 0 1.6rem; }

/* „Fișe”: rânduri de butoane pentru teme, tipuri de știri, ordinea episoadelor */
.aptv-file { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.4rem; }
.aptv-file a {
	display: inline-flex; align-items: center; min-height: 48px; box-sizing: border-box;
	padding: 0.4em 1.1em; border-radius: 0; border: 2px solid var(--aptv-chenar);
	background: #FFFFFF; color: var(--aptv-negru); font-weight: 700; text-decoration: none;
}
.aptv-file a:hover { background: var(--aptv-fundal); color: var(--aptv-negru); }
.aptv-file a.is-curent { background: var(--aptv-albastru-inchis); border-color: var(--aptv-albastru-inchis); color: #FFFFFF; }
.aptv-file a.aptv-file__toate { border-color: var(--aptv-fundal); background: var(--aptv-fundal); color: var(--aptv-albastru-inchis); }
.aptv-sectiune__cap .aptv-file { margin-bottom: 0; }

/* „Unde vă aflați” */
.aptv-firul { font-size: var(--aptv-text-mic); color: var(--aptv-gri); padding-top: 0.6rem; }
.aptv-firul a { color: inherit; display: inline-block; padding-block: 0.4rem; }
.aptv-firul strong { color: var(--aptv-negru); }
.aptv-banda .aptv-firul, .aptv-banda .aptv-firul strong { color: inherit; }

/* 5. Antet --------------------------------------------------------------- */
.aptv-antet { background: #FFFFFF; position: relative; z-index: 20; }
.aptv-antet__sus { display: flex; flex-wrap: wrap; gap: 0.8rem 2rem; align-items: center; justify-content: space-between; padding-block: 0.9rem; }
.aptv-antet__logo { display: block; line-height: 0; flex: none; }
.aptv-logo { height: 44px; width: auto; display: block; }
.aptv-antet__unelte { display: flex; flex-wrap: wrap; gap: 0.8rem 1.4rem; align-items: center; justify-content: flex-end; flex: 1 1 28rem; }

.aptv-cautare { display: flex; flex: 1 1 18rem; max-width: 34rem; }
.aptv-cautare input[type="search"] {
	flex: 1 1 auto; min-width: 0; min-height: 48px; box-sizing: border-box;
	font: inherit; font-size: 1rem; padding: 0.3em 0.7em; color: var(--aptv-negru);
	border: 2px solid var(--aptv-chenar); border-right: 0; border-radius: 0; background: #FFFFFF;
}
.aptv-cautare input[type="search"]::placeholder { color: #595959; }
.aptv-cautare button {
	min-height: 48px; padding: 0 1.1em; font: inherit; font-weight: 700;
	border: 2px solid var(--aptv-albastru-inchis); border-radius: 0; background: var(--aptv-albastru-inchis); color: #FFFFFF; cursor: pointer;
}
.aptv-cautare button:hover { background: var(--aptv-albastru-hover); border-color: var(--aptv-albastru-hover); }

.aptv-accesibil { display: flex; align-items: center; gap: 0.5rem; flex: none; }
.aptv-marime { display: inline-flex; align-items: stretch; border: 1px solid var(--aptv-chenar-fin); background: #FFFFFF; }
.aptv-marime button {
	min-width: 46px; min-height: 46px; padding: 0 0.5em; border: 0; border-radius: 0; background: transparent;
	font-family: Arial, Helvetica, sans-serif; font-size: 19px; font-weight: 700; line-height: 1; color: var(--aptv-negru); cursor: pointer;
}
.aptv-marime button + button { border-left: 1px solid var(--aptv-chenar-fin); }
.aptv-marime button small { font-size: 0.75em; margin-left: 1px; }
.aptv-marime button:hover { background: var(--aptv-fundal); }
.aptv-marime button[aria-disabled="true"] { color: #8A8A8A; cursor: default; background: transparent; }
.aptv-accesibil--mare { flex-wrap: wrap; gap: 0.8rem 1rem; }
.aptv-accesibil--mare .aptv-marime { align-items: center; border: 0; gap: 0; }
.aptv-accesibil__eticheta { font-weight: 700; margin-right: 0.7rem; }
.aptv-accesibil--mare .aptv-marime button { min-width: 56px; min-height: 52px; border: 1px solid var(--aptv-chenar); }
.aptv-accesibil--mare .aptv-marime button + button { border-left: 0; }
.aptv-meniu-buton { display: none; }

/* Bara de meniu albastră, ca bara de pe post. */
.aptv-bara-meniu { background: var(--aptv-albastru-inchis); }
.aptv-meniu { display: flex; flex-wrap: wrap; }
.aptv-meniu__link {
	display: inline-flex; align-items: center; gap: 0.3em; min-height: 56px; box-sizing: border-box;
	padding: 0 1.1em; font-size: 1.05rem; font-weight: 700; color: #FFFFFF; text-decoration: none;
}
.aptv-meniu__link:hover { background: var(--aptv-albastru-hover); color: #FFFFFF; }
.aptv-meniu__link.is-curent { background: var(--aptv-evidentiere); color: var(--aptv-negru); }
.aptv-meniu__link[aria-expanded="true"] { background: #FFFFFF; color: var(--aptv-albastru-inchis); }
.aptv-meniu__contact { margin-left: auto; }

.aptv-panou { background: var(--aptv-fundal); border-bottom: 6px solid var(--aptv-albastru-inchis); padding-block: 1.2rem 1.4rem; }
.aptv-panou[hidden] { display: none; }
.aptv-panou__indemn { color: var(--aptv-gri); margin: 0 0 0.8rem; }
.aptv-panou__grila { display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: 1rem; }
.aptv-panou__tema { background: #FFFFFF; }
.aptv-panou__titlu { display: block; padding: 0.5em 0.8em; font-size: 1.15rem; font-weight: 700; text-decoration: none; }
.aptv-panou__titlu:hover { text-decoration: underline; }
.aptv-panou__tema ul { list-style: none; margin: 0; padding: 0.2rem 0.8rem 0.5rem; }
.aptv-panou__tema li a { display: flex; align-items: center; min-height: 44px; color: var(--aptv-negru); font-weight: 700; }
.aptv-panou__toate { display: inline-flex; align-items: center; min-height: 44px; margin-top: 0.6rem; font-weight: 700; }
.aptv-panou__butoane { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.aptv-panou__butoane a {
	display: inline-flex; align-items: center; min-height: 48px; padding: 0 1.2em;
	background: #FFFFFF; border: 2px solid var(--aptv-chenar); font-weight: 700; color: var(--aptv-negru); text-decoration: none;
}

/* Meniul de pe telefon: un ecran întreg. */
.aptv-meniu-mobil { position: fixed; inset: 0; z-index: 1000; background: #FFFFFF; overflow-y: auto; }
.aptv-meniu-mobil[hidden] { display: none; }
.aptv-meniu-mobil__cap {
	display: flex; align-items: center; justify-content: space-between; gap: 1rem;
	min-height: 72px; padding: 0 16px; border-bottom: 6px solid var(--aptv-albastru-inchis);
	position: sticky; top: 0; background: #FFFFFF;
}
.aptv-meniu-mobil__cap .aptv-logo { height: 30px; }
.aptv-meniu-mobil__inchide {
	display: inline-flex; align-items: center; gap: 0.4em; min-height: 48px; padding: 0 1em;
	font: inherit; font-weight: 700; color: var(--aptv-negru); background: #FFFFFF;
	border: 2px solid var(--aptv-chenar); border-radius: 0; cursor: pointer;
}
.aptv-meniu-mobil__inchide svg { width: 18px; height: 18px; }
.aptv-meniu-mobil__corp { padding: 16px 16px 40px; display: flex; flex-direction: column; gap: 1.4rem; }
.aptv-meniu-mobil__corp .aptv-cautare { max-width: none; flex: none; }
.aptv-meniu-mobil__lista, .aptv-meniu-mobil__lista ul { list-style: none; margin: 0; padding: 0; }
.aptv-meniu-mobil__lista { border-top: 2px solid var(--aptv-chenar); }
.aptv-meniu-mobil__lista > li > a {
	display: flex; align-items: center; min-height: 60px; border-bottom: 1px solid var(--aptv-linie);
	font-size: 1.15rem; font-weight: 700; color: var(--aptv-negru); text-decoration: none;
}
.aptv-meniu-mobil__lista ul a {
	display: flex; align-items: center; min-height: 52px; padding-left: 1.2rem; border-bottom: 1px solid var(--aptv-linie);
	font-weight: 700; color: var(--aptv-albastru-inchis); text-decoration: none;
}
.aptv-meniu-mobil__ajutor { display: flex; flex-direction: column; gap: 0.6rem; }
.aptv-meniu-mobil__ajutor p { margin: 0; font-weight: 700; }

/* 6. Carduri de episod --------------------------------------------------- */
.aptv-card { display: flex; flex-direction: column; gap: 0.6rem; color: var(--aptv-negru); text-decoration: none; }
.aptv-card:hover { color: var(--aptv-negru); }
.aptv-card:hover .aptv-card__titlu { text-decoration: underline; }
.aptv-card__media { position: relative; display: block; aspect-ratio: 16 / 9; background: var(--aptv-imagine); overflow: hidden; }
.aptv-card__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.aptv-card__text { display: flex; flex-direction: column; gap: 0.35rem; min-width: 0; }
.aptv-card__supra { font-size: var(--aptv-text-mic); font-weight: 700; color: var(--aptv-albastru-inchis); }
.aptv-card__titlu {
	font-size: 1.1rem; font-weight: 700; line-height: 1.3;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.aptv-card__data { font-size: var(--aptv-text-mic); color: var(--aptv-gri); }

/* Butonul de redare: în colțul din stânga-jos, cu durata — nu acoperă textul din imagine. */
.aptv-redare {
	position: absolute; left: 0; bottom: 0; display: inline-flex; align-items: center; gap: 0.4em;
	background: var(--aptv-albastru-inchis); color: #FFFFFF; padding: 0.3em 0.6em;
	font-size: var(--aptv-text-mic); font-weight: 700; line-height: 1.2;
}
.aptv-redare svg { width: 0.85em; height: 0.85em; flex: none; }
.aptv-redare--mare { font-size: 1.05rem; padding: 0.55em 0.9em; }

/* Clip vertical (știri științifice) */
.aptv-card--scurt .aptv-card__media { aspect-ratio: 3 / 4; }
.aptv-card--scurt .aptv-card__titlu { font-size: 1rem; }

/* Rând orizontal (liste de știri, „Mai departe în ...”) */
.aptv-card--lista, .aptv-card--lista-scurt { flex-direction: row; align-items: flex-start; gap: 0.9rem; padding-block: 0.9rem; border-top: 1px solid var(--aptv-linie); }
.aptv-card--lista .aptv-card__media { flex: 0 0 8rem; }
.aptv-card--lista-scurt .aptv-card__media { flex: 0 0 4.6rem; aspect-ratio: 3 / 4; }
.aptv-card--lista .aptv-card__titlu, .aptv-card--lista-scurt .aptv-card__titlu { font-size: 1rem; }
.aptv-card--lista .aptv-redare span:not(.screen-reader-text), .aptv-card--lista-scurt .aptv-redare span:not(.screen-reader-text) { display: none; }

/* 7. Prima pagină -------------------------------------------------------- */
.aptv-recomandat { padding-top: 2rem; }
.aptv-recomandat__in { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 1.4rem 1.8rem; align-items: start; }
.aptv-recomandat__media { min-width: 0; position: relative; display: block; aspect-ratio: 16 / 9; background: var(--aptv-imagine); overflow: hidden; }
.aptv-recomandat__text { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 0.8rem; }
.aptv-recomandat__text h1 { font-size: 1.75rem; margin: 0.1em 0 0; }
.aptv-recomandat__text h1 a { color: var(--aptv-negru); text-decoration: none; }
.aptv-recomandat__text h1 a:hover { text-decoration: underline; }
.aptv-recomandat__meta { margin: 0; color: var(--aptv-gri); }

.aptv-tema { border: 2px solid var(--aptv-chenar); display: flex; flex-direction: column; }
.aptv-tema__cap { display: block; padding: 0.55em 0.8em; font-size: 1.3rem; font-weight: 700; text-decoration: none; }
.aptv-tema__cap:hover { text-decoration: underline; }
/* Un rând = imaginea emisiunii în stânga, numele și numărul de episoade unul sub altul în dreapta.
   (Pe un singur rând, în coloane înguste, numărul de episoade ieșea din chenar.) */
.aptv-tema__emisiune {
	display: flex; align-items: center; gap: 0.75rem;
	min-height: 52px; padding: 0.55em 0.8em; border-top: 1px solid var(--aptv-linie);
	color: var(--aptv-negru); text-decoration: none;
}
.aptv-tema__emisiune:hover { background: var(--aptv-fundal); color: var(--aptv-negru); }
.aptv-tema__emisiune:hover .aptv-tema__nume { text-decoration: underline; }
.aptv-tema__afis { flex: none; width: 5.6rem; aspect-ratio: 16 / 9; object-fit: cover; background: var(--aptv-imagine); }
.aptv-tema__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 0.1rem; }
.aptv-tema__nume { font-weight: 700; line-height: 1.25; }
.aptv-tema__nr { font-size: var(--aptv-text-mic); color: var(--aptv-gri); white-space: nowrap; }

.aptv-univ { background: var(--aptv-univ-fundal); color: #FFFFFF; display: flex; flex-wrap: wrap; }
.aptv-univ__text { flex: 1 1 22rem; min-width: 0; padding: 1.6rem 1.6rem 1.4rem; }
.aptv-univ h2 { color: #FFFFFF; margin: 0.6em 0 0.35em; }
.aptv-univ p { color: #DDDDDD; margin: 0; }
.aptv-univ__lista { flex: 1 1 22rem; min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 1rem 1.6rem; }
.aptv-univ__lista a {
	display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 64px;
	border-bottom: 1px solid #555555; color: #FFFFFF; font-size: 1.1rem; font-weight: 700; text-decoration: none;
}
.aptv-univ__lista a:last-child { border-bottom: 0; }
.aptv-univ__lista a:hover { text-decoration: underline; }
.aptv-univ__nr { font-weight: 400; font-size: var(--aptv-text-mic); color: #DDDDDD; white-space: nowrap; }

/* 8. Pagini de categorie ------------------------------------------------- */
.aptv-banda { padding-block: 0.8rem 2.2rem; }
.aptv-banda__in { display: flex; flex-wrap: wrap; gap: 1.5rem 3rem; align-items: flex-end; justify-content: space-between; margin-top: 1rem; }
.aptv-banda__text { flex: 1 1 26rem; min-width: 0; }
.aptv-banda__supra { font-size: var(--aptv-text-mic); font-weight: 700; letter-spacing: 0.08em; }
.aptv-banda h1 { color: inherit; font-size: 2.7rem; line-height: 1.05; margin: 0.15em 0 0.35em; }
.aptv-banda p { font-size: 1.1rem; margin: 0 0 0.5rem; max-width: 34rem; }
.aptv-banda__info { font-weight: 700; }
.aptv-banda .aptv-buton--inchis { border-color: #000000; }

.aptv-episoade { list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--aptv-linie); }
.aptv-episod {
	display: flex; flex-wrap: wrap; gap: 1rem 1.4rem; align-items: center; padding-block: 1rem;
	border-top: 1px solid var(--aptv-linie); color: var(--aptv-negru); text-decoration: none;
}
.aptv-episod:hover { color: var(--aptv-negru); }
.aptv-episod:hover .aptv-episod__titlu { text-decoration: underline; }
.aptv-episod__media { position: relative; flex: 0 0 13rem; max-width: 100%; aspect-ratio: 16 / 9; overflow: hidden; }
.aptv-episod__text { flex: 1 1 16rem; min-width: 0; display: flex; flex-direction: column; gap: 0.2rem; }
.aptv-episod__text .aptv-card__eticheta { font-size: var(--aptv-text-mic); font-weight: 700; color: var(--aptv-gri); }
.aptv-episod__titlu { font-size: 1.2rem; font-weight: 700; line-height: 1.3; }
.aptv-episod__porneste { flex: none; }

.aptv-alte { margin-top: 2.4rem; }
.aptv-grup { margin-bottom: 2.2rem; }
.aptv-grup h2 a { color: inherit; text-decoration: none; }
.aptv-grup h2 a:hover { text-decoration: underline; }

/* Cardul unei emisiuni: imaginea, apoi numele, descrierea și numărul de episoade, pe alb.
   Culoarea temei apare doar ca bandă subțire sub imagine (nu ca bloc mare). */
.aptv-grila--emisiuni { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.4rem 1.2rem; }
.aptv-emisiune { display: flex; flex-direction: column; background: #FFFFFF; border: 1px solid var(--aptv-chenar-fin); color: var(--aptv-negru); text-decoration: none; }
.aptv-emisiune:hover { color: var(--aptv-negru); border-color: var(--aptv-chenar); }
.aptv-emisiune:hover .aptv-emisiune__nume { text-decoration: underline; }
.aptv-emisiune__afis { display: block; aspect-ratio: 16 / 9; background: var(--aptv-imagine); border-bottom: 6px solid var(--c-tare, var(--aptv-albastru-inchis)); overflow: hidden; }
.aptv-emisiune__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.aptv-emisiune__fara-imagine { display: flex; align-items: flex-end; height: 100%; box-sizing: border-box; padding: 1rem 1.1rem; font-size: 1.5rem; font-weight: 700; line-height: 1.15; }
.aptv-emisiune__corp { flex: 1 1 auto; padding: 0.9rem 1rem 1rem; display: flex; flex-direction: column; gap: 0.45rem; }
.aptv-emisiune__nume { font-size: 1.3rem; font-weight: 700; line-height: 1.2; }
.aptv-emisiune__desc { color: #222222; line-height: 1.45; }
.aptv-emisiune__corp > .aptv-etichete { align-self: flex-start; }
.aptv-emisiune__meta { margin-top: auto; padding-top: 0.4rem; display: flex; flex-direction: column; gap: 0.2rem; font-size: var(--aptv-text-mic); color: var(--aptv-gri); }
.aptv-emisiune__vezi { font-weight: 700; color: var(--aptv-albastru-inchis); }
.aptv-grup__titlu { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.3rem 0.8rem; padding-left: 0.7rem; border-left: 8px solid var(--c-tare, var(--aptv-albastru-inchis)); }
.aptv-grup__numar { font-size: var(--aptv-text-mic); font-weight: 400; color: var(--aptv-gri); }
@media (max-width: 1100px) { .aptv-grila--emisiuni { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) { .aptv-grila--emisiuni { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Paginarea (aptv_paginare în ajutoare.php): butoane de cel puțin 48 × 48 px. */
.aptv-paginare { margin-top: 1.8rem; }
.aptv-buton--email, .aptv-ajutor .aptv-buton--email { white-space: normal; max-width: 100%; }
.aptv-buton--email > span { min-width: 0; }
.aptv-cautare__numar { margin: -0.2rem 0 1.4rem; color: var(--aptv-gri); }
.aptv-paginare__stare { margin: 0 0 0.6rem; font-weight: 700; }
.aptv-paginare__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.aptv-paginare__lista li { margin: 0; }
.aptv-paginare .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 48px; min-height: 48px;
	padding: 0.2em 0.9em; box-sizing: border-box; border: 2px solid var(--aptv-chenar); border-radius: 0;
	font-weight: 700; color: var(--aptv-negru); text-decoration: none; background: #FFFFFF;
}
.aptv-paginare a.page-numbers:hover { background: var(--aptv-albastru-inchis); border-color: var(--aptv-albastru-inchis); color: #FFFFFF; }
.aptv-paginare .page-numbers.current { background: var(--aptv-albastru-inchis); border-color: var(--aptv-albastru-inchis); color: #FFFFFF; }
.aptv-paginare .page-numbers.dots { border-color: transparent; background: transparent; min-width: 1.5em; padding: 0; }

/* 9. Pagina episodului și playerul -------------------------------------- */
.aptv-episod-pagina { display: flex; flex-wrap: wrap; gap: 2.2rem; align-items: flex-start; margin-top: 0.8rem; }
.aptv-episod-pagina__principal { flex: 999 1 36rem; min-width: 0; }
.aptv-episod-pagina__lateral { flex: 1 1 18rem; min-width: 0; }
.aptv-episod-pagina__lateral h2 { font-size: 1.3rem; }
.aptv-episod-pagina__etichete { margin-top: 0.4rem; }
.aptv-episod-pagina__meta { font-size: var(--aptv-text-mic); color: var(--aptv-gri); padding-left: 0.2rem; }
.aptv-episod-pagina h1 { font-size: 2rem; margin: 0.4em 0 0.6em; }
/* Titlul e deasupra playerului; playerul se micșorează ca să încapă în ecran (laptopuri cu ecran mic). */
.aptv-episod-pagina__principal > .aptv-player:not(.aptv-player--scurt) { width: min(100%, max(30rem, calc((100vh - 300px) * 16 / 9))); }
.aptv-episod-pagina__principal > .aptv-player + * { margin-top: 1.4rem; }
.aptv-episod-pagina .aptv-urmeaza { margin-top: 1.4rem; }
.aptv-episod-pagina__descriere { color: #222222; max-width: 40rem; }
.aptv-episod-pagina__nav { margin-top: 1rem; }

.aptv-urmeaza { margin-top: 1.8rem; border: 2px solid var(--aptv-chenar); }
.aptv-urmeaza__link {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.8rem 1.4rem;
	padding: 0.8rem 1rem 1rem; color: var(--aptv-negru); text-decoration: none;
}
.aptv-urmeaza__link:hover { color: var(--aptv-negru); }
.aptv-urmeaza__link:hover .aptv-urmeaza__titlu { text-decoration: underline; }
.aptv-urmeaza__supra { display: block; font-size: var(--aptv-text-mic); color: var(--aptv-gri); }
.aptv-urmeaza__titlu { display: block; font-size: 1.2rem; font-weight: 700; line-height: 1.3; }
.aptv-lista-mica { display: flex; flex-direction: column; border-bottom: 1px solid var(--aptv-linie); }
.aptv-lista-mica__toate { display: inline-flex; align-items: center; min-height: 44px; margin-top: 0.6rem; font-weight: 700; }

.aptv-sfat { display: flex; gap: 0.9rem; align-items: flex-start; margin-top: 1.6rem; padding: 1rem 1.2rem; background: #FFFFB3; }
.aptv-sfat svg { width: 1.6rem; height: 1.6rem; flex: none; }
.aptv-sfat p { margin: 0; }

.aptv-player { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--aptv-imagine); }
.aptv-player--scurt { aspect-ratio: 9 / 16; max-width: 24rem; max-height: 80vh; margin-inline: auto; }
.aptv-player__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.aptv-player__buton {
	position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: inline-flex; align-items: center; gap: 0.6rem;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
	min-height: 72px; padding: 0 1.6em; border: 0; border-radius: 0; cursor: pointer;
	background: var(--aptv-albastru-inchis); color: #FFFFFF;
	font: inherit; font-size: 1.35rem; font-weight: 700;
}
.aptv-player__buton:hover { background: var(--aptv-negru); }
.aptv-player__buton svg { width: 1.1em; height: 1.1em; }
.aptv-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* 10. Subsol ------------------------------------------------------------- */
.aptv-ajutor { padding-block: 2.6rem 2.4rem; }
.aptv-ajutor__in { background: var(--aptv-ajutor-fundal); color: var(--aptv-negru); padding: 1.6rem 1.8rem; display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; justify-content: space-between; }
.aptv-ajutor h2 { font-size: 1.5rem; margin: 0 0 0.2em; }
.aptv-ajutor p { margin: 0; }
.aptv-ajutor__butoane { display: flex; flex-wrap: wrap; gap: 0.7rem; }
.aptv-ajutor .aptv-buton { white-space: nowrap; }
.aptv-ajutor .aptv-buton--email { white-space: normal; } /* adresa lungă se poate rupe pe telefon */
.aptv-ajutor__butoane { min-width: 0; max-width: 100%; }

.aptv-subsol { border-top: 6px solid var(--aptv-albastru-inchis); background: var(--aptv-fundal); color: #222222; font-size: 18px; }
.aptv-subsol__grila { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 1.5rem; padding-block: 2rem; }
.aptv-subsol__logo { height: 32px; width: auto; display: block; margin-bottom: 0.8rem; background: #FFFFFF; padding: 6px 8px; }
.aptv-subsol__titlu { font-size: 18px; margin: 0 0 0.3rem; }
.aptv-subsol ul { list-style: none; margin: 0; padding: 0; }
.aptv-subsol li a { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 44px; }
.aptv-subsol p a { display: inline-block; padding-block: 0.5rem; }
.aptv-subsol__retele svg { width: 1.3rem; height: 1.3rem; }
.aptv-subsol__copyright { padding-bottom: 1.6rem; margin-block: 0; font-size: 16px; color: var(--aptv-gri); }

/* Portofoliu: serviciile oferite și blocul „Cereți o ofertă”. */
.aptv-servicii { list-style: none; margin: 0 0 2.6rem; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: 1.2rem; }
.aptv-serviciu { margin: 0; padding: 1.2rem 1.3rem 1.3rem; border: 2px solid var(--aptv-chenar); background: #FFFFFF; }
.aptv-serviciu__icon { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; background: var(--aptv-albastru-inchis); color: #FFFFFF; margin-bottom: 0.7rem; }
.aptv-serviciu__icon svg { width: 28px; height: 28px; }
.aptv-serviciu h3 { font-size: 1.2rem; line-height: 1.25; margin: 0 0 0.35em; }
.aptv-serviciu p { margin: 0; color: #222222; }
.aptv-proiecte { margin-bottom: 2.6rem; }
@media (min-width: 1000px) { .aptv-servicii { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.aptv-oferta { background: var(--aptv-albastru-inchis); color: #FFFFFF; padding: 1.6rem 1.8rem; margin-top: 2rem; display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; justify-content: space-between; }
.aptv-oferta h2 { color: #FFFFFF; font-size: 1.5rem; margin: 0 0 0.25em; }
.aptv-oferta p { margin: 0; max-width: 38rem; }
.aptv-oferta__butoane { display: flex; flex-wrap: wrap; gap: 0.7rem; }
.aptv-episod-pagina__principal .aptv-oferta { margin-top: 1.6rem; }

/* 11. Telefon și tabletă ------------------------------------------------- */
@media (max-width: 760px) {
	html { font-size: 18px; }
	html.aptv-text-mare { font-size: 21px; }
	html.aptv-text-foarte-mare { font-size: 24px; }

	/* Antet compact: logo + „Meniu”, rămâne sus la derulare. */
	.aptv-antet { position: sticky; top: 0; border-bottom: 6px solid var(--aptv-albastru-inchis); }
	.admin-bar .aptv-antet { top: 46px; }
	.aptv-antet__sus { flex-wrap: nowrap; min-height: 66px; padding-block: 0; }
	.aptv-logo { height: 30px; }
	.aptv-antet__unelte, .aptv-bara-meniu, .aptv-panou { display: none !important; }
	.aptv-meniu-buton {
		display: inline-flex; align-items: center; gap: 0.4em; min-height: 48px; padding: 0 1em;
		font: inherit; font-size: 18px; font-weight: 700; color: #FFFFFF;
		background: var(--aptv-albastru-inchis); border: 0; border-radius: 0; cursor: pointer;
	}
	.aptv-meniu-buton svg { width: 20px; height: 20px; }

	.aptv-recomandat { padding-top: 1rem; }
		.aptv-recomandat__text h1 { font-size: 1.45rem; }
	.aptv-recomandat__text .aptv-buton { width: 100%; }
	.aptv-main h1 { font-size: 1.6rem; }
	.aptv-banda h1 { font-size: 2rem; }
	.aptv-episod-pagina h1 { font-size: 1.5rem; }
	.aptv-episod__media { flex-basis: 100%; }
	.aptv-episod__porneste { width: 100%; }
	.aptv-recomandat__in { grid-template-columns: 1fr; }
	/* Pe telefon, „Cele mai noi” devine o listă: imagine mică în stânga, textul în dreapta. */
	.aptv-grila--4 { grid-template-columns: 1fr; gap: 0; }
	.aptv-grila--4 .aptv-card { flex-direction: row; align-items: flex-start; gap: 0.8rem; padding-block: 0.9rem; border-top: 1px solid var(--aptv-linie); }
	.aptv-grila--4 .aptv-card__media { flex: 0 0 42%; }
	.aptv-grila--4 .aptv-card__titlu { font-size: 1rem; }
	.aptv-grila--4 .aptv-card__data { display: none; }
	.aptv-grila--scurte { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.aptv-grila--teme { grid-template-columns: 1fr; }
	.aptv-grila--emisiuni { grid-template-columns: 1fr; gap: 1rem; }
	.aptv-emisiune { flex-direction: row; }
	.aptv-emisiune__afis { flex: 0 0 38%; aspect-ratio: auto; min-height: 6.5rem; border-bottom: 0; border-left: 6px solid var(--c-tare, var(--aptv-albastru-inchis)); }
	.aptv-emisiune__fara-imagine { font-size: 1.05rem; padding: 0.7rem; }
	.aptv-emisiune__corp { padding: 0.7rem 0.8rem; }
	.aptv-emisiune__nume { font-size: 1.15rem; }
	.aptv-emisiune__desc { display: none; }
	.aptv-univ__text, .aptv-univ__lista { padding-inline: 1.1rem; }
	.aptv-ajutor__in { padding: 1.2rem; }
	.aptv-oferta { padding: 1.2rem; }
	.aptv-oferta__butoane, .aptv-oferta__butoane .aptv-buton { width: 100%; }
	.aptv-ajutor .aptv-buton { width: 100%; }
	.aptv-player__buton { min-height: 60px; font-size: 1.1rem; padding: 0 1.1em; }
}
