/* IP-LOCAL · IP pública + diagnóstico + asistencia. Hereda styles.css.
   Estilos limitados a las páginas pub-main; no altera la home ni el router. */
.pub-main{position:relative;z-index:2}
.pub-main [hidden]{display:none!important}
.pub-main .button-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}
.pub-hero{min-height:635px;padding:0 clamp(24px,6vw,95px) 82px;display:flex;flex-direction:column;align-items:center;text-align:center}
.pub-eyebrow,.pub-overline{font:800 12px/1.5 var(--sans);letter-spacing:.15em;color:#574361;text-transform:uppercase}
.pub-eyebrow{margin:0 0 15px}
.pub-hero h1{font:400 clamp(52px,6.2vw,89px)/1.09 var(--serif);letter-spacing:-.066em;margin:0;color:#37213f}
.pub-current{max-width:100%;margin:27px 0 0}
.pub-current-caption{margin:0 0 9px!important;font-size:clamp(14px,1.4vw,19px);color:#4c3c58}
.pub-main .pub-current .public-ip-value{display:block;max-width:min(1200px,95vw);min-height:1.25em;margin:0 auto 7px;font:400 clamp(44px,5.2vw,88px)/1.13 var(--serif);color:#35203f;letter-spacing:-.058em;overflow-wrap:anywhere;word-break:break-word;text-shadow:0 2px 3px rgba(255,250,255,.2)}
.pub-main .pub-current .public-ip-value.is-loading,.pub-main .pub-current .public-ip-value.is-error{font-size:clamp(24px,3vw,42px);letter-spacing:-.03em;margin:12px auto;min-height:1.6em}
.pub-protocol-line{min-height:31px}.pub-main .public-ip-protocol{display:inline-flex;border:1px solid rgba(255,255,255,.72);background:rgba(251,241,249,.55);font-size:12px;padding:5px 12px}
.pub-ip-controls{display:flex;justify-content:center;gap:10px;margin-top:17px}
.pub-main .button-primary,.pub-main .button-secondary{white-space:normal;text-align:center}
.pub-ip-message{font-size:12.5px;line-height:1.55;margin:14px auto 0;color:#584b60;max-width:600px}
.pub-choices{width:min(100%,960px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:53px}
.pub-choice{display:flex;gap:18px;align-items:center;text-align:left;padding:22px 24px;min-height:124px;border:1.5px solid rgba(255,255,255,.91);border-radius:24px;background:rgba(255,250,254,.76);backdrop-filter:blur(14px);box-shadow:0 14px 32px rgba(70,42,83,.13);text-decoration:none;transition:transform .18s,background .18s}
.pub-choice:hover{transform:translateY(-3px);background:rgba(255,255,255,.91)}
.pub-choice-icon{display:grid;place-items:center;width:50px;height:50px;flex:none;border-radius:16px;background:rgba(224,207,231,.67);color:#493459;font-size:30px;font-weight:400}
.pub-choice-copy{flex:1;min-width:0;display:grid;gap:6px}.pub-choice-copy strong{font-size:19px;line-height:1.2;letter-spacing:-.032em}.pub-choice-copy small{color:#584c61;line-height:1.5;font-size:13px}
.pub-choice-arrow{font-size:24px;color:#483654}
.pub-lower{background:rgba(255,250,248,.95);border-radius:37px 37px 0 0;backdrop-filter:blur(12px);padding:58px clamp(22px,6vw,90px) 75px}
.pub-lower-inner{max-width:1100px;margin:auto}
.pub-explain-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,90px)}
.pub-explain-grid h2,.pub-report h2,.pub-diagnostic-intro h2,.pub-safety h2,.pub-next-cta h2{font:400 clamp(32px,3.4vw,45px)/1.15 var(--serif);letter-spacing:-.046em;margin:10px 0 14px;color:#37213f}
.pub-explain-grid p:not(.pub-overline){line-height:1.72;color:#51485a;margin:0;font-size:15.5px}
.pub-explain-grid a{font-weight:700;text-underline-offset:3px}
.pub-privacy-hint{border-top:1px solid #e4d6e4;margin:42px 0 0;padding-top:22px;font-size:13px;color:#66576a;line-height:1.65}
.pub-subhero{text-align:center;padding:2px 24px 74px;max-width:1050px;margin:auto}
.pub-subhero h1{font:400 clamp(44px,5.4vw,77px)/1.09 var(--serif);letter-spacing:-.06em;color:#36203f;margin:0 auto 20px;text-wrap:balance}
.pub-subhero>p:last-child{font-size:clamp(16px,1.6vw,19px);line-height:1.65;max-width:710px;margin:0 auto;color:#463a50}
.pub-workspace{padding-top:35px;min-height:610px}
.pub-back{display:inline-flex;font-size:14px;font-weight:750;text-decoration:none;padding:7px 0;margin-bottom:43px}.pub-back:hover{text-decoration:underline}
.pub-diagnostic-intro{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:25px}
.pub-diagnostic-intro>div{max-width:780px}.pub-diagnostic-intro h2{margin:10px 0}.pub-diagnostic-intro p:not(.pub-overline){margin:0;color:#5c5062;line-height:1.6;font-size:15px}
.pub-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:29px 0 50px}
.pub-stat{min-width:0;display:flex;flex-direction:column;gap:9px;padding:23px;border-radius:19px;background:rgba(255,255,255,.84);border:1px solid #e9dbe7;box-shadow:0 10px 22px rgba(68,44,72,.055)}
.pub-stat>span{font-size:13px;font-weight:750;color:#62526a}.pub-stat strong{font:650 clamp(16px,1.65vw,22px)/1.26 var(--sans);overflow-wrap:anywhere;color:#35243e;letter-spacing:-.03em}.pub-stat small{font-size:12px;line-height:1.55;color:#716578}
.pub-report{border:1px solid #e4d5e5;border-radius:25px;padding:clamp(25px,4vw,44px);background:rgba(255,255,255,.74)}
.pub-report>p:not(.pub-overline){max-width:800px;font-size:15px;color:#544c5b;line-height:1.7}
.pub-label{display:block;font-size:14px;font-weight:750;margin:27px 0 9px}.pub-label span{font-weight:400;color:#75677b}
.pub-report textarea{resize:vertical;display:block;width:100%;border-radius:13px;border:1.5px solid #c6b6c8;padding:14px 15px;min-height:100px;line-height:1.55;background:#fffafd;color:#30243a}
.pub-check{display:flex;gap:11px;align-items:flex-start;cursor:pointer;font-size:14px;font-weight:650;line-height:1.5;color:#44344e;margin:24px 0}
.pub-check input{accent-color:#492b59;width:19px;height:19px;margin:1px 0 0;flex:none}
.pub-extra{margin:20px 0;border:1px solid #e5d9e5;border-radius:15px;padding:13px 17px;background:#f8f0f6}
.pub-extra summary{font-size:14px;font-weight:750;cursor:pointer;padding:4px 0}
.pub-extra pre{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.7;color:#332b3c;max-height:350px;overflow:auto;margin:14px 0 0}
.pub-report-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:25px}
.pub-action-status{font-size:14px;color:#405539;min-height:1.5em}
.pub-warning{border-radius:0 15px 15px 0;border-left:4px solid #ae96c7;background:#f4eaf4;color:#4b4053;padding:18px 22px;line-height:1.7;font-size:13.5px;margin-top:29px}
.pub-warning-prominent{font-size:15px;margin:0 0 40px;background:#f7e7ef}
.pub-next-cta{border-top:1px solid #e6dbe4;margin-top:55px;padding:39px 0 10px;display:flex;gap:24px;justify-content:space-between;align-items:center}
.pub-next-cta div{max-width:690px}.pub-next-cta h2{margin:7px 0 10px}.pub-next-cta p:not(.pub-overline){line-height:1.65;color:#5b5060;font-size:14px}
.pub-next-cta .button-primary,.pub-next-cta .button-secondary{flex:none;text-decoration:none}
.pub-remote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:35px 0 60px}
.pub-remote-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:26px;border-radius:21px;border:1px solid #e7d8e5;background:rgba(255,255,255,.81);min-width:0}
.pub-provider-tag{font-size:11px;font-weight:800;letter-spacing:.075em;text-transform:uppercase;color:#7a6282;background:#efe2f0;padding:6px 12px;border-radius:18px}
.pub-remote-card h3{font:400 32px/1.16 var(--serif);letter-spacing:-.045em;color:#3a2945;margin:7px 0 0}
.pub-remote-card p{font-size:14px;color:#595061;line-height:1.7;margin:0;flex:1}
.pub-remote-card .button-primary,.pub-remote-card .button-secondary{text-decoration:none;font-size:13px;width:100%}
.pub-remote-card small{font-size:12px;line-height:1.5;color:#72667a}
.pub-safety{max-width:850px}.pub-safety h2{margin-bottom:23px}.pub-safety ol{padding:0 0 0 24px;margin:0;display:grid;gap:17px}.pub-safety li{line-height:1.72;color:#53485b;padding-left:8px;font-size:15px}
@media(max-width:1000px){.pub-remote-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pub-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.pub-hero{padding:10px 20px 50px;min-height:0}.pub-hero h1{font-size:clamp(48px,10.5vw,69px)}.pub-current{margin-top:32px}.pub-main .pub-current .public-ip-value{font-size:clamp(31px,8.3vw,58px);letter-spacing:-.045em}.pub-main .pub-current .public-ip-value.is-loading,.pub-main .pub-current .public-ip-value.is-error{font-size:23px}.pub-ip-controls{margin-top:13px}.pub-ip-controls button{min-height:46px;padding:11px 17px}.pub-choices{grid-template-columns:1fr;gap:12px;margin-top:39px}.pub-choice{min-height:102px;padding:18px 18px;border-radius:19px}.pub-choice-copy strong{font-size:17px}.pub-choice-icon{width:44px;height:44px;font-size:25px}.pub-lower{border-radius:25px 25px 0 0;padding:44px 23px 55px}.pub-explain-grid{grid-template-columns:1fr;gap:31px}.pub-subhero{padding:12px 24px 64px}.pub-subhero h1{font-size:clamp(43px,10vw,60px)}.pub-workspace{padding-top:26px}.pub-back{margin-bottom:25px}.pub-diagnostic-intro{flex-direction:column;align-items:flex-start}.pub-status-grid{grid-template-columns:1fr 1fr;gap:10px}.pub-stat{padding:17px}.pub-stat strong{font-size:17px}.pub-report{padding:21px}.pub-next-cta{flex-direction:column;align-items:flex-start}.pub-remote-grid{grid-template-columns:1fr;gap:12px;margin:25px 0 43px}.pub-remote-card{padding:23px}.pub-safety li{font-size:14px}}
@media(max-width:480px){.pub-status-grid{grid-template-columns:1fr}.pub-report-actions{flex-direction:column}.pub-report-actions button{width:100%}.pub-choice-copy small{font-size:12px}}
@media(prefers-reduced-motion:reduce){.pub-choice{transition:none}}
