/* ═══════════════════════════════════════════════════════════════
   Academia pentru Ea — vitrina (secțiunea de ofertă + „Cursul meu")
   Self-contained: paginile astea nu încarcă lectie.css, deci
   variabilele se declară aici, pe .apv.
   Culorile sunt în PERECHI: fiecare fundal își are textul lui.
   ═══════════════════════════════════════════════════════════════ */

.apv{
  --s-page:#FAF8F4;      --t-page:#3C3A36;
  --s-card:#FFFFFF;
  --t-ink:#121211;
  --t-quiet:#7C7871;

  --s-gold:#9E7330;      --t-on-gold:#FFFFFF;
  --s-gold-hi:#B88944;
  --t-gold:#8A6226;
  --s-gold-wash:#FBF5EA;

  --s-onyx:#141312;      --t-onyx:#F6F3ED;
  --s-onyx-2:#1E1C19;    --t-onyx-2:#B9B3A9;
  --t-gold-dark:#E0BE84;

  --line:#E7E3DC;
  --line-2:#D2CCC2;

  --disp:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:Montserrat,"Segoe UI",Arial,Helvetica,sans-serif;
  --alt:"League Spartan","Trebuchet MS",Arial,sans-serif;

  --ease:cubic-bezier(.22,.8,.3,1);
  --r-s:12px; --r-m:18px; --r-l:24px;

  font-family:var(--sans);
  font-size:16px;
  line-height:1.7;
  color:var(--t-page);
  background:var(--s-page);
}
@media (prefers-color-scheme:dark){
  .apv{
    --s-page:#100F0E; --t-page:#B4AEA5; --s-card:#161514;
    --t-ink:#F5F2EC; --t-quiet:#837E76; --t-gold:#DFBE8B;
    --s-gold-wash:#221B11; --line:#282520; --line-2:#3A3630;
  }
}

.apv *{box-sizing:border-box}
.apv-wrap{max-width:1100px;margin:0 auto;padding:56px 24px}
.apv .apv-i{width:1.05em;height:1.05em;flex:0 0 auto;display:inline-block;vertical-align:-.15em}
.apv :focus-visible{outline:2px solid var(--s-gold-hi);outline-offset:3px}
.apv-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ─── titluri ─── */
.apv-hd{text-align:center;max-width:62ch;margin:0 auto 44px}
.apv-kick{
  font-family:var(--alt);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  font-weight:600;color:var(--t-gold);margin:0 0 13px;
  display:flex;align-items:center;justify-content:center;gap:9px;
}
.apv-hd h2{
  font-family:var(--disp);font-weight:500;font-size:clamp(28px,4vw,42px);line-height:1.14;
  letter-spacing:-.008em;color:var(--t-ink);margin:0 0 13px;text-wrap:balance;
}
.apv-lede{margin:0;font-size:16px;color:var(--t-quiet);text-wrap:pretty}

.apv-top{padding-bottom:34px;border-bottom:1px solid var(--line);margin-bottom:36px}
.apv-top .apv-kick{justify-content:flex-start}
.apv-h1{
  font-family:var(--disp);font-weight:500;font-size:clamp(30px,4.2vw,44px);line-height:1.13;
  letter-spacing:-.008em;color:var(--t-ink);margin:0 0 14px;text-wrap:balance;max-width:20ch;
}
.apv-top .apv-lede{max-width:60ch}

/* ─── butoane: aurii, pline, complet rotunde, inversate pe hover ─── */
.apv .apv-btn{
  display:flex!important;align-items:center;justify-content:center;gap:9px;width:100%;
  min-height:52px;padding:.3em 26px 0;border-radius:999px!important;border:1px solid var(--s-gold)!important;
  background:var(--s-gold)!important;color:var(--t-on-gold)!important;
  font-family:var(--alt);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  text-decoration:none!important;cursor:pointer;box-shadow:none!important;
  transition:background .22s var(--ease),color .22s var(--ease),border-color .22s var(--ease);
}
.apv .apv-btn:hover,.apv .apv-btn:focus-visible{
  background:#FFFFFF!important;color:var(--t-gold)!important;border-color:#FFFFFF!important;
}
.apv .apv-btn-sm{min-height:44px;font-size:11.5px;width:auto;min-width:150px}
.apv .apv-btn .apv-i{width:15px;height:15px}

/* ─── prețuri ─── */
.apv-pr{font-family:var(--disp);font-size:21px;font-weight:600;color:var(--t-ink);
  white-space:nowrap;font-variant-numeric:tabular-nums}
.apv-pr small{font-family:var(--sans);font-size:11px;font-weight:500;color:var(--t-quiet);margin-left:4px}
.apv-big{font-size:42px;line-height:1;display:block}
.apv-big small{font-size:15px;color:inherit;opacity:.75}

/* ═════════ [apa_oferta] ═════════ */
.apv-grid{display:grid;gap:26px;grid-template-columns:1fr;align-items:start}
@media (min-width:920px){ .apv-grid{grid-template-columns:.95fr 1.05fr;gap:40px} }

.apv-pack{background:var(--s-onyx);border-radius:var(--r-l);padding:34px 28px;color:var(--t-onyx-2)}
.apv-pack-k{
  font-family:var(--alt);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  font-weight:600;color:var(--t-gold-dark);margin:0 0 11px;display:flex;align-items:center;gap:8px;
}
.apv-pack h3{
  font-family:var(--disp);font-weight:500;font-size:clamp(24px,3vw,32px);line-height:1.16;
  color:var(--t-onyx);margin:0 0 12px;text-wrap:balance;
}
.apv-pack-p{margin:0 0 22px;font-size:14px;line-height:1.7;color:var(--t-onyx-2);max-width:52ch}

.apv-figs{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 24px;
  border-block:1px solid rgba(224,190,132,.16)}
.apv-fig{padding:16px 6px;text-align:center;border-left:1px solid rgba(224,190,132,.16)}
.apv-fig:first-child{border-left:0}
.apv-fig b{display:block;font-family:var(--disp);font-size:27px;font-weight:600;line-height:1;
  color:var(--t-gold-dark);font-variant-numeric:tabular-nums}
.apv-fig span{display:block;margin-top:5px;font-family:var(--alt);font-size:9.5px;letter-spacing:.14em;
  text-transform:uppercase;font-weight:600;color:var(--t-onyx-2)}

.apv-prow{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.apv-prow .apv-big{color:var(--t-onyx);display:inline-block}
.apv-prow .apv-big small{color:var(--t-onyx-2)}
.apv-prow del{font-size:16px;color:var(--t-onyx-2);opacity:.5}
.apv-prow em{font-style:normal;margin-left:auto;font-family:var(--alt);font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;font-weight:600;color:var(--s-onyx);background:var(--t-gold-dark);
  padding:5px 10px;border-radius:999px}
.apv-note{font-size:12px;color:#8B857D;margin:0 0 20px}

.apv-lh{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding-bottom:12px;border-bottom:1px solid var(--line-2);margin-bottom:4px}
.apv-lh b{font-family:var(--alt);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  font-weight:600;color:var(--t-ink)}
.apv-lh span{font-size:12.5px;color:var(--t-quiet)}

.apv-row{display:grid;grid-template-columns:34px 1fr auto;gap:14px;align-items:center;
  padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;
  transition:background .18s var(--ease)}
.apv-row:hover,.apv-row:focus-visible{background:var(--s-gold-wash)}
.apv-rn{font-family:var(--disp);font-size:17px;font-weight:600;color:var(--t-gold);text-align:center}
.apv-rt{min-width:0}
.apv-rt b{display:block;font-family:var(--alt);font-size:14px;font-weight:600;color:var(--t-ink);line-height:1.35}
.apv-rt span{display:block;font-size:12.5px;color:var(--t-quiet);line-height:1.5;margin-top:2px}
.apv-rp{display:flex;align-items:center;gap:9px;white-space:nowrap}
.apv-rp .apv-i{width:14px;height:14px;color:var(--t-gold)}

.apv-cons{margin-top:20px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r-m);
  display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;background:var(--s-card)}
.apv-cons p{margin:0;font-size:13px;color:var(--t-quiet);flex:1 1 220px;line-height:1.6}
.apv-cons p b{color:var(--t-ink);font-weight:600;font-family:var(--alt);font-size:13.5px;display:block}
.apv-cons a{font-family:var(--alt);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:600;color:var(--t-gold);text-decoration:none;border-bottom:1px solid currentColor;white-space:nowrap}

/* ═════════ [apa_academia] ═════════ */
.apv-bar-wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px}
.apv-bar{flex:1 1 240px;height:7px;border-radius:999px;background:var(--line);overflow:hidden;min-width:160px}
.apv-bar i{display:block;height:100%;border-radius:999px;
  background:linear-gradient(90deg,var(--s-gold-hi),var(--s-gold))}
.apv-bar-t{font-family:var(--alt);font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  font-weight:600;color:var(--t-quiet);white-space:nowrap}
.apv-bar-t b{color:var(--t-gold)}

.apv-cont{background:var(--s-onyx);border-radius:var(--r-l);padding:30px 28px;margin-bottom:36px;
  display:grid;gap:22px;align-items:center;grid-template-columns:1fr}
@media (min-width:820px){ .apv-cont{grid-template-columns:1fr auto;padding:34px 38px;gap:34px} }
.apv-cont h2{font-family:var(--disp);font-weight:500;font-size:clamp(22px,2.7vw,28px);line-height:1.2;
  color:var(--t-onyx);margin:0 0 8px;text-wrap:balance}
.apv-cont-m{margin:0;font-size:12.5px;color:var(--t-onyx-2);font-family:var(--alt);
  letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.apv-cont .apv-btn{min-width:240px;width:auto}

/* blocul unui pilon */
.apv-p{border:1px solid var(--line);border-radius:var(--r-m);background:var(--s-card);
  margin-bottom:16px;overflow:hidden}
.apv-p-h{display:grid;grid-template-columns:46px 1fr;gap:16px;padding:22px 22px;align-items:start}
@media (min-width:760px){ .apv-p-h{grid-template-columns:46px 1fr auto;align-items:center;gap:20px;padding:22px 24px} }
.apv-rn2{width:46px;height:46px;border-radius:999px;border:1px solid var(--line-2);
  display:grid;place-items:center;font-family:var(--disp);font-size:19px;font-weight:600;color:var(--t-gold)}
.apv-p-t{min-width:0}
.apv-p-t h3{font-family:var(--alt);font-size:16px;font-weight:600;color:var(--t-ink);margin:0 0 5px;line-height:1.3}
.apv-p-m{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-family:var(--alt);font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--t-quiet)}
.apv-p-m .dot{width:3px;height:3px;border-radius:999px;background:var(--line-2)}
.apv-p-prog{display:flex;align-items:center;gap:12px;min-width:150px}
.apv-p-prog .apv-bar{flex:1 1 80px;height:6px;min-width:64px}
.apv-p-prog b{font-family:var(--alt);font-size:11px;letter-spacing:.1em;color:var(--t-gold);white-space:nowrap}
.apv-p-cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}

/* lista de lecții */
.apv-l{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.apv-l li{border-bottom:1px solid var(--line)}
.apv-l li:last-child{border-bottom:0}
.apv-l a,.apv-l .row{display:grid;grid-template-columns:32px 22px 1fr auto;gap:12px;align-items:center;
  padding:14px 22px;text-decoration:none;color:inherit;transition:background .18s var(--ease)}
@media (min-width:760px){ .apv-l a,.apv-l .row{padding:14px 24px} }
.apv-l a:hover,.apv-l a:focus-visible{background:var(--s-gold-wash)}
.apv-l .n{font-family:var(--alt);font-size:11px;font-weight:600;color:var(--t-quiet);letter-spacing:.06em}
.apv-l .st{display:grid;place-items:center}
.apv-l .st .apv-i{width:17px;height:17px}
.apv-l .st.done .apv-i{color:var(--s-gold)}
.apv-l .st.now .apv-i{color:var(--t-gold)}
.apv-l .st.lock .apv-i{color:var(--line-2)}
.apv-l .ti{font-size:14px;line-height:1.45;color:var(--t-ink);min-width:0}
.apv-l .du{font-family:var(--alt);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--t-quiet);white-space:nowrap}
.apv-l li.is-now{background:var(--s-gold-wash)}
.apv-l li.is-now .ti{font-weight:600}

.apv-p.is-lk{background:transparent;border-style:dashed}
.apv-p.is-lk .apv-rn2{color:var(--t-quiet)}
.apv-p.is-lk .apv-p-t h3{color:var(--t-quiet)}
.apv-p.is-lk .apv-l .ti{color:var(--t-quiet)}

/* panoul pachetului, varianta lată */
.apv-pack-wide{margin-top:32px;display:grid;gap:30px;grid-template-columns:1fr}
@media (min-width:900px){ .apv-pack-wide{grid-template-columns:1.2fr .8fr;padding:42px 42px;gap:46px;align-items:center} }
.apv-incl{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.apv-incl li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.55;color:var(--t-onyx-2)}
.apv-incl .apv-i{width:15px;height:15px;color:var(--t-gold-dark);margin-top:3px}
.apv-price{background:var(--s-onyx-2);border:1px solid rgba(224,190,132,.18);border-radius:var(--r-m);
  padding:26px 22px;text-align:center}
.apv-price .apv-big{color:var(--t-onyx);margin-bottom:6px}
.apv-price .apv-big small{color:var(--t-onyx-2)}
.apv-save{display:inline-block;font-family:var(--alt);font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;font-weight:600;color:var(--s-onyx);background:var(--t-gold-dark);
  padding:calc(5px + .13em) 12px calc(5px - .13em);border-radius:999px;margin-bottom:14px}
.apv-was{font-size:13px;margin:0 0 4px;color:var(--t-onyx-2)}
.apv-was del{opacity:.55}
.apv-cmp{font-size:12px;color:#8B857D;margin:0 0 18px}

/* resurse + consultanță */
.apv-two{display:grid;gap:16px;grid-template-columns:1fr;margin-top:18px}
@media (min-width:820px){ .apv-two{grid-template-columns:1fr 1fr} }
.apv-box{border:1px solid var(--line);border-radius:var(--r-m);padding:24px;background:var(--s-card)}
.apv-box-k{font-family:var(--alt);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  font-weight:600;color:var(--t-gold);margin:0 0 10px;display:flex;align-items:center;gap:8px}
.apv-box h4{font-family:var(--alt);font-size:15.5px;font-weight:600;color:var(--t-ink);margin:0 0 7px}
.apv-box p{margin:0 0 16px;font-size:13.5px;color:var(--t-quiet);line-height:1.6}
.apv-det summary{font-family:var(--alt);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:600;color:var(--t-gold);cursor:pointer;list-style:none}
.apv-det summary::-webkit-details-marker{display:none}
.apv-det summary::after{content:" +";letter-spacing:0}
.apv-det[open] summary::after{content:" −"}
.apv-det ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:9px}
.apv-det a{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--t-page);
  text-decoration:none;line-height:1.45}
.apv-det a:hover{color:var(--t-gold)}
.apv-det .apv-i{width:14px;height:14px;color:var(--t-gold)}

/* „am cumpărat deja" */
.apv-back{margin-top:32px;padding:30px 26px;border-radius:var(--r-m);background:var(--s-onyx);
  color:var(--t-onyx-2);text-align:center}
.apv-back h4{font-family:var(--disp);font-weight:500;font-size:22px;color:var(--t-onyx);margin:0 0 8px}
.apv-back p{margin:0 auto 18px;font-size:13.5px;max-width:46ch;line-height:1.65}
.apv-form{display:flex;gap:10px;flex-wrap:wrap;max-width:470px;margin:0 auto}
.apv-form input[type=email]{
  flex:1 1 210px;min-height:52px;padding:0 20px;border-radius:999px;
  border:1px solid rgba(224,190,132,.3);background:rgba(255,255,255,.04);
  color:var(--t-onyx);font-family:var(--sans);font-size:14px;
}
.apv-form input[type=email]::placeholder{color:#8B857D}
.apv-form .apv-btn{flex:1 1 170px;width:auto}
.apv-hint{margin:14px 0 0;font-size:11.5px;color:#8B857D;text-align:center}
.apv-ok{max-width:46ch;margin:0 auto 16px;font-size:13.5px;color:var(--t-gold-dark);line-height:1.6}

@media (prefers-reduced-motion:reduce){
  .apv *{transition:none!important;animation:none!important}
}

/* ── modul „se vinde doar pachetul complet" ── */
.apv-row.is-static{cursor:default}
.apv-row.is-static:hover{background:transparent}
.apv-inc{display:inline-flex;align-items:center;gap:7px;font-family:var(--alt);font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--t-quiet);white-space:nowrap}
.apv-inc .apv-i{width:13px;height:13px;color:var(--s-gold-hi)}

/* ═════════ [apa_produs] — o singură secțiune, un singur produs ═════════
   Secțiunea asta e mereu pe fundal deschis, indiferent de tema
   vizitatorului: e o secțiune de vânzare pe un site alb, iar culorile
   ei sunt fixate explicit ca să arate la fel peste tot. */
.apv-solo{
  --s-page:#FFFFFF;  --t-page:#3C3A36;  --s-card:#FFFFFF;
  --t-ink:#121211;   --t-quiet:#7C7871; --t-gold:#8A6226;
  --s-gold-wash:#FBF5EA; --line:#E7E3DC; --line-2:#D2CCC2;
  background:#FFFFFF; color:#3C3A36;
}
.apv-fundal-crem{--s-page:#FAF8F4;background:#FAF8F4}

.apv-solo-grid{display:grid;gap:34px;grid-template-columns:1fr;align-items:center}
@media (min-width:900px){
  .apv-solo-grid{grid-template-columns:1.05fr .95fr;gap:56px}
  .apv-solo-grid.is-inversat .apv-solo-txt{order:2}
  .apv-solo-grid.is-inversat .apv-card{order:1}
}
.apv-solo-txt .apv-kick{justify-content:flex-start;margin-bottom:14px}
.apv-solo-txt h2{
  font-family:var(--disp);font-weight:500;font-size:clamp(28px,3.6vw,40px);line-height:1.14;
  letter-spacing:-.008em;color:var(--t-ink);margin:0 0 16px;text-wrap:balance;
}
.apv-solo-p{margin:0 0 26px;font-size:16px;line-height:1.75;color:var(--t-quiet);max-width:52ch;text-wrap:pretty}
.apv-solo-l{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.apv-solo-l li{display:flex;gap:13px;align-items:flex-start;font-size:14.5px;line-height:1.6;color:var(--t-page)}
.apv-solo-l li strong{color:var(--t-ink);font-weight:600}
.apv-solo-l .apv-i{width:19px;height:19px;color:var(--s-gold);margin-top:3px}

/* cardul produsului */
.apv-card{
  border:1px solid var(--line);border-radius:var(--r-l);background:#FFFFFF;overflow:hidden;
  box-shadow:0 2px 4px rgba(18,18,17,.04), 0 24px 54px -28px rgba(18,18,17,.22);
}
.apv-card-poza{margin:0;line-height:0;background:#F4F1EC}
.apv-card-poza .apv-card-img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover}
.apv-card-in{padding:28px 26px 26px;text-align:center}
.apv-save-light{background:#F4E9D5;color:#8A6226}
.apv-card h3{
  font-family:var(--disp);font-weight:500;font-size:clamp(21px,2.4vw,26px);line-height:1.2;
  color:var(--t-ink);margin:0 0 14px;text-wrap:balance;
}
.apv-card-pr{display:flex;align-items:baseline;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.apv-card-pr .apv-big{color:var(--t-ink);display:inline-block}
.apv-card-pr .apv-big small{color:var(--t-quiet)}
.apv-card-pr del{font-size:17px;color:var(--t-quiet);opacity:.6}
.apv-card-cmp{margin:0 0 20px;font-size:12.5px;color:var(--t-quiet)}
.apv-card-mic{
  margin:14px 0 0;font-size:11.5px;color:var(--t-quiet);
  display:flex;align-items:center;justify-content:center;gap:7px;
}
.apv-card-mic .apv-i{width:13px;height:13px;color:var(--s-gold-hi)}

/* ═══════════════════════════════════════════════════════════════
   Lățime completă — DOAR pe pagina „Cursul meu".

   Tema pune conținutul într-un <main class="container"> cu max-width
   1222px. Îl lărgim NUMAI pe pagina care conține [apa_academia], adică
   pagina dedicată cursului, unde secțiunea noastră e singurul conținut.

   Pe homepage, unde [apa_oferta] stă alături de alte secțiuni făcute în
   Elementor, containerul NU se atinge: altfel s-ar lăți și restul paginii
   și s-ar lipi de marginile ecranului. De asta clasa de mai jos se pune
   doar pentru [apa_academia], nu pentru orice shortcode de-al nostru.
   ═══════════════════════════════════════════════════════════════ */

body.apa-vitrina-pagina main.wd-content-layout,
body.apa-vitrina-pagina main.wd-content-layout.container,
body.apa-vitrina-pagina main.content-layout-wrapper{
  max-width:none!important;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

body.apa-vitrina-pagina .wd-content-area,
body.apa-vitrina-pagina .wd-page-content,
body.apa-vitrina-pagina article.entry-content{
  margin:0!important;
  padding:0!important;
  width:100%!important;
  max-width:none!important;
}

/* Fundalul de sub secțiune, ca să nu rămână o bandă albă până la footer. */
body.apa-vitrina-pagina .wd-content-area{background:#FAF8F4}
@media (prefers-color-scheme:dark){
  body.apa-vitrina-pagina .wd-content-area{background:#141312}
}


/* League Spartan are majusculele așezate puțin mai sus decât centrul rândului
   (~1,5–2px la 11–13px). În pastile și butoane coborâm textul cu .13em
   (.3em sus la butoanele cu înălțime fixă), ca să stea optic pe mijloc.
   Valorile sunt măsurate pe fontul real, nu ghicite. */
/* ═══════════════════════════════════════════════════════════════
   [apa_oferta] — „Module în rând” (varianta 2)

   Sus: cele 5 module ca niște carduri, fiecare cu preț și cumpărare.
   Jos: cursul complet pe o bară închisă, cu poza produsului clară în
   dreapta și aceeași poză încețoșată pe fundal, fără alt model;
   prețul stă pe un panou de sticlă mată.
   Pe telefon modulele se derulează orizontal.

   Aspect FIX (deschis), nu se schimbă după tema telefonului: secțiunea
   stă pe homepage între alte secțiuni deschise.
   Toți selectorii au două clase, ca să bată stilurile temei/Elementor.
   Fără umbre.
   ═══════════════════════════════════════════════════════════════ */

.apo{
  --o-gold:#9E7330; --o-gold-hi:#B88944; --o-gold-ink:#8A6226; --o-gold-soft:#E0BE84;
  --o-onyx:#141312; --o-cream:#FAF8F4;
  --o-t1:#141312; --o-t2:#4A4640; --o-t3:#6E6961; --o-ln:#E4DFD6;
  --o-d1:#F5F1EA; --o-d2:#D8D0C3; --o-d3:#ABA294;
  --o-disp:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --o-sans:Montserrat,"Segoe UI",Arial,Helvetica,sans-serif;
  --o-alt:"League Spartan","Trebuchet MS",Arial,sans-serif;
  background:var(--o-cream);color:var(--o-t2);
  font-family:var(--o-sans);font-size:16px;line-height:1.65;
  padding:84px 40px;-webkit-font-smoothing:antialiased;
}
.apo *,.apo *::before,.apo *::after{box-sizing:border-box}
.apo .apo-in{max-width:1280px;margin:0 auto}

.apo .apo-kick{margin:0;font:600 12px/1.3 var(--o-alt);letter-spacing:.22em;text-transform:uppercase;color:var(--o-gold-ink)}
/* eticheta „Nou”: în capul secțiunii și pe bara cursului complet */
.apo .apo-nou{display:inline-block;vertical-align:1px;margin-right:12px;padding:calc(5.5px + .13em) 10px calc(5.5px - .13em);border-radius:999px;
  background:var(--o-gold);color:#fff;font:600 10.5px/1 var(--o-alt);letter-spacing:.18em}
.apo .apo-nou-tag{position:absolute;z-index:2;top:22px;right:22px;padding:calc(10px + .13em) 15px calc(10px - .13em);border-radius:999px;
  font:600 11px/1 var(--o-alt);letter-spacing:.16em;text-transform:uppercase;color:#fff;
  border:1px solid rgba(255,255,255,.30);background:rgba(20,19,18,.28);
  -webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%)}
.apo .apo-nou-tag::before{content:"";display:inline-block;width:7px;height:7px;margin-right:9px;border-radius:50%;vertical-align:1px;background:var(--o-gold-soft)}
.apo .apo-hd{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:20px 64px;align-items:end;margin:0 0 44px}
.apo .apo-h2{margin:16px 0 0;padding:0;font:500 clamp(36px,4.2vw,54px)/1.06 var(--o-disp);color:var(--o-t1);letter-spacing:-.005em;text-wrap:balance;text-transform:none}
.apo .apo-lede{margin:0;font-size:17px;line-height:1.72;color:var(--o-t2);max-width:56ch}

/* ── cardurile modulelor ── */
.apo .apo-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.apo .apo-card{display:flex;flex-direction:column;min-height:262px;padding:26px 22px 22px;border:1px solid var(--o-ln);border-radius:22px;
  /* alb, cu o nuanță caldă abia simțită spre bază, pe tot cardul */
  background:linear-gradient(180deg,#FFFFFF 0%,#FCF8F1 100%);color:var(--o-t2);text-decoration:none!important;transition:border-color .2s ease,transform .2s ease}
.apo a.apo-card:hover,.apo a.apo-card:focus-visible{border-color:var(--o-gold-hi);transform:translateY(-2px);color:var(--o-t2)}
.apo .apo-card:focus-visible{outline:2px solid var(--o-gold-hi);outline-offset:3px}
.apo .apo-rn{font:600 42px/1 var(--o-disp);color:var(--o-gold)}
.apo .apo-t{display:block;margin-top:18px;font:600 18px/1.3 var(--o-sans);color:var(--o-t1);text-wrap:balance}
.apo .apo-m{display:block;margin-top:8px;font-size:14.5px;line-height:1.5;color:var(--o-t3)}
.apo .apo-foot{margin-top:auto;padding-top:18px;border-top:1px solid var(--o-ln);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.apo .apo-pr{font:600 30px/1 var(--o-disp);color:var(--o-t1);font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
.apo .apo-pr small{font:500 .4em/1 var(--o-sans);margin-left:.28em;letter-spacing:.02em}
.apo .apo-buy{display:inline-flex;align-items:center;font:600 11px/1 var(--o-alt);letter-spacing:.14em;text-transform:uppercase;
  color:var(--o-gold-ink);border:1px solid var(--o-gold);border-radius:999px;padding:calc(11px + .13em) 15px calc(11px - .13em);transition:background .2s,color .2s}
.apo a.apo-card:hover .apo-buy,.apo a.apo-card:focus-visible .apo-buy{background:var(--o-gold);color:#fff}
.apo .apo-inc{display:inline-flex;align-items:center;gap:7px;font:600 11px/1.3 var(--o-alt);letter-spacing:.12em;text-transform:uppercase;color:var(--o-gold-ink)}
.apo .apo-ck{width:16px;height:16px;flex:0 0 auto}
.apo .apo-dots{display:none}

/* ── bara cursului complet ── */
.apo .apo-bar{position:relative;isolation:isolate;overflow:hidden;margin-top:18px;display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr) minmax(0,.62fr);gap:36px;align-items:center;
  min-height:380px;padding:48px 0 48px 52px;border-radius:28px;background:var(--o-onyx);color:var(--o-d2)}
.apo .apo-bar.is-fara-poza{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);padding-right:52px}
.apo .apo-bg{position:absolute;inset:-60px;z-index:-3}
.apo .apo-bg img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;filter:blur(40px) saturate(1.2);opacity:.6}
/* întunecare spre stânga, unde e textul */
.apo .apo-bar::before{content:"";position:absolute;inset:0;z-index:-2;
  background:linear-gradient(90deg,rgba(20,19,18,.95) 0%,rgba(20,19,18,.84) 48%,rgba(20,19,18,.40) 100%)}
.apo .apo-bar.is-fara-poza::before{background:radial-gradient(70% 120% at 85% 50%,rgba(158,115,48,.35),rgba(20,19,18,0) 70%),var(--o-onyx)}
.apo .apo-bar .apo-kick{color:var(--o-gold-soft)}
.apo .apo-h3{margin:14px 0 0;padding:0;font:500 40px/1.05 var(--o-disp);color:var(--o-d1);text-transform:none;letter-spacing:0}
.apo .apo-sub{margin:6px 0 0;font-size:16px;color:var(--o-d2)}
.apo .apo-list{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:11px}
.apo .apo-list li{display:flex;gap:11px;align-items:flex-start;margin:0;padding:0;font-size:15.5px;line-height:1.5;color:#E4DED3}
.apo .apo-list li::before{content:none}
.apo .apo-list .apo-ck{color:var(--o-gold-soft);margin-top:3px}

.apo .apo-box{display:grid;justify-items:start;gap:10px;padding:30px;border-radius:24px;border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.07);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%)}
.apo .apo-save{font:600 12px/1 var(--o-alt);letter-spacing:.12em;text-transform:uppercase;color:var(--o-onyx);background:var(--o-gold-soft);border-radius:999px;padding:calc(9px + .13em) 14px calc(9px - .13em)}
.apo .apo-big{font-size:68px;color:var(--o-d1);margin-top:6px}
.apo .apo-cmp{font-size:14.5px;line-height:1.55;color:var(--o-d2)}
.apo .apo-cmp del{color:var(--o-d3)}
.apo .apo-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;margin-top:10px;padding:.3em 26px 0;
  border:1px solid var(--o-gold)!important;border-radius:999px!important;background:var(--o-gold)!important;color:#fff!important;
  font:600 13px/1 var(--o-alt);letter-spacing:.16em;text-transform:uppercase;text-decoration:none!important;box-shadow:none!important;
  transition:background .2s,color .2s,border-color .2s}
.apo .apo-btn:hover,.apo .apo-btn:focus-visible{background:#fff!important;color:var(--o-gold-ink)!important;border-color:#fff!important}
.apo .apo-ar{width:16px;height:16px;flex:0 0 auto}
.apo .apo-mic{display:flex;gap:8px;align-items:center;justify-content:center;width:100%;margin:2px 0 0;font-size:13px;color:var(--o-d3)}
.apo .apo-mic .apo-ck{width:14px;height:14px;color:var(--o-gold-soft)}

/* Poza intră cu 140px sub panoul de preț, ca trecerea de la întuneric la poză
   să fie lungă și moale, nu o margine. Stă sub panou (z-index), nu peste el. */
.apo .apo-foto{position:relative;z-index:-1;align-self:stretch;margin:-48px 0 -48px -140px;min-height:100%}
.apo .apo-foto img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:50% 18%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 38%,#000 70%);
          mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 38%,#000 70%)}

.apo .apo-cons{margin:22px 0 0;text-align:center;font-size:16px;color:var(--o-t2)}
.apo .apo-cons a{color:var(--o-gold-ink);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.apo .apo-cons a:hover{color:var(--o-gold)}

/* ── laptop mic / tabletă ── */
@media (max-width:1100px){
  .apo{padding:68px 28px}
  .apo .apo-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;
    margin:0 -28px;padding:4px 28px 6px;scroll-padding-inline:28px}
  .apo .apo-cards::-webkit-scrollbar{display:none}
  .apo .apo-card{flex:0 0 calc(33.333% - 10px);scroll-snap-align:start}
  .apo .apo-dots{display:flex;justify-content:center;gap:6px;margin-top:14px}
  .apo .apo-dots i{display:block;width:6px;height:6px;border-radius:6px;background:var(--o-gold);opacity:.25;transition:width .2s,opacity .2s}
  .apo .apo-dots i.on{width:18px;opacity:.9}
  .apo .apo-bar{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);padding-right:40px}
  .apo .apo-foto{display:none}
}

/* ── telefon ── */
@media (max-width:760px){
  .apo{padding:52px 20px}
  .apo .apo-hd{grid-template-columns:minmax(0,1fr);margin-bottom:26px}
  .apo .apo-lede{font-size:15.5px}
  .apo .apo-hd .apo-kick{font-size:11px;letter-spacing:.13em}
  .apo .apo-nou{margin-right:8px}
  .apo .apo-cards{margin:0 -20px;padding:4px 20px 6px;scroll-padding-inline:20px;gap:12px}
  .apo .apo-card{flex:0 0 74%;min-height:232px}

  .apo .apo-bar,.apo .apo-bar.is-fara-poza{grid-template-columns:minmax(0,1fr);gap:20px;min-height:0;padding:0 0 18px;border-radius:24px}
  .apo .apo-foto{display:block;order:-1;z-index:auto;margin:0;height:270px;min-height:0}
  .apo .apo-foto img{object-position:50% 15%;
    -webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%)}
  .apo .apo-txt{position:relative;padding:0 22px}
  .apo .apo-bar:not(.is-fara-poza) .apo-txt{margin-top:-60px}
  .apo .apo-bar.is-fara-poza .apo-txt{padding-top:26px}
  .apo .apo-bar::before{background:linear-gradient(180deg,rgba(20,19,18,.30) 0%,rgba(20,19,18,.92) 40%,rgba(20,19,18,.96) 100%)}
  .apo .apo-h3{font-size:32px}
  .apo .apo-nou-tag{top:16px;right:auto;left:16px}
  .apo .apo-bar .apo-kick{letter-spacing:.18em}
  .apo .apo-kick-x{display:none}
  .apo .apo-box{margin:0 14px;padding:22px}
  .apo .apo-big{font-size:56px}
  .apo .apo-btn{padding:.3em 18px 0;font-size:12px;letter-spacing:.12em}
}

@media (prefers-reduced-motion:reduce){
  .apo .apo-card,.apo .apo-buy,.apo .apo-btn,.apo .apo-dots i{transition:none}
}
