/**
 * Public Styles
 */
.idcc-calculator-wrapper {
    font-family: "Cairo", sans-serif;
    isolation: isolate;
    direction: rtl;
}

.idcc-calculator-wrapper,
.idcc-calculator-wrapper * {
    box-sizing: border-box;
}

/* Prevent theme/plugin global typography and control styles from bleeding in */
.idcc-calculator-wrapper :where(h1, h2, h3, h4, h5, h6, p, ul, ol, li) {
    margin: 0;
    padding: 0;
}

.idcc-calculator-wrapper :where(ul, ol) {
    list-style: none;
}

.idcc-calculator-wrapper :where(a) {
    color: inherit;
    text-decoration: none;
}

.idcc-calculator-wrapper :where(button, input, select, textarea) {
    font: inherit;
    color: inherit;
    letter-spacing: normal;
    text-transform: none;
    background-clip: padding-box;
}

.idcc-calculator-wrapper :where(button) {
    border: 0;
    cursor: pointer;
}

.idcc-calculator-wrapper :where(input, select, textarea, button):focus {
    outline: none;
}

/*
 * Button hard-reset inside calculator only.
 * Some themes inject global button skins/pseudo elements that break UI.
 */
.idcc-calculator-wrapper button,
.idcc-calculator-wrapper input[type="button"],
.idcc-calculator-wrapper input[type="submit"],
.idcc-calculator-wrapper input[type="reset"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    background-image: none !important;
    box-shadow: none !important;
    border-radius: 0;
    border-style: solid;
    border-width: 0;
    min-height: 0;
    line-height: 1.25;
    cursor: pointer;
}

.idcc-calculator-wrapper button::before,
.idcc-calculator-wrapper button::after,
.idcc-calculator-wrapper input[type="button"]::before,
.idcc-calculator-wrapper input[type="button"]::after,
.idcc-calculator-wrapper input[type="submit"]::before,
.idcc-calculator-wrapper input[type="submit"]::after,
.idcc-calculator-wrapper input[type="reset"]::before,
.idcc-calculator-wrapper input[type="reset"]::after {
    content: none !important;
    display: none !important;
}

/* Fallbacks for option controls when theme CSS overrides utility classes */
.idcc-calculator-wrapper .service-card,
.idcc-calculator-wrapper .level-card {
    position: relative;
}

.idcc-calculator-wrapper .service-card > input[type="radio"],
.idcc-calculator-wrapper .level-card > input[type="radio"] {
    position: absolute;
    top: 1rem;
    left: 1rem;
    margin: 0;
    z-index: 2;
}

/* Category pills: do not rely only on peer-checked utility classes */
.idcc-calculator-wrapper #categorySelector label {
    display: inline-block;
}

.idcc-calculator-wrapper #categorySelector label > span {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1.25rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    background: #ffffff;
    color: #4b5563;
    line-height: 1.2;
    min-width: 110px;
    justify-content: center;
}

.idcc-calculator-wrapper #categorySelector label > input[type="radio"]:checked + span {
    background: var(--idcc-primary) !important;
    border-color: var(--idcc-primary) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 20px rgba(var(--idcc-primary-rgb), 0.25);
}
