.sim-app {
    --sim-primary: #009b7a;
    --sim-ink: #10231e;
    --sim-muted: #60716b;
    --sim-surface: #f1f7f4;
    color: var(--sim-ink);
    font-family: Inter, Arial, sans-serif;
    margin: 10px 0 40px;
}

.sim-results-anchor {
    scroll-margin-top: 24px;
    outline: none;
}
@media print {
    @page { margin:12mm; }
    a[href]::after,
    abbr[title]::after { content:none !important; }
    header,
    nav,
    footer,
    .sim-site-header,
    .sim-site-footer,
    .sim-frame-actions,
    .sim-triage-actions,
    .sim-hire-button,
    .no-print { display:none !important; }
    body,
    .sim-page,
    .sim-shell,
    .sim-frame,
    .sim-frame-shell {
        background:#fff !important;
        box-shadow:none !important;
        margin:0 !important;
        max-width:none !important;
        min-height:0 !important;
        padding:0 !important;
        width:100% !important;
    }
    .sim-offer-card { break-inside:avoid; }
}

.sim-app *,
.sim-app *::before,
.sim-app *::after {
    box-sizing: border-box;
}

.sim-hero {
    align-items: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(255, 255, 255, .18), transparent 26%),
        linear-gradient(125deg, #073f34 0%, var(--sim-primary) 100%);
    border-radius: 24px;
    box-shadow: 0 24px 70px rgba(5, 64, 52, .22);
    color: #fff;
    display: grid;
    gap: 34px;
    grid-template-columns: 1.3fr .7fr;
    min-height: 300px;
    overflow: hidden;
    padding: 46px 52px;
    position: relative;
}

.sim-hero::after {
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    content: "";
    height: 360px;
    position: absolute;
    right: -120px;
    top: -100px;
    width: 360px;
}

.sim-hero-copy {
    position: relative;
    z-index: 2;
}

.sim-eyebrow,
.sim-section-heading > div > span {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.sim-eyebrow {
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    display: inline-flex;
    padding: 8px 12px;
}

.sim-hero h1 {
    color: #fff;
    font-size: clamp(34px, 4vw, 56px);
    font-weight: 750;
    letter-spacing: -.045em;
    line-height: 1.02;
    margin: 22px 0 14px;
    max-width: 720px;
}

.sim-hero p {
    color: rgba(255, 255, 255, .82);
    font-size: 17px;
    line-height: 1.55;
    margin: 0;
    max-width: 620px;
}

.sim-hero-art {
    height: 190px;
    position: relative;
    z-index: 2;
}

.sim-hero-card {
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 20px;
    display: block;
    height: 160px;
    position: absolute;
    width: 260px;
}

.sim-hero-card-back {
    background: rgba(255, 255, 255, .12);
    right: -12px;
    top: 12px;
    transform: rotate(8deg);
}

.sim-hero-card-front {
    background: linear-gradient(145deg, rgba(255,255,255,.24), rgba(255,255,255,.08));
    box-shadow: 0 20px 50px rgba(0, 0, 0, .16);
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 22px;
    right: 16px;
    top: 0;
    transform: rotate(-3deg);
}

.sim-hero-card-front i {
    font-size: 28px;
    left: 22px;
    position: absolute;
    top: 22px;
}

.sim-hero-card-front strong {
    font-size: 20px;
}

.sim-hero-card-front small {
    color: rgba(255, 255, 255, .72);
    margin-top: 4px;
}

.sim-products {
    padding: 48px 0 26px;
}

.sim-section-heading {
    align-items: end;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    margin-bottom: 24px;
}

.sim-section-heading > div > span {
    color: var(--sim-primary);
}

.sim-section-heading h2 {
    color: var(--sim-ink);
    font-size: 30px;
    font-weight: 750;
    letter-spacing: -.03em;
    margin: 5px 0 0;
}

.sim-support-link,
.sim-frame-actions a {
    align-items: center;
    border: 1px solid #d5e3dd;
    border-radius: 12px;
    color: var(--sim-ink);
    display: inline-flex;
    font-weight: 700;
    gap: 8px;
    padding: 11px 15px;
    text-decoration: none;
}

.sim-support-link:hover,
.sim-frame-actions a:hover {
    border-color: var(--sim-primary);
    color: var(--sim-primary);
    text-decoration: none;
}

.sim-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sim-product-card {
    align-items: center;
    background: #fff;
    border: 1px solid #e3ebe7;
    border-radius: 18px;
    box-shadow: 0 8px 30px rgba(15, 49, 39, .06);
    color: var(--sim-ink);
    display: grid;
    gap: 14px;
    grid-template-columns: auto 1fr auto;
    min-height: 132px;
    padding: 22px;
    text-decoration: none;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.sim-product-card:hover {
    border-color: color-mix(in srgb, var(--product-color), white 45%);
    box-shadow: 0 18px 42px rgba(15, 49, 39, .12);
    color: var(--sim-ink);
    text-decoration: none;
    transform: translateY(-3px);
}

.sim-product-icon {
    align-items: center;
    background: #edf7f3;
    background: color-mix(in srgb, var(--product-color), white 86%);
    border-radius: 16px;
    color: var(--product-color);
    display: inline-flex;
    font-size: 25px;
    height: 58px;
    justify-content: center;
    width: 58px;
}
.sim-product-icon img { max-height:38px; max-width:46px; object-fit:contain; }

.sim-product-content strong,
.sim-product-content small {
    display: block;
}

.sim-product-content strong {
    font-size: 17px;
    margin-bottom: 7px;
}

.sim-product-content small {
    color: var(--sim-muted);
    font-size: 13px;
    line-height: 1.45;
}

.sim-product-arrow {
    color: var(--product-color);
    font-size: 14px;
    font-weight: 800;
}

.sim-product-card.is-unavailable {
    cursor: default;
    opacity: .65;
    pointer-events: none;
}

.sim-trust {
    background: var(--sim-surface);
    border-radius: 18px;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 16px;
    padding: 22px;
}

.sim-trust div {
    align-items: center;
    color: #40534c;
    display: flex;
    font-size: 13px;
    font-weight: 700;
    gap: 10px;
    justify-content: center;
}

.sim-trust i {
    color: var(--sim-primary);
}

.sim-empty {
    background: var(--sim-surface);
    border-radius: 18px;
    color: var(--sim-muted);
    padding: 40px;
    text-align: center;
}

.sim-empty i {
    color: var(--sim-primary);
    font-size: 28px;
}

.sim-category-header {
    background: linear-gradient(135deg, #eef8f4, #fff);
    border: 1px solid #dce9e4;
    border-radius: 22px;
    margin-bottom: 24px;
    padding: 34px;
}

.sim-category-header > span {
    color: var(--sim-primary);
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    margin-top: 22px;
    text-transform: uppercase;
}

.sim-category-header h1 {
    color: var(--sim-ink);
    font-size: 36px;
    font-weight: 750;
    letter-spacing: -.04em;
    margin: 6px 0;
}

.sim-category-header p {
    color: var(--sim-muted);
    margin: 0;
}

.sim-frame-page {
    margin-top: 8px;
}

.sim-calculator-layout { display:grid; gap:22px; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); }
.sim-calculator-card,.sim-result-card { background:#fff; border:1px solid #dfe9e4; border-radius:20px; box-shadow:0 12px 40px rgba(15,49,39,.07); padding:28px; }
.sim-calculator-card h2 { color:var(--sim-ink); font-size:25px; margin:0 0 7px; }
.sim-calculator-card > p { color:var(--sim-muted); margin:0 0 24px; }
.sim-result-card { align-items:center; background:linear-gradient(145deg,#073f34,var(--sim-primary)); color:#fff; display:flex; flex-direction:column; justify-content:center; min-height:350px; text-align:center; }
.sim-result-card > i { font-size:36px; margin-bottom:14px; }
.sim-result-card h3 { color:#fff; margin:0 0 8px; }
.sim-result-card p,.sim-result-card small { color:rgba(255,255,255,.75); }
.sim-result-card > span { font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.sim-result-card > strong { color:#fff; font-size:38px; margin:12px 0 0; }
.sim-result-card dl { margin:24px 0 0; width:100%; }
.sim-result-card dl div { border-top:1px solid rgba(255,255,255,.16); display:flex; justify-content:space-between; padding:12px 0; }
.sim-result-card dt,.sim-result-card dd { margin:0; }
.sim-alert { border-radius:10px; margin-bottom:18px; padding:12px 14px; }
.sim-alert-error { background:#fff1f0; color:#a62d24; }
.sim-alert-warning { background:#fff8db; border:1px solid #efd47a; color:#6b5312; }
.sim-offers { margin-top:28px; }
.sim-summary { align-items:center; background:#fff; border:1px solid #dfe9e4; border-radius:16px; display:flex; gap:18px; justify-content:space-between; margin:22px 0 14px; padding:18px; }
.sim-summary span,.sim-bank-strip > span { color:var(--sim-primary); display:block; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.sim-summary strong,.sim-summary small { display:block; }
.sim-summary small { color:var(--sim-muted); margin-top:4px; }
.sim-bank-strip { background:#f8fbfa; border:1px solid #dfe9e4; border-radius:16px; margin-bottom:22px; padding:18px; }
.sim-bank-strip-list { align-items:center; display:flex; flex-wrap:wrap; gap:10px; margin-top:10px; }
.sim-bank-chip,.sim-bank-more { align-items:center; background:#fff; border:1px solid #dce7e2; border-radius:999px; color:var(--sim-ink); display:inline-flex; font-weight:800; gap:8px; min-height:42px; padding:7px 13px; }
.sim-bank-chip img { height:28px; object-fit:contain; width:42px; }
.sim-bank-more { color:var(--sim-primary); cursor:pointer; }
.sim-bank-modal-list { display:grid; gap:10px; }
.sim-bank-modal-row { align-items:center; border:1px solid #e4ece8; border-radius:12px; display:flex; gap:12px; padding:10px; }
.sim-bank-modal-row img,.sim-bank-modal-row span { align-items:center; background:#f4f8f6; border-radius:10px; display:flex; height:44px; justify-content:center; object-fit:contain; padding:6px; width:62px; }
.sim-offers-heading { align-items:flex-end; display:flex; justify-content:space-between; margin-bottom:14px; }
.sim-offers-heading span { color:var(--sim-primary); font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.sim-offers-heading h2 { color:var(--sim-ink); margin:4px 0 0; }
.sim-offers-heading small { color:var(--sim-muted); }
.sim-offer-card { align-items:center; background:#fff; border:1px solid #dfe9e4; border-radius:18px; display:grid; gap:18px; grid-template-columns:minmax(210px,1fr) minmax(320px,1.2fr) auto; margin-bottom:14px; padding:22px; position:relative; }
.sim-offer-card.is-best { border:2px solid var(--sim-primary); box-shadow:0 12px 35px rgba(0,155,122,.12); padding-top:30px; }
.sim-offer-card.is-unavailable { background:#f7f8f8; grid-template-columns:minmax(210px,1fr) 1.5fr; opacity:.82; }
.sim-best-badge { background:var(--sim-primary); border-radius:0 0 9px 9px; color:#fff; font-size:11px; font-weight:800; left:22px; padding:5px 10px; position:absolute; top:0; text-transform:uppercase; }
.sim-offer-bank { align-items:center; display:flex; gap:14px; }
.sim-offer-bank img,.sim-offer-bank > span { align-items:center; background:#f4f8f6; border-radius:12px; display:flex; height:58px; justify-content:center; object-fit:contain; padding:7px; width:76px; }
.sim-offer-bank strong,.sim-offer-bank small { display:block; }
.sim-offer-bank strong { color:var(--sim-ink); font-size:18px; }
.sim-offer-bank small { color:var(--sim-muted); margin-top:3px; }
.sim-offer-values { display:grid; gap:14px; grid-template-columns:1.4fr 1fr .7fr; }
.sim-offer-values small,.sim-offer-values strong,.sim-offer-values b { display:block; }
.sim-offer-values small { color:var(--sim-muted); font-size:11px; text-transform:uppercase; }
.sim-offer-values strong { color:var(--sim-primary); font-size:23px; margin-top:3px; }
.sim-offer-values b { color:var(--sim-ink); font-size:16px; margin-top:6px; }
.sim-proposal-form-data { background:#f8fbfa; border:1px solid #e1ebe6; border-radius:14px; margin:20px 0; padding:18px; }
.sim-proposal-form-data h3 { color:var(--sim-ink); font-size:17px; margin:0 0 14px; }
.sim-proposal-data-grid { display:grid; gap:14px 22px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.sim-proposal-data-grid div { min-width:0; }
.sim-proposal-data-grid small,.sim-proposal-data-grid strong { display:block; }
.sim-proposal-data-grid small { color:var(--sim-muted); font-size:11px; text-transform:uppercase; }
.sim-proposal-data-grid strong { color:var(--sim-ink); margin-top:4px; overflow-wrap:anywhere; }
.sim-document-help { background:#eff8ff; border-left:3px solid #3b82f6; border-radius:8px; color:#334155; padding:10px 12px; }
.sim-module-local-nav { align-items:center; background:#fff; border:1px solid #dfe9e4; border-radius:14px; display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 24px; padding:10px; }
.sim-module-local-nav a { align-items:center; border-radius:9px; color:var(--sim-ink); display:inline-flex; font-weight:700; gap:7px; padding:9px 13px; }
.sim-module-local-nav a:hover,.sim-module-local-nav a.is-active { background:#edf8f3; color:var(--sim-primary); }
.sim-offer-actions { align-items:stretch; display:grid; gap:8px; min-width:190px; }
.sim-hire-button,.sim-whatsapp-button { border-radius:10px; font-weight:800; padding:11px 14px; text-align:center; white-space:nowrap; }
.sim-hire-button { background:var(--sim-primary); color:#fff!important; }
.sim-whatsapp-button { background:#e9fbf1; border:1px solid #bce9ce; color:#fff!important; }
.sim-offer-details { color:var(--sim-muted); font-size:12px; }
.sim-offer-details summary,.sim-unavailable-reason summary { color:var(--sim-primary); cursor:pointer; font-weight:800; }
.sim-result-disclaimer { background:#fff8e8; border:1px solid #f0dbad; border-radius:12px; color:#715416; margin:18px 0 0; padding:12px 14px; }
.sim-unavailable-group { background:#f6f8f8; border:1px solid #dfe9e4; border-radius:12px; margin-top:12px; padding:12px 14px; }
.sim-unavailable-group summary { color:var(--sim-primary); cursor:pointer; font-weight:800; }
.sim-term-note { color:#805d00; font-size:12px; grid-column:1/-1; margin:0; }
.sim-unavailable-reason strong { color:#6e3333; }
.sim-unavailable-reason p { color:var(--sim-muted); margin:5px 0 0; }
.sim-contract-success { background:#fff; border:1px solid #cfe9df; border-radius:20px; padding:50px 28px; text-align:center; }
.sim-contract-success > i { color:var(--sim-primary); font-size:50px; }
.sim-contract-success h2 { color:var(--sim-ink); }
.sim-contract-success strong { color:var(--sim-primary); font-size:20px; }
.sim-lgpd label { align-items:center; display:flex; font-weight:500; gap:10px; }
.sim-lgpd input { min-height:auto; width:auto; }
.sim-lgpd input,.sim-consent input{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important}
.sim-lgpd-consent{align-items:center;display:flex;gap:12px}
.sim-lgpd-consent-text{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px}.sim-lgpd-consent label{display:block;margin:0}
.sim-lgpd-link{background:none!important;border:0!important;color:var(--sim-primary)!important;display:inline!important;font:inherit!important;font-weight:800!important;min-height:0!important;padding:0!important;text-decoration:underline}
.sim-triage-form form[data-form-wizard]{--form-accent:#2563eb;--form-accent-soft:#eff6ff}
.sim-form-wizard-progress{background:#f8fafc;border:1px solid #dbe4ee;border-left:4px solid var(--form-accent);border-radius:9px;margin:0 0 24px;padding:14px 16px}.sim-form-wizard-progress div{height:7px;background:#e5e7eb;border-radius:10px;overflow:hidden}.sim-form-wizard-progress span{display:block;height:100%;background:var(--form-accent);transition:.2s}.sim-form-wizard-progress strong{display:block;margin-top:9px;font-size:12px}.sim-form-wizard-progress p{color:var(--sim-ink);font-size:17px;font-weight:800;margin:3px 0 0}.sim-form-wizard-navigation{display:inline-flex;gap:8px;margin:16px 8px 0 0}.sim-form-wizard-navigation .btn-primary{background:#1e3a5f!important;border-color:#1e3a5f!important;color:#fff!important}
.sim-contract-documents{border-top:1px solid #e2e8f0;margin-top:22px;padding-top:20px}
.sim-lgpd-modal[hidden]{display:none!important}
.sim-lgpd-modal{align-items:center;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:10050}
.sim-lgpd-modal-backdrop{background:rgba(15,23,42,.68);inset:0;position:absolute}
.sim-lgpd-modal-card{background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(15,23,42,.3);display:flex;flex-direction:column;max-height:min(82vh,760px);max-width:780px;overflow:hidden;position:relative;width:100%}
.sim-lgpd-modal-header,.sim-lgpd-modal-footer{align-items:center;display:flex;justify-content:space-between;padding:18px 22px}
.sim-lgpd-modal-header{border-bottom:1px solid #e2e8f0}.sim-lgpd-modal-header h2{margin:2px 0 0}.sim-lgpd-modal-header small{color:var(--sim-muted)}
.sim-lgpd-modal-body{color:#334155;line-height:1.65;overflow:auto;padding:22px}.sim-lgpd-modal-body h1,.sim-lgpd-modal-body h2,.sim-lgpd-modal-body h3{color:var(--sim-ink)}
.sim-lgpd-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;color:var(--sim-muted);font-size:12px}
.sim-lgpd-modal-footer button{background:var(--sim-primary);border:0;border-radius:9px;color:#fff;font-weight:800;padding:9px 16px}
.sim-lgpd-modal-close{background:none;border:0;color:#64748b;font-size:30px;line-height:1;padding:4px 8px}
.sim-lgpd-modal-open{overflow:hidden}
.sim-form-wizard-progress h3{color:var(--sim-ink);font-size:18px;margin:4px 0 14px}
.sim-wizard-step-list{display:grid;gap:7px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}
.sim-wizard-step-list button{background:#eef2f7;border:0;border-radius:8px;color:#475569;font-weight:750;min-height:46px;padding:9px 10px;text-align:left}
.sim-wizard-step-list button[aria-current="step"]{background:var(--form-accent-soft);box-shadow:inset 0 0 0 1px #bfdbfe;color:#1d4ed8}
.sim-wizard-step-list button:disabled:not([aria-current="step"]){cursor:not-allowed;opacity:.58}
.sim-wizard-error{background:#fff1f2;border-left:4px solid #e11d48;color:#9f1239;font-weight:700;margin:-10px 0 18px;padding:12px 14px}
.sim-wizard-offer{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}
.sim-wizard-offer>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:15px}
.sim-wizard-offer small,.sim-wizard-offer strong{display:block}.sim-wizard-offer strong{color:var(--sim-ink);margin-top:5px}
.sim-wizard-offer .sim-wizard-offer-confirm{align-items:center;background:var(--form-accent-soft);border-color:#bfdbfe;display:flex;grid-column:1/-1}
.sim-wizard-offer-confirm label{align-items:center;display:flex;font-weight:750;gap:10px;margin:0}
.sim-wizard-offer-confirm input{height:20px!important;min-height:20px!important;min-width:20px!important;width:20px!important}
.sim-profile-collection{min-width:0}.sim-collection-heading{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:14px}
.sim-collection-heading h3{color:var(--sim-ink);margin:0 0 4px}.sim-collection-heading p{color:var(--sim-muted);margin:0}
.sim-collection-heading>button{background:#1e3a5f;border:0;border-radius:8px;color:#fff;font-weight:800;padding:10px 14px}
.sim-profile-card{background:#fff;border:1px solid #dbe4ee;border-radius:13px;margin-bottom:12px;overflow:hidden}
.sim-profile-card summary{align-items:center;cursor:pointer;display:flex;gap:14px;justify-content:space-between;padding:15px}
.sim-profile-card summary>span:first-child strong,.sim-profile-card summary>span:first-child small{display:block}
.sim-profile-card summary>span:first-child small{color:var(--sim-muted);margin-top:3px}
.sim-profile-card[open] summary{background:#f8fafc;border-bottom:1px solid #e2e8f0}
.sim-profile-card>.sim-triage-grid{padding:16px}
.sim-bank-data{background:#f8fafc;border-color:#dbe4ee}
.sim-bank-account-row{display:grid;grid-template-columns:4fr 2fr 4fr 2fr;gap:12px;margin-top:16px}
.sim-bank-account-row label{color:#334155;display:block;font-weight:700;margin-bottom:6px}
.sim-bank-account-row input{width:100%}
.sim-card-actions{align-items:center;display:flex;gap:10px}.sim-card-actions label{align-items:center;display:flex;font-size:12px;gap:6px;margin:0}
.sim-card-actions input{height:18px!important;min-height:18px!important;min-width:18px!important;width:18px!important}
.sim-card-actions button{background:none;border:0;color:#b91c1c;font-weight:750;padding:6px}
.sim-triage-form form[data-form-wizard] [data-form-step][hidden]{display:none!important}
.sim-triage-form form[data-form-wizard] .sim-field-invalid{border-color:#dc2626!important;box-shadow:0 0 0 2px rgba(220,38,38,.12)!important}
.sim-wizard-review{border-top:1px solid #e2e8f0;margin-top:18px;padding-top:18px}.sim-wizard-review h3{margin-top:0}
.sim-wizard-review-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.sim-wizard-review-grid>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:13px}
.sim-wizard-review-grid small,.sim-wizard-review-grid strong{display:block}.sim-wizard-review-grid strong{margin-top:4px}
@media(max-width:850px){.sim-wizard-step-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sim-wizard-offer{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.sim-wizard-step-list,.sim-wizard-offer,.sim-wizard-review-grid{grid-template-columns:1fr}.sim-collection-heading,.sim-profile-card summary,.sim-card-actions{align-items:flex-start;flex-direction:column}.sim-collection-heading>button{width:100%}.sim-bank-account-row{grid-template-columns:2fr 1fr}}

.sim-triage-form {
    background: #fff;
    border: 1px solid #dbe4ee;
    border-radius: 12px;
    box-shadow: 0 12px 36px rgba(30,58,95,.08);
    padding: 28px;
    text-align: left;
}

.sim-triage-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sim-triage-field.is-wide { grid-column: 1 / -1; }
.sim-triage-field label { display:block; font-weight:750; margin-bottom:8px; }
.sim-triage-field input,
.sim-triage-field select,
.sim-triage-field textarea {
    background:#fff; border:1px solid #cbd5e1; border-radius:8px; min-height:50px;
    padding:11px 13px; width:100%;
}
.sim-triage-field { min-width:0; text-align:left; }
.sim-triage-field input,
.sim-triage-field select,
.sim-triage-field textarea {
    display:block !important;
    box-sizing:border-box !important;
    height:50px;
    min-width:100% !important;
    max-width:none !important;
    text-align:left !important;
    width:100% !important;
}
.sim-triage-field textarea { min-height:110px; resize:vertical; }
.sim-triage-field small { color:var(--sim-muted); display:block; margin-top:6px; }
/* HF24: o select invisível do bootstrap-select não pode herdar a largura
   dos campos visíveis e invadir o controle vizinho. Mantém validação nativa. */
.sim-app .bootstrap-select > select:not(.mobile-device) {
    width:.5px !important;
    min-width:0 !important;
    max-width:.5px !important;
    padding:0 !important;
    border:0 !important;
    pointer-events:none !important;
}
/* No modo nativo móvel o select continua clicável, sobre seu próprio botão. */
.sim-app .bootstrap-select > select.mobile-device {
    left:0 !important;
    top:0 !important;
    bottom:auto !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:100% !important;
    min-height:0 !important;
    padding:0 !important;
}
.sim-triage-actions {
    align-items:center;
    display:flex;
    justify-content:flex-start;
    margin-top:24px;
    text-align:left;
}
.sim-triage-actions button {
    background:#1e3a5f; border:0; border-radius:8px; color:#fff;
    font-weight:800; padding:13px 20px;
}

.sim-frame-header {
    align-items: center;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    margin-bottom: 18px;
}

.sim-frame-header h1 {
    color: var(--sim-ink);
    font-size: 28px;
    font-weight: 750;
    margin: 8px 0 3px;
}

.sim-frame-header p {
    color: var(--sim-muted);
    margin: 0;
}

.sim-back-link {
    color: var(--sim-primary);
    font-size: 13px;
    font-weight: 800;
}

.sim-back-link i {
    margin-right: 6px;
}

.sim-frame-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.sim-frame-shell {
    background: #fff;
    border: 1px solid #dce7e2;
    border-radius: 18px;
    box-shadow: 0 14px 45px rgba(15, 49, 39, .09);
    min-height: 720px;
    overflow: hidden;
    position: relative;
}

.sim-frame {
    border: 0;
    display: block;
    min-height: 720px;
    width: 100%;
}

.sim-frame-loader {
    align-items: center;
    background: #f7faf8;
    display: flex;
    flex-direction: column;
    inset: 0;
    justify-content: center;
    position: absolute;
    z-index: 2;
}

.sim-frame-loader span {
    animation: sim-spin .8s linear infinite;
    border: 3px solid #d9e8e2;
    border-radius: 50%;
    border-top-color: var(--sim-primary);
    height: 38px;
    width: 38px;
}

.sim-frame-loader p {
    color: var(--sim-muted);
    margin-top: 12px;
}

.sim-frame-shell.is-loaded .sim-frame-loader {
    display: none;
}

@keyframes sim-spin {
    to { transform: rotate(360deg); }
}

@media (max-width: 991px) {
    .sim-hero {
        grid-template-columns: 1fr;
        padding: 38px;
    }

    .sim-hero-art {
        display: none;
    }

    .sim-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .sim-hero {
        border-radius: 18px;
        min-height: 0;
        padding: 30px 24px;
    }

    .sim-hero h1 {
        font-size: 35px;
    }

    .sim-section-heading,
    .sim-frame-header {
        align-items: stretch;
        flex-direction: column;
    }

    .sim-grid,
    .sim-trust {
        grid-template-columns: 1fr;
    }

    .sim-support-link {
        justify-content: center;
    }

    .sim-frame-actions {
        justify-content: flex-start;
    }

    .sim-frame-actions a {
        flex: 1;
        justify-content: center;
    }

    .sim-frame-shell,
    .sim-frame {
        min-height: 820px;
    }

    .sim-triage-grid { grid-template-columns:1fr; }
    .sim-triage-field.is-wide { grid-column:auto; }
    .sim-calculator-layout { grid-template-columns:1fr; }
    .sim-offers-heading { align-items:flex-start; flex-direction:column; gap:5px; }
    .sim-proposal-data-grid { grid-template-columns:1fr; }
    .sim-module-local-nav { align-items:stretch; flex-direction:column; }
    .sim-module-local-nav a { justify-content:flex-start; width:100%; }
    .sim-offer-card,.sim-offer-card.is-unavailable { grid-template-columns:1fr; }
    .sim-offer-values { grid-template-columns:1.4fr 1fr .7fr; }
    .sim-hire-button { text-align:center; }
}
.sim-residence-declaration-r251 {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 12px 0;
    padding: 12px;
    border: 1px solid #d7e3e1;
    border-left: 5px solid #d99a17;
    border-radius: 9px;
    background: #fffaf0;
}
.sim-residence-declaration-r251.answered { border-left-color: #0f7771; background: #f0f8f6; }
.sim-residence-declaration-r251 > i { color: #0f7771; font-size: 22px; }
.sim-residence-declaration-r251 > div { display: grid; flex: 1; min-width: 0; gap: 3px; }
.sim-residence-declaration-r251 span { color: #63777a; font-size: 12px; }
@media (max-width: 640px) {
    .sim-residence-declaration-r251 { align-items: flex-start; flex-wrap: wrap; }
    .sim-residence-declaration-r251 .btn { width: 100%; }
}

.sim-app a.sim-whatsapp-button,.sim-app a.sim-whatsapp-button:hover,.sim-app a.sim-whatsapp-button:focus,.sim-app a.sim-whatsapp-button:visited,.sim-app a.sim-whatsapp-button i{color:#fff!important}
