
.svf-shell{max-width:1220px;margin:0 auto;background:#f8fafc;border:1px solid #e5edf6;border-radius:24px;padding:32px;box-shadow:0 18px 60px rgba(15,23,42,.06);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#0f172a}
.svf-hero{display:grid;grid-template-columns:1.35fr .65fr;gap:20px;align-items:start;margin-bottom:20px}
.svf-badge{display:inline-flex;align-items:center;gap:8px;background:#246bfd;color:#fff;padding:7px 12px;border-radius:999px;font-size:13px;font-weight:700;box-shadow:0 8px 24px rgba(36,107,253,.22)}
.svf-title{margin:14px 0 10px;font-size:clamp(30px,4vw,44px);line-height:1.05;letter-spacing:.02em}
.svf-subtitle{margin:0;color:#5b6b83;font-size:18px;line-height:1.6;max-width:780px}
.svf-summary-panel{background:#fff;border:1px solid #e8eef5;border-radius:20px;padding:20px;box-shadow:0 10px 32px rgba(15,23,42,.05)}
.svf-summary-label{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800;color:#64748b;margin-bottom:10px}
.svf-summary-current{font-size:26px;line-height:1.25}
.svf-summary-current strong{display:block;font-size:34px}
.svf-summary-current span{color:#5b6b83;font-size:17px}
.svf-summary-helper{margin-top:10px;color:#64748b}
.svf-highlight{background:linear-gradient(135deg,#ffffff,#f5f9ff);border:1px solid #dbeafe;border-left:6px solid #246bfd;color:#1e293b;border-radius:18px;padding:16px 18px;margin-bottom:28px;font-size:15px;line-height:1.6}
.svf-step{margin-top:26px}
.svf-step-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}
.svf-step-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800;color:#64748b;margin-bottom:6px}
.svf-step-title{font-size:26px;line-height:1.15;margin:0}
.svf-step-text{margin:8px 0 0;color:#5b6b83;font-size:16px;line-height:1.5}
.svf-inline-btn{border:1px solid #b7c7dc;background:#fff;padding:10px 14px;border-radius:12px;font-weight:600;color:#334155;cursor:pointer}
.svf-group-pills{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.svf-pill{border:1px solid #d6dfec;background:#fff;border-radius:999px;padding:10px 16px;cursor:pointer;font-weight:700;color:#4b5b72;transition:.18s}
.svf-pill.is-active{background:#0f172a;color:#fff;border-color:#0f172a;box-shadow:0 10px 24px rgba(15,23,42,.16)}
.svf-search-wrap{margin-bottom:18px}
.svf-search{width:100%;max-width:420px;border:1px solid #d6dfec;background:#fff;border-radius:14px;padding:14px 16px;font-size:15px}
.svf-section{margin-top:18px}
.svf-section-title{font-size:17px;font-weight:800;color:#334155;margin-bottom:12px}
.svf-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:16px}
.svf-category-card{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:18px;border:1px solid #dbe5f1;background:#fff;cursor:pointer;text-align:left;box-shadow:0 8px 22px rgba(15,23,42,.04);transition:.18s}
.svf-category-card:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(15,23,42,.09);border-color:#9ec5fe}
.svf-category-card.is-active{border-color:#8ab4ff;background:#f7fbff;box-shadow:0 0 0 3px rgba(36,107,253,.12),0 16px 30px rgba(15,23,42,.09)}
.svf-card-icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:16px;background:#eef4ff;font-size:27px;flex:0 0 54px}
.svf-card-copy{display:flex;flex-direction:column;gap:4px}
.svf-card-title{font-size:17px;font-weight:800;color:#0f172a}
.svf-card-text{font-size:15px;color:#64748b}
.svf-modality-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.svf-modality-card{display:block;border:1px solid #dbe5f1;background:#fff;border-radius:18px;padding:18px 18px 16px;text-align:left;cursor:pointer;transition:.18s;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.svf-modality-card:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(15,23,42,.09)}
.svf-modality-card.is-active{border-color:#246bfd;background:linear-gradient(180deg,#fff,#f5f9ff);box-shadow:0 0 0 3px rgba(36,107,253,.12),0 16px 30px rgba(15,23,42,.09)}
.svf-modality-title{display:block;font-size:24px;font-weight:800;line-height:1.1}
.svf-modality-subtitle{display:block;color:#64748b;margin-top:6px;font-size:15px}
.svf-modality-teaser{display:block;color:#1e293b;margin-top:10px;font-size:14px}
.svf-features{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.svf-features li{position:relative;padding-left:24px;color:#35506f;font-size:14px;line-height:1.45}
.svf-features li::before{content:"✓";position:absolute;left:0;top:0;color:#15a34a;font-weight:900}
.svf-panel{background:#fff;border:1px solid #e6edf5;border-radius:22px;padding:20px 22px;margin-bottom:18px;box-shadow:0 10px 28px rgba(15,23,42,.04)}
.svf-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}
.svf-panel-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800;color:#64748b;margin-bottom:6px}
.svf-panel-title{margin:0;font-size:20px;line-height:1.2}
.svf-chip{display:inline-flex;align-items:center;background:#f8fafc;border:1px solid #e6edf5;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700;color:#334155}
.svf-inline-choice{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:#334155;font-size:14px}
.svf-inline-select{min-width:100px;width:auto}
.svf-panel-body.is-collapsed{display:none}
.svf-fields-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.svf-field{grid-column:span 4}
.svf-field.is-span-small{grid-column:span 3}
.svf-field.is-span-2{grid-column:span 8}
.svf-field.is-span-full{grid-column:span 12}
.svf-label{display:block;font-weight:700;color:#0f172a;margin-bottom:8px;font-size:14px}
.svf-req{color:#dc2626}
.svf-control{width:100%;background:#fff;border:1px solid #d6dfec;border-radius:14px;padding:14px 16px;font-size:15px;line-height:1.35;color:#0f172a;box-sizing:border-box}
.svf-control:focus{outline:none;border-color:#8ab4ff;box-shadow:0 0 0 3px rgba(36,107,253,.12)}
textarea.svf-control{resize:vertical}
.svf-check{display:flex;gap:12px;align-items:flex-start;color:#334155;line-height:1.5}
.svf-check input{margin-top:4px}
.svf-help{margin-top:6px;font-size:12px;color:#64748b}
.svf-submitbar{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#0f172a;color:#fff;border-radius:18px;padding:18px 20px;margin-top:10px}
.svf-submitcopy{max-width:760px;line-height:1.5;color:#d8e1ee}
.svf-submitbtn{border:0;background:#246bfd;color:#fff;padding:16px 24px;border-radius:14px;font-weight:800;font-size:16px;cursor:pointer;box-shadow:0 12px 26px rgba(36,107,253,.25)}
.svf-submitbtn:hover{filter:brightness(1.03)}
.svf-message{padding:16px 18px;border-radius:16px;margin-top:14px}
.svf-message h3{margin:0 0 8px;font-size:22px}
.svf-message p{margin:0;line-height:1.6}
.svf-message.is-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}
.svf-message.is-error{background:#fff1f2;border:1px solid #fecdd3;color:#be123c}
.svf-message.is-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#166534}
.svf-feedback{margin-top:12px}
.svf-muted{color:#64748b}
.is-invalid{border-color:#dc2626 !important;box-shadow:0 0 0 3px rgba(220,38,38,.12) !important}
.is-hidden{display:none}
@media (max-width:1100px){
  .svf-hero{grid-template-columns:1fr}
  .svf-summary-panel{order:-1}
  .svf-field,.svf-field.is-span-small{grid-column:span 6}
  .svf-field.is-span-2,.svf-field.is-span-full{grid-column:span 12}
}
@media (max-width:760px){
  .svf-shell{padding:20px;border-radius:18px}
  .svf-title{font-size:34px}
  .svf-card-grid,.svf-modality-grid{grid-template-columns:1fr}
  .svf-fields-grid{grid-template-columns:1fr}
  .svf-field,.svf-field.is-span-small,.svf-field.is-span-2,.svf-field.is-span-full{grid-column:span 1}
  .svf-submitbar,.svf-panel-head,.svf-step-head{flex-direction:column;align-items:flex-start}
  .svf-submitbtn{width:100%}
}


.svf-hero.is-no-summary{grid-template-columns:1fr}
.svf-shell.is-compact .svf-card-grid{gap:12px}
.svf-shell.is-compact .svf-category-card{padding:14px 16px;border-radius:16px}
.svf-shell.is-compact .svf-card-icon{width:46px;height:46px;flex-basis:46px;font-size:24px;border-radius:14px}
.svf-shell.is-compact .svf-card-title{font-size:16px}
.svf-shell.is-compact .svf-card-text{font-size:14px}
.svf-shell.is-compact .svf-modality-grid{gap:12px}
.svf-shell.is-compact .svf-modality-card{padding:16px;border-radius:16px}
.svf-shell.is-compact .svf-modality-title{font-size:20px}
.svf-shell.is-compact .svf-modality-subtitle{font-size:14px}
.svf-shell.is-compact .svf-features{gap:6px}
.svf-shell.is-compact .svf-features li{font-size:13px}


.svf-main-grid{margin-bottom:10px}
.svf-main-category-card{align-items:flex-start;position:relative}
.svf-main-category-card .svf-card-copy{gap:6px}
.svf-card-meta{font-size:13px;color:#8a97ab;line-height:1.45}
.svf-subcategory-wrap{margin-top:18px;padding:18px;border:1px solid #dbe5f1;border-radius:20px;background:linear-gradient(180deg,#ffffff,#f8fbff);box-shadow:0 10px 28px rgba(15,23,42,.04);animation:svfSlideFade .28s ease}
.svf-subcategory-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}
.svf-subcategory-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.svf-subcategory-card{border-style:dashed}
@keyframes svfSlideFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:760px){
  .svf-subcategory-wrap{padding:14px}
}

.svf-main-sections{animation:svfSlideFade .22s ease}
.svf-subcategory-wrap.is-expanded{animation:svfSlideFade .28s ease}
.svf-back-main{white-space:nowrap}
@media (max-width:760px){
  .svf-back-main{width:100%}
}

.svf-step-head.is-direct-head{margin-bottom:14px}
.svf-step-head.is-direct-head .svf-step-title{font-size:32px}
.svf-form.is-direct-form .svf-panel:first-of-type{margin-top:0}

/* v6.9.1: inicio directo en pasos y tarjetas de modalidad orientadas a conversión */
.svf-shell{background:#fff;border:1px solid #e7edf5;border-radius:18px;padding:26px;box-shadow:0 14px 44px rgba(15,23,42,.06)}
.svf-step:first-child{margin-top:0}
.svf-step-title{font-size:clamp(24px,3vw,34px);font-weight:850;color:#162033}
.svf-step-kicker{color:#c14c2b;font-size:13px;letter-spacing:.09em}
.svf-step-text{max-width:850px;color:#5d6878}
.svf-modality-grid{grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:22px;align-items:stretch}
.svf-modality-card{display:flex;flex-direction:column;overflow:hidden;padding:0;border-radius:8px;border:1px solid #dedede;background:#fff;text-align:center;box-shadow:0 12px 32px rgba(15,23,42,.08);transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;min-height:100%;cursor:pointer}
.svf-modality-card:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(15,23,42,.13);border-color:#d2603c}
.svf-modality-card.is-active{border-color:#c64f2e;box-shadow:0 0 0 3px rgba(198,79,46,.16),0 20px 42px rgba(15,23,42,.13);background:#fff}
.svf-modality-top{background:#d25c3b;color:#fff;padding:20px 18px;border-bottom:1px solid rgba(255,255,255,.22)}
.svf-modality-plan{display:block;font-size:20px;font-weight:800;line-height:1.25;color:#fff}
.svf-modality-badge{display:inline-flex;margin-top:10px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.12);color:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.svf-modality-body{display:flex;flex-direction:column;gap:0;flex:1;background:#fafafa}
.svf-modality-title{display:block;padding:20px 18px;font-size:24px;font-weight:850;line-height:1.18;color:#3f4652;background:#f7f7f7;border-bottom:1px solid #e5e5e5}
.svf-modality-subtitle{display:none}
.svf-modality-teaser{display:block;margin:0;padding:17px 18px;color:#666;font-size:15px;line-height:1.55;background:#fbfbfb;border-bottom:1px solid #e7e7e7}
.svf-features{display:block;margin:0;padding:0;list-style:none;background:#fff}
.svf-features li{padding:13px 18px 13px 42px;border-bottom:1px solid #e7e7e7;color:#616b77;font-size:14px;line-height:1.45;text-align:left}
.svf-features li::before{left:18px;top:13px;color:#d25c3b}
.svf-modality-actions{display:grid;gap:10px;padding:20px 18px 22px;background:#fbfbfb;margin-top:auto}
.svf-modality-primary,.svf-modality-phone{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;text-decoration:none;border-radius:5px;font-weight:800;font-size:15px;line-height:1.25;min-height:48px;transition:filter .18s ease, transform .18s ease, background .18s ease, border-color .18s ease;cursor:pointer}
.svf-modality-primary{border:0;background:#c64f2e;color:#fff;padding:13px 16px;box-shadow:0 8px 18px rgba(198,79,46,.24)}
.svf-modality-primary:hover{filter:brightness(1.04);transform:translateY(-1px)}
.svf-modality-phone{flex-direction:column;gap:2px;border:1px solid #d8d8d8;background:#fff;color:#4b5563;padding:10px 14px}
.svf-modality-phone span{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#788290}
.svf-modality-phone strong{font-size:18px;color:#2f3845}
.svf-modality-phone:hover{border-color:#c64f2e;background:#fff7f4;color:#2f3845}
.svf-panel{border-radius:14px}
@media (max-width:760px){
  .svf-shell{padding:18px;border-radius:14px}
  .svf-modality-grid{gap:16px}
  .svf-modality-title{font-size:21px}
  .svf-modality-actions{padding:18px 16px 20px}
}



/* v6.9.2: formularios más compactos, switches ON/OFF y modalidad única sin encabezado */
.svf-step-head--compact{margin-bottom:12px}
.svf-step-head--compact .svf-step-kicker,
.svf-step-head--compact .svf-step-text{display:none}
.svf-step-head--compact .svf-step-title{font-size:30px}

.svf-modality-grid--single{margin-top:0}
.svf-modality-grid--single .svf-modality-card{max-width:none}
.svf-modality-grid--single + .svf-step-head{margin-top:0}

.svf-panel.svf-panel-compact{
  border-radius:14px;
  padding:14px 16px;
  margin-bottom:12px;
  box-shadow:0 6px 18px rgba(15,23,42,.04);
}
.svf-panel-head-compact{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  margin-bottom:0;
}
.svf-panel-head-compact .svf-panel-kicker,
.svf-panel-head-compact .svf-chip{display:none}
.svf-panel-main{min-width:0}
.svf-panel.svf-panel-compact .svf-panel-title{
  font-size:16px;
  font-weight:800;
  line-height:1.2;
  margin:0;
}
.svf-panel.svf-panel-compact .svf-panel-body{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #edf2f7;
}
.svf-panel.svf-panel-compact.is-same .svf-panel-body{
  margin-top:0;
  padding-top:0;
  border-top:0;
}
.svf-inline-choice{display:none}

.svf-switch-row{
  display:inline-flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
  justify-self:end;
}
.svf-switch-text{
  font-size:13px;
  font-weight:700;
  color:#334155;
}
.svf-switch-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
}
.svf-switch-input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.svf-switch-slider{
  position:relative;
  display:block;
  width:48px;
  height:28px;
  background:#d7dee7;
  border-radius:999px;
  cursor:pointer;
  transition:all .2s ease;
}
.svf-switch-slider::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:22px;
  height:22px;
  background:#fff;
  border-radius:50%;
  box-shadow:0 1px 3px rgba(0,0,0,.18);
  transition:all .2s ease;
}
.svf-switch-input:checked + .svf-switch-slider{
  background:#c64f2e;
}
.svf-switch-input:checked + .svf-switch-slider::after{
  transform:translateX(20px);
}

.svf-fields-grid{gap:12px}
.svf-label{margin-bottom:6px;font-size:13px}
.svf-control{padding:10px 12px;min-height:42px;border-radius:10px;font-size:14px}
textarea.svf-control{min-height:92px}
.svf-check{gap:10px}
.svf-submitbar{padding:16px 18px;border-radius:14px}

@media (max-width:760px){
  .svf-panel-head-compact{
    grid-template-columns:1fr;
    align-items:flex-start;
  }
  .svf-switch-row{
    width:100%;
    justify-content:space-between;
  }
  .svf-step-head--compact .svf-step-title{
    font-size:24px;
  }
}


/* v6.9.3: tarjetas de propietario/asegurado/conductor en columnas y textos más compactos */
.svf-party-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-bottom:12px}
.svf-party-grid .svf-panel{margin-bottom:0;height:100%}
.svf-panel-title-note{font-size:.82em;font-weight:700;color:#64748b}
.svf-panel.svf-panel-compact .svf-panel-title{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.svf-switch-text{font-size:12px}
@media (max-width:760px){
  .svf-party-grid{grid-template-columns:1fr;gap:10px}
  .svf-panel-title-note{display:block;width:100%;margin-top:2px}
}

/* v7: modalidad más compacta y partes en 3 columnas reales en escritorio */
.svf-shell{padding:22px;border-radius:16px}
.svf-step{margin-top:18px}.svf-step-head--compact{margin-bottom:10px}.svf-step-head--compact .svf-step-title{font-size:26px}
.svf-modality-grid{gap:14px}.svf-modality-grid--single{grid-template-columns:1fr}.svf-modality-grid--single .svf-modality-card{max-width:760px;margin:0 auto;width:100%}
.svf-modality-card{border-radius:12px;box-shadow:0 8px 22px rgba(15,23,42,.07)}
.svf-modality-top{padding:15px 16px}.svf-modality-plan{font-size:18px}.svf-modality-badge{margin-top:7px;padding:4px 10px;font-size:11px}
.svf-modality-title{padding:14px 16px;font-size:20px}.svf-modality-teaser{padding:12px 16px;font-size:14px}.svf-features li{padding:9px 16px 9px 38px;font-size:13px}.svf-features li::before{left:16px;top:9px}.svf-modality-actions{padding:14px 16px 16px;gap:8px}.svf-modality-primary,.svf-modality-phone{min-height:42px;border-radius:7px}.svf-modality-phone strong{font-size:16px}
.svf-party-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.svf-party-grid .svf-panel.svf-panel-compact{padding:12px 14px}.svf-party-grid .svf-panel-title{font-size:15px}.svf-panel-title-note{font-size:12px;color:#64748b}.svf-switch-text{font-size:12px}.svf-switch-slider{width:42px;height:24px}.svf-switch-slider::after{width:18px;height:18px}.svf-switch-input:checked + .svf-switch-slider::after{transform:translateX(18px)}
.svf-panel.svf-panel-compact{padding:14px;margin-bottom:10px}.svf-fields-grid{gap:10px}.svf-control{min-height:38px;padding:8px 10px}.svf-label{font-size:12px}
@media(max-width:1000px){.svf-party-grid{grid-template-columns:1fr}}
.svf-field:has(.svf-risk-switch) {
  display: flex;

}

.svf-field:has(.svf-risk-switch) .svf-risk-switch {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
}

.svf-risk-switch {
  justify-self: start !important;
}
/* --------------------------------------------------------------------------
   v7.0.9 - Ajuste visual BÉTICA Seguros
   Paleta basada en el logo: azul marino + rojo corporativo + blanco.
   Se añade al final para sobrescribir los colores anteriores sin tocar lógica.
   -------------------------------------------------------------------------- */
:root{
  --betica-azul:#14314F;
  --betica-azul-oscuro:#0B243C;
  --betica-rojo:#C51F2B;
  --betica-rojo-hover:#A91822;
  --betica-rojo-suave:#FFF4F5;
  --betica-fondo:#F5F7FA;
  --betica-borde:#E2E8F0;
  --betica-texto:#334155;
  --betica-muted:#64748B;
}

/* Estructura general del formulario */
.svf-shell{
  background:#fff;
  border-color:var(--betica-borde);
  color:var(--betica-azul-oscuro);
  box-shadow:0 14px 44px rgba(11,36,60,.08);
}
.svf-title,
.svf-step-title,
.svf-panel-title,
.svf-category-title,
.svf-card-title,
.svf-modality-title,
.svf-summary-current,
.svf-label{
  color:var(--betica-azul-oscuro) !important;
}
.svf-subtitle,
.svf-step-text,
.svf-card-text,
.svf-modality-teaser,
.svf-summary-helper,
.svf-muted,
.svf-help{
  color:var(--betica-muted) !important;
}

/* Acentos pequeños */
.svf-badge,
.svf-pill.is-active,
.svf-submitbar{
  background:var(--betica-azul) !important;
  color:#fff !important;
  border-color:var(--betica-azul) !important;
}
.svf-step-kicker,
.svf-req,
.svf-features li::before{
  color:var(--betica-rojo) !important;
}
.svf-highlight{
  background:linear-gradient(135deg,#ffffff,#f7f9fc) !important;
  border-color:var(--betica-borde) !important;
  border-left-color:var(--betica-rojo) !important;
  color:var(--betica-azul-oscuro) !important;
}

/* Selector de categorías */
.svf-category-card{
  border-color:var(--betica-borde) !important;
  background:#fff !important;
  box-shadow:0 8px 22px rgba(11,36,60,.05) !important;
}
.svf-category-card:hover,
.svf-category-card.is-active{
  border-color:var(--betica-rojo) !important;
  background:var(--betica-rojo-suave) !important;
  box-shadow:0 0 0 3px rgba(197,31,43,.10),0 16px 30px rgba(11,36,60,.09) !important;
}
.svf-card-icon{
  background:var(--betica-rojo-suave) !important;
  color:var(--betica-rojo) !important;
}

/* Tarjetas de modalidad / productos */
.svf-modality-card{
  border-color:var(--betica-borde) !important;
  box-shadow:0 8px 22px rgba(11,36,60,.07) !important;
}
.svf-modality-card:hover{
  border-color:var(--betica-rojo) !important;
  box-shadow:0 18px 38px rgba(11,36,60,.12) !important;
}
.svf-modality-card.is-active{
  border-color:var(--betica-rojo) !important;
  background:#fff !important;
  box-shadow:0 0 0 3px rgba(197,31,43,.13),0 18px 38px rgba(11,36,60,.12) !important;
}
.svf-modality-top{
  background:var(--betica-azul) !important;
  color:#fff !important;
  border-bottom-color:rgba(255,255,255,.18) !important;
}
.svf-modality-plan,
.svf-modality-badge{
  color:#fff !important;
}
.svf-modality-badge{
  border-color:rgba(255,255,255,.55) !important;
  background:rgba(255,255,255,.12) !important;
}
.svf-modality-body,
.svf-modality-actions,
.svf-modality-teaser{
  background:#FAFBFC !important;
}
.svf-features{
  background:#fff !important;
}
.svf-features li{
  color:var(--betica-texto) !important;
  border-bottom-color:var(--betica-borde) !important;
}

/* Botones del plugin */
.svf-submitbtn,
.svf-modality-primary{
  background:var(--betica-rojo) !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(197,31,43,.24) !important;
}
.svf-submitbtn:hover,
.svf-modality-primary:hover{
  background:var(--betica-rojo-hover) !important;
  filter:none !important;
}
.svf-modality-phone{
  border-color:var(--betica-borde) !important;
  background:#fff !important;
  color:var(--betica-azul) !important;
}
.svf-modality-phone span{
  color:var(--betica-muted) !important;
}
.svf-modality-phone strong{
  color:var(--betica-azul) !important;
}
.svf-modality-phone:hover{
  border-color:var(--betica-rojo) !important;
  background:var(--betica-rojo-suave) !important;
}

/* Campos, switches y estados */
.svf-control{
  border-color:#D6DEE8 !important;
  color:var(--betica-azul-oscuro) !important;
}
.svf-control:focus{
  border-color:var(--betica-rojo) !important;
  box-shadow:0 0 0 3px rgba(197,31,43,.12) !important;
}
.svf-switch-input:checked + .svf-switch-slider{
  background:var(--betica-rojo) !important;
}
.svf-panel.svf-panel-compact .svf-panel-body{
  border-top-color:var(--betica-borde) !important;
}
.svf-inline-btn{
  color:var(--betica-azul) !important;
  border-color:var(--betica-borde) !important;
}
.svf-inline-btn:hover{
  color:var(--betica-rojo) !important;
  border-color:var(--betica-rojo) !important;
}


/* --------------------------------------------------------------------------
   v7.0.10 - Cabecera compacta de modalidades
   La tarjeta usa ahora el título completo (label) + teaser en la franja superior.
   Se elimina visualmente la duplicidad de short + "Propuesta a medida" para reducir altura.
   -------------------------------------------------------------------------- */
.svf-modality-top-compact{
  min-height:auto !important;
  padding:18px 18px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  text-align:center !important;
}
.svf-modality-top-compact .svf-modality-plan-main{
  margin:0 !important;
  max-width:340px !important;
  color:#fff !important;
  font-size:21px !important;
  line-height:1.18 !important;
  font-weight:850 !important;
  letter-spacing:-.01em !important;
}
.svf-modality-top-compact .svf-modality-header-teaser{
  display:block !important;
  max-width:330px !important;
  color:rgba(255,255,255,.88) !important;
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:500 !important;
}
.svf-modality-body--features-only{
  padding-top:0 !important;
}
.svf-modality-body--features-only .svf-features{
  margin-top:0 !important;
}
.svf-modality-body--features-only .svf-features li{
  padding-top:11px !important;
  padding-bottom:11px !important;
  font-size:14px !important;
  line-height:1.35 !important;
}
.svf-modality-card .svf-modality-badge{
  display:none !important;
}
@media(max-width:760px){
  .svf-modality-top-compact{
    padding:16px 15px !important;
  }
  .svf-modality-top-compact .svf-modality-plan-main{
    font-size:19px !important;
  }
  .svf-modality-top-compact .svf-modality-header-teaser{
    font-size:13.5px !important;
  }
}

/* --------------------------------------------------------------------------
   v7.0.11 - Cabeceras de modalidad más visuales sin duplicar textos
   Mantiene label + teaser en la cabecera, pero recupera una apariencia más
   cuidada: bloque azul con profundidad, borde interno y acento rojo.
   -------------------------------------------------------------------------- */
.svf-modality-card{
  border-radius:22px !important;
  padding:16px !important;
  background:#fff !important;
  overflow:hidden !important;
}
.svf-modality-top-compact{
  position:relative !important;
  overflow:hidden !important;
  min-height:96px !important;
  padding:22px 20px 20px !important;
  border-radius:14px 14px 8px 8px !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,255,255,.16), transparent 34%),
    linear-gradient(135deg, var(--betica-azul-oscuro) 0%, var(--betica-azul) 58%, #183c60 100%) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 10px 24px rgba(11,36,60,.16) !important;
}
.svf-modality-top-compact::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.08), transparent 48%) !important;
  pointer-events:none;
}
.svf-modality-top-compact::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:64px;
  height:3px;
  transform:translateX(-50%);
  border-radius:999px 999px 0 0;
  background:var(--betica-rojo) !important;
  box-shadow:0 0 18px rgba(197,31,43,.45) !important;
}
.svf-modality-top-compact .svf-modality-plan-main,
.svf-modality-top-compact .svf-modality-header-teaser{
  position:relative !important;
  z-index:1 !important;
}
.svf-modality-top-compact .svf-modality-plan-main{
  font-size:22px !important;
  line-height:1.12 !important;
  font-weight:900 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.15) !important;
}
.svf-modality-top-compact .svf-modality-header-teaser{
  max-width:360px !important;
  color:rgba(255,255,255,.92) !important;
  font-size:14.5px !important;
  line-height:1.32 !important;
  font-weight:650 !important;
}
.svf-modality-body--features-only{
  margin-top:0 !important;
  border-radius:0 0 12px 12px !important;
}
.svf-modality-actions{
  border-radius:0 0 12px 12px !important;
}
.svf-modality-card:hover .svf-modality-top-compact{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 14px 30px rgba(11,36,60,.22) !important;
}
@media(max-width:760px){
  .svf-modality-card{
    padding:14px !important;
    border-radius:18px !important;
  }
  .svf-modality-top-compact{
    min-height:88px !important;
    padding:19px 16px 18px !important;
    border-radius:12px 12px 8px 8px !important;
  }
  .svf-modality-top-compact .svf-modality-plan-main{
    font-size:19.5px !important;
  }
  .svf-modality-top-compact .svf-modality-header-teaser{
    font-size:13.5px !important;
  }
}


/* --------------------------------------------------------------------------
   v7.0.12 - Titulares de modalidad más limpios y rápidos de identificar
   El JS usa el campo short para la cabecera cuando procede. Al ser titulares
   más cortos, la cabecera se hace más compacta, legible y directa.
   -------------------------------------------------------------------------- */
.svf-modality-top-compact{
  min-height:82px !important;
  padding:20px 18px 18px !important;
  gap:6px !important;
}
.svf-modality-top-compact .svf-modality-plan-main{
  font-size:26px !important;
  line-height:1.05 !important;
  letter-spacing:-.02em !important;
}
.svf-modality-top-compact .svf-modality-header-teaser{
  max-width:340px !important;
  font-size:14px !important;
  line-height:1.28 !important;
  font-weight:650 !important;
}
.svf-modality-top-compact::after{
  width:72px !important;
  height:4px !important;
}
@media(max-width:760px){
  .svf-modality-top-compact{
    min-height:78px !important;
    padding:18px 15px 16px !important;
  }
  .svf-modality-top-compact .svf-modality-plan-main{
    font-size:22px !important;
  }
  .svf-modality-top-compact .svf-modality-header-teaser{
    font-size:13.2px !important;
  }
}

/* Acceso público identificado a solicitudes */
.fast360-submissions-access-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 12px 22px;
    border-radius: 999px;
    background: #143757;
    color: #fff !important;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none !important;
    box-shadow: 0 10px 26px rgba(20, 55, 87, .18);
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.fast360-submissions-access-link:hover,
.fast360-submissions-access-link:focus {
    background: #cf1728;
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 14px 32px rgba(207, 23, 40, .22);
}
.fast360-submissions-access-denied {
    display: inline-block;
    padding: 10px 14px;
    border-radius: 12px;
    background: #fff4f4;
    color: #9f1239;
    font-weight: 700;
}

/* Área privada de solicitudes en frontend (sin wp-admin) */
.svf-private-login,
.svf-private-panel {
    max-width: 1180px;
    margin: 34px auto;
    padding: 28px;
    background: #fff;
    border: 1px solid rgba(13, 43, 70, .10);
    border-radius: 24px;
    box-shadow: 0 24px 70px rgba(13, 43, 70, .10);
    color: #102a43;
}
.svf-private-login { max-width: 520px; }
.svf-private-login h2,
.svf-private-panel h2,
.svf-private-panel h3,
.svf-private-panel h4 { color:#08233f; margin-top:0; }
.svf-private-login form p { margin: 0 0 14px; }
.svf-private-login label { display:block; font-weight:700; margin-bottom:6px; color:#21364d; }
.svf-private-login input[type="text"],
.svf-private-login input[type="password"] {
    width: 100%;
    border: 1px solid #d9e3ed;
    border-radius: 12px;
    padding: 12px 14px;
    font-size: 16px;
}
.svf-private-login input[type="submit"],
.svf-private-actions button,
.svf-private-filters button {
    border: 0;
    border-radius: 12px;
    padding: 12px 20px;
    background: #cf1728;
    color: #fff;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(207, 23, 40, .20);
}
.svf-private-head,
.svf-private-detail-head,
.svf-private-list .svf-private-count {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}
.svf-private-head { margin-bottom: 20px; }
.svf-private-kicker {
    display:block;
    margin-bottom:4px;
    color:#cf1728;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:12px;
}
.svf-private-logout,
.svf-private-reset,
.svf-private-view,
.svf-private-actions a,
.svf-private-status-actions a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none !important;
    border:1px solid #dbe5ef;
    background:#fff;
    color:#123a5d !important;
    border-radius:12px;
    padding:10px 14px;
    font-weight:800;
}
.svf-private-filters {
    display:grid;
    grid-template-columns: 1fr 220px auto auto;
    gap: 12px;
    margin-bottom: 20px;
    align-items:center;
}
.svf-private-filters input,
.svf-private-filters select,
.svf-private-status-row select,
.svf-private-fields input {
    width:100%;
    border:1px solid #d9e3ed;
    border-radius:12px;
    padding:11px 13px;
    background:#fff;
    color:#1f3147;
}
.svf-private-alert {
    border-radius: 14px;
    padding: 12px 14px;
    margin-bottom: 16px;
    font-weight: 700;
}
.svf-private-alert--ok { background:#ecfdf3; color:#166534; border:1px solid #bbf7d0; }
.svf-private-alert--error { background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }
.svf-private-detail,
.svf-private-list {
    background:#f8fafc;
    border:1px solid #e8eef5;
    border-radius:20px;
    padding:20px;
    margin-bottom:20px;
}
.svf-private-detail-head {
    border-bottom:1px solid #e2eaf2;
    padding-bottom:16px;
    margin-bottom:16px;
}
.svf-private-detail-head span:first-child {
    color:#64748b;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-size:12px;
}
.svf-private-status-row {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
}
.svf-private-status-row label { font-weight:800; min-width:240px; }
.svf-private-status-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.svf-private-grid {
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:16px;
}
.svf-private-card {
    background:#fff;
    border:1px solid #e2eaf2;
    border-radius:18px;
    padding:18px;
}
.svf-private-fields {
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:12px;
}
.svf-private-fields label span {
    display:block;
    color:#5c6f84;
    font-size:12px;
    font-weight:800;
    margin-bottom:4px;
}
.svf-private-attachment {
    margin-top: 16px;
    padding: 12px 14px;
    background:#fff;
    border:1px solid #e2eaf2;
    border-radius:14px;
}
.svf-private-actions {
    display:flex;
    gap:12px;
    align-items:center;
    margin-top:18px;
}
.svf-private-table-wrap { overflow-x:auto; }
.svf-private-table {
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    background:#fff;
    border:1px solid #e2eaf2;
    border-radius:16px;
    overflow:hidden;
}
.svf-private-table th,
.svf-private-table td {
    padding:13px 14px;
    border-bottom:1px solid #e8eef5;
    text-align:left;
    vertical-align:top;
}
.svf-private-table th { background:#102f4c; color:#fff; font-weight:800; }
.svf-private-table tr:last-child td { border-bottom:0; }
.sv-badge {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    padding:6px 10px;
    font-size:12px;
    font-weight:800;
    background:#e8eef5;
    color:#123a5d;
}
.sv-badge--new { background:#fff7ed; color:#9a3412; }
.sv-badge--reviewed { background:#eff6ff; color:#1d4ed8; }
.sv-badge--contacted { background:#f0fdf4; color:#15803d; }
.sv-badge--closed { background:#f1f5f9; color:#334155; }
@media (max-width: 820px) {
    .svf-private-panel { padding:18px; }
    .svf-private-filters { grid-template-columns: 1fr; }
    .svf-private-grid,
    .svf-private-fields { grid-template-columns: 1fr; }
    .svf-private-head,
    .svf-private-detail-head,
    .svf-private-status-row,
    .svf-private-actions { align-items:stretch; flex-direction:column; }
    .svf-private-status-actions { justify-content:flex-start; }
}
