/* IHI Instant Risk Screening — Shortcode Styles v2 */

/* ── Layout variants ─────────────────────────────────────────────────── */
.ihi-irs-wrap{max-width:var(--ihi-max-width,700px);margin:0 auto;font-family:inherit;}
.ihi-irs-wrap.layout-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:32px;box-shadow:0 2px 12px rgba(0,0,0,.07);}
.ihi-irs-wrap.layout-split{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;}
.ihi-irs-wrap.layout-split .ihi-irs-split-left{padding:32px;background:var(--ihi-accent,#5B3250);color:#fff;}
.ihi-irs-wrap.layout-split .ihi-irs-split-right{padding:32px;background:#fff;}
.ihi-irs-wrap.layout-minimal{max-width:520px;}
.ihi-irs-wrap.layout-hero{text-align:center;padding:40px 20px;}
.ihi-irs-wrap.layout-hero .ihi-irs-search-box{max-width:480px;margin:0 auto;}
@media(max-width:600px){.ihi-irs-wrap.layout-split{grid-template-columns:1fr;}.ihi-irs-wrap.layout-split .ihi-irs-split-left{padding:24px;}}

/* ── Steps ───────────────────────────────────────────────────────────── */
.ihi-irs-step{padding:4px 0;}
.ihi-irs-hidden{display:none!important;}

/* ── Hero / headings ─────────────────────────────────────────────────── */
.ihi-irs-hero-icon{font-size:48px;margin-bottom:12px;display:block;}
.ihi-irs-heading{font-size:1.55em;font-weight:700;margin:0 0 8px;color:inherit;}
.ihi-irs-subheading{font-size:.97em;margin:0 0 22px;color:#555;line-height:1.55;}
.layout-hero .ihi-irs-heading{font-size:2em;}
.layout-split .ihi-irs-split-left .ihi-irs-heading{color:#fff;}
.layout-split .ihi-irs-split-left .ihi-irs-subheading{color:rgba(255,255,255,.8);}

/* ── Address search ──────────────────────────────────────────────────── */
.ihi-irs-search-box{position:relative;}
.ihi-irs-addr-wrap{position:relative;margin-bottom:8px;}
.ihi-irs-input-row{display:flex;gap:8px;}
.ihi-irs-input{width:100%;padding:13px 16px;font-size:1em;border:1.5px solid #d0d0d0;border-radius:8px;box-sizing:border-box;outline:none;transition:border-color .2s,box-shadow .2s;background:#fff;color:#222;}
.ihi-irs-input:focus{border-color:var(--ihi-accent,#5B3250);box-shadow:0 0 0 3px color-mix(in srgb,var(--ihi-accent,#5B3250) 15%,transparent);}
.ihi-irs-input::placeholder{color:#aaa;}

/* Search button inline variant */
.ihi-irs-input-row .ihi-irs-input{border-radius:8px 0 0 8px;flex:1;}
.ihi-irs-input-row .ihi-irs-search-btn{padding:0 20px;background:var(--ihi-accent,#5B3250);border:none;border-radius:0 8px 8px 0;color:#fff;font-size:1.2em;cursor:pointer;transition:opacity .2s;}
.ihi-irs-input-row .ihi-irs-search-btn:hover{opacity:.85;}

/* ── Dropdown ────────────────────────────────────────────────────────── */
.ihi-irs-dropdown{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border:1.5px solid #d0d0d0;border-top:none;border-radius:0 0 8px 8px;box-shadow:0 8px 24px rgba(0,0,0,.1);max-height:280px;overflow-y:auto;z-index:9999;}
.ihi-irs-dropdown-item{padding:11px 16px;cursor:pointer;font-size:.93em;border-bottom:.5px solid #f0f0f0;transition:background .12s;}
.ihi-irs-dropdown-item:hover{background:#f5eef8;}
.ihi-irs-dropdown-item:last-child{border-bottom:none;}
.ihi-irs-dropdown-msg{padding:10px 16px;color:#999;font-size:.88em;font-style:italic;}

/* ── Status ──────────────────────────────────────────────────────────── */
.ihi-irs-status{font-size:.85em;min-height:16px;margin:4px 0 10px;color:#2e7d32;display:flex;align-items:center;gap:5px;}
.ihi-irs-status.error{color:#c62828;}

/* ── Button ──────────────────────────────────────────────────────────── */
.ihi-irs-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;background:var(--ihi-accent,#5B3250);color:#fff!important;border:2px solid var(--ihi-accent,#5B3250);border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;text-decoration:none;transition:opacity .18s,transform .12s;margin-top:6px;white-space:nowrap;}
.ihi-irs-btn:hover:not(:disabled){opacity:.86;transform:translateY(-1px);}
.ihi-irs-btn:active:not(:disabled){transform:scale(.98);}
.ihi-irs-btn:disabled{opacity:.4;cursor:not-allowed;}
.ihi-irs-btn-outline{background:transparent!important;color:var(--ihi-accent,#5B3250)!important;border-color:var(--ihi-accent,#5B3250)!important;}
.ihi-irs-btn-full{width:100%;justify-content:center;}
.ihi-irs-btn-sm{padding:9px 18px;font-size:.9em;}

/* ── Progress ────────────────────────────────────────────────────────── */
.ihi-irs-progress-wrap{text-align:center;padding:48px 20px;}
.ihi-irs-spinner{width:52px;height:52px;border:4px solid #e8e8e8;border-top-color:var(--ihi-accent,#5B3250);border-radius:50%;animation:ihi-spin .75s linear infinite;margin:0 auto 20px;}
@keyframes ihi-spin{to{transform:rotate(360deg);}}
.ihi-irs-progress-steps{display:flex;justify-content:center;gap:6px;margin-bottom:16px;flex-wrap:wrap;}
.ihi-irs-progress-step{font-size:.78em;padding:4px 12px;border-radius:99px;background:#f0f0f0;color:#999;transition:background .3s,color .3s;}
.ihi-irs-progress-step.active{background:var(--ihi-accent,#5B3250);color:#fff;}
.ihi-irs-progress-step.done{background:#e8f5e9;color:#2e7d32;}
.ihi-irs-progress-label{font-size:.97em;color:#555;margin-bottom:14px;min-height:22px;}
.ihi-irs-bar-track{background:#e8e8e8;border-radius:99px;height:6px;max-width:380px;margin:0 auto;overflow:hidden;}
.ihi-irs-bar{height:100%;width:0%;background:var(--ihi-accent,#5B3250);border-radius:99px;transition:width .55s ease;}

/* ── Results header ──────────────────────────────────────────────────── */
.ihi-irs-results-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;}
.ihi-irs-tick{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:#2e7d32;color:#fff;border-radius:50%;font-size:1.1em;flex-shrink:0;}
.ihi-irs-results-header h3{margin:0;font-size:1.15em;}

/* ── Risk grid variants ──────────────────────────────────────────────── */
.ihi-irs-risk-grid{display:grid;gap:10px;margin-bottom:24px;}
.ihi-irs-risk-grid.cols-3{grid-template-columns:repeat(3,1fr);}
.ihi-irs-risk-grid.cols-2{grid-template-columns:repeat(2,1fr);}
.ihi-irs-risk-grid.cols-list{grid-template-columns:1fr;}
.ihi-irs-card{background:#f5f8f6;border-radius:8px;padding:12px 14px;border-left:4px solid #0e8740;}
.ihi-irs-card.risk{border-left-color:#ff9b2a;}
.ihi-irs-card.cols-list{display:flex;align-items:center;gap:12px;padding:10px 14px;}
.ihi-irs-card.cols-list .ihi-irs-card-label{min-width:130px;margin-bottom:0;}
.ihi-irs-card-label{font-weight:700;font-size:.84em;margin-bottom:4px;color:#222;}
.ihi-irs-card-value{font-size:.82em;color:#444;line-height:1.3;}
.ihi-irs-card-dot{width:10px;height:10px;border-radius:50%;background:#0e8740;flex-shrink:0;}
.ihi-irs-card.risk .ihi-irs-card-dot{background:#ff9b2a;}
@media(max-width:500px){.ihi-irs-risk-grid.cols-3{grid-template-columns:repeat(2,1fr);}.ihi-irs-risk-grid.cols-2{grid-template-columns:1fr;}}

/* ── Download ────────────────────────────────────────────────────────── */
.ihi-irs-download-wrap{margin-bottom:24px;}

/* ── Upsell variants ─────────────────────────────────────────────────── */

/* Inline */
.ihi-irs-upsell.style-inline{background:#fffbf0;border:2px solid #ff9b2a;border-radius:10px;padding:24px;margin-bottom:20px;}

/* Banner */
.ihi-irs-upsell.style-banner{background:var(--ihi-accent,#5B3250);border-radius:10px;padding:22px 26px;margin-bottom:20px;color:#fff;display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.ihi-irs-upsell.style-banner .ihi-irs-upsell-text{flex:1;min-width:200px;}
.ihi-irs-upsell.style-banner h3,.ihi-irs-upsell.style-banner p{color:#fff;margin:0 0 4px;}
.ihi-irs-upsell.style-banner p{opacity:.85;font-size:.9em;}
.ihi-irs-upsell.style-banner .ihi-irs-upsell-actions{display:flex;gap:10px;flex-wrap:wrap;}

/* Popout (slide down panel) */
.ihi-irs-upsell.style-popout{border-radius:10px;overflow:hidden;margin-bottom:20px;border:1px solid #e0e0e0;}
.ihi-irs-upsell.style-popout .ihi-irs-upsell-trigger{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--ihi-accent,#5B3250);color:#fff;cursor:pointer;font-weight:600;}
.ihi-irs-upsell.style-popout .ihi-irs-upsell-trigger:after{content:'▼';font-size:.75em;transition:transform .25s;}
.ihi-irs-upsell.style-popout.open .ihi-irs-upsell-trigger:after{transform:rotate(180deg);}
.ihi-irs-upsell.style-popout .ihi-irs-upsell-body-wrap{max-height:0;overflow:hidden;transition:max-height .35s ease;background:#fff;}
.ihi-irs-upsell.style-popout.open .ihi-irs-upsell-body-wrap{max-height:800px;}
.ihi-irs-upsell.style-popout .ihi-irs-upsell-inner{padding:24px;}

/* Alert ribbon */
.ihi-irs-upsell.style-ribbon{border-left:5px solid #ff9b2a;background:#fffbf0;padding:16px 20px;border-radius:0 8px 8px 0;margin-bottom:20px;display:flex;align-items:flex-start;gap:14px;}
.ihi-irs-upsell.style-ribbon .ihi-irs-ribbon-icon{font-size:22px;flex-shrink:0;margin-top:2px;}
.ihi-irs-upsell.style-ribbon .ihi-irs-upsell-inner{flex:1;}

/* Modal overlay */
.ihi-irs-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99999;align-items:center;justify-content:center;padding:20px;}
.ihi-irs-modal-overlay.open{display:flex;}
.ihi-irs-modal{background:#fff;border-radius:14px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;padding:32px;position:relative;}
.ihi-irs-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:22px;cursor:pointer;color:#999;line-height:1;}
.ihi-irs-modal-close:hover{color:#333;}
.ihi-irs-modal h3{margin-top:0;}

/* ── Product cards ───────────────────────────────────────────────────── */
.ihi-irs-upsell-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-top:16px;}
.ihi-irs-upsell-product{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:6px;transition:box-shadow .18s,transform .15s;}
.ihi-irs-upsell-product:hover{box-shadow:0 4px 14px rgba(0,0,0,.1);transform:translateY(-2px);}
.ihi-irs-upsell-product img{width:100%;height:80px;object-fit:cover;border-radius:6px;margin-bottom:4px;}
.ihi-irs-product-name{font-weight:700;font-size:.9em;color:#222;}
.ihi-irs-product-desc{font-size:.8em;color:#666;flex:1;line-height:1.35;}
.ihi-irs-product-price{font-size:.9em;font-weight:600;color:#333;}
.ihi-irs-product-btn{display:block;text-align:center;padding:9px;background:var(--ihi-accent,#5B3250);color:#fff!important;border-radius:6px;font-size:.85em;font-weight:600;text-decoration:none;margin-top:6px;transition:opacity .18s;}
.ihi-irs-product-btn:hover{opacity:.85;}
.ihi-irs-upsell-products.style-list{grid-template-columns:1fr;}
.ihi-irs-upsell-products.style-list .ihi-irs-upsell-product{flex-direction:row;gap:14px;align-items:center;}
.ihi-irs-upsell-products.style-list .ihi-irs-upsell-product img{width:70px;height:70px;flex-shrink:0;margin-bottom:0;}
.ihi-irs-upsell-products.style-list .ihi-irs-product-body{flex:1;display:flex;flex-direction:column;gap:4px;}
.ihi-irs-upsell-products.style-list .ihi-irs-product-btn{width:auto;align-self:flex-start;padding:7px 14px;}

/* ── Restart / error ─────────────────────────────────────────────────── */
.ihi-irs-restart-wrap{margin-top:10px;text-align:right;}
.ihi-irs-restart{font-size:.87em;color:#999;text-decoration:none;}
.ihi-irs-restart:hover{color:#333;}
.ihi-irs-error-msg{color:#c62828;background:#fdecea;border:1px solid #f5c6cb;border-radius:8px;padding:12px 16px;font-size:.93em;}

/* ── Risk count badge ────────────────────────────────────────────────── */
.ihi-irs-risk-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:99px;font-size:.85em;font-weight:600;margin-bottom:16px;}
.ihi-irs-risk-badge.none{background:#e8f5e9;color:#1b5e20;}
.ihi-irs-risk-badge.low{background:#fff8e1;color:#f57f17;}
.ihi-irs-risk-badge.high{background:#fdecea;color:#b71c1c;}

/* ── Side by side results ────────────────────────────────────────────── */
.ihi-irs-results-sidebyside{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch;}
.ihi-irs-results-left{min-width:0;display:flex;flex-direction:column;}
.ihi-irs-results-right{min-width:0;display:flex;flex-direction:column;}
.ihi-irs-results-sidebyside .ihi-irs-risk-grid{flex:1;margin-bottom:0;align-content:start;}
.ihi-irs-results-sidebyside .ihi-irs-risk-grid.cols-3{grid-template-columns:repeat(2,1fr);}
.ihi-irs-results-sidebyside .ihi-irs-download-wrap{margin-top:14px;margin-bottom:0;}
.ihi-irs-results-sidebyside .ihi-irs-upsell{margin-bottom:0;flex:1;box-sizing:border-box;display:flex;flex-direction:column;}
.ihi-irs-results-sidebyside .ihi-irs-upsell .ihi-irs-upsell-inner{flex:1;display:flex;flex-direction:column;}
.ihi-irs-results-sidebyside .ihi-irs-upsell .ihi-irs-upsell-products{flex:1;}
@media(max-width:640px){.ihi-irs-results-sidebyside{grid-template-columns:1fr;}.ihi-irs-results-sidebyside .ihi-irs-risk-grid{flex:none;}}

/* ── Preview bar ─────────────────────────────────────────────────────── */
.ihi-irs-preview-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;background:#fff3cd;border:1px dashed #f0ad4e;border-radius:8px;margin-top:16px;font-size:.85em;}
.ihi-irs-preview-label{font-weight:600;color:#856404;flex:1;min-width:100px;}
.ihi-irs-preview-btn{padding:7px 16px;border:1.5px solid #856404;background:#fff;color:#856404;border-radius:6px;font-size:.85em;font-weight:600;cursor:pointer;transition:background .15s;}
.ihi-irs-preview-btn:hover{background:#fff3cd;}

/* ── Contact fields ──────────────────────────────────────────────────── */
.ihi-irs-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;}
.ihi-irs-contact-field{display:flex;flex-direction:column;gap:4px;}
.ihi-irs-contact-field.full{grid-column:1/-1;}
.ihi-irs-contact-field label{font-size:.82em;font-weight:600;color:#444;}
.ihi-irs-contact-field label span.optional{font-weight:400;color:#999;margin-left:3px;}
.ihi-irs-contact-field .ihi-irs-input{padding:10px 14px;font-size:.93em;}
.ihi-irs-contact-field .ihi-irs-field-error{font-size:.78em;color:#c62828;display:none;margin-top:2px;}
.ihi-irs-contact-field .ihi-irs-input.has-error{border-color:#c62828;}
@media(max-width:480px){.ihi-irs-contact-fields{grid-template-columns:1fr;}.ihi-irs-contact-field.full{grid-column:1;}}

/* ── Cards clickable hint ──────────────────────────────────────────────── */
.ihi-irs-cards-hint {
    font-size: 12px;
    color: #888;
    text-align: center;
    margin: -4px 0 12px;
    font-style: italic;
}
.ihi-irs-card-clickable {
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.ihi-irs-card-clickable:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
}
.ihi-irs-card-clickable::after {
    content: 'ⓘ';
    position: absolute;
    top: 6px;
    right: 8px;
    font-size: 13px;
    color: #bbb;
    line-height: 1;
}
.ihi-irs-card { position: relative; }

/* ── Sticky download bar ───────────────────────────────────────────────── */
.ihi-irs-sticky-bar {
    position: fixed;
    bottom: 0; left: 0; right: 0;
    background: var(--ihi-sticky-bg,#1a1a2e);
    color: #fff;
    z-index: 9999;
    transform: translateY(100%);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 -4px 24px rgba(0,0,0,.25);
}
.ihi-irs-sticky-bar.visible {
    transform: translateY(0);
}
.ihi-irs-sticky-bar-inner {
    max-width: 800px;
    margin: 0 auto;
    padding: 14px 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
.ihi-irs-sticky-bar-text {
    flex: 1;
    min-width: 160px;
}
.ihi-irs-sticky-bar-text strong {
    display: block;
    font-size: 15px;
}
.ihi-irs-sticky-bar-text span {
    font-size: 12px;
    opacity: 0.7;
}
.ihi-irs-sticky-download {
    display: inline-block;
    padding: 10px 20px;
    border-radius: 6px;
    background: var(--ihi-sticky-btn,var(--ihi-accent,#5B3250)) !important;
    color: #fff !important;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    white-space: nowrap;
}
.ihi-irs-sticky-upsell-btn {
    background: transparent;
    border: 1.5px solid;
    border-radius: 6px;
    padding: 9px 16px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

/* ── Upsell modal redesign ─────────────────────────────────────────────── */
.ihi-irs-modal-upsell {
    max-width: 540px;
    padding: 0;
    overflow: hidden;
    border-radius: 14px;
}
.ihi-irs-modal-upsell #ihi-irs-modal-close {
    position: absolute;
    top: 12px; right: 14px;
    z-index: 10;
    background: rgba(255,255,255,.2);
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 30px; height: 30px;
    font-size: 18px;
    cursor: pointer;
    line-height: 30px;
    text-align: center;
}
.ihi-irs-modal-hero {
    background: linear-gradient(135deg, var(--ihi-modal-hero-bg1,#1a1a2e) 0%, var(--ihi-modal-hero-bg2,#16213e) 100%);
    color: #fff;
    padding: 32px 28px 24px;
    text-align: center;
}
.ihi-irs-modal-hero-icon {
    font-size: 36px;
    margin-bottom: 10px;
}
.ihi-irs-modal-hero-title {
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 8px;
    color: #fff;
}
.ihi-irs-modal-hero-sub {
    font-size: 14px;
    opacity: 0.85;
    margin: 0;
    line-height: 1.5;
}
.ihi-irs-modal-main-cta {
    padding: 24px 28px 20px;
    border-bottom: 1px solid #eee;
    position: relative;
}
.ihi-irs-modal-cta-label {
    display: inline-block;
    background: var(--ihi-modal-btn, #e63946);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 3px 10px;
    border-radius: 20px;
    margin-bottom: 10px;
}
.ihi-irs-modal-main-cta h3 {
    font-size: 18px;
    font-weight: 800;
    margin: 0 0 8px;
    color: #1a1a2e;
}
.ihi-irs-modal-main-cta p {
    font-size: 13px;
    color: #555;
    margin: 0 0 12px;
    line-height: 1.55;
}
.ihi-irs-modal-cta-features {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
.ihi-irs-modal-cta-features span {
    font-size: 12px;
    color: #2a9d8f;
    font-weight: 600;
}
.ihi-irs-modal-btn-primary {
    display: block;
    text-align: center;
    background: var(--ihi-modal-btn, #e63946);
    color: #fff !important;
    padding: 13px 24px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    transition: opacity 0.15s;
}
.ihi-irs-modal-btn-primary:hover { opacity: 0.9; }

.ihi-irs-modal-secondary-title {
    padding: 16px 28px 10px;
    font-size: 12px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.ihi-irs-modal-secondary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap: 10px;
    padding: 0 28px 24px;
}
.ihi-irs-modal-secondary-card {
    border: 1.5px solid #e5e7eb;
    border-radius: 8px;
    padding: 12px;
    text-align: center;
    text-decoration: none;
    transition: border-color 0.15s, box-shadow 0.15s;
    display: block;
}
.ihi-irs-modal-secondary-card:hover {
    border-color: #a0a0a0;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.ihi-irs-modal-secondary-name {
    font-size: 12px;
    font-weight: 600;
    color: #333;
    margin-bottom: 4px;
}
.ihi-irs-modal-secondary-price {
    font-size: 13px;
    font-weight: 700;
    color: var(--ihi-modal-btn, #e63946);
}

/* ── Risk explanation modal ────────────────────────────────────────────── */
.ihi-irs-explain-header {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 28px 28px 20px;
    border-bottom: 1px solid #eee;
}
.ihi-irs-explain-header.risk { background: #fff8f0; }
.ihi-irs-explain-icon {
    font-size: 32px;
    flex-shrink: 0;
}
.ihi-irs-explain-title {
    font-size: 20px;
    font-weight: 800;
    margin: 0 0 4px;
    color: #1a1a2e;
}
.ihi-irs-explain-status {
    display: inline-block;
    padding: 3px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    background: #d1fae5;
    color: #065f46;
}
.ihi-irs-explain-status.risk {
    background: #fff3cd;
    color: #856404;
}
.ihi-irs-explain-text {
    padding: 20px 28px 0;
    font-size: 14px;
    line-height: 1.65;
    color: #374151;
    margin: 0;
}
.ihi-irs-explain-result {
    margin: 16px 28px;
    padding: 12px 16px;
    background: #f9fafb;
    border-radius: 8px;
    font-size: 13px;
    color: #374151;
    border: 1px solid #e5e7eb;
}
.ihi-irs-explain-cta {
    margin: 0 28px 20px;
    padding: 16px;
    background: #fff8f0;
    border-radius: 8px;
    text-align: center;
}
.ihi-irs-explain-cta p {
    font-size: 13px;
    color: #555;
    margin: 0 0 10px;
}
.ihi-irs-explain-back {
    font-size: 13px;
    color: #888;
    text-decoration: none;
}
.ihi-irs-explain-back:hover { color: #444; }

/* ── Card icons ─────────────────────────────────────────────────────────── */
.ihi-irs-card-icon-emoji {
    display: block;
    font-size: 22px;
    margin-bottom: 4px;
    line-height: 1;
}
.ihi-irs-card-icon-img {
    display: block;
    width: 28px;
    height: 28px;
    object-fit: contain;
    margin-bottom: 4px;
}

/* ── Split layout — collapse to full width on results ───────────────────── */
.layout-split.results-active {
    grid-template-columns: 1fr !important;
}
.layout-split.results-active #ihi-irs-split-left {
    display: none;
}
.layout-split.results-active #ihi-irs-split-right {
    padding: 32px;
}

/* ══════════════════════════════════════════════════════
   DARK MODE
   ══════════════════════════════════════════════════════ */
.ihi-irs-wrap.ihi-dark {
    background: #1a1a2e;
    color: #e8e8e8;
    border-color: #2d2d4e;
}
.ihi-dark .ihi-irs-heading { color: #fff; }
.ihi-dark .ihi-irs-subheading { color: rgba(255,255,255,.7); }
.ihi-dark .ihi-irs-input {
    background: #16213e;
    border-color: #2d2d4e;
    color: #e8e8e8;
}
.ihi-dark .ihi-irs-input::placeholder { color: rgba(255,255,255,.35); }
.ihi-dark .ihi-irs-dropdown {
    background: #16213e;
    border-color: #2d2d4e;
    color: #e8e8e8;
}
.ihi-dark .ihi-irs-dropdown li:hover { background: #1e2d50; }
.ihi-dark .ihi-irs-card {
    background: #16213e !important;
    border-color: #2d2d4e !important;
    color: #e8e8e8 !important;
}
.ihi-dark .ihi-irs-card.risk {
    background: #2a1c0e !important;
    border-color: #7a4a10 !important;
}
.ihi-dark .ihi-irs-card-label { color: rgba(255,255,255,.6) !important; }
.ihi-dark .ihi-irs-card-value { color: #e8e8e8 !important; }
.ihi-dark .ihi-irs-progress-wrap { color: #e8e8e8; }
.ihi-dark .ihi-irs-results-header { color: #e8e8e8; }
.ihi-dark .ihi-irs-restart { color: rgba(255,255,255,.5); }
.ihi-dark .ihi-irs-cards-hint { color: rgba(255,255,255,.4); }
.ihi-dark .layout-split .ihi-irs-split-right { background: #16213e; }

/* ══════════════════════════════════════════════════════
   FLOATING LAUNCHER
   ══════════════════════════════════════════════════════ */
.ihi-irs-launcher {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 9998;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    border: none;
    border-radius: 50px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 4px 20px rgba(0,0,0,.25);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.ihi-irs-launcher:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(0,0,0,.3);
}
.ihi-irs-launcher.open { border-radius: 50%; width: 50px; height: 50px; padding: 0; justify-content: center; }
.ihi-irs-launcher.open .ihi-irs-launcher-label { display: none; }
.ihi-irs-launcher-icon { font-size: 18px; }
.ihi-irs-launcher-panel {
    position: fixed;
    bottom: 90px;
    right: 24px;
    z-index: 9997;
    width: 420px;
    max-width: calc(100vw - 48px);
    max-height: 80vh;
    overflow-y: auto;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 8px 40px rgba(0,0,0,.2);
    animation: ihi-panel-in 0.25s ease;
}
.ihi-irs-launcher-panel .ihi-irs-wrap {
    border: none;
    border-radius: 16px;
    max-width: 100% !important;
}
@keyframes ihi-panel-in {
    from { opacity: 0; transform: translateY(12px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* ══════════════════════════════════════════════════════
   PROGRESS COUNTER
   ══════════════════════════════════════════════════════ */
.ihi-irs-progress-pct {
    position: absolute;
    right: 0;
    top: -20px;
    font-size: 12px;
    font-weight: 700;
    color: var(--ihi-accent, #5B3250);
}
.ihi-irs-bar-track { position: relative; }

/* ── Dropdown header (address count) ──────────────────────────────────── */
.ihi-irs-dropdown-header {
    padding: 6px 14px 4px;
    font-size: 11px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    border-bottom: 1px solid #f0f0f0;
    background: #fafafa;
}

/* ── Modal PDF download link ─────────────────────────────────────────── */
.ihi-irs-modal-pdf-download {
    text-align: center;
    padding: 10px 0 4px;
    border-top: 1px solid #f0f0f0;
    margin-top: 12px;
}
.ihi-irs-modal-pdf-link {
    font-size: 13px;
    color: #888;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: color 0.15s;
}
.ihi-irs-modal-pdf-link:hover { color: #444; }

/* ══════════════════════════════════════════════════════
   RESULTS TWO-COLUMN LAYOUT
   ══════════════════════════════════════════════════════ */
.ihi-irs-results-cols {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 24px;
    align-items: start;
    margin-top: 8px;
}
@media (max-width: 680px) {
    .ihi-irs-results-cols { grid-template-columns: 1fr; }
    .ihi-irs-results-right { order: -1; }
}

/* ── CTA panel ──────────────────────────────────────── */
.ihi-irs-results-right {
    position: sticky;
    top: 20px;
}
.ihi-irs-cta-panel-inner {
    background: #fff;
    border: 1.5px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,.06);
}
.ihi-irs-cta-header {
    background: linear-gradient(135deg, var(--ihi-modal-hero-bg1,#1a1a2e) 0%, var(--ihi-modal-hero-bg2,#16213e) 100%);
    color: #fff;
    padding: 20px 18px 16px;
    text-align: center;
}
.ihi-irs-cta-icon {
    font-size: 28px;
    margin-bottom: 8px;
}
.ihi-irs-cta-header h3 {
    font-size: 16px;
    font-weight: 800;
    margin: 0 0 6px;
    color: #fff;
    line-height: 1.3;
}
.ihi-irs-cta-sub {
    font-size: 12px;
    opacity: 0.8;
    margin: 0;
    line-height: 1.5;
}
.ihi-irs-cta-download {
    padding: 14px 16px 10px;
    border-bottom: 1px solid #f0f0f0;
    text-align: center;
}
.ihi-irs-cta-download-btn {
    display: block;
    color: #fff !important;
    padding: 11px 16px;
    border-radius: 7px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    transition: opacity 0.15s;
    text-align: center;
}
.ihi-irs-cta-download-btn:hover { opacity: 0.88; }
.ihi-irs-cta-download-note {
    font-size: 11px;
    color: #aaa;
    margin: 6px 0 0;
}
.ihi-irs-cta-divider {
    text-align: center;
    padding: 10px 16px 4px;
    position: relative;
}
.ihi-irs-cta-divider span {
    font-size: 11px;
    color: #bbb;
    background: #fff;
    padding: 0 8px;
    position: relative;
    z-index: 1;
}
.ihi-irs-cta-divider::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 16px;
    right: 16px;
    height: 1px;
    background: #eee;
}
.ihi-irs-cta-full-report { padding: 0 16px 16px; }
.ihi-irs-cta-product { padding-top: 10px; }
.ihi-irs-cta-badge {
    display: inline-block;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    padding: 2px 8px;
    border-radius: 20px;
    margin-bottom: 6px;
}
.ihi-irs-cta-product-name {
    font-size: 14px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 4px;
    line-height: 1.3;
}
.ihi-irs-cta-product-desc {
    font-size: 12px;
    color: #666;
    line-height: 1.5;
    margin-bottom: 8px;
}
.ihi-irs-cta-features {
    margin-bottom: 10px;
}
.ihi-irs-cta-feature {
    font-size: 11px;
    color: #2a9d8f;
    font-weight: 600;
    margin-bottom: 2px;
}
.ihi-irs-cta-order-btn {
    display: block;
    text-align: center;
    color: #fff !important;
    padding: 11px 12px;
    border-radius: 7px;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none;
    transition: opacity 0.15s;
}
.ihi-irs-cta-order-btn:hover { opacity: 0.88; }
.ihi-irs-cta-secondary-title {
    font-size: 10px;
    font-weight: 700;
    color: #aaa;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    margin: 12px 0 6px;
}
.ihi-irs-cta-secondary-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}
.ihi-irs-cta-secondary-item {
    border: 1.5px solid #e5e7eb;
    border-radius: 6px;
    padding: 8px;
    text-align: center;
    text-decoration: none;
    transition: border-color 0.15s;
    display: block;
}
.ihi-irs-cta-secondary-item:hover { border-color: #aaa; }
.ihi-irs-cta-secondary-name {
    font-size: 11px;
    font-weight: 600;
    color: #333;
    line-height: 1.3;
}

/* ── CTA panel product image ──────────────────────────────────────────── */
.ihi-irs-cta-product-img-wrap {
    margin: 0 -16px 12px;
    overflow: hidden;
    max-height: 140px;
}
.ihi-irs-cta-product-img {
    width: 100%;
    height: 140px;
    object-fit: cover;
    display: block;
}
.ihi-irs-cta-product-price {
    font-size: 18px;
    font-weight: 800;
    color: #1a1a2e;
    margin: 2px 0 6px;
}
.ihi-irs-cta-secondary-img {
    width: 100%;
    height: 50px;
    object-fit: cover;
    border-radius: 4px;
    margin-bottom: 4px;
    display: block;
}
.ihi-irs-cta-secondary-price {
    font-size: 12px;
    font-weight: 700;
    color: var(--ihi-modal-btn, #e63946);
    margin-top: 2px;
}

/* ── Left column download button ────────────────────────────────────── */
.ihi-irs-left-download {
    margin-top: 16px;
    text-align: center;
}
.ihi-irs-left-download .ihi-irs-cta-download-btn {
    display: inline-block;
    width: auto;
    padding: 12px 28px;
    font-size: 15px;
}

/* ── Right panel — match height of left header ───────────────────────── */
.ihi-irs-results-cols {
    align-items: stretch; /* both columns same height */
}
.ihi-irs-results-right {
    position: sticky;
    top: 20px;
    align-self: flex-start;
}
.ihi-irs-cta-panel-inner {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.ihi-irs-cta-header {
    flex-shrink: 0;
}
.ihi-irs-cta-full-report {
    flex: 1;
    padding: 0 16px 16px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
