/* Claritate Fiscală — stiluri pentru coș, finalizare comandă și confirmare.
 * Folosește aceleași culori și fonturi ca restul site-ului. */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --navy:#1a2744; --navy-2:#243258; --gold:#c9a84c; --gold-lt:#e8d5a3; --cream:#faf8f4;
  --white:#ffffff; --text:#2c2c2c; --muted:#6b7280; --border:#e5e1d8; --radius:12px;
  --err:#b42318; --err-bg:#fef3f2; --ok:#146c43; --ok-bg:#ecfdf3;
}
html { scroll-behavior: smooth; }
body { font-family:'Inter',sans-serif; color:var(--text); background:var(--cream); line-height:1.65; min-height:100vh; display:flex; flex-direction:column; }
main { flex:1; }
a { color:var(--navy); }

nav { position:sticky; top:0; z-index:100; background:rgba(255,255,255,.95); backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border); padding:0 5%; display:flex; align-items:center; justify-content:space-between; height:64px; gap:1rem; }
.nav-logo { font-family:'Playfair Display',serif; font-size:1.1rem; color:var(--navy); text-decoration:none; font-weight:700; }
.nav-logo span { color:var(--gold); }
.nav-links { display:flex; align-items:center; gap:1.2rem; font-size:.85rem; }
.nav-links a { color:var(--muted); text-decoration:none; }
.nav-links a:hover { color:var(--navy); }
.nav-cos { display:inline-flex; align-items:center; gap:.4rem; font-weight:600; color:var(--navy) !important; }
.badge { background:var(--gold); color:var(--navy); border-radius:999px; font-size:.72rem; font-weight:700; min-width:1.35rem; height:1.35rem; display:inline-flex; align-items:center; justify-content:center; padding:0 .35rem; }

.hero { background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 60%,#2e4070 100%); color:var(--white); padding:40px 5% 34px; }
.hero-inner { max-width:1080px; margin:0 auto; }
.hero h1 { font-family:'Playfair Display',serif; font-size:clamp(1.6rem,3.2vw,2.2rem); line-height:1.2; }
.hero p { color:var(--gold-lt); font-size:.95rem; margin-top:.4rem; }

.steps { display:flex; gap:.6rem; align-items:center; margin-top:1.1rem; font-size:.8rem; flex-wrap:wrap; }
.step { display:flex; align-items:center; gap:.4rem; color:rgba(255,255,255,.65); }
.step b { width:1.5rem; height:1.5rem; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:rgba(255,255,255,.18); font-size:.75rem; }
.step.activ { color:var(--white); font-weight:600; }
.step.activ b { background:var(--gold); color:var(--navy); }
.step-sep { width:28px; height:1px; background:rgba(255,255,255,.3); }

.wrap { max-width:1080px; margin:0 auto; padding:2rem 5% 3.5rem; display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:1.6rem; align-items:start; }
.wrap.una { grid-template-columns:minmax(0,720px); justify-content:center; }
.card { background:var(--white); border:1px solid var(--border); border-radius:var(--radius); padding:1.4rem 1.5rem; margin-bottom:1.2rem; }
.card h2 { font-family:'Playfair Display',serif; font-size:1.2rem; color:var(--navy); margin-bottom:1rem; }
.sumar { position:sticky; top:84px; }

.linie { display:flex; gap:1rem; justify-content:space-between; align-items:flex-start; padding:.85rem 0; border-bottom:1px solid var(--border); }
.linie:last-of-type { border-bottom:0; }
.linie-nume { font-weight:600; color:var(--navy); }
.linie-tip { display:inline-block; font-size:.68rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase; background:rgba(201,168,76,.18); color:#7a5f12; border-radius:6px; padding:.1rem .45rem; margin-left:.4rem; vertical-align:middle; }
.linie details { margin-top:.3rem; font-size:.85rem; color:var(--muted); }
.linie details summary { cursor:pointer; }
.linie details ul { margin:.4rem 0 0 1.1rem; }
.linie-pret { font-weight:700; color:var(--navy); white-space:nowrap; }
.btn-sterge { background:none; border:0; color:var(--muted); font:inherit; font-size:.8rem; text-decoration:underline; cursor:pointer; padding:.2rem 0; margin-top:.3rem; }
.btn-sterge:hover { color:var(--err); }

.rand { display:flex; justify-content:space-between; padding:.3rem 0; font-size:.95rem; }
.rand.total { border-top:1px solid var(--border); margin-top:.5rem; padding-top:.8rem; font-size:1.25rem; font-weight:700; color:var(--navy); }
.nota-tva { font-size:.78rem; color:var(--muted); margin-top:.2rem; }

.btn { display:block; width:100%; text-align:center; text-decoration:none; font:inherit; font-weight:700; font-size:1rem; border-radius:10px; padding:.85rem 1.2rem; cursor:pointer; border:2px solid transparent; transition:filter .2s; }
.btn-aur { background:var(--gold); color:var(--navy); }
.btn-aur:hover:not(:disabled) { filter:brightness(1.07); }
.btn-aur:disabled { opacity:.55; cursor:not-allowed; }
.btn-contur { background:var(--white); color:var(--navy); border-color:var(--border); margin-top:.7rem; }
.btn-contur:hover { border-color:var(--navy); }

.camp { margin-bottom:1rem; }
.camp label, .legenda { display:block; font-size:.75rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); margin-bottom:.3rem; }
.camp input[type=text], .camp input[type=email], .camp input[type=tel], .camp select {
  width:100%; font:inherit; font-size:1rem; padding:.7rem .85rem; border:1px solid var(--border); border-radius:9px; background:var(--cream); color:var(--text); }
.camp input:focus, .camp select:focus { outline:2px solid var(--navy); outline-offset:1px; background:var(--white); }
.camp .eroare-camp { color:var(--err); font-size:.8rem; margin-top:.25rem; min-height:0; }
.camp input[aria-invalid=true], .camp select[aria-invalid=true] { border-color:var(--err); background:var(--err-bg); }
.rand-camp { display:grid; grid-template-columns:1fr 1fr; gap:0 1rem; }
.rand-camp.trei { grid-template-columns:1.2fr 1.4fr .9fr; }
.radio-grup { display:flex; gap:1.2rem; flex-wrap:wrap; margin-bottom:1rem; }
.radio-grup label { display:flex; align-items:center; gap:.45rem; font-size:.95rem; text-transform:none; letter-spacing:0; color:var(--text); font-weight:500; margin:0; cursor:pointer; }
.nota { font-size:.82rem; color:var(--muted); margin-bottom:1rem; }
.ascuns { display:none !important; }

.bifa { display:flex; gap:.6rem; align-items:flex-start; font-size:.88rem; margin:.7rem 0; }
.bifa input { margin-top:.28rem; width:1.05rem; height:1.05rem; accent-color:var(--navy); flex:none; }

.mesaj { border-radius:10px; padding:.8rem 1rem; font-size:.9rem; margin:.8rem 0; }
.mesaj.eroare { background:var(--err-bg); color:var(--err); border:1px solid #fecdca; }
.mesaj.info { background:#f5f1e6; color:#5b4a14; border:1px solid var(--gold-lt); }
.mesaj.ok { background:var(--ok-bg); color:var(--ok); border:1px solid #abefc6; }
.goala { text-align:center; padding:2rem 1rem; color:var(--muted); }
.goala h2 { margin-bottom:.5rem; }
.goala .btn { display:inline-block; width:auto; margin-top:1rem; }
.securizat { display:flex; gap:.5rem; align-items:center; justify-content:center; font-size:.8rem; color:var(--muted); margin-top:.8rem; }
#payment-element { min-height:60px; }

.confirmare h2 { margin-bottom:.4rem; }
.nr-comanda { display:inline-block; font-family:ui-monospace,Menlo,Consolas,monospace; background:var(--cream); border:1px dashed var(--gold); border-radius:8px; padding:.3rem .7rem; font-weight:700; color:var(--navy); }

footer { background:var(--navy); color:rgba(255,255,255,.75); text-align:center; font-size:.8rem; padding:1.6rem 5%; }
footer a { color:var(--gold-lt); }

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

@media (max-width: 900px) {
  .wrap { grid-template-columns:1fr; }
  .sumar { position:static; order:-1; }
}
@media (max-width: 560px) {
  .rand-camp, .rand-camp.trei { grid-template-columns:1fr; }
  .nav-links .nav-extra { display:none; }
  .linie { flex-direction:column; gap:.3rem; }
}
