/* ==========================================================================
   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; }
}
