/* Paginile legale Happy Fit Tecuci: aceleași culori și fonturi ca pagina principală, fără animațiile ei. */
:root {
  --crem: #F5F1E8;
  --paper: #FFFDF8;
  --salvie: #6B8C6B;
  --salvie-d: #4F6B4F;
  --salvie-l: #93AD93;
  --car: #B5544A;
  --ink: #3A3A37;
  --text: #5A5A5A;
  --hair: rgba(79, 107, 79, .18);
  --serif: 'Playfair Display', Georgia, serif;
  --sans: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--crem); color: var(--text); font: 400 16px/1.7 var(--sans); -webkit-font-smoothing: antialiased; overflow-x: clip; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--salvie-d); text-underline-offset: 3px; }
a:hover { color: var(--ink); }
:focus-visible { outline: 2px solid var(--salvie-d); outline-offset: 3px; border-radius: 6px; }
::selection { background: var(--salvie-l); color: #fff; }
strong { color: var(--ink); font-weight: 500; }

.tbd, .tbd-link { background: rgba(181, 84, 74, .08); color: var(--car); border-bottom: 1px dashed var(--car); padding: 0 .2em; border-radius: 3px; text-decoration: none; }

/* bara de sus */
.lg-header { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; gap: 1rem; padding: .7rem clamp(16px, 4vw, 40px); background: rgba(245, 241, 232, .86); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--hair); }
.brand { display: flex; align-items: center; gap: .55rem; text-decoration: none; margin-right: auto; }
.brand img { width: 108px; }
.brand-city { font-family: var(--serif); font-style: italic; color: var(--salvie-d); font-size: 1rem; padding-left: .55rem; border-left: 1px solid var(--hair); }
.back { font-size: .9rem; text-decoration: none; white-space: nowrap; }
.back::before { content: '← '; }

/* documentul */
.doc { max-width: 780px; margin: clamp(1.5rem, 5vw, 3.5rem) auto clamp(3rem, 8vw, 5rem); padding: clamp(1.6rem, 5vw, 3.4rem); background: var(--paper); border: 1px solid var(--hair); border-radius: 28px; box-shadow: 0 30px 60px -40px rgba(58, 58, 55, .25); }
.eyebrow { margin: 0 0 .8rem; font-size: .75rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--salvie-d); }
h1, h2 { font-family: var(--serif); color: var(--ink); font-weight: 700; letter-spacing: -.01em; margin: 0; }
h1 { font-size: clamp(2rem, 6vw, 3rem); line-height: 1.08; }
.thread { display: block; width: min(280px, 70%); height: 22px; margin: 1.1rem 0 1.4rem; overflow: visible; }
.thread path { fill: none; stroke: var(--salvie); stroke-width: 1.6; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; animation: draw 1.6s cubic-bezier(.22, 1, .36, 1) .2s forwards; }
.thread circle { fill: var(--salvie-d); }
@keyframes draw { to { stroke-dashoffset: 0; } }
.lead { font-size: 1.08rem; color: var(--ink); margin: 0 0 .6rem; }
.updated { font-size: .85rem; margin: 0 0 2rem; padding-bottom: 1.6rem; border-bottom: 1px solid var(--hair); }
h2 { font-size: clamp(1.25rem, 3.4vw, 1.5rem); line-height: 1.25; margin: 2.4rem 0 .8rem; }
h2 .n { font-style: italic; font-weight: 400; color: var(--salvie); margin-right: .35em; }
p { margin: 0 0 1em; }
ul { margin: 0 0 1em; padding-left: 1.2rem; }
li { margin-bottom: .5em; }
li::marker { color: var(--salvie); }
.box { background: var(--crem); border: 1px solid var(--hair); border-radius: 16px; padding: 1rem 1.2rem; line-height: 1.9; margin: .4rem 0 1rem; overflow-wrap: anywhere; }
.note, .warn { border-radius: 0 14px 14px 0; padding: .9rem 1.1rem; margin: .4rem 0 1rem; font-size: .95rem; }
.note { background: rgba(107, 140, 107, .1); border-left: 3px solid var(--salvie); }
.warn { background: rgba(181, 84, 74, .07); border-left: 3px solid var(--car); }
code { font-size: .88em; background: var(--crem); padding: .05em .35em; border-radius: 4px; }

/* tabel (politica de cookie-uri) */
.table-wrap { overflow-x: auto; margin: .4rem 0 1rem; border: 1px solid var(--hair); border-radius: 16px; }
table { width: 100%; border-collapse: collapse; font-size: .9rem; min-width: 520px; }
th, td { text-align: left; vertical-align: top; padding: .75rem .9rem; border-bottom: 1px solid var(--hair); }
th { background: var(--salvie-d); color: var(--paper); font-weight: 500; font-size: .8rem; letter-spacing: .04em; }
tr:last-child td { border-bottom: 0; }

/* subsol */
.lg-footer { background: var(--salvie-d); color: rgba(255, 253, 248, .82); padding: clamp(2.4rem, 6vw, 3.6rem) clamp(16px, 4vw, 40px) 2.4rem; border-top-left-radius: 40px; border-top-right-radius: 40px; font-size: .9rem; }
.lg-footer-in { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr; gap: 2rem; }
.lg-footer img.logo { width: 130px; margin-bottom: 1rem; }
.lg-footer a { color: var(--paper); }
.lg-footer .tbd, .lg-footer .tbd-link { color: #F3C9C2; border-color: #F3C9C2; background: rgba(255, 255, 255, .08); }
.lg-footer nav a { display: block; margin-bottom: .35rem; }
.lg-footer .sal { display: inline-block; margin-top: 1rem; padding: 6px; border-radius: 12px; background: var(--paper); opacity: .85; transition: opacity .2s; }
.lg-footer .sal:hover { opacity: 1; }
.lg-footer .sal img { display: block; width: 201px; height: 50px; }
.lg-footer .copy { grid-column: 1 / -1; margin: 0; padding-top: 1.2rem; border-top: 1px solid rgba(255, 253, 248, .18); font-size: .8rem; }

@media (max-width: 640px) {
  .lg-footer-in { grid-template-columns: 1fr; }
  /* tabelul devine carduri: fără derulare laterală pe telefon */
  .table-wrap { border: 0; overflow: visible; }
  table, tbody, tr, td { display: block; min-width: 0; }
  thead { display: none; }
  tr { border: 1px solid var(--hair); border-radius: 16px; padding: .4rem 0; margin-bottom: .8rem; }
  td { border: 0; padding: .35rem 1rem; }
  td::before { content: attr(data-label); display: block; font-size: .72rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--salvie-d); }
  .brand img { width: 92px; }
  .back { font-size: .85rem; }
}
@media (max-width: 370px) { .brand-city { display: none; } }
@media (prefers-reduced-motion: reduce) { .thread path { animation: none; stroke-dashoffset: 0; } }
@media print {
  .lg-header, .lg-footer { display: none; }
  body { background: #fff; }
  .doc { border: 0; box-shadow: none; margin: 0; max-width: none; }
}
