/* Homeowners insurance on the property card. */
.property-insurance{margin:0 0 28px;padding:24px;border:1px solid #e1e8ef;border-radius:14px;background:#fff;color:#1d3350}
.property-insurance:empty{display:none}
.insurance-loading{font-size:.875rem;color:#6b7c90;padding:6px 0}
.ins-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.ins-head .eyebrow{font-size:.6875rem;letter-spacing:.14em;color:#7a8ea1;margin:0 0 6px;text-transform:uppercase}
.ins-head h3{font:400 2.1rem/1.1 var(--serif,Georgia),serif;color:#102744;margin:0;letter-spacing:-.5px}
.ins-head h3 span{font:500 .95rem Arial,sans-serif;color:#5d7087;margin-left:4px}
.ins-range{margin:6px 0 0;font-size:.875rem;color:#4b5f76}
.ins-applied{font-size:.8125rem;color:#2f7a4f;font-weight:600}
.ins-insight{margin:18px 0 0;padding:14px 16px;border-radius:10px;background:#f2f7ff;border:1px solid #d9e6fb;font-size:.875rem;line-height:1.55;color:#253d5c}
.ins-refine{margin:16px 0 0;border-top:1px solid #edf1f5;padding-top:14px}
.ins-refine summary{cursor:pointer;font-weight:600;font-size:.875rem;color:var(--blue,#2454d6)}
.ins-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}
.ins-grid label,.ins-form label{display:flex;flex-direction:column;gap:6px;font-size:.75rem;font-weight:600;color:#43566c}
.ins-grid input,.ins-grid select,.ins-form input,.ins-form select{font:inherit;font-size:.875rem;font-weight:400;padding:9px 10px;border:1px solid #d3dce7;border-radius:7px;background:#fff;color:#102744;min-height:40px}
.ins-carriers{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid #edf1f5}
.ins-carriers li{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #edf1f5;font-size:.875rem}
.ins-carriers li>div{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}
.ins-carriers strong{color:#102744;font-weight:600}
.ins-carriers small{flex-basis:100%;color:#8a5a14;font-size:.75rem;line-height:1.4}
.ins-carriers li>span{text-align:right;white-space:nowrap;color:#4b5f76}
.ins-carriers em{display:block;font-style:normal;font-weight:600;color:#102744}
.ins-badge{font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:#eef1f5;color:#5d7087}
.ins-badge.rated{background:#e7f4ec;color:#2f7a4f}
.ins-unavailable{margin:12px 0 0;font-size:.8125rem;color:#5d7087}
.ins-unavailable summary{cursor:pointer}
.ins-unavailable ul{margin:8px 0 0;padding-left:18px;line-height:1.6}
.property-insurance .ins-cta{margin:20px 0 0}
.ins-form{margin:20px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px;border-radius:12px;background:#f7f9fc;border:1px solid #e3e9f0}
.ins-form>p,.ins-form .ins-consent,.ins-form .form-error,.ins-form button{grid-column:1/-1;margin:0}
.ins-form>p{font-size:.875rem;line-height:1.55;color:#34495f}
.ins-form label.ins-consent{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;font-weight:400;font-size:.75rem;line-height:1.55;color:#4b5f76;text-align:left}
.ins-form label.ins-consent input{width:18px;height:18px;min-height:0;margin:2px 0 0;padding:0}
.ins-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ins-sent{margin:20px 0 0;padding:14px 16px;border-radius:10px;background:#e9f6ee;border:1px solid #cde9d7;color:#1f4d33;font-size:.875rem;line-height:1.55}
.insurance-note{margin:14px 0 0;font-size:.75rem;line-height:1.55;color:#7a8a9c}
@media(max-width:750px){
 .property-insurance{padding:18px;border-radius:12px}
 .ins-head h3{font-size:1.8rem}
 .ins-grid,.ins-form{grid-template-columns:1fr}
 .ins-carriers li{flex-direction:column;gap:4px}
 .ins-carriers li>span{text-align:left}
}
