/* ==========================================================================
   CONTUL MEMBRULUI
   Se incarca DOAR pe pagina de cont (vezi sectiunea 10 din functions.php).

   Marcajul nu mai sta in functions.php: fiecare bucata are fisierul ei in
   template-parts/cont/. Aici sunt doar culorile, masurile si asezarea.

   TREI LUCRURI ERAU GRESITE INAINTE, si tot atatea le raspund mai jos:
     - continutul statea intr-o coloana de 720px pe o panza de 1490 -> foaia
       dubla, cu coloana de context in dreapta;
     - nu exista niciun semn desenat -> assets/icoane.svg;
     - totul statea direct pe pergament -> `.rp-fisa`, montata ca o plansa.
   ========================================================================== */

/* --------------------------------------------------------------------------
   TOKENURI — se schimba o singura data, aici, si se vad peste tot
   -------------------------------------------------------------------------- */
:root{
  --rp-hartie:#FBF6EA;                    /* fisa: mai deschisa decat fundalul */
  --rp-hartie-2:#F4EBD6;                  /* adanciturile: medalion, obiect */
  --rp-tus:#33261A;                       /* textul */
  --rp-maro:#6C3F1F;                      /* liniile groase, titlurile */
  --rp-linie:rgba(108,63,31,.26);         /* chenarele */
  --rp-linie-fina:rgba(108,63,31,.13);    /* rigla interioara, despartitoarele */
  --rp-teracota:#9C4C2F;                  /* accentul: stampile, cifre vii */
  --rp-verde:#41663A;                     /* actiunea */
  --rp-aur:#A8823C;                       /* medalia, nivelul, clasamentul */
  --rp-raza:22px;
  --rp-umbra:0 12px 26px -18px rgba(58,34,14,.6);
  --rp-latime:1490px;

  /* pastrate pentru bucatile inca nemutate din functions.php */
  --cont-chenar:#6C3F1F;
  --cont-fundal:#E7DFC85E;
  --cont-linie:rgba(0,0,0,.14);
  --cont-raza:22px;
}

/* ==========================================================================
   LATIMEA PAGINII — 1490px
   Containerul acestei pagini nu are latime proprie in Elementor, deci lua
   valoarea implicita a temei si iesea vizibil mai ingust decat cosul si
   finalizarea.

   Se scrie in TREI locuri, fiindca Elementor imparte lucrul intre ele:
   variabila da latimea, `.e-con-inner` o citeste, iar invelisul nostru are
   propria lui limita. `[data-elementor-type="wp-page"]` alege containerele
   PAGINII, nu pe cele ale antetului si subsolului — care sunt tot
   `e-con-boxed` si care, largite, ar fi iesit din rand cu restul site-ului.
   ========================================================================== */
@media (min-width:1025px){
  body.woocommerce-account [data-elementor-type="wp-page"] > .e-con{
    --container-max-width:1490px;
    --content-width:min(100%,1490px);
  }
  body.woocommerce-account [data-elementor-type="wp-page"] > .e-con > .e-con-inner{
    max-width:1490px;
  }
  body.woocommerce-account .rp-cont{ max-width:var(--rp-latime); }
}

.rp-cont{ width:100%;color:var(--rp-tus); }
.rp-cont svg{ flex:0 0 auto; }

/* Antetul paginilor de cont se face acum in Elementor, ca sablon propriu.
   Regulile lui (`.rp-antet-site*`) au fost scoase de aici odata cu marcajul. */

/* ==========================================================================
   FISA — cartonul pe care sta totul

   Adancimea vine din trei straturi, nu dintr-o umbra oarecare: hartia mai
   deschisa decat pergamentul, umbra calda dedesubt si rigla interioara la
   6px — cum e montata o plansa de ierbar. Fara ele, totul statea direct pe
   fundal si parea plat.
   ========================================================================== */
.rp-fisa{
  position:relative;
  background:var(--rp-hartie);
  border:1px solid var(--rp-linie);
  border-radius:var(--rp-raza);
  box-shadow:var(--rp-umbra),0 1px 0 rgba(255,255,255,.7) inset;
  padding:24px 26px;
}
/* Rigla interioara. `pointer-events:none` fiindca acopera toata fisa, iar
   fara asta ar fi inghitit clicurile de pe placi si de pe butoane. */
.rp-fisa::after{
  content:"";position:absolute;inset:6px;pointer-events:none;
  border:1px solid var(--rp-linie-fina);
  border-radius:calc(var(--rp-raza) - 6px);
}
.rp-fisa > *{ position:relative;z-index:1; }

/* ==========================================================================
   ANTETUL ZONEI DE CONT — cine esti, unde esti in Club, si meniul
   Acelasi pe toate filele: nu mai trebuie sa te intorci pe pagina de start ca
   sa treci dintr-o sectiune in alta.
   ========================================================================== */
.rp-antet{
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
  padding:24px 28px;margin-bottom:34px;
}
.rp-antet-medalion{
  flex:0 0 auto;width:82px;height:82px;border-radius:50%;
  display:grid;place-content:center;position:relative;
  font-family:'Teutonic',Georgia,serif;font-size:30px;color:var(--rp-maro);
  border:1px solid var(--rp-linie);background:var(--rp-hartie-2);
}
.rp-antet-medalion::after{
  content:"";position:absolute;inset:6px;
  border:1px solid var(--rp-linie-fina);border-radius:50%;
}
.rp-antet-cine{ flex:1 1 240px;min-width:0; }
.rp-antet-nume{
  font-family:'Teutonic',Georgia,serif;font-weight:400;font-size:29px;
  line-height:1.1;color:var(--rp-maro);margin:0;
}
.rp-antet-mail{ font-size:13.5px;opacity:.65;margin:2px 0 0;word-break:break-all; }

.rp-insigna{
  display:inline-flex;align-items:center;gap:8px;margin-top:10px;
  border:1px solid var(--rp-aur);color:#7A5E22;background:rgba(168,130,60,.12);
  border-radius:999px;padding:5px 14px;
  font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;
}

/* Drumul catre nivelul urmator, in antet. `progress()` intoarce o fractie
   0..1, transformata in procente inainte de a ajunge in `style`. */
.rp-drum{ flex:1 1 300px;min-width:250px; }
.rp-drum-capete{ display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:12.5px;margin-bottom:8px; }
.rp-drum-capete b{ font-weight:400;font-family:'Metallophile Sp8 Medium',Georgia,serif;font-size:15px;color:var(--rp-maro); }
.rp-drum-capete span{ opacity:.6; }
.rp-drum-bara{ height:10px;border-radius:999px;background:rgba(108,63,31,.14);overflow:hidden; }
.rp-drum-umplut{ display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#7A4A24,#9C4C2F); }
.rp-drum-nota{ font-size:13px;margin:9px 0 0;opacity:.78; }
.rp-drum-nota .amount{ font-weight:700; }

/* ==========================================================================
   MENIUL ZONEI DE CONT
   Se deruleaza pe orizontala pe ecrane mici, in loc sa se rupa pe trei randuri.

   FONTUL e cel al meniului site-ului — Metallophile Sp8 Medium. Pana acum lua
   fontul de text (Poppins, 14px) si se citea ca un rand de etichete, nu ca o
   navigare. In antetul site-ului acelasi meniu e la 22px; aici e la 20, ca sa
   se vada ca sunt de acelasi fel, dar ca unul e deasupra celuilalt.

   `line-height:1.1` e scris anume: Metallophile are alta inaltime de rand decat
   Poppins, iar fara el pastilele ar fi crescut in inaltime fara motiv.
   ========================================================================== */
/* Distanta dintre cele doua randuri se tine din invelis, cu `gap`. Inainte se
   tinea cu o margine negativa pe randul al doilea, care trebuia recalculata la
   fiecare schimbare de marime a primului — adica exact acum. */
.rp-cont-meniu{ display:flex;flex-direction:column;gap:10px;margin:0 0 32px; }

.rp-meniu{
  display:flex;gap:10px;flex-wrap:wrap;
  list-style:none;margin:0;padding:0;
}
.rp-meniu a{
  display:inline-flex;align-items:center;gap:11px;
  padding:13px 24px;border-radius:999px;
  border:1px solid transparent;
  font-family:'Metallophile Sp8 Medium',Georgia,serif;
  font-size:24px;line-height:1.1;
  color:var(--rp-maro);text-decoration:none;
  transition:border-color .16s,background-color .16s,color .16s;
}
.rp-meniu a:hover,
.rp-meniu a:focus-visible{
  border-color:var(--rp-linie);background:rgba(251,246,234,.7);text-decoration:none;
}
.rp-meniu a svg{ color:var(--rp-teracota);opacity:.85; }
/* Fila pe care esti: plina, ca sa se vada dintr-o privire — nu doar ingrosata. */
.rp-meniu-acum a,
.rp-meniu-acum a:hover{
  background:var(--rp-maro);color:#F5E9CF;border-color:var(--rp-maro);
}
.rp-meniu-acum a svg{ color:#E4C98F;opacity:1; }

/* ---------- randul al doilea: frunzele ramurii deschise -------------------
   Fara pastila plina si fara chenar: doua pastile pline, una sub alta, ar fi
   spus de doua ori acelasi lucru si n-ar mai fi aratat care e deasupra careia.
   Pagina curenta se marcheaza cu o linie de tus dedesubt — semnul cel mai mic
   care se vede totusi de la distanta. */
.rp-submeniu{
  display:flex;gap:7px;flex-wrap:wrap;
  list-style:none;margin:0;padding:0 0 0 6px;
}
.rp-submeniu a{
  display:inline-flex;align-items:center;gap:9px;
  padding:8px 17px;border-radius:999px;
  font-family:'Metallophile Sp8 Medium',Georgia,serif;
  font-size:18px;line-height:1.1;
  color:var(--rp-maro);opacity:.72;text-decoration:none;
  border-bottom:2px solid transparent;
  transition:opacity .16s,color .16s,background-color .16s;
}
.rp-submeniu a:hover,
.rp-submeniu a:focus-visible{
  opacity:1;background:rgba(251,246,234,.7);text-decoration:none;color:var(--rp-maro);
}
.rp-submeniu a svg{ color:var(--rp-teracota);opacity:.8; }
.rp-submeniu-acum a{
  opacity:1;color:var(--rp-teracota);
  border-bottom-color:var(--rp-teracota);
  border-radius:999px 999px 0 0;
}
.rp-submeniu-acum a svg{ opacity:1; }
/* Iesirea se desparte de restul: nu e o sectiune, e o actiune. */
.rp-meniu-iesire{ margin-left:auto; }
.rp-meniu-iesire a{ opacity:.7; }

@media(max-width:900px){
  .rp-meniu{
    flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;
    scrollbar-width:thin;
  }
  /* Pe un rand care se deruleaza, 20px ar fi cerut prea multa derulare pentru
     douasprezece file. */
  .rp-meniu a{ white-space:nowrap;font-size:19px;padding:10px 18px; }
  .rp-meniu-iesire{ margin-left:0; }
  .rp-submeniu{ flex-wrap:nowrap;overflow-x:auto;padding-left:0; }
  .rp-submeniu a{ white-space:nowrap;font-size:16px; }
}

/* ==========================================================================
   CAPUL UNEI FILE — medalion, titlu, o propozitie despre ce e fila
   Intrai in „Comenzi" si nu scria nicaieri „Comenzi": pe sablonul WooCommerce
   meniul din stanga arata unde esti, iar meniul acela a disparut.
   ========================================================================== */
/* Legatura „inapoi la contul meu" nu mai exista: meniul de deasupra o face, si
   inca mai bine — se poate trece direct in orice alta fila, nu doar acasa. */
.rp-cap{ display:flex;align-items:center;gap:20px;margin:6px 0 26px; }
.rp-cap-medalion{
  flex:0 0 auto;width:66px;height:66px;border-radius:50%;
  display:grid;place-content:center;position:relative;
  color:var(--rp-teracota);background:var(--rp-hartie);
  border:1px solid var(--rp-linie);box-shadow:var(--rp-umbra);
}
.rp-cap-medalion::after{
  content:"";position:absolute;inset:5px;
  border:1px solid var(--rp-linie-fina);border-radius:50%;
}
.rp-cap-titlu{
  font-family:'Teutonic',Georgia,serif;font-weight:400;font-size:38px;
  line-height:1.05;color:var(--rp-maro);margin:0;
}
.rp-cap-sub{ margin:4px 0 0;font-size:14.5px;opacity:.72;max-width:62ch; }

/* ==========================================================================
   FOAIA DUBLA — continut + coloana de context
   Sub 1180px coloana de context coboara sub continut; nu dispare, fiindca
   tocmai ea raspunde la intrebarile pe care omul le are chiar atunci.
   ========================================================================== */
.rp-spread{ display:grid;grid-template-columns:minmax(0,1fr) 348px;gap:26px;align-items:start; }
.rp-spread-singur{ grid-template-columns:minmax(0,1fr); }
.rp-coloana{ min-width:0; }
.rp-rail{ display:flex;flex-direction:column;gap:18px;position:sticky;top:24px; }
.rp-rail .rp-fisa{ padding:20px 22px; }

@media(max-width:1180px){
  .rp-spread{ grid-template-columns:minmax(0,1fr); }
  .rp-rail{ position:static; }
}

.rp-titlu-sectiune{
  font-family:'Metallophile Sp8 Medium',Georgia,serif;font-weight:400;font-size:20px;
  color:var(--rp-maro);margin:34px 0 14px;
  display:flex;align-items:center;gap:12px;
}
.rp-titlu-sectiune::after{ content:"";flex:1;height:1px;background:var(--rp-linie-fina); }
.rp-coloana > .rp-titlu-sectiune:first-child{ margin-top:0; }

/* ---------- randurile din coloana de context ---------------------------- */
.rp-rail h3{
  font-family:'Metallophile Sp8 Medium',Georgia,serif;font-weight:400;font-size:17px;
  color:var(--rp-maro);margin:0 0 14px;
  display:flex;align-items:center;gap:9px;
}
.rp-rail h3 svg{ color:var(--rp-teracota); }
.rp-rand{ display:flex;align-items:flex-start;gap:12px;padding:11px 0;border-bottom:1px solid var(--rp-linie-fina); }
.rp-rand:last-of-type{ border-bottom:0;padding-bottom:0; }
.rp-rand svg{ margin-top:2px;color:var(--rp-teracota);opacity:.85; }
.rp-rand-corp{ min-width:0;flex:1; }
.rp-rand-nume{ font-size:14px;color:var(--rp-maro);margin:0; }
.rp-rand-nota{ font-size:12.5px;opacity:.68;margin:2px 0 0; }
.rp-rand-val{ font-size:13px;color:var(--rp-teracota);white-space:nowrap;font-variant-numeric:tabular-nums; }
.rp-rail-nota{ font-size:12.5px;opacity:.68;margin:14px 0 0;line-height:1.55; }

.rp-premiu{ display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--rp-linie-fina); }
.rp-premiu:last-of-type{ border-bottom:0;padding-bottom:0; }
.rp-premiu-cand{ font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.6;width:80px;flex:0 0 auto; }
.rp-premiu-ce{ font-size:14px;color:var(--rp-maro);flex:1; }
/* Premiul cel mai apropiat, scos in fata: e singurul pe care mai poti sa-l
   influentezi luna asta. */
.rp-premiu-acum .rp-premiu-cand{ color:var(--rp-aur);opacity:1; }
.rp-premiu-acum .rp-premiu-ce{ color:var(--rp-teracota); }

/* ==========================================================================
   BUTOANELE
   ========================================================================== */
.rp-buton,
.rp-cont button[type="submit"],
.rp-cont .button{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  background:var(--rp-verde);color:#fff;border:0;border-radius:999px;
  font-family:inherit;font-size:15px;line-height:1.3;
  min-height:46px;padding:11px 26px;cursor:pointer;text-decoration:none;
  box-shadow:0 8px 18px -12px rgba(20,50,15,.9);
}
.rp-buton:hover,
.rp-cont button[type="submit"]:hover,
.rp-cont .button:hover{ color:#fff;text-decoration:none;filter:brightness(1.06); }
.rp-buton-lat{ width:100%; }
.rp-buton-slab,
.rp-cont .button.rp-buton-slab{
  background:none;color:var(--rp-maro);border:1px solid var(--rp-linie);box-shadow:none;
}
.rp-buton-slab:hover,
.rp-cont .button.rp-buton-slab:hover{ background:rgba(108,63,31,.06);color:var(--rp-maro);filter:none; }
.rp-buton-mic{ min-height:auto;font-size:13.5px;padding:8px 18px; }
.rp-cont .woocommerce-Button--next,
.rp-cont .woocommerce-Button--previous{ min-height:auto;padding:8px 18px;font-size:14px; }

/* ==========================================================================
   PAGINA DE START — cifrele si placile
   ========================================================================== */
.rp-cifre{ display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:6px; }
.rp-cifra{ padding:20px 22px; }
.rp-cifra svg{ color:var(--rp-teracota);opacity:.8; }
.rp-cifra b{
  display:block;font-family:'Teutonic',Georgia,serif;font-weight:400;font-size:29px;
  color:var(--rp-maro);line-height:1;margin:10px 0 5px;
}
.rp-cifra b .amount{ font-size:inherit;font-weight:inherit; }
.rp-cifra span{ font-size:12.5px;opacity:.7; }

.rp-grup{
  font-family:'Metallophile Sp8 Medium',Georgia,serif;font-size:13px;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--rp-maro);opacity:.6;margin:32px 0 13px;
}
.rp-placi{ display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:16px; }
.rp-placa{
  display:flex;gap:15px;align-items:flex-start;
  padding:20px 22px;color:inherit;text-decoration:none;
  transition:transform .18s,box-shadow .18s,border-color .18s;
}
.rp-placa:hover,
.rp-placa:focus-visible{
  text-decoration:none;transform:translateY(-3px);border-color:var(--rp-teracota);
  box-shadow:0 18px 30px -20px rgba(58,34,14,.75),0 1px 0 rgba(255,255,255,.7) inset;
}
.rp-placa-icon{
  flex:0 0 auto;width:44px;height:44px;border-radius:50%;
  display:grid;place-content:center;color:var(--rp-teracota);
  background:rgba(156,76,47,.09);border:1px solid rgba(156,76,47,.22);
}
.rp-placa-corp{ min-width:0; }
.rp-placa-nume{ display:block;font-family:'Metallophile Sp8 Medium',Georgia,serif;font-size:17px;color:var(--rp-maro); }
.rp-placa-cifra{ display:block;font-size:13.5px;color:var(--rp-teracota);margin-top:3px; }
/* Randul de instructiune: despartit printr-o linie punctata, ca sa nu fie
   citit tot ca o valoare. */
.rp-placa-ghid{
  display:block;font-size:12.5px;opacity:.68;line-height:1.5;
  margin-top:8px;padding-top:8px;border-top:1px dashed var(--rp-linie-fina);
}

/* ==========================================================================
   PUNCTELE — fisa de scor
   Luna in fata, anul alaturi: competitia cu premiul cel mai apropiat conteaza
   acum. Punctele in asteptare NU se aduna la total — adunate, cineva ar crede
   ca are un loc pe care nu-l are.
   ========================================================================== */
.rp-scor{ display:flex;align-items:center;gap:32px;flex-wrap:wrap;padding:30px 32px; }
.rp-stampila{
  flex:0 0 auto;width:158px;height:158px;border-radius:50%;
  display:grid;place-content:center;text-align:center;
  color:var(--rp-teracota);
  border:2px solid var(--rp-teracota);
  box-shadow:0 0 0 1px var(--rp-teracota) inset,0 0 0 6px var(--rp-hartie),0 0 0 7px rgba(156,76,47,.35);
  background:radial-gradient(circle at 50% 38%,rgba(156,76,47,.12),rgba(156,76,47,.02) 70%);
  transform:rotate(-3deg);
}
.rp-stampila b{
  display:block;font-family:'Teutonic',Georgia,serif;font-weight:400;font-size:60px;
  line-height:.9;font-variant-numeric:tabular-nums;
}
.rp-stampila em{
  display:block;font-style:normal;font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;opacity:.6;margin-bottom:6px;
}
.rp-stampila span{
  display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  margin-top:8px;opacity:.85;
}
.rp-scor-corp{ flex:1 1 300px;min-width:0; }
.rp-panglica{
  display:inline-flex;align-items:center;gap:9px;
  background:var(--rp-maro);color:#F5E9CF;
  padding:6px 16px 6px 12px;border-radius:999px;
  font-size:13.5px;margin:0 0 16px;
}
.rp-panglica svg{ color:var(--rp-aur); }
.rp-scor-cifre{ display:flex;flex-wrap:wrap;border-top:1px solid var(--rp-linie-fina);padding-top:16px; }
.rp-scor-cifra{ padding-right:28px;margin-right:28px;border-right:1px solid var(--rp-linie-fina); }
.rp-scor-cifra:last-child{ border-right:0;margin-right:0;padding-right:0; }
.rp-scor-cifra b{
  display:block;font-family:'Teutonic',Georgia,serif;font-weight:400;font-size:31px;
  line-height:1;color:var(--rp-maro);font-variant-numeric:tabular-nums;
}
.rp-scor-cifra span{ display:block;font-size:12.5px;opacity:.7;margin-top:5px; }
.rp-scor-nota{ margin:16px 0 0;font-size:13.5px;opacity:.72; }

/* ---------- sursele: cartonase cu inel de proportie ---------------------
   Inelul se raporteaza la sursa cea mai bogata, nu la total: altfel, cand o
   sursa domina, celelalte devin invizibile tocmai cand omul vrea sa vada care
   merita incercata. */
.rp-surse{ display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:16px;list-style:none;margin:0;padding:0; }
.rp-sursa{ display:flex;align-items:center;gap:16px;padding:20px; }
.rp-inel{
  flex:0 0 auto;width:68px;height:68px;border-radius:50%;
  background:conic-gradient(var(--rp-teracota) calc(var(--rp-p,0) * 1%),rgba(108,63,31,.13) 0);
  display:grid;place-content:center;
}
.rp-inel span{
  width:54px;height:54px;border-radius:50%;background:var(--rp-hartie);
  display:grid;place-content:center;
  font-family:'Teutonic',Georgia,serif;font-size:22px;color:var(--rp-maro);
  font-variant-numeric:tabular-nums;
}
.rp-sursa-corp{ min-width:0; }
.rp-sursa-nume{ display:flex;align-items:center;gap:8px;font-size:15px;color:var(--rp-maro);margin:0; }
.rp-sursa-nume svg{ color:var(--rp-teracota); }
.rp-sursa-nota{ font-size:12.5px;opacity:.68;margin:3px 0 0; }
/* Sursa cu zero nu se ascunde: tocmai ea e cea de incercat. */
.rp-sursa-goala{ opacity:.5; }

/* ---------- jurnalul: firul de tus -------------------------------------- */
.rp-jurnal-luna{
  font-family:'Metallophile Sp8 Medium',Georgia,serif;font-size:13px;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--rp-maro);opacity:.65;margin:26px 0 12px;
}
.rp-jurnal-luna:first-child{ margin-top:0; }
.rp-fir{ list-style:none;margin:0;padding:0 0 0 40px;position:relative; }
.rp-fir::before{ content:"";position:absolute;left:13px;top:14px;bottom:14px;width:1px;background:var(--rp-linie); }
.rp-fapta{
  position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;gap:6px 18px;
  padding:14px 0;border-bottom:1px solid var(--rp-linie-fina);
}
.rp-fapta:last-child{ border-bottom:0; }
.rp-bulina{
  position:absolute;left:-40px;top:16px;width:27px;height:27px;border-radius:50%;
  background:var(--rp-hartie);border:1px solid var(--rp-linie);
  display:grid;place-content:center;color:var(--rp-teracota);
}
.rp-fapta-ce{ margin:0;font-size:15px;color:var(--rp-maro); }
.rp-fapta-nota{ margin:3px 0 0;font-size:13px;opacity:.68; }
.rp-fapta-data{ margin:4px 0 0;font-size:12px;opacity:.55;letter-spacing:.04em; }
.rp-fapta-puncte{
  font-family:'Teutonic',Georgia,serif;font-size:22px;color:var(--rp-verde);
  white-space:nowrap;font-variant-numeric:tabular-nums;
}
.rp-eticheta{
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;
  padding:4px 11px;border-radius:999px;border:1px solid var(--rp-linie);opacity:.75;
}
/* Fapta neconfirmata se stinge si primeste chenar intrerupt: se vede dintr-o
   privire ca inca nu conteaza. */
.rp-eticheta-astept{
  border-style:dashed;color:var(--rp-teracota);
  border-color:rgba(156,76,47,.45);opacity:1;
}
.rp-fapta-astept{ opacity:.62; }
.rp-fapta-astept .rp-fapta-puncte{ color:var(--rp-maro); }

/* ==========================================================================
   NIVELURILE CLUBULUI — patru cartonase
   Vezi template-parts/cont/fila-despre-club.php.

   Culoarea vine pe fiecare cartonas ca variabila (`--rp-nivel-culoare`), scrisa
   in marcaj din PHP: nivelurile se pot adauga sau redenumi din setarile
   plugin-ului, iar o regula scrisa aici pentru fiecare slug ar fi ramas in urma
   la primul nivel nou.
   ========================================================================== */
.rp-nivele{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));
  gap:18px;align-items:start;
}
.rp-nivel{
  display:flex;flex-direction:column;
  background:var(--rp-hartie);
  border:1px solid var(--rp-linie);
  border-radius:var(--rp-raza);
  box-shadow:var(--rp-umbra),0 1px 0 rgba(255,255,255,.7) inset;
  /* fara `overflow:hidden` banda colorata ar iesi din coltul rotunjit */
  overflow:hidden;
}

.rp-nivel-cap{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:18px 16px 16px;
  background:var(--rp-nivel-culoare);color:#fff;
  text-align:center;
}
.rp-nivel-nume{
  font-family:'Metallophile Sp8 Medium',Georgia,serif;
  font-size:19px;letter-spacing:.16em;text-transform:uppercase;line-height:1;
}

.rp-nivel-corp{ padding:22px 20px 20px;display:flex;flex-direction:column;flex:1; }
/* Procentul NU ia culoarea nivelului: pe crem, cenusiul-verde al Silverului si
   mustarul Goldului ar fi coborat sub pragul de citit. Culoarea sta in banda,
   unde are fundal inchis sub ea. */
.rp-nivel-procent{
  font-family:'Teutonic',Georgia,serif;font-size:46px;line-height:1;
  color:var(--rp-maro);margin:0;text-align:center;font-variant-numeric:tabular-nums;
}
.rp-nivel-eticheta{ margin:6px 0 0;font-size:12.5px;opacity:.7;text-align:center; }
.rp-nivel-prag{
  margin:14px 0 0;padding-top:14px;
  border-top:1px solid var(--rp-linie-fina);
  font-size:13px;opacity:.75;text-align:center;
}
.rp-nivel-prag .amount{ font-weight:700;opacity:.9; }

.rp-nivel-beneficii{ list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:9px; }
.rp-nivel-beneficii li{ display:flex;align-items:flex-start;gap:9px;font-size:14px;line-height:1.45; }
.rp-nivel-beneficii svg{ margin-top:3px;color:var(--rp-nivel-culoare); }

/* Starea sta la baza cartonasului, oricat de lunga ar fi lista de deasupra:
   `margin-top:auto` o impinge jos, deci cele patru se aliniaza intre ele. */
.rp-nivel-stare{
  display:inline-flex;align-items:center;gap:8px;align-self:flex-start;
  margin:18px 0 0;padding:6px 13px;border-radius:999px;
  font-size:12px;letter-spacing:.06em;text-transform:uppercase;
}
.rp-nivel-corp > .rp-nivel-stare{ margin-top:auto; }
.rp-nivel-stare-acum{ background:var(--rp-nivel-culoare);color:#fff; }
.rp-nivel-stare-obtinut{ border:1px solid var(--rp-linie);opacity:.75; }
.rp-nivel-stare-blocat{ border:1px dashed var(--rp-linie);opacity:.75; }

/* Nivelul tau, scos in fata: chenar in culoarea lui si o umbra mai adanca. */
.rp-nivel-acum{
  border-color:var(--rp-nivel-culoare);
  box-shadow:0 0 0 1px var(--rp-nivel-culoare),0 18px 30px -20px rgba(58,34,14,.75);
}
/* Nivelurile inca neatinse se sting. Nu se ascund: tocmai ele sunt motivul sa
   mai cumperi. */
.rp-nivel-blocat{ opacity:.74; }

@media(max-width:600px){
  .rp-nivele{ grid-template-columns:1fr; }
  .rp-nivel-procent{ font-size:40px; }
}

/* ==========================================================================
   COMENZILE — fise, nu tabel
   Vezi woocommerce/myaccount/orders.php. Tabelul avea patru coloane care pe
   telefon se strang una peste alta si din care nu aflai lucrul pentru care ai
   intrat: CE ai comandat.
   ========================================================================== */
.rp-comenzi{ display:flex;flex-direction:column;gap:16px; }
.rp-comanda{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  gap:6px 24px;align-items:center;padding:20px 24px;
}
.rp-comanda-nr{ margin:0;font-family:'Teutonic',Georgia,serif;font-size:23px;line-height:1.1; }
.rp-comanda-nr a{ color:var(--rp-maro);text-decoration:none; }
.rp-comanda-nr a:hover{ color:var(--rp-teracota);text-decoration:none; }
.rp-comanda-data{ margin:4px 0 0;font-size:12.5px;opacity:.62; }
.rp-comanda-ce{ min-width:0; }

/* Pozele se suprapun putin, ca un teanc: la patru bucati randul ar fi fost
   altfel mai lat decat numele produselor de dedesubt. */
.rp-obiecte{ display:flex;align-items:center; }
.rp-obiect{
  width:46px;height:46px;border-radius:50%;margin-right:-12px;overflow:hidden;
  background:var(--rp-hartie-2);border:1px solid var(--rp-linie);
  display:grid;place-content:center;color:var(--rp-maro);
  box-shadow:0 2px 6px -3px rgba(58,34,14,.6);
}
.rp-obiect img{ width:100%;height:100%;object-fit:cover;display:block; }
.rp-obiect-rest{ font-size:13px;color:var(--rp-maro);opacity:.8; }
.rp-comanda-lista{ margin:10px 0 0;font-size:14px;opacity:.78;line-height:1.5; }

.rp-comanda-dreapta{ text-align:right; }
.rp-comanda-total{ margin:0;font-family:'Teutonic',Georgia,serif;font-size:25px;color:var(--rp-maro);white-space:nowrap; }

/* Starea, stampilata: chenar drept, usor inclinat — se citeste ca un semn pus
   pe hartie, nu ca inca o eticheta din interfata. */
.rp-stampila-stare{
  display:inline-flex;align-items:center;margin-top:9px;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  border:1px solid currentColor;border-radius:6px;padding:4px 10px;
  transform:rotate(-2deg);color:var(--rp-teracota);
}
.rp-stare-completed{ color:var(--rp-verde); }
.rp-stare-pending,
.rp-stare-on-hold{ color:var(--rp-aur); }
.rp-stare-cancelled,
.rp-stare-failed,
.rp-stare-refunded{ color:var(--rp-maro);opacity:.6; }

.rp-comanda-actiuni{
  grid-column:1 / -1;display:flex;gap:10px;flex-wrap:wrap;
  margin-top:16px;padding-top:14px;border-top:1px solid var(--rp-linie-fina);
}
.rp-paginare{ display:flex;gap:12px;margin-top:20px; }

/* ==========================================================================
   CONTURILE SOCIALE
   Vezi template-parts/cont/fila-social.php. Sigla e legatura: la profilul
   clientului daca l-a declarat, la pagina Dr.Soil daca inca nu.
   ========================================================================== */
.rp-social{ display:flex;flex-direction:column;gap:22px;max-width:620px; }
.rp-social-rand{ display:flex;align-items:flex-start;gap:16px; }

.rp-social-sigla{
  flex:0 0 auto;width:52px;height:52px;border-radius:50%;
  display:grid;place-content:center;
  border:1px solid var(--rp-linie);background:var(--rp-hartie-2);
  color:var(--rp-maro);opacity:.45;
  transition:opacity .18s,color .18s,border-color .18s,transform .18s;
}
/* Sigla stinsa cat timp contul nu e declarat: se vede dintr-o privire care
   rand e completat si care nu, fara sa citesti campurile. */
.rp-social-sigla-activa{
  opacity:1;color:var(--rp-teracota);border-color:rgba(156,76,47,.4);
  text-decoration:none;
}
.rp-social-sigla-activa:hover{
  transform:translateY(-2px);border-color:var(--rp-teracota);text-decoration:none;
}

.rp-social-corp{ flex:1;min-width:0; }
.rp-social-corp label{ display:block;font-size:14px;font-weight:700;margin-bottom:6px; }
.rp-social-corp input{ width:100%;max-width:none; }
.rp-social-nota{ margin:6px 0 0;font-size:13px;opacity:.72; }
.rp-social-nota a{ color:var(--rp-teracota); }

@media(max-width:520px){
  .rp-social-rand{ gap:12px; }
  .rp-social-sigla{ width:44px;height:44px; }
}

/* ==========================================================================
   AGENDA DE ADRESE — doua panouri, 50% / 50%
   Vezi template-parts/cont/fila-adrese.php. Acelasi model ca pasii de la
   finalizare: bara de titlu, rezumat de un rand cat e inchis, lista cat e
   deschis. Niciun camp de completat in pagina — formularul e in fereastra.
   ========================================================================== */
.rp-adrese{ display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start; }

.rp-panou{
  background:var(--rp-hartie);
  border:1px solid var(--rp-linie);
  border-radius:var(--rp-raza);
  box-shadow:var(--rp-umbra),0 1px 0 rgba(255,255,255,.7) inset;
  /* colturile taie bara de titlu cand e apasata */
  overflow:hidden;
}

.rp-panou-cap{
  width:100%;border:0;background:none;font:inherit;cursor:pointer;text-align:left;
  display:grid;grid-template-columns:1fr auto;gap:4px 14px;align-items:center;
  padding:18px 22px;min-height:auto;box-shadow:none;border-radius:0;color:inherit;
}
.rp-panou-cap:hover{ background:rgba(108,63,31,.04);color:inherit;filter:none; }
.rp-panou-titlu{
  display:flex;align-items:center;gap:10px;
  font-family:'Metallophile Sp8 Medium',Georgia,serif;font-size:19px;color:var(--rp-maro);
}
.rp-panou-titlu svg{ color:var(--rp-teracota); }
.rp-panou-rezumat{ grid-column:1;font-size:13.5px;opacity:.7;min-width:0; }
.rp-panou-sageata{
  grid-column:2;grid-row:1 / span 2;
  font-size:22px;opacity:.55;transition:transform .2s;
}
.rp-panou-cap[aria-expanded="true"] .rp-panou-sageata{ transform:rotate(90deg); }
/* Deschis, rezumatul n-are ce sa mai spuna: lista e chiar dedesubt. */
.rp-panou-cap[aria-expanded="true"] .rp-panou-rezumat{ display:none; }

.rp-panou-corp{ padding:0 22px 20px; }
.rp-panou-corp[hidden]{ display:none; }

/* ---------- lista dintr-un panou ---------------------------------------- */
.rp-adrese-lista{ list-style:none;margin:0 0 14px;padding:0; }
.rp-adresa{
  display:flex;align-items:flex-start;justify-content:space-between;gap:14px;
  padding:14px 0;border-top:1px solid var(--rp-linie-fina);
}
.rp-adresa-corp{ min-width:0; }
.rp-adresa-nume{ margin:0;font-size:15.5px;font-weight:700;color:var(--rp-maro); }
.rp-adresa-text{ margin:4px 0 0;font-size:14px;line-height:1.5;opacity:.85; }
.rp-adresa-fiscal{ margin:3px 0 0;font-size:13px;opacity:.65; }
/* Numele e la plural fiindca vorbeste despre LISTA goala, nu despre o adresa:
   sablonul scrie `rp-adrese-gol`. A stat multa vreme scris `rp-adresa-gol`,
   iar textul „Adauga o adresa" a fost tot timpul nestilizat, fara ca nimic
   sa para stricat — regula exista, doar ca nu prindea nimic. */
.rp-adrese-gol{ font-size:14.5px;opacity:.72;margin:14px 0;padding-top:14px;border-top:1px solid var(--rp-linie-fina); }

.rp-adresa-semn{
  display:inline-block;margin-left:8px;vertical-align:middle;
  font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;
  padding:3px 9px;border-radius:999px;
  background:var(--rp-maro);color:#F5E9CF;
}
.rp-adresa-semn-firma{ background:none;color:var(--rp-teracota);border:1px solid rgba(156,76,47,.45); }

/* „Modifica" ia aceeasi pastila ca la finalizare — vezi .ck-modifica.
   `button.` din fata clasei nu e ornament: reset.css al temei parinte deseneaza
   un chenar pe TOATE butoanele, cu specificitatea (0,1,0) — exact cat o clasa
   singura, deci ar fi castigat el. */
button.rp-adresa-modifica{
  flex:0 0 auto;background:none;border:1px solid transparent;cursor:pointer;
  font-family:inherit;font-size:14px;color:var(--rp-teracota);
  padding:6px 12px;border-radius:16px;min-height:auto;box-shadow:none;
  transition:background-color .15s,border-color .15s;
}
button.rp-adresa-modifica:hover,
button.rp-adresa-modifica:focus-visible{
  background:rgba(156,76,47,.09);border-color:rgba(156,76,47,.3);color:var(--rp-teracota);filter:none;
}
.rp-adresa-adauga{ width:100%; }

/* ==========================================================================
   FEREASTRA
   `<dialog>` al browserului: aduce cu el inchiderea pe Escape, fundalul care
   opreste clicurile si focarul tinut inauntru.
   ========================================================================== */
.rp-fereastra{
  width:min(560px,calc(100vw - 32px));
  max-height:calc(100vh - 64px);
  padding:0;border:1px solid var(--rp-linie);border-radius:var(--rp-raza);
  background:var(--rp-hartie);color:var(--rp-tus);
  box-shadow:0 30px 60px -30px rgba(30,18,8,.8);
  overflow:auto;
}
.rp-fereastra::backdrop{ background:rgba(40,26,14,.5);backdrop-filter:blur(2px); }
.rp-fereastra-cap{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:20px 24px 0;
}
.rp-fereastra-titlu{
  font-family:'Teutonic',Georgia,serif;font-weight:400;font-size:26px;
  color:var(--rp-maro);margin:0;
}
button.rp-fereastra-inchide{
  background:none;border:0;cursor:pointer;font-size:26px;line-height:1;
  color:var(--rp-maro);opacity:.6;padding:0 4px;min-height:auto;box-shadow:none;
}
button.rp-fereastra-inchide:hover{ opacity:1;color:var(--rp-maro);filter:none; }
.rp-fereastra-corp{ padding:16px 24px 24px; }
.rp-fereastra-asteapta{ opacity:.6;font-size:14px; }
.rp-fereastra-eroare{
  margin:14px 24px 0;padding:11px 16px;
  border:1px solid var(--rp-teracota);border-radius:16px;
  background:rgba(156,76,47,.08);color:var(--rp-teracota);font-size:14px;
}
.rp-fereastra-eroare[hidden]{ display:none; }

/* ---------- formularul din fereastra ------------------------------------ */
/* Doua coloane pentru randurile scurte, una pentru cele lungi: WooCommerce
   marcheaza singur campurile cu `form-row-first` / `form-row-last`. */
.rp-adresa-campuri{ display:grid;grid-template-columns:1fr 1fr;gap:0 14px; }
.rp-fereastra .form-row{ margin-bottom:14px;min-width:0; }
.rp-fereastra .form-row-wide{ grid-column:1 / -1; }
.rp-fereastra .rp-ascuns{ display:none; }
.rp-fereastra label{ font-size:13.5px;margin-bottom:5px; }
.rp-fereastra .required{ color:var(--rp-teracota);text-decoration:none; }
.rp-fereastra input,
.rp-fereastra select{ max-width:none; }
.rp-fereastra .select2-container{ width:100% !important; }

.rp-adresa-implicita{
  display:flex;align-items:center;gap:10px;font-weight:400;font-size:14px;
  margin:4px 0 20px;cursor:pointer;
}
.rp-adresa-implicita input{ width:auto;margin:0; }
.rp-adresa-butoane{ display:flex;align-items:center;gap:12px;flex-wrap:wrap; }
button.rp-adresa-sterge{
  margin-left:auto;background:none;border:0;box-shadow:none;min-height:auto;
  font-family:inherit;font-size:13.5px;color:var(--rp-teracota);
  opacity:.75;cursor:pointer;text-decoration:underline;padding:6px 0;
}
button.rp-adresa-sterge:hover{ opacity:1;color:var(--rp-teracota);filter:none; }

@media(max-width:900px){
  .rp-adrese{ grid-template-columns:1fr; }
}
@media(max-width:520px){
  .rp-adresa-campuri{ grid-template-columns:1fr; }
  .rp-adresa{ flex-direction:column;gap:8px; }
}

/* ==========================================================================
   ADRESELE — doua fise, ca agenda de la finalizare
   ========================================================================== */
.rp-cont .woocommerce-Addresses{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:16px;margin-top:4px;
}
.rp-cont .woocommerce-Address{
  position:relative;
  background:var(--rp-hartie);
  border:1px solid var(--rp-linie);border-radius:var(--rp-raza);
  box-shadow:var(--rp-umbra),0 1px 0 rgba(255,255,255,.7) inset;
  padding:22px 24px;
}
.rp-cont .woocommerce-Address-title{
  display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:10px;
}
.rp-cont .woocommerce-Address-title h2,
.rp-cont .woocommerce-Address-title h3{
  font-family:'Metallophile Sp8 Medium',Georgia,serif;font-size:18px;font-weight:400;margin:0;
  color:var(--rp-maro);
}
.rp-cont .woocommerce-Address address{ font-style:normal;line-height:1.6;font-size:15px; }

/* ==========================================================================
   FORMULARE — acelasi aspect in toate filele
   WooCommerce isi deseneaza campurile cu stilul lui, iar filele noastre cu
   altul; se vedea imediat ca sunt doua pagini lipite.
   ========================================================================== */
.rp-cont label,
.rp-cont .woocommerce-form-row label,
.rp-cont form .form-row label{ display:block;font-size:14px;font-weight:700;margin-bottom:6px; }
.rp-cont input[type="text"],
.rp-cont input[type="email"],
.rp-cont input[type="tel"],
.rp-cont input[type="url"],
.rp-cont input[type="password"],
.rp-cont input[type="number"],
.rp-cont textarea,
.rp-cont select{
  width:100%;max-width:460px;
  font-family:inherit;font-size:16px;padding:11px 15px;
  border:1px solid var(--rp-linie);border-radius:18px;
  background:var(--rp-hartie);
}
.rp-cont input:focus,
.rp-cont textarea:focus,
.rp-cont select:focus{ border-color:var(--rp-teracota);outline:none; }
.rp-cont textarea{ max-width:640px;border-radius:16px; }
.rp-cont .form-row{ margin-bottom:16px; }
.rp-cont fieldset{ border:0;padding:0;margin:26px 0 0; }
.rp-cont fieldset legend{
  font-family:'Metallophile Sp8 Medium',Georgia,serif;font-size:18px;font-weight:400;
  padding:0;margin-bottom:12px;color:var(--rp-maro);
}
.rp-cont .woocommerce-form__label-for-checkbox{ display:flex;align-items:flex-start;gap:10px;font-weight:400; }
.rp-cont .woocommerce-form__label-for-checkbox input{ width:auto;margin-top:3px; }

/* mesajele WooCommerce (salvat, eroare) */
.rp-cont .woocommerce-message,
.rp-cont .woocommerce-error,
.rp-cont .woocommerce-info{
  background:var(--rp-hartie);
  border:1px solid var(--rp-linie);border-left:4px solid var(--rp-verde);
  border-radius:var(--rp-raza);
  box-shadow:var(--rp-umbra);
  padding:14px 20px;margin:0 0 20px;list-style:none;
}
.rp-cont .woocommerce-error{ border-left-color:var(--rp-teracota); }
.rp-cont .woocommerce-info{ border-left-color:var(--rp-aur); }

/* ==========================================================================
   BLOCUL „CUM FUNCTIONEAZA" — textul scris din administrare
   ========================================================================== */
.rp-ajutor{
  border:1px solid rgba(156,76,47,.34);
  border-radius:var(--rp-raza);
  background:rgba(156,76,47,.07);
  overflow:hidden;margin:0 0 22px;
}
.rp-ajutor-cap{
  width:100%;border:0;background:none;font:inherit;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:13px 20px;text-align:left;
  color:var(--rp-teracota);font-weight:700;font-size:15px;
  min-height:auto;box-shadow:none;border-radius:0;
}
.rp-ajutor-cap:hover{ background:rgba(156,76,47,.06);color:var(--rp-teracota);filter:none; }
.rp-ajutor-corp{ padding:0 20px 18px;font-size:15px;line-height:1.65; }
.rp-ajutor-corp[hidden]{ display:none; }
.rp-ajutor-corp > :first-child{ margin-top:0; }
.rp-ajutor-corp > :last-child{ margin-bottom:0; }
.rp-ajutor-sageata{ transition:transform .2s;font-size:18px;opacity:.7; }
.rp-ajutor-cap[aria-expanded="true"] .rp-ajutor-sageata{ transform:rotate(90deg); }

/* ==========================================================================
   FILELE CLUBULUI — bucatile inca desenate din functions.php
   Aceleasi culori si aceeasi adancime ca fisele noi, ca sa nu se vada
   cusatura dintre ce a fost mutat si ce nu.
   ========================================================================== */
.rp-cont-fila{ max-width:none; }
.rp-cont-intro{ font-size:15.5px;line-height:1.6;margin:0 0 18px; }
.rp-cont-gol{ font-size:15.5px;opacity:.72; }
.rp-cont-nota{ font-size:13px;opacity:.72;margin-top:14px; }

/* cifrele din file (invita: „au folosit codul" / „au si cumparat") */
.rp-cont-cifre{
  display:flex;flex-wrap:wrap;
  background:var(--rp-hartie);
  border:1px solid var(--rp-linie);border-radius:var(--rp-raza);
  box-shadow:var(--rp-umbra),0 1px 0 rgba(255,255,255,.7) inset;
  padding:20px 8px;margin-bottom:22px;
}
.rp-cont-cifra{
  flex:1 1 0;min-width:0;
  display:flex;flex-direction:column;align-items:center;gap:5px;
  text-align:center;padding:0 12px;
}
/* Liniile dintre cifre se pun pe elementele din mijloc, nu ca margini pe
   fiecare: asa nu apare o linie lipita de marginea fisei. */
.rp-cont-cifra + .rp-cont-cifra{ border-left:1px solid var(--rp-linie-fina); }
.rp-cont-eticheta{ font-size:12.5px;opacity:.7; }
.rp-cont-valoare{
  font-family:'Teutonic',Georgia,serif;font-weight:400;font-size:27px;line-height:1.1;
  color:var(--rp-maro);
}
.rp-cont-valoare .amount{ font-size:inherit;font-weight:inherit; }
.rp-cont-cifre-2 .rp-cont-cifra{ flex:1 1 50%; }

/* Bara de progres si invitatia de inscriere nu mai au reguli proprii aici:
   marcajul lor s-a mutat in template-parts/cont/antet.php si foloseste
   `.rp-drum*`, mai sus. */

/* codul de invitatie */
.rp-cont-cod{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  background:var(--rp-hartie);
  border:1px solid var(--rp-linie);border-radius:var(--rp-raza);
  box-shadow:var(--rp-umbra),0 1px 0 rgba(255,255,255,.7) inset;
  padding:18px 22px;
}
.rp-cont-cod-valoare{
  font-family:'Teutonic',Georgia,serif;font-size:30px;letter-spacing:.06em;
  color:var(--rp-maro);
}
/* Adresa se rupe oriunde: e lunga si nu are spatii, iar pe telefon ar iesi din
   pagina si ar impinge tot randul. */
.rp-cont-link{ font-size:13px;opacity:.7;margin:8px 0 22px;word-break:break-all; }

/* grupurile partenere */
.rp-cont-lista{ list-style:none;margin:0 0 20px;padding:0; }
.rp-cont-rand{ border-bottom:1px solid var(--rp-linie-fina); }
.rp-cont-rand:last-child{ border-bottom:0; }
.rp-cont-bifa{ display:flex;align-items:flex-start;gap:12px;padding:14px 0;cursor:pointer;font-weight:400; }
.rp-cont-bifa input{ margin-top:4px;flex:0 0 auto;width:18px;height:18px; }
.rp-cont-rand-corp{ display:flex;flex-direction:column;gap:3px;min-width:0; }
.rp-cont-rand-nume{ font-size:15.5px;font-weight:700;color:var(--rp-maro); }
.rp-cont-rand-bonus{ font-size:14px; }
.rp-cont-rand-legatura{ font-size:14px; }
.rp-cont-pasi{ margin:0 0 8px;padding-left:22px; }
.rp-cont-pasi li{ margin-bottom:8px;line-height:1.6; }
.rp-cont-pasi li:last-child{ margin-bottom:0; }

/* descarcari, lista de preferinte — tabele aduse la acelasi aspect */
.rp-cont table.shop_table{ width:100%;border-collapse:collapse;border:0; }
.rp-cont table.shop_table th{
  text-align:left;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;
  opacity:.7;font-weight:700;padding:0 12px 8px 0;border:0;
  border-bottom:1px solid var(--rp-linie-fina);color:var(--rp-maro);
}
.rp-cont table.shop_table td{
  padding:14px 12px 14px 0;border:0;
  border-bottom:1px solid var(--rp-linie-fina);font-size:15px;
}
.rp-cont table.shop_table tr:last-child td{ border-bottom:0; }

/* ==========================================================================
   ECRANE MICI
   ========================================================================== */
@media(max-width:700px){
  .rp-antet{ padding:20px; }
  .rp-antet-medalion{ width:64px;height:64px;font-size:24px; }
  .rp-antet-nume{ font-size:24px; }
  .rp-cap-titlu{ font-size:30px; }
  .rp-cap-medalion{ width:54px;height:54px; }
  .rp-scor{ gap:22px;padding:24px; }
  .rp-stampila{ width:132px;height:132px; }
  .rp-stampila b{ font-size:50px; }
  .rp-fapta{ grid-template-columns:minmax(0,1fr) auto; }
  .rp-eticheta{ grid-column:2; }
  .rp-cont-cifre{ flex-direction:column;gap:16px;padding:18px; }
  .rp-cont-cifra + .rp-cont-cifra{ border-left:0;border-top:1px solid var(--rp-linie-fina);padding-top:16px; }
  .rp-comanda{ grid-template-columns:minmax(0,1fr);gap:14px; }
  .rp-comanda-dreapta{ text-align:left;display:flex;align-items:center;gap:14px; }
  .rp-comanda-total{ font-size:22px; }
  .rp-stampila-stare{ margin-top:0; }
}

/* ==========================================================================
   PAGINA „CREEAZA CONT" — asezata ca restul site-ului

   E o pagina obisnuita a temei, nu una facuta in Elementor ca cosul si
   finalizarea: tema ii da `.page-header` cu titlul ei si `.page-content` pe
   toata latimea, fara nimic din limbajul site-ului.

   Aici i se ia titlul temei (avem al nostru, cu medalion si font de titlu) si
   i se da coloana ingusta, centrata pe pergament — cum arata orice pas dintr-un
   parcurs de cumparare: un singur lucru de facut, nimic in jur.
   ========================================================================== */
body.page-id-5678 .page-header{ display:none; }
body.page-id-5678 .site-main{ padding:0; }

.rp-poarta{ max-width:560px;margin:0 auto;padding:48px 20px 80px; }

.rp-poarta-cap{ display:flex;align-items:center;gap:18px;margin-bottom:26px; }
.rp-poarta-medalion{
  flex:0 0 auto;width:62px;height:62px;border-radius:50%;
  display:grid;place-content:center;position:relative;
  color:var(--rp-teracota);background:var(--rp-hartie);
  border:1px solid var(--rp-linie);box-shadow:var(--rp-umbra);
}
.rp-poarta-medalion::after{
  content:"";position:absolute;inset:5px;
  border:1px solid var(--rp-linie-fina);border-radius:50%;
}
.rp-poarta-titlu{
  font-family:'Teutonic',Georgia,serif;font-weight:400;font-size:34px;
  line-height:1.1;color:var(--rp-maro);margin:0;
}
.rp-poarta-sub{ margin:5px 0 0;font-size:14.5px;line-height:1.5;opacity:.75; }

@media(max-width:600px){
  .rp-poarta{ padding:30px 18px 60px; }
  .rp-poarta-titlu{ font-size:27px; }
  .rp-poarta-medalion{ width:52px;height:52px; }
}

/* ==========================================================================
   CREEAZA CONT — poarta dinaintea finalizarii
   Patru campuri. Parola nu se cere: WooCommerce o genereaza si o trimite pe
   e-mail, iar asta verifica si adresa — cine a scris-o gresit nu primeste
   nimic si nu se poate autentifica a doua oara.
   ========================================================================== */
.rp-cont-nou{ padding:28px 30px; }
.rp-cont-nou-intro{ margin:0 0 22px;font-size:15.5px;line-height:1.6;opacity:.85; }
.rp-cont-nou-form{ display:flex;flex-direction:column;gap:16px; }
.rp-cont-nou-camp{ display:flex;flex-direction:column;gap:6px;margin:0; }
.rp-cont-nou-camp label{ font-size:14px;font-weight:700;margin:0; }
.rp-cont-nou-camp input{ width:100%;max-width:none; }
/* Campul gresit isi spune singur de ce: mesajul sta sub el, nu intr-o lista
   de sus, ca sa nu cauti la care camp se referea. */
.rp-cont-nou-gresit input{ border-color:var(--rp-teracota); }
.rp-cont-nou-eroare{ font-size:13px;color:var(--rp-teracota);line-height:1.45; }
.rp-cont-nou-form .rp-buton{ align-self:flex-start;margin-top:6px; }
.rp-cont-nou-nota{ margin:20px 0 0;padding-top:18px;border-top:1px solid var(--rp-linie-fina);font-size:14px;opacity:.8; }

/* Bifa Clubului, sub campuri. Foloseste randul de la .rp-cont-bifa, doar ca
   sta lipita de buton, nu de campul de deasupra. */
.rp-cont-nou-club{ padding:2px 0 0; }

/* Nota de confidentialitate, adusa de WooCommerce prin `woocommerce_register_form`.
   E o mentiune legala, nu un argument de vanzare: statea la marimea textului
   obisnuit si acoperea intrebarea despre Club, care e mai importanta pentru
   omul din fata formularului. Aici e scrisa marunt, ca orice subsol. */
.rp-cont-nou-form .woocommerce-privacy-policy-text{ margin:0; }
.rp-cont-nou-form .woocommerce-privacy-policy-text p{
  margin:0;font-size:11.5px;line-height:1.5;opacity:.6;
}

/* ==========================================================================
   INTRA IN CONT — acelasi vesmant ca poarta, pe /contul-meu/
   Inregistrarea nu mai e aici: conturile se fac intr-un singur loc, la poarta.
   ========================================================================== */
/* WooCommerce deseneaza singur un chenar si o umplutura in jurul formularului
   de autentificare. Le scoatem: fisa are deja chenarul ei, iar doua chenare
   unul in altul arata a greseala, nu a intentie. */
.rp-intra form.login{ border:0;padding:0;margin:0;border-radius:0; }
.rp-intra-minte{ padding:6px 0 0; }
.rp-intra-minte span{ font-size:14px;opacity:.85; }
/* A doua nota nu-si mai trage o linie: una singura desparte fisa de subsolul
   ei, oricate randuri ar avea subsolul. */
.rp-intra .rp-cont-nou-nota + .rp-cont-nou-nota{ margin-top:8px;padding-top:0;border-top:0; }


/* ==========================================================================
   DETALII CONT — doua coloane, iar parola intr-o fereastra

   Sablonul WooCommerce punea prenumele si numele pe un rand si restul pe toata
   latimea. Pe panza de 1490px iesea o coloana ingusta la stanga si jumatate de
   ecran gol la dreapta. Aici: numele la stanga, cum te cheama in magazin la
   dreapta.
   ========================================================================== */
.rp-detalii-grila{
  display:grid;grid-template-columns:1fr 1fr;gap:0 40px;align-items:start;
}
.rp-detalii-col{ min-width:0; }
.rp-detalii-camp{ display:flex;flex-direction:column;gap:6px;margin:0 0 18px;float:none;width:auto; }
.rp-detalii-camp label{ font-size:14px;font-weight:700;margin:0; }
/* Campurile din grila umplu coloana: limita de 460px a zonei de cont a fost
   gandita pentru o singura coloana ingusta, nu pentru doua. In fereastra de
   parola limita ramane, acolo latimea o da fereastra. */
.rp-detalii-grila .rp-detalii-camp input{ max-width:none; }
.rp-detalii-camp input{ width:100%; }
/* Eticheta si lamurirea, pe acelasi rand: lamurirea nu mai adauga un rand sub
   camp, deci cele doua coloane raman fata in fata. `baseline` ca sa stea pe
   aceeasi linie de scris, desi au marimi diferite. */
.rp-detalii-eticheta{
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
}
.rp-detalii-eticheta label{ margin:0; }
.rp-detalii-lamurire{ font-size:12.5px;line-height:1.45;opacity:.7; }

/* Randul care deschide fereastra. Arata a legatura, dar e buton: deschide
   ceva in pagina, nu duce in alta parte. */
.rp-detalii-rand-parola{ margin:6px 0 26px; }
.rp-detalii-rand-parola .rp-legatura{
  background:none;border:0;padding:0;cursor:pointer;
  font-family:inherit;font-size:15px;color:var(--rp-teracota);
  text-decoration:underline;text-underline-offset:3px;
}
.rp-detalii-rand-parola .rp-legatura:hover{ color:var(--rp-maro); }

.rp-detalii-salvare{ margin:0; }

.rp-fereastra-actiuni{ display:flex;gap:12px;flex-wrap:wrap;margin-top:22px; }

/* PICTOGRAMA CU OCHI. WooCommerce infasoara campul intr-un `<span
   class="password-input">` din JavaScript si lipeste butonul in el. Span-ul e
   `inline` si nepozitionat, asa ca butonul absolut se aseza dupa primul
   stramos pozitionat — adica la marginea paginii, departe de campul lui. */
/* `max-width` e acelasi cu al campurilor (vezi `.rp-cont input[...]`, mai sus):
   invelisul trebuie sa se termine EXACT unde se termina campul, altfel butonul,
   asezat la 12px de marginea invelisului, cade in afara casetei. */
.rp-cont .password-input{ position:relative;display:block;width:100%;max-width:460px; }
.rp-cont .password-input .show-password-input{
  position:absolute;top:50%;right:12px;transform:translateY(-50%);
  width:22px;height:22px;padding:0;border:0;background:none;cursor:pointer;
  opacity:.55;
}
.rp-cont .password-input .show-password-input:hover{ opacity:.9; }
.rp-cont .password-input input{ padding-right:42px; }

@media(max-width:900px){
  .rp-detalii-grila{ grid-template-columns:1fr;gap:0; }
}


/* ==========================================================================
   TABLOUL DE BORD — pagina de start a contului

   Pagina asta a fost goala pana azi (vezi carligul din sectiunea 12 a lui
   functions.php). Acum are trei etaje: salutul, doua blocuri cu titlu —
   ultimele comenzi si adresele principale — si placile de dedesubt.

   DE CE BLOCURILE AU TITLU IN AFARA FISEI. Titlul pus INAUNTRU ar fi cerut
   inca un rand de padding peste cele 24px ale fisei si ar fi impins continutul
   in jos la fiecare bloc. Afara, titlul si legatura „vezi tot" stau pe acelasi
   rand, iar fisa incepe direct cu informatia pentru care s-a intrat.
   ========================================================================== */

/* ---------- salutul ------------------------------------------------------
   NU e fisa, inadins: `antet.php` deseneaza chiar deasupra un carton cu numele
   si e-mailul, iar un al doilea carton cu acelasi nume la 34px sub primul ar fi
   fost aceeasi informatie de doua ori. Ramane un titlu pe pergament. */
.rp-salut{ margin:0 0 30px; }
.rp-salut-titlu{
  margin:0;
  font-family:'Teutonic',Georgia,serif;
  font-size:34px;line-height:1.15;font-weight:400;
  color:var(--rp-maro);
}
.rp-salut-sub{ margin:8px 0 0;font-size:15px;line-height:1.55;opacity:.72;max-width:64ch; }
.rp-salut-instr{ margin:12px 0 0;font-size:14.5px;line-height:1.6;opacity:.8;max-width:64ch; }
.rp-salut-instr p{ margin:0 0 8px; }
.rp-salut-instr p:last-child{ margin-bottom:0; }

/* ---------- capul unui bloc ---------------------------------------------- */
.rp-tablou-bloc{ margin:0 0 30px; }
.rp-tablou-cap{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  flex-wrap:wrap;margin:0 0 14px;
}
.rp-tablou-titlu{
  display:flex;align-items:center;gap:10px;margin:0;
  font-family:'Metallophile Sp8 Medium',Georgia,serif;
  font-size:19px;font-weight:400;color:var(--rp-maro);
}
.rp-tablou-titlu svg{ color:var(--rp-teracota);opacity:.85; }
/* Legatura „vezi tot": subliniata, nu buton. Un buton langa titlu ar fi cerut
   acelasi accent ca actiunea din fisa — iar actiunea e in fisa, nu langa titlu. */
.rp-tablou-tot{
  font-size:14px;color:var(--rp-teracota);
  text-decoration:underline;text-underline-offset:3px;white-space:nowrap;
}
.rp-tablou-tot:hover,
.rp-tablou-tot:focus-visible{ color:var(--rp-maro);text-decoration:underline; }

/* ---------- ultimele comenzi ---------------------------------------------
   Randuri, nu fise separate ca in fila „Bestellungen”. Acolo fiecare comanda e
   o fisa fiindca aduce si pozele produselor si butoanele; aici sunt trei randuri
   de cate patru valori, iar trei cartoane pentru douasprezece cuvinte ar fi
   ocupat jumatate de ecran.

   Grila are patru coloane: numarul cat ii trebuie, data elastica, starea si
   totalul cat le trebuie. `1fr` doar pe data, ca sa se intinda ea, nu cifrele. */
.rp-mini-comenzi{ list-style:none;margin:0;padding:0; }
.rp-mini-comanda{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;gap:8px 18px;
  padding:13px 0;border-bottom:1px solid var(--rp-linie-fina);
}
.rp-mini-comanda:first-child{ padding-top:0; }
.rp-mini-comanda:last-child{ padding-bottom:0;border-bottom:0; }
.rp-mini-nr{
  font-family:'Teutonic',Georgia,serif;font-size:21px;line-height:1.1;
  color:var(--rp-maro);text-decoration:none;
}
.rp-mini-nr:hover,
.rp-mini-nr:focus-visible{ color:var(--rp-teracota);text-decoration:none; }
.rp-mini-data{ font-size:13px;opacity:.62; }
.rp-mini-total{
  font-family:'Teutonic',Georgia,serif;font-size:20px;color:var(--rp-maro);
  white-space:nowrap;text-align:right;
}
.rp-mini-total .amount{ font-size:inherit;font-weight:inherit; }
/* Stampila de stare e aceeasi cu cea din fila de comenzi (`.rp-stampila-stare`,
   mai sus): aceeasi comanda trebuie sa arate la fel in amandoua locurile. Aici
   doar nu mai are marginea de sus, fiindca sta pe rand, nu sub total. */
   `justify-self:start` fiindca stampila e `inline-flex`, iar pusa in grila s-ar
   fi intins pe toata coloana si conturul ei ar fi devenit o cutie goala. */
.rp-mini-comanda .rp-stampila-stare{ margin-top:0;white-space:nowrap;justify-self:start; }

/* ---------- adresele principale ------------------------------------------
   Doua coloane egale: la b2b facturarea si livrarea sunt doua lucruri diferite,
   iar asezate una sub alta ar fi parut doua trepte ale aceluiasi lucru.
   `align-items:stretch` (implicit pe grila) ca fisele sa aiba aceeasi inaltime
   chiar cand una are adresa si cealalta e goala. */
.rp-tablou-adrese{ display:grid;grid-template-columns:1fr 1fr;gap:20px; }
.rp-tablou-adresa{ display:flex;flex-direction:column;align-items:flex-start; }
.rp-tablou-eticheta{
  margin:0 0 10px;
  font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--rp-teracota);opacity:.85;
}
/* Butonul se lipeste de baza fisei, ca cele doua sa fie pe aceeasi linie chiar
   daca o adresa are trei randuri si cealalta doua. */
.rp-tablou-adresa .rp-buton{ margin-top:auto; }
.rp-tablou-adresa .rp-adresa-text{ margin:4px 0 0; }
.rp-tablou-alte{ margin:8px 0 0;font-size:13px;opacity:.6; }
/* Spatiu intre ultimul rand de text si buton — `margin-top:auto` il lipeste de
   baza, dar nu-l desparte de ce e deasupra cand fisa e plina. */
.rp-tablou-adresa .rp-adresa-text + .rp-buton,
.rp-tablou-adresa .rp-adresa-fiscal + .rp-buton,
.rp-tablou-adresa .rp-tablou-alte + .rp-buton{ margin-top:16px; }

@media(max-width:900px){
  .rp-tablou-adrese{ grid-template-columns:1fr; }
}

@media(max-width:600px){
  .rp-salut-titlu{ font-size:27px; }
  /* Pe telefon cele patru coloane nu incap pe un rand: numarul si totalul sus,
     data si starea dedesubt. Totalul ramane la dreapta, in dreptul numarului —
     asa se citeste perechea „ce comanda / cat costa" dintr-o privire. */
  .rp-mini-comanda{ grid-template-columns:auto 1fr;gap:4px 12px; }
  .rp-mini-nr{ grid-column:1; }
  .rp-mini-total{ grid-column:2;grid-row:1; }
  .rp-mini-data{ grid-column:1;grid-row:2; }
  .rp-mini-comanda .rp-stampila-stare{ grid-column:2;grid-row:2;justify-self:end; }
}
