/*
 * PDT Core — stiluri front-end pentru componentele proprii (shortcode-uri).
 * Committed light scheme: card CREM + text NAVY + accent AURIU, cu contrast forțat,
 * ca să fie lizibile pe ORICE fundal al temei (inclusiv secțiunile navy) și
 * indiferent de prefers-color-scheme. Armonizat cu estetica „Pașaport".
 */

.pdt-validate,
.pdt-onboarding,
.pdt-verify,
.pdt-consent,
.pdt-passport {
  /* redefinim tokenii LOCAL, ca orice var(--pdt-*) din interior să rezolve pe schema lizibilă */
  --pdt-card: #fbf9f2;
  --pdt-ink: #182238;
  --pdt-ink-2: #3f4a60;
  --pdt-line: #e6ddc6;
  --pdt-foil: #9a7018;
  --pdt-ok: #1c7a4a;
  --pdt-crit: #a3283a;

  color-scheme: light;
  background: #fbf9f2 !important;
  color: #182238 !important;
  border: 1px solid #e6ddc6 !important;
  border-radius: 14px !important;
  padding: 20px 22px !important;
  box-shadow: 0 10px 34px rgba(24, 34, 56, 0.14) !important;
  max-width: 720px;
  margin: 18px auto !important;
  font-family: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  line-height: 1.55;
}

/* Toate elementele de text din componente — culoare explicită, contrast garantat */
.pdt-validate :is(h3, h4, p, label, legend, strong, li, span, div, a, small, em),
.pdt-onboarding :is(h3, h4, p, label, legend, strong, li, span, div, a, small, em),
.pdt-verify :is(h3, h4, p, label, legend, strong, li, span, div, a, small, em),
.pdt-consent :is(h3, h4, p, label, legend, strong, li, span, div, a, small, em),
.pdt-passport :is(h3, h4, p, label, legend, strong, li, span, div, a, small, em) {
  color: #182238;
}

.pdt-validate h3, .pdt-onboarding h3, .pdt-verify h3, .pdt-consent h3, .pdt-passport h3,
.pdt-validate h4, .pdt-onboarding h4, .pdt-verify h4, .pdt-consent h4, .pdt-passport h4 {
  font-family: "Fraunces", "Iowan Old Style", Georgia, serif;
  color: #17314f;
  margin: 0 0 12px;
  line-height: 1.2;
}

.pdt-validate legend, .pdt-onboarding legend, .pdt-verify legend, .pdt-consent legend {
  font-weight: 700;
  color: #17314f;
  padding: 0 4px;
}

.pdt-validate fieldset, .pdt-onboarding fieldset, .pdt-verify fieldset, .pdt-consent fieldset {
  border: 1px solid #e6ddc6;
  border-radius: 10px;
  padding: 12px 14px;
  margin: 14px 0;
  background: #fffdf8;
}

.pdt-validate label, .pdt-onboarding label, .pdt-verify label, .pdt-consent label {
  display: block;
  font-weight: 600;
  margin: 10px 0 4px;
}
.pdt-validate fieldset label, .pdt-onboarding fieldset label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 500;
  margin: 4px 14px 4px 0;
}

.pdt-validate input[type="text"],
.pdt-validate input[type="email"],
.pdt-validate input[type="number"],
.pdt-validate input[type="date"],
.pdt-validate textarea,
.pdt-onboarding input[type="text"],
.pdt-onboarding input[type="email"],
.pdt-onboarding input[type="number"],
.pdt-onboarding input[type="date"],
.pdt-onboarding textarea,
.pdt-verify input[type="text"],
.pdt-consent input[type="text"] {
  width: 100%;
  max-width: 380px;
  padding: 10px 12px;
  border: 1px solid #cdd3dd;
  border-radius: 8px;
  background: #ffffff;
  color: #182238;
  font-size: 15px;
  font-family: inherit;
}
.pdt-validate textarea, .pdt-onboarding textarea { max-width: 100%; }
.pdt-validate input:focus, .pdt-onboarding input:focus, .pdt-verify input:focus, .pdt-validate textarea:focus, .pdt-onboarding textarea:focus {
  outline: none;
  border-color: #9a7018;
  box-shadow: 0 0 0 3px rgba(154, 112, 24, 0.18);
}

.pdt-hint { color: #6b7280 !important; font-size: 13.5px; }

/* Butoane */
.pdt-validate button, .pdt-onboarding .pdt-submit, .pdt-verify button, .pdt-consent .pdt-submit,
.pdt-submit {
  background: #17314f !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 9px !important;
  padding: 11px 22px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  cursor: pointer;
  transition: background .15s ease;
}
.pdt-validate button:hover, .pdt-onboarding .pdt-submit:hover, .pdt-verify button:hover, .pdt-submit:hover {
  background: #9a7018 !important;
}
.pdt-consent .pdt-deny, .pdt-deny {
  background: #ffffff !important;
  color: #a3283a !important;
  border: 1px solid #a3283a !important;
  border-radius: 9px !important;
  padding: 11px 22px !important;
  font-weight: 700 !important;
  cursor: pointer;
}

/* Rezultatul verificării */
.pdt-verify .pdt-verify-result { margin-top: 14px; padding: 12px 14px; background: #fffdf8; border: 1px solid #e6ddc6; border-radius: 10px; }
.pdt-verify code, .pdt-passport code, .pdt-validate code {
  background: #efeadb; color: #6a4e10; padding: 1px 6px; border-radius: 5px; font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 13px;
}

/* Legături */
.pdt-validate a, .pdt-onboarding a, .pdt-verify a, .pdt-consent a { color: #17314f; text-decoration: underline; }

/* Bara de progres din pașaport */
.pdt-passport ul { padding-left: 18px; }
.pdt-passport li { margin: 4px 0; }

/* Generator asistat — butoane de sugestie (chips), diferite de butonul principal */
.pdt-builder .pdt-suggest { margin: 6px 0 10px; }
.pdt-builder .pdt-suggest-cat { margin: 8px 0; }
.pdt-builder .pdt-suggest-cat em { color: #6a4e10; font-style: normal; font-weight: 700; font-size: 12.5px; display: block; margin-bottom: 4px; }
.pdt-builder .pdt-chip-btn {
  background: #fffdf8 !important;
  color: #17314f !important;
  border: 1px solid #d9cfb2 !important;
  border-radius: 999px !important;
  padding: 4px 10px !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  margin: 2px 4px 2px 0 !important;
  cursor: pointer;
}
.pdt-builder .pdt-chip-btn:hover { background: #f3ebd3 !important; border-color: #9a7018 !important; }
.pdt-builder textarea { max-width: 100% !important; }

/* Generator dinamic — domenii detectate + justificări */
.pdt-builder .pdt-domains { background:#eef5ef; border:1px solid #cfe3d4; border-radius:10px; padding:10px 12px; margin:6px 0 12px; font-size:13.5px; }
.pdt-builder .pdt-domain-chip { display:inline-block; background:#1c7a4a; color:#fff !important; border-radius:999px; padding:3px 11px; font-size:12.5px; font-weight:700; margin:2px 4px 2px 0; }
.pdt-builder .pdt-suggest-cat.pdt-rec em { color:#9a7018; }
.pdt-builder .pdt-why { color:#1c7a4a !important; font-size:12.5px; font-weight:600; }
