/* =====================================================================
   Irish Calculators - Result Hero System
   v3.7.7: professional light result cards with green accent numbers.
   Loads after calculator-specific CSS to protect shared result styling.
   ===================================================================== */

:is(.ic-holidaypay, .ic-vatcalc, .ic-overtimecalc, .ic-redundancycalc, .ic-payecalc, .ic-prsicalc, .ic-usccalc, .ic-mortgagecalc, .ic-stampdutycalc, .ic-hourlyannualcalc, .ic-annualhourlycalc, .ic-dayratecalc, .ic-loancalc, .ic-savingsgoalcalc, .ic-renttaxcreditcalc, .ic-helpbuycalc, .ic-firsthomecalc, .ic-cryptotaxcalc) .ic-result-primary:not(.ic-htb-result-danger):not(.ic-fhs-result-danger),
.ic-salarycalc .ic-sal-net-card {
    position: relative !important;
    overflow: hidden !important;
    min-height: 132px !important;
    padding: 22px 24px !important;
    margin: 0 0 14px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    text-align: center !important;
    border-radius: var(--ic-radius, 16px) !important;
    border: 1px solid color-mix(in srgb, var(--ic-border, #E2E8F0) 82%, #fff) !important;
    border-top: 4px solid var(--ic-primary, #17884e) !important;
    background:
        radial-gradient(circle at 50% -30%, color-mix(in srgb, var(--ic-primary, #17884e) 8%, transparent), transparent 48%),
        linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--ic-bg, #F8FAFC) 52%, #fff) 100%) !important;
    color: var(--ic-text, #0F172A) !important;
    box-shadow: 0 12px 34px rgba(15, 23, 42, .065) !important;
}

:is(.ic-holidaypay, .ic-vatcalc, .ic-overtimecalc, .ic-redundancycalc, .ic-payecalc, .ic-prsicalc, .ic-usccalc, .ic-mortgagecalc, .ic-stampdutycalc, .ic-hourlyannualcalc, .ic-annualhourlycalc, .ic-dayratecalc, .ic-loancalc, .ic-savingsgoalcalc, .ic-renttaxcreditcalc, .ic-helpbuycalc, .ic-firsthomecalc, .ic-cryptotaxcalc) .ic-result-primary:not(.ic-htb-result-danger):not(.ic-fhs-result-danger)::before,
.ic-salarycalc .ic-sal-net-card::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    width: 170px;
    height: 170px;
    transform: translate(-50%, -74%);
    border-radius: 999px;
    background: color-mix(in srgb, var(--ic-primary, #17884e) 8%, transparent);
    pointer-events: none;
}

:is(.ic-holidaypay, .ic-vatcalc, .ic-overtimecalc, .ic-redundancycalc, .ic-payecalc, .ic-prsicalc, .ic-usccalc, .ic-mortgagecalc, .ic-stampdutycalc, .ic-hourlyannualcalc, .ic-annualhourlycalc, .ic-dayratecalc, .ic-loancalc, .ic-savingsgoalcalc, .ic-renttaxcreditcalc, .ic-helpbuycalc, .ic-firsthomecalc, .ic-cryptotaxcalc) .ic-result-primary :is(.ic-result-label, .ic-result-primary-label, .ic-result-value, .ic-result-primary-value, .ic-result-primary-note),
.ic-salarycalc .ic-sal-net-card :is(.ic-sal-net-label, .ic-sal-net-value, .ic-sal-net-sub) {
    position: relative !important;
    z-index: 1 !important;
    margin: 0 !important;
    text-align: center !important;
}

:is(.ic-holidaypay, .ic-vatcalc, .ic-overtimecalc, .ic-redundancycalc, .ic-payecalc, .ic-prsicalc, .ic-usccalc, .ic-mortgagecalc, .ic-stampdutycalc, .ic-hourlyannualcalc, .ic-annualhourlycalc, .ic-dayratecalc, .ic-loancalc, .ic-savingsgoalcalc, .ic-renttaxcreditcalc, .ic-helpbuycalc, .ic-firsthomecalc, .ic-cryptotaxcalc) .ic-result-primary :is(.ic-result-label, .ic-result-primary-label),
.ic-salarycalc .ic-sal-net-label {
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    opacity: 1 !important;
    line-height: 1.2 !important;
    color: var(--ic-text-muted, #64748B) !important;
}

:is(.ic-holidaypay, .ic-vatcalc, .ic-overtimecalc, .ic-redundancycalc, .ic-payecalc, .ic-prsicalc, .ic-usccalc, .ic-mortgagecalc, .ic-stampdutycalc, .ic-hourlyannualcalc, .ic-annualhourlycalc, .ic-dayratecalc, .ic-loancalc, .ic-savingsgoalcalc, .ic-renttaxcreditcalc, .ic-helpbuycalc, .ic-firsthomecalc, .ic-cryptotaxcalc) .ic-result-primary :is(.ic-result-value, .ic-result-primary-value),
.ic-salarycalc .ic-sal-net-value {
    font-family: var(--ic-font-display) !important;
    font-size: clamp(28px, 3.4vw, 38px) !important;
    font-weight: 800 !important;
    letter-spacing: -.025em !important;
    line-height: 1.05 !important;
    color: var(--ic-primary, #17884e) !important;
    font-variant-numeric: tabular-nums !important;
    font-feature-settings: "tnum" 1, "lnum" 1 !important;
}

:is(.ic-holidaypay, .ic-vatcalc, .ic-overtimecalc, .ic-redundancycalc, .ic-payecalc, .ic-prsicalc, .ic-usccalc, .ic-mortgagecalc, .ic-stampdutycalc, .ic-hourlyannualcalc, .ic-annualhourlycalc, .ic-dayratecalc, .ic-loancalc, .ic-savingsgoalcalc, .ic-renttaxcreditcalc, .ic-helpbuycalc, .ic-firsthomecalc, .ic-cryptotaxcalc) .ic-result-primary .ic-result-primary-note,
.ic-salarycalc .ic-sal-net-sub {
    max-width: 680px !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    opacity: 1 !important;
    line-height: 1.5 !important;
    color: var(--ic-text-muted, #64748B) !important;
}

.ic-holidaypay .ic-result-primary-value span {
    font-size: 16px !important;
    font-weight: 600 !important;
    margin-left: 6px !important;
    opacity: .9 !important;
    color: var(--ic-primary, #17884e) !important;
}

/* Share result action: contextual, inside the result hero only after a result exists. */
:is(.ic-result-primary, .ic-sal-net-card, .ic-usc-exempt-state) > .ic-share-container {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 4 !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

:is(.ic-result-primary, .ic-sal-net-card, .ic-usc-exempt-state) > .ic-share-container.ic-share-container--hidden {
    display: none !important;
}

:is(.ic-result-primary, .ic-sal-net-card, .ic-usc-exempt-state) > .ic-share-container .ic-share-btn {
    min-height: 32px !important;
    padding: 6px 10px !important;
    gap: 6px !important;
    border-radius: 10px !important;
    border: 1px solid color-mix(in srgb, var(--ic-primary, #17884e) 12%, var(--ic-border, #E2E8F0)) !important;
    background: color-mix(in srgb, var(--ic-primary, #17884e) 4%, #fff) !important;
    box-shadow: none !important;
    color: var(--ic-primary, #17884e) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}

:is(.ic-result-primary, .ic-sal-net-card, .ic-usc-exempt-state) > .ic-share-container .ic-share-btn:hover,
:is(.ic-result-primary, .ic-sal-net-card, .ic-usc-exempt-state) > .ic-share-container .ic-share-btn:focus {
    border-color: color-mix(in srgb, var(--ic-primary, #17884e) 28%, var(--ic-border, #E2E8F0)) !important;
    background: color-mix(in srgb, var(--ic-primary, #17884e) 8%, #fff) !important;
    color: var(--ic-primary, #17884e) !important;
}

:is(.ic-result-primary, .ic-sal-net-card, .ic-usc-exempt-state) > .ic-share-container .ic-share-btn svg,
:is(.ic-result-primary, .ic-sal-net-card, .ic-usc-exempt-state) > .ic-share-container .ic-share-btn span {
    color: inherit !important;
    stroke: currentColor !important;
}

/* Keep deliberately red ineligible result states readable and urgent. */
:is(.ic-helpbuycalc, .ic-firsthomecalc) :is(.ic-htb-result-danger, .ic-fhs-result-danger) {
    position: relative !important;
}

:is(.ic-helpbuycalc, .ic-firsthomecalc) :is(.ic-htb-result-danger, .ic-fhs-result-danger) .ic-result-primary-label,
:is(.ic-helpbuycalc, .ic-firsthomecalc) :is(.ic-htb-result-danger, .ic-fhs-result-danger) .ic-result-primary-note {
    opacity: .9 !important;
    margin: 0 !important;
    line-height: 1.45 !important;
}

/* Numeric polish for rows/cards/tables across calculators. */
:is(.ic-holidaypay, .ic-vatcalc, .ic-overtimecalc, .ic-redundancycalc, .ic-payecalc, .ic-prsicalc, .ic-usccalc, .ic-mortgagecalc, .ic-stampdutycalc, .ic-hourlyannualcalc, .ic-annualhourlycalc, .ic-dayratecalc, .ic-loancalc, .ic-savingsgoalcalc, .ic-renttaxcreditcalc, .ic-helpbuycalc, .ic-firsthomecalc, .ic-salarycalc, .ic-cryptotaxcalc) :is(.ic-summary-value, .ic-breakdown-value, .ic-table-value, td, .ic-row-value, .ic-sal-bk-value, .ic-sal-rate-badge-value) {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1, "lnum" 1;
}

:is(.ic-holidaypay, .ic-vatcalc, .ic-overtimecalc, .ic-redundancycalc, .ic-payecalc, .ic-prsicalc, .ic-usccalc, .ic-mortgagecalc, .ic-stampdutycalc, .ic-hourlyannualcalc, .ic-annualhourlycalc, .ic-dayratecalc, .ic-loancalc, .ic-savingsgoalcalc, .ic-renttaxcreditcalc, .ic-helpbuycalc, .ic-firsthomecalc, .ic-salarycalc, .ic-cryptotaxcalc) :is(.ic-breakdown-row, .ic-table-row, tbody tr, .ic-sal-bk-row):not(.ic-sal-bk-row--header) {
    transition: background-color .16s ease;
}

:is(.ic-holidaypay, .ic-vatcalc, .ic-overtimecalc, .ic-redundancycalc, .ic-payecalc, .ic-prsicalc, .ic-usccalc, .ic-mortgagecalc, .ic-stampdutycalc, .ic-hourlyannualcalc, .ic-annualhourlycalc, .ic-dayratecalc, .ic-loancalc, .ic-savingsgoalcalc, .ic-renttaxcreditcalc, .ic-helpbuycalc, .ic-firsthomecalc, .ic-salarycalc, .ic-cryptotaxcalc) :is(.ic-breakdown-row, .ic-table-row, tbody tr, .ic-sal-bk-row):not(.ic-sal-bk-row--header):hover {
    background-color: color-mix(in srgb, var(--ic-primary, #17884e) 3%, #fff);
}

@media (max-width: 640px) {
    :is(.ic-holidaypay, .ic-vatcalc, .ic-overtimecalc, .ic-redundancycalc, .ic-payecalc, .ic-prsicalc, .ic-usccalc, .ic-mortgagecalc, .ic-stampdutycalc, .ic-hourlyannualcalc, .ic-annualhourlycalc, .ic-dayratecalc, .ic-loancalc, .ic-savingsgoalcalc, .ic-renttaxcreditcalc, .ic-helpbuycalc, .ic-firsthomecalc, .ic-cryptotaxcalc) .ic-result-primary:not(.ic-htb-result-danger):not(.ic-fhs-result-danger),
    .ic-salarycalc .ic-sal-net-card {
        min-height: 124px !important;
        padding: 22px 14px 18px !important;
    }

    :is(.ic-result-primary, .ic-sal-net-card, .ic-usc-exempt-state) > .ic-share-container {
        top: 8px !important;
        right: 8px !important;
    }

    :is(.ic-result-primary, .ic-sal-net-card, .ic-usc-exempt-state) > .ic-share-container .ic-share-btn {
        min-height: 30px !important;
        padding: 6px 8px !important;
        font-size: 11px !important;
    }
}

/* =====================================================================
   Split layout lock
   Fixes v3.8.1 double borders caused by sticky overflow/card-system rules.
   Loads late so per-calculator CSS cannot reintroduce zero-gap/double-border
   split panes accidentally.
   ===================================================================== */
@media (min-width: 701px) {
    :is(.ic-vatcalc, .ic-overtimecalc, .ic-redundancycalc, .ic-payecalc, .ic-prsicalc, .ic-renttaxcreditcalc, .ic-usccalc, .ic-helpbuycalc, .ic-firsthomecalc, .ic-loancalc, .ic-stampdutycalc, .ic-cryptotaxcalc) .ic-grid,
    :is(.ic-holidaypay, .ic-vatcalc, .ic-overtimecalc, .ic-usccalc, .ic-mortgagecalc, .ic-stampdutycalc, .ic-hourlyannualcalc, .ic-annualhourlycalc, .ic-dayratecalc, .ic-loancalc, .ic-savingsgoalcalc) .ic-calc-shell {
        gap: var(--ic-split-column-gap, 18px) !important;
        align-items: start !important;
        background: var(--ic-bg, #F8FAFC) !important;
    }

    :is(.ic-vatcalc, .ic-overtimecalc, .ic-redundancycalc, .ic-payecalc, .ic-prsicalc, .ic-renttaxcreditcalc, .ic-usccalc, .ic-helpbuycalc, .ic-firsthomecalc, .ic-loancalc, .ic-stampdutycalc, .ic-cryptotaxcalc) .ic-grid > :is(.ic-inputs, .ic-results),
    :is(.ic-holidaypay, .ic-vatcalc, .ic-overtimecalc, .ic-usccalc, .ic-mortgagecalc, .ic-stampdutycalc, .ic-hourlyannualcalc, .ic-annualhourlycalc, .ic-dayratecalc, .ic-loancalc, .ic-savingsgoalcalc) .ic-calc-shell > :is(.ic-calc-card, .ic-calc-results) {
        min-width: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    :is(.ic-vatcalc, .ic-overtimecalc, .ic-redundancycalc, .ic-payecalc, .ic-prsicalc, .ic-renttaxcreditcalc, .ic-usccalc, .ic-helpbuycalc, .ic-firsthomecalc, .ic-loancalc, .ic-stampdutycalc, .ic-cryptotaxcalc) .ic-grid > .ic-inputs,
    :is(.ic-holidaypay, .ic-vatcalc, .ic-overtimecalc, .ic-usccalc, .ic-mortgagecalc, .ic-stampdutycalc, .ic-hourlyannualcalc, .ic-annualhourlycalc, .ic-dayratecalc, .ic-loancalc, .ic-savingsgoalcalc) .ic-calc-shell > .ic-calc-card {
        border-right: 0 !important;
    }

    :is(.ic-vatcalc, .ic-overtimecalc, .ic-redundancycalc, .ic-payecalc, .ic-prsicalc, .ic-renttaxcreditcalc, .ic-usccalc, .ic-helpbuycalc, .ic-firsthomecalc, .ic-loancalc, .ic-stampdutycalc, .ic-cryptotaxcalc) .ic-grid > .ic-results,
    :is(.ic-holidaypay, .ic-vatcalc, .ic-overtimecalc, .ic-usccalc, .ic-mortgagecalc, .ic-stampdutycalc, .ic-hourlyannualcalc, .ic-annualhourlycalc, .ic-dayratecalc, .ic-loancalc, .ic-savingsgoalcalc) .ic-calc-shell > .ic-calc-results {
        border-left: 0 !important;
    }
}

@media (max-width: 700px) {
    :is(.ic-vatcalc, .ic-overtimecalc, .ic-redundancycalc, .ic-payecalc, .ic-prsicalc, .ic-renttaxcreditcalc, .ic-usccalc, .ic-helpbuycalc, .ic-firsthomecalc, .ic-loancalc, .ic-stampdutycalc, .ic-cryptotaxcalc) .ic-grid,
    :is(.ic-holidaypay, .ic-vatcalc, .ic-overtimecalc, .ic-usccalc, .ic-mortgagecalc, .ic-stampdutycalc, .ic-hourlyannualcalc, .ic-annualhourlycalc, .ic-dayratecalc, .ic-loancalc, .ic-savingsgoalcalc) .ic-calc-shell {
        gap: 0 !important;
    }

    :is(.ic-vatcalc, .ic-overtimecalc, .ic-redundancycalc, .ic-payecalc, .ic-prsicalc, .ic-renttaxcreditcalc, .ic-usccalc, .ic-helpbuycalc, .ic-firsthomecalc, .ic-loancalc, .ic-stampdutycalc, .ic-cryptotaxcalc) .ic-grid > .ic-results,
    :is(.ic-holidaypay, .ic-vatcalc, .ic-overtimecalc, .ic-usccalc, .ic-mortgagecalc, .ic-stampdutycalc, .ic-hourlyannualcalc, .ic-annualhourlycalc, .ic-dayratecalc, .ic-loancalc, .ic-savingsgoalcalc) .ic-calc-shell > .ic-calc-results {
        border-top: 1px solid var(--ic-border, #E2E8F0) !important;
    }
}
