/* ============================================================
   Plaza Noble · Public Web · Utility classes
   ------------------------------------------------------------
   Pequeno conjunto pra cobrir 80% dos inline styles repetidos
   nas 32 telas em pn/. Mantenha enxuto · padrões grandes vão
   pra plaza-noble.css ou plaza-noble-site-screens.css.

   Convenção: prefixo .pn-site-* pra não colidir com .pn-* (base)
   nem .pn-app-* (mobile) nem .pn-adm-* (admin).
   ============================================================ */

/* Text sizes (estilo display + body) ---------------------- */
.pn-site-text-xs        { font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; }
.pn-site-text-sm        { font-size: 11px; }
.pn-site-text-sm-up     { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; }
.pn-site-text-12        { font-size: 12px; }
.pn-site-text-13        { font-size: 13px; }
.pn-site-text-14        { font-size: 14px; }
.pn-site-text-15        { font-size: 15px; }
.pn-site-text-16        { font-size: 16px; }
.pn-site-text-18        { font-size: 18px; }
.pn-site-text-28        { font-size: 28px; text-transform: none; letter-spacing: 0; }

.pn-site-fw-500         { font-weight: 500; }
.pn-site-fw-600         { font-weight: 600; }

/* Heading display (Cinzel) usado em vários cards/section heads */
.pn-site-display-emerald {
    font-family: var(--pn-font-display);
    font-size: 16px;
    color: var(--pn-emerald);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* Spacing utilities · usa tokens do design system --------- */
.pn-site-mt-s1          { margin-top: var(--pn-s1); }
.pn-site-mt-s2          { margin-top: var(--pn-s2); }
.pn-site-mt-s3          { margin-top: var(--pn-s3); }
.pn-site-mt-s4          { margin-top: var(--pn-s4); }
.pn-site-mt-s5          { margin-top: var(--pn-s5); }
.pn-site-mt-s6          { margin-top: var(--pn-s6); }
.pn-site-mt-4           { margin-top: 4px; }

.pn-site-mb-s5          { margin-bottom: var(--pn-s5); }

/* Alignment ---------------------------------------------- */
.pn-site-text-left      { text-align: left; }
.pn-site-text-center    { text-align: center; }
.pn-site-text-right     { text-align: right; }

/* Display ------------------------------------------------ */
.pn-site-inline         { display: inline; }
.pn-site-contents       { display: contents; }
.pn-site-block          { display: block; }

/* Decoration --------------------------------------------- */
.pn-site-no-underline   { text-decoration: none; }
.pn-site-text-inherit   { color: inherit; }

/* Borders ------------------------------------------------ */
.pn-site-border-bottom  { border-bottom: 1px solid var(--pn-divider); }

/* Colors (mantém parity com tokens) ---------------------- */
.pn-site-text-emerald   { color: var(--pn-emerald); }
.pn-site-text-pearl-soft{ color: rgba(245, 243, 238, 0.85); }
.pn-site-text-pearl-dim { color: rgba(245, 243, 238, 0.65); }
