/* Moștenește fontul temei; culorile se schimbă din variabile. */
.tce-form, .tce-panel {
  --tce-accent: #1f4e79;
  --tce-cta: #c8631a;
  --tce-line: #d9dde3;
  --tce-muted: #5f6771;
  --tce-bg: #f6f8fa;
  max-width: 720px;
  font: inherit;
  color: inherit;
}
.tce-hp { position: absolute; left: -9999px; }
.tce-section { border: 0; padding: 0; margin: 0 0 2.25rem; min-width: 0; }
.tce-section legend { font-size: 1.15em; font-weight: 600; padding: 0; margin-bottom: .9rem; }
.tce-form label { display: block; margin-bottom: 1rem; font-weight: 500; }
.tce-form label small { display: block; font-weight: 400; color: var(--tce-muted); font-size: .85em; margin-top: .3rem; }
.tce-req { color: #b3261e; }
.tce-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.25rem; }
@media (max-width: 600px) { .tce-row { grid-template-columns: 1fr; } }
.tce-form input[type=text], .tce-form input[type=tel], .tce-form input[type=email],
.tce-form select, .tce-form textarea {
  display: block; width: 100%; box-sizing: border-box; margin-top: .35rem;
  padding: .6rem .75rem; border: 1px solid var(--tce-line); border-radius: 4px;
  font: inherit; line-height: 1.5; background: #fff;
}
/* line-height moștenit de la temă e uneori prea strâns pentru diacritice
   (ă, ș, ț, î au coadă/virgulă dedesubt) – fără un line-height explicit,
   partea de jos a textului din <select> poate apărea tăiată în Chrome/Windows. */
.tce-form select { line-height: normal; }
.tce-form input:focus-visible, .tce-form select:focus-visible, .tce-form textarea:focus-visible,
.tce-form input[type=checkbox]:focus-visible, .tce-form input[type=radio]:focus-visible {
  outline: 2px solid var(--tce-accent); outline-offset: 1px;
}
.tce-choice { display: flex; gap: .75rem; align-items: flex-start; padding: .9rem 1rem;
  border: 1px solid var(--tce-line); border-radius: 4px; margin-bottom: .6rem; cursor: pointer; background: #fff; }
.tce-choice:has(input:checked) { border-color: var(--tce-accent); background: var(--tce-bg); }
.tce-choice input { margin-top: .25rem; flex: none; }
.tce-choice-body { display: block; }
.tce-choice-title { display: flex; justify-content: space-between; gap: 1rem; font-weight: 600; }
.tce-choice-title em { font-style: normal; font-weight: 500; white-space: nowrap; color: var(--tce-accent); }
.tce-choice-desc { display: block; font-weight: 400; color: var(--tce-muted); font-size: .9em; margin-top: .2rem; line-height: 1.4; }
.tce-choice-urgent { margin-top: 1rem; flex-direction: column; align-items: stretch; text-align: center;
  padding: .65rem 1rem; border-width: 1.5px; border-radius: 8px; }
.tce-choice-urgent input { position: absolute; opacity: 0; pointer-events: none; }
.tce-choice-urgent .tce-choice-title { justify-content: center; font-size: .95em; }
.tce-choice-urgent .tce-choice-price { display: block; font-size: 1em; font-weight: 700; color: var(--tce-cta); margin-top: .1rem; }
.tce-choice-urgent .tce-choice-desc { text-align: center; }
.tce-choice-urgent:has(input:checked) { border-color: var(--tce-cta); background: #fff6ee; }
.tce-total { display: flex; justify-content: space-between; align-items: baseline; margin: 1.5rem 0 1.25rem;
  padding: 1rem 0; border-top: 1px solid var(--tce-line); border-bottom: 1px solid var(--tce-line); font-size: 1.05em; }
.tce-total strong { font-size: 1.35em; color: var(--tce-accent); }
.tce-consent { display: flex; gap: .6rem; align-items: flex-start; font-weight: 400; font-size: .9em;
  color: var(--tce-muted); line-height: 1.45; margin-bottom: .75rem; }
.tce-consent input { margin-top: .25rem; flex: none; }
.tce-consent a { color: inherit; text-decoration: underline; }
.tce-submit { display: inline-block; margin-top: .75rem; padding: .85rem 1.75rem; background: #1f8a4c;
  color: #fff; border: 0; border-radius: 4px; font: inherit; font-weight: 600; cursor: pointer; }
.tce-submit:hover { filter: brightness(1.08); }
.tce-submit:disabled { opacity: .6; cursor: wait; }
.tce-step-nav { margin: .25rem 0 2rem; }
.tce-continue { display: inline-block; padding: .85rem 1.75rem; background: #1f8a4c; color: #fff;
  border: 0; border-radius: 8px; font: inherit; font-weight: 600; cursor: pointer; }
.tce-continue:hover { filter: brightness(1.08); }
.tce-continue::after { content: " \2192"; }
.tce-trust { display: flex; align-items: center; gap: .4rem; margin: -.5rem 0 1.25rem; font-size: .85em; color: var(--tce-muted); }
.tce-msg { margin-top: 1rem; min-height: 1.4em; }
.tce-msg-ok { color: #1b6b3a; }
.tce-msg-err, .tce-error { color: #b3261e; }
.tce-panel { padding: 1.25rem 1.5rem; background: var(--tce-bg); border-left: 4px solid var(--tce-accent); margin-bottom: 2rem; }
.tce-panel h3 { margin: 0 0 .5rem; }
.tce-panel p { margin: 0; }
.tce-toggle { color: inherit; font-size: .95em; display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.tce-toggle input[type=checkbox] { order: 2; appearance: none; -webkit-appearance: none; position: relative; flex: none;
  width: 2.4rem; height: 1.35rem; margin: 0; border-radius: 999px; background: #d9dde3; border: 0; cursor: pointer; transition: background .15s; }
.tce-toggle input[type=checkbox]::before { content: ""; position: absolute; top: 2px; left: 2px; width: 1.1rem; height: 1.1rem;
  border-radius: 50%; background: #fff; transition: left .15s; box-shadow: 0 1px 2px rgba(0,0,0,.25); }
.tce-toggle input[type=checkbox]:checked { background: var(--tce-accent); }
.tce-toggle input[type=checkbox]:checked::before { left: 1.15rem; }

/* Metode de plată: două butoane separate, ca la concurență — „Plătește cu
   cardul" mare/evidențiat (reia stilul .tce-submit), „Transfer bancar" mic
   și discret sub el, nu mai există alegere prin radio. */
.tce-pay-transfer { display: block; width: 100%; box-sizing: border-box; margin: .6rem 0 0; padding: .5rem;
  background: transparent; border: 0; color: var(--tce-muted); font: inherit; font-size: .9em;
  font-weight: 500; text-align: center; text-decoration: underline; cursor: pointer; }
.tce-pay-transfer:hover { color: var(--tce-accent); }
.tce-pay-transfer:disabled { opacity: .6; cursor: wait; }
.tce-form [hidden] { display: none !important; }
.tce-imobil { border: 1px solid var(--tce-line); border-radius: 6px; padding: 1.25rem 1.25rem .5rem; margin-bottom: 1rem; }
.tce-imobil legend { padding: 0 .5rem; display: flex; gap: 1rem; align-items: center; }
.tce-remove { font: inherit; font-size: .8em; background: none; border: 1px solid var(--tce-line); border-radius: 4px; padding: .2rem .6rem; cursor: pointer; color: #b3261e; }
.tce-add { font: inherit; background: #fff; border: 1px dashed var(--tce-accent); color: var(--tce-accent); border-radius: 4px; padding: .6rem 1rem; cursor: pointer; }
.tce-hint { display: block; color: var(--tce-muted); font-size: .85em; margin-top: .4rem; }
.tce-sub { font-weight: 600; margin: .5rem 0 .6rem; }

/* Stil card: [teamcad_extrase style="card"] – curat, generos, fără colțuri chioare;
   lată cât permite coloana în care e pus (nu mai are un max-width fix, ca înainte). */
.tce-card { background: #fff; border-radius: 16px; padding: 1.5rem 1.5rem 1.75rem; box-shadow: 0 12px 40px rgba(0,0,0,.14); color: #1f2937; max-width: none; width: 100%; box-sizing: border-box; }
.tce-card .tce-card-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.1rem; }
.tce-card .tce-card-head span { font-size: 1.25em; font-weight: 700; }
.tce-card .tce-card-head em { font-style: normal; font-size: .75em; font-weight: 700; background: var(--tce-accent); color: #fff; padding: .3rem .65rem; border-radius: 999px; letter-spacing: .02em; }
.tce-card .tce-section { margin-bottom: 1.1rem; }
.tce-card .tce-section legend { font-size: 1em; }
.tce-card .tce-imobil { padding: 1.1rem 1rem .5rem; background: #fff; border-radius: 10px; border-color: #e2e6eb; margin-top: .6rem; }
.tce-card .tce-imobil legend { background: var(--tce-accent); color: #fff; padding: .35rem 1rem; border-radius: 5px; font-size: .8em; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.tce-card .tce-imobil legend .tce-remove { background: transparent; border-color: rgba(255,255,255,.6); color: #fff; }
.tce-card .tce-add { border-color: var(--tce-cta); color: var(--tce-cta); border-radius: 999px; display: block;
  width: 100%; text-align: center; padding: .45rem .75rem; font-size: .9em; }
.tce-card .tce-choice { padding: .7rem .8rem; margin-bottom: .4rem; }
.tce-card .tce-choice-urgent { padding: .45rem .75rem; margin: 0 0 .9rem; }
.tce-card .tce-choice-urgent .tce-choice-title { font-size: .85em; }
.tce-card .tce-choice-urgent .tce-choice-price { font-size: .9em; }
.tce-card .tce-choice-desc { display: none; }
.tce-card.tce-form label { margin-bottom: .75rem; }
.tce-card.tce-form label small,
.tce-card .tce-form label small,
.tce-card label small { display: none; }
.tce-card input[type=text], .tce-card input[type=tel], .tce-card input[type=email],
.tce-card select, .tce-card textarea { padding: .7rem .85rem; border-radius: 8px; }
.tce-card .tce-submit { width: 100%; padding: 1.05rem; font-size: 1.08em; border-radius: 10px; }
.tce-card .tce-continue { width: 100%; padding: 1.05rem; font-size: 1.08em; border-radius: 10px; text-align: center; }
.tce-card .tce-step-nav { text-align: center; }
.tce-card .tce-total { font-size: 1em; }
/* ascundem textele ajutătoare lungi (descrierea serviciului, hint-urile sub câmpuri) –
   caseta rămâne scurtă și curată; informația e oricum explicată în restul paginii. */
.tce-card .tce-doc-desc { display: none; }
.tce-card .tce-hint { display: none; }
.tce-card .tce-adresa-hint { display: none; }
@media (max-width: 600px) { .tce-card { padding: 1.5rem 1.25rem 1.75rem; } }
.tce-doc-desc { display: block; font-weight: 400; color: var(--tce-muted); font-size: .9em; margin: -.5rem 0 1.25rem; line-height: 1.4; }

/* Pagini dedicate per serviciu (SEO) – [teamcad_extrase_cf] / [teamcad_extrase_plan] */
.tce-landing { --tce-accent: #1f4e79; --tce-cta: #c8631a; --tce-line: #d9dde3; --tce-muted: #5f6771; --tce-bg: #f6f8fa;
  max-width: 1100px; margin: 0 auto; font: inherit; color: inherit; }
.tce-landing-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 2.5rem; align-items: start; }
@media (max-width: 860px) { .tce-landing-grid { grid-template-columns: 1fr; } }
.tce-landing-intro h1 { font-size: 1.8em; line-height: 1.2; margin: 0 0 1rem; color: var(--tce-accent); }
.tce-landing-badges { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.25rem; }
.tce-badge { display: inline-block; padding: .3rem .7rem; border-radius: 999px; background: var(--tce-bg);
  border: 1px solid var(--tce-line); font-size: .8em; font-weight: 600; color: var(--tce-accent); }
.tce-landing-lead { font-size: 1.05em; color: var(--tce-muted); margin-bottom: 1.25rem; line-height: 1.5; }
.tce-landing-check { list-style: none; padding: 0; margin: 0 0 1.5rem; }
.tce-landing-check li { position: relative; padding-left: 1.6rem; margin-bottom: .7rem; line-height: 1.4; }
.tce-landing-check li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--tce-accent); font-weight: 700; }
.tce-landing-price { font-size: 1.15em; font-weight: 700; color: var(--tce-cta); }
.tce-landing-price span { font-weight: 400; color: var(--tce-muted); font-size: .85em; }
.tce-landing-form .tce-form { max-width: none; }
.tce-landing-steps { margin-top: 3rem; }
.tce-landing-steps h2 { font-size: 1.3em; margin-bottom: 1.25rem; }
.tce-landing-steps ol { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; counter-reset: tce-step; }
@media (max-width: 700px) { .tce-landing-steps ol { grid-template-columns: 1fr; } }
.tce-landing-steps li { counter-increment: tce-step; padding: 1rem 1rem 1rem 3rem; position: relative; background: var(--tce-bg); border-radius: 8px; }
.tce-landing-steps li::before { content: counter(tce-step); position: absolute; left: .9rem; top: 1rem; width: 1.6rem; height: 1.6rem;
  border-radius: 50%; background: var(--tce-accent); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: .9em; }
.tce-landing-steps li strong { display: block; margin-bottom: .3rem; }
