/* Scoped Recruitment Pricing Calculator */
.rpc-section {
    --rpc-navy: #08293c;
    --rpc-coral: #f36f5f;
    --rpc-cream: #f7f3ec;
    --rpc-ink: #163441;
    --rpc-muted: #687a82;
    --rpc-line: #dce5e8;
    --rpc-whatsapp: #1faa5b;
    padding: 72px 0;
    background: linear-gradient(180deg, #fff 0%, var(--rpc-cream) 42%, #fff 100%);
    color: var(--rpc-ink);
    font-family: "DM Sans", sans-serif;
}

.rpc-wrap {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.rpc-section--embed {
    padding: 22px 0 8px;
    background: transparent;
}

.rpc-section--embed .rpc-wrap {
    width: 100%;
    margin: 0;
}

.rpc-section--embed .rpc-shell {
    padding: 22px 18px;
    border-radius: 20px;
    box-shadow: 0 12px 28px rgba(8, 41, 60, 0.08);
}

.rpc-section--embed .rpc-intro h2 {
    font-size: clamp(24px, 2.6vw, 32px);
}

.rpc-section--embed .rpc-lead {
    margin-bottom: 18px;
    font-size: 15px;
}

.rpc-section--embed .rpc-tiers {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-top: 18px;
}

.reaphr-market-services__service-group--dark .rpc-section--embed .rpc-shell {
    background: #fff;
}

.rpc-shell {
    background: #fff;
    border: 1px solid var(--rpc-line);
    border-radius: 28px;
    padding: 32px 28px;
    box-shadow: 0 18px 48px rgba(8, 41, 60, 0.08);
}

.rpc-kicker {
    margin: 0 0 8px;
    color: var(--rpc-coral);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.rpc-intro h2 {
    margin: 0 0 12px;
    font-family: Manrope, "DM Sans", sans-serif;
    font-size: clamp(28px, 3.2vw, 40px);
    line-height: 1.15;
    color: var(--rpc-navy);
}

.rpc-lead {
    margin: 0 0 28px;
    max-width: 720px;
    color: var(--rpc-muted);
    font-size: 16px;
    line-height: 1.65;
}

.rpc-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.rpc-form-panel,
.rpc-results-panel,
.rpc-placeholder {
    border: 1px solid var(--rpc-line);
    border-radius: 20px;
    background: #fff;
}

.rpc-form-panel { padding: 22px; }
.rpc-results-panel { padding: 0; }
.rpc-placeholder {
    padding: 28px 22px;
    background: var(--rpc-cream);
    color: var(--rpc-muted);
    font-size: 15px;
    line-height: 1.65;
}

.rpc-field { margin-bottom: 16px; }
.rpc-field label {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 700;
    color: var(--rpc-navy);
}

.rpc-field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.rpc-input {
    width: 100%;
    border: 1px solid var(--rpc-line);
    border-radius: 12px;
    padding: 12px 14px;
    font-size: 15px;
    color: var(--rpc-ink);
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.rpc-input:focus {
    outline: none;
    border-color: var(--rpc-coral);
    box-shadow: 0 0 0 3px rgba(243, 111, 95, 0.18);
}

.rpc-input-locked {
    background: #f4f7f8;
    color: var(--rpc-muted);
    cursor: default;
}

.rpc-combobox { position: relative; }

.rpc-role-list {
    position: absolute;
    z-index: 20;
    left: 0;
    right: 0;
    top: calc(100% + 4px);
    max-height: 240px;
    overflow: auto;
    margin: 0;
    padding: 6px;
    list-style: none;
    background: #fff;
    border: 1px solid var(--rpc-line);
    border-radius: 12px;
    box-shadow: 0 14px 30px rgba(8, 41, 60, 0.12);
}

.rpc-role-list li {
    padding: 10px 12px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    color: var(--rpc-navy);
}

.rpc-role-list li[aria-selected="true"],
.rpc-role-list li:hover {
    background: #fff0ed;
    color: var(--rpc-coral);
}

.rpc-field-error {
    margin: 6px 0 0;
    color: #c0392b;
    font-size: 12px;
}

.rpc-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
}

.rpc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 11px 18px;
    border-radius: 999px;
    border: 0;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease, color .2s ease;
}

.rpc-btn-primary {
    background: var(--rpc-navy);
    color: #fff;
}
.rpc-btn-primary:hover { background: var(--rpc-coral); color: #fff; }

.rpc-btn-secondary {
    background: #fff;
    color: var(--rpc-navy);
    border: 1px solid var(--rpc-line);
}
.rpc-btn-secondary:hover { border-color: var(--rpc-coral); color: var(--rpc-coral); }

.rpc-btn-whatsapp {
    background: var(--rpc-whatsapp);
    color: #fff;
}
.rpc-btn-whatsapp:hover { filter: brightness(0.95); color: #fff; }

.rpc-custom-link-wrap { margin: 16px 0 0; }
.rpc-custom-link {
    color: var(--rpc-coral);
    font-weight: 700;
    font-size: 14px;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.rpc-form-status {
    margin: 12px 0 0;
    padding: 10px 12px;
    border-radius: 10px;
    background: #fff0ed;
    color: var(--rpc-navy);
    font-size: 13px;
}

.rpc-results-inner { padding: 22px; }
.rpc-result-group + .rpc-result-group {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid var(--rpc-line);
}

.rpc-result-group h3 {
    margin: 0 0 12px;
    font-family: Manrope, "DM Sans", sans-serif;
    font-size: 18px;
    color: var(--rpc-navy);
}

.rpc-dl {
    margin: 0;
    display: grid;
    gap: 10px;
}

.rpc-dl > div {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 10px;
    align-items: start;
}

.rpc-dl dt {
    margin: 0;
    color: var(--rpc-muted);
    font-size: 13px;
    font-weight: 600;
}

.rpc-dl dd {
    margin: 0;
    text-align: right;
    color: var(--rpc-navy);
    font-size: 14px;
    font-weight: 700;
}

.rpc-total {
    margin-top: 16px;
    padding: 16px 18px;
    border-radius: 14px;
    background: var(--rpc-navy);
    color: #fff;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
}

.rpc-total strong {
    font-family: Manrope, "DM Sans", sans-serif;
    font-size: 22px;
}

.rpc-min-notice {
    margin: 10px 0 0;
    color: var(--rpc-coral);
    font-size: 13px;
    font-weight: 700;
}

.rpc-note {
    margin: 12px 0 0;
    color: var(--rpc-ink);
    font-size: 13px;
    line-height: 1.6;
}

.rpc-note-muted { color: var(--rpc-muted); }

.rpc-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.rpc-tiers {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-top: 28px;
}

.rpc-tier-card {
    border: 1px solid var(--rpc-line);
    border-radius: 16px;
    padding: 16px 14px;
    background: var(--rpc-cream);
}

.rpc-tier-card h3 {
    margin: 0 0 8px;
    font-family: Manrope, "DM Sans", sans-serif;
    font-size: 14px;
    line-height: 1.35;
    color: var(--rpc-navy);
}

.rpc-tier-rate {
    margin: 0 0 8px;
    color: var(--rpc-coral);
    font-family: Manrope, "DM Sans", sans-serif;
    font-size: 22px;
    font-weight: 800;
}

.rpc-tier-card p {
    margin: 0;
    color: var(--rpc-muted);
    font-size: 12px;
    line-height: 1.55;
}

.rpc-campaign-note {
    margin: 22px 0 0;
    text-align: center;
    color: var(--rpc-ink);
    font-size: 15px;
}

.rpc-campaign-note a {
    color: var(--rpc-coral);
    font-weight: 700;
}

.rpc-disclaimer {
    margin: 16px 0 0;
    padding: 14px 16px;
    border-radius: 12px;
    background: #f4f7f8;
    color: var(--rpc-muted);
    font-size: 13px;
    line-height: 1.6;
}

.rpc-btn[disabled] {
    opacity: 0.65;
    cursor: wait;
}

@media (max-width: 1100px) {
    .rpc-tiers,
    .rpc-section--embed .rpc-tiers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .rpc-layout { grid-template-columns: 1fr; }
    .rpc-placeholder { order: 3; }
    .rpc-results-panel { order: 2; }
}

@media (max-width: 620px) {
    .rpc-section { padding: 52px 0; }
    .rpc-shell { padding: 20px 16px; border-radius: 22px; }
    .rpc-field-row { grid-template-columns: 1fr; }
    .rpc-actions .rpc-btn,
    .rpc-cta-row .rpc-btn { width: 100%; }
    .rpc-dl > div { grid-template-columns: 1fr; }
    .rpc-dl dd { text-align: left; }
    .rpc-total { flex-direction: column; align-items: flex-start; }
    .rpc-tiers { grid-template-columns: 1fr; }
}
