/* ASC Contáctanos – Frontend Styles */
:root{
  --asc-navy:#1B3D6E;
  --asc-blue:#2563AB;
  --asc-sky:#3B8FD4;
  --asc-light:#EBF4FC;
  --asc-pale:#F4F8FD;
  --border:#C8DBEF;
  --text-dark:#0D1B2A;
  --text-mid:#3A4F6B;
  --text-muted:#6B84A0;
  --white:#fff;
  --radius:12px;
  --radius-sm:8px;
}
.asc-plugin-wrap{
  max-width:760px;
  margin:0 auto;
  padding:2rem 1rem 3rem;
  font-family:'DM Sans',Arial,sans-serif;
}
/* Header */
.asc-header{text-align:center;margin-bottom:1.75rem}
.asc-badge{display:inline-block;background:var(--asc-navy);color:#fff;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:5px 14px;border-radius:40px;margin-bottom:.9rem}
.asc-titulo{font-size:clamp(1.5rem,3.5vw,2.2rem);color:var(--asc-navy);font-weight:700;line-height:1.2;margin:0 0 .4rem}
.asc-subtitulo{color:var(--text-mid);font-size:.9rem;line-height:1.65;max-width:480px;margin:0 auto}
/* Progress */
.asc-progress{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:2rem}
.asc-prog-step{display:flex;flex-direction:column;align-items:center;gap:5px;position:relative;z-index:1}
.asc-prog-circle{width:34px;height:34px;border-radius:50%;background:var(--white);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--text-muted);transition:all .3s}
.asc-prog-step.asc-active .asc-prog-circle{background:var(--asc-navy);border-color:var(--asc-navy);color:#fff;box-shadow:0 0 0 4px rgba(27,61,110,.14)}
.asc-prog-step.asc-done .asc-prog-circle{background:var(--asc-blue);border-color:var(--asc-blue);color:#fff}
.asc-prog-label{font-size:10px;color:var(--text-muted);font-weight:600;letter-spacing:.04em;white-space:nowrap}
.asc-prog-step.asc-active .asc-prog-label,.asc-prog-step.asc-done .asc-prog-label{color:var(--asc-navy)}
.asc-prog-line{height:2px;width:55px;background:var(--border);margin:0 4px 20px;transition:background .3s;flex-shrink:0}
.asc-prog-line.asc-done{background:var(--asc-blue)}
/* Card */
.asc-card{background:var(--white);border-radius:var(--radius);box-shadow:0 4px 32px rgba(27,61,110,.13);border:1px solid rgba(200,219,239,.5);overflow:hidden}
.asc-card-inner{padding:2rem 2rem 1.5rem}
.asc-sec-title{font-size:1rem;font-weight:700;color:var(--asc-navy);margin:0 0 .25rem}
.asc-sec-sub{font-size:.85rem;color:var(--text-muted);margin:0 0 1.25rem;line-height:1.6}
/* Service tiles */
.asc-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:.875rem;margin-bottom:1.25rem}
.asc-tile{border:2px solid var(--border);border-radius:var(--radius);padding:1.25rem 1rem;cursor:pointer;transition:all .22s;text-align:left;background:var(--asc-pale);position:relative;overflow:hidden}
.asc-tile::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--asc-navy),var(--asc-sky));opacity:0;transition:opacity .22s}
.asc-tile:hover{border-color:var(--asc-sky);background:var(--asc-light)}
.asc-tile.asc-selected{border-color:var(--asc-navy);background:var(--asc-light)}
.asc-tile.asc-selected::before{opacity:1}
.asc-tile-check{position:absolute;top:10px;right:10px;width:20px;height:20px;background:var(--asc-navy);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.5);transition:all .2s;color:#fff;font-size:11px}
.asc-tile.asc-selected .asc-tile-check{opacity:1;transform:scale(1)}
.asc-tile-icon{font-size:24px;margin-bottom:.65rem;display:block}
.asc-tile-name{font-weight:700;font-size:.925rem;color:var(--asc-navy);margin-bottom:.25rem}
.asc-tile-desc{font-size:.78rem;color:var(--text-muted);line-height:1.5}
/* Form */
.asc-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}
.asc-form-group{margin-bottom:1.1rem}
.asc-form-group label,.asc-form-group>label{display:block;font-size:.78rem;font-weight:700;color:var(--text-mid);margin-bottom:.4rem;letter-spacing:.03em;text-transform:uppercase}
.asc-req{color:#C53030}
.asc-plugin-wrap input[type=text],
.asc-plugin-wrap input[type=email],
.asc-plugin-wrap input[type=tel],
.asc-plugin-wrap input[type=number],
.asc-plugin-wrap select,
.asc-plugin-wrap textarea{
  width:100%;padding:.65rem .9rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);
  font-family:inherit;font-size:.875rem;color:var(--text-dark);background:var(--white);
  transition:border-color .2s,box-shadow .2s;outline:none;box-sizing:border-box;
}
.asc-plugin-wrap input:focus,.asc-plugin-wrap select:focus,.asc-plugin-wrap textarea:focus{border-color:var(--asc-blue);box-shadow:0 0 0 3px rgba(37,99,171,.12)}
.asc-plugin-wrap textarea{resize:vertical;min-height:100px;line-height:1.6}
.asc-plugin-wrap select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B84A0' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:2.25rem;appearance:none;-webkit-appearance:none;cursor:pointer}
/* Pills */
.asc-pills{display:flex;gap:.5rem;flex-wrap:wrap}
.asc-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.45rem 1rem;border:1.5px solid var(--border);border-radius:40px;font-size:.85rem;font-weight:600;color:var(--text-mid);cursor:pointer;transition:all .2s;background:var(--white);user-select:none}
.asc-pill input[type=radio]{display:none}
.asc-pill:has(input:checked){border-color:var(--asc-navy);background:var(--asc-navy);color:#fff}
/* Buttons */
.asc-btn-row{display:flex;gap:.65rem;align-items:center;margin-top:1.25rem;flex-wrap:wrap}
.asc-btn-row.asc-right{justify-content:flex-end}
.asc-btn-row.asc-center{justify-content:center}
.asc-btn{padding:.65rem 1.5rem;border-radius:var(--radius-sm);font-family:inherit;font-size:.9rem;font-weight:700;cursor:pointer;border:none;transition:all .2s;display:inline-flex;align-items:center;gap:.4rem;text-decoration:none}
.asc-btn:disabled{opacity:.4;cursor:not-allowed}
.asc-btn-primary{background:var(--asc-navy);color:#fff;box-shadow:0 3px 12px rgba(27,61,110,.25)}
.asc-btn-primary:hover:not(:disabled){background:var(--asc-blue);box-shadow:0 4px 16px rgba(27,61,110,.32)}
.asc-btn-ghost{background:transparent;color:var(--text-mid);border:1.5px solid var(--border)}
.asc-btn-ghost:hover{background:var(--asc-pale);border-color:var(--asc-sky)}
/* Screens */
.asc-screen{display:none}
.asc-screen.asc-active{display:block;animation:ascFadeIn .32s ease}
@keyframes ascFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
/* Resumen */
.asc-resumen{background:var(--asc-pale);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1.1rem;font-size:.875rem;color:var(--text-mid);line-height:1.75}
.asc-divider{height:1px;background:var(--border);margin:1.1rem 0;opacity:.6}
/* Checkbox */
.asc-check-group{display:flex;align-items:flex-start;gap:.65rem;margin-bottom:.9rem;cursor:pointer}
.asc-check-group input[type=checkbox]{width:17px;height:17px;margin-top:2px;accent-color:var(--asc-navy);flex-shrink:0;cursor:pointer}
.asc-check-group span{font-size:.82rem;color:var(--text-mid);line-height:1.6}
.asc-check-group a{color:var(--asc-blue)}
/* Privacy */
.asc-privacy-box{background:var(--asc-pale);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;margin-top:.75rem}
.asc-priv-toggle{width:100%;padding:.75rem 1rem;display:flex;align-items:center;gap:.4rem;background:none;border:none;cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:700;color:var(--asc-navy);text-align:left}
.asc-arrow{margin-left:auto;transition:transform .22s;font-size:15px;color:var(--text-muted)}
.asc-arrow.open{transform:rotate(180deg)}
.asc-priv-body{display:none;padding:.25rem 1rem 1rem;font-size:.76rem;color:var(--text-muted);line-height:1.75}
.asc-priv-body a{color:var(--asc-blue)}
/* Error */
.asc-error-msg{background:#FEF2F2;border:1px solid #FECACA;border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.84rem;color:#991B1B;margin-top:.75rem}
/* Success */
.asc-success{text-align:center;padding:2rem 1rem}
.asc-success-icon{width:64px;height:64px;background:linear-gradient(135deg,var(--asc-navy),var(--asc-sky));border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;font-size:28px;color:#fff}
.asc-success h3{font-size:1.5rem;color:var(--asc-navy);font-weight:700;margin:0 0 .65rem}
.asc-success p{color:var(--text-muted);font-size:.9rem;max-width:360px;margin:0 auto;line-height:1.65}
/* Card footer */
.asc-card-footer{background:var(--asc-pale);border-top:1px solid var(--border);padding:.75rem 2rem;font-size:.76rem;color:var(--text-muted)}
.asc-card-footer a{color:var(--asc-blue)}
/* 3-col service grid */
.asc-service-grid-3{grid-template-columns:repeat(3,1fr)}
/* Zoom tile accent */
.asc-tile-zoom{border-color:#E0F0FF}
.asc-tile-zoom::before{background:linear-gradient(90deg,#2D8CFF,#00C2FF)}
.asc-tile-zoom:hover,.asc-tile-zoom.asc-selected{border-color:#2D8CFF;background:#EFF7FF}
.asc-tile-zoom.asc-selected .asc-tile-check{background:#2D8CFF}
.asc-zoom-badge{display:inline-block;background:#2D8CFF;color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;letter-spacing:.05em;text-transform:uppercase;margin-top:.5rem}
/* Zoom step header */
.asc-zoom-header{display:flex;align-items:flex-start;gap:.875rem;margin-bottom:1.5rem;padding:1.1rem;background:#EFF7FF;border-radius:var(--radius-sm);border:1px solid #BFE0FF}
.asc-zoom-logo{flex-shrink:0}
/* Zoom aviso */
.asc-zoom-aviso{background:#FFF8E7;border:1px solid #FFD97D;border-radius:var(--radius-sm);padding:.875rem 1rem;font-size:.82rem;color:#7A5700;line-height:1.6;margin-bottom:1rem}
/* Responsive 3-col */
@media(max-width:640px){.asc-service-grid-3{grid-template-columns:1fr}}
.asc-phone-wrap{display:flex;gap:.5rem;align-items:center}
.asc-phone-code{flex:0 0 155px;width:155px;min-width:0;font-size:.8rem!important;padding:.65rem .45rem!important}
.asc-phone-num{flex:1 1 0;min-width:0}
.asc-field-hint{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.3rem}
@media(max-width:460px){.asc-phone-code{flex:0 0 120px;width:120px}}
@media(max-width:580px){
  .asc-card-inner{padding:1.25rem 1rem}
  .asc-service-grid,.asc-form-row{grid-template-columns:1fr}
  .asc-prog-line{width:24px}
  .asc-prog-label{display:none}
  .asc-card-footer{padding:.75rem 1rem}
}
