/* ============================================================================
   Sistemul tipografic AMOO — singura sursa pentru fonturi, scara si spatiere.

   Montserrat        titluri + interfata (400/500/600, niciodata 700+)
   Open Sans         corpul textelor si informatia medicala (400/600/700)
   Playfair Display  DOAR accent editorial, italic 400

   Se incarca ultimul in <head>, dupa CSS-ul temei, dupa chrome-ul global si
   dupa <style>-ul paginilor refacute, ca sa poata reaseza toate cele trei
   sisteme tipografice care existau in paralel, fara !important.
   Fonturile propriu-zise: amoo-fonts.css (generat de build_fonts.py).
   ========================================================================= */

:root{
  --font-heading:Montserrat,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --font-accent:"Playfair Display",Georgia,"Times New Roman",serif;
  --font-body:"Open Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;

  /* scara compacta: 42→56 / 32→48 / 26→36 / 20→26 / 18→20 px */
  --text-display:clamp(2.625rem,4vw,3.5rem);
  --text-h1:clamp(2rem,3.4vw,3rem);
  --text-h2:clamp(1.625rem,2.5vw,2.25rem);
  --text-h3:clamp(1.25rem,1.6vw,1.625rem);
  --text-h4:clamp(1.125rem,1.3vw,1.25rem);

  --text-lead:clamp(1.0625rem,1.2vw,1.25rem);
  --text-body:1rem;
  --text-small:.875rem;
  --text-label:.8125rem;
  /* Etichetele micro (eyebrow, numerotari, uppercase cu spatiere) coborau in
     codul vechi pana la 9-10px. 12px e podeaua sistemului: ramane compact,
     dar lizibil. Corpul textelor ramane la 16px. */
  --text-micro:.75rem;

  --section-space-lg:clamp(4rem,6vw,5rem);
  --section-space-md:clamp(3rem,5vw,4rem);
  --section-space-sm:clamp(2rem,4vw,3rem);

  /* Alias-urile sistemelor existente, remapate pe tokenii de mai sus, ca sa nu
     ramana doua sisteme paralele. --serif marca „titlu” in codul vechi, nu
     „font cu serife”, deci trece pe Montserrat; accentul are token propriu. */
  --sans:var(--font-body);
  --serif:var(--font-heading);
  --amoo-sans:var(--font-body);
  --amoo-serif:var(--font-heading);
  --amoo-font-sans:var(--font-heading);
  --amoo-font-display:var(--font-heading);
  --amoo-font-text:var(--font-body);
  --amoo-font-accent:var(--font-accent);
}

/* --------------------------------------------------------------- baza ---- */
body{
  font-family:var(--font-body);
  font-size:var(--text-body);
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
p,li,dd,figcaption,address,
input,textarea,select,option{font-family:var(--font-body)}
p,li{line-height:1.6}
/* paragrafele lungi raman la ~65 de caractere; nu se aplica pe celule si liste
   de interfata, unde latimea e data de layout */
article p,.entry-content p,.post-content p{max-width:68ch}
small,.text-small{font-size:var(--text-small);line-height:1.5}
.lead,.intro,.entry-subtitle{font-size:var(--text-lead);line-height:1.55}
strong,b{font-weight:600}

h1,h2,h3,h4,h5,h6{
  font-family:var(--font-heading);
  letter-spacing:-.02em;
  text-wrap:balance;
}
h1{font-size:var(--text-h1);font-weight:400;line-height:1.08}
h2{font-size:var(--text-h2);font-weight:400;line-height:1.15}
h3{font-size:var(--text-h3);font-weight:500;line-height:1.22}
h4{font-size:var(--text-h4);font-weight:500;line-height:1.3}
h5{font-size:var(--text-body);font-weight:500;line-height:1.35;letter-spacing:0}
h6{font-size:var(--text-label);font-weight:600;line-height:1.4;letter-spacing:.04em}

/* --------------------------------------------------------- interfata ----- */
/* Montserrat 500 pe tot ce e comanda sau eticheta, nu continut. */
button,.button,[role=button],
input[type=submit],input[type=button],input[type=reset],
label,legend,
nav a,.menu-item>a,.menu-container a,
.breadcrumb,.breadcrumbs,.breadcrumb a,
.tabs a,[role=tab],
thead th,th[scope=colgroup],
summary{
  font-family:var(--font-heading);
  font-weight:500;
  letter-spacing:0;
}
/* denumirea din capul de rand e continut, nu eticheta de coloana */
th[scope=row]{font-family:var(--font-body);font-weight:400}
/* textul introdus de utilizator ramane Open Sans */
input,textarea,select{font-weight:400;letter-spacing:0}
label,.form-label{font-size:var(--text-label)}
/* podeaua pentru etichetele micro din paginile vechi */
.eyebrow,.pf-label,.ab-kicker{font-size:var(--text-label)}
.card-number,#premium-footer,.pm-procedures h3 a,
.pm-pane-head a,.pm-spec .n{font-size:var(--text-micro)}
small,figcaption{font-size:var(--text-small)}
button,.button,a.button{font-size:.9375rem;text-transform:none}

/* ------------------------------------------------------------ accent ----- */
/* Playfair Display apare NUMAI aici: o expresie scurta, un citat, un manifest.
   Nu pe paragrafe, navigatie, butoane, formulare, tabele sau preturi. */
.text-accent,.font-accent,.brand-quote,
blockquote,.testimonial blockquote,.quote-mark,
#hero-title em,.hero h1 em{
  font-family:var(--font-accent);
  font-style:italic;
  font-weight:400;
  letter-spacing:0;
}
blockquote,.testimonial blockquote{line-height:1.45}
.text-accent,.font-accent{display:inline}

/* ------------------------------------------- paginile temei (Uncode) ----- */
/* Tema leaga fonturile prin clase .font-NNNNNN cu !important; acelea sunt
   remapate pe tokeni direct in CSS-ul oglindit, de themefonts.py.
   Aici raman doar dimensiunile, ca titlurile temei sa nu sara peste scara. */
.uncode-h1,h1.uncode-h1{font-size:var(--text-h1)}
.heading-text h1{font-size:var(--text-h1);font-weight:400}
.heading-text h2{font-size:var(--text-h2);font-weight:400}
.heading-text h3{font-size:var(--text-h3);font-weight:500}
.panel-title,.panel-title a{font-family:var(--font-heading);font-weight:500}

/* --------------------------- paginile refacute (scope-uri proprii) ------- */
/* Modulele lor definesc --c-serif / --c-sans local, deci tokenii se remapeaza
   la acelasi nivel de specificitate, dar mai tarziu in cascada. */
.pl,.srv,.derm,.team,.cosmo,.gid,.rid{
  --c-serif:var(--font-heading);
  --c-sans:var(--font-body);
  --c-ui:var(--font-heading);
  font-family:var(--font-body);
}
.pl h1,.srv h1,.derm h1,.team h1,.cosmo h1,.gid h1,.rid h1{
  font-size:var(--text-h1);font-weight:400;line-height:1.08;letter-spacing:-.02em}
.pl h2,.srv h2,.derm h2,.team h2,.cosmo h2,.gid h2,.rid h2{
  font-size:var(--text-h2);font-weight:400;line-height:1.15;letter-spacing:-.02em}
.pl h3,.srv h3,.derm h3,.team h3,.cosmo h3,.gid h3,.rid h3{
  font-size:var(--text-h3);font-weight:500;line-height:1.22;letter-spacing:-.02em}
.pl h4,.srv h4,.derm h4,.team h4,.cosmo h4,.gid h4,.rid h4{
  font-size:var(--text-h4);font-weight:500;line-height:1.3;letter-spacing:-.02em}

/* eyebrow / supratitlu: eticheta, deci Montserrat, nu accent */
.pl .eyebrow,.srv .eyebrow,.derm .eyebrow,.team .eyebrow,
.cosmo .eyebrow,.gid .eyebrow,.rid .eyebrow{
  font-family:var(--font-heading);font-size:var(--text-label);font-weight:500;
  letter-spacing:.08em;text-transform:uppercase}

/* butoane, filtre, breadcrumbs si capete de tabel din paginile refacute:
   modulele le dau var(--c-sans); aici trec pe fontul de interfata */
.pl .plb,.derm .dbtn,.team .tbtn,.cosmo .cbtn,.gid .gbtn,.srv .btn,
.pl-cats button,.srv-needs button,.srv-bar button,.cosmo-filters button,
.pl-crumbs,.team-crumbs,.cosmo .cosmo-crumbs,.srv-crumbs,
.pl-tbl thead th,.gid-alt th,.derm-table thead th,
.pl-sub h3,.pl-bar .state,
.srv h2.t,.gid h2.t,.derm .s-title,.team .s-title,.cosmo .s-title{
  font-family:var(--font-heading)}
.pl .plb,.derm .dbtn,.team .tbtn,.cosmo .cbtn,.gid .gbtn,.srv .btn,
.pl-cats button,.srv-needs button,.srv-bar button,.cosmo-filters button{
  font-weight:500}
/* valorile de pret: cifre de interfata, citite rapid */
.pl-tbl .s-price,.cosmo-card .price,.derm-price .amount,.gid-res b{
  font-family:var(--font-heading);font-weight:500;letter-spacing:0}
/* numele serviciului si notele din tabel raman continut */
.pl-tbl .s-name .nm,.pl-tbl .s-unit,.pl-tbl .s-note{font-family:var(--font-body)}
.pl-tbl .s-go a{font-family:var(--font-heading);font-weight:500}

/* price-experience.css recomprima tabelul de preturi pana la 12-13px pe
   denumiri. Denumirea serviciului e continut, nu eticheta: ramane la 16px,
   cu unitatea si nota la 14px. */
.pl .pl-tbl .nm,.pl-tbl .s-name .nm{font-size:var(--text-body);line-height:1.5}
.pl .pl-tbl .s-unit,.pl .pl-tbl .s-note{font-size:var(--text-small)}
.pl .pl-tbl .s-price .v{font-size:var(--text-body);font-family:var(--font-heading);
  font-weight:500}
.pl .pl-tbl .s-price .alt,.pl .pl-tbl .s-go a{font-size:var(--text-small)}
.pl .pl-tbl thead th{font-weight:500}

/* --------------------------------------------- header, footer, homepage -- */
.amoo-chrome .site-header,.amoo-chrome nav,.amoo-chrome .button,
.amoo-chrome .nav-direct,.amoo-chrome summary{
  font-family:var(--font-heading);font-weight:500}
/* Navigatia si butoanele erau la 12-13px; brandbook-ul cere 14-15px pe desktop
   si 15-16px pe mobil. Aceeasi specificitate ca regulile din amoo-chrome.css,
   dar mai tarziu in cascada. */
/* Homepage-ul NU infasoara header-ul in .amoo-chrome (foloseste aceleasi clase
   direct), deci regulile exista si neprefixate. */
.amoo-chrome .desktop-nav summary,.amoo-chrome .nav-direct,
.desktop-nav summary,.nav-direct{font-size:.875rem;font-weight:500}
.amoo-chrome .header-actions .button,.header-actions .button{font-size:.875rem}
.amoo-chrome .button,.site-header .button{font-size:.9375rem}
.amoo-chrome .nav-links a,.nav-links a{font-size:.9375rem}
.site-header,.site-header nav,.site-header summary,.site-header .button,
.site-footer summary,#premium-footer summary,#premium-footer h2{
  font-family:var(--font-heading)}
#premium-footer summary{font-weight:500}
@media (max-width:1024px){
  .amoo-chrome .nav-links a,.amoo-chrome .desktop-nav summary,
  .amoo-chrome .nav-direct,.nav-links a,.desktop-nav summary,
  .nav-direct{font-size:1rem}
  .amoo-chrome .drawer-bottom a:not(.button),.amoo-chrome .drawer-bottom p{font-size:.9375rem}
}
.amoo-chrome .site-footer h2{font-family:var(--font-heading);font-weight:500}
.amoo-chrome .site-footer p,.amoo-chrome .site-footer address,
.amoo-chrome .company-details{font-family:var(--font-body)}
.footer-phone{font-family:var(--font-heading);font-weight:500;letter-spacing:-.01em}
.drawer-head>span,.amoo-chrome .drawer-head span{
  font-family:var(--font-heading);font-weight:500}

/* hero-ul homepage-ului: titlul in Montserrat, accentul in Playfair italic.
   #continut .hero h1 din home-review.css are specificitate (1,1,1) si ducea
   titlul la 64px; il egalam si venim dupa el in cascada. */
.hero h1,#hero-title,#continut .hero h1,#continut .hero #hero-title{
  font-size:var(--text-display);font-weight:400;line-height:1.08}
.hero .intro{font-size:var(--text-lead);line-height:1.6}
.results-panel h3{font-family:var(--font-heading);font-weight:500}

/* home-review.css comprima homepage-ul cu reguli prefixate cu #continut, pana la
   9px pe etichete si 13px pe paragrafe. Sistemul cere minimum 16px pe corpul
   textelor si 13px pe etichete; readucem exact aceste valori, la aceeasi
   specificitate (1,2,0) si mai tarziu in cascada. */
#continut .eyebrow,#continut .hero .eyebrow,#continut .article-link .eyebrow{
  font-family:var(--font-heading);font-size:var(--text-label);font-weight:500;
  letter-spacing:.08em}
#continut .section-copy>p:not(.eyebrow),#continut .results-panel p:not(.eyebrow){
  font-size:var(--text-body);line-height:1.6}
#continut .hero .button,#continut .hero .actions .button{font-size:.875rem}
.eyebrow,.hero .eyebrow{font-family:var(--font-heading);font-weight:500}

/* footer-premium.css coboara pana la 9px pe etichete si linkuri legale.
   Aceeasi specificitate, dar mai tarziu in cascada: ridicam la podeaua de 12px. */
#premium-footer .pf-label,#premium-footer address,#premium-footer .pf-brand p,
#premium-footer .pf-company,#premium-footer .pf-company p,
#premium-footer .pf-contact p,#premium-footer .pf-group nav a,
#premium-footer .pf-legal nav a,#premium-footer .pf-consumer a,
#premium-footer .pf-social a,#premium-footer .pf-map{font-size:var(--text-micro)}
#premium-footer .pf-label{font-family:var(--font-heading);font-weight:500}

/* --------------------------------------------------------------- mobil -- */
@media (max-width:767px){
  /* H1 nu trece de ~42px pe mobil, corpul ramane la 16px */
  .hero h1,#hero-title{font-size:clamp(2rem,8.5vw,2.625rem)}
  body{font-size:var(--text-body)}
}

/* Iconografia tehnica (uncodeicon, WooCommerce, FontAwesome) NU e atinsa
   nicaieri in acest fisier: sunt fonturi de pictograme, nu text. */
