@import "../fonts/circular/circular.css";

@font-face {
    font-family: "MuseoSans";
    src: url("../simulador/empresarial/MuseoSans-300.woff") format("woff");
    font-weight: 300;
    font-display: swap;
}
@font-face {
    font-family: "MuseoSans";
    src: url("../simulador/empresarial/MuseoSans-500.woff") format("woff");
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: "MuseoSans";
    src: url("../simulador/empresarial/MuseoSans-700.woff") format("woff");
    font-weight: 700;
    font-display: swap;
}

:root {
    --emp-green: #006d4e;
    --emp-mint: #4ed176;
    --emp-ink: #40516f;
}

* { box-sizing: border-box; }
body {
    margin: 0;
    min-height: 100vh;
    font-family: "Circular", Arial, sans-serif;
    color: #4f4f4f;
    background: #006d4e;
}
body::before,
body::after {
    content: "";
    position: fixed;
    width: 18rem;
    height: 18rem;
    border-radius: 9999px;
    background: #4ed176;
    z-index: 0;
    pointer-events: none;
}
body::before { top: -5rem; left: -5rem; }
body::after { right: -5rem; bottom: -11rem; }
main { width: min(1024px, calc(100% - 80px)); margin: 40px auto; position: relative; z-index: 1; }
a { color: var(--emp-green); }
.emp-card {
    background: #fff;
    border-radius: 8px;
    padding: 40px 56px;
    box-shadow: none;
}
.emp-heading { display: flex; gap: 24px; align-items: center; }
.emp-heading img { height: 55px; max-height: 55px; width: auto; }
h1 { margin: 0 0 8px; color: var(--emp-green); font-size: 1.875rem; font-weight: 700; }
h2 { color: var(--emp-green); }
.emp-progress { display: none; }
#emp-progress-bar { width: 0; height: 100%; background: var(--emp-mint); transition: width 0.25s ease; }
.emp-grid { display: grid; grid-template-columns: 283px 1fr; gap: 32px; align-items: stretch; }
.emp-aside, .emp-grid > div { border: 2px solid #006d4e; border-radius: 16px; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1); padding: 24px 24px 12px; min-height: 313px; }
.emp-aside { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.emp-aside img { display: block; width: 231px; height: 193px; object-fit: cover; border-radius: 16px 16px 0 0; }
.emp-grid > div { display: flex; flex-direction: column; justify-content: center; }
.emp-aside p { margin: 8px 0 0; padding: 0; }
.emp-hint { padding: 0 16px 16px; }
.emp-question { margin: 0 0 16px; font-size: 1.25rem; font-weight: 700; color: #006d4e; }
.emp-hint { color: #6b7280; font-size: 0.92rem; }
label { display: block; margin-bottom: 8px; font-weight: 400; font-size: 18px; color: #4f4f4f; }
input, select {
    display: block;
    width: 100%;
    margin-top: 6px;
    padding: 10px 12px;
    border: 1px solid #d5dde8;
    border-radius: 8px;
    font: inherit;
}
.emp-choice { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 4px; cursor: pointer; }
.emp-choice input { width: auto; margin-top: 4px; }
.emp-nav { display: flex; justify-content: flex-end; gap: 12px; margin-top: 24px; }
.emp-btn {
    border: 0;
    border-radius: 6px;
    padding: 4px 12px;
    font: inherit;
    font-weight: 400;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
}
.emp-btn-primary { background: var(--emp-mint); color: #fff; }
.emp-btn-ghost { background: #e7eee9; color: var(--emp-green); }
.emp-error { color: #b42318; font-weight: 700; }
.emp-bands { width: 100%; border-collapse: collapse; margin: 20px 0; }
.emp-bands th, .emp-bands td { padding: 10px; text-align: center; }
.emp-bands th { color: var(--emp-green); }
.emp-bands tr:nth-child(odd) td { background: var(--emp-mint); color: #063; }
.emp-offers { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 16px 0 24px; }
.emp-offer { border: 1px solid #e3eee8; border-radius: 16px; padding: 16px; }
.emp-offer img { max-height: 42px; width: auto; }
dt { font-size: 0.85rem; color: #6b7280; }
dd { margin: 0 0 8px; font-weight: 700; }
.emp-notice, .emp-cierre { text-align: center; }
.emp-footer { text-align: center; background: #f1f2f7; width: min(1024px, calc(100% - 80px)); margin: 40px auto 0; padding-top: 20px; border-radius: 8px; position: relative; z-index: 1; }
.emp-copy { background: var(--emp-green); color: #fff; padding: 8px; }
@media (max-width: 800px) {
    .emp-heading, .emp-grid, .emp-offers { display: block; }
    .emp-aside, .emp-offer { margin-bottom: 16px; }
}
