/* Gestación con Amor · chat asistente y formulario de gestantes */
.gca-chat{position:fixed;right:20px;bottom:20px;z-index:90;font-family:'Plus Jakarta Sans',system-ui,sans-serif}
.gca-fab{display:flex;align-items:center;gap:10px;border:0;cursor:pointer;background:#C8407F;color:#fff;font:inherit;font-weight:700;font-size:15px;padding:8px 20px 8px 8px;border-radius:999px;box-shadow:0 14px 36px rgba(160,40,100,.35);min-height:56px;transition:transform .3s}
.gca-fab:hover{transform:translateY(-2px)}.gca-fab img{width:40px;height:40px;border-radius:999px;background:#fff;padding:4px}
.gca-chat.open .gca-fab{display:none}
.gca-teaser{position:absolute;right:0;bottom:70px;width:260px;background:#fff;color:#1D1D1F;font-size:14px;line-height:1.45;padding:16px 34px 16px 16px;border-radius:18px;box-shadow:0 16px 40px rgba(120,40,90,.18)}
.gca-tx,.gca-x{position:absolute;top:6px;right:8px;border:0;background:none;font-size:22px;line-height:1;cursor:pointer;color:#6E6E73;width:32px;height:32px}
.gca-panel{position:relative;width:min(380px,calc(100vw - 24px));height:min(620px,calc(100vh - 40px));background:#fff;border-radius:26px;box-shadow:0 30px 80px rgba(120,40,90,.28);display:flex;flex-direction:column;overflow:hidden}
.gca-panel[hidden]{display:none}
.gca-panel header{display:flex;gap:12px;align-items:center;padding:16px 50px 16px 18px;background:#F8E3F1}
.gca-panel header img{width:40px;height:40px;border-radius:999px;background:#fff;padding:4px}.gca-panel header b{display:block;font-size:16px;color:#1D1D1F}.gca-panel header small{color:#6B4E60;font-size:12px}
.gca-x{top:14px;right:10px}
.gca-log{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:8px;background:#FFFDFE}
.gca-b{margin:0;max-width:85%;padding:11px 14px;border-radius:18px;font-size:14.5px;line-height:1.5;white-space:pre-line}
.gca-b.bot{background:#F6F0F3;color:#1D1D1F;border-bottom-left-radius:6px;align-self:flex-start}
.gca-b.me{background:#C8407F;color:#fff;border-bottom-right-radius:6px;align-self:flex-end}
.gca-b.typing{display:flex;gap:4px;padding:14px}.gca-b.typing i{width:7px;height:7px;border-radius:99px;background:#C8A3B6;animation:gcaDot 1s infinite}.gca-b.typing i:nth-child(2){animation-delay:.15s}.gca-b.typing i:nth-child(3){animation-delay:.3s}
@keyframes gcaDot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.gca-opts{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin:4px 0}
.gca-opts button,.gca-opts a{font:inherit;font-size:14px;font-weight:600;border:1px solid #E7C9D9;background:#fff;color:#C8407F;border-radius:999px;padding:9px 14px;cursor:pointer;text-decoration:none;text-align:left;min-height:40px}
.gca-opts button:hover,.gca-opts a:hover{background:#FBF0F7}.gca-opts a.pri{background:#C8407F;color:#fff;border-color:#C8407F}
.gca-opts.links{justify-content:flex-start}
.gca-in{display:flex;gap:8px;padding:12px;border-top:1px solid #F2E6EC}.gca-in[hidden],.gca-skip[hidden]{display:none}
.gca-in input{flex:1;font:inherit;font-size:16px;border:1px solid #E3D3DC;border-radius:999px;padding:10px 16px;min-width:0}.gca-in input:focus{outline:2px solid #F3C6E5;border-color:#C8407F}
.gca-in button{border:0;background:#C8407F;color:#fff;font:inherit;font-weight:700;border-radius:999px;padding:0 18px;cursor:pointer;min-height:44px}
.gca-skip{padding:0 12px 12px;text-align:right}.gca-skip button{border:0;background:none;color:#6E6E73;font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}
@media (max-width:560px){.gca-chat{right:12px;bottom:12px}.gca-fab span{display:none}.gca-fab{padding:8px}.gca-chat.open{left:12px}.gca-panel{width:100%;height:calc(100vh - 24px)}}
@media (prefers-reduced-motion:reduce){.gca-b.typing i{animation:none}}

/* Formulario de gestantes */
.gf{background:#fff;border-radius:32px;padding:clamp(24px,4vw,48px);box-shadow:0 40px 120px rgba(120,40,90,.12);text-align:left}
.gf-steps{list-style:none;margin:0 0 28px;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.gf-steps li{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#6E6E73;padding:8px 14px 8px 8px;border-radius:999px;background:#F7F2F5}
.gf-steps li span{width:26px;height:26px;border-radius:999px;background:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px}
.gf-steps li.on{background:#C8407F;color:#fff}.gf-steps li.on span{color:#C8407F}.gf-steps li.done{background:#F8E3F1;color:#C8407F}
.gf-note{margin:0 0 18px;font-size:14px;color:#6E6E73}
.gf-step{border:0;margin:0;padding:0}.gf-step legend{font-size:clamp(24px,2.6vw,30px);font-weight:800;letter-spacing:-.02em;margin-bottom:18px;color:#1D1D1F}
.gf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:700px){.gf-grid{grid-template-columns:1fr}}
.gf-f{display:flex;flex-direction:column;gap:8px;font-size:15px;font-weight:600;color:#1D1D1F;margin-bottom:4px}
.gf-f input,.gf-f select{font:inherit;font-size:16px;font-weight:500;color:#1D1D1F;background:#fff;border:1px solid #E3D3DC;border-radius:14px;padding:13px 15px;width:100%}
.gf-f input:focus,.gf-f select:focus{outline:none;border-color:#C8407F;box-shadow:0 0 0 4px rgba(200,64,127,.12)}
.gf-f small{font-weight:500;color:#6E6E73}
.gf-q{margin:22px 0 0}.gf-q p{margin:0 0 10px;font-size:15px;font-weight:600;color:#1D1D1F}
.gf-opts{display:flex;flex-wrap:wrap;gap:10px}
.gf-opts label{position:relative;cursor:pointer}.gf-opts input{position:absolute;opacity:0;width:1px;height:1px}
.gf-opts span{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:999px;border:1px solid #E3D3DC;font-size:15px;font-weight:600;background:#fff}
.gf-opts input:checked+span{background:#C8407F;color:#fff;border-color:#C8407F}.gf-opts input:focus-visible+span{outline:2px solid #C8407F;outline-offset:2px}
.gf-consent{display:flex;gap:12px;align-items:flex-start;margin-top:24px;font-size:14px;line-height:1.6;color:#3A3A3C;background:#FBF5F8;border-radius:16px;padding:16px;cursor:pointer}
.gf-consent input{width:20px;height:20px;margin-top:3px;flex:none;accent-color:#C8407F}.gf-consent a{color:#C8407F;text-decoration:underline}
.gf-bad input,.gf-bad select,input.gf-bad{border-color:#C8407F !important;background:#FFF5FA !important}.gf-q.gf-bad p,.gf-consent.gf-bad{color:#B3265F}.gf-consent.gf-bad{outline:2px solid #F3C6E5}
.gf-error{margin:20px 0 0;font-size:14px;font-weight:600;color:#9B1C1C;background:#FDECEC;border-radius:12px;padding:12px 14px}
.gf-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px;flex-wrap:wrap}
.gf-btn{border:0;cursor:pointer;font:inherit;font-weight:700;font-size:16px;background:#C8407F;color:#fff;border-radius:999px;min-height:54px;padding:0 30px;margin-left:auto}
.gf-btn.ghost{background:#fff;color:#1D1D1F;border:1px solid #E3D3DC;margin-left:0}.gf-btn:disabled{opacity:.6;cursor:wait}
.gf-done{text-align:center;padding:30px 6px}.gf-check{width:76px;height:76px;border-radius:999px;background:#F8E3F1;margin:0 auto;display:flex;align-items:center;justify-content:center}
.gf-done h3{margin:22px 0 10px;font-size:clamp(26px,3vw,36px);font-weight:800;letter-spacing:-.03em}.gf-done p{margin:8px auto 0;max-width:520px;font-size:17px;line-height:1.6;color:#3A3A3C}
