
/* Fase 2: módulo de cotizaciones de Medicina Ocupacional, sin cambios globales */
.company-quote-section { padding: clamp(52px,7vw,92px) 22px; background: linear-gradient(145deg,#f5fafb,#e9f3f7 65%,#f9fbfa); scroll-margin-top: 94px; }
.company-quote-container { max-width: 1170px; margin: 0 auto; display:grid;grid-template-columns: .83fr 1.17fr;gap:clamp(28px,5vw,72px);align-items:start; }
.company-quote-intro { padding: 32px 0 0; }
.company-quote-kicker { display:inline-block;background:#d8f0f2;color:#006878;font-size:11px;font-weight:900;letter-spacing:.12em;border-radius:22px;padding:9px 14px;margin-bottom:18px; }
.company-quote-intro h2 {font-weight:900;color:#07354d;font-size:clamp(28px,3.4vw,44px);line-height:1.14;letter-spacing:-.03em;margin:0 0 22px;}
.company-quote-intro h2 span {color:#17869d;}
.company-quote-intro > p {font-size:16px;color:#4b6471;line-height:1.85;margin:0 0 26px;}
.company-quote-benefits {display:grid;gap:15px;margin:24px 0 32px;}
.company-quote-benefits > div {display:flex;align-items:flex-start;gap:12px;color:#244e60;font-size:14px;font-weight:650;line-height:1.45;}
.company-quote-benefits > div span {background:#d9f5e4;color:#098150;font-weight:900;width:25px;height:25px;border-radius:99px;display:grid;place-items:center;flex-shrink:0;}
.company-quote-steps {display:grid;gap:12px;margin:30px 0 20px;}
.company-quote-steps > div {display:flex;align-items:center;gap:13px;color:#21495c;font-weight:700;font-size:13px;}
.company-quote-steps strong {width:37px;height:37px;display:grid;place-items:center;border:1px solid #b8dfe6;background:#fff;border-radius:50%;color:#096e89;font-size:12px;}
.company-quote-note {border-left:3px solid #9bc7cf;background:#f0f9f8;color:#486675;padding:15px 17px;border-radius:0 10px 10px 0;font-size:12px;line-height:1.7;}
.company-quote-card {background:#fff;border:1px solid #dce8ec;border-radius:24px;padding:clamp(22px,3vw,35px);box-shadow:0 12px 46px rgba(12,53,73,.08);}
.company-quote-card-title {display:flex;align-items:center;gap:12px;margin-bottom:27px;}
.company-quote-card-title > span {display:grid;place-items:center;border-radius:14px;background:#e4f6f4;width:53px;height:53px;font-size:26px;}
.company-quote-card-title h3 {color:#07354d;font-size:23px;font-weight:900;margin:0 0 4px;line-height:1.2;}
.company-quote-card-title p {font-size:12px;color:#71818e;margin:0;}
.company-quote-fields {display:grid;grid-template-columns:1fr 1fr;gap:17px 13px;}
.cq-field {display:flex;flex-direction:column;gap:6px;min-width:0;}
.cq-full {grid-column:1/-1;}
.cq-field label {font-size:12px;font-weight:800;color:#23485d;}
.cq-field input,.cq-field select,.cq-field textarea {border:1px solid #ccdce4;border-radius:11px;background:#fff;color:#1b3a4c;font-family:inherit;font-size:14px;padding:12px 13px;width:100%;min-width:0;box-sizing:border-box;line-height:1.35;outline-offset:2px;}
.cq-field input:focus,.cq-field select:focus,.cq-field textarea:focus {outline:2px solid #16a0b7;border-color:#16a0b7;}
.cq-field textarea {resize:vertical;min-height:95px;}
.company-quote-attachment-hint {background:#eff9fd;color:#345569;border:1px dashed #9bcbd9;border-radius:12px;padding:14px;margin-top:20px;font-size:12px;line-height:1.65;display:flex;gap:11px;}
.company-quote-attachment-hint > span:first-child {font-size:24px;flex-shrink:0;}
/* Consentimiento: ancho fijo para checkbox; el CSS global asigna width:100% a inputs. */
.company-quote-consent {
  display:grid;
  grid-template-columns:20px minmax(0, 1fr);
  align-items:start;
  column-gap:12px;
  width:100%;
  margin-top:18px;
  padding:14px 16px;
  border:1px solid #d7e9ed;
  border-radius:12px;
  background:#f4fafb;
  color:#38596b;
  box-sizing:border-box;
  cursor:pointer;
}
.company-quote-consent input[type="checkbox"] {
  appearance:auto;
  display:block;
  width:20px;
  height:20px;
  min-width:20px;
  max-width:20px;
  padding:0;
  margin:2px 0 0;
  border-radius:4px;
  box-shadow:none;
  accent-color:#058a80;
}
.company-quote-consent > span {
  display:block;
  min-width:0;
  font-size:13px;
  font-weight:550;
  line-height:1.65;
  overflow-wrap:break-word;
}
.company-quote-consent a {color:#087790;text-decoration:underline;text-underline-offset:2px;font-weight:750;}
.company-quote-consent:focus-within {outline:2px solid #86cbd2;outline-offset:2px;}
.company-quote-submit {display:flex;align-items:center;justify-content:center;gap:11px;width:100%;padding:16px;border:0;border-radius:13px;background:linear-gradient(105deg,#0a766e,#069c7d);font-family:inherit;font-size:15px;line-height:1.3;font-weight:900;color:white;cursor:pointer;margin-top:20px;box-shadow:0 7px 19px rgba(3,117,91,.18);transition:transform .15s,filter .15s;}
.company-quote-submit:hover {filter:brightness(1.07);transform:translateY(-1px)}
.company-quote-submit:focus-visible {outline:3px solid #044e51;outline-offset:3px}
.company-quote-small {font-size:11px;color:#637b86;text-align:center;line-height:1.6;margin:12px 0 0;}
.company-quote-preview-wrap {margin-top:18px;border-top:1px solid #e6ecef;padding-top:17px;}
.company-quote-preview-wrap summary {font-size:13px;font-weight:750;color:#176f86;cursor:pointer;}
.company-quote-preview-wrap pre {white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.65 inherit;color:#315164;border-radius:12px;background:#f5f9fb;padding:15px;margin:12px 0 0;}
@media(max-width:900px) {.company-quote-container{grid-template-columns:1fr;gap:20px}.company-quote-intro {padding:0}.company-quote-intro h2{max-width:650px}.company-quote-benefits{grid-template-columns:1fr 1fr}.company-quote-steps{grid-template-columns:repeat(3,1fr)}.company-quote-steps > div{align-items:flex-start;flex-direction:column}}
@media(max-width:575px) {.company-quote-section{padding:48px 16px 70px}.company-quote-card{padding:20px 16px;border-radius:17px}.company-quote-fields{grid-template-columns:1fr}.company-quote-benefits,.company-quote-steps{grid-template-columns:1fr}.company-quote-steps > div{flex-direction:row;align-items:center}.company-quote-intro > p{font-size:14px}}
