/* Sólo CP182; no cambia estilos ni plantillas de otras páginas. */
.doc:has(.insurance-panel) { max-width: 980px; overflow-wrap: anywhere; }
.doc:has(.insurance-panel) :is(.doc-crumb, .lede, .meta-line) { color: var(--ink-soft); }
.insurance-panel { margin: 28px 0; padding: clamp(18px,3vw,28px); border: 1px solid #c9d3ce; border-radius: 16px; background: #f0f5f1; color: #173a32; }
.insurance-panel .insurance-kicker { margin: 0 0 10px; color: #31594e; font-size: .76rem; font-weight: 700; letter-spacing: .07em; }
.insurance-panel h2 { margin: 0 0 12px; font-size: clamp(1.45rem,3vw,1.85rem); line-height: 1.22; scroll-margin-top: 90px; }
.insurance-cases { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 22px 0; }
.insurance-cases section { padding: 17px; background: #fffefa; border: 1px solid #d0d9d2; border-radius: 10px; }
.insurance-step { font-size: .75rem; font-weight: 700; color: #31594e; }
.insurance-cases h3 { margin: 10px 0; font-size: 1.12rem; }
.insurance-cases p { margin: 0; font-size: .95rem; }
.insurance-panel code { white-space: normal; overflow-wrap: anywhere; }
.insurance-packet { padding: 18px; background: #fffefa; border-left: 4px solid #31594e; border-radius: 6px; }
.insurance-packet h3 { margin: 0 0 10px; }
.insurance-packet p { margin-bottom: 0; }
.insurance-limit { font-size: .94rem; }
.insurance-panel .insurance-source { padding-top: 14px; border-top: 1px solid #c9d3ce; font-size: .83rem; }
.insurance-panel a { color: #173a32; text-decoration: underline; text-underline-offset: 3px; }
@media(max-width:680px) { .insurance-cases { grid-template-columns: 1fr; } .insurance-panel { padding: 17px; } }
