/* =========================================================
 * FONAVIEMCALI – CF7 UI KIT (GENERAL / REUTILIZABLE)
 * Scope anti-conflictos con tema/Divi:
 *   Raíz: .wpcf7 .fonaviemcali-cf7
 * ========================================================= */

/* ---------- Root / Tokens ---------- */
.wpcf7 .fonaviemcali-cf7{
  /* Colores corporativos (según requerimiento) */
  --fnv-primary: #ee7e09;        /* naranja */
  --fnv-secondary: #00a1b5;      /* teal */
  --fnv-canvas: #f2f2f2;         /* gris claro */

  /* Neutros / UI */
  --fnv-surface: #ffffff;
  --fnv-soft: #f8fafc;
  --fnv-text: #111827;
  --fnv-muted: #6b7280;
  --fnv-border: #e2e8f0;

  /* Estados */
  --fnv-error: #dc2626;
  --fnv-success: #166534;
  --fnv-warning: #b45309;

  /* Layout */
  --fnv-radius-lg: 16px;
  --fnv-radius-md: 12px;
  --fnv-radius-sm: 10px;
  --fnv-pill: 999px;
  --fnv-gap: 1.1rem;

  /* Sombras */
  --fnv-shadow: 0 18px 45px rgba(15, 23, 42, 0.10);

  font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  color: var(--fnv-text);
  max-width: 860px;
  margin-inline: auto;
  padding: 18px;
  border-radius: var(--fnv-radius-lg);

  background:
    radial-gradient(900px 180px at 10% 0%, rgba(0,161,181,.12), transparent 60%),
    radial-gradient(900px 180px at 90% 0%, rgba(238,126,9,.14), transparent 60%),
    var(--fnv-surface);

  border: 1px solid rgba(15, 23, 42, 0.05);
  box-shadow: var(--fnv-shadow);
  overflow: hidden;
}

.wpcf7 .fonaviemcali-cf7,
.wpcf7 .fonaviemcali-cf7 *{
  box-sizing: border-box;
}

.wpcf7 .fonaviemcali-cf7 :where(p){ margin: 0 0 12px; }
.wpcf7 .fonaviemcali-cf7 :where(strong){ font-weight: 900; }

/* ---------- Helpers / Utility ---------- */
.wpcf7 .fonaviemcali-cf7__help{
  margin: 6px 0 0;
  font-size: .86rem;
  line-height: 1.5;
  color: var(--fnv-muted);
}

.wpcf7 .fonaviemcali-cf7__hr{
  height: 1px;
  width: 100%;
  background: var(--fnv-border);
  border: 0;
  margin: 14px 0;
}

.wpcf7 .fonaviemcali-cf7__badge{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: var(--fnv-pill);
  font-size: .78rem;
  font-weight: 900;
  background: rgba(0,161,181,.08);
  border: 1px solid rgba(0,161,181,.22);
  color: var(--fnv-text);
}

.wpcf7 .fonaviemcali-cf7__badge--primary{
  background: rgba(238,126,9,.10);
  border-color: rgba(238,126,9,.25);
}

/* ---------- Doc header (tipo formato oficial) ---------- */
.wpcf7 .fonaviemcali-cf7__doc-header{
  display:grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: stretch;
  padding: 12px;
  border: 1px solid var(--fnv-border);
  border-radius: 14px;
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(6px);
  margin-bottom: 16px;
}

.wpcf7 .fonaviemcali-cf7__doc-header-left{
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 10px 12px;
  border-right: 1px solid var(--fnv-border);
}

.wpcf7 .fonaviemcali-cf7__logo{
  max-height: 54px;
  width:auto;
}

.wpcf7 .fonaviemcali-cf7__doc-header-center{
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
  padding: 6px 10px;
}

.wpcf7 .fonaviemcali-cf7__doc-main{
  margin:0;
  font-size: 0.78rem;
  font-weight:900;
  letter-spacing: .12em;
}

.wpcf7 .fonaviemcali-cf7__doc-sub{
  margin:.15rem 0 0;
  font-size: 0.98rem;
  font-weight:900;
}

.wpcf7 .fonaviemcali-cf7__doc-area{
  margin:.2rem 0 0;
  font-size: .78rem;
  font-weight:800;
  color: var(--fnv-secondary);
}

.wpcf7 .fonaviemcali-cf7__doc-header-right{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap: 8px;
  padding: 10px 12px;
  border-left: 1px solid var(--fnv-border);
  min-width: 170px;
}

.wpcf7 .fonaviemcali-cf7__meta-row{
  display:flex;
  justify-content:space-between;
  gap: 10px;
  font-size: .78rem;
  padding: 6px 10px;
  border: 1px dashed rgba(0,161,181,.35);
  border-radius: 12px;
  background: rgba(0,161,181,.06);
}

.wpcf7 .fonaviemcali-cf7__meta-label{ font-weight:800; color: var(--fnv-muted); }
.wpcf7 .fonaviemcali-cf7__meta-value{ font-weight:900; color: var(--fnv-text); }

/* ---------- Header / Intro ---------- */
.wpcf7 .fonaviemcali-cf7__header{
  margin: 6px 0 18px;
  text-align: center;
}

.wpcf7 .fonaviemcali-cf7__eyebrow{
  margin:0 0 6px;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:900;
  color: var(--fnv-primary);
}

.wpcf7 .fonaviemcali-cf7__title{
  margin:0 0 8px;
  font-size: clamp(1.25rem, 2.8vw, 1.85rem);
  line-height:1.2;
  font-weight: 1000;
  color: #000064; /* puedes parametrizarlo si deseas */
}

.wpcf7 .fonaviemcali-cf7__subtitle{
  margin:0 auto;
  color: var(--fnv-muted);
  font-size:.92rem;
  max-width: 70ch;
}

/* ---------- Section / Fieldset ---------- */
.wpcf7 .fonaviemcali-cf7__section{
  border: 1px solid var(--fnv-border);
  border-radius: var(--fnv-radius-md);
  background: linear-gradient(180deg, rgba(242,242,242,.65), rgba(248,250,252,.95));
  padding: 16px;
  margin-bottom: 14px;
}

.wpcf7 .fonaviemcali-cf7__section > legend{
  padding: 0 8px;
  font-size: .78rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight: 1000;
  color: var(--fnv-text);
}

/* ---------- Grid system ---------- */
.wpcf7 .fonaviemcali-cf7__grid{ display:grid; gap: var(--fnv-gap); }

@media (min-width: 640px){
  .wpcf7 .fonaviemcali-cf7__grid--2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wpcf7 .fonaviemcali-cf7__grid--3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .wpcf7 .fonaviemcali-cf7__grid--4{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Utilidades opcionales (si las usas en HTML más adelante) */
.wpcf7 .fonaviemcali-cf7__col-span-2{ grid-column: span 2; }
.wpcf7 .fonaviemcali-cf7__col-span-3{ grid-column: span 3; }

/* ---------- Field / Label ---------- */
.wpcf7 .fonaviemcali-cf7__field{
  display:flex;
  flex-direction:column;
  gap: 7px;
}

.wpcf7 .fonaviemcali-cf7__field > label{
  font-size: .86rem;
  font-weight:800;
  color: var(--fnv-text);
}

/* CF7 wrapper span */
.wpcf7 .fonaviemcali-cf7 .wpcf7-form-control-wrap{
  display:block;
  width: 100%;
}

/* ---------- Controls (inputs/select/textarea) ---------- */
.wpcf7 .fonaviemcali-cf7 input.wpcf7-form-control:not(.wpcf7-submit),
.wpcf7 .fonaviemcali-cf7 select.wpcf7-form-control,
.wpcf7 .fonaviemcali-cf7 textarea.wpcf7-form-control{
  width:100%;
  border-radius: var(--fnv-radius-md);
  border: 1px solid var(--fnv-border);
  background: var(--fnv-surface);
  padding: 12px 12px;
  font-size: .95rem;
  line-height:1.35;
  color: var(--fnv-text);
  transition: border-color .18s ease, box-shadow .18s ease, transform .08s ease;
  -webkit-appearance: none;
  appearance: none;
}

.wpcf7 .fonaviemcali-cf7 textarea.wpcf7-form-control{
  min-height: 120px;
  resize: vertical;
}

.wpcf7 .fonaviemcali-cf7 ::placeholder{ color:#9ca3af; opacity:1; }

.wpcf7 .fonaviemcali-cf7 input.wpcf7-form-control:not(.wpcf7-submit):focus,
.wpcf7 .fonaviemcali-cf7 select.wpcf7-form-control:focus,
.wpcf7 .fonaviemcali-cf7 textarea.wpcf7-form-control:focus{
  outline:none;
  border-color: rgba(0,161,181,.70);
  box-shadow: 0 0 0 4px rgba(0,161,181,.14);
}

/* ---------- Radios / Checkboxes (listas CF7) ---------- */
.wpcf7 .fonaviemcali-cf7 .wpcf7-list-item{
  margin: 8px 0 0;
  display:block;
}

.wpcf7 .fonaviemcali-cf7 .wpcf7-list-item label{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  font-size: .88rem;
  line-height: 1.45;
  color: var(--fnv-text);
}

.wpcf7 .fonaviemcali-cf7 input[type="checkbox"],
.wpcf7 .fonaviemcali-cf7 input[type="radio"]{
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--fnv-secondary);
}

.wpcf7 .fonaviemcali-cf7 .wpcf7-acceptance label{
  color: var(--fnv-muted);
  font-size: .85rem;
}

.wpcf7 .fonaviemcali-cf7 .wpcf7-acceptance a{
  color: var(--fnv-primary);
  text-decoration: underline;
  text-decoration-thickness: 2px;
}

/* ---------- File upload ---------- */
.wpcf7 .fonaviemcali-cf7 input[type="file"].wpcf7-form-control{
  padding: 10px;
  background: rgba(242,242,242,.55);
  border-style: dashed;
}

/* ---------- Submit + spinner ---------- */
.wpcf7 .fonaviemcali-cf7__actions{
  display:flex;
  justify-content:flex-end;
  margin-top: 6px;
}

.wpcf7 .fonaviemcali-cf7 .wpcf7-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 14px 22px;
  border:0;
  border-radius: var(--fnv-pill);
  cursor:pointer;
  font-weight: 1000;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:#fff;
  background: linear-gradient(135deg, var(--fnv-primary), #c56504);
  box-shadow: 0 16px 30px rgba(238,126,9,.35);
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
}

.wpcf7 .fonaviemcali-cf7 .wpcf7-submit:hover{
  filter: brightness(1.05);
  transform: translateY(-1px);
  box-shadow: 0 22px 40px rgba(238,126,9,.40);
}

.wpcf7 .fonaviemcali-cf7 .wpcf7-submit:active{
  transform: translateY(0);
  box-shadow: 0 12px 22px rgba(238,126,9,.32);
}

.wpcf7 .fonaviemcali-cf7 .wpcf7-spinner{
  margin-left: 10px;
  vertical-align: middle;
}

/* ---------- CF7 Validation + Response ---------- */
.wpcf7 .fonaviemcali-cf7 .wpcf7-not-valid-tip{
  font-size:.78rem;
  font-weight:800;
  color: var(--fnv-error);
  margin-top: 6px;
}

.wpcf7 .fonaviemcali-cf7 .wpcf7-form-control.wpcf7-not-valid{
  border-color: var(--fnv-error);
  box-shadow: 0 0 0 4px rgba(220,38,38,.10);
}

/* Caja de respuesta (éxito/error) — basada en clases oficiales de CF7 */
.wpcf7 .fonaviemcali-cf7 div.wpcf7-response-output{
  margin: 14px 0 0;
  padding: 12px 14px;
  border-radius: 14px;
  font-size: .92rem;
  border: 1px solid var(--fnv-border);
  background: rgba(255,255,255,.9);
}

/* Estados (CF7 agrega estas clases al ) */
.wpcf7 .fonaviemcali-cf7 form.sent div.wpcf7-response-output{
  border-color: rgba(0,161,181,.35);
  background: rgba(0,161,181,.08);
  color: var(--fnv-success);
}

.wpcf7 .fonaviemcali-cf7 form.failed div.wpcf7-response-output,
.wpcf7 .fonaviemcali-cf7 form.aborted div.wpcf7-response-output{
  border-color: rgba(220,38,38,.35);
  background: #fef2f2;
  color: var(--fnv-error);
}

.wpcf7 .fonaviemcali-cf7 form.invalid div.wpcf7-response-output,
.wpcf7 .fonaviemcali-cf7 form.unaccepted div.wpcf7-response-output{
  border-color: rgba(180,83,9,.35);
  background: #fff7ed;
  color: var(--fnv-warning);
}

/* ---------- Responsive “tabla” reusable ---------- */
.wpcf7 .fonaviemcali-cf7__table-wrap{
  overflow:hidden;
  border-radius:14px;
  border:1px solid #dbe2ef;
  background:#fff;
}

.wpcf7 .fonaviemcali-cf7__table{
  width:100%;
  border-collapse:collapse;
}

.wpcf7 .fonaviemcali-cf7__table th,
.wpcf7 .fonaviemcali-cf7__table td{
  padding:10px;
  border-bottom:1px solid #e6eefc;
  font-size:13px;
}

.wpcf7 .fonaviemcali-cf7__table th{
  background:#f7fbff;
  color:#20325f;
  font-weight: 1000;
}

.wpcf7 .fonaviemcali-cf7__table tr:last-child td{
  border-bottom:none;
}

/* ---------- Módulo “repeater” tipo tabla (opcional, reutilizable) ---------- */
.wpcf7 .fonaviemcali-cf7__p-table{
  border:1px solid #dbe2ef;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}

.wpcf7 .fonaviemcali-cf7__p-head,
.wpcf7 .fonaviemcali-cf7__p-row{
  display:grid;
  grid-template-columns: 44px 2.2fr 1fr 1.1fr 0.9fr 1fr 1fr;
  gap:10px;
  align-items:center;
}

.wpcf7 .fonaviemcali-cf7__p-head{
  padding:10px 12px;
  background:#f7fbff;
  font-weight: 1000;
  font-size:12px;
  color:#20325f;
}

.wpcf7 .fonaviemcali-cf7__p-row{
  padding:10px 12px;
  border-top:1px solid #e6eefc;
}

.wpcf7 .fonaviemcali-cf7__p-cell{ min-width:0; }
.wpcf7 .fonaviemcali-cf7__p-label{
  display:none; /* solo móvil */
  font-size:11px;
  font-weight:800;
  color:#6b7aa6;
  margin-bottom:6px;
}
.wpcf7 .fonaviemcali-cf7__p-value{
  font-weight: 1000;
  color:#0e1629;
}

/* Inputs dentro de la "tabla" */
.wpcf7 .fonaviemcali-cf7__p-row input,
.wpcf7 .fonaviemcali-cf7__p-row select{
  width:100%;
}

/* ---------- Responsive ---------- */
@media (max-width: 720px){
  .wpcf7 .fonaviemcali-cf7__doc-header{ grid-template-columns: 1fr; }
  .wpcf7 .fonaviemcali-cf7__doc-header-left{
    justify-content:flex-start;
    border-right:0;
    border-bottom:1px solid var(--fnv-border);
  }
  .wpcf7 .fonaviemcali-cf7__doc-header-right{
    border-left:0;
    border-top:1px solid var(--fnv-border);
    min-width: 0;
  }
}

@media (max-width: 768px){
  .wpcf7 .fonaviemcali-cf7__p-head{ display:none; }
  .wpcf7 .fonaviemcali-cf7__p-row{
    grid-template-columns: 1fr;
    gap:12px;
    padding:12px;
  }
  .wpcf7 .fonaviemcali-cf7__p-label{ display:block; }
  .wpcf7 .fonaviemcali-cf7__p-cell{
    background:#fff;
    border:1px solid #e6eefc;
    border-radius:12px;
    padding:10px;
  }
  .wpcf7 .fonaviemcali-cf7__p-cell:first-child{ border-style:dashed; }
}

@media (max-width: 480px){
  .wpcf7 .fonaviemcali-cf7{
    padding: 14px;
    border-radius: 14px;
  }
  .wpcf7 .fonaviemcali-cf7__actions{
    justify-content: stretch;
  }
  .wpcf7 .fonaviemcali-cf7 .wpcf7-submit{
    width: 100%;
  }
}

/* ---------- Accesibilidad / Motion ---------- */
@media (prefers-reduced-motion: reduce){
  .wpcf7 .fonaviemcali-cf7 *{
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* =========================================================
 * AJUSTES EXTRA (F-BS001) – Encabezado / Section Heads / Uploads / Signature
 * Pegar al FINAL del CSS general
 * ========================================================= */

.wpcf7 .fonaviemcali-cf7{
  border-top: 5px solid var(--fnv-primary);
}

/* Header tipo “formato” */
.wpcf7 .fonaviemcali-cf7__doc-top{
  display:grid;
  grid-template-columns: 220px 1fr 240px;
  gap: 14px;
  align-items:center;
  padding: 10px 6px 8px;
}

.wpcf7 .fonaviemcali-cf7__brand{
  display:flex;
  justify-content:flex-start;
  align-items:center;
}

.wpcf7 .fonaviemcali-cf7__doc-title{
  text-align:center;
  padding: 4px 6px;
}

.wpcf7 .fonaviemcali-cf7__doc-title-main{
  font-weight: 1000;
  letter-spacing: .06em;
  font-size: 1.02rem;
  color: #0e1a3b;
}

.wpcf7 .fonaviemcali-cf7__doc-title-sub{
  margin-top: 6px;
  font-weight: 1000;
  letter-spacing: .10em;
  font-size: .88rem;
  color: var(--fnv-secondary);
  text-transform: uppercase;
}

.wpcf7 .fonaviemcali-cf7__doc-title-area{
  margin-top: 6px;
  font-weight: 700;
  font-size: .86rem;
  color: var(--fnv-muted);
}

.wpcf7 .fonaviemcali-cf7__meta-card{
  background: rgba(242,242,242,.55);
  border-radius: 12px;
  padding: 12px 12px;
  border-left: 4px solid var(--fnv-secondary);
}

.wpcf7 .fonaviemcali-cf7__meta-item{
  display:flex;
  justify-content:space-between;
  gap: 10px;
  padding: 6px 0;
}

.wpcf7 .fonaviemcali-cf7__meta-k{
  font-weight: 900;
  color: var(--fnv-muted);
  font-size: .78rem;
}

.wpcf7 .fonaviemcali-cf7__meta-v{
  font-weight: 1000;
  color: #111827;
  font-size: .82rem;
}

.wpcf7 .fonaviemcali-cf7__divider{
  height: 1px;
  background: rgba(15,23,42,.08);
  margin: 10px 0 18px;
}

/* Secciones tipo título naranja + línea */
.wpcf7 .fonaviemcali-cf7__block{
  padding: 0 2px;
  margin-bottom: 16px;
}

.wpcf7 .fonaviemcali-cf7__section-head{
  display:flex;
  flex-direction:column;
  gap: 8px;
  margin: 0 0 12px;
}

.wpcf7 .fonaviemcali-cf7__section-head h4{
  margin:0;
  font-weight: 1000;
  letter-spacing: .04em;
  color: var(--fnv-primary);
  font-size: .90rem;
}

.wpcf7 .fonaviemcali-cf7__section-line{
  height: 1px;
  width: 100%;
  background: rgba(15,23,42,.10);
}

/* Texto introductorio */
.wpcf7 .fonaviemcali-cf7__lead{
  margin: 0 0 12px;
  color: var(--fnv-muted);
  font-size: .92rem;
}

/* Asterisco rojo discreto */
.wpcf7 .fonaviemcali-cf7 .fnv-req{
  color: var(--fnv-primary);
  font-weight: 1000;
}

/* Radios (ASO/BEN) */
.wpcf7 .fonaviemcali-cf7__field--radios .wpcf7-radio{
  display:flex;
  flex-direction:column;
  gap: 6px;
  padding: 2px 0 0;
}

.wpcf7 .fonaviemcali-cf7__field--radios .wpcf7-list-item{
  margin: 0;
}

.wpcf7 .fonaviemcali-cf7__field--radios .wpcf7-list-item label{
  align-items:center;
}

/* Upload cards (anexos) */
.wpcf7 .fonaviemcali-cf7__upload-card{
  border: 2px dashed rgba(15,23,42,.18);
  background: rgba(242,242,242,.45);
  border-radius: 14px;
  padding: 14px;
  min-height: 92px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap: 10px;
}

.wpcf7 .fonaviemcali-cf7__upload-title{
  text-align:center;
  font-weight: 1000;
  color: #20325f;
  font-size: .86rem;
}

.wpcf7 .fonaviemcali-cf7__upload-card input[type="file"].wpcf7-form-control{
  border: 0;
  background: transparent;
  padding: 0;
}

/* Firma */
.wpcf7 .fonaviemcali-cf7__signature{
  border: 1px solid rgba(15,23,42,.18);
  border-radius: 14px;
  background: #fff;
  padding: 10px;
  min-height: 180px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.wpcf7 .fonaviemcali-cf7__btn-ghost{
  margin-top: 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid rgba(15,23,42,.15);
  background: rgba(242,242,242,.6);
  cursor:pointer;
  font-weight: 900;
}

.wpcf7 .fonaviemcali-cf7__btn-ghost:hover{
  filter: brightness(1.03);
}

/* Acciones centradas como en el pantallazo */
.wpcf7 .fonaviemcali-cf7__actions--center{
  justify-content:center;
}

@media (max-width: 860px){
  .wpcf7 .fonaviemcali-cf7__doc-top{
    grid-template-columns: 1fr;
    text-align:center;
  }
  .wpcf7 .fonaviemcali-cf7__brand{
    justify-content:center;
  }
}

/* =========================================================
 * OVERRIDE FIRMA – Full width, sin cuadro externo
 * ========================================================= */

.wpcf7 .fonaviemcali-cf7__signature-full{
  /* Quita el “cuadro” externo */
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;

  /* Adaptativo */
  width: 100%;
}

/* Fuerza a que el componente interno se expanda a todo el ancho */
.wpcf7 .fonaviemcali-cf7__signature-full > *{
  width: 100% !important;
  max-width: 100% !important;
}

/* Canvas o área de firma (según cómo lo renderice el plugin) */
.wpcf7 .fonaviemcali-cf7__signature-full canvas,
.wpcf7 .fonaviemcali-cf7__signature-full .signature-pad,
.wpcf7 .fonaviemcali-cf7__signature-full .signature-pad canvas{
  width: 100% !important;
  max-width: 100% !important;

  /* Alto responsive */
  height: clamp(180px, 28vw, 280px) !important;

  /* Si tu plugin aplica bordes/box, esto ayuda a “limpiar” */
  border: none !important;
  background: transparent !important;
  display: block;
}

/* Si el plugin mete un contenedor con bordes */
.wpcf7 .fonaviemcali-cf7__signature-full .signature-pad,
.wpcf7 .fonaviemcali-cf7__signature-full .signature-wrapper{
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

/* Fonaviemcali CF7 Suite - estilos encapsulados */
.wpcf7 .fnv-signature-wrap {
  width: 100%;
}

.wpcf7 .fnv-signature {
  width: 100%;
  max-width: 100%;
  padding: 12px;
  border-radius: 14px;
  background: #f2f2f2;
}

.wpcf7 .fnv-signature-canvas {
  width: 100%;
  height: 240px; /* adaptativo: en móvil se verá perfecto */
  display: block;
  border: 2px dashed #00a1b5;
  border-radius: 12px;
  background: #fff;
  touch-action: none;
}

@media (max-width: 480px) {
  .wpcf7 .fnv-signature-canvas {
    height: 210px;
  }
}

.wpcf7 .fnv-help {
  margin: 8px 0 0;
  font-size: 12px;
  opacity: .75;
}

.wpcf7 .fnv-btn {
  appearance: none;
  border: 0;
  cursor: pointer;
  font-weight: 600;
  border-radius: 999px;
  padding: 10px 14px;
  line-height: 1;
}

.wpcf7 .fnv-btn--ghost {
  margin-top: 10px;
  background: #fff;
  color: #00a1b5;
  border: 1px solid rgba(0, 161, 181, .35);
}

.wpcf7 .fnv-btn--ghost:hover {
  border-color: #00a1b5;
}
