
/* ==========================================================
   CHEXX Casino — Portuguese review
   Scoped styles for .cx-review only
   ========================================================== */

.cx-review {
    --chexx-pt-bg: #0d1117;
    --chexx-pt-surface: #151c24;
    --chexx-pt-surface-alt: #1c2732;
    --chexx-pt-border: #394957;

    --chexx-pt-text: #e6edf3;
    --chexx-pt-heading: #f5f7fa;
    --chexx-pt-muted: #bac5d0;

    --chexx-pt-accent: #00c99a;
    --chexx-pt-accent-hover: #00a980;

    --chexx-pt-green-bg: #e8f6ec;
    --chexx-pt-green-text: #175c32;
    --chexx-pt-green-border: #a8d9b7;

    --chexx-pt-red-bg: #fff0ed;
    --chexx-pt-red-text: #8f2c23;
    --chexx-pt-red-border: #edb8af;

    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-inline: auto;
    color: var(--chexx-pt-text);
    font-size: 17px;
    line-height: 1.75;
    overflow-wrap: anywhere;
    color-scheme: dark;
}

.cx-review *,
.cx-review *::before,
.cx-review *::after {
    box-sizing: border-box;
}

.cx-review p {
    margin-block: 0 1.2rem;
    color: var(--chexx-pt-text);
}

.cx-review ul,
.cx-review ol {
    padding-inline-start: 1.5rem;
    margin-block: 0 1.4rem;
}

.cx-review li {
    margin-block: 0.35rem;
    color: inherit;
}

.cx-review strong,
.cx-review b {
    color: var(--chexx-pt-heading);
    font-weight: 700;
}

.cx-review small {
    color: var(--chexx-pt-muted);
    font-size: 0.88em;
}

.cx-review h1,
.cx-review h2,
.cx-review h3 {
    color: var(--chexx-pt-heading);
    line-height: 1.3;
    overflow-wrap: anywhere;
    scroll-margin-top: 100px;
}

.cx-review h1 {
    margin-block: 0 1rem;
    font-size: clamp(1.8rem, 4vw, 2.6rem);
}

.cx-review h2 {
    margin-block: 2.6rem 1rem;
    font-size: clamp(1.55rem, 3vw, 2.1rem);
}

.cx-review h3 {
    margin-block: 1.8rem 0.8rem;
    font-size: clamp(1.2rem, 2.3vw, 1.5rem);
}

.cx-review :focus-visible {
    outline: 3px solid var(--chexx-pt-accent);
    outline-offset: 4px;
}

/* HERO */

.cx-review .cx-hero {
    padding: clamp(1.25rem, 3vw, 2.25rem);
    margin-block: 0 1.5rem;
    background: var(--chexx-pt-surface);
    border: 1px solid var(--chexx-pt-border);
    border-radius: 12px;
}

.cx-review .cx-hero .cx-lead {
    color: var(--chexx-pt-text);
    font-size: 1.08em;
    line-height: 1.8;
}

.cx-review .cx-hero .cx-score {
    color: var(--chexx-pt-heading);
    font-size: 1.1em;
}

.cx-review .cx-hero ul {
    margin-block-end: 0;
}

/* CTA */

.cx-review .cx-cta {
    margin-block: 1.5rem 2rem;
    text-align: center;
}

.cx-review .cx-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    min-height: 50px;
    padding: 0.85rem 1.5rem;

    background: var(--chexx-pt-accent);
    border: 2px solid var(--chexx-pt-accent);
    border-radius: 8px;

    color: #06271f;
    font-weight: 750;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    overflow-wrap: anywhere;

    transition: background-color 160ms ease,
                border-color 160ms ease;
}

.cx-review .cx-btn:hover {
    background: var(--chexx-pt-accent-hover);
    border-color: var(--chexx-pt-accent-hover);
    color: #fff;
}

.cx-review .cx-cta small {
    display: inline-block;
    margin-block-start: 0.65rem;
}

/* TAKEAWAYS, NOTES AND TIPS */

.cx-review .cx-takeaways,
.cx-review .cx-note,
.cx-review .cx-tip {
    margin-block: 1.5rem;
    padding: 1.2rem 1.35rem;

    background: var(--chexx-pt-surface);
    border: 1px solid var(--chexx-pt-border);
    border-inline-start: 4px solid var(--chexx-pt-accent);
    border-radius: 0 12px 12px 0;
}

.cx-review .cx-takeaways p,
.cx-review .cx-note p,
.cx-review .cx-tip p {
    color: var(--chexx-pt-text);
}

.cx-review .cx-takeaways > :last-child,
.cx-review .cx-note > :last-child,
.cx-review .cx-tip > :last-child {
    margin-block-end: 0;
}

.cx-review .cx-takeaways > p:first-child {
    margin-block-end: 0.7rem;
}

.cx-review .cx-takeaways ul {
    margin-block-end: 0;
}

/* TABLE OF CONTENTS */

.cx-review .cx-toc {
    margin-block: 2rem;
    padding: 1.25rem;
    background: var(--chexx-pt-surface);
    border: 1px solid var(--chexx-pt-border);
    border-radius: 12px;
}

.cx-review .cx-toc > p:first-child {
    margin-block-end: 0.6rem;
}

.cx-review .cx-toc ol {
    margin-block-end: 0;
}

.cx-review .cx-toc li {
    padding-inline-start: 0.15rem;
}

.cx-review .cx-toc a {
    color: #80ddff;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cx-review .cx-toc a:hover {
    color: #b7edff;
}

/* IMAGES */

.cx-review figure {
    min-width: 0;
    margin: 1.75rem 0;
}

.cx-review figure img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 12px;
}

.cx-review figcaption {
    margin-block-start: 0.65rem;
    color: var(--chexx-pt-muted);
    font-size: 0.9em;
    line-height: 1.6;
}

/* FACTS AND OTHER TABLES */

.cx-review .cx-table-wrap {
    width: 100%;
    max-width: 100%;
    margin-block: 1.5rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;

    background: var(--chexx-pt-surface);
    border: 1px solid var(--chexx-pt-border);
    border-radius: 10px;
}

.cx-review table {
    width: 100%;
    min-width: 580px;
    border-collapse: collapse;
    border-spacing: 0;

    color: var(--chexx-pt-text);
    font-size: 0.95em;
    line-height: 1.6;
}

.cx-review table caption {
    padding: 1rem;
    color: var(--chexx-pt-heading);
    font-weight: 700;
    text-align: start;
}

.cx-review table th,
.cx-review table td {
    padding: 0.85rem 0.9rem;
    border-bottom: 1px solid var(--chexx-pt-border);
    color: var(--chexx-pt-text);
    text-align: start;
    vertical-align: top;
}

.cx-review table thead th {
    background: #253340;
    color: #fff;
    font-weight: 700;
}

.cx-review table tbody th {
    color: var(--chexx-pt-heading);
    font-weight: 700;
}

.cx-review table tbody tr:nth-child(even) {
    background: #19232d;
}

.cx-review table tbody tr:last-child th,
.cx-review table tbody tr:last-child td {
    border-bottom: 0;
}

.cx-review table .cx-best {
    background: #173c30;
}

.cx-review table .cx-best th,
.cx-review table .cx-best td {
    color: #e8fff1;
    font-weight: 600;
}

/* SCORECARD */

.cx-review .cx-scorecard {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;

    padding: 0;
    margin-block: 1.25rem 1.75rem;
    list-style: none;
}

.cx-review .cx-scorecard li {
    min-width: 0;
    margin: 0;
    padding: 1rem;

    background: var(--chexx-pt-surface);
    border: 1px solid var(--chexx-pt-border);
    border-radius: 9px;
    color: var(--chexx-pt-text);
}

.cx-review .cx-scorecard strong {
    color: var(--chexx-pt-accent);
}

/* STEP-BY-STEP LISTS */

.cx-review .cx-steps {
    display: grid;
    gap: 0.75rem;

    padding-inline-start: 1.8rem;
    margin-block: 1.25rem 1.75rem;
}

.cx-review .cx-steps li {
    padding: 0.95rem 1rem;
    background: var(--chexx-pt-surface);
    border: 1px solid var(--chexx-pt-border);
    border-radius: 9px;
    color: var(--chexx-pt-text);
}

.cx-review .cx-steps li::marker {
    color: var(--chexx-pt-accent);
    font-weight: 700;
}

/* POSITIVE AND NEGATIVE CARDS */

.cx-review .cx-two {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-block: 1.5rem;
}

.cx-review .cx-pos,
.cx-review .cx-neg {
    min-width: 0;
    padding: 1.15rem;
    border: 1px solid;
    border-radius: 12px;
}

.cx-review .cx-pos {
    background: var(--chexx-pt-green-bg);
    border-color: var(--chexx-pt-green-border);
    color: var(--chexx-pt-green-text);
}

.cx-review .cx-neg {
    background: var(--chexx-pt-red-bg);
    border-color: var(--chexx-pt-red-border);
    color: var(--chexx-pt-red-text);
}

.cx-review .cx-pos p,
.cx-review .cx-pos li,
.cx-review .cx-pos strong {
    color: var(--chexx-pt-green-text);
}

.cx-review .cx-neg p,
.cx-review .cx-neg li,
.cx-review .cx-neg strong {
    color: var(--chexx-pt-red-text);
}

.cx-review .cx-h {
    margin-block-end: 0.7rem;
}

.cx-review .cx-pos ul,
.cx-review .cx-neg ul {
    margin-block-end: 0;
}

/* INTERACTIVE TOOLS */

.cx-review .cx-tool {
    min-width: 0;
    margin-block: 1.75rem;
    padding: clamp(1rem, 2.5vw, 1.5rem);

    background: var(--chexx-pt-surface);
    border: 1px solid var(--chexx-pt-border);
    border-radius: 12px;
    color: var(--chexx-pt-text);
}

.cx-review .cx-tool p,
.cx-review .cx-tool li {
    color: var(--chexx-pt-text);
}

.cx-review .cx-tool > :first-child {
    margin-block-start: 0;
}

.cx-review .cx-tool > :last-child {
    margin-block-end: 0;
}

.cx-review .cx-tool label {
    color: var(--chexx-pt-heading);
}

.cx-review .cx-tool select {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 48px;
    padding: 0.7rem 2.5rem 0.7rem 0.8rem;

    background-color: #10161d;
    border: 1px solid #526272;
    border-radius: 7px;
    color: #f4f7fb;
    font: inherit;
}

.cx-review .cx-tool select option {
    background: #151c24;
    color: #f4f7fb;
}

.cx-review .cx-tool select:focus-visible {
    outline: 3px solid var(--chexx-pt-accent);
    outline-offset: 2px;
}

/* WEEKLY PROMOTIONS CALENDAR */

.cx-review [data-cx-tool="week"] label {
    display: inline-block;
    margin-inline-end: 0.5rem;
    font-weight: 650;
}

.cx-review [data-cx-tool="week"] select {
    margin-block-start: 0.4rem;
}

.cx-review .cx-day {
    margin-block: 1rem;
}

.cx-review .cx-promo {
    margin-block: 0.75rem;
    padding: 1rem 1.1rem;

    background: var(--chexx-pt-bg);
    border: 1px solid var(--chexx-pt-border);
    border-inline-start: 4px solid var(--chexx-pt-accent);
    border-radius: 0 9px 9px 0;
}

.cx-review .cx-promo b {
    color: var(--chexx-pt-heading);
}

.cx-review .cx-day .cx-promo:last-child {
    margin-block-end: 0;
}

/* SIX-QUESTION FIT TEST */

.cx-review .cx-q {
    margin-block: 1rem;
    padding: 1rem;

    background: var(--chexx-pt-bg);
    border: 1px solid var(--chexx-pt-border);
    border-radius: 9px;
}

.cx-review .cx-q > p:first-child {
    margin-block-end: 0.7rem;
    color: var(--chexx-pt-heading);
}

.cx-review .cx-q > p:last-child {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1.25rem;
    margin-block-end: 0;
}

.cx-review .cx-q label {
    display: inline-flex;
    align-items: flex-start;
    gap: 0.5rem;
    min-width: 0;

    color: var(--chexx-pt-text);
    font-weight: 400;
    cursor: pointer;
}

.cx-review .cx-q input[type="radio"] {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 0.3rem 0 0;
    accent-color: var(--chexx-pt-accent);
}

.cx-review .cx-out {
    margin-block-start: 1.25rem;
    padding: 1rem 1.15rem;

    background: #173c30;
    border: 1px solid #287451;
    border-radius: 9px;
}

.cx-review .cx-out p {
    margin-block-end: 0.75rem;
}

.cx-review .cx-out strong {
    color: #b8f5d0;
}

.cx-review .cx-out small {
    display: inline-block;
    margin-inline-start: 0.35rem;
    color: #d4e6dc;
}

.cx-review .cx-res {
    margin-block-end: 0;
    padding-inline-start: 1.4rem;
}

.cx-review .cx-res li {
    margin-block: 0.55rem;
    color: #e6f3eb;
    overflow-wrap: anywhere;
}

.cx-review .cx-res li.is-ok {
    color: #b8f5d0;
}

.cx-review .cx-res li.is-no {
    color: #ffc0b8;
}

.cx-review .cx-res li.is-mid {
    color: #e6edf3;
}

/* FINAL VERDICT */

.cx-review .cx-verdict {
    margin-block: 2rem;
    padding: clamp(1.2rem, 3vw, 1.75rem);

    background: var(--chexx-pt-surface);
    border: 1px solid var(--chexx-pt-border);
    border-inline-start: 5px solid var(--chexx-pt-accent);
    border-radius: 0 12px 12px 0;
}

.cx-review .cx-verdict p {
    color: var(--chexx-pt-text);
}

.cx-review .cx-verdict p:first-child {
    font-size: 1.15em;
}

.cx-review .cx-verdict > :last-child {
    margin-block-end: 0;
}

/* FAQ */

.cx-review .cx-faq {
    margin-block: 1.5rem;
    border-top: 1px solid var(--chexx-pt-border);
}

.cx-review .cx-faq details {
    padding: 1rem 0;
    border-bottom: 1px solid var(--chexx-pt-border);
}

.cx-review .cx-faq summary {
    position: relative;
    padding-inline-end: 2.25rem;

    color: var(--chexx-pt-heading);
    font-weight: 700;
    line-height: 1.6;
    cursor: pointer;
    list-style: none;
}

.cx-review .cx-faq summary::-webkit-details-marker {
    display: none;
}

.cx-review .cx-faq summary::after {
    content: "+";
    position: absolute;
    inset-inline-end: 0.25rem;
    top: 0;

    color: var(--chexx-pt-accent);
    font-size: 1.4em;
    line-height: 1.2;
}

.cx-review .cx-faq details[open] summary::after {
    content: "−";
}

.cx-review .cx-faq details > p {
    margin-block: 0.85rem 0;
    color: var(--chexx-pt-text);
}

/* HIDDEN PANELS CONTROLLED BY JAVASCRIPT */

.cx-review [hidden] {
    display: none !important;
}

/* TABLET */

@media (max-width: 860px) {
    .cx-review .cx-scorecard {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cx-review .cx-two {
        gap: 0.75rem;
    }

    .cx-review h2 {
        margin-block-start: 2rem;
    }
}

/* MOBILE */

@media (max-width: 600px) {
    .cx-review {
        font-size: 16px;
        line-height: 1.7;
    }

    .cx-review .cx-hero {
        padding: 1rem;
    }

    .cx-review .cx-scorecard,
    .cx-review .cx-two {
        grid-template-columns: minmax(0, 1fr);
    }

    .cx-review .cx-takeaways,
    .cx-review .cx-note,
    .cx-review .cx-tip,
    .cx-review .cx-toc {
        padding: 1rem;
    }

    .cx-review .cx-steps {
        padding-inline-start: 1.5rem;
    }

    .cx-review .cx-steps li {
        padding: 0.8rem;
    }

    .cx-review .cx-btn {
        width: 100%;
    }

    .cx-review .cx-tool {
        padding: 1rem;
    }

    .cx-review .cx-q {
        padding: 0.85rem;
    }

    .cx-review .cx-q > p:last-child {
        flex-direction: column;
        gap: 0.7rem;
    }

    .cx-review table {
        min-width: 540px;
        font-size: 0.9em;
    }

    .cx-review table th,
    .cx-review table td {
        padding: 0.7rem;
    }

    .cx-review figure {
        margin-block: 1.25rem;
    }
}

/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {
    .cx-review .cx-btn {
        transition: none;
    }
}
