/* =============================================================================
   legal-v7.css — tema întunecată pentru paginile de conținut (contact, termeni,
   politica de confidențialitate, politica de cookies).
   -----------------------------------------------------------------------------
   Paginile astea nu au un design livrat în pachet — stăteau pe tema veche
   `front-office` (fundal alb, foundation grid). Aici le aducem în limbajul vizual
   v7 (întunecat, fonturile landing, accentul gradient), REFOLOSIND markup-ul de
   conținut existent: nu rescriem cele ~470 de rânduri de text legal, ci
   re-desenăm. Tokenii (--panel, --card-bd, --accent-text, --muted…) vin din
   chat-v7.css, încărcat înaintea acestui fișier. Chrome-ul (`.legal-*`) e definit
   integral aici — paginile nu poartă sidebar-ul de chat.
   ============================================================================= */

/* ---- chrome: header + container + footer ---- */
.legal { min-height: 100svh; display: flex; flex-direction: column; }
.legal-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px clamp(16px, 4vw, 44px); border-bottom: 1px solid var(--hairline); }
.legal-top .brand svg { height: 30px; width: auto; display: block; }
.legal-back { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; padding: 8px 12px; border-radius: 10px; font-size: 13.5px; font-weight: 600; color: var(--muted); text-decoration: none; transition: color var(--dur-fast), background var(--dur-fast); }
.legal-back:hover { color: #fff; background: rgba(255, 255, 255, .05); }
.legal-back svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.legal-main { flex: 1; padding: clamp(28px, 6vw, 64px) 16px; }
.legal-wrap { width: 100%; max-width: 820px; margin: 0 auto; }
.legal-foot { border-top: 1px solid var(--hairline); padding: 22px 16px; text-align: center; font-size: 13px; color: var(--dim); display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; }
.legal-foot .ico { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 2; }

/* ---- neutralizarea containerelor foundation (fără tema veche rămân doar div-uri) ---- */
.legal .section, .legal .grid-container, .legal .grid-x, .legal .cell { display: block; width: auto; margin: 0; padding: 0; max-width: none; }
.legal .grid-x.align-justify, .legal .grid-x.x-center { display: block; }

/* ritmul vertical al utilitarelor `.margin-children-*` (tema veche le dădea gap) */
.legal .margin-children-16 > * + * { margin-top: 16px; }
.legal .margin-children-32 > * + * { margin-top: 32px; }
.legal .large-margin-children-64 > * + *, .legal .small-margin-children-32 > * + * { margin-top: 32px; }
.legal .large-margin-children-100 > * + *, .legal .small-margin-children-64 > * + * { margin-top: 40px; }
.legal .privacy-section + .privacy-section, .legal .terms-section + .terms-section { margin-top: 34px; }

/* ---- tipografie (prose) ---- */
.legal-wrap h1, .legal .h1 { font-family: var(--font-display); font-weight: 800; letter-spacing: -.03em; font-size: clamp(28px, 5vw, 40px); line-height: 1.1; color: #fff; margin: 0 0 8px; }
.legal-wrap h2 { font-family: var(--font-display); font-weight: 700; letter-spacing: -.02em; font-size: 22px; line-height: 1.25; color: #fff; margin: 30px 0 12px; }
.legal-wrap h3 { font-family: var(--font-display); font-weight: 700; font-size: 17px; color: #fff; margin: 20px 0 8px; }
.legal-wrap p { margin: 0 0 12px; font-size: 15px; line-height: 1.65; color: var(--fg-body); }
.legal-wrap p:last-child { margin-bottom: 0; }
.legal-wrap ul, .legal-wrap ol { margin: 0 0 12px; padding-left: 22px; }
.legal-wrap li { font-size: 15px; line-height: 1.6; color: var(--fg-body); margin-bottom: 6px; }
.legal-wrap b, .legal-wrap strong { color: #fff; font-weight: 700; }
.legal-wrap a { color: var(--accent-text); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(var(--accent-rgb), .5); transition: text-decoration-color var(--dur-fast); }
.legal-wrap a:hover { text-decoration-color: var(--accent-text); }
.legal-wrap a.hover-underline { text-decoration: none; }
.legal-wrap a.hover-underline:hover { text-decoration: underline; }

/* ---- carduri: albul din tema veche devine panou întunecat; gradientul rămâne ---- */
.legal .padding-25 { padding: 22px; }
.legal .border-radius { border-radius: var(--r-lg); }
.legal .background-white { background: var(--panel); border: 1px solid var(--card-bd); box-shadow: var(--sh-1), var(--inset-hi); }
.legal .background-white p, .legal .background-white li { color: var(--fg-body); }
.legal .background-gradient { background: var(--grad); }
.legal .background-gradient.color-white, .legal .background-gradient.color-white * { color: #fff; }

/* ---- contact: metode + formular ---- */
.legal .contact-method { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--fg); font-weight: 600; }
.legal .contact-method svg { width: 40px; height: 40px; flex: 0 0 auto; }
.legal .contact-method .hover-underline { color: var(--fg); }
.legal .contact-method:hover .hover-underline { color: var(--accent-text); text-decoration: underline; }
.legal .inline-flex { display: inline-flex; } .legal .y-center { align-items: center; } .legal .gap-10 { gap: 10px; }

.legal .form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.legal .form > .cell[style*="12"] { grid-column: 1 / -1; }
@media (max-width: 560px) { .legal .form { grid-template-columns: 1fr; } .legal .form > .cell { grid-column: 1 / -1; } }
.legal .form input[type="text"], .legal .form input[type="email"], .legal .form textarea {
  width: 100%; min-height: 52px; background: var(--bg-elev); border: 1px solid var(--card-bd);
  border-radius: var(--r-sm); padding: 15px 14px; color: #fff; font: inherit; font-size: 15px;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, .3); transition: border-color var(--dur-fast), box-shadow var(--dur-fast);
}
.legal .form textarea { min-height: 120px; resize: vertical; }
.legal .form input::placeholder, .legal .form textarea::placeholder { color: var(--dim); }
.legal .form input:focus-visible, .legal .form textarea:focus-visible {
  outline: none; border-color: rgba(var(--accent-rgb), .6);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, .3), 0 0 0 3px rgba(var(--accent-rgb), .18);
}
.legal .form input:-webkit-autofill, .legal .form textarea:-webkit-autofill {
  -webkit-text-fill-color: #fff; caret-color: #fff;
  -webkit-box-shadow: 0 0 0 1000px var(--bg-elev) inset; transition: background-color 9999s ease-out 0s;
}
.legal .form [data-field-invalid] { border-color: rgba(var(--danger-rgb), .65) !important; box-shadow: inset 0 1px 2px rgba(0,0,0,.3), 0 0 0 3px rgba(var(--danger-rgb), .14) !important; }
/* label plutitor injectat de framework (data-form-label-virtual) */
.legal .form .label-virtual-cnt { position: relative; }
.legal .form .label-virtual-cnt .label-virtual { position: absolute; left: 14px; top: 16px; font-size: 15px; color: var(--dim); pointer-events: none; opacity: 0; transition: opacity var(--dur-fast), transform var(--dur-base) var(--ease-out); }
.legal .form .label-virtual-cnt[data-active] .label-virtual { opacity: 1; transform: translateY(-26px) scale(.8); color: var(--accent-text); font-weight: 700; }
.legal .form .label-virtual-cnt[data-active] input::placeholder, .legal .form .label-virtual-cnt[data-active] textarea::placeholder { color: transparent; }

/* checkbox de acord (checkbox-virtual din framework) */
.legal .checkbox-virtual { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; font-size: 13.5px; line-height: 1.5; color: var(--muted); }
.legal .checkbox-virtual input { position: absolute; opacity: 0; pointer-events: none; }
.legal .checkbox-virtual__checkbox { flex: 0 0 auto; width: 21px; height: 21px; border-radius: 6px; border: 1.5px solid var(--hairline-strong); background: var(--bg-elev); display: inline-flex; align-items: center; justify-content: center; margin-top: 1px; transition: background var(--dur-fast), border-color var(--dur-fast); }
.legal .checkbox-virtual__checkbox svg { width: 11px; height: 11px; fill: #fff; opacity: 0; transition: opacity var(--dur-fast); }
.legal .checkbox-virtual input:checked + .checkbox-virtual__checkbox { background: var(--accent); border-color: transparent; }
.legal .checkbox-virtual input:checked + .checkbox-virtual__checkbox svg { opacity: 1; }
.legal .checkbox-virtual__text { color: var(--muted); }
.legal .form .cta { margin-top: 2px; }

.legal .font-14 { font-size: 13.5px; } .legal .text-left { text-align: left; }

/* Modalele newsletter/feedback vin din layout-ul plan-v5 (necesare pe chat). Pe
   paginile de conținut nu au niciun declanșator — sunt inofensive (ascunse prin
   opacity/transform), dar le scoatem de tot ca să nu poată apărea la vreo tranziție. */
body.legal-page .popup-custom { display: none !important; }
