
.agdoubt,
.agdoubt * {
    box-sizing: border-box;
}

.agdoubt {
    --agd-bg: #f7f5f0;
    --agd-card: #fffefb;
    --agd-text: #1f1f1d;
    --agd-muted: #726f67;
    --agd-line: rgba(31,31,29,.10);
    --agd-line-strong: rgba(31,31,29,.20);
    --agd-accent: #1f1f1d;
    --agd-accent-hover: #30302d;
    width: 100%;
    margin: 1.4rem auto;
    color: var(--agd-text);
    font-family: inherit;
    text-align: right;
}

.agdoubt__shell {
    width: min(100%, 700px);
    margin-inline: auto;
    background: var(--agd-card);
    border: 1px solid var(--agd-line);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 12px 34px rgba(0,0,0,.045);
}

.agdoubt__topbar {
    min-height: 54px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--agd-line);
}

.agdoubt__brand,
.agdoubt__stepcount {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
}

.agdoubt__brand {
    font-weight: 700;
}

.agdoubt__stepcount {
    color: var(--agd-muted);
}

.agdoubt__mark {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    border: 1.5px solid currentColor;
    display: inline-block;
    position: relative;
}

.agdoubt__mark::after {
    content: "";
    width: 2px;
    height: 2px;
    position: absolute;
    border-radius: 50%;
    background: currentColor;
    inset: 0;
    margin: auto;
}

.agdoubt__progress {
    height: 2px;
    background: rgba(0,0,0,.035);
}

.agdoubt__progress > span {
    display: block;
    height: 100%;
    background: var(--agd-accent);
    transition: width .25s ease;
}

.agdoubt__stage {
    padding: 34px 34px 30px;
    animation: agdoubtIn .24s ease both;
}

@keyframes agdoubtIn {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}

.agdoubt__eyebrow {
    color: var(--agd-muted);
    font-size: 11.5px;
    margin-bottom: 10px;
}

.agdoubt h2 {
    font: inherit;
    font-size: clamp(21px, 3vw, 28px);
    font-weight: 780;
    line-height: 1.55;
    letter-spacing: -.015em;
    margin: 0 0 10px;
}

.agdoubt__lead,
.agdoubt__question {
    font-size: 14px;
    line-height: 1.95;
    color: var(--agd-muted);
    margin: 0;
}

.agdoubt__claim {
    margin: 21px 0 19px;
    padding: 21px 18px;
    border: 1px solid var(--agd-line);
    border-radius: 15px;
    background: var(--agd-bg);
    text-align: center;
    font-size: clamp(18px, 2.5vw, 22px);
    font-weight: 750;
    line-height: 1.7;
}

.agdoubt__question {
    color: var(--agd-text);
    font-weight: 650;
}

.agdoubt__choices {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    margin-top: 17px;
}

.agdoubt__button,
.agdoubt__next,
.agdoubt__restart,
.agdoubt__system {
    font: inherit;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.agdoubt__button {
    min-height: 46px;
    padding: 10px 14px;
    border-radius: 12px;
    border: 1px solid var(--agd-line-strong);
    background: #fff;
    color: var(--agd-text);
    font-size: 13.5px;
    font-weight: 700;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .15s ease;
}

.agdoubt__button:hover,
.agdoubt__button:focus-visible {
    background: var(--agd-bg);
    color: var(--agd-text);
    border-color: rgba(31,31,29,.34);
    outline: none;
}

.agdoubt__button:active {
    transform: translateY(1px);
}

.agdoubt__button--primary {
    background: var(--agd-accent);
    color: #fff;
    border-color: var(--agd-accent);
}

.agdoubt__button--primary:hover,
.agdoubt__button--primary:focus-visible {
    background: var(--agd-accent-hover);
    color: #fff;
    border-color: var(--agd-accent-hover);
}

.agdoubt__button:disabled {
    cursor: default;
    opacity: .62;
}

.agdoubt__button:disabled:hover {
    transform: none;
}

.agdoubt__result {
    margin-top: 16px;
    padding: 14px 15px;
    border-radius: 12px;
    background: var(--agd-bg);
    border: 1px solid var(--agd-line);
    line-height: 1.9;
    font-size: 13px;
    color: var(--agd-text);
}

.agdoubt__result strong {
    display: block;
    margin-bottom: 1px;
    font-size: 13.5px;
}

.agdoubt__next,
.agdoubt__restart {
    margin-top: 18px;
    min-height: 42px;
    padding: 9px 14px;
    border-radius: 11px;
    border: 1px solid var(--agd-accent);
    background: var(--agd-accent);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.agdoubt__next:hover,
.agdoubt__next:focus-visible {
    background: var(--agd-accent-hover);
    color: #fff;
    border-color: var(--agd-accent-hover);
    outline: none;
}

.agdoubt__next:disabled {
    opacity: .34;
    cursor: not-allowed;
}

.agdoubt__next:disabled:hover {
    background: var(--agd-accent);
    border-color: var(--agd-accent);
}

.agdoubt__systems {
    margin-top: 22px;
    display: grid;
    gap: 8px;
}

.agdoubt__system {
    width: 100%;
    text-align: right;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 13px 14px;
    background: #fff;
    border: 1px solid var(--agd-line);
    border-radius: 13px;
    color: var(--agd-text);
    transition: background .18s ease, border-color .18s ease, opacity .18s ease;
}

.agdoubt__system:hover,
.agdoubt__system:focus-visible {
    background: var(--agd-bg);
    color: var(--agd-text);
    border-color: var(--agd-line-strong);
    outline: none;
}

.agdoubt__system > span:first-child {
    display: grid;
    gap: 2px;
}

.agdoubt__system strong {
    font-size: 13.5px;
    font-weight: 730;
}

.agdoubt__system small {
    color: var(--agd-muted);
    font-size: 11.5px;
    line-height: 1.65;
}

.agdoubt__system:not(.is-on) {
    opacity: .52;
    background: #f8f7f3;
}

.agdoubt__system:not(.is-on):hover,
.agdoubt__system:not(.is-on):focus-visible {
    opacity: .68;
    background: #f5f3ed;
}

.agdoubt__switch {
    flex: 0 0 auto;
    width: 38px;
    height: 21px;
    padding: 3px;
    border-radius: 999px;
    background: #d6d2c9;
    direction: ltr;
    transition: background .18s ease;
}

.agdoubt__switch i {
    display: block;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #fff;
    transform: translateX(0);
    transition: transform .18s ease;
    box-shadow: 0 1px 4px rgba(0,0,0,.12);
}

.agdoubt__system.is-on .agdoubt__switch {
    background: var(--agd-accent);
}

.agdoubt__system.is-on .agdoubt__switch i {
    transform: translateX(17px);
}

.agdoubt__dependency {
    margin-top: 17px;
    padding: 15px;
    background: var(--agd-bg);
    border: 1px solid var(--agd-line);
    border-radius: 13px;
}

.agdoubt__dependency-title,
.agdoubt__samples-title,
.agdoubt__final-kicker {
    color: var(--agd-muted);
}

.agdoubt__dependency-text {
    font-size: 12.5px;
    line-height: 1.8;
}

.agdoubt__dependency-meter {
    margin-top: 11px;
    height: 4px;
    background: #dedad2;
    overflow: hidden;
    border-radius: 999px;
}

.agdoubt__dependency-meter span {
    display: block;
    height: 100%;
    background: var(--agd-accent);
    transition: width .2s ease;
}

.agdoubt__collapse {
    margin-top: 14px;
    padding: 17px;
    border: 1px solid var(--agd-line-strong);
    border-radius: 13px;
    background: #f1efe9;
    color: var(--agd-text);
}

.agdoubt__collapse-icon {
    display: inline-flex;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    background: #dfdcd4;
    color: var(--agd-text);
    margin-bottom: 8px;
    font-size: 13px;
}

.agdoubt__collapse strong {
    display: block;
    font-size: 14px;
    line-height: 1.7;
    color: var(--agd-text);
}

.agdoubt__collapse p {
    margin: 5px 0 0;
    line-height: 1.85;
    color: var(--agd-muted);
    font-size: 12.5px;
}

.agdoubt__sim {
    margin-top: 21px;
    padding: 20px;
    border-radius: 15px;
    background: var(--agd-bg);
    border: 1px solid var(--agd-line);
}

.agdoubt__sim-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.agdoubt__sim-head > div {
    display: grid;
    gap: 3px;
}

.agdoubt__sim-head span {
    font-size: 10.5px;
    color: var(--agd-muted);
}

.agdoubt__sim-head strong {
    font-size: 18px;
    font-weight: 760;
}

.agdoubt__range {
    width: 100%;
    direction: ltr;
    accent-color: var(--agd-accent);
}

.agdoubt__ticks {
    display: flex;
    justify-content: space-between;
    direction: ltr;
    margin-top: 5px;
    color: var(--agd-muted);
    font-size: 9px;
}

.agdoubt__samples {
    margin-top: 19px;
}

.agdoubt__sample-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 6px;
}

.agdoubt__sample-grid span {
    min-height: 42px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--agd-card);
    border: 1px solid var(--agd-line);
    font-weight: 740;
    font-size: 12.5px;
}

.agdoubt__verdict {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--agd-line);
    font-size: 12.5px;
    line-height: 1.85;
}

.agdoubt__verdict strong {
    display: block;
    margin-bottom: 1px;
    font-size: 13px;
}

.agdoubt__final {
    margin-top: 16px;
    padding: 18px;
    border-radius: 14px;
    background: #f1efe9;
    border: 1px solid var(--agd-line-strong);
    color: var(--agd-text);
}

.agdoubt__final p {
    margin: 0;
    font-size: 14.5px;
    line-height: 1.95;
    font-weight: 720;
    color: var(--agd-text);
}

.agdoubt__final small {
    display: block;
    margin-top: 10px;
    color: var(--agd-muted);
    line-height: 1.85;
    font-size: 11.5px;
}

.agdoubt__final-kicker {
    color: rgba(255,255,255,.50);
}

.agdoubt__restart {
    background: #fff;
    color: var(--agd-text);
    border-color: var(--agd-line-strong);
}

.agdoubt__restart:hover,
.agdoubt__restart:focus-visible {
    background: var(--agd-bg);
    color: var(--agd-text);
    border-color: rgba(31,31,29,.32);
    outline: none;
}


/* Defensive isolation from theme/global WordPress styles.
   Deliberately scoped to this component only. */
.agdoubt button,
.agdoubt button:hover,
.agdoubt button:focus,
.agdoubt button:active,
.agdoubt button:visited {
    text-decoration: none !important;
    text-shadow: none !important;
    background-image: none !important;
    box-shadow: none !important;
}

.agdoubt button.agdoubt__button {
    color: var(--agd-text) !important;
    background-color: #fff !important;
}

.agdoubt button.agdoubt__button:hover,
.agdoubt button.agdoubt__button:focus-visible {
    color: var(--agd-text) !important;
    background-color: var(--agd-bg) !important;
}

.agdoubt button.agdoubt__button--primary {
    color: #fff !important;
    background-color: var(--agd-accent) !important;
}

.agdoubt button.agdoubt__button--primary:hover,
.agdoubt button.agdoubt__button--primary:focus-visible {
    color: #fff !important;
    background-color: var(--agd-accent-hover) !important;
}

.agdoubt button.agdoubt__next {
    color: #fff !important;
    background-color: var(--agd-accent) !important;
}

.agdoubt button.agdoubt__next:hover,
.agdoubt button.agdoubt__next:focus-visible {
    color: #fff !important;
    background-color: var(--agd-accent-hover) !important;
}

.agdoubt button.agdoubt__next:disabled,
.agdoubt button.agdoubt__next:disabled:hover,
.agdoubt button.agdoubt__next:disabled:focus {
    color: #fff !important;
    background-color: var(--agd-accent) !important;
}

.agdoubt button.agdoubt__restart,
.agdoubt button.agdoubt__restart:hover,
.agdoubt button.agdoubt__restart:focus-visible {
    color: var(--agd-text) !important;
    background-color: #fff !important;
}

.agdoubt button.agdoubt__system,
.agdoubt button.agdoubt__system:hover,
.agdoubt button.agdoubt__system:focus-visible {
    color: var(--agd-text) !important;
}

.agdoubt button.agdoubt__system.is-on {
    background-color: #fff !important;
}

.agdoubt button.agdoubt__system.is-on:hover,
.agdoubt button.agdoubt__system.is-on:focus-visible {
    background-color: var(--agd-bg) !important;
}

.agdoubt button.agdoubt__system:not(.is-on),
.agdoubt button.agdoubt__system:not(.is-on):hover,
.agdoubt button.agdoubt__system:not(.is-on):focus-visible {
    color: var(--agd-text) !important;
    background-color: #f8f7f3 !important;
}

.agdoubt .agdoubt__system strong,
.agdoubt .agdoubt__system small {
    color: inherit;
}

.agdoubt .agdoubt__system small {
    color: var(--agd-muted) !important;
}

/* Explicit child colors prevent theme selectors such as .entry-content p/strong
   from making text unreadable inside emphasis panels. */
.agdoubt .agdoubt__collapse,
.agdoubt .agdoubt__collapse strong,
.agdoubt .agdoubt__collapse .agdoubt__collapse-icon {
    color: var(--agd-text) !important;
}

.agdoubt .agdoubt__collapse p {
    color: var(--agd-muted) !important;
}

.agdoubt .agdoubt__final,
.agdoubt .agdoubt__final p {
    color: var(--agd-text) !important;
}

.agdoubt .agdoubt__final small,
.agdoubt .agdoubt__final-kicker {
    color: var(--agd-muted) !important;
}

/* Keyboard focus is visible without changing text/background contrast. */
.agdoubt button:focus-visible,
.agdoubt input[type="range"]:focus-visible {
    outline: 2px solid rgba(31,31,29,.58) !important;
    outline-offset: 3px;
}

/* Selection remains readable on both light and dark parent themes. */
.agdoubt ::selection {
    background: #d9d5cc;
    color: #171715;
}


@media (max-width: 640px) {
    .agdoubt {
        margin-block: 1rem;
    }

    .agdoubt__shell {
        border-radius: 16px;
    }

    .agdoubt__topbar {
        padding-inline: 15px;
        min-height: 50px;
    }

    .agdoubt__stage {
        padding: 25px 16px 22px;
    }

    .agdoubt h2 {
        font-size: 20px;
    }

    .agdoubt__lead,
    .agdoubt__question {
        font-size: 13.5px;
    }

    .agdoubt__choices {
        grid-template-columns: 1fr 1fr;
    }

    .agdoubt__claim {
        padding: 18px 15px;
        border-radius: 13px;
        font-size: 18px;
    }

    .agdoubt__system {
        padding: 12px;
    }

    .agdoubt__sample-grid {
        gap: 4px;
    }

    .agdoubt__sample-grid span {
        min-height: 40px;
        font-size: 11.5px;
        border-radius: 8px;
    }

    .agdoubt__sim {
        padding: 16px 12px;
    }
}

@media (max-width: 420px) {
    .agdoubt__choices {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .agdoubt *,
    .agdoubt *::before,
    .agdoubt *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}
