/* CG Forms — diseño editorial (v0.80.0).

   Mismo lenguaje que las secciones editoriales de la página de Inicio del
   sitio Flatsome: etiqueta en mayúsculas con línea, titular grande alineado
   a la izquierda, tarjeta blanca con línea superior morada, pasos 01/02/03,
   campos con línea inferior, botones en píldora y estados en morado (el
   verde de marca con texto blanco no pasa contraste AA: 2.4:1).

   Todo va acotado a:
     - .cgf-ed               la <section> (o .nl-form-wrap) de un formulario
                             con diseño editorial (CG_Editorial::decorate()).
     - .cgf-ed-global …      los modales (quiz, newsletter, aviso de
                             privacidad) cuando el diseño global es editorial.
   El prefijo ":root body :is(…)" pesa (0,4,1) o más: le gana a forms.css y
   booking.css (0,2,1) sin !important. Con diseño "Clásico" este archivo no
   cambia nada. */

/* ---------- 0. Sección, fondos y contenedor ---------- */

:root body .lead-form-section.cgf-ed{padding:88px 0;background:#fcfcf2;color:#262626}
:root body .lead-form-section.cgf-ed.cgf-bg--blanco{background:#fff}
:root body .lead-form-section.cgf-ed.cgf-bg--verde{background:#eef9f6}
:root body .lead-form-section.cgf-ed.cgf-bg--morado{background:#f1eef5}
:root body .lead-form-section.cgf-ed.cgf-bg--transparente{background:transparent}
:root body .lead-form-section.cgf-ed .lead-form-container{max-width:1180px}
@media (max-width:849px){:root body .lead-form-section.cgf-ed{padding:64px 0}}
@media (max-width:549px){:root body .lead-form-section.cgf-ed{padding:48px 0}}

/* Embebido en una columna de UX Builder: sin espaciado ni ancho propio
   (aplica también con diseño clásico). */
:root body .lead-form-section.cgf-embed{padding:0;background:transparent}
:root body .lead-form-section.cgf-embed :where(.container){max-width:none;padding:0}
:root body .lead-form-section.cgf-no-head .lead-form-intro{display:none}

/* ---------- 1. Encabezado ---------- */

:root body .cgf-ed .lead-form-intro{max-width:40em;margin:0 0 2.5rem;text-align:left}
:root body .cgf-ed .lead-form-intro .section-label{
  display:flex;align-items:center;gap:.8em;margin:0 0 1em;
  font-size:.78rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#1e7f61;
}
:root body .cgf-ed .lead-form-intro .section-label::before{content:"";flex:none;width:3em;height:2px;background:currentColor}
:root body .cgf-ed .lead-form-intro :is(h1,h2,h3){
  margin:0 0 .45em;font-size:clamp(2.1rem,3.6vw,3.2rem);font-weight:700;line-height:1.02;letter-spacing:-.025em;color:#262626;
}
:root body .cgf-ed .lead-form-sub,:root body .cgf-ed .lead-form-sub p{max-width:34em;margin:0;font-size:1.08rem;line-height:1.6;color:#555}

/* Columnas (≥850 px): encabezado fijo a la izquierda, todo lo demás
   (invitación al quiz, tarjeta, avisos) en la columna derecha. */
@media (min-width:850px){
  :root body .cgf-ed--columnas:not(.cgf-no-head) .lead-form-container:has(> .lead-form-intro :is(h1,h2,h3)){
    display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(2.5rem,5vw,5rem);align-items:start;
  }
  :root body .cgf-ed--columnas:not(.cgf-no-head) .lead-form-container:has(> .lead-form-intro :is(h1,h2,h3)) > *{grid-column:2}
  :root body .cgf-ed--columnas:not(.cgf-no-head) .lead-form-container:has(> .lead-form-intro :is(h1,h2,h3)) > .lead-form-intro{
    grid-column:1;grid-row:1 / span 6;position:sticky;top:120px;margin:0;
  }
}
/* Apilado (o columnas sin titular: Partners, CV, Donativo y Pro bono no
   traen uno propio): la tarjeta no se estira a 1180 px. */
:root body .cgf-ed .lead-form-container:not(:has(> .lead-form-intro :is(h1,h2,h3))) > :is(.lf-card,.bk-quiz-nudge,.pb-notice,.cr-apply-prompt),
:root body .cgf-ed--apilado .lf-card,
:root body .cgf-ed--apilado .bk-quiz-nudge{max-width:760px}
:root body .cgf-ed .lead-form-intro .cr-apply-lede{max-width:34em;margin:0;font-size:1.08rem;line-height:1.6;color:#555;text-align:left}
:root body .cgf-ed .lead-form-intro:not(:has(:is(h1,h2,h3))){margin-bottom:1.6rem}

/* ---------- 2. Tarjeta y pasos ---------- */

:root body .cgf-ed .lf-card{
  max-width:none;margin:0;padding:2.4rem 2.4rem 2rem;background:#fff;
  border-top:2px solid var(--cgf-purple);box-shadow:0 1px 0 rgba(38,38,38,.08),0 18px 44px rgba(38,38,38,.06);
}
:root body .cgf-embed.cgf-ed .lf-card{box-shadow:0 1px 0 rgba(38,38,38,.08)}
@media (max-width:549px){:root body .cgf-ed .lf-card{padding:1.6rem 1.2rem 1.4rem}}

:root body .cgf-ed .lf-step{margin:0;padding:1.7rem 0 1.9rem;background:none;border:0;border-top:1px solid rgba(38,38,38,.12);border-radius:0}
/* El primer .lf-step no siempre es el primer hijo (va después del campo
   anti-spam), por eso ":not(.lf-step ~ .lf-step)" y no ":first-child". */
:root body .cgf-ed .lf-step:not(.lf-step ~ .lf-step){padding-top:0;border-top:0}
:root body .cgf-ed .lf-step.lf-locked{opacity:.38}
:root body .cgf-ed .lf-step-label{gap:.9em;margin-bottom:1.2rem;font-size:.74rem;font-weight:700;letter-spacing:.18em;color:#262626}
:root body .cgf-ed .lf-step-num{
  width:auto;height:auto;border-radius:0;background:none;color:var(--cgf-purple);
  font-size:1.9rem;font-weight:700;line-height:1;letter-spacing:-.03em;
}
:root body .cgf-ed .lf-step-num::before{content:"0"}
:root body .cgf-ed .lf-step.lf-done .lf-step-num{background:none;color:#1e7f61}
:root body .cgf-ed .lf-step.lf-done .lf-step-label::after{content:"✓";margin-left:auto;font-size:1rem;color:#1e7f61}
:root body .cgf-ed .lf-step-question{margin-bottom:1rem;font-size:1.15rem;font-weight:600;line-height:1.45;color:#262626}

/* Subtítulos dentro de un paso (factura) — mismo trazo que la etiqueta. */
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-section-heading{
  display:flex;align-items:center;gap:.7em;margin:2rem 0 1.2rem;padding-top:1.6rem;
  font-size:.72rem;letter-spacing:.2em;color:#1e7f61;border-top:1px solid rgba(38,38,38,.12);
}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-section-heading::before{content:"";flex:none;width:2em;height:2px;background:currentColor}

/* ---------- 3. Campos (formularios y modales) ---------- */

:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-form-field{gap:.45rem;margin-bottom:1.5rem}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) :is(.lf-form-field > label,.lf-fieldset-legend){
  font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#262626;
}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-form-field :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select){
  padding:.65rem 0 .6rem;border:0;border-bottom:1.5px solid rgba(38,38,38,.28);border-radius:0;
  background-color:transparent;font-size:1rem;color:#262626;transition:border-color .2s ease,box-shadow .2s ease;
}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-form-field select{background-position:right .1rem center;padding-right:1.8rem}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-form-field textarea{
  padding:.85rem .95rem;border:1.5px solid rgba(38,38,38,.2);border-radius:0;background:#fff;
  font-size:1rem;line-height:1.55;color:#262626;transition:border-color .2s ease;
}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-form-field :is(input,select,textarea):hover{border-color:rgba(38,38,38,.5)}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-form-field :is(input,select):focus{
  border-color:var(--cgf-purple);box-shadow:0 1.5px 0 var(--cgf-purple);outline:none;
}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-form-field textarea:focus{border-color:var(--cgf-purple);outline:none}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-form-field :is(input,textarea)::placeholder{color:#9a9a94;opacity:1}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-form-field:has(> .lf-field-err.lf-active) :is(input,select,textarea){border-color:#b3261e}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-field-err{font-size:.78rem;color:#b3261e}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-form-row{column-gap:1.6rem}

/* Casillas, aviso de privacidad. */
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-check-row input[type=checkbox]{accent-color:var(--cgf-purple)}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-check-row label{font-size:.9rem;line-height:1.6;color:#262626}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-notice-summary{font-size:.92rem;line-height:1.6;color:#555}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-notice-link{color:var(--cgf-purple);text-underline-offset:3px}

/* Botones de opción (Sí/No, saludo, idioma, montos) y chips. */
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-choice-btn{
  padding:.8rem 1.2rem;border:1.5px solid rgba(38,38,38,.22);border-radius:999px;background:#fff;
  font-size:.94rem;font-weight:700;color:#262626;transition:border-color .2s ease,background .2s ease,color .2s ease;
}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-choice-btn:hover{border-color:var(--cgf-purple)}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-choice-btn.lf-selected{background:var(--cgf-purple);border-color:var(--cgf-purple);color:#fcfcf2}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-chip-row .lf-choice-btn{padding:.5rem 1rem;font-size:.86rem}

/* Opciones de radio (perfil del formulario de descarga). */
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-radio-option{border:1.5px solid rgba(38,38,38,.18);border-radius:10px;background:#fff}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-radio-option:has(input:checked){border-color:var(--cgf-purple);background:#f1eef5}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-radio-option input[type=radio]{accent-color:var(--cgf-purple)}

/* Archivo (constancia fiscal), vacante fija del CV, avisos. */
:root body .cgf-ed .lf-file-button{border:1.5px solid rgba(38,38,38,.22);background:#fff;font-weight:700}
:root body .cgf-ed .lf-file-button:hover{border-color:var(--cgf-purple);color:var(--cgf-purple)}
:root body .cgf-ed .lf-file-hint a{color:var(--cgf-purple)}
:root body .cgf-ed .lf-form-field.lf-position-locked{border:0;border-left:3px solid var(--cgf-green);border-radius:0;background:#eef9f6}
:root body .cgf-ed .lf-position-locked strong{color:#1e7f61}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-age-block-msg{border:0;border-left:3px solid #b3261e;border-radius:0}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-readiness{border-left:3px solid rgba(38,38,38,.25);border-radius:0}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-readiness.lf-readiness--ready{border-left-color:var(--cgf-green);color:#1e7f61}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-readiness.lf-readiness--sending{border-left-color:var(--cgf-purple)}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-readiness.lf-readiness--error{border-left-color:#b3261e}
:root body .cgf-ed :is(.cr-apply-prompt,.pb-notice){border-radius:0;text-align:left}
:root body .cgf-ed .cr-apply-prompt{border:0;border-left:3px solid var(--cgf-purple);background:#fff}
:root body .cgf-ed .pb-notice-confidential{border-left:3px solid var(--cgf-green);color:#1e7f61}
:root body .cgf-ed .pb-notice-honesty{border-left:3px solid rgba(38,38,38,.25)}
:root body .cgf-ed :is(.cr-apply-lede,.cr-apply-prompt,.pb-notice){margin-left:0;margin-right:0}

/* ---------- 4. Botones ---------- */

:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-submit-btn{
  display:flex;align-items:center;justify-content:center;gap:.6em;width:100%;margin-top:.6rem;padding:1rem 1.6rem;
  border-radius:999px;background:var(--cgf-purple);color:#fcfcf2;font-size:1rem;font-weight:700;
  box-shadow:0 10px 24px rgba(75,46,131,.22);transition:background .25s ease,transform .25s ease,box-shadow .25s ease;
}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-submit-btn:not(:has(svg))::after{content:"→";transition:transform .25s ease}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-submit-btn:hover{background:var(--cgf-purple-dark);transform:translateY(-1px);box-shadow:0 14px 30px rgba(75,46,131,.3)}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-submit-btn:hover::after{transform:translateX(4px)}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-submit-btn:disabled{background:#d8d8d2;color:#555;box-shadow:none;transform:none}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .btn-primary{background:var(--cgf-purple);color:#fcfcf2;box-shadow:0 10px 24px rgba(75,46,131,.22)}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .btn-primary:hover{background:var(--cgf-purple-dark);color:#fcfcf2}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .btn-secondary{background:transparent;border-color:var(--cgf-purple);color:var(--cgf-purple);box-shadow:none}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .btn-secondary:hover{background:var(--cgf-purple);color:#fcfcf2}

/* ---------- 5. Envío correcto ---------- */

:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-success-box{padding:2.4rem 0 .6rem;text-align:left}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-success-icon{
  width:64px;height:64px;margin:0 0 1.2rem;background:var(--cgf-green);color:#262626;font-size:1.8rem;font-weight:700;
}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-success-box h3{margin:0 0 .5rem;font-size:1.8rem;font-weight:700;line-height:1.1;letter-spacing:-.02em;color:#262626}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-success-box p{font-size:1rem;color:#555}

/* ---------- 6. Agenda tu llamada ---------- */

:root body .cgf-ed .bk-quiz-nudge{
  margin:0 0 1.6rem;padding:1.2rem 1.4rem;border-radius:0;border-left:4px solid var(--cgf-green);background:#fff;
  box-shadow:0 1px 0 rgba(38,38,38,.08);
}
:root body .cgf-ed .bk-quiz-nudge-icon{background:#eef9f6;color:#1e7f61}
:root body .cgf-ed .bk-quiz-nudge-title{color:#262626}
:root body .cgf-ed .bk-quiz-nudge-sub{color:#555}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .bk-calltype-card{border:1.5px solid rgba(38,38,38,.16);border-radius:0;border-top:2px solid transparent;padding:1rem 1.1rem}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .bk-calltype-card:hover{border-color:rgba(38,38,38,.35);border-top-color:var(--cgf-purple)}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .bk-calltype-card.lf-selected{background:#f1eef5;border-color:var(--cgf-purple)}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .bk-calltype-label{font-size:1rem}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .bk-calltype-desc{color:#555}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .bk-calltype-duration{letter-spacing:.14em;color:#1e7f61}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .bk-day-btn{
  min-width:70px;padding:.7rem .5rem;border:1.5px solid rgba(38,38,38,.16);border-radius:8px;background:#fff;font-size:.95rem;font-weight:700;
}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .bk-day-btn .bk-day-dow{font-size:.62rem;letter-spacing:.16em;color:#777}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .bk-day-btn:hover{border-color:var(--cgf-purple)}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .bk-day-btn.lf-selected{background:var(--cgf-purple);border-color:var(--cgf-purple);color:#fcfcf2}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .bk-day-btn.lf-selected .bk-day-dow{color:rgba(252,252,242,.75)}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .bk-slot-btn{border:1.5px solid rgba(38,38,38,.16);border-radius:999px;background:#fff;font-weight:700}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .bk-slot-btn:hover{border-color:var(--cgf-purple)}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .bk-slot-btn.lf-selected{background:var(--cgf-purple);border-color:var(--cgf-purple);color:#fcfcf2}

/* ---------- 7. Modales: quiz, newsletter, aviso de privacidad ---------- */

:root body.cgf-ed-global .lf-modal{border-radius:6px;border-top:3px solid var(--cgf-purple)}
:root body.cgf-ed-global .lf-modal-header{padding:1.1rem 1.4rem}
:root body.cgf-ed-global .lf-modal-header h2{
  display:flex;align-items:center;gap:.7em;font-size:.74rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#262626;
}
:root body.cgf-ed-global .lf-modal-header h2::before{content:"";flex:none;width:2em;height:2px;background:var(--cgf-green)}
:root body.cgf-ed-global .lf-modal-body{padding:1.3rem 1.4rem 1.5rem}
:root body.cgf-ed-global .lf-notice-section h3{font-size:.72rem;letter-spacing:.16em;color:#1e7f61}
:root body.cgf-ed-global .quiz-progress{height:3px;border-radius:0}
:root body.cgf-ed-global .quiz-progress-bar{border-radius:0;background:var(--cgf-purple)}
:root body.cgf-ed-global .quiz-step-headline{font-size:1.5rem;font-weight:700;line-height:1.15;letter-spacing:-.02em}
:root body.cgf-ed-global .quiz-intro-card{border-radius:0;border-left:3px solid rgba(38,38,38,.2)}
:root body.cgf-ed-global .quiz-intro-card--purple{border-left-color:var(--cgf-purple)}
:root body.cgf-ed-global .quiz-intro-card--green{border-left-color:var(--cgf-green)}
:root body.cgf-ed-global .quiz-intro-card-title{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}
:root body.cgf-ed-global .quiz-persona-card{border:1.5px solid rgba(38,38,38,.16);border-radius:10px;border-top:2px solid transparent}
:root body.cgf-ed-global .quiz-persona-card:hover{border-color:rgba(38,38,38,.35);border-top-color:var(--cgf-purple);box-shadow:0 12px 28px rgba(38,38,38,.08)}
:root body.cgf-ed-global .quiz-option-btn{border:1.5px solid rgba(38,38,38,.18);border-radius:10px}
:root body.cgf-ed-global .quiz-option-btn:hover{border-color:var(--cgf-purple)}
:root body.cgf-ed-global .quiz-option-btn.lf-selected{background:var(--cgf-purple);border-color:var(--cgf-purple);color:#fcfcf2}
:root body.cgf-ed-global .quiz-back-btn:hover{color:var(--cgf-purple)}
:root body.cgf-ed-global .quiz-result-text{border-radius:0;border-left:3px solid var(--cgf-green)}
:root body.cgf-ed-global .quiz-booked-contact-link{color:var(--cgf-purple)}

/* ---------- 8. Newsletter (en línea y en el modal) ---------- */

:root body .nl-form-wrap.cgf-ed{max-width:460px}
/* Campo de correo con ícono de sobre */
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .nl-input-wrap{position:relative;display:flex;align-items:center}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .nl-input-wrap .nl-envelope{position:absolute;left:.15rem;width:1.25rem;height:1.25rem;color:var(--cgf-purple);pointer-events:none;transition:color .2s ease,transform .2s ease}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-form-field .nl-input-wrap input.nl-email-input:not([type=checkbox]):not([type=radio]):not([type=file]){padding-left:2.1rem;font-size:1.05rem}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .nl-input-wrap:focus-within .nl-envelope{color:#1e7f61;transform:translateY(-1px) rotate(-6deg)}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .nl-form .lf-check-row label{font-size:.82rem;line-height:1.45}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .nl-topics-toggle{font-size:.82rem;font-weight:700;color:var(--cgf-purple)}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .nl-submit-btn{width:100%}
/* Insignia del modal: sobre en círculo con un punto verde de "nuevo" */
:root body .nl-modal-badge{position:relative;display:inline-grid;place-items:center;width:3.4rem;height:3.4rem;margin:0 0 .9rem;border-radius:50%;background:#f1eef5;color:var(--cgf-purple)}
:root body .nl-modal-badge-ico .nl-envelope{width:1.6rem;height:1.6rem}
:root body .nl-modal-badge-dot{position:absolute;top:.35rem;right:.3rem;width:.75rem;height:.75rem;border:2px solid #fff;border-radius:50%;background:var(--cgf-green);animation:cgf-nl-dot 2s ease-in-out infinite}
@keyframes cgf-nl-dot{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}
/* Sobre fondo oscuro (secciones .dark de Flatsome): texto claro, línea clara y acento verde.
   Mismo prefijo que las reglas de los campos más ".dark", para ganarles sin !important. */
:root body .dark .nl-form-wrap :is(label,.lf-check-row label,.lf-notice-summary){color:rgba(252,252,242,.85)}
:root body .dark :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-form-field :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select){border-bottom-color:rgba(252,252,242,.45);background-color:transparent;color:#fcfcf2}
:root body .dark :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-form-field :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select):hover{border-bottom-color:rgba(252,252,242,.75)}
:root body .dark :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-form-field :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select):focus{border-bottom-color:var(--cgf-green);box-shadow:0 1.5px 0 var(--cgf-green)}
:root body .dark :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-form-field :is(input,textarea)::placeholder{color:rgba(252,252,242,.55)}
:root body .dark :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-form-field select option{color:#262626}
:root body .dark .nl-form-wrap .nl-input-wrap .nl-envelope{color:var(--cgf-green)}
:root body .dark .nl-form-wrap .nl-topics-toggle{color:var(--cgf-green)}
:root body .dark .nl-form-wrap .lf-chip{border-color:rgba(252,252,242,.35);color:#fcfcf2;background:transparent}


/* ---------- 8b. "¿Cómo se enteró de nosotros?" (CG_Source_Field), éxito y modo oscuro ---------- */
/* Selector editorial: ícono de altavoz, línea inferior y flecha propia (morada; verde en oscuro). */
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-form-field select.cg-source-select:not([multiple]):not([disabled]):not([size]){
  padding:.65rem 2rem .6rem 2.1rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234B2E83' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11v2a1 1 0 0 0 1 1h2l5 4V6L6 10H4a1 1 0 0 0-1 1z'/%3E%3Cpath d='M15.5 8.5a5 5 0 0 1 0 7M18.5 5.5a9 9 0 0 1 0 13'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234B2E83' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat,no-repeat;background-position:left .1rem center,right .2rem center;background-size:1.2rem 1.2rem,1rem 1rem;
  font-size:1rem;cursor:pointer;-webkit-appearance:none;appearance:none;
}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-form-field select.cg-source-select:not([multiple]):focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234B2E83' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11v2a1 1 0 0 0 1 1h2l5 4V6L6 10H4a1 1 0 0 0-1 1z'/%3E%3Cpath d='M15.5 8.5a5 5 0 0 1 0 7M18.5 5.5a9 9 0 0 1 0 13'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232EB98F' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-form-field .cg-source-other-field{border-bottom-style:dashed}
/* Separador de "Elegir temas": punteado y tenue (en oscuro parecía un campo vacío). */
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .nl-topics-field{border-top:1px dashed rgba(38,38,38,.18)}
/* Éxito: palomita en círculo junto al texto, filete verde, sin recuadro gris. */
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .nl-success-box.lf-active{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;padding:1.2rem 1.3rem;border-left:3px solid var(--cgf-green);background:#eef9f6;text-align:left}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .nl-success-box .lf-success-icon{width:2.8rem;height:2.8rem;margin:0;font-size:1.3rem}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .nl-success-box p{margin:0;font-size:1.02rem;font-weight:700;line-height:1.45;color:#262626}
/* Modo oscuro */
:root body .dark :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-form-field select.cg-source-select:not([multiple]){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232EB98F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11v2a1 1 0 0 0 1 1h2l5 4V6L6 10H4a1 1 0 0 0-1 1z'/%3E%3Cpath d='M15.5 8.5a5 5 0 0 1 0 7M18.5 5.5a9 9 0 0 1 0 13'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232EB98F' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}
:root body .dark :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .nl-topics-field{border-top-color:rgba(252,252,242,.16)}
:root body .dark :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .nl-success-box.lf-active{background:rgba(46,185,143,.1)}
:root body .dark :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .nl-success-box p{color:#fcfcf2}
:root body .dark .nl-form-wrap .lf-check-row input[type=checkbox]{accent-color:var(--cgf-green)}

/* ---------- 8c. Partners: chips de tipo de relación y perfil ---------- */
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) :is(.cg-partner-chips-field,.cg-chips-field) .lf-chips-label{display:block;margin-bottom:.6rem;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#262626}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) :is(.cg-partner-chips-field,.cg-chips-field) .lf-chip-row{display:flex;flex-wrap:wrap;gap:.45rem;border-radius:12px}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) :is(#relationship-chips,#case-type-chips) .lf-chip{padding:.65em 1.15em;font-size:.92rem}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) #profile-chips .lf-chip{padding:.45em .95em;font-size:.8rem}
:root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) :is(.cg-partner-chips-field,.cg-chips-field) .lf-chip-row.is-flash{animation:cgf-flash 1.4s ease}
@keyframes cgf-flash{0%,100%{box-shadow:0 0 0 0 rgba(46,185,143,0)}30%{box-shadow:0 0 0 6px rgba(46,185,143,.35)}}

/* ---------- 8d. Factura: constancia como zona para soltar el PDF ---------- */
:root body .cgf-ed .lf-file-field{position:relative;justify-content:center;padding:1.4rem 1.2rem 2.6rem;border:1.5px dashed rgba(75,46,131,.35);border-radius:12px;background:#faf8fc;text-align:center;transition:border-color .2s ease,background .2s ease}
:root body .cgf-ed .lf-file-field::after{content:"o arrastra aquí tu PDF";position:absolute;left:0;right:0;bottom:.9rem;font-size:.78rem;font-weight:700;letter-spacing:.06em;color:rgba(75,46,131,.6);pointer-events:none}
:root body .cgf-ed .lf-file-field.is-drag{border-color:var(--cgf-green);background:#eef9f6}
:root body .cgf-ed .lf-file-field.is-drag::after{content:"Suelta el PDF aquí";color:#1e7f61}
:root body .cgf-ed .lf-file-field.has-file{border-style:solid;border-color:var(--cgf-green);background:#eef9f6}
:root body .cgf-ed .lf-file-field.has-file::after{content:"✓ Constancia lista para enviar";color:#1e7f61}
:root body .cgf-ed .lf-file-field .lf-file-name{flex-basis:100%}
:root body .dark .cgf-ed .lf-file-field{background:rgba(252,252,242,.04);border-color:rgba(252,252,242,.3)}

@media (prefers-reduced-motion:reduce){
  :root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) :is(.cg-partner-chips-field,.cg-chips-field) .lf-chip-row.is-flash{animation:none}
  :root body .nl-modal-badge-dot{animation:none}
  :root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .nl-input-wrap .nl-envelope{transition:none}
  :root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) :is(.lf-submit-btn,.lf-submit-btn::after,.lf-choice-btn,.lf-form-field input,.lf-form-field select,.lf-form-field textarea){transition:none}
  :root body :is(.cgf-ed,.cgf-ed-global .lf-modal-overlay) .lf-submit-btn:hover{transform:none}
}
