/**
 * vouchere.css — /cadou/ (formularul) și /cadou/v/ (voucherul tipăribil).
 * Tokenurile temei (style.css :root); clasele .ch-* ale chestionarului pentru câmpuri.
 */
.vou-formular { border: 1px solid var(--ch-card); background: var(--card); border-radius: var(--raza-mare);
                padding: 1.6rem 1.5rem; margin: 0 0 2.5rem; }
.vou-bloc { border: 0; padding: 0; margin: 0 0 1.6rem; min-width: 0; }
.vou-bloc legend { padding: 0; margin-bottom: .8rem; }
.vou-oferta { display: grid; gap: .6rem; }
.vou-optiune { display: flex; gap: .8rem; align-items: flex-start; cursor: pointer;
               background: var(--card-adanc); border: 1px solid var(--ch-fin); border-radius: 12px;
               padding: .9rem 1rem; min-height: 44px; }
.vou-optiune input { width: 20px; height: 20px; margin-top: .2rem; flex: 0 0 auto; accent-color: var(--violet); }
.vou-optiune:has(input:checked) { border-color: var(--violet); background: rgba(138,43,226,.14); }
.vou-optiune-corp { display: flex; flex-direction: column; gap: .15rem; }
.vou-optiune-corp strong { color: var(--alb); font-weight: 600; }
.vou-optiune-corp small { color: var(--sters); font-size: .82rem; line-height: 1.5; }
.vou-pret { color: var(--lavanda); font-weight: 600; font-variant-numeric: tabular-nums; }
.vou-formular .ch-camp input, .vou-formular .ch-camp textarea { width: 100%; max-width: 30rem; }
.vou-formular .ch-camp textarea { min-height: 5rem; }
.vou-gata { margin-bottom: 2.5rem; }

/* Voucherul: un singur card, centrat, tipăribil. */
.vou-pagina { margin: 0; padding: 2rem 1rem; background: var(--baza); color: var(--text); font-family: var(--sans); }
.vou-card { max-width: 40rem; margin: 0 auto; background: var(--card); border: 1px solid var(--ch-violet);
            border-radius: var(--raza-mare); padding: 2rem 2rem 1.6rem;
            box-shadow: 0 30px 80px rgba(138,43,226,.18); }
.vou-card-sus { display: flex; align-items: center; gap: .7rem; margin-bottom: 1.6rem; }
.vou-marca { font-family: var(--logo); font-size: 1.4rem; font-weight: 500; color: var(--alb); line-height: 1; }
.vou-marca em { font-style: normal; font-weight: 300; }
.vou-marca small { display: block; font-family: var(--sans); font-size: .56rem; font-weight: 600;
                   letter-spacing: .22em; text-transform: uppercase; color: var(--violet-moale); margin-top: .25rem; }
.vou-card h1 { font-size: clamp(1.7rem, 5vw, 2.4rem); letter-spacing: -.03em; margin: .2rem 0 .4rem; color: var(--alb); }
.vou-pentru { font-size: 1.1rem; margin: 0 0 1rem; }
.vou-pentru strong { color: var(--alb); }
.vou-mesaj { margin: 0 0 1.4rem; padding: .9rem 1.1rem; border-left: 3px solid var(--magenta);
             background: var(--card-adanc); border-radius: 0 12px 12px 0; font-style: italic; }
.vou-mesaj footer { margin-top: .5rem; font-style: normal; color: var(--sters); font-size: .86rem; }
.vou-cod { font-size: clamp(1.6rem, 6vw, 2.3rem); font-weight: 700; letter-spacing: .08em; color: var(--alb);
           background: var(--grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
           margin: 1rem 0 .4rem; font-variant-numeric: tabular-nums; }
.vou-detalii { margin: 0 0 1.4rem; line-height: 1.6; }
.vou-detalii strong { color: var(--alb); }
.vou-stare { color: var(--lavanda); }
.vou-cum ol { margin: .4rem 0 0; padding-left: 1.2rem; }
.vou-cum li { margin: 0 0 .4rem; line-height: 1.55; }
.vou-subsol { font-size: .74rem; color: var(--sters); letter-spacing: .04em; margin: 1.4rem 0 0; }
.vou-actiuni { margin: 1.2rem 0 0; }
@media print {
  .vou-pagina { background: #fff; color: #111; padding: 0; }
  .vou-card { box-shadow: none; border-color: #999; color: #111; background: #fff; }
  .vou-card h1, .vou-pentru strong, .vou-detalii strong, .vou-marca, .vou-optiune-corp strong { color: #111; }
  .vou-cod { -webkit-text-fill-color: #111; background: none; color: #111; }
  .vou-actiuni { display: none; }
}
