/* =============================================================================
   LI-NK — autentificare, panou promo DAT, prețuri, checkout.   (agent „auth")
   Sursa de design: claude-design/B - Autentificare și prețuri.dc.html (+ „Panou promo" din A - Site public).
   Încărcat de functions.php după tokens/base/components/chrome/home. Doar tokeni --ln-*; fără hex rătăcite
   (excepții: alb/transparențe pe suprafața accentuată a panoului promo, #f87171 = --ln-field-error).

   DECIZIE ALEX 2026-10-01: textul de pe butoanele cyan e NAVY (--ln-primary-fg), nu alb — diferență intenționată față de macheta B.

   PREFIXE: clasele proprii sunt `au-` (autentificare/formulare), `pr-` (prețuri), `co-` (checkout), `lnk-promo` (panou).
   `.ln-*` aparțin altor agenți (chrome.css/components.css) — nu le redefinesc aici.
   ZONE: clasele proprii apar doar în șabloanele mele (site), deci nu au nevoie de prefix de zonă; regulile pe clase
   UPSTREAM (.custom-alert, #payment-form, .pricing-container, .btn-stack …) sunt scoped cu :where(SITE).
   ============================================================================= */

/* ---------- pagină de autentificare: fundal ---------- */
:where(html:has(link[href*="/static/style.css"])):has(.au-auth) body { background: var(--ln-bg); }

.au-auth { position: relative; min-height: 100vh; box-sizing: border-box; color: var(--ln-text); font-family: var(--ln-font); background: var(--ln-bg); -webkit-font-smoothing: antialiased; }
.au-auth *, .au-auth *::before, .au-auth *::after { box-sizing: border-box; }

/* logo: sus-stânga pe desktop, în bara de sus pe mobil */
.au-auth__logo { display: block; line-height: 0; }
.au-auth__logo .au-logo { height: 24px; width: auto; display: block; }
.au-auth__logo .au-logo--dark { display: none; }
html.dark .au-auth__logo .au-logo--light { display: none; }
html.dark .au-auth__logo .au-logo--dark { display: block; }
.au-auth__topcta { display: none; }
.au-auth__legal { margin: 0; font-size: 12px; line-height: 16px; color: var(--ln-text-3); text-align: center; }

/* ---------- varianta „split": formular + panou promo (login) ---------- */
.au-auth--split { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto 1fr; background: var(--ln-page-bg); }
.au-auth--split .au-auth__logo { grid-column: 1; grid-row: 1; padding: 16px 20px; }
.au-auth--split .au-auth__logo .au-logo { height: 22px; }
.au-auth--split .au-auth__topcta { display: inline-flex; grid-column: 2; grid-row: 1; align-self: center; margin: 0 8px 0 0; padding: 10px 12px; font-size: 14px; font-weight: 600; color: var(--ln-primary-alt); text-decoration: none; border-radius: var(--ln-r-pill); }
.au-auth--split .au-auth__col { grid-column: 1 / -1; grid-row: 2; display: flex; flex-direction: column; padding: 24px 20px 20px; }
.au-auth--split .au-auth__panel { width: 100%; max-width: 440px; margin: 0 auto; display: flex; flex-direction: column; gap: 24px; }
.au-auth--split .au-auth__lead { display: none; }
.au-auth--split .au-auth__title { font-size: 28px; line-height: 34px; margin-top: 10px; }
.au-auth--split .au-auth__legal { margin-top: auto; padding-top: 24px; }
.au-auth--split .au-auth__card { background: var(--ln-card); border: 1px solid var(--ln-border); border-radius: var(--ln-r-xl); padding: 24px; box-shadow: var(--ln-shadow-3); display: flex; flex-direction: column; gap: 18px; }
.au-auth--split .lnk-promo { display: none; }

@media (min-width: 1024px) {
  .au-auth--split { grid-template-columns: minmax(0, 1fr) 640px; grid-template-rows: 1fr; background: var(--ln-bg); }
  .au-auth--split .au-auth__logo { position: absolute; top: 24px; left: 32px; z-index: 2; padding: 0; grid-column: auto; grid-row: auto; }
  .au-auth--split .au-auth__logo .au-logo { height: 24px; }
  .au-auth--split .au-auth__topcta { display: none; }
  .au-auth--split .au-auth__col { grid-column: 1; grid-row: 1; justify-content: center; padding: 120px 64px 64px; background: var(--ln-page-bg); }
  .au-auth--split .au-auth__panel { gap: 28px; }
  .au-auth--split .au-auth__lead { display: block; }
  .au-auth--split .au-auth__title { font-size: 32px; line-height: 38px; margin-top: 12px; }
  .au-auth--split .au-auth__legal { padding-top: 40px; }
  .au-auth--split .au-auth__card { background: none; border: 0; border-radius: 0; padding: 0; box-shadow: none; gap: 28px; }
  .au-auth--split .lnk-promo { display: flex; }
}

.au-auth__head .au-auth__title { margin-bottom: 0; font-weight: 700; letter-spacing: -0.02em; color: var(--ln-heading); }
.au-auth__lead { margin: 8px 0 0; font-size: 15px; line-height: 22px; color: var(--ln-text-2); }
.au-auth__switch { margin: 0; font-size: 14px; line-height: 20px; color: var(--ln-text-2); text-align: center; }

/* ---------- varianta „center": card de 448 px ---------- */
.au-auth--center { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; padding: 48px 16px 32px; background: var(--ln-page-bg); }
.au-auth--center .au-auth__logo { margin-bottom: 32px; }
.au-auth--center .au-auth__logo .au-logo { height: 28px; }
.au-auth--center .au-auth__legal { margin-top: 32px; }

.au-card { width: 100%; background: var(--ln-card); border: 1px solid var(--ln-border); border-radius: var(--ln-r-xl); padding: 32px; box-shadow: var(--ln-shadow-3); display: flex; flex-direction: column; gap: 18px; }
.au-card--auth { max-width: 448px; }
.au-card--center { align-items: center; text-align: center; }
.au-card__title { margin: 0; font-size: 22px; line-height: 28px; font-weight: 600; color: var(--ln-heading); }
.au-card__title--sm { font-size: 18px; line-height: 24px; }
.au-card__title--eyebrow { margin-top: 8px; }
.au-card__lead { margin: 8px 0 0; font-size: 14px; line-height: 20px; color: var(--ln-text-2); }
.au-card--center .au-form { width: 100%; text-align: left; }
@media (max-width: 480px) { .au-card { padding: 24px; } }

.au-eyebrow { display: block; font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ln-primary-alt); }

.au-icon { display: flex; width: 56px; height: 56px; border-radius: var(--ln-r-pill); background: var(--ln-primary-soft); color: var(--ln-primary-alt); align-items: center; justify-content: center; flex: none; }
.au-icon--success { background: var(--ln-success-soft); color: var(--ln-success); }
.au-icon--neutral { background: var(--ln-bg-2); color: var(--ln-text-3); border: 1px solid var(--ln-border); }

/* ---------- butoane ---------- */
.au-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 26px; border: 0; border-radius: var(--ln-r-pill); font: 600 15px/1.2 var(--ln-font); text-decoration: none; cursor: pointer; transition: filter .15s, background-color .15s, border-color .15s; }
.au-btn--block { width: 100%; }
.au-btn--primary { background: var(--ln-primary); color: var(--ln-primary-fg); box-shadow: var(--ln-shadow-1); }
.au-btn--primary:hover { filter: brightness(.93); color: var(--ln-primary-fg); }
.au-btn--outline { border: 2px solid var(--ln-primary); background: transparent; color: var(--ln-primary-alt); }
.au-btn--outline:hover { background: var(--ln-primary-soft); color: var(--ln-primary-alt); }
.au-btn--social { width: 100%; border: 1px solid var(--ln-border-strong); background: var(--ln-card); color: var(--ln-text); font-size: 14px; box-shadow: var(--ln-shadow-1); position: relative; }
.au-btn--social:hover { border-color: var(--ln-text-3); color: var(--ln-text); }
.au-btn:disabled { background: var(--ln-border); color: var(--ln-text-3); box-shadow: none; cursor: not-allowed; }
@media (max-width: 1023px) { .au-auth--split .au-btn--primary { min-height: 52px; font-size: 16px; } }

.au-social { display: flex; flex-direction: column; gap: 10px; }
.au-divider { display: flex; align-items: center; gap: 12px; font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ln-text-3); }
.au-divider::before, .au-divider::after { content: ""; flex: 1; height: 1px; background: var(--ln-border); }

/* ---------- linkuri ---------- */
.au-link { color: var(--ln-primary-alt); font-size: 13px; font-weight: 500; text-decoration: none; }
.au-link:hover { text-decoration: underline; color: var(--ln-primary-alt); }
.au-link--strong { font-size: inherit; font-weight: 600; }
.au-card > .au-link--muted, .au-card > form > .au-link--muted { align-self: center; }
.au-link--muted { color: var(--ln-text-3); font-size: 14px; padding: 4px; }
.au-link--muted:hover { color: var(--ln-text-2); }
.au-link--btn { background: none; border: 0; padding: 4px; cursor: pointer; font: 500 14px/20px var(--ln-font); color: var(--ln-primary-alt); }
.au-muted { margin: 0; font-size: 14px; line-height: 20px; color: var(--ln-text-3); }
.au-note { margin: 0; font-size: 12px; line-height: 16px; color: var(--ln-text-3); text-align: center; }
.au-hint { margin: -6px 0 0; font-size: 12px; line-height: 16px; color: var(--ln-text-3); }

/* ---------- formulare ---------- */
.au-form { display: flex; flex-direction: column; gap: 18px; }
.au-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.au-label { font-size: 14px; line-height: 20px; font-weight: 500; color: var(--ln-text); }
.au-label--muted { color: var(--ln-text-3); }
.au-input { width: 100%; box-sizing: border-box; border-radius: var(--ln-r-md); border: 1px solid var(--ln-border-strong); background: var(--ln-input-bg); padding: 12px 16px; font: 400 14px/20px var(--ln-font); color: var(--ln-text); outline: 0; box-shadow: none; transition: border-color .15s; }
.au-input::placeholder { color: var(--ln-text-3); opacity: .8; }
.au-input:focus { border: 2px solid var(--ln-primary-ring); padding: 11px 15px; }
.au-input:disabled { background: var(--ln-bg-2); border-color: var(--ln-border); color: var(--ln-text-3); cursor: not-allowed; }
@media (max-width: 1023px) { .au-auth--split .au-input { font-size: 16px; line-height: 22px; } }
.au-input-wrap { display: flex; border-radius: var(--ln-r-md); border: 1px solid var(--ln-border-strong); background: var(--ln-input-bg); overflow: hidden; }
.au-input-wrap:focus-within { border: 2px solid var(--ln-primary-ring); }
.au-input-wrap .au-input { border: 0; background: transparent; flex: 1; min-width: 0; padding: 12px 16px; }
.au-input-wrap .au-input:focus { border: 0; padding: 12px 16px; }
.au-input-wrap:focus-within .au-input { padding: 11px 15px; }
.au-input-wrap__btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; border: 0; background: transparent; color: var(--ln-text-3); cursor: pointer; }
.au-input-wrap__btn:hover { color: var(--ln-text); }
.au-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 400px) { .au-grid-2 { grid-template-columns: 1fr; } }

/* parolă: „Ai uitat parola?" în rândul etichetei pe desktop, sub câmp pe mobil */
.au-field--pass { display: grid; grid-template-columns: 1fr auto; row-gap: 6px; }
.au-field--pass .au-label { grid-column: 1; grid-row: 1; }
.au-field--pass .au-input-wrap { grid-column: 1 / -1; grid-row: 2; }
.au-field--pass .au-field__aside { grid-column: 1 / -1; grid-row: 3; justify-self: end; padding: 4px 0; }
@media (min-width: 1024px) { .au-field--pass .au-field__aside { grid-column: 2; grid-row: 1; padding: 0; align-self: baseline; } }

/* checkbox propriu (inputul real rămâne în DOM, accesibil) */
.au-check { display: flex; align-items: center; gap: 10px; font-size: 14px; line-height: 20px; color: var(--ln-text); cursor: pointer; position: relative; }
.au-check--top { align-items: flex-start; font-size: 13px; line-height: 18px; color: var(--ln-text-2); }
.au-check input { position: absolute; opacity: 0; width: 18px; height: 18px; margin: 0; }
.au-check__box { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 5px; border: 1.5px solid var(--ln-border-strong); color: transparent; background: transparent; transition: background-color .12s; }
.au-check--top .au-check__box { margin-top: 1px; }
.au-check input:checked + .au-check__box { background: var(--ln-primary); border-color: var(--ln-primary); color: var(--ln-primary-fg); }
.au-check input:focus-visible + .au-check__box { outline: 2px solid var(--ln-primary-ring); outline-offset: 2px; }

.au-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* cod din 6 casete */
.au-otp { display: flex; justify-content: center; gap: 10px; }
.au-otp__box { width: 52px; height: 60px; padding: 0; border-radius: var(--ln-r-md); border: 1px solid var(--ln-border-strong); background: var(--ln-input-bg); text-align: center; font: 600 24px/1 var(--ln-font); font-variant-numeric: tabular-nums; color: var(--ln-text); outline: 0; box-shadow: none; }
.au-otp__box:focus { border: 2px solid var(--ln-primary-ring); }
@media (max-width: 400px) { .au-otp { gap: 6px; } .au-otp__box { width: 44px; height: 54px; } }

/* cerințe parolă */
.au-rules { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; font-size: 13px; line-height: 18px; color: var(--ln-text-2); }
.au-rules li { display: flex; align-items: center; gap: 8px; }
.au-rules__mark { display: inline-flex; width: 16px; height: 16px; align-items: center; justify-content: center; border-radius: var(--ln-r-pill); border: 1.5px solid var(--ln-border-strong); box-sizing: border-box; color: transparent; flex: none; }
.au-rules .is-ok { color: var(--ln-success); }
.au-rules .is-ok .au-rules__mark { border: 0; color: inherit; }

/* mesaje flash ale aplicației (message()) — .custom-alert, în pagini de autentificare */
.au-auth .custom-alert { margin: 0; display: block; border-radius: var(--ln-r-lg); padding: 14px 16px; font-size: 14px; line-height: 20px; box-shadow: none; text-align: left; border: 1px solid; }
.au-auth .custom-alert a { color: inherit; text-decoration: underline; }
.au-auth .custom-alert.alert-danger { background: var(--ln-danger-soft); border-color: var(--ln-danger); color: var(--ln-danger); }
.au-auth .custom-alert.alert-success { background: var(--ln-success-soft); border-color: var(--ln-success); color: var(--ln-success); }
.au-auth .custom-alert.alert-warning { background: var(--ln-warning-soft); border-color: var(--ln-warning); color: var(--ln-warning); }
.au-auth .custom-alert.alert-info { background: var(--ln-primary-soft); border-color: var(--ln-primary-ring); color: var(--ln-text); }

/* modal (recuperare 2FA) — vizibilitatea o comandă clasele upstream `hidden`/`flex` + JS-ul aplicației */
.au-modal__backdrop { background: rgba(10, 20, 64, .55); }
.au-modal__panel { background: var(--ln-card); border: 1px solid var(--ln-border); border-radius: var(--ln-r-xl); padding: 24px; box-shadow: var(--ln-shadow-3); color: var(--ln-text); }
.au-modal__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.au-iconbtn { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border-radius: var(--ln-r-pill); border: 0; background: transparent; color: var(--ln-text-3); cursor: pointer; }
.au-iconbtn:hover { background: var(--ln-primary-soft); color: var(--ln-text); }

/* focus vizibil, global pentru elementele mele */
.au-auth a:focus-visible, .au-auth button:focus-visible { outline: 2px solid var(--ln-primary-ring); outline-offset: 2px; }

/* =============================================================================
   PROMO DAT  (partials/dat_promo.php + js/promo.js)
   Suprafață accentuată: gradient navy + blob-uri blur; text alb (constant în ambele scheme).
   ============================================================================= */
.lnk-promo { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; gap: 16px; border-radius: var(--ln-r-2xl); background: var(--ln-surface-accent); color: #fff; outline: 1px solid rgba(255, 255, 255, .08); font-family: var(--ln-font); box-sizing: border-box; }
.lnk-promo *, .lnk-promo *::before, .lnk-promo *::after { box-sizing: border-box; }
.lnk-promo--login { margin: 24px 24px 24px 0; padding: 48px; }
.lnk-promo--home { padding: 44px; min-height: 400px; }
.lnk-promo__blob { position: absolute; border-radius: var(--ln-r-pill); filter: blur(64px); pointer-events: none; }
.lnk-promo__blob--1 { top: -120px; right: -80px; width: 380px; height: 380px; background: var(--ln-blob-1); animation: lnk-drift 14s ease-in-out infinite; }
.lnk-promo__blob--2 { bottom: -160px; left: -100px; width: 420px; height: 420px; background: var(--ln-blob-2); animation: lnk-drift2 16s ease-in-out infinite; }
@keyframes lnk-drift { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-40px, 30px) scale(1.15); } }
@keyframes lnk-drift2 { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(36px, -28px) scale(1.12); } }

/* slide-urile stau suprapuse în aceeași celulă (înălțimea = cel mai înalt slide, fără salt la schimbare) */
.lnk-promo__slides { position: relative; display: grid; }
.lnk-promo__slide { grid-area: 1 / 1; display: flex; flex-direction: column; justify-content: flex-end; gap: 16px; opacity: 0; visibility: hidden; transition: opacity .35s ease, visibility 0s linear .35s; }
.lnk-promo__slide.is-active { opacity: 1; visibility: visible; transition: opacity .35s ease; }
.lnk-promo__kicker { font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
.lnk-promo__logo { display: inline-flex; align-self: flex-start; align-items: center; height: 64px; padding: 0 20px; background: #fff; border-radius: var(--ln-r-lg); }
.lnk-promo__logo img { display: block; width: auto; max-width: 180px; }
.lnk-promo__title { margin: 0; max-width: 440px; font-size: 32px; line-height: 38px; font-weight: 700; letter-spacing: -0.02em; color: #fff; text-wrap: balance; }
.lnk-promo--home .lnk-promo__title { font-size: 30px; line-height: 36px; }
.lnk-promo__body { margin: 0; max-width: 440px; font-size: 16px; line-height: 24px; color: rgba(255, 255, 255, .75); }
.lnk-promo__cta { display: inline-flex; align-self: flex-start; align-items: center; gap: 8px; min-height: 44px; margin-top: 4px; padding: 0 22px; border: 2px solid #fff; border-radius: var(--ln-r-pill); font-size: 14px; font-weight: 600; color: #fff; text-decoration: none; transition: background-color .15s, color .15s; }
.lnk-promo__cta:hover, .lnk-promo__cta:focus-visible { background: #fff; color: #0f1f57; }
.lnk-promo__cta:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.lnk-promo__dots { position: relative; display: flex; gap: 8px; margin-top: 12px; }
.lnk-promo__dot { height: 6px; width: 8px; padding: 0; border: 0; border-radius: var(--ln-r-pill); background: rgba(255, 255, 255, .3); cursor: pointer; transition: width .3s, background-color .3s; position: relative; }
.lnk-promo__dot::after { content: ""; position: absolute; inset: -10px -4px; } /* zonă de atingere mai mare */
.lnk-promo__dot.is-active { width: 28px; background: var(--ln-primary); }
.lnk-promo__dot:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

/* card compact (mobil / tabletă, doar pe homepage) */
.lnk-promo-compact { display: none; align-items: center; gap: 14px; padding: 16px; border-radius: 20px; background: var(--ln-surface-accent); color: #fff; text-decoration: none; font-family: var(--ln-font); }
.lnk-promo-compact:hover { color: #fff; }
.lnk-promo-compact__logo { display: flex; flex: none; align-items: center; height: 48px; padding: 8px 12px; background: #fff; border-radius: var(--ln-r-md); }
.lnk-promo-compact__logo img { display: block; height: 26px; width: auto; }
.lnk-promo-compact__text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.lnk-promo-compact__kicker { font-size: 11px; line-height: 14px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
.lnk-promo-compact__short { font-size: 13px; line-height: 18px; color: rgba(255, 255, 255, .9); }
.lnk-promo-compact:focus-visible { outline: 2px solid var(--ln-primary-ring); outline-offset: 2px; }
.lnk-promo--has-compact { display: none; }
@media (max-width: 1023px) { .lnk-promo-compact { display: flex; } }
@media (min-width: 1024px) { .lnk-promo--has-compact { display: flex; } }

/* chip-uri externe care comandă panoul (ex. coloana din stânga a secțiunii „Ecosistem DAT") */
.lnk-promo-chip, [data-promo-chip] { cursor: pointer; }
[data-promo-chip].is-active { border-color: var(--ln-primary); background: var(--ln-primary-soft); color: var(--ln-primary-alt); }

@media (prefers-reduced-motion: reduce) {
  .lnk-promo__blob { animation: none; }
  .lnk-promo__slide, .lnk-promo__slide.is-active { transition: none; }
  .lnk-promo__dot { transition: none; }
}

/* =============================================================================
   PREȚURI  (theme/lnk/pricing/index.php, list.php, table.php)
   ============================================================================= */
.au-btn--neutral { border: 2px solid var(--ln-border-strong); background: transparent; color: var(--ln-text); min-height: 44px; padding: 0 16px; font-size: 14px; }
.au-btn--neutral:hover { background: var(--ln-bg-2); }

.pr-page { background: var(--ln-page-bg); color: var(--ln-text); font-family: var(--ln-font); -webkit-font-smoothing: antialiased; }
.pr-page *, .pr-page *::before, .pr-page *::after { box-sizing: border-box; }
.pr-page .pr-wrap { max-width: var(--ln-content); margin: 0 auto; padding: 0 32px; }
.pr-page .pr-hero { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; padding: 64px 0 40px; }
.pr-page .pr-hero__title { margin: 0; max-width: 760px; font-size: 40px; line-height: 44px; font-weight: 700; letter-spacing: -0.025em; color: var(--ln-heading); text-wrap: balance; }
.pr-page .pr-hero__lead { margin: 0; max-width: 600px; font-size: 17px; line-height: 26px; color: var(--ln-text-2); }
.pr-page .pr-save { margin: 0; font-size: 13px; font-weight: 600; color: var(--ln-success); }
.pr-page .pr-toggle { display: inline-flex; gap: 4px; margin-top: 8px; padding: 4px; background: var(--ln-bg-2); border: 1px solid var(--ln-border); border-radius: var(--ln-r-pill); }
.pr-page .pr-toggle button { padding: 8px 18px; border: 0; border-radius: var(--ln-r-pill); background: transparent; font: 500 13px/1.2 var(--ln-font); color: var(--ln-text-3); cursor: pointer; }
.pr-page .pr-toggle button.bg-white { background: var(--ln-card); color: var(--ln-heading); font-weight: 600; box-shadow: var(--ln-shadow-1); }
.pr-page .pr-toggle button:focus-visible { outline: 2px solid var(--ln-primary-ring); outline-offset: 2px; }

/* carduri */
.pr-page .pr-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; padding: 16px 0 64px; }
.pr-page .pr-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 880px; margin: 0 auto; }
.pr-page .pr-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { .pr-page .pr-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .pr-page .pr-grid, .pr-page .pr-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .pr-page .pr-wrap { padding: 0 20px; }
  .pr-page .pr-hero { padding: 40px 0 24px; gap: 20px; }
  .pr-page .pr-hero__title { font-size: 30px; line-height: 36px; }
  .pr-page .pr-hero__lead { font-size: 15px; line-height: 22px; }
  .pr-page .pr-grid, .pr-page .pr-grid--2, .pr-page .pr-grid--4 { grid-template-columns: minmax(0, 1fr); padding-bottom: 40px; }
}
.pr-page .pr-card { position: relative; display: flex; flex-direction: column; gap: 20px; padding: 32px; border-radius: var(--ln-r-xl); background: var(--ln-card); border: 1px solid var(--ln-border); box-shadow: var(--ln-shadow-2); color: var(--ln-text-2); }
.pr-page .pr-card__name { margin: 0; font-size: 22px; line-height: 28px; font-weight: 600; color: var(--ln-heading); }
.pr-page .pr-card__for { margin: 6px 0 0; font-size: 14px; line-height: 20px; color: var(--ln-text-3); }
.pr-page .pr-badge { position: absolute; top: 20px; right: 20px; padding: 4px 10px; border-radius: var(--ln-r-pill); background: var(--ln-primary); color: var(--ln-primary-fg); font-size: 11px; line-height: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pr-page .pr-badge--save { right: auto; left: 20px; background: var(--ln-success-soft); color: var(--ln-success); }
.pr-page .pr-badge--inline { position: static; display: inline-block; vertical-align: middle; margin-left: 6px; }
.pr-page .pr-price { margin: 0; display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.pr-page .pr-price__value { font-size: 28px; line-height: 32px; font-weight: 700; letter-spacing: -0.02em; color: var(--ln-heading); }
.pr-page .pr-price__term { font-size: 14px; font-weight: 400; letter-spacing: 0; color: var(--ln-text-3); }
.pr-page .pr-rows { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; flex: 1; font-size: 14px; line-height: 20px; }
.pr-page .pr-card__list { flex: 1; display: flex; flex-direction: column; gap: 10px; }
.pr-page .pr-more > summary { display: flex; align-items: center; gap: 6px; list-style: none; cursor: pointer; padding: 4px 0 10px; font-size: 13px; font-weight: 600; color: var(--ln-primary-alt); }
.pr-page .pr-more > summary::-webkit-details-marker { display: none; }
.pr-page .pr-more > summary svg { transition: transform .2s; }
.pr-page .pr-more[open] > summary svg { transform: rotate(180deg); }
.pr-page .pr-more > summary:focus-visible { outline: 2px solid var(--ln-primary-ring); outline-offset: 2px; border-radius: 4px; }
.pr-page .pr-card--popular .pr-more > summary { color: #fff; }
.pr-page .pr-rows li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--ln-border); }
.pr-page .pr-rows__v { font-weight: 600; color: var(--ln-heading); text-align: right; }
.pr-page .pr-ico { display: block; flex: none; }
.pr-page .pr-no { color: var(--ln-text-3); }

/* planul „popular" = suprafață accentuată */
.pr-page .pr-card--popular { background: var(--ln-surface-accent); border-color: rgba(255, 255, 255, .1); box-shadow: var(--ln-shadow-3); color: rgba(255, 255, 255, .8); }
.pr-page .pr-card--popular .pr-card__name, .pr-page .pr-card--popular .pr-price__value, .pr-page .pr-card--popular .pr-rows__v { color: #fff; }
.pr-page .pr-card--popular .pr-card__for, .pr-page .pr-card--popular .pr-price__term { color: rgba(255, 255, 255, .6); }
.pr-page .pr-card--popular .pr-rows li { border-color: rgba(255, 255, 255, .12); }
.pr-page .pr-card--popular .pr-rows li > span:first-child { color: rgba(255, 255, 255, .8); }
.pr-page .pr-rows li > span:first-child { color: var(--ln-text-2); }
.pr-page .pr-card__name { letter-spacing: normal; text-transform: none; }

/* butoane de plan */
.pr-page .pr-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; border-radius: var(--ln-r-pill); border: 2px solid var(--ln-primary); background: transparent; color: var(--ln-primary-alt); font: 600 15px/1.2 var(--ln-font); text-decoration: none; white-space: nowrap; cursor: pointer; transition: background-color .15s, filter .15s; }
.pr-page .pr-btn:hover { background: var(--ln-primary-soft); color: var(--ln-primary-alt); }
.pr-page .pr-btn--card { width: 100%; }
.pr-page .pr-btn--table { align-self: flex-start; min-height: 40px; padding: 0 18px; font-size: 13px; }
.pr-page .pr-btn--popular, .pr-page .pr-btn--solid { background: var(--ln-primary); border-color: var(--ln-primary); color: var(--ln-primary-fg); }
.pr-page .pr-btn--popular:hover, .pr-page .pr-btn--solid:hover { background: var(--ln-primary); filter: brightness(.93); color: var(--ln-primary-fg); }
.pr-page .pr-btn--solid { min-height: 44px; padding: 0 22px; font-size: 14px; }
.pr-page .pr-btn:focus-visible { outline: 2px solid var(--ln-primary-ring); outline-offset: 2px; }

/* „Ai nevoie de altceva?" */
.pr-page .pr-custom { padding-bottom: 64px; }
.pr-page .pr-custom__box { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px; align-items: center; padding: 32px 36px; border-radius: var(--ln-r-xl); background: var(--ln-bg-2); border: 1px solid var(--ln-border); }
.pr-page .pr-custom__title { margin: 0; font-size: 20px; line-height: 26px; font-weight: 600; color: var(--ln-heading); }
.pr-page .pr-custom__text { margin: 6px 0 0; font-size: 14px; line-height: 20px; color: var(--ln-text-2); }
@media (max-width: 760px) { .pr-page .pr-custom__box { grid-template-columns: 1fr; padding: 24px; gap: 20px; } .pr-page .pr-custom { padding-bottom: 40px; } }

/* întrebări frecvente */
.pr-page .pr-faq { border-top: 1px solid var(--ln-border); background: var(--ln-bg); color: var(--ln-text); font-family: var(--ln-font); }
.pr-page .pr-faq *, .pr-page .pr-faq *::before, .pr-page .pr-faq *::after { box-sizing: border-box; }
.pr-page .pr-faq__grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 64px; align-items: start; padding-top: 64px; padding-bottom: 64px; }
.pr-page .pr-faq__title { margin: 0; font-size: 28px; line-height: 34px; font-weight: 700; letter-spacing: -0.02em; color: var(--ln-heading); }
.pr-page .pr-faq__lead { margin: 12px 0 20px; font-size: 15px; line-height: 22px; color: var(--ln-text-2); }
.pr-page .pr-faq__list { border-top: 1px solid var(--ln-border); }
.pr-page .pr-faq__item { border-bottom: 1px solid var(--ln-border); padding: 18px 0; }
.pr-page .pr-faq__item summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; list-style: none; cursor: pointer; font-size: 15px; line-height: 22px; font-weight: 600; color: var(--ln-heading); }
.pr-page .pr-faq__item summary::-webkit-details-marker { display: none; }
.pr-page .pr-faq__item summary svg { flex: none; color: var(--ln-text-3); transition: transform .2s; }
.pr-page .pr-faq__item[open] summary svg { transform: rotate(180deg); }
.pr-page .pr-faq__item summary:focus-visible { outline: 2px solid var(--ln-primary-ring); outline-offset: 4px; border-radius: 4px; }
.pr-page .pr-faq__a { margin-top: 8px; max-width: 620px; font-size: 14px; line-height: 21px; color: var(--ln-text-2); }
@media (max-width: 900px) { .pr-page .pr-faq__grid { grid-template-columns: 1fr; gap: 32px; padding-top: 40px; padding-bottom: 40px; } }

/* tabel comparativ */
.pr-page .pr-tablewrap { margin: 16px 0 64px; border-radius: var(--ln-r-xl); border: 1px solid var(--ln-border); background: var(--ln-card); overflow-x: auto; }
.pr-page .pr-table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 14px; line-height: 20px; }
.pr-page .pr-table thead { background: var(--ln-bg-2); border-bottom: 1px solid var(--ln-border); }
.pr-page .pr-table__corner { padding: 24px 28px; text-align: left; vertical-align: bottom; font-weight: 600; color: var(--ln-text-3); width: 28%; }
.pr-page .pr-table__plan { padding: 24px 20px; text-align: left; vertical-align: top; border-left: 1px solid var(--ln-border); font-weight: 400; }
.pr-page .pr-table__plan > * + * { margin-top: 12px; }
.pr-page .pr-table__name { display: block; font-size: 18px; line-height: 24px; font-weight: 600; color: var(--ln-heading); }
.pr-page .pr-table__for { display: block; margin-top: 2px !important; font-size: 13px; line-height: 18px; color: var(--ln-text-3); }
.pr-page .pr-table .pr-price__value { font-size: 20px; line-height: 26px; }
.pr-page .pr-table tbody tr { border-bottom: 1px solid var(--ln-border); }
.pr-page .pr-table tbody tr:nth-child(even) { background: var(--ln-bg-2); }
.pr-page .pr-table tbody th { padding: 14px 28px; text-align: left; font-weight: 400; color: var(--ln-text); position: sticky; left: 0; background: inherit; }
.pr-page .pr-table__lead th { font-weight: 600 !important; }
.pr-page .pr-table tbody td { padding: 14px 20px; border-left: 1px solid var(--ln-border); font-weight: 600; color: var(--ln-heading); }
.pr-page .pr-table tbody tr:nth-child(odd) th { background: var(--ln-card); }
.pr-page .pr-table tbody tr:nth-child(even) th { background: var(--ln-bg-2); }
.pr-page .pr-table__extra { font-size: 13px !important; font-weight: 500 !important; }
.pr-page .pr-table td .pr-ico { margin: 0; }

/* =============================================================================
   CHECKOUT  (theme/lnk/pricing/checkout.php)
   ============================================================================= */
.co-page { background: var(--ln-bg); color: var(--ln-text); font-family: var(--ln-font); -webkit-font-smoothing: antialiased; }
.co-page *, .co-page *::before, .co-page *::after { box-sizing: border-box; }
.co-wrap { max-width: var(--ln-content); margin: 0 auto; padding: 56px 32px 72px; display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 40px; align-items: start; }
.co-main { display: flex; flex-direction: column; gap: 32px; min-width: 0; }
.co-title { margin: 12px 0 0; font-size: 32px; line-height: 38px; font-weight: 700; letter-spacing: -0.02em; color: var(--ln-heading); }
.co-lead { margin: 8px 0 0; font-size: 15px; line-height: 22px; color: var(--ln-text-2); }
.co-section { display: flex; flex-direction: column; gap: 16px; padding: 28px; border-radius: var(--ln-r-xl); background: var(--ln-card); border: 1px solid var(--ln-border); }
.co-section__head { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.co-section__title { margin: 0; font-size: 16px; line-height: 22px; font-weight: 600; color: var(--ln-heading); }
.co-page .co-methods { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.co-page .co-method { position: relative; display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 12px 16px; border-radius: var(--ln-r-md); border: 1px solid var(--ln-border-strong); background: transparent; color: var(--ln-text-2); font-size: 14px; font-weight: 500; cursor: pointer; }
.co-page .co-method.active { border: 2px solid var(--ln-primary); padding: 11px 15px; background: var(--ln-primary-soft); color: var(--ln-text); font-weight: 600; }
.co-page .co-method__radio { flex: none; width: 18px; height: 18px; border-radius: var(--ln-r-pill); border: 1.5px solid var(--ln-border-strong); background: transparent; }
.co-page .co-method.active .co-method__radio { border: 6px solid var(--ln-primary); background: var(--ln-card); }
.co-page .co-method__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.co-page .co-method__logos { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 !important; }
.co-page .co-method__logos img { filter: none !important; max-height: 20px; width: auto; }
.co-page .co-method input:focus-visible ~ .co-method__radio { outline: 2px solid var(--ln-primary-ring); outline-offset: 2px; }
.co-grid { gap: 14px; }
.co-span { grid-column: 1 / -1; }
.co-select { appearance: none; padding-right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m19.5 8.25-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; }
.co-page .co-seg { display: inline-flex; gap: 4px; padding: 4px; background: var(--ln-bg-2); border: 1px solid var(--ln-border); border-radius: var(--ln-r-pill); }
.co-page .co-seg label, .co-page .co-seg a { flex: 1; text-align: center; padding: 6px 14px; border-radius: var(--ln-r-pill); font-size: 13px; font-weight: 500; color: var(--ln-text-3); cursor: pointer; text-decoration: none; white-space: nowrap; }
.co-page .co-seg label.active, .co-page .co-seg a.is-active { background: var(--ln-card); color: var(--ln-text); font-weight: 600; box-shadow: var(--ln-shadow-1); }
.co-page .co-seg--full { display: flex; }
.co-page .co-seg--full a { padding: 8px 0; }

.co-summary { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 18px; padding: 28px; border-radius: var(--ln-r-xl); background: var(--ln-card); border: 1px solid var(--ln-border); box-shadow: var(--ln-shadow-2); }
.co-summary__kicker { margin: 0; font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ln-text-3); }
.co-summary__plan { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-top: 6px; }
.co-summary__name { margin: 0; font-size: 22px; line-height: 28px; font-weight: 600; color: var(--ln-heading); min-width: 0; overflow-wrap: anywhere; }
.co-summary__price { font-weight: 600; color: var(--ln-heading); font-variant-numeric: tabular-nums; flex: none; }
.co-rows { display: flex; flex-direction: column; gap: 8px; padding-top: 16px; border-top: 1px solid var(--ln-border); font-size: 14px; line-height: 20px; color: var(--ln-text-2); }
.co-row { display: flex; justify-content: space-between; gap: 12px; font-variant-numeric: tabular-nums; }
.co-row span:last-child { color: var(--ln-text); }
.co-coupon { display: flex; gap: 8px; margin-top: 6px; }
.co-coupon .au-input { flex: 1; min-width: 0; padding: 10px 14px; }
.co-promo { align-self: flex-start; padding: 4px 0 !important; }
.co-total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-top: 16px; border-top: 1px solid var(--ln-border); font-size: 14px; font-weight: 600; color: var(--ln-text); }
.co-total > div { text-align: right; }
.co-total__value { font-size: 24px; line-height: 30px; font-weight: 700; letter-spacing: -0.02em; color: var(--ln-heading); font-variant-numeric: tabular-nums; }
.co-total__note { margin: 2px 0 0; font-size: 12px; font-weight: 400; color: var(--ln-text-3); }
.co-fine { margin: 0; font-size: 12px; line-height: 17px; color: var(--ln-text-3); text-align: center; }
.co-actions { display: flex; justify-content: flex-end; gap: 8px; }
#payment-form #couponresponse { font-size: 13px; margin-top: 6px; }
@media (max-width: 1023px) { .co-wrap { grid-template-columns: 1fr; padding: 40px 20px 56px; } .co-summary { position: static; } }
@media (max-width: 560px) { .co-methods { grid-template-columns: 1fr; } .co-section { padding: 20px; } }
.pr-page .pr-card__list .pr-rows { flex: none; }
.pr-page .pr-table tbody th, .pr-page .pr-table thead th { text-transform: none; letter-spacing: normal; font-size: 14px; }
.pr-page .pr-table thead th.pr-table__plan { font-size: 14px; }

/* aplicația (components.css) pune stil de „segment" pe orice .btn-stack; aici .co-methods e o grilă de carduri, iar .co-seg e pilulă */
.co-page .co-methods { background: none; border: 0; border-radius: 0; padding: 0; gap: 12px; }
.co-page .co-seg { border-radius: var(--ln-r-pill); padding: 4px; gap: 4px; background: var(--ln-bg-2); border: 1px solid var(--ln-border); }
.co-page .co-seg :is(label, a) { border-radius: var(--ln-r-pill); }
.co-page .co-seg label.active, .co-page .co-seg a.is-active { background-color: var(--ln-card); color: var(--ln-text); }
.co-page .co-methods label.co-method { border-radius: var(--ln-r-md); border: 1px solid var(--ln-border-strong); background-color: transparent; color: var(--ln-text-2); font-weight: 500; }
.co-page .co-methods label.co-method.active { border: 2px solid var(--ln-primary); background-color: var(--ln-primary-soft); color: var(--ln-text); font-weight: 600; }
