:root {
    --ivory: #F8F4EF;
    --rose: #E7D6D6;
    --sand: #D5C7BB;
    --espresso: #493C34;
    --charcoal: #2D2B2A;
    --magenta: #A30167;

    --surface: rgba(255, 254, 252, .82);
    --surface-solid: #FFFEFC;
    --line: rgba(73, 60, 52, .12);
    --line-soft: rgba(73, 60, 52, .07);
    --text-soft: rgba(45, 43, 42, .62);
    --text-faint: rgba(45, 43, 42, .42);

    --shadow-soft: 0 18px 55px rgba(73, 60, 52, .07);
    --shadow-card: 0 28px 80px rgba(73, 60, 52, .08);

    --radius-xl: 34px;
    --radius-lg: 28px;
    --radius-md: 20px;
    --radius-sm: 14px;

    --container: 1240px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background:
        radial-gradient(circle at 78% 0%, rgba(231, 214, 214, .34), transparent 34%),
        var(--ivory);
    color: var(--charcoal);
    font-family: "Avenir Next", "Helvetica Neue", Arial, sans-serif;
    font-weight: 400;
    letter-spacing: .002em;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select {
    font: inherit;
}

img {
    max-width: 100%;
    display: block;
}

/* HEADER */

.site-header {
    max-width: var(--container);
    margin: 0 auto;
    padding: 26px 34px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.brand img {
    width: min(330px, 44vw);
    height: auto;
}

.top-nav {
    display: flex;
    align-items: center;
    gap: 24px;
    font-size: 12px;
    letter-spacing: .08em;
    color: var(--espresso);
}

.top-nav a {
    opacity: .7;
    transition: opacity .2s ease;
}

.top-nav a:hover {
    opacity: 1;
}

.nav-cta {
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 11px 17px;
    background: rgba(255, 255, 255, .28);
}

.page {
    max-width: var(--container);
    margin: 0 auto;
    padding: 34px 34px 96px;
}

/* TYPOGRAPHY */

.kicker {
    display: inline-block;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--espresso);
}

.kicker.light {
    color: rgba(248, 244, 239, .78);
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

h1,
h2,
h3 {
    color: var(--espresso);
    font-weight: 300;
}

p {
    color: var(--text-soft);
}

/* BUTTONS */

.primary-button {
    appearance: none;
    border: 0;
    border-radius: 999px;
    background: var(--magenta);
    color: white;
    padding: 14px 23px;
    min-height: 50px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .04em;
    cursor: pointer;
    box-shadow: 0 12px 26px rgba(163, 1, 103, .12);
    transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.primary-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 34px rgba(163, 1, 103, .18);
}

.text-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: .035em;
    color: var(--espresso);
}

.text-link span {
    color: var(--magenta);
}

/* LANDING */

.landing-premium {
    min-height: 70vh;
    display: grid;
    grid-template-columns: 1.42fr .72fr;
    gap: 78px;
    align-items: center;
    padding: 48px 0 72px;
}

.landing-copy h1 {
    max-width: 900px;
    margin: 18px 0 26px;
    font-size: clamp(54px, 6.7vw, 92px);
    line-height: .97;
    letter-spacing: -.055em;
    font-weight: 300;
    color: var(--espresso);
}

.landing-copy h1 em {
    font-style: normal;
    font-weight: 300;
    color: var(--magenta);
}

.landing-copy > p {
    max-width: 660px;
    margin-bottom: 0;
    font-size: 17px;
    line-height: 1.75;
}

.landing-actions {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: 34px;
    flex-wrap: wrap;
}

.landing-card {
    position: relative;
    min-height: 430px;
    padding: 36px;
    border-radius: var(--radius-xl);
    overflow: hidden;
    background:
        radial-gradient(circle at 82% 12%, rgba(255, 255, 255, .46), transparent 28%),
        linear-gradient(150deg, #E9DADB 0%, #DBCBC3 54%, #D3C2B6 100%);
    box-shadow: var(--shadow-card);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.card-glow {
    display: none;
}

.mini-label {
    position: absolute;
    top: 32px;
    left: 34px;
    font-size: 9px;
    font-weight: 500;
    letter-spacing: .20em;
    color: rgba(73, 60, 52, .58);
}

.landing-card h2 {
    margin: 0 0 22px;
    font-size: 44px;
    line-height: 1.05;
    letter-spacing: -.035em;
    font-weight: 300;
}

.landing-card p {
    margin: 14px 0 0;
    line-height: 1.6;
    color: rgba(73, 60, 52, .62);
}

.unlock-line {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    letter-spacing: .035em;
    color: var(--espresso);
}

.unlock-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--magenta);
}

.manifesto-strip {
    border-top: 1px solid var(--line-soft);
    border-bottom: 1px solid var(--line-soft);
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .20em;
    color: rgba(73, 60, 52, .72);
}

.manifesto-strip i {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--magenta);
}

/* AUTH */

.premium-auth {
    min-height: 66vh;
    display: grid;
    grid-template-columns: .86fr 1fr;
    gap: 72px;
    align-items: center;
    padding: 40px 0 68px;
}

.auth-intro h1 {
    margin: 16px 0 18px;
    font-size: clamp(46px, 5.6vw, 72px);
    line-height: 1;
    letter-spacing: -.045em;
    font-weight: 300;
}

.auth-intro > p {
    max-width: 500px;
    font-size: 16px;
    line-height: 1.72;
}

.auth-note {
    margin-top: 30px;
    max-width: 460px;
}

.auth-note > span {
    display: none;
}

.auth-note p {
    margin: 0;
    font-size: 12px;
    line-height: 1.65;
    color: var(--text-faint);
}

.premium-card {
    width: 100%;
    padding: 34px;
    background: var(--surface);
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-lg);
    backdrop-filter: blur(18px);
    box-shadow: var(--shadow-soft);
}

.form-stack,
.form-grid {
    display: grid;
    gap: 18px;
}

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

.form-grid .full {
    grid-column: 1 / -1;
}

label {
    display: grid;
    gap: 8px;
}

label > span {
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .05em;
    color: rgba(73, 60, 52, .76);
}

input,
select {
    width: 100%;
    min-height: 52px;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    padding: 14px 15px;
    outline: none;
    background: rgba(248, 244, 239, .62);
    color: var(--charcoal);
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

input:focus,
select:focus {
    border-color: rgba(163, 1, 103, .45);
    background: var(--surface-solid);
    box-shadow: 0 0 0 4px rgba(163, 1, 103, .04);
}

input::placeholder {
    color: rgba(45, 43, 42, .32);
}

.form-foot {
    margin: 20px 0 0;
    text-align: center;
    font-size: 12px;
    color: var(--text-faint);
}

.form-foot a {
    color: var(--magenta);
    font-weight: 500;
}

.alert {
    margin-bottom: 18px;
    padding: 13px 15px;
    border-radius: var(--radius-sm);
    font-size: 12px;
}

.alert-error {
    background: #FAEFF1;
    color: #7B2A37;
}

.alert-success {
    background: #EEF5F0;
    color: #315943;
}

/* DASHBOARD */

.dashboard-hero {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 34px;
    padding: 46px 0 58px;
}

.hero-copy h1 {
    margin: 14px 0 10px;
    font-size: clamp(48px, 6vw, 78px);
    line-height: .98;
    letter-spacing: -.05em;
    font-weight: 300;
}

.hero-copy p {
    margin: 0;
    font-size: 17px;
    line-height: 1.6;
}

.member-pill {
    min-width: 165px;
    padding: 12px 18px;
    border: 1px solid var(--line-soft);
    border-radius: 999px;
    background: rgba(231, 214, 214, .55);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.member-pill span {
    font-size: 9px;
    font-weight: 400;
    letter-spacing: .16em;
    color: rgba(73, 60, 52, .5);
}

.member-pill strong {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .10em;
    color: var(--magenta);
}

.section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}

.section-heading h2 {
    margin: 9px 0 0;
    font-size: clamp(29px, 3.5vw, 42px);
    line-height: 1.08;
    letter-spacing: -.035em;
    font-weight: 300;
}

.unlocked-list {
    display: grid;
    gap: 20px;
}

.featured-universe {
    min-height: 360px;
    border-radius: var(--radius-xl);
    padding: 30px;
    color: var(--ivory);
    background:
        linear-gradient(125deg, rgba(73, 60, 52, .96), rgba(95, 80, 70, .88)),
        var(--espresso);
    box-shadow: var(--shadow-card);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    position: relative;
}

.featured-universe::after {
    content: "";
    position: absolute;
    top: -90px;
    right: -80px;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: rgba(231, 214, 214, .09);
}

.featured-top,
.featured-bottom,
.universe-top {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.tag-live {
    position: relative;
    z-index: 2;
    font-size: 9px;
    font-weight: 500;
    letter-spacing: .14em;
    color: rgba(255, 255, 255, .92);
    background: var(--magenta);
    border-radius: 999px;
    padding: 8px 11px;
}

.days-left {
    position: relative;
    z-index: 2;
    font-size: 11px;
    font-weight: 400;
    color: rgba(255, 255, 255, .62);
}

.featured-bottom {
    position: relative;
    z-index: 2;
    align-items: end;
}

.number {
    font-size: 9px;
    font-weight: 400;
    letter-spacing: .14em;
    opacity: .46;
}

.featured-universe h3 {
    margin: 8px 0 7px;
    font-size: clamp(46px, 6vw, 72px);
    line-height: .96;
    letter-spacing: -.04em;
    font-weight: 300;
    color: var(--ivory);
}

.featured-universe p {
    margin: 0;
    max-width: 500px;
    font-size: 15px;
    color: rgba(248, 244, 239, .66);
}

.access-meta {
    margin-top: 18px;
    font-size: 10px;
    letter-spacing: .06em;
    color: rgba(248, 244, 239, .42);
}

.circle-cta {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    background: rgba(248, 244, 239, .95);
    color: var(--espresso);
    font-size: 20px;
    font-weight: 300;
    transition: transform .2s ease, background .2s ease;
}

.circle-cta:hover {
    transform: translateX(2px);
    background: white;
}

.empty-access-card {
    min-height: 240px;
    padding: 30px;
    border-radius: var(--radius-lg);
    border: 1px solid var(--line-soft);
    background: rgba(255, 254, 252, .6);
    display: flex;
    gap: 22px;
    align-items: flex-start;
}

.empty-icon {
    font-size: 28px;
    color: var(--magenta);
}

.empty-access-card h3 {
    margin: 10px 0 8px;
    font-size: 34px;
    letter-spacing: -.03em;
}

.empty-access-card p {
    max-width: 560px;
    margin: 0;
    line-height: 1.65;
}

.discover-section {
    margin-top: 60px;
}

.universe-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.universe-card {
    min-height: 250px;
    padding: 24px;
    border-radius: var(--radius-lg);
    border: 1px solid var(--line-soft);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform .2s ease, box-shadow .2s ease;
}

.universe-card:nth-child(odd) {
    background: rgba(231, 214, 214, .62);
}

.universe-card:nth-child(even) {
    background: rgba(213, 199, 187, .58);
}

.universe-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-soft);
}

.lock {
    font-size: 9px;
    font-weight: 400;
    letter-spacing: .15em;
    color: rgba(73, 60, 52, .38);
}

.universe-card h3 {
    margin: 0 0 7px;
    font-size: 36px;
    line-height: 1;
    letter-spacing: -.035em;
    font-weight: 300;
}

.universe-card p {
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
    color: rgba(73, 60, 52, .58);
}

.all-access-premium {
    margin-top: 60px;
    padding: 38px;
    border-radius: var(--radius-xl);
    background: var(--espresso);
    color: var(--ivory);
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 40px;
    box-shadow: var(--shadow-card);
}

.all-access-copy h2 {
    margin: 13px 0 13px;
    font-size: clamp(36px, 4.5vw, 56px);
    line-height: 1.02;
    letter-spacing: -.04em;
    font-weight: 300;
    color: var(--ivory);
}

.all-access-copy p {
    max-width: 620px;
    margin: 0;
    line-height: 1.65;
    color: rgba(248, 244, 239, .62);
}

.all-access-price {
    min-width: 210px;
    text-align: right;
}

.all-access-price > span {
    font-size: 9px;
    font-weight: 400;
    letter-spacing: .13em;
    color: rgba(248, 244, 239, .48);
}

.all-access-price div {
    margin: 8px 0 15px;
}

.all-access-price strong {
    font-size: 30px;
    font-weight: 300;
    color: var(--ivory);
}

.all-access-price small {
    margin-left: 4px;
    font-size: 11px;
    color: rgba(248, 244, 239, .52);
}

.all-access-price button {
    width: 100%;
    border: 0;
    border-radius: 999px;
    padding: 13px 18px;
    background: var(--magenta);
    color: white;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .12em;
    opacity: .72;
}

/* FOOTER */

.site-footer {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 34px 34px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    font-size: 10px;
    font-weight: 400;
    letter-spacing: .13em;
    color: rgba(73, 60, 52, .42);
}

/* MOBILE NAV */

.mobile-nav {
    display: none;
}

/* RESPONSIVE */

@media (max-width: 820px) {
    body {
        padding-bottom: 76px;
    }

    .site-header {
        padding: 18px 20px 10px;
    }

    .brand img {
        width: 214px;
    }

    .top-nav {
        gap: 12px;
        font-size: 11px;
    }

    .top-nav .nav-cta {
        display: none;
    }

    .page {
        padding: 22px 20px 52px;
    }

    .landing-premium {
        min-height: auto;
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 36px 0 48px;
    }

    .landing-copy h1 {
        font-size: clamp(48px, 13vw, 68px);
    }

    .landing-copy > p {
        font-size: 15px;
    }

    .landing-card {
        min-height: 330px;
        padding: 28px;
        border-radius: 28px;
    }

    .landing-card h2 {
        font-size: 38px;
    }

    .manifesto-strip {
        gap: 14px;
        font-size: 10px;
        letter-spacing: .14em;
    }

    .premium-auth {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 28px 0 48px;
    }

    .auth-intro h1 {
        font-size: 50px;
    }

    .premium-card {
        padding: 24px;
        border-radius: 24px;
    }

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

    .form-grid .full {
        grid-column: auto;
    }

    .dashboard-hero {
        flex-direction: column;
        align-items: flex-start;
        padding: 28px 0 40px;
    }

    .hero-copy h1 {
        font-size: 56px;
    }

    .member-pill {
        width: 100%;
    }

    .section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .featured-universe {
        min-height: 330px;
        padding: 24px;
        border-radius: 28px;
    }

    .featured-universe h3 {
        font-size: 52px;
    }

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

    .all-access-premium {
        flex-direction: column;
        align-items: flex-start;
        padding: 28px;
        border-radius: 28px;
    }

    .all-access-price {
        min-width: 100%;
        width: 100%;
        text-align: left;
    }

    .mobile-nav {
        position: fixed;
        z-index: 100;
        left: 14px;
        right: 14px;
        bottom: 12px;
        min-height: 62px;
        padding: 8px 6px;
        border: 1px solid var(--line-soft);
        border-radius: 21px;
        background: rgba(248, 244, 239, .94);
        backdrop-filter: blur(18px);
        box-shadow: 0 14px 36px rgba(73, 60, 52, .12);
        display: grid;
        grid-template-columns: repeat(4, 1fr);
    }

    .mobile-nav a {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        font-size: 9px;
        font-weight: 400;
        letter-spacing: .03em;
        color: rgba(73, 60, 52, .44);
    }

    .mobile-nav a span {
        font-size: 17px;
    }

    .mobile-nav a.active {
        color: var(--magenta);
    }

    .site-footer {
        padding: 0 20px 20px;
    }
}

@media (max-width: 520px) {
    .brand img {
        width: 180px;
    }

    .top-nav a:not(:first-child) {
        display: none;
    }

    .landing-copy h1 {
        font-size: 46px;
    }

    .landing-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .hero-copy h1 {
        font-size: 48px;
    }

    .featured-bottom {
        align-items: flex-end;
    }

    .circle-cta {
        width: 50px;
        height: 50px;
    }

    .all-access-copy h2 {
        font-size: 38px;
    }

    .site-footer {
        flex-direction: column;
        gap: 8px;
    }
}

/* ===== FIORA HOME FINAL V11 ===== */
/* Único bloco responsável pela Home. */

body:has(.home-hero) {
    margin: 0;
    padding: 0;
    background: #241913;
    overflow-x: hidden;
}

body:has(.home-hero) .page {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

body:has(.home-hero) .site-header {
    position: absolute;
    inset: 0 0 auto 0;
    z-index: 40;
    width: 100%;
    background: transparent;
}

body:has(.home-hero) .site-header-inner {
    width: calc(100% - 104px);
    max-width: none;
    min-height: 108px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

body:has(.home-hero) .brand-logo img {
    width: clamp(190px, 16vw, 260px);
    height: auto;
    filter: brightness(0) invert(1);
}

body:has(.home-hero) .top-nav {
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
}

body:has(.home-hero) .top-nav a {
    color: rgba(255,255,255,.96);
    font-size: 12px;
    letter-spacing: .045em;
    text-shadow: 0 2px 14px rgba(0,0,0,.24);
}

body:has(.home-hero) .nav-cta {
    min-height: 44px;
    padding: 0 17px;
    border: 1px solid rgba(255,255,255,.50);
    border-radius: 11px;
    background: rgba(255,255,255,.06);
    backdrop-filter: blur(8px);
}

.home-hero {
    position: relative;
    isolation: isolate;
    width: 100%;
    height: 100svh;
    min-height: 720px;
    margin: 0;
    padding: 150px max(7vw, 72px) 76px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
}

.home-hero-bg {
    position: absolute;
    inset: -12px;
    z-index: -3;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    filter: blur(4px);
    transform: scale(1.035);
}

.home-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background:
        linear-gradient(
            90deg,
            rgba(17,11,8,.84) 0%,
            rgba(22,15,11,.68) 30%,
            rgba(27,18,14,.43) 54%,
            rgba(27,18,14,.20) 76%,
            rgba(18,12,9,.30) 100%
        ),
        linear-gradient(
            180deg,
            rgba(15,10,7,.24) 0%,
            rgba(15,10,7,.05) 40%,
            rgba(15,10,7,.14) 68%,
            rgba(15,10,7,.56) 100%
        );
}

.home-copy {
    position: relative;
    z-index: 2;
    width: min(52vw, 790px);
    max-width: 790px;
    text-align: left;
}

.home-title {
    margin: 0;
    line-height: 1.03;
    letter-spacing: -.045em;
}

.home-title > span {
    display: block;
    width: fit-content;
    max-width: 100%;
    white-space: nowrap;
    font-size: clamp(40px, 3.55vw, 60px);
    line-height: 1.04;
    font-weight: 700;
    letter-spacing: -.04em;
    text-shadow: 0 3px 24px rgba(0,0,0,.30);
}

.home-title__primary,
.home-title__final {
    color: #FFFFFF !important;
}

.home-title__accent {
    margin-top: 13px;
    color: #D10C83 !important;
}

.home-title__final {
    margin-top: 13px;
}

.home-description {
    max-width: 610px;
    margin: 34px 0 0;
    color: rgba(255,255,255,.96) !important;
    font-size: 15px;
    line-height: 1.76;
    text-shadow: 0 2px 16px rgba(0,0,0,.28);
}

.home-description b {
    color: #fff;
    font-weight: 700;
}

.home-actions {
    margin-top: 34px;
    display: flex;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
}

.home-actions .primary-button {
    min-width: 220px;
    min-height: 54px;
    padding: 0 24px;
    border: 0;
    border-radius: 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--magenta) !important;
    color: #FFFFFF !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
    box-shadow: 0 16px 34px rgba(106,0,65,.28);
}

.home-login-link {
    min-height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: rgba(255,255,255,.96) !important;
    font-size: 12px;
    font-weight: 600;
    text-shadow: 0 2px 14px rgba(0,0,0,.28);
}

.home-login-link span {
    color: #FF4DB4;
}

.home-signature {
    position: absolute;
    left: 50%;
    bottom: 30px;
    z-index: 45;
    width: auto;
    min-height: 0;
    margin: 0;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    color: rgba(255,255,255,.88);
    font-size: 8px;
    font-weight: 500;
    letter-spacing: .21em;
    text-shadow: 0 2px 12px rgba(0,0,0,.24);
}

.home-signature i {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--magenta);
}

/* garante que qualquer card antigo não apareça se sobrar em cache/HTML antigo */
body:has(.home-hero) .home-card,
body:has(.home-hero) .home-access-card,
body:has(.home-hero) .landing-card {
    display: none !important;
}

@media (max-width: 900px) {
    body:has(.home-hero) .site-header-inner {
        width: min(calc(100% - 40px), 720px);
        min-height: 86px;
    }

    body:has(.home-hero) .brand-logo img {
        width: clamp(155px, 36vw, 185px);
    }

    .home-hero {
        min-height: 100svh;
        height: 100svh;
        padding: 126px 38px 76px;
    }

    .home-hero-bg {
        background-position: 61% center;
        filter: blur(5px);
        transform: scale(1.045);
    }

    .home-copy {
        width: min(78%, 590px);
        max-width: 590px;
    }

    .home-title > span {
        font-size: clamp(34px, 6.3vw, 48px);
    }
}

@media (max-width: 560px) {
    body:has(.home-hero) .site-header-inner {
        width: calc(100% - 36px);
        min-height: 76px;
    }

    body:has(.home-hero) .brand-logo img {
        width: min(155px, 47vw);
    }

    body:has(.home-hero) .top-nav .nav-cta {
        display: none !important;
    }

    body:has(.home-hero) .top-nav {
        gap: 8px;
    }

    body:has(.home-hero) .top-nav a {
        font-size: 11px;
    }

    .home-hero {
        width: 100%;
        height: 100dvh;
        min-height: 100dvh;
        padding: 106px 20px 74px;
        align-items: center;
        justify-content: center;
    }

    .home-hero-bg {
        inset: -18px;
        background-position: 61% center;
        filter: blur(7px);
        transform: scale(1.065);
    }

    .home-hero::after {
        background:
            linear-gradient(
                180deg,
                rgba(15,10,7,.38) 0%,
                rgba(15,10,7,.25) 24%,
                rgba(15,10,7,.27) 60%,
                rgba(15,10,7,.62) 100%
            ),
            linear-gradient(
                90deg,
                rgba(19,12,9,.42) 0%,
                rgba(19,12,9,.24) 50%,
                rgba(19,12,9,.42) 100%
            );
    }

    .home-copy {
        width: 100%;
        max-width: 370px;
        margin: 0 auto;
        text-align: center;
    }

    .home-title {
        width: 100%;
    }

    .home-title > span {
        width: 100%;
        max-width: none;
        white-space: nowrap;
        text-align: center;
        font-size: clamp(20px, 6.25vw, 27px);
        line-height: 1.08;
        font-weight: 700;
        letter-spacing: -.03em;
    }

    .home-title__accent,
    .home-title__final {
        margin-top: 15px;
    }

    .home-description {
        max-width: 330px;
        margin: 34px auto 0;
        font-size: 13px;
        line-height: 1.76;
        text-align: center;
    }

    .home-actions {
        width: min(100%, 340px);
        margin: 34px auto 0;
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .home-actions .primary-button {
        width: 100%;
        min-width: 0;
        min-height: 50px;
        border-radius: 10px;
        font-size: 12px;
    }

    .home-login-link {
        width: 100%;
        min-height: 34px;
        justify-content: center;
        font-size: 12px;
    }

    .home-signature {
        bottom: 23px;
        gap: 10px;
        font-size: 7px;
        letter-spacing: .19em;
    }

    .home-signature i {
        width: 3px;
        height: 3px;
    }
}

/* ===== DESKTOP HEADER FIX V12 ===== */
/* Corrige apenas o header desktop. Mobile permanece igual. */
@media (min-width: 901px) {
    body:has(.home-hero) .site-header {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
    }

    body:has(.home-hero) .site-header-inner {
        width: calc(100% - 104px) !important;
        max-width: none !important;
        min-height: 108px;
        margin: 0 auto !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    body:has(.home-hero) .top-nav {
        margin-left: auto !important;
        flex: 0 0 auto;
    }
}

/* ===== DESKTOP NAV CTA CENTER FIX V13 ===== */
/* Centraliza o texto "Ativar acesso" no botão do header desktop. */
@media (min-width: 901px) {
    body:has(.home-hero) .top-nav .nav-cta {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 44px !important;
        padding: 0 20px !important;
        line-height: 1 !important;
        text-align: center !important;
    }
}

/* ===== REGISTER PREMIUM V14 ===== */
/* Estilos isolados do cadastro. Não altera a Home. */

body:not(:has(.home-hero)) .page {
    width: min(calc(100% - 48px), 1320px);
    max-width: 1320px;
    margin: 0 auto;
    padding: 28px 0 72px;
}

/* Header das páginas internas */
body:not(:has(.home-hero)) .site-header {
    width: 100%;
    background: transparent;
}

body:not(:has(.home-hero)) .site-header-inner {
    width: min(calc(100% - 48px), 1320px);
    min-height: 104px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

body:not(:has(.home-hero)) .brand-logo img {
    width: clamp(180px, 15vw, 238px);
    height: auto;
}

body:not(:has(.home-hero)) .top-nav {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 22px;
}

body:not(:has(.home-hero)) .top-nav a {
    font-size: 12px;
    color: rgba(73,60,52,.72);
}

body:not(:has(.home-hero)) .nav-cta {
    min-height: 44px;
    padding: 0 18px;
    border-radius: 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

/* Layout principal do cadastro */
.auth-layout--register {
    min-height: calc(100vh - 150px);
    display: grid;
    grid-template-columns: minmax(300px, .78fr) minmax(640px, 1.22fr);
    gap: clamp(54px, 6vw, 96px);
    align-items: center;
    padding: 34px 0 54px;
}

.auth-layout--register .auth-intro {
    max-width: 520px;
    align-self: center;
}

.auth-layout--register .auth-intro .eyebrow {
    margin-bottom: 18px;
    color: var(--magenta);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .19em;
}

.auth-layout--register .auth-intro h1 {
    margin: 0;
    max-width: 520px;
    color: var(--espresso);
    font-size: clamp(52px, 5vw, 74px);
    line-height: .98;
    letter-spacing: -.052em;
    font-weight: 300;
}

.auth-layout--register .auth-intro p {
    max-width: 430px;
    margin: 24px 0 0;
    color: rgba(73,60,52,.58);
    font-size: 15px;
    line-height: 1.7;
}

/* Painel premium */
.auth-layout--register .auth-panel {
    width: 100%;
    max-width: none;
    justify-self: stretch;
    padding: 30px;
    border: 1px solid rgba(73,60,52,.075);
    border-radius: 28px;
    background: rgba(255,254,252,.84);
    box-shadow: 0 28px 80px rgba(73,60,52,.09);
    backdrop-filter: blur(16px);
}

/* Cards de escolha */
.auth-layout--register .access-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 30px;
}

.auth-layout--register .access-choice {
    appearance: none;
    width: 100%;
    min-height: 158px;
    padding: 20px;
    border: 1px solid rgba(73,60,52,.10);
    border-radius: 16px;
    background: rgba(248,244,239,.72);
    color: var(--espresso);
    text-align: left;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 7px;
    overflow: hidden;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.auth-layout--register .access-choice:hover {
    transform: translateY(-2px);
    border-color: rgba(163,1,103,.22);
    box-shadow: 0 14px 32px rgba(73,60,52,.06);
}

.auth-layout--register .access-choice.is-active {
    background:
        radial-gradient(circle at 86% 12%, rgba(255,255,255,.40), transparent 31%),
        linear-gradient(145deg, rgba(231,214,214,.92), rgba(221,204,198,.82));
    border-color: rgba(163,1,103,.24);
    box-shadow: 0 18px 42px rgba(73,60,52,.07);
}

.auth-layout--register .access-choice__label {
    margin-bottom: auto;
    color: rgba(73,60,52,.52);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .16em;
}

.auth-layout--register .access-choice strong {
    color: var(--espresso);
    font-size: 20px;
    line-height: 1.1;
    font-weight: 600;
}

.auth-layout--register .access-choice > small {
    color: rgba(73,60,52,.54);
    font-size: 11px;
    line-height: 1.45;
}

.auth-layout--register .access-choice__price {
    color: var(--magenta);
    font-size: 18px;
    font-weight: 700;
}

.auth-layout--register .access-choice__price small {
    font-size: 11px;
    font-weight: 500;
}

/* Cabeçalho interno */
.auth-layout--register .panel-heading {
    margin: 0 0 24px;
}

.auth-layout--register .panel-heading .eyebrow,
.auth-layout--register .subscription-preview .eyebrow {
    color: var(--magenta);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .17em;
}

.auth-layout--register .panel-heading h2,
.auth-layout--register .subscription-preview h2 {
    margin: 10px 0 9px;
    color: var(--espresso);
    font-size: clamp(28px, 2.7vw, 38px);
    line-height: 1.06;
    letter-spacing: -.035em;
    font-weight: 300;
}

.auth-layout--register .panel-heading p,
.auth-layout--register .subscription-preview p {
    margin: 0;
    color: rgba(73,60,52,.58);
    font-size: 13px;
    line-height: 1.65;
}

/* Formulário */
.auth-layout--register .form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 17px 18px;
}

.auth-layout--register .field {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.auth-layout--register .field--full {
    grid-column: 1 / -1;
}

.auth-layout--register .field > span {
    color: rgba(73,60,52,.68);
    font-size: 10px;
    letter-spacing: .035em;
}

.auth-layout--register .field input,
.auth-layout--register .field select {
    width: 100%;
    min-width: 0;
    min-height: 54px;
    padding: 13px 15px;
    border: 1px solid rgba(73,60,52,.12);
    border-radius: 13px;
    outline: none;
    background: rgba(248,244,239,.58);
    color: var(--charcoal);
    font-size: 13px;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.auth-layout--register .field input:focus,
.auth-layout--register .field select:focus {
    border-color: rgba(163,1,103,.38);
    background: rgba(255,254,252,.96);
    box-shadow: 0 0 0 4px rgba(163,1,103,.045);
}

.auth-layout--register .field input::placeholder {
    color: rgba(45,43,42,.30);
}

/* CTA */
.auth-layout--register .form-grid .button--primary,
.auth-layout--register .subscription-preview .button--primary {
    min-width: 190px;
    min-height: 52px;
    padding: 0 24px;
    border-radius: 11px;
    background: var(--magenta);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    box-shadow: 0 14px 30px rgba(163,1,103,.14);
}

.auth-layout--register .subscription-preview {
    padding: 8px 2px 4px;
}

.auth-layout--register .subscription-price {
    margin: 24px 0 14px;
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.auth-layout--register .subscription-price strong {
    color: var(--espresso);
    font-size: 38px;
    font-weight: 300;
}

.auth-layout--register .subscription-price span {
    color: rgba(73,60,52,.50);
    font-size: 12px;
}

.auth-layout--register .subscription-preview > small {
    display: block;
    max-width: 500px;
    margin-top: 14px;
    color: rgba(73,60,52,.42);
    font-size: 10px;
    line-height: 1.55;
}

/* TABLET */
@media (max-width: 1000px) {
    body:not(:has(.home-hero)) .page {
        width: min(calc(100% - 40px), 780px);
    }

    body:not(:has(.home-hero)) .site-header-inner {
        width: min(calc(100% - 40px), 780px);
        min-height: 90px;
    }

    .auth-layout--register {
        min-height: auto;
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 30px 0 48px;
    }

    .auth-layout--register .auth-intro {
        max-width: 620px;
    }

    .auth-layout--register .auth-intro h1 {
        max-width: 620px;
        font-size: clamp(48px, 8vw, 64px);
    }

    .auth-layout--register .auth-panel {
        padding: 26px;
    }
}

/* MOBILE */
@media (max-width: 560px) {
    body:not(:has(.home-hero)) .page {
        width: calc(100% - 32px);
        padding: 12px 0 38px;
    }

    body:not(:has(.home-hero)) .site-header-inner {
        width: calc(100% - 32px);
        min-height: 80px;
    }

    body:not(:has(.home-hero)) .brand-logo img {
        width: min(170px, 50vw);
    }

    body:not(:has(.home-hero)) .top-nav .nav-cta {
        display: none;
    }

    body:not(:has(.home-hero)) .top-nav a {
        font-size: 11px;
    }

    .auth-layout--register {
        gap: 24px;
        padding: 24px 0 32px;
    }

    .auth-layout--register .auth-intro .eyebrow {
        margin-bottom: 12px;
        font-size: 8px;
    }

    .auth-layout--register .auth-intro h1 {
        font-size: clamp(40px, 12vw, 52px);
        line-height: 1;
    }

    .auth-layout--register .auth-intro p {
        margin-top: 18px;
        font-size: 13px;
        line-height: 1.65;
    }

    .auth-layout--register .auth-panel {
        padding: 16px;
        border-radius: 20px;
        box-shadow: 0 18px 48px rgba(73,60,52,.07);
    }

    .auth-layout--register .access-choice-grid {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-bottom: 24px;
    }

    .auth-layout--register .access-choice {
        min-height: 126px;
        padding: 16px;
        border-radius: 14px;
    }

    .auth-layout--register .access-choice strong {
        font-size: 18px;
    }

    .auth-layout--register .panel-heading {
        margin-bottom: 20px;
    }

    .auth-layout--register .panel-heading h2,
    .auth-layout--register .subscription-preview h2 {
        font-size: 29px;
    }

    .auth-layout--register .form-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .auth-layout--register .field--full {
        grid-column: auto;
    }

    .auth-layout--register .field input,
    .auth-layout--register .field select {
        min-height: 52px;
    }

    .auth-layout--register .form-grid .button--primary,
    .auth-layout--register .subscription-preview .button--primary {
        width: 100%;
        min-width: 0;
    }
}

/* ===== REGISTER FOCUSED FLOW V15 ===== */
/* Exibe uma decisão por vez no cadastro, sem alterar a Home. */

.auth-layout--register-v15 .access-step.is-hidden,
.auth-layout--register-v15 .access-panel {
    display: none;
}

.auth-layout--register-v15 .access-panel.is-active {
    display: block;
}

.auth-layout--register-v15 .auth-panel {
    max-width: 720px;
}

.auth-layout--register-v15 .access-choice-grid {
    margin-bottom: 0;
}

.auth-layout--register-v15 .access-choice {
    position: relative;
    min-height: 190px;
    padding: 24px;
}

.auth-layout--register-v15 .access-choice__arrow {
    position: absolute;
    right: 22px;
    bottom: 20px;
    color: var(--magenta);
    font-size: 20px;
    font-weight: 300;
    transition: transform .18s ease;
}

.auth-layout--register-v15 .access-choice:hover .access-choice__arrow {
    transform: translateX(3px);
}

.auth-layout--register-v15 .access-back {
    appearance: none;
    margin: 0 0 28px;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(73,60,52,.58);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .025em;
    cursor: pointer;
}

.auth-layout--register-v15 .access-back:hover {
    color: var(--magenta);
}

.auth-layout--register-v15 .panel-heading,
.auth-layout--register-v15 .subscription-preview {
    max-width: 620px;
}

@media (min-width: 1001px) {
    .auth-layout--register-v15 {
        grid-template-columns: minmax(300px, .82fr) minmax(560px, 1fr);
        gap: clamp(58px, 6vw, 92px);
    }
}

@media (max-width: 1000px) {
    .auth-layout--register-v15 {
        max-width: 760px;
        margin: 0 auto;
    }

    .auth-layout--register-v15 .auth-intro {
        text-align: center;
        margin: 0 auto;
    }

    .auth-layout--register-v15 .auth-intro p {
        margin-left: auto;
        margin-right: auto;
    }

    .auth-layout--register-v15 .auth-panel {
        max-width: 720px;
        margin: 0 auto;
    }
}

@media (max-width: 560px) {
    .auth-layout--register-v15 {
        gap: 20px;
        padding-top: 10px;
    }

    .auth-layout--register-v15 .auth-intro .eyebrow {
        margin-bottom: 9px;
    }

    .auth-layout--register-v15 .auth-intro h1 {
        max-width: 330px;
        margin: 0 auto;
        font-size: clamp(36px, 10.5vw, 44px);
        line-height: 1.02;
    }

    .auth-layout--register-v15 .auth-intro p {
        max-width: 300px;
        margin-top: 12px;
        font-size: 12px;
        line-height: 1.5;
    }

    .auth-layout--register-v15 .auth-panel {
        padding: 12px;
        border-radius: 18px;
        background: rgba(255,254,252,.68);
    }

    .auth-layout--register-v15 .access-choice-grid {
        gap: 10px;
    }

    .auth-layout--register-v15 .access-choice {
        min-height: 116px;
        padding: 15px 48px 15px 15px;
        border-radius: 14px;
        justify-content: center;
    }

    .auth-layout--register-v15 .access-choice__label {
        margin-bottom: 5px;
    }

    .auth-layout--register-v15 .access-choice strong {
        font-size: 17px;
    }

    .auth-layout--register-v15 .access-choice > small {
        font-size: 10px;
    }

    .auth-layout--register-v15 .access-choice__price {
        font-size: 16px;
    }

    .auth-layout--register-v15 .access-choice__arrow {
        right: 16px;
        bottom: 50%;
        transform: translateY(50%);
        font-size: 18px;
    }

    .auth-layout--register-v15 .access-choice:hover .access-choice__arrow {
        transform: translate(3px, 50%);
    }

    .auth-layout--register-v15 .access-back {
        margin-bottom: 20px;
    }

    .auth-layout--register-v15 .panel-heading h2,
    .auth-layout--register-v15 .subscription-preview h2 {
        font-size: 27px;
    }
}

/* ===== AUTH EXPERIENCE V17 — REGISTER + LOGIN ===== */
/* Bloco final e isolado. Mantém Home e Dashboard intactos. */

body:has(.auth-screen) {
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
}

body:has(.auth-screen) .site-header {
    flex: 0 0 auto;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

body:has(.auth-screen) .site-header-inner {
    width: min(calc(100% - 72px), 1380px);
    min-height: 100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

body:has(.auth-screen) .brand-logo img {
    width: clamp(180px, 15vw, 235px);
    height: auto;
}

body:has(.auth-screen) .page {
    flex: 1 0 auto;
    width: min(calc(100% - 72px), 1380px);
    max-width: 1380px;
    min-height: calc(100svh - 100px);
    margin: 0 auto;
    padding: 0;
    display: flex;
}

.auth-screen {
    width: 100%;
    min-height: calc(100svh - 100px);
    padding: clamp(38px, 5vh, 72px) 0 clamp(54px, 7vh, 96px);
    display: grid;
    grid-template-columns: minmax(330px, .88fr) minmax(560px, 1.12fr);
    align-items: center;
    gap: clamp(64px, 8vw, 126px);
}

.auth-copy {
    max-width: 590px;
}

.auth-eyebrow {
    display: inline-block;
    color: var(--magenta);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .20em;
    line-height: 1.3;
}

.auth-copy h1 {
    margin: 16px 0 22px;
    color: var(--espresso);
    font-size: clamp(58px, 5.3vw, 82px);
    font-weight: 300;
    line-height: .94;
    letter-spacing: -.055em;
}

.auth-copy p {
    max-width: 480px;
    margin: 0;
    color: rgba(73,60,52,.58);
    font-size: 16px;
    line-height: 1.7;
}

.auth-copy p strong {
    color: var(--espresso);
    font-weight: 700;
}

.auth-card {
    width: 100%;
    padding: clamp(24px, 2.5vw, 36px);
    border: 1px solid rgba(73,60,52,.075);
    border-radius: 30px;
    background: rgba(255,254,252,.84);
    box-shadow: 0 30px 90px rgba(73,60,52,.09);
    backdrop-filter: blur(16px);
}

.auth-card--register {
    max-width: 760px;
    justify-self: end;
}

.auth-card--login {
    max-width: 600px;
    justify-self: end;
}

.auth-card .alert {
    margin: 0 0 20px;
}

.auth-card .alert ul {
    margin: 0;
    padding-left: 18px;
}

.access-step.is-hidden,
.access-panel {
    display: none;
}

.access-panel.is-active {
    display: block;
}

.access-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.access-choice {
    appearance: none;
    position: relative;
    width: 100%;
    min-height: 230px;
    padding: 26px 58px 26px 26px;
    border: 1px solid rgba(73,60,52,.11);
    border-radius: 20px;
    background: rgba(248,244,239,.72);
    color: var(--espresso);
    text-align: left;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 8px;
    overflow: hidden;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.access-choice:hover,
.access-choice:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(163,1,103,.25);
    background: rgba(247,239,237,.94);
    box-shadow: 0 18px 42px rgba(73,60,52,.07);
    outline: none;
}

.access-choice__label {
    margin-bottom: auto;
    color: rgba(73,60,52,.52);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .17em;
}

.access-choice strong {
    color: var(--espresso);
    font-size: clamp(21px, 1.75vw, 27px);
    line-height: 1.08;
    font-weight: 600;
}

.access-choice > small {
    color: rgba(73,60,52,.53);
    font-size: 12px;
    line-height: 1.45;
}

.access-choice__price {
    color: var(--magenta);
    font-size: 23px;
    font-weight: 700;
    line-height: 1.15;
}

.access-choice__price small {
    font-size: 12px;
    font-weight: 500;
}

.access-choice__arrow {
    position: absolute;
    right: 25px;
    bottom: 25px;
    color: var(--magenta);
    font-size: 23px;
    font-weight: 300;
    transition: transform .18s ease;
}

.access-choice:hover .access-choice__arrow {
    transform: translateX(3px);
}

.access-back {
    appearance: none;
    margin: 0 0 28px;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(73,60,52,.58);
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
}

.access-back:hover,
.access-back:focus-visible {
    color: var(--magenta);
    outline: none;
}

.auth-card-heading {
    margin: 0 0 26px;
}

.auth-card-heading h2,
.subscription-preview h2 {
    margin: 10px 0 9px;
    color: var(--espresso);
    font-size: clamp(32px, 3vw, 43px);
    line-height: 1.02;
    letter-spacing: -.04em;
    font-weight: 300;
}

.auth-card-heading p,
.subscription-preview p {
    margin: 0;
    color: rgba(73,60,52,.58);
    font-size: 13px;
    line-height: 1.65;
}

.auth-form {
    display: grid;
    gap: 18px;
}

.auth-form--grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.auth-field {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.auth-field--full {
    grid-column: 1 / -1;
}

.auth-field > span {
    color: rgba(73,60,52,.70);
    font-size: 10px;
    letter-spacing: .04em;
}

.auth-field input,
.auth-field select {
    width: 100%;
    min-width: 0;
    min-height: 54px;
    padding: 13px 15px;
    border: 1px solid rgba(73,60,52,.12);
    border-radius: 13px;
    outline: none;
    background: rgba(248,244,239,.62);
    color: var(--charcoal);
    font-size: 13px;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.auth-field input:focus,
.auth-field select:focus {
    border-color: rgba(163,1,103,.40);
    background: #fffefc;
    box-shadow: 0 0 0 4px rgba(163,1,103,.045);
}

.auth-submit {
    appearance: none;
    min-width: 196px;
    min-height: 52px;
    padding: 0 24px;
    border: 0;
    border-radius: 12px;
    background: var(--magenta);
    color: #fff;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 14px 30px rgba(163,1,103,.14);
}

.auth-submit:hover:not(:disabled) {
    transform: translateY(-1px);
}

.auth-submit:disabled {
    cursor: not-allowed;
    opacity: .58;
}

.auth-submit--full {
    width: 100%;
}

.subscription-price {
    margin: 28px 0 16px;
    display: flex;
    align-items: baseline;
    gap: 7px;
}

.subscription-price strong {
    color: var(--espresso);
    font-size: 44px;
    font-weight: 300;
}

.subscription-price span {
    color: rgba(73,60,52,.50);
    font-size: 13px;
}

.subscription-preview > .auth-submit {
    margin-top: 25px;
}

.subscription-preview > small {
    display: block;
    margin-top: 12px;
    color: rgba(73,60,52,.40);
    font-size: 10px;
    line-height: 1.5;
}

.auth-foot {
    margin: 22px 0 0;
    text-align: center;
    color: rgba(73,60,52,.52);
    font-size: 12px;
}

.auth-foot a {
    color: var(--magenta);
    font-weight: 600;
}

@media (max-width: 1000px) {
    body:has(.auth-screen) .site-header-inner {
        width: min(calc(100% - 40px), 760px);
        min-height: 86px;
    }

    body:has(.auth-screen) .page {
        width: min(calc(100% - 40px), 760px);
        min-height: calc(100svh - 86px);
    }

    .auth-screen {
        min-height: calc(100svh - 86px);
        padding: 28px 0 56px;
        grid-template-columns: 1fr;
        align-content: center;
        gap: 32px;
    }

    .auth-copy {
        max-width: 650px;
        margin: 0 auto;
        text-align: center;
    }

    .auth-copy h1 {
        margin: 12px auto 16px;
        font-size: clamp(48px, 8.5vw, 68px);
        line-height: .97;
    }

    .auth-copy p {
        margin: 0 auto;
    }

    .auth-card--register,
    .auth-card--login {
        justify-self: center;
        margin: 0 auto;
    }
}

@media (max-width: 600px) {
    body:has(.auth-screen) {
        min-height: 100dvh;
    }

    body:has(.auth-screen) .site-header-inner {
        width: calc(100% - 36px);
        min-height: 78px;
        gap: 12px;
    }

    body:has(.auth-screen) .brand-logo img {
        width: min(165px, 48vw);
    }

    body:has(.auth-screen) .top-nav {
        gap: 8px;
    }

    body:has(.auth-screen) .top-nav a {
        font-size: 11px;
    }

    body:has(.auth-screen) .top-nav .nav-cta {
        display: none !important;
    }

    body:has(.auth-screen) .page {
        width: calc(100% - 32px);
        min-height: calc(100dvh - 78px);
    }

    .auth-screen {
        min-height: calc(100dvh - 78px);
        padding: 24px 0 42px;
        align-content: center;
        gap: 24px;
    }

    .auth-copy {
        width: 100%;
        max-width: 370px;
        text-align: center;
    }

    .auth-eyebrow {
        font-size: 9px;
        letter-spacing: .18em;
    }

    .auth-copy h1 {
        max-width: 350px;
        margin: 10px auto 13px;
        font-size: clamp(40px, 12.3vw, 53px);
        line-height: .98;
    }

    .auth-copy p {
        max-width: 330px;
        font-size: 13px;
        line-height: 1.55;
    }

    .auth-card {
        padding: 13px;
        border-radius: 22px;
        box-shadow: 0 20px 58px rgba(73,60,52,.08);
    }

    .access-choice-grid {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    .access-choice {
        min-height: 132px;
        padding: 18px 52px 18px 18px;
        border-radius: 16px;
        justify-content: center;
    }

    .access-choice__label {
        margin-bottom: 5px;
        font-size: 8px;
    }

    .access-choice strong {
        font-size: 20px;
    }

    .access-choice > small {
        font-size: 11px;
    }

    .access-choice__price {
        font-size: 19px;
    }

    .access-choice__arrow {
        right: 18px;
        top: 50%;
        bottom: auto;
        transform: translateY(-50%);
        font-size: 20px;
    }

    .access-choice:hover .access-choice__arrow {
        transform: translate(3px, -50%);
    }

    .access-back {
        margin: 5px 4px 22px;
    }

    .auth-card-heading {
        margin: 4px 4px 22px;
    }

    .auth-card-heading h2,
    .subscription-preview h2 {
        font-size: 30px;
    }

    .auth-form--grid {
        grid-template-columns: 1fr;
    }

    .auth-field--full {
        grid-column: auto;
    }

    .auth-field input,
    .auth-field select {
        min-height: 52px;
    }

    .auth-submit {
        width: 100%;
        min-width: 0;
    }

    .subscription-preview {
        padding: 4px;
    }

    .subscription-price strong {
        font-size: 38px;
    }

    .auth-card--login {
        padding: 20px;
    }
}

@media (max-height: 760px) and (min-width: 601px) {
    .auth-screen {
        padding-top: 24px;
        padding-bottom: 36px;
    }

    .auth-copy h1 {
        font-size: clamp(48px, 4.7vw, 68px);
    }

    .access-choice {
        min-height: 190px;
    }
}

/* ===== FIORA AUTH DESKTOP CENTERED V18 ===== */
/* Desktop: login e cadastro em uma única coluna, centralizados. Mobile permanece como está. */
@media (min-width: 901px) {
    body:has(.auth-screen) .page {
        width: min(calc(100% - 72px), 1180px);
        max-width: 1180px;
        min-height: calc(100svh - 104px);
        align-items: center;
        justify-content: center;
    }

    .auth-screen {
        width: 100%;
        min-height: calc(100svh - 104px);
        padding: clamp(42px, 5vh, 72px) 0 clamp(60px, 7vh, 92px);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 36px;
        text-align: center;
    }

    .auth-copy {
        width: min(100%, 760px);
        max-width: 760px;
        margin: 0 auto;
        text-align: center;
    }

    .auth-copy h1 {
        margin: 14px auto 18px;
        font-size: clamp(54px, 5vw, 76px);
        line-height: .96;
    }

    .auth-copy p {
        max-width: 620px;
        margin: 0 auto;
        font-size: 15px;
    }

    .auth-card {
        margin: 0 auto;
        text-align: left;
    }

    .auth-card--login {
        width: min(100%, 680px);
        max-width: 680px;
        justify-self: auto;
    }

    .auth-card--register {
        width: min(100%, 860px);
        max-width: 860px;
        justify-self: auto;
    }

    .auth-screen--login {
        gap: 32px;
    }

    .auth-screen--login .auth-copy {
        max-width: 700px;
    }

    .auth-screen--register .auth-copy {
        max-width: 760px;
    }

    .auth-screen--register .access-choice-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    .auth-screen--register .access-choice {
        min-height: 220px;
    }
}

/* ===== FIORA DASHBOARD V20 ===== */
/* Escopo exclusivo do dashboard. Home e autenticação permanecem intactos. */
body:has(.dashboard-v20) {
    background:
        radial-gradient(circle at 84% 8%, rgba(231,214,214,.38), transparent 30%),
        var(--ivory);
}

body:has(.dashboard-v20) .page {
    width: min(calc(100% - 64px), 1320px);
    max-width: 1320px;
    margin: 0 auto;
    padding: 26px 0 88px;
}

body:has(.dashboard-v20) .site-header-inner {
    width: min(calc(100% - 64px), 1320px);
    max-width: 1320px;
    margin: 0 auto;
}

.dashboard-v20 {
    width: 100%;
}

.dash20-eyebrow {
    display: inline-flex;
    align-items: center;
    font-size: 9px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .20em;
    text-transform: uppercase;
    color: var(--magenta);
}

.dash20-eyebrow--light {
    color: rgba(255,255,255,.72);
}

.dash20-welcome {
    min-height: 310px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
    padding: 34px 0 54px;
}

.dash20-welcome-copy {
    max-width: 790px;
}

.dash20-welcome h1 {
    margin: 15px 0 16px;
    font-size: clamp(58px, 6.1vw, 88px);
    line-height: .93;
    letter-spacing: -.055em;
    font-weight: 300;
    color: var(--espresso);
}

.dash20-welcome p {
    max-width: 680px;
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: rgba(73,60,52,.62);
}

.dash20-member {
    flex: 0 0 auto;
    min-width: 168px;
    padding: 14px 18px;
    border: 1px solid rgba(73,60,52,.09);
    border-radius: 999px;
    background: rgba(255,254,252,.66);
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 12px 34px rgba(73,60,52,.045);
}

.dash20-member-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--magenta);
    box-shadow: 0 0 0 5px rgba(163,1,103,.07);
}

.dash20-member div {
    display: grid;
    gap: 2px;
}

.dash20-member small {
    font-size: 8px;
    letter-spacing: .16em;
    color: rgba(73,60,52,.46);
}

.dash20-member strong {
    font-size: 11px;
    letter-spacing: .08em;
    color: var(--espresso);
}

.dash20-daily,
.dash20-access,
.dash20-discover {
    margin-top: 18px;
}

.dash20-access,
.dash20-discover {
    margin-top: 72px;
}

.dash20-section-heading {
    margin-bottom: 24px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 420px);
    align-items: end;
    gap: 36px;
}

.dash20-section-heading--compact {
    grid-template-columns: minmax(0, 1fr) auto;
}

.dash20-section-heading h2 {
    max-width: 760px;
    margin: 11px 0 0;
    font-size: clamp(34px, 3.7vw, 52px);
    line-height: 1.02;
    letter-spacing: -.045em;
    font-weight: 300;
    color: var(--espresso);
}

.dash20-section-heading > p {
    margin: 0 0 5px;
    font-size: 13px;
    line-height: 1.7;
    color: rgba(73,60,52,.52);
}

.dash20-tools {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.dash20-tool {
    min-height: 276px;
    padding: 22px;
    border: 1px solid rgba(73,60,52,.075);
    border-radius: 22px;
    background: rgba(255,254,252,.66);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 28px;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.dash20-tool:hover {
    transform: translateY(-2px);
    border-color: rgba(163,1,103,.13);
    box-shadow: 0 18px 48px rgba(73,60,52,.06);
}

.dash20-tool--primary {
    background:
        radial-gradient(circle at 90% 8%, rgba(255,255,255,.45), transparent 28%),
        linear-gradient(145deg, rgba(231,214,214,.88), rgba(219,202,195,.76));
}

.dash20-tool-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.dash20-tool-icon {
    font-size: 9px;
    letter-spacing: .14em;
    color: rgba(73,60,52,.40);
}

.dash20-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 27px;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--magenta);
    color: #fff;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .12em;
}

.dash20-chip--soft {
    background: rgba(73,60,52,.07);
    color: rgba(73,60,52,.50);
}

.dash20-chip--light {
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.12);
}

.dash20-tool h3 {
    margin: 0 0 10px;
    font-size: 30px;
    line-height: 1;
    letter-spacing: -.035em;
    font-weight: 400;
    color: var(--espresso);
}

.dash20-tool p {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
    color: rgba(73,60,52,.56);
}

.dash20-tool-status {
    font-size: 9px;
    letter-spacing: .10em;
    text-transform: uppercase;
    color: rgba(73,60,52,.38);
}

.dash20-access-count {
    margin-bottom: 6px;
    padding: 9px 13px;
    border: 1px solid rgba(73,60,52,.08);
    border-radius: 999px;
    background: rgba(255,254,252,.62);
    font-size: 9px;
    letter-spacing: .08em;
    color: rgba(73,60,52,.54);
}

.dash20-featured {
    min-height: 390px;
    padding: 30px;
    border-radius: 30px;
    overflow: hidden;
    position: relative;
    background:
        radial-gradient(circle at 93% 6%, rgba(231,214,214,.15), transparent 28%),
        linear-gradient(125deg, #44372f 0%, #5b4a40 52%, #6b594e 100%);
    box-shadow: 0 26px 70px rgba(73,60,52,.13);
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.dash20-featured::after {
    content: "";
    position: absolute;
    width: 330px;
    height: 330px;
    right: -110px;
    bottom: -140px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.06);
    box-shadow: 0 0 0 44px rgba(255,255,255,.025), 0 0 0 90px rgba(255,255,255,.018);
}

.dash20-featured-top,
.dash20-featured-body {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    gap: 24px;
}

.dash20-featured-top {
    align-items: center;
}

.dash20-featured-time {
    font-size: 11px;
    color: rgba(255,255,255,.66);
}

.dash20-featured-body {
    align-items: end;
}

.dash20-featured-copy {
    max-width: 720px;
}

.dash20-featured-number {
    display: inline-block;
    margin-bottom: 10px;
    font-size: 9px;
    letter-spacing: .15em;
    color: rgba(255,255,255,.45);
}

.dash20-featured h3 {
    margin: 0 0 12px;
    font-size: clamp(50px, 6vw, 82px);
    line-height: .92;
    letter-spacing: -.052em;
    font-weight: 300;
    color: #fff;
}

.dash20-featured p {
    max-width: 620px;
    margin: 0;
    font-size: 14px;
    line-height: 1.65;
    color: rgba(255,255,255,.68);
}

.dash20-featured small {
    display: block;
    margin-top: 18px;
    font-size: 9px;
    letter-spacing: .06em;
    color: rgba(255,255,255,.43);
}

.dash20-featured-action {
    min-width: 128px;
    min-height: 52px;
    padding: 0 18px;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.95);
    color: var(--espresso);
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    font-size: 11px;
    font-weight: 600;
    opacity: .88;
}

.dash20-secondary-accesses {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.dash20-access-card {
    min-height: 190px;
    padding: 22px;
    border: 1px solid rgba(73,60,52,.075);
    border-radius: 22px;
    background: rgba(255,254,252,.66);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 22px;
}

.dash20-access-card .dash20-featured-number {
    color: rgba(73,60,52,.38);
}

.dash20-access-card h3 {
    margin: 0 0 8px;
    font-size: 30px;
    font-weight: 400;
    letter-spacing: -.035em;
}

.dash20-access-card p {
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
}

.dash20-access-card-time {
    font-size: 9px;
    letter-spacing: .07em;
    color: var(--magenta);
}

.dash20-empty {
    min-height: 240px;
    padding: 30px;
    border: 1px solid rgba(73,60,52,.08);
    border-radius: 26px;
    background: rgba(255,254,252,.66);
    display: flex;
    align-items: flex-start;
    gap: 22px;
}

.dash20-empty-mark {
    font-size: 28px;
    color: var(--magenta);
}

.dash20-empty h3 {
    margin: 12px 0 9px;
    font-size: 34px;
    font-weight: 300;
    letter-spacing: -.035em;
}

.dash20-empty p {
    margin: 0;
}

.dash20-discover-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.dash20-discover-card {
    min-height: 220px;
    padding: 22px;
    border: 1px solid rgba(73,60,52,.07);
    border-radius: 22px;
    background: rgba(231,214,214,.45);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 28px;
}

.dash20-discover-card:nth-child(even) {
    background: rgba(213,199,187,.40);
}

.dash20-discover-top {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    font-size: 8px;
    letter-spacing: .14em;
    color: rgba(73,60,52,.40);
}

.dash20-discover-card h3 {
    margin: 0 0 8px;
    font-size: 32px;
    line-height: 1;
    letter-spacing: -.035em;
    font-weight: 400;
}

.dash20-discover-card p {
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
    color: rgba(73,60,52,.56);
}

.dash20-all-access {
    margin-top: 72px;
    padding: 34px;
    border-radius: 28px;
    background: var(--espresso);
    color: #fff;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 48px;
    box-shadow: 0 24px 64px rgba(73,60,52,.12);
}

.dash20-all-access h2 {
    max-width: 720px;
    margin: 12px 0 10px;
    font-size: clamp(36px, 4vw, 54px);
    line-height: 1;
    letter-spacing: -.045em;
    font-weight: 300;
    color: #fff;
}

.dash20-all-access p {
    max-width: 700px;
    margin: 0;
    font-size: 13px;
    line-height: 1.65;
    color: rgba(255,255,255,.62);
}

.dash20-all-access-price {
    min-width: 205px;
    text-align: right;
}

.dash20-all-access-price > small {
    font-size: 8px;
    letter-spacing: .13em;
    color: rgba(255,255,255,.48);
}

.dash20-all-access-price div {
    margin: 8px 0 14px;
}

.dash20-all-access-price strong {
    font-size: 30px;
    font-weight: 300;
}

.dash20-all-access-price span {
    margin-left: 4px;
    font-size: 10px;
    color: rgba(255,255,255,.50);
}

.dash20-all-access-price button {
    width: 100%;
    min-height: 42px;
    border: 0;
    border-radius: 999px;
    background: var(--magenta);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .12em;
    opacity: .72;
}

.dash20-mobile-nav {
    display: none;
}

@media (max-width: 980px) {
    .dash20-tools {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dash20-section-heading {
        grid-template-columns: 1fr;
        gap: 14px;
    }
}

@media (max-width: 820px) {
    body:has(.dashboard-v20) {
        padding-bottom: 92px;
    }

    body:has(.dashboard-v20) .site-header {
        padding: 0;
    }

    body:has(.dashboard-v20) .site-header-inner {
        width: calc(100% - 36px);
        min-height: 78px;
    }

    body:has(.dashboard-v20) .brand-logo img {
        width: min(165px, 48vw);
    }

    body:has(.dashboard-v20) .top-nav {
        gap: 10px;
    }

    body:has(.dashboard-v20) .top-nav a {
        font-size: 11px;
    }

    body:has(.dashboard-v20) .top-nav a:first-child {
        display: none;
    }

    body:has(.dashboard-v20) .page {
        width: calc(100% - 32px);
        padding: 10px 0 42px;
    }

    .dash20-welcome {
        min-height: 270px;
        padding: 34px 0 42px;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 24px;
    }

    .dash20-welcome h1 {
        font-size: clamp(48px, 13.8vw, 64px);
    }

    .dash20-welcome p {
        max-width: 520px;
        font-size: 14px;
    }

    .dash20-member {
        min-width: 0;
        width: auto;
        padding: 11px 15px;
    }

    .dash20-section-heading h2 {
        font-size: clamp(32px, 9vw, 44px);
    }

    .dash20-tools {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .dash20-tool {
        min-height: 230px;
        padding: 18px;
        border-radius: 18px;
    }

    .dash20-tool h3 {
        font-size: 26px;
    }

    .dash20-access,
    .dash20-discover,
    .dash20-all-access {
        margin-top: 56px;
    }

    .dash20-featured {
        min-height: 350px;
        padding: 22px;
        border-radius: 24px;
    }

    .dash20-featured h3 {
        font-size: clamp(44px, 12vw, 62px);
    }

    .dash20-featured-body {
        align-items: flex-end;
    }

    .dash20-featured-action {
        min-width: 52px;
        width: 52px;
        padding: 0;
        justify-content: center;
        border-radius: 50%;
    }

    .dash20-featured-action span:first-child {
        display: none;
    }

    .dash20-secondary-accesses,
    .dash20-discover-grid {
        grid-template-columns: 1fr;
    }

    .dash20-all-access {
        padding: 26px;
        flex-direction: column;
        align-items: flex-start;
        border-radius: 24px;
    }

    .dash20-all-access-price {
        width: 100%;
        min-width: 0;
        text-align: left;
    }

    .dash20-mobile-nav {
        position: fixed;
        z-index: 120;
        left: 12px;
        right: 12px;
        bottom: 10px;
        min-height: 64px;
        padding: 7px 5px;
        border: 1px solid rgba(73,60,52,.08);
        border-radius: 22px;
        background: rgba(248,244,239,.94);
        backdrop-filter: blur(18px);
        box-shadow: 0 16px 42px rgba(73,60,52,.14);
        display: grid;
        grid-template-columns: repeat(4, 1fr);
    }

    .dash20-mobile-nav a,
    .dash20-mobile-nav > span {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        font-size: 9px;
        color: rgba(73,60,52,.45);
    }

    .dash20-mobile-nav a > span,
    .dash20-mobile-nav > span > span {
        font-size: 17px;
    }

    .dash20-mobile-nav a.active {
        color: var(--magenta);
    }

    .dash20-mobile-nav .is-disabled {
        opacity: .45;
    }

    body:has(.dashboard-v20) .site-footer {
        padding-bottom: 84px;
    }
}

@media (max-width: 560px) {
    .dash20-welcome {
        min-height: 250px;
        padding-top: 24px;
    }

    .dash20-welcome h1 {
        margin-top: 12px;
        font-size: clamp(44px, 14.5vw, 56px);
    }

    .dash20-tools {
        grid-template-columns: 1fr;
    }

    .dash20-tool {
        min-height: 205px;
    }

    .dash20-featured {
        min-height: 330px;
    }

    .dash20-featured-top {
        align-items: flex-start;
    }

    .dash20-featured-time {
        max-width: 110px;
        text-align: right;
    }

    .dash20-featured-body {
        gap: 14px;
    }

    .dash20-featured p {
        font-size: 13px;
    }

    .dash20-empty {
        padding: 24px;
        flex-direction: column;
    }

    .dash20-all-access h2 {
        font-size: 38px;
    }
}


/* ===== FIORA DASHBOARD V21 ===== */
/* Escopo exclusivo do dashboard-v21. Home e autenticação não são alterados. */

body:has(.dashboard-v21) {
    background:
        radial-gradient(circle at 88% 4%, rgba(231,214,214,.38), transparent 26%),
        radial-gradient(circle at 8% 58%, rgba(213,199,187,.18), transparent 25%),
        var(--ivory);
}

body:has(.dashboard-v21) .page {
    width: min(calc(100% - 64px), 1360px);
    max-width: 1360px;
    margin: 0 auto;
    padding: 20px 0 96px;
}

body:has(.dashboard-v21) .site-header-inner {
    width: min(calc(100% - 64px), 1360px);
    max-width: 1360px;
    margin: 0 auto;
}

.dashboard-v21 {
    width: 100%;
}

.dash21-eyebrow {
    display: inline-flex;
    align-items: center;
    color: var(--magenta);
    font-size: 8px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .19em;
    text-transform: uppercase;
}

.dash21-eyebrow--light {
    color: rgba(255,255,255,.72);
}

.dash21-hero {
    min-height: 300px;
    padding: 38px 0 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
}

.dash21-hero-copy h1 {
    margin: 14px 0 12px;
    color: var(--espresso);
    font-size: clamp(58px, 6.2vw, 88px);
    line-height: .93;
    letter-spacing: -.055em;
    font-weight: 300;
}

.dash21-hero-copy p {
    margin: 0;
    color: rgba(73,60,52,.57);
    font-size: 16px;
}

.dash21-status {
    flex: 0 0 auto;
    min-width: 240px;
    min-height: 58px;
    padding: 0 18px;
    border: 1px solid rgba(73,60,52,.08);
    border-radius: 16px;
    background: rgba(255,254,252,.70);
    box-shadow: 0 14px 38px rgba(73,60,52,.05);
    display: flex;
    align-items: center;
    gap: 12px;
}

.dash21-status-dot {
    width: 8px;
    height: 8px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--magenta);
    box-shadow: 0 0 0 5px rgba(163,1,103,.07);
}

.dash21-status div {
    display: grid;
    gap: 2px;
}

.dash21-status small {
    color: rgba(73,60,52,.42);
    font-size: 7px;
    letter-spacing: .15em;
}

.dash21-status strong {
    color: var(--espresso);
    font-size: 10px;
    letter-spacing: .08em;
}

.dash21-status > span:last-child {
    margin-left: auto;
    color: rgba(73,60,52,.48);
    font-size: 9px;
}

.dash21-current,
.dash21-continue,
.dash21-explore,
.dash21-beyond {
    margin-top: 64px;
}

.dash21-heading {
    margin-bottom: 24px;
}

.dash21-heading--split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 420px);
    gap: 36px;
    align-items: end;
}

.dash21-heading h2 {
    max-width: 800px;
    margin: 10px 0 0;
    color: var(--espresso);
    font-size: clamp(34px, 3.7vw, 50px);
    line-height: 1.03;
    letter-spacing: -.045em;
    font-weight: 300;
}

.dash21-heading--split > p {
    margin: 0 0 4px;
    color: rgba(73,60,52,.48);
    font-size: 12px;
    line-height: 1.7;
}

.dash21-movement-hero {
    position: relative;
    isolation: isolate;
    min-height: 460px;
    padding: 30px;
    border-radius: 30px;
    overflow: hidden;
    color: #fff;
    box-shadow: 0 30px 78px rgba(73,60,52,.15);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.dash21-movement-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -3;
    background:
        linear-gradient(115deg, rgba(42,31,25,.96), rgba(88,68,57,.88)),
        url("/assets/images/fiorafit-hero.jpg") center 48% / cover no-repeat;
    filter: saturate(.72);
}

.dash21-movement-hero--rhythm::before {
    background:
        linear-gradient(115deg, rgba(51,36,31,.94), rgba(125,74,91,.72)),
        url("/assets/images/fiorafit-hero.jpg") center 36% / cover no-repeat;
}

.dash21-movement-hero--flow::before {
    background:
        linear-gradient(115deg, rgba(55,47,42,.93), rgba(151,120,118,.70)),
        url("/assets/images/fiorafit-hero.jpg") center 60% / cover no-repeat;
}

.dash21-movement-overlay {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        radial-gradient(circle at 88% 16%, rgba(255,255,255,.13), transparent 25%),
        linear-gradient(90deg, rgba(28,20,16,.58), rgba(28,20,16,.10) 74%);
}

.dash21-movement-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.dash21-pill {
    min-height: 28px;
    padding: 0 11px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 7px;
    font-weight: 700;
    letter-spacing: .13em;
}

.dash21-pill--light {
    color: #fff;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.12);
    backdrop-filter: blur(8px);
}

.dash21-time {
    color: rgba(255,255,255,.70);
    font-size: 10px;
}

.dash21-movement-content {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 36px;
}

.dash21-movement-content > div {
    max-width: 760px;
}

.dash21-index {
    display: inline-block;
    margin-bottom: 10px;
    color: rgba(255,255,255,.42);
    font-size: 8px;
    letter-spacing: .16em;
}

.dash21-movement-content h3 {
    margin: 0;
    color: #fff;
    font-size: clamp(62px, 7.8vw, 108px);
    line-height: .86;
    letter-spacing: -.055em;
    font-weight: 300;
}

.dash21-movement-content strong {
    display: block;
    margin-top: 18px;
    color: rgba(255,255,255,.94);
    font-size: 15px;
    font-weight: 500;
}

.dash21-movement-content p {
    max-width: 580px;
    margin: 10px 0 0;
    color: rgba(255,255,255,.66);
    font-size: 13px;
    line-height: 1.65;
}

.dash21-movement-content small {
    display: block;
    margin-top: 18px;
    color: rgba(255,255,255,.42);
    font-size: 8px;
    letter-spacing: .07em;
}

.dash21-circle-action {
    width: 108px;
    height: 108px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: rgba(255,255,255,.95);
    color: var(--espresso);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    box-shadow: 0 14px 36px rgba(0,0,0,.12);
    transition: transform .2s ease;
}

.dash21-circle-action:hover {
    transform: translateY(-3px);
}

.dash21-circle-action span {
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .10em;
}

.dash21-circle-action b {
    font-size: 20px;
    font-weight: 300;
}

.dash21-empty {
    min-height: 260px;
    padding: 28px;
    border: 1px solid rgba(73,60,52,.08);
    border-radius: 26px;
    background: rgba(255,254,252,.68);
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.dash21-empty-icon {
    color: var(--magenta);
    font-size: 28px;
}

.dash21-empty h3 {
    margin: 2px 0 8px;
    color: var(--espresso);
    font-size: 34px;
    font-weight: 300;
}

.dash21-empty p {
    margin: 0;
}

.dash21-content-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1fr;
    gap: 14px;
}

.dash21-content-card {
    min-height: 280px;
    padding: 22px;
    border: 1px solid rgba(73,60,52,.07);
    border-radius: 22px;
    background: rgba(255,254,252,.66);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 32px;
}

.dash21-content-card--lead {
    background:
        radial-gradient(circle at 92% 6%, rgba(255,255,255,.42), transparent 28%),
        linear-gradient(145deg, rgba(231,214,214,.88), rgba(214,195,188,.72));
}

.dash21-content-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: rgba(73,60,52,.40);
    font-size: 7px;
    letter-spacing: .14em;
}

.dash21-content-card h3 {
    margin: 0 0 9px;
    color: var(--espresso);
    font-size: 30px;
    line-height: 1.03;
    letter-spacing: -.035em;
    font-weight: 400;
}

.dash21-content-card p {
    margin: 0;
    color: rgba(73,60,52,.54);
    font-size: 12px;
    line-height: 1.6;
}

.dash21-content-link {
    display: inline-block;
    margin-top: 20px;
    color: var(--magenta);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .11em;
}

.dash21-explore-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.dash21-explore-card {
    min-height: 330px;
    padding: 24px;
    border-radius: 24px;
    border: 1px solid rgba(73,60,52,.06);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 34px;
    overflow: hidden;
    position: relative;
}

.dash21-explore-card--rhythm {
    background: linear-gradient(145deg, #E8D9D8, #DDBFCB);
}

.dash21-explore-card--flow {
    background: linear-gradient(145deg, #DDD1C7, #CDBDB1);
}

.dash21-explore-card--force {
    background: linear-gradient(145deg, #D8CBC1, #C2AFA2);
}

.dash21-explore-card--nourish {
    background: linear-gradient(145deg, #E9DDCF, #D8C8B8);
}

.dash21-explore-card--live,
.dash21-explore-card--generic {
    background: linear-gradient(145deg, #E7D6D6, #D5C7BB);
}

.dash21-explore-card::after {
    content: "";
    position: absolute;
    width: 250px;
    height: 250px;
    right: -95px;
    top: -100px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.28);
    box-shadow: 0 0 0 36px rgba(255,255,255,.07);
}

.dash21-explore-top,
.dash21-explore-bottom,
.dash21-explore-card > div {
    position: relative;
    z-index: 2;
}

.dash21-explore-top,
.dash21-explore-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.dash21-explore-top {
    color: rgba(73,60,52,.40);
    font-size: 7px;
    letter-spacing: .14em;
}

.dash21-preview {
    padding: 7px 9px;
    border-radius: 999px;
    background: rgba(255,255,255,.34);
    color: rgba(73,60,52,.56);
    font-weight: 700;
}

.dash21-explore-card h3 {
    margin: 0;
    color: var(--espresso);
    font-size: clamp(42px, 4.4vw, 60px);
    line-height: .92;
    letter-spacing: -.045em;
    font-weight: 300;
}

.dash21-explore-card strong {
    display: block;
    margin-top: 13px;
    color: rgba(73,60,52,.76);
    font-size: 12px;
    font-weight: 600;
}

.dash21-explore-card p {
    max-width: 460px;
    margin: 9px 0 0;
    color: rgba(73,60,52,.56);
    font-size: 12px;
    line-height: 1.6;
}

.dash21-explore-bottom {
    padding-top: 16px;
    border-top: 1px solid rgba(73,60,52,.08);
    color: rgba(73,60,52,.58);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .11em;
}

.dash21-all-access {
    margin-top: 72px;
    min-height: 360px;
    padding: 38px;
    border-radius: 30px;
    background:
        radial-gradient(circle at 86% 12%, rgba(231,214,214,.12), transparent 28%),
        linear-gradient(120deg, #392D27, #514138 62%, #654D58);
    color: #fff;
    box-shadow: 0 30px 78px rgba(73,60,52,.15);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 54px;
}

.dash21-all-access-copy {
    max-width: 820px;
}

.dash21-all-access h2 {
    margin: 14px 0 16px;
    color: #fff;
    font-size: clamp(42px, 4.8vw, 68px);
    line-height: .95;
    letter-spacing: -.05em;
    font-weight: 300;
}

.dash21-all-access-copy > p {
    margin: 0;
    color: rgba(255,255,255,.86);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .08em;
}

.dash21-benefit-line {
    margin-top: 28px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    color: rgba(255,255,255,.54);
    font-size: 9px;
    letter-spacing: .05em;
}

.dash21-benefit-line i {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--magenta);
}

.dash21-all-access-offer {
    min-width: 240px;
    padding: 24px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 22px;
    background: rgba(255,255,255,.07);
    backdrop-filter: blur(12px);
}

.dash21-all-access-offer > small {
    color: rgba(255,255,255,.48);
    font-size: 7px;
    letter-spacing: .14em;
}

.dash21-price {
    margin: 10px 0 20px;
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.dash21-price strong {
    color: #fff;
    font-size: 34px;
    font-weight: 300;
}

.dash21-price span {
    color: rgba(255,255,255,.50);
    font-size: 10px;
}

.dash21-all-access-offer button {
    width: 100%;
    min-height: 48px;
    border: 0;
    border-radius: 11px;
    background: var(--magenta);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .09em;
    opacity: 1;
}

.dash21-coming {
    display: block;
    margin-top: 10px;
    color: rgba(255,255,255,.40);
    font-size: 8px;
    text-align: center;
}

.dash21-beyond-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.dash21-beyond-grid article {
    min-height: 220px;
    padding: 22px;
    border: 1px solid rgba(73,60,52,.07);
    border-radius: 20px;
    background: rgba(255,254,252,.62);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.dash21-beyond-grid article > span {
    margin-bottom: auto;
    color: rgba(73,60,52,.35);
    font-size: 8px;
    letter-spacing: .13em;
}

.dash21-beyond-grid h3 {
    margin: 0 0 8px;
    color: var(--espresso);
    font-size: 28px;
    font-weight: 400;
    letter-spacing: -.035em;
}

.dash21-beyond-grid p {
    margin: 0;
    color: rgba(73,60,52,.52);
    font-size: 12px;
    line-height: 1.6;
}

.dash21-mobile-nav {
    display: none;
}

@media (max-width: 980px) {
    .dash21-heading--split {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .dash21-content-grid {
        grid-template-columns: 1fr 1fr;
    }

    .dash21-content-card--lead {
        grid-column: 1 / -1;
    }
}

@media (max-width: 820px) {
    body:has(.dashboard-v21) {
        padding-bottom: 90px;
    }

    body:has(.dashboard-v21) .site-header-inner {
        width: calc(100% - 36px);
        min-height: 78px;
    }

    body:has(.dashboard-v21) .brand-logo img {
        width: min(165px, 48vw);
    }

    body:has(.dashboard-v21) .top-nav {
        gap: 10px;
    }

    body:has(.dashboard-v21) .top-nav a {
        font-size: 11px;
    }

    body:has(.dashboard-v21) .top-nav a:first-child {
        display: none;
    }

    body:has(.dashboard-v21) .page {
        width: calc(100% - 32px);
        padding: 8px 0 42px;
    }

    .dash21-hero {
        min-height: 245px;
        padding: 28px 0 38px;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 22px;
    }

    .dash21-hero-copy h1 {
        font-size: clamp(48px, 13vw, 62px);
    }

    .dash21-status {
        width: 100%;
        min-width: 0;
    }

    .dash21-current,
    .dash21-continue,
    .dash21-explore,
    .dash21-beyond {
        margin-top: 50px;
    }

    .dash21-heading h2 {
        font-size: clamp(30px, 8.4vw, 42px);
    }

    .dash21-movement-hero {
        min-height: 390px;
        padding: 22px;
        border-radius: 24px;
    }

    .dash21-movement-hero::before {
        background-position: 61% center;
    }

    .dash21-movement-content h3 {
        font-size: clamp(52px, 15vw, 76px);
    }

    .dash21-circle-action {
        width: 74px;
        height: 74px;
    }

    .dash21-circle-action span {
        display: none;
    }

    .dash21-content-grid,
    .dash21-explore-grid,
    .dash21-beyond-grid {
        grid-template-columns: 1fr;
    }

    .dash21-content-card--lead {
        grid-column: auto;
    }

    .dash21-content-card {
        min-height: 235px;
    }

    .dash21-explore-card {
        min-height: 280px;
    }

    .dash21-all-access {
        margin-top: 54px;
        min-height: 0;
        padding: 26px;
        border-radius: 24px;
        flex-direction: column;
        align-items: flex-start;
        gap: 34px;
    }

    .dash21-all-access h2 {
        font-size: clamp(38px, 10vw, 50px);
    }

    .dash21-all-access-offer {
        width: 100%;
        min-width: 0;
    }

    .dash21-mobile-nav {
        position: fixed;
        z-index: 120;
        left: 12px;
        right: 12px;
        bottom: 10px;
        min-height: 62px;
        padding: 6px;
        border: 1px solid rgba(73,60,52,.08);
        border-radius: 20px;
        background: rgba(248,244,239,.94);
        backdrop-filter: blur(18px);
        box-shadow: 0 16px 42px rgba(73,60,52,.14);
        display: grid;
        grid-template-columns: repeat(4, 1fr);
    }

    .dash21-mobile-nav a {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        color: rgba(73,60,52,.45);
        font-size: 8px;
    }

    .dash21-mobile-nav a > span {
        font-size: 16px;
    }

    .dash21-mobile-nav a.active {
        color: var(--magenta);
    }
}

@media (max-width: 560px) {
    .dash21-hero {
        min-height: 225px;
        padding-top: 20px;
    }

    .dash21-hero-copy h1 {
        font-size: clamp(44px, 14vw, 56px);
    }

    .dash21-movement-hero {
        min-height: 360px;
        padding: 20px;
    }

    .dash21-movement-content {
        gap: 16px;
    }

    .dash21-movement-content strong {
        font-size: 13px;
    }

    .dash21-movement-content p {
        font-size: 12px;
    }

    .dash21-circle-action {
        width: 58px;
        height: 58px;
    }

    .dash21-content-card,
    .dash21-explore-card,
    .dash21-beyond-grid article {
        border-radius: 18px;
    }

    .dash21-explore-card h3 {
        font-size: 44px;
    }

    .dash21-benefit-line {
        gap: 8px;
    }
}


/* ===== FIORA DASHBOARD V22 IMAGE SHOWCASE ===== */
/* Vitrine fotográfica oficial: FORÇA · RITMO · FLUIR · NUTRIR · VIVER */

.dashboard-v21 .dash21-movement-hero::before {
    background:
        linear-gradient(90deg, rgba(22,15,11,.72), rgba(22,15,11,.20) 62%, rgba(22,15,11,.12)),
        var(--dash21-image) center center / cover no-repeat;
    filter: saturate(.78) contrast(1.03);
    transform: scale(1.015);
}

.dashboard-v21 .dash21-movement-overlay {
    background:
        linear-gradient(180deg, rgba(18,12,9,.12), rgba(18,12,9,.06) 38%, rgba(18,12,9,.48) 100%),
        linear-gradient(90deg, rgba(18,12,9,.42), transparent 68%);
}

.dashboard-v21 .dash21-explore-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.dashboard-v21 .dash21-explore-card {
    position: relative;
    isolation: isolate;
    min-height: 410px;
    padding: 24px;
    border: 0;
    border-radius: 26px;
    overflow: hidden;
    color: #fff;
    background: #3A2F29;
    box-shadow: 0 22px 58px rgba(73,60,52,.12);
}

.dashboard-v21 .dash21-explore-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -3;
    background-image: var(--dash21-card-image);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transform: scale(1.015);
    transition: transform .45s ease;
}

.dashboard-v21 .dash21-explore-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    width: auto;
    height: auto;
    right: auto;
    top: auto;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background:
        linear-gradient(180deg, rgba(18,12,9,.14) 0%, rgba(18,12,9,.08) 28%, rgba(18,12,9,.72) 100%),
        linear-gradient(90deg, rgba(18,12,9,.18), transparent 70%);
}

.dashboard-v21 .dash21-explore-card:hover::before {
    transform: scale(1.045);
}

.dashboard-v21 .dash21-explore-top {
    color: rgba(255,255,255,.72);
}

.dashboard-v21 .dash21-preview {
    border: 1px solid rgba(255,255,255,.22);
    background: rgba(24,16,12,.26);
    color: rgba(255,255,255,.92);
    backdrop-filter: blur(10px);
}

.dashboard-v21 .dash21-explore-card h3 {
    color: #fff;
    font-size: clamp(48px, 5vw, 70px);
    text-shadow: 0 3px 22px rgba(0,0,0,.22);
}

.dashboard-v21 .dash21-explore-card strong {
    color: rgba(255,255,255,.95);
    font-size: 13px;
}

.dashboard-v21 .dash21-explore-card p {
    max-width: 500px;
    color: rgba(255,255,255,.74);
    font-size: 12px;
}

.dashboard-v21 .dash21-teasers {
    margin-top: 17px;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.dashboard-v21 .dash21-teasers span {
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: rgba(22,15,11,.24);
    color: rgba(255,255,255,.90);
    display: inline-flex;
    align-items: center;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .04em;
    backdrop-filter: blur(8px);
}

.dashboard-v21 .dash21-explore-bottom {
    border-top-color: rgba(255,255,255,.18);
    color: rgba(255,255,255,.90);
}

.dashboard-v21 .dash21-explore-card--rhythm,
.dashboard-v21 .dash21-explore-card--flow,
.dashboard-v21 .dash21-explore-card--force,
.dashboard-v21 .dash21-explore-card--nourish,
.dashboard-v21 .dash21-explore-card--live,
.dashboard-v21 .dash21-explore-card--generic {
    background: #3A2F29;
}

.dashboard-v21 .dash21-all-access {
    background:
        radial-gradient(circle at 86% 12%, rgba(231,214,214,.14), transparent 28%),
        linear-gradient(120deg, #2F241F, #46372F 58%, #624352);
}

.dashboard-v21 .dash21-all-access-offer button {
    cursor: default;
}

@media (max-width: 820px) {
    .dashboard-v21 .dash21-explore-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-v21 .dash21-explore-card {
        min-height: 390px;
    }

    .dashboard-v21 .dash21-explore-card::before {
        background-position: center center;
    }
}

@media (max-width: 560px) {
    .dashboard-v21 .dash21-explore-card {
        min-height: 360px;
        padding: 20px;
    }

    .dashboard-v21 .dash21-explore-card h3 {
        font-size: 48px;
    }

    .dashboard-v21 .dash21-teasers {
        gap: 6px;
    }
}


/* ===== FIORA DASHBOARD V23 SALES ===== */
/* Dashboard de não assinantes: mais desejo, mais contraste, menos interface de sistema. */

/* A vitrine entra imediatamente depois de SEU MOVIMENTO */
.dashboard-v21 .dash21-explore {
    margin-top: 56px;
}

/* Mais contraste fotográfico sem matar a imagem */
.dashboard-v21 .dash21-explore-card::after {
    background:
        linear-gradient(
            90deg,
            rgba(20,14,11,.60) 0%,
            rgba(20,14,11,.45) 38%,
            rgba(20,14,11,.18) 70%,
            rgba(20,14,11,.08) 100%
        ),
        linear-gradient(
            180deg,
            rgba(20,14,11,.10) 0%,
            rgba(20,14,11,.06) 50%,
            rgba(20,14,11,.50) 100%
        );
}

.dashboard-v21 .dash21-explore-card h3 {
    color: #fff;
    text-shadow:
        0 2px 5px rgba(0,0,0,.38),
        0 8px 28px rgba(0,0,0,.42);
}

.dashboard-v21 .dash21-explore-card strong {
    color: #fff;
    font-weight: 700;
    text-shadow:
        0 2px 5px rgba(0,0,0,.58),
        0 6px 18px rgba(0,0,0,.34);
}

.dashboard-v21 .dash21-explore-card p {
    color: rgba(255,255,255,.94);
    font-weight: 500;
    line-height: 1.6;
    text-shadow:
        0 2px 5px rgba(0,0,0,.62),
        0 6px 18px rgba(0,0,0,.32);
}

/* Status bloqueado com cara de produto premium */
.dashboard-v21 .dash21-preview {
    min-height: 30px;
    padding: 0 11px;
    border: 1px solid rgba(255,255,255,.26);
    border-radius: 999px;
    background: rgba(24,16,12,.42);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 7px;
    font-weight: 700;
    letter-spacing: .10em;
    backdrop-filter: blur(12px);
    box-shadow: 0 6px 20px rgba(0,0,0,.10);
}

/* CTA dos cards sem setas/emoji */
.dashboard-v21 .dash21-explore-bottom {
    justify-content: flex-start;
    color: #fff;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .12em;
    text-shadow: 0 2px 10px rgba(0,0,0,.26);
}

.dashboard-v21 .dash21-circle-action {
    gap: 0;
}

.dashboard-v21 .dash21-circle-action b {
    display: none !important;
}

/* All Access mais comercial */
.dashboard-v21 .dash21-all-access {
    margin-top: 64px;
}

.dashboard-v21 .dash21-all-access h2 {
    max-width: 800px;
}

.dashboard-v21 .dash21-all-access-offer button {
    box-shadow: 0 14px 34px rgba(163,1,103,.24);
}

/* Navegação mobile limpa: sem emojis */
.dashboard-v21 + .dash21-mobile-nav a,
.dash21-mobile-nav a {
    gap: 0;
    font-size: 9px;
    font-weight: 600;
}

.dash21-mobile-nav a > span {
    display: none !important;
}

@media (max-width: 820px) {
    .dashboard-v21 .dash21-explore {
        margin-top: 46px;
    }
}

/* ===== FIORAFIT DASHBOARD V24 — CONTRASTE DOS CARDS ===== */
/* Overlay real em toda a fotografia. Corrige regras antigas do ::after. */
.dashboard-v21 .dash21-explore-card::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    border-radius: inherit !important;
    box-shadow: none !important;
    pointer-events: none;
    z-index: -2 !important;
    background:
        linear-gradient(90deg,
            rgba(18, 11, 8, .68) 0%,
            rgba(18, 11, 8, .55) 32%,
            rgba(18, 11, 8, .30) 58%,
            rgba(18, 11, 8, .12) 82%,
            rgba(18, 11, 8, .08) 100%),
        linear-gradient(180deg,
            rgba(12, 8, 6, .12) 0%,
            rgba(12, 8, 6, .10) 45%,
            rgba(12, 8, 6, .62) 100%) !important;
}

.dashboard-v21 .dash21-explore-card h3 {
    color: #fff !important;
    text-shadow: 0 3px 8px rgba(0,0,0,.58), 0 12px 32px rgba(0,0,0,.36) !important;
}
.dashboard-v21 .dash21-explore-card strong,
.dashboard-v21 .dash21-explore-card p {
    text-shadow: 0 2px 6px rgba(0,0,0,.78), 0 8px 22px rgba(0,0,0,.38) !important;
}
.dashboard-v21 .dash21-teasers span {
    text-shadow: 0 1px 5px rgba(0,0,0,.35);
}


/* ===== FIORA DASHBOARD V25 DESKTOP SPACING ===== */
/* Desktop: reduz vazios e deixa as frases ocuparem melhor a largura disponível. */

@media (min-width: 901px) {

    /* Saudação mais larga e com menos sensação de vazio */
    .dashboard-v21 .dash21-hero {
        min-height: 230px;
        padding: 28px 0 34px;
    }

    .dashboard-v21 .dash21-hero-copy {
        width: min(72%, 980px);
        max-width: 980px;
    }

    .dashboard-v21 .dash21-hero-copy h1 {
        width: 100%;
        max-width: none;
        white-space: nowrap;
        font-size: clamp(58px, 5.6vw, 82px);
    }

    .dashboard-v21 .dash21-current {
        margin-top: 38px;
    }

    /* Títulos de seção usando praticamente toda a linha */
    .dashboard-v21 .dash21-heading--split {
        display: block;
        width: 100%;
    }

    .dashboard-v21 .dash21-heading--split > div {
        width: 100%;
        max-width: none;
    }

    .dashboard-v21 .dash21-heading h2 {
        width: 100%;
        max-width: none;
        font-size: clamp(38px, 3.45vw, 52px);
        line-height: 1.03;
    }

    /* Texto auxiliar abaixo do título, sem ocupar uma coluna inteira à direita */
    .dashboard-v21 .dash21-heading--split > p {
        width: min(100%, 760px);
        max-width: 760px;
        margin: 16px 0 0;
        font-size: 12px;
        line-height: 1.7;
    }

    .dashboard-v21 .dash21-explore {
        margin-top: 48px;
    }

    .dashboard-v21 .dash21-explore .dash21-heading {
        margin-bottom: 28px;
    }
}


/* ===== FIORAFIT DASHBOARD V26 — ÍCONES + FECHAMENTO DE VENDA ===== */

.dashboard-v21 .dash21-beyond-grid article > .dash21-beyond-icon {
    width: 27px;
    height: 27px;
    margin-bottom: auto;
    color: var(--magenta);
    opacity: .78;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.dashboard-v21 .dash21-beyond-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dashboard-v21 .dash21-beyond-grid article:last-child .dash21-beyond-icon svg {
    fill: none;
    stroke-width: 1.15;
}

.dashboard-v21 .dash21-final-cta {
    position: relative;
    margin: 84px calc(50% - 50vw) 0;
    padding: 92px max(5vw, 28px) 30px;
    overflow: hidden;
    background:
        radial-gradient(circle at 82% 15%, rgba(190,0,112,.16), transparent 31%),
        linear-gradient(135deg, #211611 0%, #38261f 56%, #1d1410 100%);
    color: #fff;
}

.dashboard-v21 .dash21-final-cta-inner {
    width: min(1180px, 100%);
    margin: 0 auto;
    text-align: center;
}

.dashboard-v21 .dash21-final-kicker {
    display: block;
    margin-bottom: 24px;
    color: rgba(255,255,255,.62);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .24em;
}

.dashboard-v21 .dash21-final-cta h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(52px, 6vw, 94px);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -.055em;
}

.dashboard-v21 .dash21-final-cta > .dash21-final-cta-inner > p {
    margin: 24px auto 0;
    color: rgba(255,255,255,.92);
    font-size: clamp(24px, 2.7vw, 42px);
    font-weight: 300;
    line-height: 1.15;
    letter-spacing: -.035em;
}

.dashboard-v21 .dash21-final-cta p strong {
    color: #e00086;
    font-weight: 500;
}

.dashboard-v21 .dash21-final-brand {
    margin-top: 52px;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .04em;
}

.dashboard-v21 .dash21-final-cta small {
    display: block;
    margin-top: 9px;
    color: rgba(255,255,255,.56);
    font-size: 11px;
    letter-spacing: .035em;
}

.dashboard-v21 .dash21-final-cta button {
    min-width: 310px;
    min-height: 58px;
    margin-top: 30px;
    padding: 0 30px;
    border: 0;
    border-radius: 999px;
    background: var(--magenta);
    color: #fff;
    font: inherit;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .075em;
    box-shadow: 0 16px 42px rgba(163,1,103,.28);
    opacity: 1;
}

.dashboard-v21 .dash21-footer {
    width: min(1380px, 100%);
    margin: 86px auto 0;
}

.dashboard-v21 .dash21-footer > div {
    width: 100%;
    height: 1px;
    background: rgba(255,255,255,.14);
}

.dashboard-v21 .dash21-footer p {
    margin: 22px 0 0;
    color: rgba(255,255,255,.42);
    font-size: 9px;
    font-weight: 500;
    letter-spacing: .08em;
    text-align: center;
}

@media (max-width: 820px) {
    .dashboard-v21 .dash21-beyond-grid article > .dash21-beyond-icon {
        width: 24px;
        height: 24px;
    }

    .dashboard-v21 .dash21-final-cta {
        margin-top: 58px;
        padding: 72px 22px 104px;
    }

    .dashboard-v21 .dash21-final-kicker {
        margin-bottom: 20px;
        font-size: 8px;
    }

    .dashboard-v21 .dash21-final-cta h2 {
        font-size: clamp(46px, 14vw, 68px);
    }

    .dashboard-v21 .dash21-final-cta > .dash21-final-cta-inner > p {
        max-width: 420px;
        margin-top: 20px;
        font-size: 25px;
        line-height: 1.18;
    }

    .dashboard-v21 .dash21-final-brand {
        margin-top: 42px;
        font-size: 15px;
    }

    .dashboard-v21 .dash21-final-cta small {
        max-width: 300px;
        margin: 8px auto 0;
        line-height: 1.6;
    }

    .dashboard-v21 .dash21-final-cta button {
        width: 100%;
        min-width: 0;
        min-height: 56px;
        margin-top: 26px;
    }

    .dashboard-v21 .dash21-footer {
        margin-top: 64px;
    }

    .dashboard-v21 .dash21-footer p {
        font-size: 8px;
        line-height: 1.5;
    }
}


/* ===== FIORAFIT DASHBOARD V27 SUBSCRIBER ===== */
/* Estado exclusivo para assinantes All Access. */

body:has(.dashboard-v27-subscriber) {
    background:
        radial-gradient(circle at 90% 2%, rgba(231,214,214,.36), transparent 25%),
        var(--ivory);
}

body:has(.dashboard-v27-subscriber) .page {
    width: min(calc(100% - 64px), 1380px);
    max-width: 1380px;
    margin: 0 auto;
    padding: 18px 0 76px;
}

body:has(.dashboard-v27-subscriber) .site-header-inner {
    width: min(calc(100% - 64px), 1380px);
    max-width: 1380px;
    margin: 0 auto;
}

.dashboard-v27-subscriber {
    width: 100%;
}

.dash27-eyebrow {
    color: var(--magenta);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .19em;
}

.dash27-eyebrow--light {
    color: rgba(255,255,255,.62);
}

.dash27-hero {
    min-height: 270px;
    padding: 30px 0 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
}

.dash27-hero h1 {
    margin: 14px 0 10px;
    color: var(--espresso);
    font-size: clamp(58px, 6vw, 86px);
    line-height: .94;
    font-weight: 300;
    letter-spacing: -.055em;
}

.dash27-hero p {
    margin: 0;
    color: rgba(73,60,52,.56);
    font-size: 16px;
}

.dash27-status {
    min-width: 255px;
    min-height: 64px;
    padding: 0 18px;
    border: 1px solid rgba(73,60,52,.08);
    border-radius: 17px;
    background: rgba(255,254,252,.76);
    box-shadow: 0 14px 40px rgba(73,60,52,.06);
    display: flex;
    align-items: center;
    gap: 13px;
}

.dash27-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--magenta);
    box-shadow: 0 0 0 5px rgba(163,1,103,.07);
}

.dash27-status div {
    display: grid;
    gap: 2px;
}

.dash27-status small {
    color: rgba(73,60,52,.42);
    font-size: 7px;
    letter-spacing: .14em;
}

.dash27-status strong {
    color: var(--espresso);
    font-size: 10px;
    letter-spacing: .07em;
}

.dash27-welcome {
    padding: 40px 0 10px;
}

.dash27-welcome h2,
.dash27-section-heading h2 {
    margin: 10px 0 0;
    max-width: 1040px;
    color: var(--espresso);
    font-size: clamp(38px, 4vw, 58px);
    line-height: 1.02;
    letter-spacing: -.045em;
    font-weight: 300;
}

.dash27-welcome > p {
    margin: 18px 0 0;
    color: rgba(73,60,52,.52);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .10em;
}

.dash27-movements,
.dash27-recommended,
.dash27-beyond {
    margin-top: 62px;
}

.dash27-section-heading {
    margin-bottom: 26px;
}

.dash27-section-heading--split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 430px);
    gap: 44px;
    align-items: end;
}

.dash27-section-heading--split > p {
    margin: 0 0 4px;
    color: rgba(73,60,52,.48);
    font-size: 12px;
    line-height: 1.7;
}

.dash27-movement-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 18px;
}

.dash27-movement-card {
    position: relative;
    isolation: isolate;
    min-height: 420px;
    padding: 24px;
    border-radius: 28px;
    overflow: hidden;
    color: #fff;
    box-shadow: 0 24px 60px rgba(73,60,52,.13);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.dash27-movement-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -3;
    background: var(--dash27-image) center center / cover no-repeat;
    transform: scale(1.015);
    transition: transform .4s ease;
}

.dash27-movement-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(90deg, rgba(17,11,8,.62), rgba(17,11,8,.18) 68%),
        linear-gradient(180deg, rgba(17,11,8,.10), rgba(17,11,8,.08) 42%, rgba(17,11,8,.62) 100%);
}

.dash27-movement-card:hover::before {
    transform: scale(1.045);
}

.dash27-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    color: rgba(255,255,255,.72);
    font-size: 7px;
    font-weight: 700;
    letter-spacing: .12em;
}

.dash27-unlocked {
    min-height: 29px;
    padding: 0 11px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 999px;
    background: rgba(20,13,10,.28);
    color: #fff;
    display: inline-flex;
    align-items: center;
    backdrop-filter: blur(10px);
}

.dash27-card-copy h3 {
    margin: 0;
    color: #fff;
    font-size: clamp(52px, 5.6vw, 76px);
    line-height: .9;
    letter-spacing: -.05em;
    font-weight: 300;
    text-shadow: 0 4px 24px rgba(0,0,0,.30);
}

.dash27-card-copy strong {
    display: block;
    margin-top: 14px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    text-shadow: 0 2px 10px rgba(0,0,0,.35);
}

.dash27-card-copy p {
    max-width: 480px;
    margin: 9px 0 0;
    color: rgba(255,255,255,.82);
    font-size: 12px;
    line-height: 1.6;
    text-shadow: 0 2px 9px rgba(0,0,0,.30);
}

.dash27-card-action {
    display: inline-block;
    margin-top: 20px;
    color: rgba(255,255,255,.76);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .11em;
}

.dash27-recommended-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1fr;
    gap: 14px;
}

.dash27-recommended-card {
    min-height: 270px;
    padding: 22px;
    border: 1px solid rgba(73,60,52,.07);
    border-radius: 22px;
    background: rgba(255,254,252,.68);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.dash27-recommended-card--feature {
    background:
        radial-gradient(circle at 90% 8%, rgba(255,255,255,.40), transparent 29%),
        linear-gradient(145deg, rgba(231,214,214,.90), rgba(215,196,188,.74));
}

.dash27-recommended-card > span {
    color: rgba(73,60,52,.40);
    font-size: 7px;
    font-weight: 700;
    letter-spacing: .14em;
}

.dash27-recommended-card h3 {
    margin: 0 0 9px;
    color: var(--espresso);
    font-size: 29px;
    line-height: 1.03;
    font-weight: 400;
    letter-spacing: -.035em;
}

.dash27-recommended-card p {
    margin: 0;
    color: rgba(73,60,52,.53);
    font-size: 12px;
    line-height: 1.6;
}

.dash27-recommended-card small {
    display: inline-block;
    margin-top: 18px;
    color: var(--magenta);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .10em;
}

.dash27-new {
    margin-top: 72px;
    min-height: 330px;
    padding: 38px;
    border-radius: 30px;
    background:
        radial-gradient(circle at 85% 15%, rgba(195,0,116,.16), transparent 28%),
        linear-gradient(120deg,#2e211c,#4a382f 62%,#624554);
    color: #fff;
    box-shadow: 0 28px 72px rgba(73,60,52,.14);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 44px;
}

.dash27-new-copy {
    max-width: 850px;
}

.dash27-new h2 {
    margin: 14px 0 14px;
    color: #fff;
    font-size: clamp(42px, 4.7vw, 66px);
    line-height: .96;
    letter-spacing: -.05em;
    font-weight: 300;
}

.dash27-new p {
    max-width: 650px;
    margin: 0;
    color: rgba(255,255,255,.66);
    font-size: 12px;
    line-height: 1.7;
}

.dash27-new-badge {
    min-width: 190px;
    padding: 20px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 20px;
    background: rgba(255,255,255,.07);
    display: grid;
    gap: 6px;
    backdrop-filter: blur(10px);
}

.dash27-new-badge small {
    color: rgba(255,255,255,.45);
    font-size: 7px;
    letter-spacing: .14em;
}

.dash27-new-badge strong {
    color: #fff;
    font-size: 12px;
    letter-spacing: .08em;
}

.dash27-beyond-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 14px;
}

.dash27-beyond-grid article {
    min-height: 220px;
    padding: 22px;
    border: 1px solid rgba(73,60,52,.07);
    border-radius: 20px;
    background: rgba(255,254,252,.64);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.dash27-icon {
    width: 27px;
    height: 27px;
    margin-bottom: auto;
    color: var(--magenta);
    opacity: .78;
}

.dash27-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dash27-beyond-grid h3 {
    margin: 0 0 8px;
    color: var(--espresso);
    font-size: 28px;
    font-weight: 400;
}

.dash27-beyond-grid p {
    margin: 0;
    color: rgba(73,60,52,.52);
    font-size: 12px;
    line-height: 1.6;
}

.dash27-footer {
    margin-top: 78px;
}

.dash27-footer > div {
    height: 1px;
    background: rgba(73,60,52,.09);
}

.dash27-footer p {
    margin: 20px 0 0;
    color: rgba(73,60,52,.38);
    font-size: 8px;
    letter-spacing: .07em;
    text-align: center;
}

.dash27-mobile-nav {
    display: none;
}

@media (max-width: 900px) {
    body:has(.dashboard-v27-subscriber) .page,
    body:has(.dashboard-v27-subscriber) .site-header-inner {
        width: calc(100% - 36px);
    }

    .dash27-hero {
        min-height: 235px;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 22px;
    }

    .dash27-status {
        width: 100%;
        min-width: 0;
    }

    .dash27-section-heading--split {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .dash27-movement-grid,
    .dash27-beyond-grid {
        grid-template-columns: 1fr;
    }

    .dash27-recommended-grid {
        grid-template-columns: 1fr;
    }

    .dash27-movement-card {
        min-height: 390px;
    }

    .dash27-new {
        flex-direction: column;
        align-items: flex-start;
        min-height: 0;
        padding: 28px;
    }

    .dash27-new-badge {
        width: 100%;
        min-width: 0;
    }

    .dash27-mobile-nav {
        position: fixed;
        z-index: 120;
        left: 12px;
        right: 12px;
        bottom: 10px;
        min-height: 62px;
        padding: 6px;
        border: 1px solid rgba(73,60,52,.08);
        border-radius: 20px;
        background: rgba(248,244,239,.94);
        backdrop-filter: blur(18px);
        box-shadow: 0 16px 42px rgba(73,60,52,.14);
        display: grid;
        grid-template-columns: repeat(4,1fr);
    }

    .dash27-mobile-nav a {
        display: flex;
        align-items: center;
        justify-content: center;
        color: rgba(73,60,52,.45);
        font-size: 9px;
        font-weight: 600;
    }

    .dash27-mobile-nav a.active {
        color: var(--magenta);
    }
}

@media (max-width: 560px) {
    body:has(.dashboard-v27-subscriber) {
        padding-bottom: 88px;
    }

    .dash27-hero h1 {
        font-size: clamp(46px,14vw,58px);
    }

    .dash27-welcome h2,
    .dash27-section-heading h2 {
        font-size: clamp(34px,10vw,44px);
    }

    .dash27-movement-card {
        min-height: 360px;
        padding: 20px;
        border-radius: 22px;
    }

    .dash27-card-copy h3 {
        font-size: 50px;
    }

    .dash27-new h2 {
        font-size: 42px;
    }
}


/* ===== FIORAFIT DASHBOARD V28 MEMBER ===== */
body:has(.dashboard-v28-member){background:radial-gradient(circle at 88% 1%,rgba(231,214,214,.42),transparent 25%),var(--ivory)}
body:has(.dashboard-v28-member) .page{width:min(calc(100% - 64px),1380px);max-width:1380px;margin:0 auto;padding:18px 0 76px}
body:has(.dashboard-v28-member) .site-header-inner{width:min(calc(100% - 64px),1380px);max-width:1380px;margin:0 auto}
.dashboard-v28-member{width:100%}
.dash28-eyebrow{color:var(--magenta);font-size:8px;font-weight:700;letter-spacing:.19em}
.dash28-eyebrow--light{color:rgba(255,255,255,.58)}

.dash28-journey{position:relative;padding:46px 0 34px}
.dash28-journey-copy{max-width:1050px}
.dash28-journey h1{margin:14px 0 10px;color:var(--espresso);font-size:clamp(54px,5.7vw,82px);font-weight:300;line-height:.96;letter-spacing:-.055em}
.dash28-motivation{margin:0;color:rgba(73,60,52,.55);font-size:15px}
.dash28-member-pill{position:absolute;right:0;top:48px;min-width:235px;min-height:62px;padding:0 17px;border:1px solid rgba(73,60,52,.08);border-radius:17px;background:rgba(255,254,252,.74);display:flex;align-items:center;gap:12px}
.dash28-member-pill>span{width:8px;height:8px;border-radius:50%;background:var(--magenta);box-shadow:0 0 0 5px rgba(163,1,103,.07)}
.dash28-member-pill div{display:grid;gap:2px}.dash28-member-pill small{font-size:7px;color:rgba(73,60,52,.4);letter-spacing:.12em}.dash28-member-pill strong{font-size:10px;color:var(--espresso);letter-spacing:.07em}
.dash28-stats{margin-top:38px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:720px}
.dash28-stats article{min-height:88px;padding:17px 20px;border:1px solid rgba(73,60,52,.07);border-radius:17px;background:rgba(255,254,252,.66);display:flex;align-items:baseline;gap:10px}
.dash28-stats strong{font-size:32px;font-weight:300;color:var(--espresso)}.dash28-stats span{font-size:10px;color:rgba(73,60,52,.48)}

.dash28-resume,.dash28-movements,.dash28-recs,.dash28-news,.dash28-fiorafit{margin-top:62px}
.dash28-section-head{margin-bottom:24px}.dash28-section-head h2{max-width:1040px;margin:10px 0 0;color:var(--espresso);font-size:clamp(36px,3.7vw,54px);font-weight:300;line-height:1.02;letter-spacing:-.045em}
.dash28-section-head--row{display:flex;align-items:end;justify-content:space-between;gap:40px}.dash28-section-head--row>p{max-width:360px;margin:0 0 5px;color:rgba(73,60,52,.46);font-size:11px;line-height:1.6}

.dash28-resume-card{min-height:250px;border:1px solid rgba(73,60,52,.07);border-radius:24px;background:rgba(255,254,252,.68);overflow:hidden;display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr}
.dash28-resume-photo{background:linear-gradient(rgba(22,15,11,.08),rgba(22,15,11,.18)),var(--dash28-image) center/cover no-repeat}
.dash28-resume-copy{padding:30px;display:flex;flex-direction:column;justify-content:center}
.dash28-resume-copy>span{font-size:8px;font-weight:700;color:var(--magenta);letter-spacing:.14em}.dash28-resume-copy h3{margin:10px 0 8px;font-size:34px;font-weight:400;color:var(--espresso);letter-spacing:-.035em}.dash28-resume-copy p{max-width:600px;margin:0;color:rgba(73,60,52,.52);font-size:12px;line-height:1.65}
.dash28-progress{height:4px;margin-top:22px;border-radius:99px;background:rgba(73,60,52,.08);overflow:hidden}.dash28-progress i{display:block;width:0;height:100%;background:var(--magenta)}
.dash28-resume-copy small{margin-top:10px;color:rgba(73,60,52,.38);font-size:7px;font-weight:700;letter-spacing:.12em}

.dash28-movement-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.dash28-movement-card{position:relative;isolation:isolate;min-height:330px;padding:18px;border-radius:22px;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 18px 45px rgba(73,60,52,.10)}
.dash28-movement-card:before{content:"";position:absolute;inset:0;z-index:-3;background:var(--dash28-image) center/cover no-repeat;transition:transform .4s ease}.dash28-movement-card:after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(16,10,7,.12),rgba(16,10,7,.06) 35%,rgba(16,10,7,.68)),linear-gradient(90deg,rgba(16,10,7,.22),transparent 70%)}.dash28-movement-card:hover:before{transform:scale(1.04)}
.dash28-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:6px;font-weight:700;letter-spacing:.11em;color:rgba(255,255,255,.7)}.dash28-card-top b{padding:7px 8px;border:1px solid rgba(255,255,255,.2);border-radius:99px;background:rgba(20,13,10,.24);font-size:6px;backdrop-filter:blur(8px)}
.dash28-movement-card h3{margin:0;color:#fff;font-size:clamp(32px,3vw,44px);font-weight:300;letter-spacing:-.045em;text-shadow:0 3px 18px rgba(0,0,0,.28)}.dash28-movement-card p{margin:7px 0 14px;color:rgba(255,255,255,.86);font-size:10px;line-height:1.45}.dash28-movement-card small{font-size:6px;font-weight:700;letter-spacing:.11em;color:rgba(255,255,255,.68)}

.dash28-rec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.dash28-rec-grid article{min-height:230px;padding:22px;border:1px solid rgba(73,60,52,.07);border-radius:20px;background:rgba(255,254,252,.68);display:flex;flex-direction:column}.dash28-rec-grid article:first-child{background:linear-gradient(145deg,rgba(231,214,214,.92),rgba(217,198,190,.74))}
.dash28-rec-grid span{font-size:7px;font-weight:700;letter-spacing:.13em;color:var(--magenta)}.dash28-rec-grid h3{margin:auto 0 8px;color:var(--espresso);font-size:27px;font-weight:400;line-height:1.04;letter-spacing:-.035em}.dash28-rec-grid p{margin:0;color:rgba(73,60,52,.52);font-size:11px;line-height:1.6}.dash28-rec-grid small{margin-top:16px;color:rgba(73,60,52,.38);font-size:7px;font-weight:700;letter-spacing:.1em}

.dash28-news{padding:34px;border-radius:27px;background:radial-gradient(circle at 90% 8%,rgba(196,0,116,.17),transparent 30%),linear-gradient(125deg,#2b1f1a,#49362e 62%,#604451);color:#fff;display:grid;grid-template-columns:1.2fr .8fr;gap:50px}
.dash28-news h2{margin:12px 0 12px;color:#fff;font-size:clamp(38px,4vw,58px);font-weight:300;line-height:.98;letter-spacing:-.05em}.dash28-news-main p{max-width:620px;margin:0;color:rgba(255,255,255,.62);font-size:11px;line-height:1.7}.dash28-news-items{display:grid;gap:9px}.dash28-news-items article{padding:14px 16px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(255,255,255,.05);display:grid;grid-template-columns:60px 1fr auto;gap:10px;align-items:center}.dash28-news-items small{font-size:6px;color:#e7b4d2;letter-spacing:.1em}.dash28-news-items strong{font-size:10px;color:#fff}.dash28-news-items span{font-size:7px;color:rgba(255,255,255,.42)}

.dash28-fiorafit{min-height:360px;padding:42px;border:1px solid rgba(73,60,52,.07);border-radius:28px;background:linear-gradient(135deg,rgba(255,254,252,.86),rgba(231,214,214,.56));display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.dash28-fiorafit h2{max-width:720px;margin:12px 0 14px;color:var(--espresso);font-size:clamp(40px,4.3vw,62px);font-weight:300;line-height:.98;letter-spacing:-.05em}.dash28-fiorafit-copy>p{max-width:650px;margin:0;color:rgba(73,60,52,.54);font-size:12px;line-height:1.7}.dash28-perks{margin-top:25px;display:flex;flex-wrap:wrap;gap:8px}.dash28-perks span{padding:9px 11px;border:1px solid rgba(73,60,52,.09);border-radius:99px;background:rgba(255,255,255,.45);color:rgba(73,60,52,.65);font-size:7px;font-weight:700;letter-spacing:.09em}
.dash28-fiorafit a{display:inline-flex;margin-top:28px;min-height:46px;padding:0 22px;border-radius:99px;background:var(--magenta);color:#fff;align-items:center;font-size:8px;font-weight:700;letter-spacing:.1em;box-shadow:0 12px 30px rgba(163,1,103,.20)}
.dash28-fiorafit-quote{padding-left:40px;border-left:1px solid rgba(73,60,52,.10)}.dash28-fiorafit-quote small{display:block;margin-bottom:16px;color:var(--magenta);font-size:8px;font-weight:700;letter-spacing:.14em}.dash28-fiorafit-quote strong{color:var(--espresso);font-size:30px;font-weight:300;line-height:1.15;letter-spacing:-.035em}

.dash28-footer{margin-top:72px}.dash28-footer>div{height:1px;background:rgba(73,60,52,.09)}.dash28-footer p{margin:20px 0 0;color:rgba(73,60,52,.38);font-size:8px;letter-spacing:.07em;text-align:center}.dash28-mobile-nav{display:none}

@media(max-width:1000px){.dash28-member-pill{position:static;margin-top:24px;width:max-content}.dash28-movement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash28-news,.dash28-fiorafit{grid-template-columns:1fr}.dash28-fiorafit-quote{padding:28px 0 0;border-left:0;border-top:1px solid rgba(73,60,52,.10)}}
@media(max-width:820px){body:has(.dashboard-v28-member) .page,body:has(.dashboard-v28-member) .site-header-inner{width:calc(100% - 36px)}body:has(.dashboard-v28-member){padding-bottom:86px}.dash28-journey{padding-top:30px}.dash28-journey h1{font-size:clamp(46px,13vw,60px)}.dash28-stats{grid-template-columns:1fr;gap:8px}.dash28-stats article{min-height:66px}.dash28-resume-card{grid-template-columns:1fr}.dash28-resume-photo{min-height:210px}.dash28-section-head--row{display:block}.dash28-section-head--row>p{margin-top:12px}.dash28-movement-grid,.dash28-rec-grid{grid-template-columns:1fr}.dash28-movement-card{min-height:360px}.dash28-news,.dash28-fiorafit{padding:26px}.dash28-news-items article{grid-template-columns:52px 1fr}.dash28-news-items span{display:none}.dash28-mobile-nav{position:fixed;z-index:120;left:12px;right:12px;bottom:10px;min-height:62px;padding:6px;border:1px solid rgba(73,60,52,.08);border-radius:20px;background:rgba(248,244,239,.94);backdrop-filter:blur(18px);box-shadow:0 16px 42px rgba(73,60,52,.14);display:grid;grid-template-columns:repeat(4,1fr)}.dash28-mobile-nav a{display:flex;align-items:center;justify-content:center;color:rgba(73,60,52,.45);font-size:9px;font-weight:600}.dash28-mobile-nav a.active{color:var(--magenta)}}


/* ===== FIORAFIT DASHBOARD V29 MOBILE COMPACT ===== */
/* Ajustes exclusivos para o Dashboard Member no mobile.
   Desktop permanece exatamente como na V28. */

@media (max-width: 820px) {

    /* Mais compacto no topo */
    .dash28-journey {
        padding: 22px 0 20px;
    }

    .dash28-journey h1 {
        max-width: 100%;
        font-size: clamp(38px, 10.8vw, 50px);
        line-height: .98;
    }

    .dash28-motivation {
        max-width: 330px;
        margin-top: 12px;
        font-size: 13px;
        line-height: 1.6;
    }

    .dash28-member-pill {
        width: 100%;
        min-height: 54px;
        margin-top: 20px;
    }

    /* Métricas em uma linha, sem virar três blocos enormes */
    .dash28-stats {
        width: 100%;
        max-width: none;
        margin-top: 20px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 7px;
    }

    .dash28-stats article {
        min-height: 78px;
        padding: 12px 8px;
        border-radius: 14px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        text-align: center;
    }

    .dash28-stats strong {
        font-size: 25px;
        line-height: 1;
    }

    .dash28-stats span {
        font-size: 8px;
        line-height: 1.3;
    }

    .dash28-resume,
    .dash28-movements,
    .dash28-recs,
    .dash28-news,
    .dash28-fiorafit {
        margin-top: 42px;
    }

    .dash28-section-head {
        margin-bottom: 18px;
    }

    .dash28-section-head h2 {
        font-size: clamp(29px, 8.5vw, 38px);
        line-height: 1.02;
    }

    /* Continue de onde parou: foto menor e card bem mais baixo */
    .dash28-resume-card {
        min-height: 0;
        grid-template-columns: 118px minmax(0, 1fr);
        border-radius: 18px;
    }

    .dash28-resume-photo {
        min-height: 180px;
    }

    .dash28-resume-copy {
        padding: 18px 16px;
    }

    .dash28-resume-copy h3 {
        margin-top: 8px;
        font-size: 24px;
    }

    .dash28-resume-copy p {
        font-size: 10.5px;
        line-height: 1.5;
    }

    .dash28-progress {
        margin-top: 14px;
    }

    /* MOVIMENTOS: carrossel horizontal, não 5 cards empilhados */
    .dash28-movement-grid {
        width: calc(100vw - 16px);
        margin-left: 0;
        padding: 0 16px 8px 0;
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(230px, 74vw);
        grid-template-columns: none;
        gap: 12px;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-inline: contain;
        scroll-snap-type: inline mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .dash28-movement-grid::-webkit-scrollbar {
        display: none;
    }

    .dash28-movement-card {
        min-height: 300px;
        height: 300px;
        border-radius: 20px;
        scroll-snap-align: start;
    }

    .dash28-movement-card h3 {
        font-size: 38px;
    }

    .dash28-movement-card p {
        font-size: 10px;
    }

    /* RECOMENDADOS: também vira carrossel compacto */
    .dash28-rec-grid {
        width: calc(100vw - 16px);
        padding: 0 16px 8px 0;
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(235px, 76vw);
        grid-template-columns: none;
        gap: 10px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: inline mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .dash28-rec-grid::-webkit-scrollbar {
        display: none;
    }

    .dash28-rec-grid article {
        min-height: 205px;
        height: 205px;
        padding: 18px;
        border-radius: 17px;
        scroll-snap-align: start;
    }

    .dash28-rec-grid h3 {
        font-size: 23px;
    }

    /* Novidades mais enxuta */
    .dash28-news {
        padding: 22px;
        border-radius: 22px;
        gap: 24px;
    }

    .dash28-news h2 {
        font-size: 36px;
    }

    .dash28-news-items {
        gap: 7px;
    }

    .dash28-news-items article {
        min-height: 50px;
        padding: 12px 13px;
        border-radius: 12px;
    }

    /* Bloco FIORAFIT final menor */
    .dash28-fiorafit {
        min-height: 0;
        padding: 24px;
        border-radius: 22px;
        gap: 28px;
    }

    .dash28-fiorafit h2 {
        font-size: 36px;
    }

    .dash28-fiorafit-quote {
        padding-top: 22px;
    }

    .dash28-fiorafit-quote strong {
        font-size: 24px;
    }

    .dash28-footer {
        margin-top: 48px;
    }
}

@media (max-width: 430px) {

    .dash28-stats {
        gap: 6px;
    }

    .dash28-stats article {
        min-height: 72px;
        padding: 10px 6px;
    }

    .dash28-stats strong {
        font-size: 22px;
    }

    .dash28-stats span {
        font-size: 7.5px;
    }

    .dash28-resume-card {
        grid-template-columns: 98px minmax(0, 1fr);
    }

    .dash28-resume-photo {
        min-height: 170px;
    }

    .dash28-resume-copy {
        padding: 15px 13px;
    }

    .dash28-resume-copy p {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .dash28-movement-grid {
        grid-auto-columns: 78vw;
    }

    .dash28-movement-card {
        height: 285px;
        min-height: 285px;
    }

    .dash28-rec-grid {
        grid-auto-columns: 80vw;
    }
}


/* ===== FIORAFIT DASHBOARD V30 POLISHED ===== */
/* Desktop + mobile alinhados ao mockup aprovado. */

body:has(.dashboard-v30-member){background:var(--ivory)}
body:has(.dashboard-v30-member) .page{width:min(calc(100% - 54px),1450px);max-width:1450px;margin:0 auto;padding:12px 0 52px}
body:has(.dashboard-v30-member) .site-header-inner{width:min(calc(100% - 54px),1450px);max-width:1450px;margin:0 auto}
.dashboard-v30-member{width:100%}
.dash30-eyebrow{color:var(--magenta);font-size:8px;font-weight:700;letter-spacing:.16em}

.dash30-top{display:grid;grid-template-columns:320px 1fr;gap:32px;align-items:center;padding:28px 0 20px}
.dash30-greeting h1{margin:0;color:var(--espresso);font-size:46px;font-weight:300;letter-spacing:-.045em}.dash30-greeting span{display:block;margin-top:8px;color:var(--magenta);font-size:10px;font-weight:700;letter-spacing:.10em}
.dash30-journey{min-height:150px;padding:24px 28px;border-radius:20px;background:linear-gradient(135deg,rgba(231,214,214,.62),rgba(255,254,252,.72));display:grid;grid-template-columns:1.35fr repeat(3,.58fr) .8fr;gap:0;align-items:stretch}
.dash30-journey>*{padding:0 22px;border-left:1px solid rgba(73,60,52,.08);display:flex;flex-direction:column;justify-content:center}.dash30-journey>*:first-child{border-left:0;padding-left:0}
.dash30-journey-title span{color:var(--magenta);font-size:8px;font-weight:700;letter-spacing:.12em}.dash30-journey-title strong{margin-top:10px;color:var(--espresso);font-size:18px;line-height:1.2}.dash30-journey-title p{margin:9px 0 0;color:rgba(73,60,52,.55);font-size:10px;line-height:1.5}
.dash30-stat b{color:var(--magenta);font-size:30px;font-weight:300;line-height:1}.dash30-stat span{margin-top:9px;color:rgba(73,60,52,.62);font-size:9px;line-height:1.45}.dash30-quote>span{color:rgba(73,60,52,.25);font-size:35px;line-height:.8}.dash30-quote p{margin:8px 0 0;color:var(--espresso);font-size:10px;line-height:1.5}

.dash30-core{margin-top:26px;display:grid;grid-template-columns:460px 1fr;gap:34px}
.dash30-resume-block,.dash30-movement-block{min-width:0}
.dash30-resume-card{height:235px;margin-top:12px;border-radius:18px;overflow:hidden;background:#1b1410;display:grid;grid-template-columns:46% 54%;color:#fff}
.dash30-resume-photo{background:linear-gradient(rgba(16,10,7,.12),rgba(16,10,7,.22)),var(--dash30-image) center/cover no-repeat}
.dash30-resume-copy{padding:23px;display:flex;flex-direction:column;justify-content:center}.dash30-resume-copy small{color:#dc85b7;font-size:7px;font-weight:700;letter-spacing:.11em}.dash30-resume-copy h2{margin:9px 0 8px;color:#fff;font-size:22px;line-height:1.12;font-weight:500}.dash30-resume-copy p{margin:0;color:rgba(255,255,255,.62);font-size:9px;line-height:1.5}.dash30-progress{height:4px;margin:15px 0 13px;border-radius:99px;background:rgba(255,255,255,.16)}.dash30-progress i{display:block;width:35%;height:100%;border-radius:inherit;background:var(--magenta)}.dash30-resume-copy button{height:35px;border:1px solid rgba(190,0,111,.65);border-radius:99px;background:transparent;color:#fff;font-size:7px;font-weight:700;letter-spacing:.1em;opacity:1}
.dash30-movement-grid{margin-top:12px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.dash30-movement-card{position:relative;isolation:isolate;height:235px;padding:14px;border-radius:16px;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.dash30-movement-card:before{content:"";position:absolute;inset:0;z-index:-3;background:var(--dash30-image) center/cover no-repeat}.dash30-movement-card:after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(13,8,6,.16),rgba(13,8,6,.08) 35%,rgba(13,8,6,.78))}
.dash30-movement-card>div:first-child small{font-size:6px;color:rgba(255,255,255,.62);letter-spacing:.1em}.dash30-movement-card h3{margin:0;color:#fff;font-size:25px;font-weight:400;letter-spacing:-.04em}.dash30-movement-card p{min-height:42px;margin:7px 0 12px;color:rgba(255,255,255,.82);font-size:8.5px;line-height:1.45}.dash30-movement-card div:last-child>span{height:28px;border:1px solid rgba(190,0,111,.75);border-radius:99px;display:flex;align-items:center;justify-content:center;font-size:6px;font-weight:700;letter-spacing:.08em}

.dash30-recommended,.dash30-news{margin-top:34px}.dash30-section-bar{margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}.dash30-section-bar>small{color:rgba(73,60,52,.45);font-size:7px;font-weight:700;letter-spacing:.08em}
.dash30-recommended-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.dash30-recommended-grid article{position:relative;isolation:isolate;height:128px;padding:14px;border-radius:14px;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.dash30-recommended-grid article:before{content:"";position:absolute;inset:0;z-index:-2;background:var(--dash30-bg) center/cover no-repeat}.dash30-recommended-grid article:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(15,10,7,.10),rgba(15,10,7,.60))}
.dash30-recommended-grid span{margin-bottom:auto;color:rgba(255,255,255,.62);font-size:6px;letter-spacing:.09em}.dash30-recommended-grid h3{margin:0;color:#fff;font-size:15px;font-weight:500}.dash30-recommended-grid small{margin-top:6px;color:rgba(255,255,255,.82);font-size:8px}

.dash30-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dash30-news-grid article{height:126px;border-radius:15px;overflow:hidden;background:linear-gradient(135deg,rgba(231,214,214,.62),rgba(255,254,252,.82));display:grid;grid-template-columns:1.2fr .8fr}.dash30-news-grid article>div:first-child{padding:18px;display:flex;flex-direction:column;justify-content:center}.dash30-news-grid small{color:var(--magenta);font-size:6px;font-weight:700;letter-spacing:.09em}.dash30-news-grid h3{margin:7px 0 5px;color:var(--espresso);font-size:16px;font-weight:500}.dash30-news-grid span{color:rgba(73,60,52,.55);font-size:8px}.dash30-news-image{background:var(--dash30-bg) center/cover no-repeat}.dash30-news-image--neutral{background:linear-gradient(145deg,#dbd2cc,#b7aaa1)}

.dash30-member-benefits{margin:46px auto 0;padding:46px 50px 38px;border:1px solid rgba(73,60,52,.07);border-radius:24px;background:linear-gradient(145deg,rgba(255,254,252,.84),rgba(231,214,214,.38));text-align:center}
.dash30-member-benefits h2{max-width:720px;margin:12px auto;color:var(--espresso);font-size:40px;font-weight:300;line-height:1;letter-spacing:-.045em}.dash30-member-benefits>p{max-width:670px;margin:0 auto;color:rgba(73,60,52,.53);font-size:10.5px;line-height:1.65}
.dash30-perks{max-width:860px;margin:32px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:0}.dash30-perks article{min-height:100px;padding:0 28px;border-left:1px solid rgba(73,60,52,.09);display:grid;grid-template-columns:38px 1fr;column-gap:12px;text-align:left}.dash30-perks article:first-child{border-left:0}.dash30-perk-icon{grid-row:1/3;width:30px;height:30px;color:var(--magenta)}.dash30-perk-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.dash30-perks strong{font-size:8px;color:var(--espresso);letter-spacing:.07em}.dash30-perks p{margin:6px 0 0;color:rgba(73,60,52,.52);font-size:8px;line-height:1.55}
.dash30-member-benefits>a{min-width:230px;height:42px;margin-top:24px;padding:0 24px;border-radius:99px;background:var(--magenta);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;letter-spacing:.09em;box-shadow:0 12px 28px rgba(163,1,103,.18)}
.dash30-footer{margin-top:35px}.dash30-footer>div{height:1px;background:rgba(73,60,52,.09)}.dash30-footer p{margin:18px 0 0;color:rgba(73,60,52,.36);font-size:7.5px;letter-spacing:.07em;text-align:center}.dash30-mobile-nav{display:none}

@media(max-width:980px){.dash30-top{grid-template-columns:1fr}.dash30-journey{grid-template-columns:1.25fr repeat(3,.55fr)}.dash30-quote{display:none}.dash30-core{grid-template-columns:1fr}.dash30-resume-card{max-width:640px}.dash30-movement-grid{grid-template-columns:repeat(5,1fr)}}

@media(max-width:820px){
body:has(.dashboard-v30-member) .page,body:has(.dashboard-v30-member) .site-header-inner{width:calc(100% - 28px)}body:has(.dashboard-v30-member){padding-bottom:84px}
.dash30-top{padding:20px 0 12px;gap:18px}.dash30-greeting h1{font-size:38px}.dash30-greeting span{font-size:8px}
.dash30-journey{padding:18px;border-radius:17px;grid-template-columns:1fr repeat(3,.52fr);grid-template-rows:auto auto;row-gap:15px}.dash30-journey-title{grid-column:1/-1;padding:0 0 14px;border-left:0;border-bottom:1px solid rgba(73,60,52,.08)}.dash30-journey>.dash30-stat{padding:0 10px;border-left:1px solid rgba(73,60,52,.08);align-items:center;text-align:center}.dash30-journey>.dash30-stat:nth-of-type(2){border-left:0}.dash30-stat b{font-size:24px}.dash30-stat span{font-size:7.5px}.dash30-quote{display:none}
.dash30-core{margin-top:25px;gap:28px}.dash30-resume-card{height:190px;grid-template-columns:42% 58%}.dash30-resume-copy{padding:15px}.dash30-resume-copy h2{font-size:17px}.dash30-resume-copy p{font-size:7.5px}.dash30-resume-copy button{height:30px;font-size:6px}
.dash30-movement-grid{width:calc(100vw - 14px);padding-right:14px;display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:110px;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.dash30-movement-grid::-webkit-scrollbar{display:none}.dash30-movement-card{height:180px;padding:10px;border-radius:13px;scroll-snap-align:start}.dash30-movement-card h3{font-size:18px}.dash30-movement-card p{min-height:34px;font-size:6.8px}.dash30-movement-card div:last-child>span{height:24px;font-size:5.5px}
.dash30-recommended,.dash30-news{margin-top:28px}.dash30-recommended-grid{width:calc(100vw - 14px);padding-right:14px;display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:160px;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.dash30-recommended-grid::-webkit-scrollbar{display:none}.dash30-recommended-grid article{height:105px;scroll-snap-align:start}.dash30-recommended-grid h3{font-size:13px}
.dash30-news-grid{grid-template-columns:1fr;gap:7px}.dash30-news-grid article{height:82px;grid-template-columns:1.4fr .6fr}.dash30-news-grid article>div:first-child{padding:12px}.dash30-news-grid h3{font-size:14px}
.dash30-member-benefits{margin-top:34px;padding:32px 20px 28px;border-radius:20px}.dash30-member-benefits h2{font-size:33px}.dash30-member-benefits>p{font-size:9.5px}.dash30-perks{margin-top:25px;grid-template-columns:repeat(3,1fr);gap:0}.dash30-perks article{min-height:110px;padding:0 9px;display:flex;flex-direction:column;align-items:center;text-align:center}.dash30-perk-icon{width:27px;height:27px;margin-bottom:10px}.dash30-perks strong{font-size:6.5px}.dash30-perks p{font-size:6.5px}.dash30-member-benefits>a{width:100%;min-width:0;margin-top:21px}
.dash30-mobile-nav{position:fixed;z-index:120;left:10px;right:10px;bottom:10px;height:60px;padding:5px;border:1px solid rgba(73,60,52,.08);border-radius:18px;background:rgba(248,244,239,.95);backdrop-filter:blur(18px);box-shadow:0 14px 38px rgba(73,60,52,.13);display:grid;grid-template-columns:repeat(4,1fr)}.dash30-mobile-nav a{display:flex;align-items:center;justify-content:center;color:rgba(73,60,52,.42);font-size:8px;font-weight:600}.dash30-mobile-nav a.active{color:var(--magenta)}
}

/* ===== FIORAFIT V31 · FORÇA ===== */
.dash30-movement-card--clickable{cursor:pointer}.force-v31{width:100%}.force31-kicker{color:var(--magenta);font-size:8px;font-weight:700;letter-spacing:.17em}
.force31-onboarding{min-height:calc(100vh - 150px);display:flex;align-items:center;justify-content:center;padding:45px 0}.force31-onboarding-inner{width:min(900px,100%);text-align:center}.force31-onboarding h1{margin:15px 0 18px;color:var(--espresso);font-size:clamp(58px,7vw,96px);font-weight:300;line-height:.9;letter-spacing:-.06em}.force31-lead{margin:0;color:var(--espresso);font-size:20px}.force31-frequency-options{margin:38px auto 0;display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.force31-frequency-options input{position:absolute;opacity:0}.force31-frequency-options label span{min-height:115px;border:1px solid rgba(73,60,52,.09);border-radius:19px;background:rgba(255,254,252,.68);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.force31-frequency-options strong{color:var(--espresso);font-size:34px;font-weight:300}.force31-frequency-options small{margin-top:5px;color:rgba(73,60,52,.45);font-size:8px}.force31-frequency-options input:checked+span{border-color:rgba(163,1,103,.42);background:linear-gradient(145deg,rgba(231,214,214,.72),rgba(255,254,252,.86));box-shadow:0 16px 38px rgba(73,60,52,.08)}.force31-frequency-options input:checked+span strong{color:var(--magenta)}.force31-hint{margin:22px 0 0;color:rgba(73,60,52,.47);font-size:10px}.force31-frequency-form>button{min-width:290px;height:52px;margin-top:25px;border:0;border-radius:99px;background:var(--magenta);color:#fff;font-size:8px;font-weight:700;letter-spacing:.1em}
.force31-hero{min-height:310px;padding:45px 0 30px;display:flex;align-items:center;justify-content:space-between;gap:40px}.force31-hero h1{margin:13px 0;color:var(--espresso);font-size:clamp(60px,6.5vw,94px);font-weight:300;line-height:.88;letter-spacing:-.06em}.force31-hero p{margin:0;color:rgba(73,60,52,.52);font-size:13px}.force31-member{min-width:190px;padding:19px;border:1px solid rgba(73,60,52,.08);border-radius:17px;background:rgba(255,254,252,.68);display:grid;gap:4px}.force31-member small{color:rgba(73,60,52,.4);font-size:7px}.force31-member strong{color:var(--espresso);font-size:11px}
.force31-program{padding:28px 30px;border-radius:22px;background:linear-gradient(135deg,rgba(231,214,214,.66),rgba(255,254,252,.80))}.force31-program-head{display:flex;align-items:end;justify-content:space-between;gap:30px}.force31-program h2,.force31-section-head h2,.force31-change h2{margin:9px 0 0;color:var(--espresso);font-size:32px;font-weight:300;letter-spacing:-.04em}.force31-week{text-align:right}.force31-week small{display:block;color:rgba(73,60,52,.4);font-size:7px}.force31-week strong{font-size:11px}.force31-progress{height:5px;margin-top:24px;border-radius:99px;background:rgba(73,60,52,.08)}.force31-progress i{display:block;width:25%;height:100%;background:var(--magenta)}.force31-program>p{margin:10px 0 0;color:rgba(73,60,52,.48);font-size:9px}
.force31-next,.force31-week-list,.force31-change{margin-top:48px}.force31-next>article{height:310px;margin-top:13px;border-radius:23px;overflow:hidden;background:#201713;display:grid;grid-template-columns:45% 55%;color:#fff}.force31-next-image{background:linear-gradient(rgba(15,9,7,.08),rgba(15,9,7,.22)),url('/assets/images/movements/forca.jpg') center/cover no-repeat}.force31-next-copy{padding:35px;display:flex;flex-direction:column;justify-content:center}.force31-next-copy>small:first-child{color:#dc86b7;font-size:7px}.force31-next-copy h2{margin:10px 0;color:#fff;font-size:36px;font-weight:400}.force31-next-copy p{margin:0;color:rgba(255,255,255,.62);font-size:10px}.force31-meta{margin:18px 0;display:flex;gap:8px}.force31-meta span{padding:7px 10px;border:1px solid rgba(255,255,255,.13);border-radius:99px;font-size:7px}.force31-next-copy button{width:210px;height:40px;border:0;border-radius:99px;background:var(--magenta);color:#fff;font-size:7px;font-weight:700;opacity:1}.force31-soon{margin-top:9px;color:rgba(255,255,255,.35);font-size:6px}
.force31-days{margin-top:15px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.force31-days article{min-height:115px;padding:15px;border:1px solid rgba(73,60,52,.08);border-radius:16px;background:rgba(255,254,252,.66);display:flex;flex-direction:column;justify-content:space-between}.force31-days article>span{color:rgba(73,60,52,.25);font-size:18px}.force31-days div{display:grid;gap:5px}.force31-days small{font-size:6px;color:rgba(73,60,52,.38)}.force31-days strong{color:var(--espresso);font-size:10px}.force31-days .is-today{border-color:rgba(163,1,103,.30);background:linear-gradient(145deg,rgba(231,214,214,.72),rgba(255,254,252,.84))}.force31-days .is-today>span,.force31-days .is-today small{color:var(--magenta)}
.force31-change{padding:30px;border:1px solid rgba(73,60,52,.07);border-radius:21px;background:rgba(255,254,252,.62);display:flex;align-items:center;justify-content:space-between;gap:30px}.force31-change p{margin:8px 0 0;color:rgba(73,60,52,.48);font-size:10px}.force31-change form{display:flex;gap:8px}.force31-change select,.force31-change button{height:42px;border-radius:99px}.force31-change select{padding:0 16px;border:1px solid rgba(73,60,52,.10);background:#fff}.force31-change button{padding:0 18px;border:0;background:var(--magenta);color:#fff;font-size:7px;font-weight:700}.force31-footer{margin-top:60px}.force31-footer>div{height:1px;background:rgba(73,60,52,.09)}.force31-footer p{text-align:center;color:rgba(73,60,52,.35);font-size:7px}
@media(max-width:820px){.force31-onboarding{min-height:calc(100vh - 120px);padding:30px 0}.force31-onboarding h1{font-size:52px}.force31-lead{font-size:16px}.force31-frequency-options{gap:5px}.force31-frequency-options label span{min-height:82px;border-radius:14px}.force31-frequency-options strong{font-size:25px}.force31-frequency-options small{font-size:6px}.force31-frequency-form>button{width:100%;min-width:0}.force31-hero{min-height:0;padding:32px 0;display:block}.force31-hero h1{font-size:55px}.force31-member{width:100%;margin-top:24px}.force31-program{padding:22px}.force31-program-head{display:block}.force31-week{margin-top:18px;text-align:left}.force31-next,.force31-week-list,.force31-change{margin-top:35px}.force31-next>article{height:auto;grid-template-columns:1fr}.force31-next-image{min-height:220px}.force31-next-copy{padding:24px}.force31-next-copy h2{font-size:31px}.force31-next-copy button{width:100%}.force31-days{width:calc(100vw - 14px);padding-right:14px;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:145px;overflow-x:auto;scrollbar-width:none}.force31-change{padding:22px;display:block}.force31-change form{margin-top:20px;display:grid}.force31-change select,.force31-change button{width:100%}}


/* ===== FIORAFIT V32 · FORÇA refinamento ===== */
.force-v31 > .force31-program:first-child{margin-top:32px}
.force31-next>article{height:auto;min-height:245px;display:block;background:#201713}
.force31-next-copy{min-height:245px;padding:38px 42px}
.force31-next-copy h2{font-size:42px}
@media(max-width:820px){
  .force-v31 > .force31-program:first-child{margin-top:22px}
  .force31-program{padding:22px 20px}
  .force31-program h2,.force31-section-head h2,.force31-change h2{font-size:30px}
  .force31-week-list{margin-top:32px}
  .force31-next{margin-top:34px}
  .force31-next>article{min-height:0}
  .force31-next-copy{min-height:0;padding:27px 23px}
  .force31-next-copy h2{font-size:34px}
}


/* ===== FIORAFIT V33 · FORÇA COMPLETO ===== */
.force31-start{width:210px;height:40px;border-radius:99px;background:var(--magenta);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:7px;font-weight:700;letter-spacing:.09em}
.force31-days a{min-height:115px;padding:15px;border:1px solid rgba(73,60,52,.08);border-radius:16px;background:rgba(255,254,252,.66);display:flex;flex-direction:column;justify-content:space-between;color:inherit}
.force31-days a>span{color:rgba(73,60,52,.25);font-size:18px}
.force31-days a div{display:grid;gap:5px}.force31-days a small{font-size:6px;color:rgba(73,60,52,.38)}.force31-days a strong{color:var(--espresso);font-size:10px}
.force31-days a.is-today{border-color:rgba(163,1,103,.30);background:linear-gradient(145deg,rgba(231,214,214,.72),rgba(255,254,252,.84))}
.force31-days a.is-today>span,.force31-days a.is-today small{color:var(--magenta)}
.force31-days a.is-complete{background:rgba(239,232,226,.60);opacity:.68}.force31-days a.is-complete small{color:#6d7b6d}

.force33-workout{width:100%;padding:24px 0 0}.force33-back{display:inline-flex;color:rgba(73,60,52,.50);font-size:8px;font-weight:700;letter-spacing:.10em}
.force33-workout-head{margin-top:25px;padding:30px 0;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.force33-workout-head h1{margin:10px 0 7px;color:var(--espresso);font-size:clamp(48px,5.2vw,76px);font-weight:300;line-height:.95;letter-spacing:-.055em}.force33-workout-head p{margin:0;color:rgba(73,60,52,.50);font-size:11px}.force33-completed{padding:10px 13px;border-radius:99px;background:rgba(109,123,109,.10);color:#6d7b6d;font-size:8px;font-weight:700;letter-spacing:.10em}
.force33-orientation{padding:20px 24px;border:1px solid rgba(73,60,52,.07);border-radius:17px;background:linear-gradient(145deg,rgba(231,214,214,.62),rgba(255,254,252,.82));display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center}.force33-orientation span{color:var(--magenta);font-size:8px;font-weight:700;letter-spacing:.13em}.force33-orientation p{margin:0;color:rgba(73,60,52,.58);font-size:10px;line-height:1.65}
.force33-exercises{margin-top:26px;display:grid;gap:12px}.force33-exercise{padding:22px;border:1px solid rgba(73,60,52,.07);border-radius:20px;background:rgba(255,254,252,.68);display:grid;grid-template-columns:58px 1fr;gap:18px}.force33-exercise-number{color:rgba(73,60,52,.20);font-size:26px;font-weight:300}.force33-exercise-title>span{color:var(--magenta);font-size:7px;font-weight:700;letter-spacing:.11em}.force33-exercise-title h2{margin:6px 0 0;color:var(--espresso);font-size:28px;font-weight:400;letter-spacing:-.035em}
.force33-prescription{margin-top:18px;display:grid;grid-template-columns:120px 170px 1fr;gap:8px}.force33-prescription>div{min-height:62px;padding:12px 14px;border-radius:13px;background:rgba(239,232,226,.58);display:grid;align-content:center;gap:4px}.force33-prescription small{color:rgba(73,60,52,.38);font-size:6px;font-weight:700;letter-spacing:.10em}.force33-prescription strong{color:var(--espresso);font-size:11px;font-weight:600}
.force33-method,.force33-source-note{margin-top:14px;padding:15px 17px;border-radius:14px}.force33-method{border:1px solid rgba(163,1,103,.14);background:rgba(163,1,103,.055)}.force33-method--hero{background:linear-gradient(135deg,#351f2c,#6c2550);color:#fff;border:0;box-shadow:0 14px 32px rgba(73,60,52,.10)}.force33-method small,.force33-source-note small{display:block;margin-bottom:5px;color:var(--magenta);font-size:6px;font-weight:700;letter-spacing:.12em}.force33-method--hero small{color:#ef9bca}.force33-method strong{color:var(--espresso);font-size:12px}.force33-method--hero strong{color:#fff}.force33-method p,.force33-source-note p{margin:6px 0 0;font-size:10px;line-height:1.6;color:rgba(73,60,52,.62)}.force33-method--hero p{color:rgba(255,255,255,.82)}.force33-source-note{background:rgba(231,214,214,.36);border:1px solid rgba(73,60,52,.06)}
.force33-detail{margin-top:12px;border:1px solid rgba(73,60,52,.08);border-radius:13px;background:#fff;overflow:hidden}.force33-detail summary{min-height:42px;padding:0 14px;display:flex;align-items:center;cursor:pointer;list-style:none;color:var(--espresso);font-size:7px;font-weight:700;letter-spacing:.09em}.force33-detail summary::-webkit-details-marker{display:none}.force33-detail[open] summary{border-bottom:1px solid rgba(73,60,52,.07);color:var(--magenta)}
.force33-video{aspect-ratio:16/9;background:#1d1512}.force33-video iframe{width:100%;height:100%;border:0}.force33-no-video{margin:0;padding:18px;color:rgba(73,60,52,.48);font-size:9px}
.force33-alternatives{display:grid;grid-template-columns:1fr 1fr;gap:10px}.force33-alt-grid{padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.force33-alt-grid>div{min-width:0}.force33-alt-grid small{display:block;color:rgba(73,60,52,.38);font-size:6px;font-weight:700;letter-spacing:.09em}.force33-alt-grid strong{display:block;min-height:34px;margin:5px 0 10px;color:var(--espresso);font-size:10px;line-height:1.4}
.force33-finish{margin-top:40px;padding:40px;border-radius:24px;background:linear-gradient(135deg,rgba(231,214,214,.65),rgba(255,254,252,.82));text-align:center}.force33-finish h2{margin:10px 0;color:var(--espresso);font-size:40px;font-weight:300;letter-spacing:-.045em}.force33-finish p{max-width:600px;margin:0 auto;color:rgba(73,60,52,.52);font-size:10px;line-height:1.65}.force33-finish button,.force33-finish>a{min-width:220px;height:44px;margin-top:20px;border:0;border-radius:99px;background:var(--magenta);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;letter-spacing:.09em}

@media(max-width:820px){
.force31-start{width:100%}.force31-days a{min-height:115px;scroll-snap-align:start}
.force33-workout{padding-top:14px}.force33-workout-head{margin-top:16px;padding:20px 0;display:block}.force33-workout-head h1{font-size:43px}.force33-completed{display:inline-flex;margin-top:16px}
.force33-orientation{padding:17px;grid-template-columns:1fr;gap:7px}.force33-exercise{padding:17px;grid-template-columns:36px 1fr;gap:9px}.force33-exercise-number{font-size:20px}.force33-exercise-title h2{font-size:23px}.force33-prescription{grid-template-columns:repeat(3,1fr);gap:5px}.force33-prescription>div{min-height:64px;padding:9px}.force33-prescription strong{font-size:9px;line-height:1.3}
.force33-alternatives{grid-template-columns:1fr}.force33-alt-grid{grid-template-columns:1fr;padding:10px}.force33-finish{padding:30px 20px}.force33-finish h2{font-size:34px}.force33-finish button,.force33-finish>a{width:100%;min-width:0}
}

/* ===== FIORAFIT V34 · FORÇA / METODOLOGIA ===== */
.force33-workout{max-width:1220px;margin:0 auto}.force33-workout-head{padding:34px 0 28px}.force33-workout-head h1{color:#2b1d18;font-weight:400}
.force34-strategy{position:relative;overflow:hidden;margin:4px 0 28px;padding:27px 30px;border-radius:22px;background:linear-gradient(125deg,#241713,#3b211d 60%,#571637);color:#fff;display:grid;grid-template-columns:260px 1fr;gap:30px;align-items:center;box-shadow:0 18px 45px rgba(48,27,21,.16)}
.force34-strategy:after{content:"";position:absolute;width:190px;height:190px;right:-70px;top:-90px;border:1px solid rgba(255,255,255,.10);border-radius:50%}.force34-strategy-label{display:grid;gap:8px}.force34-strategy-label span{color:#e88abb;font-size:7px;font-weight:800;letter-spacing:.16em}.force34-strategy-label strong{color:#fff;font-size:20px;font-weight:500}.force34-strategy-copy{padding-left:28px;border-left:1px solid rgba(255,255,255,.12)}.force34-strategy-copy p{max-width:650px;margin:0;color:rgba(255,255,255,.82);font-size:11px;line-height:1.7}.force34-strategy-copy small{display:block;margin-top:10px;color:#e88abb;font-size:6.5px;font-weight:800;letter-spacing:.12em}
.force33-exercises{gap:18px}.force33-exercise{padding:0;border:1px solid rgba(63,38,30,.10);border-radius:22px;background:#fff;grid-template-columns:72px 1fr;gap:0;overflow:hidden;box-shadow:0 10px 30px rgba(63,38,30,.045)}.force33-exercise-number{padding:27px 0;text-align:center;background:#2b1d18;color:rgba(255,255,255,.34);font-size:23px}.force33-exercise-main{padding:25px 27px 27px}.force33-exercise-title h2{font-size:30px;color:#2b1d18}
.force33-prescription{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.force33-prescription>div{min-height:72px;background:#f4eee9}.force33-prescription strong{font-size:14px;color:#2b1d18}
.force33-method{margin-top:16px;padding:20px 21px;border:0;border-radius:16px;background:linear-gradient(125deg,#8f075f,#b60070 55%,#5a183d);color:#fff;box-shadow:0 14px 34px rgba(154,0,93,.16)}.force33-method--hero{background:linear-gradient(125deg,#261518,#7e1554 55%,#b0006c)}.force33-method small{color:#f6b9db}.force33-method strong{display:block;margin-top:4px;color:#fff;font-size:18px}.force34-method-rule{width:34px;height:2px;margin:13px 0;background:rgba(255,255,255,.45)}.force33-method span{display:block;color:#f6b9db;font-size:6px;font-weight:800;letter-spacing:.13em}.force33-method p{max-width:760px;margin-top:7px;color:rgba(255,255,255,.88);font-size:10.5px;line-height:1.65}
.force34-coach-note,.force33-source-note{margin-top:12px;padding:15px 17px;border-radius:14px;background:#f5efeb;border-left:3px solid #b0006c}.force34-coach-note small,.force33-source-note small{display:block;margin-bottom:5px;color:#a30065;font-size:6px;font-weight:800;letter-spacing:.12em}.force34-coach-note p,.force33-source-note p{margin:0;color:#5c4940;font-size:9.5px;line-height:1.6}
.force33-detail{border-color:rgba(73,60,52,.10)}.force33-detail[open] summary{background:#faf7f4}.force33-finish{background:linear-gradient(125deg,#2b1d18,#4b252d);color:#fff}.force33-finish h2{color:#fff}.force33-finish p{color:rgba(255,255,255,.68)}
@media(max-width:820px){.force33-workout-head{padding:22px 0 18px}.force33-workout-head h1{font-size:39px}.force34-strategy{padding:22px 20px;grid-template-columns:1fr;gap:15px;border-radius:18px}.force34-strategy-copy{padding:14px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.12)}.force33-exercise{grid-template-columns:43px 1fr;border-radius:18px}.force33-exercise-number{padding-top:23px;font-size:17px}.force33-exercise-main{padding:20px 16px 21px}.force33-exercise-title h2{font-size:24px}.force33-prescription>div{min-height:66px;padding:9px 7px}.force33-prescription strong{font-size:10px}.force33-method{padding:17px}.force33-method strong{font-size:16px}.force33-method p{font-size:9.5px}}


/* ===== FIORAFIT CLUB MASTER V1 · MOVIMENTOS ===== */
.movement-master{width:100%}
.movement-master-hero{position:relative;isolation:isolate;min-height:540px;margin-top:8px;padding:52px;border-radius:30px;overflow:hidden;color:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:40px;box-shadow:0 26px 70px rgba(73,60,52,.14)}
.movement-master-hero-bg{position:absolute;inset:0;z-index:-3;background-size:cover;background-position:center}
.movement-master-hero-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(20,13,10,.72),rgba(20,13,10,.16) 68%),linear-gradient(180deg,rgba(20,13,10,.08),rgba(20,13,10,.62))}
.movement-master-hero-copy{max-width:760px}.movement-master-hero-copy>span,.movement-master-kicker{color:#ef9bc9;font-size:8px;font-weight:800;letter-spacing:.17em}.movement-master-hero h1{margin:12px 0 6px;color:#fff;font-size:clamp(72px,8vw,116px);font-weight:300;line-height:.86;letter-spacing:-.06em}.movement-master-hero-copy strong{display:block;color:#fff;font-size:18px;font-weight:600}.movement-master-hero-copy p{max-width:600px;margin:12px 0 0;color:rgba(255,255,255,.72);font-size:12px;line-height:1.7}
.movement-master-status{min-width:180px;padding:18px;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:rgba(25,17,13,.25);backdrop-filter:blur(10px);display:grid;gap:4px}.movement-master-status small{color:rgba(255,255,255,.46);font-size:7px;letter-spacing:.12em}.movement-master-status strong{color:#fff;font-size:11px;letter-spacing:.08em}
.movement-master-start{margin-top:52px;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:end}.movement-master-start h2,.movement-master-return h2{margin:10px 0 0;color:var(--espresso);font-size:clamp(38px,4vw,58px);font-weight:300;line-height:1;letter-spacing:-.045em}.movement-master-start>div:first-child>p{max-width:680px;margin:13px 0 0;color:rgba(73,60,52,.52);font-size:12px;line-height:1.7}.movement-master-ready{padding:22px;border:1px solid rgba(73,60,52,.07);border-radius:18px;background:rgba(255,254,252,.68)}.movement-master-ready>span{color:var(--magenta);font-size:7px;font-weight:800;letter-spacing:.12em}.movement-master-ready strong{display:block;margin-top:7px;color:var(--espresso);font-size:16px}.movement-master-ready p{margin:7px 0 0;color:rgba(73,60,52,.48);font-size:10px;line-height:1.6}
.movement-master-grid{margin-top:42px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.movement-master-grid article{min-height:260px;padding:22px;border:1px solid rgba(73,60,52,.07);border-radius:21px;background:rgba(255,254,252,.68);display:flex;flex-direction:column}.movement-master-icon{width:28px;height:28px;color:var(--magenta)}.movement-master-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.movement-master-grid article>small{margin-top:22px;color:rgba(73,60,52,.26);font-size:8px}.movement-master-grid h3{margin:auto 0 8px;color:var(--espresso);font-size:30px;font-weight:400;letter-spacing:-.035em}.movement-master-grid p{margin:0;color:rgba(73,60,52,.52);font-size:11px;line-height:1.6}.movement-master-soon{margin-top:18px;color:var(--magenta);font-size:7px;font-weight:800;letter-spacing:.1em}
.movement-master-return{margin-top:58px;padding:32px;border-radius:22px;background:linear-gradient(135deg,rgba(231,214,214,.72),rgba(255,254,252,.82));display:flex;align-items:center;justify-content:space-between;gap:30px}.movement-master-return a{min-width:170px;height:43px;padding:0 19px;border-radius:99px;background:var(--magenta);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:7px;font-weight:800;letter-spacing:.09em}
.movement-master-footer{margin-top:60px}.movement-master-footer>div{height:1px;background:rgba(73,60,52,.08)}.movement-master-footer p{margin:18px 0 0;text-align:center;color:rgba(73,60,52,.34);font-size:7px;letter-spacing:.07em}

/* PROFILE */
.profile-master{max-width:1100px;margin:0 auto;padding:45px 0 70px}.profile-master-head>span{color:var(--magenta);font-size:8px;font-weight:800;letter-spacing:.16em}.profile-master-head h1{margin:12px 0 8px;color:var(--espresso);font-size:clamp(52px,6vw,78px);font-weight:300;letter-spacing:-.055em}.profile-master-head p{margin:0;color:rgba(73,60,52,.50);font-size:12px}.profile-master-grid{margin-top:38px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.profile-master-grid article{min-height:180px;padding:22px;border:1px solid rgba(73,60,52,.07);border-radius:20px;background:rgba(255,254,252,.68);display:flex;flex-direction:column;justify-content:flex-end}.profile-master-grid small{margin-bottom:auto;color:var(--magenta);font-size:7px;font-weight:800;letter-spacing:.12em}.profile-master-grid h2{margin:0 0 8px;color:var(--espresso);font-size:25px;font-weight:400}.profile-master-grid p{margin:0;color:rgba(73,60,52,.50);font-size:10px;line-height:1.55}.profile-master-actions{margin-top:26px;display:flex;gap:9px}.profile-master-actions a{min-width:160px;height:42px;border:1px solid rgba(73,60,52,.10);border-radius:99px;color:var(--espresso);display:inline-flex;align-items:center;justify-content:center;font-size:7px;font-weight:800;letter-spacing:.09em}.profile-master-actions a:first-child{background:var(--magenta);color:#fff;border-color:transparent}

@media(max-width:820px){
 .movement-master-hero{min-height:420px;padding:25px 21px;border-radius:22px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}.movement-master-hero h1{font-size:64px}.movement-master-status{width:100%;min-width:0}.movement-master-start{margin-top:38px;grid-template-columns:1fr;gap:20px}.movement-master-start h2,.movement-master-return h2{font-size:36px}.movement-master-grid{grid-template-columns:1fr}.movement-master-grid article{min-height:210px}.movement-master-return{margin-top:42px;padding:24px;display:block}.movement-master-return a{width:100%;margin-top:22px}.profile-master{padding:30px 0 50px}.profile-master-grid{grid-template-columns:1fr}.profile-master-actions{display:grid}.profile-master-actions a{width:100%}
}


/* ===== FIORAFIT CLUB MASTER V2.2 · REFINAMENTO VISUAL ===== */
/*
   Refinamento apenas:
   - identidade e layout existentes preservados;
   - logo menor;
   - margens alinhadas;
   - cinzas mais legíveis;
   - botões padronizados;
   - desktop e mobile tratados separadamente.
*/

:root {
    --club-text-secondary: #76665D;
    --club-text-muted: #8A7970;
    --club-gutter-desktop: 32px;
    --club-gutter-mobile: 20px;
    --club-button-height: 44px;
    --club-button-radius: 999px;
}

/* ---------- CONTRASTE / LEITURA ---------- */

:root {
    --text-soft: rgba(45, 43, 42, .76);
    --text-faint: rgba(45, 43, 42, .58);
}

body:not(:has(.home-hero)) p {
    color: var(--club-text-secondary);
}

body:not(:has(.home-hero)) .top-nav {
    color: #66574F;
}

body:not(:has(.home-hero)) .top-nav a {
    opacity: .82;
}

body:not(:has(.home-hero)) .top-nav a:hover {
    opacity: 1;
}

/* Textos de apoio que estavam claros demais em fundos ivory/nude. */
.dashboard-v30-member .dash30-journey-title p,
.dashboard-v30-member .dash30-stat span,
.dashboard-v30-member .dash30-section-bar > small,
.dashboard-v30-member .dash30-news-grid span,
.dashboard-v30-member .dash30-member-benefits > p,
.dashboard-v30-member .dash30-perks p,
.force-v31 .force31-program > p,
.force-v31 .force31-change p,
.force-v31 .force31-hint,
.force33-workout .force34-coach-note p,
.force33-workout .force33-source-note p,
.movement-master .movement-master-start > div:first-child > p,
.movement-master .movement-master-ready p,
.movement-master .movement-master-grid p,
.profile-master .profile-master-head p,
.profile-master .profile-master-grid p {
    color: var(--club-text-secondary);
}

/* Mantém contraste correto dentro de cards escuros/fotos. */
.dashboard-v30-member .dash30-resume-copy p,
.dashboard-v30-member .dash30-movement-card p,
.dashboard-v30-member .dash30-recommended-grid small,
.movement-master .movement-master-hero-copy p,
.force33-workout .force34-strategy-copy p,
.force33-workout .force33-method p {
    color: rgba(255,255,255,.82);
}

/* ---------- HEADER / LOGO ---------- */

/* O header passa a seguir exatamente o mesmo eixo do conteúdo. */
body:not(:has(.home-hero)) .site-header {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

body:not(:has(.home-hero)) .site-header-inner {
    width: min(calc(100% - (var(--club-gutter-desktop) * 2)), 1450px);
    max-width: 1450px;
    min-height: 84px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

/* Logo deliberadamente menor e delicado. */
body:not(:has(.home-hero)) .brand-logo {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
}

body:not(:has(.home-hero)) .brand-logo img {
    width: 100px !important;
    max-width: 100px !important;
    height: 40px !important;
    object-fit: contain;
}

/* ---------- MARGENS / EIXOS ---------- */

/*
   Nas páginas internas, header e conteúdo usam o mesmo gutter.
   Mantemos todos os layouts internos existentes; apenas equalizamos
   o eixo esquerdo/direito.
*/
body:not(:has(.home-hero)):not(:has(.auth-screen)) .page {
    width: min(calc(100% - (var(--club-gutter-desktop) * 2)), 1450px);
    max-width: 1450px;
    margin-left: auto;
    margin-right: auto;
}

/* Dashboard Member: mesma margem para TODOS os blocos. */
body:has(.dashboard-v30-member) .page,
body:has(.dashboard-v30-member) .site-header-inner {
    width: min(calc(100% - (var(--club-gutter-desktop) * 2)), 1450px);
    max-width: 1450px;
}

/* FORÇA e demais movimentos ficam no mesmo eixo. */
.force-v31,
.force33-workout,
.movement-master,
.profile-master {
    margin-left: auto;
    margin-right: auto;
}

/* Espaçamento vertical mais previsível. */
.dashboard-v30-member .dash30-recommended,
.dashboard-v30-member .dash30-news {
    margin-top: 38px;
}

.dashboard-v30-member .dash30-member-benefits {
    margin-top: 48px;
}

.force31-next,
.force31-week-list,
.force31-change {
    margin-top: 42px;
}

/* ---------- BOTÕES PADRÃO ---------- */

.primary-button,
.button--primary,
.nav-cta,
.dashboard-v30-member .dash30-member-benefits > a,
.force31-frequency-form > button,
.force31-change button,
.force31-next-copy button,
.force33-finish button,
.force33-finish > a,
.movement-master-return a,
.profile-master-actions a:first-child {
    min-height: var(--club-button-height);
    height: var(--club-button-height);
    border-radius: var(--club-button-radius);
    padding: 0 22px;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 8px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.primary-button,
.button--primary,
.dashboard-v30-member .dash30-member-benefits > a,
.force31-frequency-form > button,
.force31-change button,
.force31-next-copy button,
.force33-finish button,
.force33-finish > a,
.movement-master-return a,
.profile-master-actions a:first-child {
    background: var(--magenta);
    color: #fff;
    box-shadow: 0 10px 24px rgba(163,1,103,.13);
}

.nav-cta {
    border: 1px solid rgba(73,60,52,.17);
    background: rgba(255,255,255,.32);
    color: var(--espresso);
    box-shadow: none;
}

/* Botões internos sobre foto/escuro seguem mesma altura e raio. */
.dashboard-v30-member .dash30-resume-copy button,
.dashboard-v30-member .dash30-movement-card div:last-child > span {
    min-height: 34px;
    border-radius: var(--club-button-radius);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Inputs e selects também entram no mesmo sistema de raio. */
input:not([type="radio"]):not([type="checkbox"]),
select,
textarea {
    border-radius: 14px;
}

/* ---------- ALINHAMENTO DE TÍTULOS ---------- */

.dashboard-v30-member .dash30-section-bar,
.dashboard-v30-member .dash30-section-head,
.force31-section-head,
.force33-workout-head,
.movement-master-start,
.profile-master-head {
    text-align: left;
}

.dashboard-v30-member .dash30-eyebrow,
.force31-kicker,
.movement-master-kicker {
    line-height: 1.25;
}

/* ---------- DESKTOP GRANDE ---------- */

@media (min-width: 1200px) {
    body:not(:has(.home-hero)) .site-header-inner,
    body:not(:has(.home-hero)):not(:has(.auth-screen)) .page,
    body:has(.dashboard-v30-member) .page,
    body:has(.dashboard-v30-member) .site-header-inner {
        width: min(calc(100% - 64px), 1450px);
    }

    .dashboard-v30-member .dash30-core {
        gap: 32px;
    }
}

/* ---------- TABLET ---------- */

@media (max-width: 1000px) {
    body:not(:has(.home-hero)) .site-header-inner,
    body:not(:has(.home-hero)):not(:has(.auth-screen)) .page,
    body:has(.dashboard-v30-member) .page,
    body:has(.dashboard-v30-member) .site-header-inner {
        width: calc(100% - 48px);
    }

    body:not(:has(.home-hero)) .brand-logo img {
        width: 96px !important;
        max-width: 96px !important;
        height: 38px !important;
    }
}

/* ---------- MOBILE ---------- */

@media (max-width: 820px) {
    :root {
        --club-gutter-mobile: 20px;
    }

    body:not(:has(.home-hero)) .site-header-inner,
    body:not(:has(.home-hero)):not(:has(.auth-screen)) .page,
    body:has(.dashboard-v30-member) .page,
    body:has(.dashboard-v30-member) .site-header-inner {
        width: calc(100% - (var(--club-gutter-mobile) * 2)) !important;
        max-width: none;
    }

    body:not(:has(.home-hero)) .site-header-inner {
        min-height: 76px;
        gap: 14px;
    }

    body:not(:has(.home-hero)) .brand-logo img {
        width: 92px !important;
        max-width: 92px !important;
        height: 37px !important;
    }

    body:not(:has(.home-hero)) .top-nav {
        gap: 14px;
    }

    body:not(:has(.home-hero)) .top-nav a {
        font-size: 10px;
        letter-spacing: .045em;
    }

    /*
       Carrosséis continuam horizontais, mas o PRIMEIRO card respeita
       exatamente a mesma margem esquerda do restante da página.
    */
    .dashboard-v30-member .dash30-movement-grid,
    .dashboard-v30-member .dash30-recommended-grid,
    .force31-days {
        width: calc(100% + var(--club-gutter-mobile)) !important;
        margin-left: 0 !important;
        margin-right: calc(var(--club-gutter-mobile) * -1);
        padding-right: var(--club-gutter-mobile) !important;
    }

    /* Mais respiro entre título e cards, sem criar grandes vazios. */
    .dashboard-v30-member .dash30-section-bar {
        margin-bottom: 14px;
    }

    .dashboard-v30-member .dash30-recommended,
    .dashboard-v30-member .dash30-news {
        margin-top: 30px;
    }

    .dashboard-v30-member .dash30-member-benefits {
        margin-top: 36px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .force31-program,
    .force31-change,
    .force34-strategy,
    .movement-master-return {
        margin-left: 0;
        margin-right: 0;
    }

    /* Primários ocupam 100% quando isso melhora a usabilidade mobile. */
    .force31-frequency-form > button,
    .force31-next-copy button,
    .force31-change button,
    .force33-finish button,
    .force33-finish > a,
    .movement-master-return a,
    .dashboard-v30-member .dash30-member-benefits > a {
        width: 100%;
        min-width: 0;
    }
}

/* ---------- MOBILE PEQUENO ---------- */

@media (max-width: 430px) {
    body:not(:has(.home-hero)) .site-header-inner,
    body:not(:has(.home-hero)):not(:has(.auth-screen)) .page,
    body:has(.dashboard-v30-member) .page,
    body:has(.dashboard-v30-member) .site-header-inner {
        width: calc(100% - 36px) !important;
    }

    body:not(:has(.home-hero)) .brand-logo img {
        width: 88px !important;
        max-width: 88px !important;
        height: 35px !important;
    }

    .dashboard-v30-member .dash30-greeting h1 {
        font-size: 36px;
    }

    .force31-program h2,
    .force31-section-head h2,
    .force31-change h2 {
        font-size: 28px;
    }
}


/* =======================================================================
   FIORAFIT CLUB · VISUAL V2.3
   Ajuste final baseado no mobile aprovado em 25/08/2026.
   Paleta oficial:
   Ivory #F8F4EF · Nude Rosé #E7D6D0 · Sand #D5C7BB
   Espresso #493C34 · Charcoal #2D2B2A · Magenta #A30167
   ======================================================================= */

:root{
  --ivory:#F8F4EF;
  --nude:#E7D6D0;
  --sand:#D5C7BB;
  --espresso:#493C34;
  --charcoal:#2D2B2A;
  --magenta:#A30167;
  --club-readable:#6A5A52;
  --club-readable-soft:#78675F;
  --club-btn-radius:9px;
}

/* Mais contraste sem perder a leveza premium */
.dashboard-v30-member .dash30-journey-title p,
.dashboard-v30-member .dash30-stat span,
.dashboard-v30-member .dash30-section-bar > small,
.dashboard-v30-member .dash30-news-grid span,
.dashboard-v30-member .dash30-member-benefits > p,
.dashboard-v30-member .dash30-perks p,
.dashboard-v30-member .dash30-footer p{
  color:var(--club-readable);
}

.dashboard-v30-member .dash30-news-grid span,
.dashboard-v30-member .dash30-perks p{
  font-size:9px;
  line-height:1.55;
}

.dashboard-v30-member .dash30-member-benefits > p{
  font-size:11.5px;
  line-height:1.7;
}

/* Botões do dashboard: menos "pílula", mais editorial */
.dashboard-v30-member .dash30-resume-copy button,
.dashboard-v30-member .dash30-movement-card div:last-child > span,
.dashboard-v30-member .dash30-member-benefits > a{
  border-radius:var(--club-btn-radius);
}

.dashboard-v30-member .dash30-movement-card div:last-child > span{
  border:1px solid rgba(163,1,103,.55);
  background:rgba(163,1,103,.72);
  color:#fff;
  box-shadow:0 8px 20px rgba(163,1,103,.12);
}

.dashboard-v30-member .dash30-resume-copy button{
  border:1px solid rgba(163,1,103,.72);
  background:rgba(163,1,103,.16);
  color:#fff;
}

.dashboard-v30-member .dash30-member-benefits > a{
  border-radius:10px;
}

/* Logo ainda mais delicado */
body:not(:has(.home-hero)) .brand-logo img{
  width:90px !important;
  max-width:90px !important;
  height:34px !important;
}

@media(max-width:820px){

  /* Margem mobile consistente */
  body:not(:has(.home-hero)) .site-header-inner,
  body:not(:has(.home-hero)):not(:has(.auth-screen)) .page,
  body:has(.dashboard-v30-member) .page,
  body:has(.dashboard-v30-member) .site-header-inner{
    width:calc(100% - 36px) !important;
  }

  body:not(:has(.home-hero)) .brand-logo img{
    width:82px !important;
    max-width:82px !important;
    height:31px !important;
  }

  /* Topo/Jornada: conteúdo realmente centralizado no mobile */
  .dashboard-v30-member .dash30-top{
    padding-top:18px;
  }

  .dashboard-v30-member .dash30-journey{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:auto auto;
    padding:20px 16px 18px;
    row-gap:17px;
    text-align:center;
  }

  .dashboard-v30-member .dash30-journey-title{
    grid-column:1/-1;
    width:100%;
    padding:0 4px 17px;
    border:0;
    border-bottom:1px solid rgba(73,60,52,.10);
    align-items:center;
    text-align:center;
  }

  .dashboard-v30-member .dash30-journey-title span,
  .dashboard-v30-member .dash30-journey-title strong,
  .dashboard-v30-member .dash30-journey-title p{
    width:100%;
    text-align:center;
  }

  .dashboard-v30-member .dash30-journey-title strong{
    font-size:19px;
    line-height:1.25;
  }

  .dashboard-v30-member .dash30-journey-title p{
    margin-top:8px;
    font-size:10.5px;
    line-height:1.55;
  }

  .dashboard-v30-member .dash30-journey > .dash30-stat{
    min-width:0;
    padding:0 8px;
    border-left:1px solid rgba(73,60,52,.10);
    align-items:center;
    justify-content:flex-start;
    text-align:center;
  }

  .dashboard-v30-member .dash30-journey > .dash30-stat:nth-of-type(2){
    border-left:0;
  }

  .dashboard-v30-member .dash30-stat b{
    font-size:27px;
  }

  .dashboard-v30-member .dash30-stat span{
    margin-top:8px;
    font-size:8.5px;
    line-height:1.35;
  }

  /* Cards de movimento: maiores e mais presentes, como no mockup aprovado */
  .dashboard-v30-member .dash30-movement-grid{
    width:calc(100% + 18px) !important;
    margin-right:-18px !important;
    padding-right:18px !important;
    grid-auto-columns:43vw;
    gap:9px;
  }

  .dashboard-v30-member .dash30-movement-card{
    height:250px;
    padding:13px;
    border-radius:14px;
  }

  .dashboard-v30-member .dash30-movement-card h3{
    font-size:23px;
    font-weight:500;
  }

  .dashboard-v30-member .dash30-movement-card p{
    min-height:48px;
    margin:8px 0 13px;
    font-size:9px;
    line-height:1.45;
  }

  .dashboard-v30-member .dash30-movement-card > div:first-child small{
    font-size:7px;
  }

  .dashboard-v30-member .dash30-movement-card div:last-child > span{
    min-height:34px;
    height:34px;
    border-radius:8px;
    background:rgba(163,1,103,.74);
    font-size:7px;
    letter-spacing:.10em;
  }

  /* Mais legibilidade nos blocos inferiores */
  .dashboard-v30-member .dash30-section-bar > small{
    font-size:8px;
  }

  .dashboard-v30-member .dash30-news-grid span{
    font-size:9px;
  }

  .dashboard-v30-member .dash30-member-benefits{
    padding:34px 22px 30px;
  }

  .dashboard-v30-member .dash30-member-benefits h2{
    font-size:34px;
    line-height:1.06;
  }

  .dashboard-v30-member .dash30-member-benefits > p{
    max-width:330px;
    font-size:11.5px;
    line-height:1.65;
  }

  .dashboard-v30-member .dash30-perks strong{
    font-size:8.5px;
  }

  .dashboard-v30-member .dash30-perks p{
    font-size:9px;
    line-height:1.5;
  }

  .dashboard-v30-member .dash30-footer p{
    font-size:8px;
  }
}

@media(max-width:430px){
  .dashboard-v30-member .dash30-greeting{
    text-align:left;
  }

  .dashboard-v30-member .dash30-greeting h1{
    font-size:37px;
  }

  .dashboard-v30-member .dash30-movement-grid{
    grid-auto-columns:44vw;
  }

  .dashboard-v30-member .dash30-movement-card{
    height:245px;
  }
}


/* ===== FIORAFIT CLUB · FINAL VISUAL 2026 ===== */
/* Direção final aprovada:
   Ivory #F8F4EF · Nude Rosé #E7D6D0 · Sand #D5C7BB
   Espresso #493C34 · Charcoal #2D2B2A · Magenta #A30167
*/

:root{
  --ivory:#F8F4EF;
  --nude:#E7D6D0;
  --sand:#D5C7BB;
  --espresso:#493C34;
  --charcoal:#2D2B2A;
  --magenta:#A30167;
  --text-main:#493C34;
  --text-support:#6B5B53;
  --text-soft:#7B6B63;
  --border-soft:rgba(73,60,52,.10);
  --button-radius:9px;
}

/* Base visual mais legível */
body{
  background:var(--ivory);
  color:var(--text-main);
}

body:not(:has(.home-hero)) .site-header{
  background:transparent;
}

body:not(:has(.home-hero)) .site-header-inner{
  min-height:88px;
}

/* Logo menor e delicado */
body:not(:has(.home-hero)) .brand-logo{
  display:flex;
  align-items:center;
}

body:not(:has(.home-hero)) .brand-logo img{
  width:92px !important;
  max-width:92px !important;
  height:auto !important;
  object-fit:contain;
}

/* Links do header com contraste melhor */
body:not(:has(.home-hero)) .site-nav a{
  color:#6A5A52;
  font-size:11px;
}

/* -------------------- DASHBOARD MEMBER -------------------- */

.dashboard-v30-member{
  color:var(--text-main);
}

/* Topo */
.dashboard-v30-member .dash30-greeting h1,
.dashboard-v30-member .dash30-journey-title strong,
.dashboard-v30-member .dash30-section-head h2,
.dashboard-v30-member .dash30-news-grid h3,
.dashboard-v30-member .dash30-member-benefits h2{
  color:var(--espresso);
}

.dashboard-v30-member .dash30-greeting span,
.dashboard-v30-member .dash30-eyebrow,
.dashboard-v30-member .dash30-journey-title span{
  color:var(--magenta);
}

.dashboard-v30-member .dash30-journey{
  background:linear-gradient(135deg,rgba(231,214,208,.68),rgba(248,244,239,.92));
  border:1px solid rgba(73,60,52,.05);
}

.dashboard-v30-member .dash30-journey-title p,
.dashboard-v30-member .dash30-stat span,
.dashboard-v30-member .dash30-news-grid span,
.dashboard-v30-member .dash30-member-benefits > p,
.dashboard-v30-member .dash30-perks p,
.dashboard-v30-member .dash30-footer p,
.dashboard-v30-member .dash30-section-bar > small{
  color:var(--text-support) !important;
}

/* Continue de onde parou */
.dashboard-v30-member .dash30-resume-card{
  border-radius:18px;
  overflow:hidden;
}

.dashboard-v30-member .dash30-resume-copy{
  background:#211713;
}

.dashboard-v30-member .dash30-resume-copy p{
  color:rgba(255,255,255,.74);
}

.dashboard-v30-member .dash30-resume-copy button{
  border-radius:var(--button-radius);
  border:1px solid rgba(163,1,103,.76);
  background:rgba(163,1,103,.15);
  color:#fff;
  min-height:42px;
  letter-spacing:.09em;
}

/* Cards de movimentos – desktop */
.dashboard-v30-member .dash30-movement-grid{
  gap:14px;
}

.dashboard-v30-member .dash30-movement-card{
  min-height:300px;
  height:300px;
  padding:16px;
  border-radius:16px;
  box-shadow:0 14px 34px rgba(73,60,52,.09);
}

.dashboard-v30-member .dash30-movement-card h3{
  font-size:28px;
  font-weight:500;
  color:#fff;
}

.dashboard-v30-member .dash30-movement-card p{
  min-height:52px;
  font-size:10px;
  line-height:1.5;
  color:rgba(255,255,255,.90);
}

.dashboard-v30-member .dash30-movement-card > div:first-child small{
  font-size:7px;
  color:rgba(255,255,255,.72);
}

.dashboard-v30-member .dash30-movement-card div:last-child > span{
  min-height:39px;
  height:39px;
  border-radius:var(--button-radius);
  border:1px solid rgba(163,1,103,.62);
  background:rgba(163,1,103,.74);
  color:#fff;
  font-size:7px;
  letter-spacing:.10em;
  box-shadow:0 10px 22px rgba(163,1,103,.15);
}

/* Recomendados */
.dashboard-v30-member .dash30-recommended-grid article{
  border-radius:14px;
  min-height:150px;
}

.dashboard-v30-member .dash30-recommended-grid h3{
  font-size:16px;
}

.dashboard-v30-member .dash30-recommended-grid small{
  font-size:9px;
}

/* Novidades */
.dashboard-v30-member .dash30-news-grid article{
  border-radius:16px;
  border:1px solid rgba(73,60,52,.06);
  background:linear-gradient(135deg,rgba(231,214,208,.70),rgba(248,244,239,.94));
}

.dashboard-v30-member .dash30-news-grid h3{
  font-size:17px;
}

.dashboard-v30-member .dash30-news-grid span{
  font-size:9.5px;
  line-height:1.5;
}

/* Benefícios / VISTA O SEU MOVIMENTO */
.dashboard-v30-member .dash30-member-benefits{
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,254,252,.90),rgba(231,214,208,.46));
}

.dashboard-v30-member .dash30-member-benefits > p{
  font-size:12px;
  line-height:1.7;
}

.dashboard-v30-member .dash30-perks strong{
  font-size:9px;
}

.dashboard-v30-member .dash30-perks p{
  font-size:9.5px;
  line-height:1.55;
}

.dashboard-v30-member .dash30-member-benefits > a{
  border-radius:10px;
  background:var(--magenta);
  color:#fff;
  min-height:46px;
}

/* Footer */
.dashboard-v30-member .dash30-footer p{
  font-size:8.5px;
}

/* Desktop: margens mais elegantes e consistentes */
@media(min-width:821px){
  body:has(.dashboard-v30-member) .page,
  body:has(.dashboard-v30-member) .site-header-inner{
    width:min(calc(100% - 64px),1450px) !important;
  }

  .dashboard-v30-member .dash30-top{
    padding-top:24px;
  }

  .dashboard-v30-member .dash30-journey{
    padding:26px 30px;
  }

  .dashboard-v30-member .dash30-stat b{
    font-size:34px;
  }

  .dashboard-v30-member .dash30-stat span{
    font-size:10px;
  }

  .dashboard-v30-member .dash30-member-benefits{
    padding:52px 58px 44px;
  }
}

/* -------------------- MOBILE -------------------- */
@media(max-width:820px){

  body:not(:has(.home-hero)) .site-header-inner,
  body:not(:has(.home-hero)):not(:has(.auth-screen)) .page,
  body:has(.dashboard-v30-member) .page,
  body:has(.dashboard-v30-member) .site-header-inner{
    width:calc(100% - 34px) !important;
  }

  body:not(:has(.home-hero)) .site-header-inner{
    min-height:78px;
  }

  body:not(:has(.home-hero)) .brand-logo img{
    width:82px !important;
    max-width:82px !important;
  }

  body:not(:has(.home-hero)) .site-nav a{
    font-size:10px;
  }

  /* Greeting */
  .dashboard-v30-member .dash30-greeting h1{
    font-size:40px;
    line-height:1;
  }

  .dashboard-v30-member .dash30-greeting span{
    font-size:8px;
  }

  /* Jornada centralizada */
  .dashboard-v30-member .dash30-journey{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:auto auto;
    padding:21px 16px 20px;
    row-gap:18px;
    text-align:center;
    border-radius:18px;
  }

  .dashboard-v30-member .dash30-journey-title{
    grid-column:1/-1;
    width:100%;
    padding:0 4px 18px !important;
    border:0 !important;
    border-bottom:1px solid rgba(73,60,52,.10) !important;
    align-items:center !important;
    text-align:center !important;
  }

  .dashboard-v30-member .dash30-journey-title span,
  .dashboard-v30-member .dash30-journey-title strong,
  .dashboard-v30-member .dash30-journey-title p{
    width:100%;
    text-align:center !important;
  }

  .dashboard-v30-member .dash30-journey-title strong{
    font-size:20px;
    line-height:1.25;
  }

  .dashboard-v30-member .dash30-journey-title p{
    margin-top:9px;
    font-size:11px;
    line-height:1.5;
  }

  .dashboard-v30-member .dash30-journey > .dash30-stat{
    min-width:0;
    padding:0 8px !important;
    border-left:1px solid rgba(73,60,52,.10);
    align-items:center !important;
    text-align:center !important;
  }

  .dashboard-v30-member .dash30-journey > .dash30-stat:nth-of-type(2){
    border-left:0;
  }

  .dashboard-v30-member .dash30-stat b{
    font-size:29px;
  }

  .dashboard-v30-member .dash30-stat span{
    margin-top:8px;
    font-size:9px;
    line-height:1.35;
  }

  /* Continue */
  .dashboard-v30-member .dash30-resume-card{
    grid-template-columns:42% 58%;
    min-height:210px;
    height:210px;
    border-radius:18px;
  }

  .dashboard-v30-member .dash30-resume-copy{
    padding:18px 16px;
  }

  .dashboard-v30-member .dash30-resume-copy h2{
    font-size:20px;
  }

  .dashboard-v30-member .dash30-resume-copy p{
    font-size:8.5px;
    line-height:1.5;
  }

  .dashboard-v30-member .dash30-resume-copy button{
    min-height:36px;
    height:36px;
    border-radius:8px;
  }

  /* Movimento: maior, 2 cards bem presentes */
  .dashboard-v30-member .dash30-movement-grid{
    width:calc(100% + 17px) !important;
    margin-right:-17px !important;
    padding-right:17px !important;
    grid-auto-columns:44vw !important;
    gap:10px;
  }

  .dashboard-v30-member .dash30-movement-card{
    height:265px;
    min-height:265px;
    padding:14px;
    border-radius:15px;
  }

  .dashboard-v30-member .dash30-movement-card h3{
    font-size:24px;
  }

  .dashboard-v30-member .dash30-movement-card p{
    min-height:53px;
    font-size:9.5px;
    line-height:1.45;
  }

  .dashboard-v30-member .dash30-movement-card div:last-child > span{
    height:36px;
    min-height:36px;
    border-radius:8px;
    background:rgba(163,1,103,.74);
    font-size:7px;
  }

  /* Blocos inferiores */
  .dashboard-v30-member .dash30-section-bar > small{
    font-size:8.5px;
  }

  .dashboard-v30-member .dash30-recommended-grid article{
    height:118px;
    min-height:118px;
  }

  .dashboard-v30-member .dash30-news-grid span{
    font-size:9.5px;
  }

  .dashboard-v30-member .dash30-member-benefits{
    padding:35px 22px 30px;
    border-radius:20px;
  }

  .dashboard-v30-member .dash30-member-benefits h2{
    font-size:35px;
    line-height:1.05;
  }

  .dashboard-v30-member .dash30-member-benefits > p{
    max-width:340px;
    margin-left:auto;
    margin-right:auto;
    font-size:11.5px;
    line-height:1.65;
    color:var(--text-support) !important;
  }

  .dashboard-v30-member .dash30-perks{
    margin-top:26px;
  }

  .dashboard-v30-member .dash30-perks article{
    padding:0 10px;
  }

  .dashboard-v30-member .dash30-perks strong{
    font-size:8px;
  }

  .dashboard-v30-member .dash30-perks p{
    font-size:9px;
    line-height:1.5;
  }

  .dashboard-v30-member .dash30-footer p{
    font-size:8px;
  }

  /* Bottom nav mais elegante e menos "pesado" */
  .dashboard-v30-member + .dash30-mobile-nav,
  .dash30-mobile-nav{
    left:12px;
    right:12px;
    height:62px;
    border-radius:18px;
  }

  .dash30-mobile-nav a{
    font-size:8.5px;
  }
}

@media(max-width:430px){
  .dashboard-v30-member .dash30-movement-grid{
    grid-auto-columns:45vw !important;
  }

  .dashboard-v30-member .dash30-movement-card{
    height:258px;
    min-height:258px;
  }

  .dashboard-v30-member .dash30-member-benefits h2{
    font-size:33px;
  }
}

/* ===== FIORAFIT · FORÇA FINAL LIGHT ===== */
.force-v31{--fi:#F8F4EF;--nu:#E7D6D0;--sa:#D5C7BB;--es:#493C34;--ch:#2D2B2A;--ma:#A30167;color:var(--ch)}
.force-final-hero{min-height:315px;margin-top:18px;padding:38px 24px 0;overflow:hidden;display:grid;grid-template-columns:48% 52%;border-bottom:1px solid rgba(73,60,52,.07)}
.force-final-hero-copy{z-index:2;align-self:center;padding-left:18px}.force-final-hero h1{margin:10px 0 8px;color:var(--ch);font-size:clamp(68px,7vw,108px);font-weight:300;line-height:.88;letter-spacing:-.06em}.force-final-hero p{margin:0;color:#5f514a!important;font-size:15px;line-height:1.55}.force-final-hero strong{display:block;margin-top:13px;color:var(--ma);font-size:12px}.force-final-hero-image{min-height:300px;background:linear-gradient(90deg,var(--fi),rgba(248,244,239,.15) 35%,transparent 60%),url('/assets/images/force/inferiores-1.png') center 38%/cover no-repeat;border-radius:160px 0 0 0}
.force-final-program{margin-top:28px;padding:22px 28px;border:1px solid rgba(73,60,52,.08);border-radius:18px;background:linear-gradient(120deg,rgba(231,214,208,.66),rgba(248,244,239,.86));display:grid;grid-template-columns:1.5fr .65fr .65fr;align-items:center}.force-final-program-main{padding-right:28px}.force-final-label{color:var(--es);font-size:9px;letter-spacing:.08em}.force-final-program-title{margin:12px 0 13px;display:flex;align-items:center;gap:12px}.force-final-program-title h2{margin:0;color:var(--es);font-size:28px;font-weight:400}.force-final-program-title span{padding:5px 8px;border:1px solid rgba(163,1,103,.28);border-radius:7px;color:var(--es);font-size:7px}.force-final-progress{height:5px;border-radius:10px;background:rgba(73,60,52,.10);overflow:hidden}.force-final-progress i{height:100%;display:block;background:var(--ma)}.force-final-program-main>small{display:block;margin-top:8px;color:var(--ma);font-size:8px}.force-final-program-stat{min-height:95px;padding:10px 24px;border-left:1px solid rgba(73,60,52,.10);display:flex;flex-direction:column;justify-content:center}.force-final-program-stat b{font-size:18px}.force-final-program-stat strong{font-size:9px}.force-final-program-stat p{margin:8px 0 0;color:#6b5b53!important;font-size:9px;line-height:1.45}
.force-final-week{margin-top:34px}.force-final-section-head{margin-bottom:14px}.force-final-section-head>div{display:flex;align-items:baseline;gap:18px}.force-final-section-head h2{margin:0;color:var(--es);font-size:17px;font-weight:500}.force-final-section-head p{margin:0;color:#6b5b53!important;font-size:9px}.force-final-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.force-final-card{border:1px solid rgba(73,60,52,.09);border-radius:15px;overflow:hidden;background:rgba(255,254,252,.72);color:inherit;box-shadow:0 8px 22px rgba(73,60,52,.035)}.force-final-card-image{height:190px;padding:11px;background-position:center;background-size:cover}.force-final-card-image>span{width:31px;height:27px;border-radius:8px;background:rgba(163,1,103,.78);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px}.force-final-card-copy{min-height:150px;padding:14px;display:flex;flex-direction:column}.force-final-card h3{margin:0;color:var(--ch);font-size:15px;line-height:1.12}.force-final-card p{margin:10px 0;color:#65564f!important;font-size:8px;line-height:1.45}.force-final-card-copy>div{margin-top:auto;padding-top:11px;border-top:1px solid rgba(73,60,52,.09);display:flex;justify-content:space-between}.force-final-card-copy strong{color:#6b5b53;font-size:8px;font-weight:500}.force-final-card-copy i{font-style:normal;color:#9a7560}.force-final-card.is-complete strong,.force-final-card.is-complete i,.force-final-card.is-next strong,.force-final-card.is-next i{color:var(--ma)}
.force-final-next{min-height:275px;margin-top:28px;border:1px solid rgba(73,60,52,.08);border-radius:19px;overflow:hidden;background:linear-gradient(115deg,rgba(231,214,208,.62),rgba(248,244,239,.95));display:grid;grid-template-columns:56% 44%}.force-final-next-copy{padding:32px 34px;display:flex;flex-direction:column;justify-content:center}.force-final-next-copy>span{color:var(--es);font-size:8px;letter-spacing:.08em}.force-final-next h2{margin:9px 0 6px;color:var(--es);font-size:34px;font-weight:400}.force-final-next-copy>p{margin:0;color:#64554e!important;font-size:10px;line-height:1.55}.force-final-next-meta{margin-top:18px;display:flex;gap:25px}.force-final-next-meta span{color:#6a5a52;font-size:8px}.force-final-next-meta b{display:block;color:var(--ch);font-size:10px}.force-final-next-actions{margin-top:22px;display:flex;gap:9px}.force-final-next-actions a{min-width:190px;height:43px;padding:0 18px;border-radius:9px;background:var(--ma);color:#fff;display:inline-flex;align-items:center;justify-content:space-between;font-size:8px;font-weight:700}.force-final-next-actions a.secondary{min-width:150px;border:1px solid rgba(73,60,52,.18);background:rgba(248,244,239,.45);color:var(--es);justify-content:center}.force-final-next-image{background-position:center;background-size:cover;position:relative}.force-final-next-image:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--fi),transparent 35%)}
.force-final-change{margin-top:28px;padding:24px 28px;border:1px solid rgba(73,60,52,.07);border-radius:18px;background:rgba(255,254,252,.62);display:flex;align-items:center;justify-content:space-between;gap:25px}.force-final-change h2{margin:7px 0 4px;color:var(--es);font-size:23px;font-weight:400}.force-final-change p{margin:0;color:#6b5b53!important;font-size:9px}.force-final-change form{display:flex;gap:8px}.force-final-change select,.force-final-change button{height:40px;border-radius:9px}.force-final-change select{padding:0 14px;border:1px solid rgba(73,60,52,.13);background:var(--fi);color:var(--es)}.force-final-change button{padding:0 18px;border:0;background:var(--ma);color:#fff;font-size:7px;font-weight:700}
@media(max-width:820px){.force-final-hero{min-height:380px;margin-top:0;padding:24px 0 0;display:block;position:relative}.force-final-hero-copy{padding:20px 6px 0;position:relative;z-index:2}.force-final-hero h1{font-size:64px}.force-final-hero p{font-size:12px}.force-final-hero-image{position:absolute;right:-18px;bottom:0;width:62%;height:72%;min-height:0;border-radius:120px 0 0 0}.force-final-program{margin-top:18px;padding:20px;grid-template-columns:1fr 1fr;gap:17px}.force-final-program-main{grid-column:1/-1;padding:0 0 17px;border-bottom:1px solid rgba(73,60,52,.10)}.force-final-program-title h2{font-size:24px}.force-final-program-stat{min-height:85px;padding:0 12px;border-left:0}.force-final-program-stat+.force-final-program-stat{border-left:1px solid rgba(73,60,52,.10)}.force-final-cards{width:calc(100vw - 17px);padding-right:17px;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:43vw;gap:9px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.force-final-card{scroll-snap-align:start}.force-final-card-image{height:175px}.force-final-card-copy{min-height:135px}.force-final-card h3{font-size:14px}.force-final-next{display:block}.force-final-next-copy{padding:25px 22px}.force-final-next h2{font-size:29px}.force-final-next-image{height:210px}.force-final-next-image:before{background:linear-gradient(180deg,var(--fi),transparent 35%)}.force-final-next-actions{display:grid}.force-final-next-actions a,.force-final-next-actions a.secondary{width:100%;min-width:0}.force-final-change{display:block;padding:22px}.force-final-change form{margin-top:18px;display:grid}.force-final-change select,.force-final-change button{width:100%}}


/* ===== FIORAFIT · FORÇA HERO CENTRALIZADO ===== */
.force-final-hero{
  min-height:auto !important;
  margin-top:18px !important;
  padding:70px 24px 72px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  border-bottom:1px solid rgba(73,60,52,.07) !important;
}

.force-final-hero-copy{
  width:min(100%,760px) !important;
  padding:0 !important;
  margin:0 auto !important;
  align-self:auto !important;
  position:relative !important;
  z-index:1 !important;
  text-align:center !important;
}

.force-final-hero-copy .force31-kicker{
  display:block !important;
  width:100% !important;
  text-align:center !important;
}

.force-final-hero h1{
  margin:14px 0 16px !important;
  text-align:center !important;
}

.force-final-hero p{
  margin:0 auto !important;
  max-width:620px !important;
  text-align:center !important;
}

.force-final-hero strong{
  margin:15px auto 0 !important;
  text-align:center !important;
}

.force-final-hero-image{
  display:none !important;
}

@media(max-width:820px){
  .force-final-hero{
    min-height:auto !important;
    margin-top:0 !important;
    padding:46px 12px 50px !important;
    display:flex !important;
  }

  .force-final-hero-copy{
    width:100% !important;
    padding:0 !important;
  }

  .force-final-hero h1{
    font-size:62px !important;
    line-height:.92 !important;
    margin:12px 0 15px !important;
  }

  .force-final-hero p{
    max-width:330px !important;
    font-size:12px !important;
    line-height:1.55 !important;
  }

  .force-final-hero strong{
    max-width:330px !important;
    font-size:10.5px !important;
    line-height:1.4 !important;
  }
}

@media(max-width:430px){
  .force-final-hero{
    padding-top:38px !important;
    padding-bottom:44px !important;
  }

  .force-final-hero h1{
    font-size:58px !important;
  }
}

/* ===== FIORAFIT · TELA DE TREINO PREMIUM V35 ===== */
.force33-workout{max-width:1180px!important}
.force33-workout-head{padding:26px 0 24px!important}
.force33-workout-head h1{font-size:clamp(42px,4.4vw,68px)!important;line-height:.98!important;letter-spacing:-.05em!important;color:#2D2B2A!important}
.force33-workout-head p{color:#65564f!important;font-size:11px!important}

.force34-strategy{margin:4px 0 28px!important;padding:24px 28px!important;border:1px solid rgba(73,60,52,.09)!important;border-radius:18px!important;background:linear-gradient(120deg,rgba(231,214,208,.58),rgba(248,244,239,.94))!important;color:#2D2B2A!important;grid-template-columns:230px 1fr!important;box-shadow:none!important}
.force34-strategy:after{border-color:rgba(163,1,103,.09)!important}
.force34-strategy-label span{color:#A30167!important}
.force34-strategy-label strong{color:#493C34!important;font-size:19px!important}
.force34-strategy-copy{border-left:1px solid rgba(73,60,52,.12)!important}
.force34-strategy-copy p{color:#5f514a!important;font-size:11px!important}
.force34-strategy-copy small{color:#A30167!important}

.force33-exercises{gap:16px!important}
.force33-exercise{position:relative!important;padding:0!important;border:1px solid rgba(73,60,52,.09)!important;border-radius:18px!important;background:rgba(255,254,252,.82)!important;display:block!important;overflow:hidden!important;box-shadow:0 8px 26px rgba(73,60,52,.035)!important}
.force33-exercise-number{position:absolute!important;top:22px!important;left:24px!important;z-index:2!important;width:36px!important;height:30px!important;padding:0!important;border-radius:8px!important;background:rgba(163,1,103,.10)!important;color:#A30167!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:11px!important;font-weight:700!important}
.force33-exercise-main{padding:24px 26px 26px 76px!important}
.force33-exercise-title>span{color:#A30167!important;font-size:7px!important}
.force33-exercise-title h2{margin-top:5px!important;color:#2D2B2A!important;font-size:29px!important;font-weight:400!important}
.force33-prescription{margin-top:17px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.force33-prescription>div{min-height:68px!important;padding:12px 15px!important;border:1px solid rgba(73,60,52,.045)!important;border-radius:11px!important;background:#F3ECE7!important}
.force33-prescription small{color:#796960!important;font-size:6.5px!important}
.force33-prescription strong{color:#2D2B2A!important;font-size:13px!important}

.force34-coach-note,.force33-source-note{padding:15px 17px!important;border-radius:11px!important;background:rgba(231,214,208,.38)!important;border-left:2px solid #A30167!important}
.force34-coach-note p,.force33-source-note p{color:#5b4d46!important;font-size:10px!important}
.force33-method{padding:18px 20px!important;border-radius:12px!important;background:linear-gradient(120deg,#A30167,#7d0b54)!important;box-shadow:none!important}
.force33-method--hero{background:linear-gradient(120deg,#493C34,#A30167)!important}

.force33-detail{border-radius:10px!important;background:rgba(255,255,255,.70)!important}
.force33-detail summary{min-height:46px!important;padding:0 16px!important;font-size:7.5px!important;color:#493C34!important}
.force33-detail summary:after{content:'+';margin-left:auto;color:#A30167;font-size:14px;font-weight:400}
.force33-detail[open] summary:after{content:'−'}
.force33-alternatives{gap:8px!important}

.force33-finish{border-radius:18px!important;background:linear-gradient(120deg,rgba(231,214,208,.62),rgba(248,244,239,.96))!important;color:#2D2B2A!important;box-shadow:none!important}
.force33-finish h2{color:#2D2B2A!important}.force33-finish p{color:#65564f!important}
.force33-finish button,.force33-finish>a{border-radius:9px!important;background:#A30167!important;color:#fff!important}

@media(max-width:820px){
 .force33-workout-head{padding:18px 0 20px!important}.force33-workout-head h1{font-size:36px!important;line-height:1!important}
 .force34-strategy{padding:19px 18px!important;grid-template-columns:1fr!important;gap:12px!important}.force34-strategy-copy{padding:12px 0 0!important;border-left:0!important;border-top:1px solid rgba(73,60,52,.10)!important}
 .force33-exercise-number{top:18px!important;left:16px!important;width:32px!important;height:28px!important}
 .force33-exercise-main{padding:18px 15px 20px 58px!important}.force33-exercise-title h2{font-size:23px!important}
 .force33-prescription{margin-left:-42px!important;grid-template-columns:repeat(3,1fr)!important;gap:5px!important}.force33-prescription>div{min-height:62px!important;padding:9px 8px!important}.force33-prescription strong{font-size:9.5px!important;line-height:1.25!important}
 .force33-method,.force34-coach-note,.force33-source-note,.force33-detail,.force33-alternatives{margin-left:-42px!important}
 .force33-alternatives{grid-template-columns:1fr!important}
}

/* ===== FIORAFIT RITMO · EXPERIÊNCIA V1 ===== */
body:has(.ritmo-app){background:#0d0d0e;color:#f8f4ef}.page:has(.ritmo-app){max-width:none!important;padding:0!important;background:#0d0d0e}body:has(.ritmo-app) .site-header{background:#0d0d0e!important;border-bottom:1px solid rgba(255,255,255,.08)!important}body:has(.ritmo-app) .site-header-inner{max-width:1240px!important}body:has(.ritmo-app) .top-nav a{color:#f8f4ef!important}body:has(.ritmo-app) .site-footer{display:none!important}.ritmo-app{max-width:1240px;margin:0 auto;padding:0 28px 70px;font-family:inherit}.ritmo-hero{min-height:430px;display:flex;align-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 72% 42%,rgba(163,1,103,.26),transparent 30%),linear-gradient(110deg,#0d0d0e 35%,rgba(13,13,14,.55)),url('/assets/images/movements/ritmo.jpg') right center/55% cover no-repeat;border-bottom:1px solid rgba(255,255,255,.08)}.ritmo-hero:after{content:'RITMO';position:absolute;right:-30px;bottom:-55px;font-size:210px;font-weight:800;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px rgba(163,1,103,.18)}.ritmo-hero-copy{max-width:590px;z-index:2}.ritmo-hero-copy>span,.ritmo-section-head small,.ritmo-workout>small{font-size:10px;letter-spacing:.22em;color:#e66bb6;font-weight:700}.ritmo-hero h1{font-size:clamp(78px,10vw,145px);line-height:.78;letter-spacing:-.07em;margin:20px 0 28px;color:#fff}.ritmo-hero strong{display:block;font-size:22px;letter-spacing:.04em}.ritmo-hero p{max-width:460px;color:#bdb7b4;font-size:14px;line-height:1.65}.ritmo-pulse{position:absolute;right:30%;top:31%;font-size:90px;color:#d5198a;transform:rotate(-8deg)}.ritmo-warning{margin:20px 0;padding:14px 18px;border:1px solid rgba(230,107,182,.3);background:rgba(163,1,103,.12);border-radius:10px;color:#f8f4ef}.ritmo-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:-42px 0 48px;position:relative;z-index:4}.ritmo-choice{min-height:270px;padding:34px;border-radius:20px;text-decoration:none;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;position:relative;border:1px solid rgba(255,255,255,.1);transition:.25s}.ritmo-choice:hover{transform:translateY(-3px)}.ritmo-choice:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.25),rgba(0,0,0,.02));z-index:-1}.ritmo-choice-run{background:linear-gradient(135deg,#3e146f,#ad1b8d),url('/assets/images/movements/ritmo.jpg') center/cover}.ritmo-choice-cardio{background:linear-gradient(135deg,#a30167,#e0529d)}.ritmo-choice small{align-self:flex-start;background:rgba(0,0,0,.18);padding:7px 10px;border-radius:8px;font-size:9px}.ritmo-choice h2{font-size:48px;margin:12px 0 4px;letter-spacing:-.04em}.ritmo-choice p{margin:0 0 20px;color:#f4eaf0}.ritmo-choice span{font-size:10px;font-weight:800;letter-spacing:.08em}.ritmo-panel,.ritmo-recent{border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:30px;margin:0 0 24px;background:#111113}.ritmo-section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:26px}.ritmo-section-head h2{font-size:32px;margin:5px 0 0;letter-spacing:-.035em;color:#fff}.ritmo-section-head p{color:#8f8986;font-size:11px;max-width:360px;text-align:right}.ritmo-onboarding{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.ritmo-onboarding>div,.ritmo-builder>div{background:#171719;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:20px}.ritmo-onboarding>div>span,.ritmo-builder>div>span{color:#e43c9d;font-size:10px}.ritmo-onboarding h3,.ritmo-builder h3{margin:5px 0 14px;color:#fff}.ritmo-onboarding label{display:block;padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:10px;margin:8px 0;cursor:pointer}.ritmo-onboarding label:has(input:checked){border-color:#d5198a;background:rgba(163,1,103,.12)}.ritmo-onboarding input,.ritmo-options input{position:absolute;opacity:0}.ritmo-onboarding b{display:block}.ritmo-onboarding small{display:block;color:#8f8986;margin-top:4px;line-height:1.4}.ritmo-btn{border:0;background:#d5198a;color:#fff;border-radius:9px;padding:15px 20px;font-weight:800;font-size:10px;letter-spacing:.06em;cursor:pointer}.ritmo-onboarding>.ritmo-btn{grid-column:1/-1}.ritmo-journey-summary{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end;padding:20px;background:linear-gradient(110deg,rgba(163,1,103,.14),rgba(255,255,255,.02));border-radius:14px;margin-bottom:18px}.ritmo-journey-summary small{color:#9c9290}.ritmo-journey-summary strong{display:block;color:#d94aa3;font-size:36px;margin:3px 0}.ritmo-journey-summary p{margin:0;color:#aaa29e}.ritmo-progress{height:8px;background:#29292c;border-radius:10px;overflow:hidden}.ritmo-progress span{display:block;height:100%;background:linear-gradient(90deg,#a30167,#ed53ae);border-radius:10px}.ritmo-run-grid{display:grid;grid-template-columns:340px 1fr;gap:18px}.ritmo-session-list{display:flex;flex-direction:column;gap:9px}.ritmo-session{display:grid;grid-template-columns:34px 1fr 26px;gap:12px;align-items:center;padding:15px;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#171719}.ritmo-session.active{border-color:#d5198a;background:rgba(163,1,103,.12)}.ritmo-session.muted{opacity:.45;pointer-events:none}.ritmo-session>span{color:#e0529d;font-size:11px}.ritmo-session small,.ritmo-session em{display:block;color:#8f8986;font-size:8px;font-style:normal}.ritmo-session b{display:block;font-size:13px;margin:3px 0}.ritmo-session i{font-style:normal;color:#e0529d}.ritmo-workout{padding:24px;border-radius:14px;background:#171719;border:1px solid rgba(255,255,255,.08)}.ritmo-workout h3{font-size:30px;color:#fff;margin:7px 0}.ritmo-workout-meta{color:#a49c98;font-size:9px;letter-spacing:.08em;margin-bottom:18px}.ritmo-instruction{padding:12px 0;border-top:1px solid rgba(255,255,255,.07)}.ritmo-instruction b{font-size:9px;color:#e0529d;text-transform:uppercase;letter-spacing:.08em}.ritmo-instruction p{margin:5px 0 0;color:#c4bebb;font-size:11px;line-height:1.6}.ritmo-workout form{margin-top:18px}.ritmo-done{margin-top:18px;padding:14px;border:1px solid rgba(213,25,138,.35);border-radius:9px;color:#ef70bc;text-align:center;font-weight:800;font-size:10px}.ritmo-settings{margin-top:16px;border-top:1px solid rgba(255,255,255,.08);padding-top:16px}.ritmo-settings summary{cursor:pointer;color:#d7d0cd;font-size:9px;letter-spacing:.1em}.ritmo-settings form{display:flex;gap:8px;margin-top:12px}.ritmo-settings select{background:#171719;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:10px}.ritmo-settings p{color:#777;font-size:9px}.ritmo-btn-small{padding:10px 14px}.ritmo-builder{display:grid;grid-template-columns:1fr 1.25fr .8fr;gap:12px}.ritmo-builder>.ritmo-btn{grid-column:1/-1}.ritmo-options{display:flex;flex-wrap:wrap;gap:7px}.ritmo-options label{padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:9px;cursor:pointer;color:#bbb;font-size:9px}.ritmo-options label:has(input:checked){border-color:#d5198a;background:#a30167;color:#fff}.ritmo-cardio-workout{margin-top:18px;background:linear-gradient(120deg,#171719,#151015)}.ritmo-recent>div:last-child{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ritmo-recent article{padding:15px;border-radius:10px;background:#171719;border:1px solid rgba(255,255,255,.07)}.ritmo-recent article small,.ritmo-recent article span{display:block;color:#8b8582;font-size:8px}.ritmo-recent article b{display:block;margin:5px 0 10px;font-size:11px}.ritmo-closing{padding:55px 20px;text-align:center}.ritmo-closing span{font-size:55px;color:#d5198a}.ritmo-closing h2{font-size:36px;color:#e0529d;letter-spacing:-.03em}
@media(max-width:820px){.ritmo-app{padding:0 12px 50px}.ritmo-hero{min-height:360px;margin:0 -12px;padding:0 18px;background-size:auto 100%;background-position:70% center}.ritmo-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0d0d0e 20%,rgba(13,13,14,.62) 75%,rgba(13,13,14,.35))}.ritmo-hero:after{font-size:100px}.ritmo-hero h1{font-size:76px}.ritmo-hero strong{font-size:15px}.ritmo-hero p{font-size:11px;max-width:270px}.ritmo-pulse{display:none}.ritmo-choices{grid-template-columns:1fr;margin-top:-28px}.ritmo-choice{min-height:210px;padding:24px}.ritmo-choice h2{font-size:38px}.ritmo-panel,.ritmo-recent{padding:18px;border-radius:15px}.ritmo-section-head{display:block}.ritmo-section-head h2{font-size:26px}.ritmo-section-head p{text-align:left;margin-top:8px}.ritmo-onboarding,.ritmo-run-grid,.ritmo-builder,.ritmo-journey-summary{grid-template-columns:1fr}.ritmo-onboarding>.ritmo-btn,.ritmo-builder>.ritmo-btn{grid-column:auto}.ritmo-workout h3{font-size:24px}.ritmo-settings form{flex-direction:column}.ritmo-recent>div:last-child{grid-template-columns:1fr 1fr}.ritmo-closing h2{font-size:27px}}
@media(max-width:430px){.ritmo-recent>div:last-child{grid-template-columns:1fr}.ritmo-options label{flex:1 1 calc(50% - 7px);text-align:center}}

/* ===== FIORAFIT RITMO · EXPERIÊNCIA V2 · progressive disclosure ===== */
body:has(.ritmo-app){background:#0d0d0f;color:#fff}
body:has(.ritmo-app) .site-header{background:#0d0d0f!important;border-bottom:1px solid rgba(255,255,255,.11)!important}
body:has(.ritmo-app) .site-logo,body:has(.ritmo-app) .brand,body:has(.ritmo-app) .top-nav a{opacity:1!important;color:#f8f4ef!important;filter:none!important}
.ritmo-app{max-width:1120px;margin:0 auto;padding:0 26px 72px}
.ritmo-hero{min-height:360px;border-bottom:0;background:linear-gradient(90deg,#0d0d0f 25%,rgba(13,13,15,.75) 60%,rgba(13,13,15,.35)),url('/assets/images/movements/ritmo.jpg') right center/56% cover no-repeat}
.ritmo-hero:after,.ritmo-pulse{display:none!important}
.ritmo-hero-copy{padding:55px 0;max-width:520px}
.ritmo-hero-copy>span{font-size:11px;letter-spacing:.24em;color:#f05bb5}
.ritmo-hero h1{font-size:clamp(72px,10vw,118px);margin:20px 0 22px;line-height:.82}
.ritmo-hero strong{font-size:20px;color:#fff}
.ritmo-hero p{color:#d4cecb;font-size:14px;line-height:1.6}
.ritmo-home-intro{padding:42px 0 24px;max-width:650px}
.ritmo-home-intro>span,.ritmo-flow-head>small{color:#f05bb5;font-size:10px;font-weight:800;letter-spacing:.23em}
.ritmo-home-intro h2,.ritmo-flow-head h2{font-size:38px;line-height:1.08;margin:10px 0;color:#fff;letter-spacing:-.035em}
.ritmo-home-intro p,.ritmo-flow-head p{color:#c2bbb8;font-size:14px;line-height:1.6;margin:0}
.ritmo-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ritmo-entry{min-height:250px;border-radius:16px;padding:30px;text-decoration:none;color:#fff;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(255,255,255,.15);position:relative;overflow:hidden}
.ritmo-entry:before{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(135deg,rgba(0,0,0,.08),rgba(0,0,0,.38))}
.ritmo-entry>*{position:relative;z-index:1}
.ritmo-entry-run{background:linear-gradient(120deg,rgba(79,17,112,.88),rgba(163,1,103,.72)),url('/assets/images/movements/ritmo.jpg') center/cover}
.ritmo-entry-cardio{background:linear-gradient(135deg,#971260,#d52b88)}
.ritmo-entry small{display:inline-block;background:rgba(0,0,0,.22);padding:6px 9px;border-radius:7px;font-size:9px;letter-spacing:.1em}
.ritmo-entry h2{font-size:42px;margin:14px 0 6px;color:#fff}
.ritmo-entry p{font-size:14px;line-height:1.5;max-width:390px;color:#fff;margin:0;opacity:.94}
.ritmo-entry>span{font-size:10px;font-weight:800;letter-spacing:.08em}
.ritmo-flow{max-width:820px;margin:34px auto 0}
.ritmo-back,.ritmo-inline-back{display:inline-block;color:#ded7d4;text-decoration:none;font-size:9px;font-weight:800;letter-spacing:.1em;margin-bottom:24px}
.ritmo-flow-head{margin-bottom:26px}
.ritmo-step{display:none;background:#141416;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:26px;margin-bottom:16px}
.ritmo-step.is-visible{display:block;animation:ritmoReveal .24s ease}
@keyframes ritmoReveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.ritmo-step>span{color:#f05bb5;font-size:10px;letter-spacing:.15em}
.ritmo-step h3{font-size:27px;color:#fff;margin:9px 0 7px;font-weight:500}
.ritmo-step>p{color:#bbb3af;font-size:12px;margin:0 0 19px}
.ritmo-select-list{display:grid;gap:10px}.ritmo-select-list.compact{grid-template-columns:1fr 1fr}
.ritmo-select-list label{display:block;padding:18px;border:1px solid rgba(255,255,255,.13);border-radius:10px;cursor:pointer;background:#19191b}
.ritmo-select-list label:has(input:checked){border-color:#f22aa0;background:#2c1422;box-shadow:inset 3px 0 0 #f22aa0}
.ritmo-select-list input,.ritmo-options input{position:absolute;opacity:0}
.ritmo-select-list b{display:block;color:#fff;font-size:16px}.ritmo-select-list small{display:block;color:#c5bdba;font-size:12px;line-height:1.45;margin-top:5px}
.ritmo-submit-hidden{display:none;width:100%;margin-top:18px}.ritmo-submit-hidden.is-visible{display:block}
.ritmo-btn{background:#c8177b;color:#fff;font-size:11px;padding:15px 20px}
.ritmo-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ritmo-options label{padding:15px 12px;border:1px solid rgba(255,255,255,.13);background:#19191b;border-radius:9px;text-align:center;cursor:pointer;color:#eee;font-size:11px}
.ritmo-options label:has(input:checked){border-color:#f22aa0;background:#a30167;color:#fff}
.ritmo-options.goals{grid-template-columns:1fr 1fr}.ritmo-options.goals label:last-child:nth-child(odd){grid-column:1/-1}
.ritmo-journey-summary{grid-template-columns:1fr;gap:15px;padding:24px;background:#141416;border:1px solid rgba(255,255,255,.12);border-radius:14px}
.ritmo-journey-summary strong{font-size:34px;color:#f05bb5}.ritmo-journey-summary p{color:#cbc4c1;font-size:12px}
.ritmo-simple-head{margin:28px 0 12px}.ritmo-simple-head h3{font-size:22px;color:#fff;margin:0 0 4px}.ritmo-simple-head p{margin:0;color:#aaa29e;font-size:11px}
.ritmo-session-list.clean{max-width:720px}.ritmo-session{background:#151517;border-color:rgba(255,255,255,.12);padding:16px 18px}.ritmo-session b{font-size:14px;color:#fff}.ritmo-session small,.ritmo-session em{color:#b4adaa;font-size:9px}.ritmo-session.muted{opacity:.42}
.ritmo-workout.single{max-width:760px;margin:0 auto;background:#141416;border-color:rgba(255,255,255,.13);padding:25px}.ritmo-workout.single h3{font-size:30px;color:#fff}.ritmo-workout-meta{color:#c2bbb8}
details.ritmo-instruction{padding:0;border-top:1px solid rgba(255,255,255,.1)}details.ritmo-instruction summary{list-style:none;cursor:pointer;padding:16px 2px;color:#f2eeec;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;display:flex;justify-content:space-between;align-items:center}details.ritmo-instruction summary::-webkit-details-marker{display:none}details.ritmo-instruction summary:after{content:'+';color:#f05bb5;font-size:18px;font-weight:400}details.ritmo-instruction[open] summary:after{content:'–'}details.ritmo-instruction p{margin:0 0 16px;color:#d2cbc8;font-size:12px;line-height:1.65}
.ritmo-settings{border-top-color:rgba(255,255,255,.12)}.ritmo-settings summary{color:#d8d1ce}
.ritmo-recent-min{max-width:820px;margin:40px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.ritmo-recent-min>small{color:#f05bb5;font-size:9px;letter-spacing:.15em}.ritmo-recent-min div{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.ritmo-recent-min span{font-size:10px;color:#c9c1be;background:#151517;border:1px solid rgba(255,255,255,.08);padding:8px 10px;border-radius:8px}
@media(max-width:820px){
 .ritmo-app{padding:0 18px 55px}.ritmo-hero{min-height:300px;margin:0 -18px;padding:0 22px;background-position:68% center}.ritmo-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0d0d0f 12%,rgba(13,13,15,.8) 70%,rgba(13,13,15,.48))}.ritmo-hero-copy{position:relative;z-index:1;padding:42px 0}.ritmo-hero h1{font-size:72px}.ritmo-hero strong{font-size:16px}.ritmo-hero p{font-size:12px;max-width:300px;color:#e0d9d6}
 .ritmo-home-intro{padding:30px 0 18px}.ritmo-home-intro h2,.ritmo-flow-head h2{font-size:29px}.ritmo-entry-grid{grid-template-columns:1fr;gap:12px}.ritmo-entry{min-height:190px;padding:23px}.ritmo-entry h2{font-size:34px}.ritmo-entry p{font-size:12px}.ritmo-flow{margin-top:25px}.ritmo-step{padding:19px}.ritmo-step h3{font-size:23px}.ritmo-select-list.compact{grid-template-columns:1fr}.ritmo-select-list label{padding:16px}.ritmo-select-list small{font-size:11px;color:#d0c8c5}.ritmo-options,.ritmo-options.goals{grid-template-columns:1fr 1fr}.ritmo-workout.single{padding:19px}.ritmo-workout.single h3{font-size:25px}details.ritmo-instruction p{font-size:12px}.ritmo-settings form{flex-direction:column}
}
@media(max-width:430px){.ritmo-options,.ritmo-options.goals{grid-template-columns:1fr 1fr}.ritmo-step{border-radius:12px}.ritmo-entry{border-radius:14px}}

/* =========================================================
   RITMO V3 — contraste, hierarquia e fluxo mobile
   ========================================================= */
/* No RITMO o logo fica branco por causa do fundo escuro. Nas demais áreas, mantém a identidade original/espresso. */
body:has(.ritmo-app) .brand-logo img{
  filter:brightness(0) invert(1)!important;
  opacity:1!important;
}

/* RITMO: branco como cor de leitura; magenta apenas como destaque. */
body:has(.ritmo-app) .ritmo-hero-copy,
body:has(.ritmo-app) .ritmo-home-intro,
body:has(.ritmo-app) .ritmo-flow,
body:has(.ritmo-app) .ritmo-step,
body:has(.ritmo-app) .ritmo-workout,
body:has(.ritmo-app) .ritmo-journey-summary{color:#fff}
body:has(.ritmo-app) .ritmo-hero p,
body:has(.ritmo-app) .ritmo-home-intro p,
body:has(.ritmo-app) .ritmo-flow-head p,
body:has(.ritmo-app) .ritmo-step>p,
body:has(.ritmo-app) .ritmo-select-list small,
body:has(.ritmo-app) .ritmo-journey-summary p,
body:has(.ritmo-app) .ritmo-simple-head p,
body:has(.ritmo-app) .ritmo-session small,
body:has(.ritmo-app) .ritmo-session em,
body:has(.ritmo-app) .ritmo-workout-meta,
body:has(.ritmo-app) details.ritmo-instruction p,
body:has(.ritmo-app) .ritmo-settings,
body:has(.ritmo-app) .ritmo-settings p,
body:has(.ritmo-app) .ritmo-recent-min span{color:rgba(255,255,255,.82)!important}
body:has(.ritmo-app) .ritmo-home-intro h2,
body:has(.ritmo-app) .ritmo-flow-head h2,
body:has(.ritmo-app) .ritmo-step h3,
body:has(.ritmo-app) .ritmo-simple-head h3{color:#fff!important}

/* Hero aparece apenas na home do RITMO e fica centralizado. */
body:has(.ritmo-app) .ritmo-hero{
  justify-content:center;
  text-align:center;
  background:radial-gradient(circle at 50% 40%,rgba(163,1,103,.10),transparent 42%),#0d0d0f!important;
}
body:has(.ritmo-app) .ritmo-hero-copy{max-width:720px!important;margin:0 auto}
body:has(.ritmo-app) .ritmo-hero p{max-width:560px!important;margin-left:auto!important;margin-right:auto!important}

/* Card CARDIO recebe identidade visual própria: pulso/batimento. */
body:has(.ritmo-app) .ritmo-entry-cardio{
  background:linear-gradient(120deg,rgba(111,6,67,.96),rgba(176,15,111,.82)),url('/assets/images/ritmo/cardio-pulse.svg') right center/68% auto no-repeat!important;
}
body:has(.ritmo-app) .ritmo-entry-cardio:before{
  background:linear-gradient(90deg,rgba(40,0,24,.42),rgba(0,0,0,.08))!important;
}

@media(max-width:700px){
  body:has(.ritmo-app) .ritmo-hero{min-height:360px!important;margin:0 -18px!important;padding:0 28px!important;text-align:center!important}
  body:has(.ritmo-app) .ritmo-hero-copy{padding:54px 0!important;width:100%}
  body:has(.ritmo-app) .ritmo-hero h1{font-size:clamp(72px,23vw,98px)!important;margin:22px 0 28px!important}
  body:has(.ritmo-app) .ritmo-hero strong{font-size:18px!important}
  body:has(.ritmo-app) .ritmo-hero p{font-size:13px!important;line-height:1.65!important;color:#fff!important}
  body:has(.ritmo-app) .ritmo-home-intro p{color:#fff!important}
  body:has(.ritmo-app) .ritmo-entry p{color:#fff!important;opacity:1!important}
  body:has(.ritmo-app) .ritmo-entry-cardio{background-size:95% auto!important;background-position:115% center!important}
}

/* =========================================================
   FIORAFIT CLUB · FLUIR V1 — leve, respirado, restaurador
   ========================================================= */
body:has(.fluir-app){background:#F8F4EF;color:#493C34}
.page:has(.fluir-app){max-width:none!important;padding:0!important;background:#F8F4EF}
body:has(.fluir-app) .site-header{background:rgba(248,244,239,.96)!important;border-bottom:1px solid rgba(73,60,52,.08)!important}
body:has(.fluir-app) .brand-logo img{filter:none!important;opacity:1!important}
body:has(.fluir-app) .top-nav a{color:#493C34!important}
.fluir-app{max-width:1220px;margin:0 auto;padding:0 28px 80px;color:#493C34}
.fluir-hero{min-height:470px;margin:0 -28px;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;background:linear-gradient(rgba(248,244,239,.72),rgba(248,244,239,.92)),url('/assets/images/movements/fluir.jpg') center 42%/cover no-repeat;border-bottom:1px solid rgba(73,60,52,.06)}
.fluir-hero:after{content:'';position:absolute;width:460px;height:460px;border-radius:50%;background:rgba(231,214,208,.34);filter:blur(2px);right:-180px;top:-190px}
.fluir-hero-copy{max-width:720px;padding:70px 25px;position:relative;z-index:1}
.fluir-hero-copy>span,.fluir-intro small,.fluir-flow-head small,.fluir-video-copy>small,.fluir-mobility-grid small{font-size:9px;letter-spacing:.22em;font-weight:700;color:#A30167}
.fluir-hero h1{margin:20px 0 20px;font-size:clamp(70px,9vw,120px);font-weight:300;line-height:.9;letter-spacing:-.055em;color:#493C34}
.fluir-hero strong{display:block;font-size:16px;letter-spacing:.16em;font-weight:500;color:#493C34}
.fluir-hero p{max-width:570px;margin:18px auto 0;font-size:14px;line-height:1.8;color:#76665d}
.fluir-intro{text-align:center;padding:62px 0 30px}.fluir-intro h2{margin:10px 0 0;font-size:clamp(28px,3.2vw,43px);font-weight:300;letter-spacing:-.035em;color:#493C34}
.fluir-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:1000px;margin:0 auto}
.fluir-entry{min-height:310px;padding:36px;border:1px solid rgba(73,60,52,.08);border-radius:18px;text-decoration:none;color:#493C34;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;background:#fffaf7}
.fluir-entry:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(73,60,52,.07)}
.fluir-entry:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.65}
.fluir-entry-stretch:before{background:radial-gradient(circle at 88% 14%,rgba(231,214,208,.9),transparent 38%),linear-gradient(145deg,rgba(255,255,255,.2),rgba(231,214,208,.28))}
.fluir-entry-mobility:before{background:radial-gradient(circle at 88% 14%,rgba(213,199,187,.65),transparent 38%),linear-gradient(145deg,rgba(255,255,255,.25),rgba(213,199,187,.22))}
.fluir-entry>div,.fluir-entry>span{position:relative;z-index:1}.fluir-entry small{font-size:8px;letter-spacing:.17em;color:#8b776c}.fluir-entry h2{margin:16px 0 8px;font-size:45px;font-weight:300;letter-spacing:-.045em;color:#493C34}.fluir-entry p{margin:0;color:#78685f;font-size:13px}.fluir-entry>span{font-size:9px;font-weight:700;letter-spacing:.12em;color:#A30167}
.fluir-flow{max-width:940px;margin:0 auto;padding:52px 0 20px}.fluir-back,.fluir-inline-back{display:inline-block;margin-bottom:42px;text-decoration:none;font-size:8px;font-weight:700;letter-spacing:.14em;color:#8a776d}.fluir-inline-back{margin-bottom:25px}.fluir-flow-head{text-align:center;max-width:720px;margin:0 auto 34px}.fluir-flow-head.compact{margin-bottom:28px}.fluir-flow-head h2{margin:11px 0 10px;font-size:clamp(35px,5vw,58px);font-weight:300;letter-spacing:-.045em;color:#493C34}.fluir-flow-head p{max-width:620px;margin:0 auto;color:#78685f;font-size:13px;line-height:1.75}
.fluir-week-dots{text-align:center;margin:-10px 0 32px}.fluir-week-dots>span{font-size:8px;letter-spacing:.17em;color:#907d72}.fluir-week-dots div{display:flex;justify-content:center;gap:8px;margin-top:12px}.fluir-week-dots i{display:block;width:7px;height:7px;border-radius:50%;background:#D5C7BB}.fluir-week-dots i.active{background:#A30167;transform:scale(1.2)}
.fluir-video-card{background:rgba(255,253,250,.82);border:1px solid rgba(73,60,52,.08);border-radius:18px;overflow:hidden;box-shadow:0 18px 55px rgba(73,60,52,.055)}.fluir-video{aspect-ratio:16/9;background:#E7D6D0}.fluir-video iframe{width:100%;height:100%;border:0;display:block}.fluir-video-copy{padding:30px 34px 34px;text-align:center}.fluir-video-copy h3{margin:9px 0 8px;font-size:28px;font-weight:300;color:#493C34}.fluir-video-copy p{max-width:580px;margin:0 auto 22px;color:#78685f;font-size:12px;line-height:1.7}.fluir-btn{appearance:none;border:0;border-radius:9px;background:#493C34;color:#fff;padding:14px 22px;font:inherit;font-size:9px;font-weight:700;letter-spacing:.11em;cursor:pointer;transition:.2s}.fluir-btn:hover{background:#A30167}.fluir-done{display:inline-block;padding:13px 18px;border-radius:9px;background:rgba(231,214,208,.55);color:#493C34;font-size:9px;font-weight:700;letter-spacing:.1em}
.fluir-mobility-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:820px;margin:0 auto}.fluir-mobility-grid a{min-height:235px;padding:30px;border:1px solid rgba(73,60,52,.08);border-radius:16px;background:linear-gradient(145deg,#fffdfb,#f1e8e2);text-decoration:none;color:#493C34;display:flex;flex-direction:column;justify-content:flex-end;transition:.25s}.fluir-mobility-grid a:hover{transform:translateY(-3px)}.fluir-mobility-grid h3{font-size:32px;font-weight:300;margin:10px 0 5px;color:#493C34}.fluir-mobility-grid p{margin:0 0 24px;font-size:11px;color:#7d6c63}.fluir-mobility-grid span{font-size:8px;font-weight:700;letter-spacing:.12em;color:#A30167}.fluir-schema-note{max-width:940px;margin:20px auto;padding:13px 16px;border-radius:9px;background:#E7D6D0;color:#493C34;font-size:11px}
@media(max-width:760px){.fluir-app{padding:0 18px 60px}.fluir-hero{min-height:410px;margin:0 -18px}.fluir-hero-copy{padding:60px 22px}.fluir-hero h1{font-size:76px}.fluir-hero strong{font-size:12px}.fluir-hero p{font-size:12px;line-height:1.7}.fluir-intro{padding:42px 0 24px}.fluir-entry-grid,.fluir-mobility-grid{grid-template-columns:1fr}.fluir-entry{min-height:220px;padding:26px}.fluir-entry h2{font-size:36px}.fluir-flow{padding-top:32px}.fluir-back{margin-bottom:30px}.fluir-flow-head h2{font-size:36px}.fluir-video-copy{padding:24px 18px 27px}.fluir-video-copy h3{font-size:24px}.fluir-mobility-grid a{min-height:185px;padding:24px}}

/* =========================================================
   NUTRIR V1 — editorial, natural e clean
   ========================================================= */
.nutrir-app{--nutrir-ivory:#F8F4EF;--nutrir-rose:#E7D6D0;--nutrir-sand:#D5C7BB;--nutrir-espresso:#493C34;--nutrir-magenta:#A30167;color:var(--nutrir-espresso);background:var(--nutrir-ivory);margin:-1px calc(50% - 50vw) -40px;min-height:80vh;padding-bottom:70px}
.nutrir-hero{min-height:390px;display:flex;align-items:center;justify-content:center;text-align:center;padding:60px 24px;background:radial-gradient(circle at 50% 30%,#fff 0,#f8f4ef 46%,#eadfd7 100%)}
.nutrir-hero>div{max-width:760px}.nutrir-hero span,.nutrir-intro small,.nutrir-flow-head small,.nutrir-recipe-head small,.nutrir-entry small,.nutrir-back,.nutrir-inline-back,.nutrir-empty small,.nutrir-cardapio-lock>span,.nutrir-cardapio-ready small,.nutrir-cardapio-wait small{font-size:10px;font-weight:800;letter-spacing:.18em;color:#9a776c}.nutrir-hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(64px,9vw,112px);line-height:.9;margin:24px 0;color:var(--nutrir-espresso);letter-spacing:-.055em}.nutrir-hero strong{display:block;font-size:14px;letter-spacing:.16em}.nutrir-hero p{max-width:540px;margin:18px auto 0;color:#75675f;line-height:1.7;font-size:13px}
.nutrir-intro,.nutrir-flow{width:min(1120px,calc(100% - 48px));margin:0 auto}.nutrir-intro{text-align:center;padding:54px 0 28px}.nutrir-intro h2,.nutrir-flow-head h2,.nutrir-empty h2{font-family:Georgia,serif;font-weight:400;font-size:38px;margin:10px 0 8px;color:var(--nutrir-espresso)}.nutrir-intro p,.nutrir-flow-head p,.nutrir-empty p{color:#7c6e66;font-size:13px;line-height:1.65}
.nutrir-entry-grid{width:min(1120px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:14px}.nutrir-entry{min-height:235px;padding:30px;border:1px solid #e4d9d1;background:#fff;text-decoration:none;color:var(--nutrir-espresso);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;border-radius:14px;transition:.2s}.nutrir-entry:hover{transform:translateY(-2px);box-shadow:0 16px 35px rgba(73,60,52,.08)}.nutrir-entry h2{font-family:Georgia,serif;font-size:31px;font-weight:400;margin:8px 0}.nutrir-entry p{font-size:12px;color:#75675f;margin:0 0 22px}.nutrir-entry>span{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--nutrir-magenta)}.nutrir-entry:before{content:'';position:absolute;width:150px;height:150px;border-radius:50%;background:#f4ebe6;right:-50px;top:-55px}.nutrir-entry:nth-child(2):before{background:#f1e6dc}.nutrir-entry:nth-child(3):before{background:#eee7df}.nutrir-entry.nutrir-premium{background:linear-gradient(135deg,#493c34,#6c574b);color:#fff;border:0}.nutrir-entry.nutrir-premium:before{background:rgba(255,255,255,.07)}.nutrir-entry.nutrir-premium small,.nutrir-entry.nutrir-premium p{color:#eadfd8}.nutrir-entry.nutrir-premium>span{color:#f0bfdc}.nutrir-entry h2 i{font-style:normal;font-size:18px}
.nutrir-flow{padding-top:38px}.nutrir-back,.nutrir-inline-back{text-decoration:none;display:inline-block;margin-bottom:34px;color:#8b7468}.nutrir-inline-back{margin-left:18px}.nutrir-flow-head{max-width:700px;margin-bottom:28px}.nutrir-collections{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.nutrir-collections a,.nutrir-recipe-list a{background:#fff;border:1px solid #e5dad2;border-radius:12px;padding:24px;text-decoration:none;color:var(--nutrir-espresso)}.nutrir-collections h3,.nutrir-recipe-list h3{font-family:Georgia,serif;font-size:23px;font-weight:400;margin:10px 0}.nutrir-collections p{font-size:12px;line-height:1.55;color:#7a6d65;min-height:38px}.nutrir-collections small,.nutrir-recipe-list small{font-size:9px;letter-spacing:.13em;color:#a07d70}.nutrir-collections span,.nutrir-recipe-list span{font-size:9px;font-weight:800;letter-spacing:.12em;color:var(--nutrir-magenta)}
.nutrir-recipe-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.nutrir-recipe-list a{min-height:150px;display:flex;flex-direction:column;justify-content:flex-end}.nutrir-recipe-list h3{font-size:20px;flex:1}.nutrir-recipe{background:#fff;border:1px solid #e5dad2;border-radius:16px;overflow:hidden;max-width:920px;margin:0 auto}.nutrir-recipe-head{padding:42px;background:linear-gradient(135deg,#f3e8e1,#fff)}.nutrir-recipe-head h2{font-family:Georgia,serif;font-weight:400;font-size:42px;margin:10px 0;color:var(--nutrir-espresso)}.nutrir-recipe-head span{font-size:11px;color:#8e7468}.nutrir-recipe-body{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;padding:42px}.nutrir-recipe-body h3{font-size:10px;letter-spacing:.16em;margin:0 0 18px;color:#9a776c}.nutrir-recipe-body ul,.nutrir-recipe-body ol{margin:0;padding-left:18px}.nutrir-recipe-body li{font-size:12px;line-height:1.65;margin-bottom:8px;color:#5f544e}.nutrir-note{font-size:10px;color:#9a8176;border-top:1px solid #eee3dc;padding-top:14px;margin-top:20px}
.nutrir-guide-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.nutrir-guide-list article{padding:28px;background:#fff;border:1px solid #e5dad2;border-radius:12px}.nutrir-guide-list small{font-size:9px;letter-spacing:.14em;color:#a07d70}.nutrir-guide-list h3{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:8px 0}.nutrir-guide-list p{font-size:12px;line-height:1.65;color:#70635c}.nutrir-empty{max-width:680px;margin:60px auto;text-align:center;padding:50px;background:#fff;border:1px solid #e5dad2;border-radius:14px}
.nutrir-cardapio-lock,.nutrir-cardapio-ready,.nutrir-cardapio-wait{max-width:720px;margin:20px auto;text-align:center;padding:58px 46px;background:#fff;border:1px solid #e4d8d0;border-radius:16px}.nutrir-lock-icon{font-size:30px;color:var(--nutrir-magenta);margin:24px}.nutrir-cardapio-lock h2,.nutrir-cardapio-ready h2,.nutrir-cardapio-wait h2{font-family:Georgia,serif;font-size:39px;font-weight:400;margin:8px 0}.nutrir-cardapio-lock p,.nutrir-cardapio-ready p,.nutrir-cardapio-wait p{font-size:13px;line-height:1.65;color:#75675f;max-width:530px;margin:12px auto}.nutrir-cardapio-lock strong{display:block;font-family:Georgia,serif;font-size:34px;margin:28px}.nutrir-cardapio-lock button{border:0;background:#d8ccc5;color:#fff;padding:15px 24px;border-radius:9px;font-size:10px;font-weight:800;letter-spacing:.1em}.nutrir-cardapio-lock>small{display:block;margin:14px auto 0;max-width:460px;color:#9a8a82;font-size:10px;line-height:1.5}.nutrir-cardapio-ready a{display:inline-block;background:var(--nutrir-magenta);color:#fff;text-decoration:none;padding:15px 24px;border-radius:9px;margin-top:20px;font-size:10px;font-weight:800}.nutrir-cardapio-wait div{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:30px}.nutrir-cardapio-wait i{width:8px;height:8px;background:var(--nutrir-magenta);border-radius:50%}.nutrir-cardapio-wait i.muted{background:#d7cbc4}.nutrir-cardapio-wait div span{font-size:9px;color:#7b6d65}
.nutrir-form{max-width:760px;display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#fff;border:1px solid #e5dad2;border-radius:14px;padding:28px}.nutrir-form label{font-size:10px;font-weight:800;color:#665850;letter-spacing:.03em}.nutrir-form textarea{width:100%;min-height:100px;resize:vertical;border:1px solid #ded2ca;border-radius:8px;padding:12px;margin-top:8px;background:#fdfbf9;color:#493c34;font:12px/1.5 inherit}.nutrir-form button{grid-column:1/-1;border:0;background:var(--nutrir-magenta);color:#fff;padding:15px;border-radius:9px;font-size:10px;font-weight:800;letter-spacing:.1em}.nutrir-schema-note{max-width:720px;margin:18px auto;padding:14px;background:#fff3f7;border:1px solid #e8c8d9;border-radius:9px;font-size:11px}
body:has(.nutrir-app) .brand-logo img{filter:none!important;opacity:1!important}
@media(max-width:760px){.nutrir-app{margin-top:-1px}.nutrir-hero{min-height:330px;padding:48px 22px}.nutrir-hero h1{font-size:72px}.nutrir-intro,.nutrir-flow,.nutrir-entry-grid{width:calc(100% - 36px)}.nutrir-intro{padding-top:38px}.nutrir-intro h2,.nutrir-flow-head h2{font-size:30px}.nutrir-entry-grid,.nutrir-collections,.nutrir-recipe-list,.nutrir-guide-list,.nutrir-form{grid-template-columns:1fr}.nutrir-entry{min-height:190px;padding:24px}.nutrir-entry h2{font-size:27px}.nutrir-collections a{padding:20px}.nutrir-recipe-head{padding:28px 22px}.nutrir-recipe-head h2{font-size:31px}.nutrir-recipe-body{grid-template-columns:1fr;gap:28px;padding:26px 22px}.nutrir-cardapio-lock,.nutrir-cardapio-ready,.nutrir-cardapio-wait{padding:40px 22px}.nutrir-cardapio-lock h2,.nutrir-cardapio-ready h2,.nutrir-cardapio-wait h2{font-size:31px}.nutrir-form{padding:20px}.nutrir-form button{grid-column:auto}}

/* =========================================================
   NUTRIR V2 — editorial, leve, desejável
   ========================================================= */
body:has(.nutrir-app){background:#F8F4EF}
.nutrir-v2-hero{width:min(1240px,calc(100% - 56px));min-height:560px;margin:26px auto 0;display:grid;grid-template-columns:1.04fr .96fr;background:#eee3da;overflow:hidden;position:relative}
.nutrir-v2-hero-image{min-height:560px;background:linear-gradient(90deg,rgba(73,60,52,.04),rgba(73,60,52,0)),url('/assets/images/movements/nutrir.jpg') center/cover no-repeat;filter:saturate(.72) contrast(.92) brightness(1.05)}
.nutrir-v2-hero-copy{padding:70px 7vw 68px 58px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.nutrir-v2-hero-copy>span,.nutrir-v2-welcome small,.nutrir-v2-path small,.nutrir-v2-cardapio small{font-size:9px;font-weight:700;letter-spacing:.2em;color:#9a776c}
.nutrir-v2-hero-copy h1{font-family:Georgia,serif;font-size:clamp(68px,8vw,108px);font-weight:400;line-height:.82;letter-spacing:-.065em;color:#493C34;margin:25px 0 30px}
.nutrir-v2-hero-copy strong{max-width:420px;font-family:Georgia,serif;font-size:clamp(23px,2.2vw,32px);font-weight:400;line-height:1.18;color:#493C34}
.nutrir-v2-hero-copy p{max-width:390px;margin:18px 0 0;font-size:12px;line-height:1.8;color:#7b6b62}
.nutrir-v2-welcome{width:min(900px,calc(100% - 48px));margin:0 auto;text-align:center;padding:76px 0 42px}
.nutrir-v2-welcome h2{max-width:690px;margin:14px auto 0;font-family:Georgia,serif;font-size:clamp(32px,4vw,48px);font-weight:400;line-height:1.08;letter-spacing:-.035em;color:#493C34}
.nutrir-v2-paths{width:min(1080px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.nutrir-v2-path{min-height:330px;padding:42px 40px 34px;text-decoration:none;color:#493C34;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s ease,box-shadow .25s ease;position:relative;overflow:hidden}
.nutrir-v2-path:hover{transform:translateY(-3px);box-shadow:0 18px 50px rgba(73,60,52,.07)}
.nutrir-v2-path-recipes{background:#fffdfb}
.nutrir-v2-path-choices{background:#eaded6}
.nutrir-v2-path h2{font-family:Georgia,serif;font-size:clamp(38px,4vw,54px);font-weight:400;line-height:.94;letter-spacing:-.04em;margin:15px 0 14px;color:#493C34}
.nutrir-v2-path p{max-width:330px;font-size:12px;line-height:1.7;color:#76665d;margin:0}
.nutrir-v2-path>span,.nutrir-v2-cardapio .nutrir-v2-premium-copy>span{font-size:9px;font-weight:800;letter-spacing:.13em;color:#A30167}
.nutrir-v2-path>span b,.nutrir-v2-cardapio span b{font-size:15px;margin-left:8px;font-weight:400}
.nutrir-v2-path:after{content:'';position:absolute;right:-58px;top:-58px;width:170px;height:170px;border:1px solid rgba(73,60,52,.08);border-radius:50%}
.nutrir-v2-path-choices:after{width:230px;height:230px;right:-80px;top:-100px;border-color:rgba(73,60,52,.1)}
.nutrir-v2-cardapio{grid-column:1/-1;min-height:300px;background:#493C34;text-decoration:none;color:#fff;display:grid;grid-template-columns:1fr 250px;margin-top:8px;overflow:hidden;transition:transform .25s ease}
.nutrir-v2-cardapio:hover{transform:translateY(-3px)}
.nutrir-v2-premium-copy{padding:46px 48px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.nutrir-v2-cardapio .nutrir-v2-premium-copy>small{color:#d8c6bc}
.nutrir-v2-cardapio h2{font-family:Georgia,serif;font-size:clamp(44px,5vw,64px);font-weight:400;line-height:.84;letter-spacing:-.045em;margin:14px 0 18px;color:#fff}
.nutrir-v2-cardapio p{max-width:520px;color:#ded2ca;font-size:12px;line-height:1.7;margin:0 0 28px}
.nutrir-v2-cardapio .nutrir-v2-premium-copy>span{color:#f0b8d9}
.nutrir-v2-premium-side{border-left:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(255,255,255,.035);padding:28px}
.nutrir-v2-premium-side i{font-style:normal;width:48px;height:48px;border:1px solid rgba(255,255,255,.22);border-radius:50%;display:grid;place-items:center;font-size:23px;color:#f0b8d9;margin-bottom:20px}
.nutrir-v2-premium-side em{font-style:normal;font-size:8px;font-weight:700;letter-spacing:.17em;color:#d9c9c0}
.nutrir-v2-premium-side strong{font-family:Georgia,serif;font-size:34px;font-weight:400;color:#fff;margin:8px 0 3px}
.nutrir-v2-premium-side small{font-size:9px;letter-spacing:.04em;color:#bca9a0}
/* páginas internas: menos caixas, mais leitura editorial */
body:has(.nutrir-app) .nutrir-flow{padding-top:52px}
body:has(.nutrir-app) .nutrir-flow-head{margin:0 auto 38px;text-align:center}
body:has(.nutrir-app) .nutrir-flow-head h2{font-size:clamp(35px,4.5vw,52px);letter-spacing:-.035em}
body:has(.nutrir-app) .nutrir-collections{grid-template-columns:repeat(2,1fr);gap:1px;background:#ded2ca;border:1px solid #ded2ca}
body:has(.nutrir-app) .nutrir-collections a{border:0;border-radius:0;min-height:185px;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;background:#fffdfb}
body:has(.nutrir-app) .nutrir-collections a:nth-child(even){background:#f1e7e0}
body:has(.nutrir-app) .nutrir-recipe-list{grid-template-columns:repeat(2,1fr);gap:1px;background:#e3d8d1;border:1px solid #e3d8d1}
body:has(.nutrir-app) .nutrir-recipe-list a{border:0;border-radius:0;background:#fffdfb;min-height:145px}
body:has(.nutrir-app) .nutrir-guide-list{max-width:880px;margin:0 auto;grid-template-columns:1fr;gap:0;border-top:1px solid #ded2ca}
body:has(.nutrir-app) .nutrir-guide-list article{border:0;border-bottom:1px solid #ded2ca;border-radius:0;background:transparent;padding:30px 4px}
body:has(.nutrir-app) .nutrir-guide-list h3{font-size:30px}
@media(max-width:760px){
 .nutrir-v2-hero{width:calc(100% - 28px);margin-top:14px;min-height:auto;grid-template-columns:1fr}
 .nutrir-v2-hero-image{min-height:300px;order:1;background-position:center 42%}
 .nutrir-v2-hero-copy{order:2;padding:42px 28px 48px;align-items:center;text-align:center}
 .nutrir-v2-hero-copy h1{font-size:67px;margin:20px 0 25px}
 .nutrir-v2-hero-copy strong{font-size:25px}
 .nutrir-v2-hero-copy p{font-size:11px}
 .nutrir-v2-welcome{padding:58px 0 32px}
 .nutrir-v2-welcome h2{font-size:33px}
 .nutrir-v2-paths{width:calc(100% - 32px);grid-template-columns:1fr;gap:10px}
 .nutrir-v2-path{min-height:245px;padding:30px 26px}
 .nutrir-v2-path h2{font-size:39px}
 .nutrir-v2-cardapio{grid-column:auto;grid-template-columns:1fr;min-height:auto}
 .nutrir-v2-premium-copy{padding:36px 28px 30px}
 .nutrir-v2-cardapio h2{font-size:46px}
 .nutrir-v2-premium-side{border-left:0;border-top:1px solid rgba(255,255,255,.12);padding:25px;display:grid;grid-template-columns:auto 1fr;column-gap:15px;text-align:left;justify-items:start}
 .nutrir-v2-premium-side i{grid-row:1/4;margin:0;width:42px;height:42px}
 .nutrir-v2-premium-side strong{font-size:27px;margin:3px 0 0}
 body:has(.nutrir-app) .nutrir-collections,body:has(.nutrir-app) .nutrir-recipe-list{grid-template-columns:1fr}
 body:has(.nutrir-app) .nutrir-flow{padding-top:34px}
}

/* NUTRIR V3 — Escolhas Inteligentes como galeria visual */
body:has(.nutrir-app) .nutrir-choice-gallery{max-width:960px;margin:0 auto 72px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
body:has(.nutrir-app) .nutrir-choice-art{appearance:none;border:1px solid #e2d8d1;background:#fffdfb;padding:0;text-align:left;cursor:pointer;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .25s ease,box-shadow .25s ease}
body:has(.nutrir-app) .nutrir-choice-art:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(73,60,52,.09)}
body:has(.nutrir-app) .nutrir-choice-art>img{width:100%;height:285px;object-fit:cover;object-position:top center;display:block;background:#f8f4ef}
body:has(.nutrir-app) .nutrir-choice-art>span{padding:23px 25px 25px;display:flex;flex-direction:column;align-items:flex-start}
body:has(.nutrir-app) .nutrir-choice-art small{font-size:8px;font-weight:700;letter-spacing:.15em;color:#a30167}
body:has(.nutrir-app) .nutrir-choice-art strong{font-family:Georgia,serif;font-size:27px;font-weight:400;color:#493c34;margin:8px 0 17px}
body:has(.nutrir-app) .nutrir-choice-art em{font-style:normal;font-size:9px;font-weight:700;letter-spacing:.12em;color:#493c34}
.nutrir-art-lightbox[hidden]{display:none!important}
.nutrir-art-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(28,24,22,.88);display:flex;align-items:center;justify-content:center;padding:26px;overflow:auto;backdrop-filter:blur(8px)}
.nutrir-art-stage{width:min(920px,100%);min-height:100%;display:flex;align-items:center;justify-content:center;padding:28px 0}
.nutrir-art-stage img{display:block;max-width:100%;max-height:calc(100vh - 72px);width:auto;height:auto;object-fit:contain;box-shadow:0 18px 70px rgba(0,0,0,.24)}
.nutrir-art-close{position:fixed;top:18px;right:22px;z-index:10000;width:44px;height:44px;border:1px solid rgba(255,255,255,.38);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font:300 31px/1 Arial,sans-serif;cursor:pointer;display:grid;place-items:center}
body.nutrir-art-open{overflow:hidden}
@media(max-width:700px){body:has(.nutrir-app) .nutrir-choice-gallery{grid-template-columns:1fr;gap:12px;margin-bottom:44px}body:has(.nutrir-app) .nutrir-choice-art>img{height:235px}body:has(.nutrir-app) .nutrir-choice-art>span{padding:20px 21px 22px}.nutrir-art-lightbox{padding:14px}.nutrir-art-stage{padding:52px 0 18px}.nutrir-art-stage img{max-height:calc(100vh - 90px)}.nutrir-art-close{top:12px;right:12px}}

/* NUTRIR V4 · Checkout Hotmart */
.nutrir-cardapio-lock .nutrir-hotmart-checkout{display:inline-flex!important;align-items:center;justify-content:center;background:var(--nutrir-magenta)!important;color:#fff!important;text-decoration:none!important;padding:15px 26px!important;border:0!important;border-radius:9px!important;font-size:10px!important;font-weight:800!important;letter-spacing:.1em!important;box-shadow:none!important;cursor:pointer;min-height:46px}.nutrir-cardapio-lock .nutrir-hotmart-checkout:hover{transform:translateY(-1px);filter:brightness(.96)}


/* NUTRIR V5 · Questionário personalizado em etapas */
.nutrir-questionnaire-shell{--nq-espresso:#493C34;--nq-charcoal:#2D2B2A;--nq-magenta:#A30167;--nq-nude:#E7D6D0;--nq-ivory:#F8F4EF;width:min(900px,calc(100% - 28px));margin:6px auto 80px;background:#fffdfb;border:1px solid rgba(73,60,52,.09);box-shadow:0 24px 70px rgba(73,60,52,.055)}
.nutrir-questionnaire-intro{padding:54px 64px 38px;text-align:center;border-bottom:1px solid rgba(73,60,52,.08)}
.nutrir-questionnaire-intro small{font-size:8px;font-weight:800;letter-spacing:.19em;color:var(--nq-magenta)}
.nutrir-questionnaire-intro h2{margin:13px auto 13px;font-family:Georgia,serif;font-size:clamp(38px,5vw,54px);font-weight:400;line-height:1.02;letter-spacing:-.04em;color:var(--nq-espresso)}
.nutrir-questionnaire-intro p{max-width:590px;margin:0 auto;color:#76675f;font-size:11px;line-height:1.75}
.nutrir-questionnaire-progress{padding:23px 64px 0}
.nutrir-questionnaire-progress-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.nutrir-questionnaire-progress-top span{font-size:8px;font-weight:800;letter-spacing:.15em;color:var(--nq-espresso)}
.nutrir-questionnaire-progress-top em{font-style:normal;font-size:8px;color:#9a8b82}
.nutrir-questionnaire-progress-bar{height:2px;background:#eadfd8;overflow:hidden}.nutrir-questionnaire-progress-bar i{display:block;width:16.66%;height:100%;background:var(--nq-magenta);transition:width .28s ease}
.nutrir-questionnaire-dots{display:none}
.nutrir-questionnaire-form{padding:0 64px 46px}
.nutrir-questionnaire-step{min-height:390px;padding:54px 0 34px}.nutrir-questionnaire-step[hidden]{display:none!important}.nutrir-questionnaire-step.is-active{animation:nutrirStepIn .28s ease both}@keyframes nutrirStepIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.nutrir-question-number{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #dacdc5;border-radius:50%;font-family:Georgia,serif;font-size:13px;color:var(--nq-magenta);margin-bottom:24px}
.nutrir-questionnaire-step h3{max-width:620px;margin:0;font-family:Georgia,serif;font-size:clamp(30px,4vw,42px);font-weight:400;line-height:1.08;letter-spacing:-.035em;color:var(--nq-espresso)}
.nutrir-questionnaire-step>p{max-width:590px;margin:13px 0 31px;color:#796b63;font-size:11px;line-height:1.7}
.nutrir-questionnaire-step label{display:block;margin-top:20px}.nutrir-questionnaire-step label>span{display:block;margin-bottom:9px;font-size:8px;font-weight:800;letter-spacing:.13em;color:#76655d}
.nutrir-questionnaire-step textarea{display:block;width:100%;min-height:132px;resize:vertical;padding:17px 18px;border:1px solid #ddd0c8;border-radius:9px;outline:none;background:#fbf7f3;color:var(--nq-charcoal);font:400 12px/1.65 Arial,sans-serif;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.nutrir-questionnaire-step textarea::placeholder{color:#aa9b92}.nutrir-questionnaire-step textarea:focus{border-color:rgba(163,1,103,.45);background:#fff;box-shadow:0 0 0 3px rgba(163,1,103,.055)}
.nutrir-questionnaire-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.nutrir-questionnaire-grid label{margin-top:0}.nutrir-questionnaire-wide{margin-top:16px!important}.nutrir-questionnaire-grid textarea{min-height:120px}
.nutrir-field-error{display:none;margin-top:7px!important;color:#9e245f!important;font-size:9px!important;letter-spacing:0!important}.nutrir-questionnaire-step label.has-error textarea{border-color:#b94b78;background:#fff9fb}.nutrir-questionnaire-step label.has-error .nutrir-field-error{display:block}
.nutrir-questionnaire-confirm{margin-top:28px;padding:18px 20px;border:1px solid rgba(73,60,52,.09);background:#f2e8e1;display:flex;align-items:center;gap:14px}.nutrir-questionnaire-confirm>i{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:#493C34;color:#fff;font-style:normal;font-size:12px}.nutrir-questionnaire-confirm strong,.nutrir-questionnaire-confirm span{display:block}.nutrir-questionnaire-confirm strong{color:#493C34;font-size:10px}.nutrir-questionnaire-confirm span{margin-top:4px;color:#7b6d65;font-size:9px}
.nutrir-questionnaire-actions{min-height:58px;padding-top:22px;border-top:1px solid rgba(73,60,52,.08);display:flex;align-items:center;justify-content:space-between;gap:10px}.nutrir-questionnaire-actions button{appearance:none;min-height:44px;padding:0 20px;border-radius:9px;font-size:8px;font-weight:800;letter-spacing:.11em;cursor:pointer}.nutrir-questionnaire-prev{border:1px solid #d8cbc3;background:transparent;color:#6e5e56}.nutrir-questionnaire-next,.nutrir-questionnaire-submit{margin-left:auto;border:0;background:var(--nq-magenta);color:#fff;min-width:170px}.nutrir-questionnaire-submit{min-width:230px}.nutrir-questionnaire-actions button:hover{transform:translateY(-1px)}.nutrir-questionnaire-actions button:disabled{opacity:.65;cursor:wait;transform:none}
@media(max-width:700px){.nutrir-questionnaire-shell{width:calc(100% - 20px);margin-bottom:48px}.nutrir-questionnaire-intro{padding:38px 24px 28px}.nutrir-questionnaire-intro h2{font-size:37px}.nutrir-questionnaire-progress{padding:19px 24px 0}.nutrir-questionnaire-form{padding:0 24px 28px}.nutrir-questionnaire-step{min-height:430px;padding:38px 0 27px}.nutrir-questionnaire-step h3{font-size:32px}.nutrir-questionnaire-step>p{font-size:10px;margin-bottom:25px}.nutrir-questionnaire-grid{grid-template-columns:1fr;gap:14px}.nutrir-questionnaire-grid label{margin-top:0}.nutrir-questionnaire-step textarea{min-height:135px}.nutrir-questionnaire-actions{padding-top:18px}.nutrir-questionnaire-actions button{min-width:0;padding:0 15px}.nutrir-questionnaire-next,.nutrir-questionnaire-submit{flex:1}.nutrir-questionnaire-submit{font-size:7px}.nutrir-question-number{margin-bottom:18px}}


/* NUTRIR V6 · Quiz nutricional automático */
body:has(.nutrir-auto-flow){background:#F8F4EF}
.nutrir-auto-flow{width:min(1080px,calc(100% - 48px))!important}
.nutrir-auto-shell{max-width:900px;margin:12px auto 72px;background:#fffdfb;border:1px solid #e2d7cf;box-shadow:0 18px 60px rgba(73,60,52,.06)}
.nutrir-auto-intro{text-align:center;padding:52px 42px 34px}.nutrir-auto-intro small,.nutrir-auto-result-copy>small{font-size:9px;font-weight:800;letter-spacing:.18em;color:#A30167}.nutrir-auto-intro h2{font-family:Georgia,serif;font-size:clamp(38px,5vw,58px);font-weight:400;line-height:1.02;letter-spacing:-.04em;color:#493C34;margin:15px 0}.nutrir-auto-intro p{max-width:610px;margin:0 auto;font-size:12px;line-height:1.75;color:#76665d}
.nutrir-auto-progress{padding:0 46px 30px}.nutrir-auto-progress>div:first-child{display:flex;justify-content:space-between;gap:20px;margin-bottom:10px}.nutrir-auto-progress span,.nutrir-auto-progress em{font-size:9px;font-weight:800;letter-spacing:.12em;color:#817168;font-style:normal}.nutrir-auto-bar{height:4px;background:#eee4dd;overflow:hidden}.nutrir-auto-bar i{display:block;height:100%;width:33%;background:#A30167;transition:width .3s ease}
.nutrir-auto-form{border-top:1px solid #eee4dd}.nutrir-auto-step{padding:46px}.nutrir-auto-number{display:block;font-family:Georgia,serif;font-size:54px;line-height:1;color:#dfd1c8;margin-bottom:18px}.nutrir-auto-step h3{font-family:Georgia,serif;font-size:34px;font-weight:400;line-height:1.08;color:#493C34;margin:0 0 10px}.nutrir-auto-step>p{font-size:12px;line-height:1.7;color:#7b6d65;margin:0 0 28px}
.nutrir-auto-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.nutrir-auto-option{appearance:none;border:1px solid #ded2ca;background:#fff;padding:24px 20px;text-align:left;min-height:135px;cursor:pointer;color:#493C34;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.nutrir-auto-option:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(73,60,52,.06)}.nutrir-auto-option.is-selected{border-color:#A30167;box-shadow:inset 0 0 0 1px #A30167;background:#fff9fc}.nutrir-auto-option strong{display:block;font-family:Georgia,serif;font-size:22px;font-weight:400;margin-bottom:8px}.nutrir-auto-option span{display:block;font-size:10px;line-height:1.55;color:#806f66}.nutrir-auto-activity{grid-template-columns:repeat(2,1fr)}.nutrir-auto-activity .nutrir-auto-option:last-child{grid-column:1/-1}
.nutrir-auto-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.nutrir-auto-fields label{display:flex;flex-direction:column;gap:9px;border:1px solid #ded2ca;background:#fff;padding:17px 18px}.nutrir-auto-fields label:focus-within{border-color:#A30167}.nutrir-auto-fields span{font-size:9px;font-weight:800;letter-spacing:.1em;color:#67584f}.nutrir-auto-fields span em{font-style:normal;font-weight:500;color:#a99a91;margin-left:4px}.nutrir-auto-fields input{border:0;outline:0;background:transparent;color:#493C34;font:14px/1.4 inherit;padding:4px 0}.nutrir-auto-fields input::placeholder{color:#b5a8a0}
.nutrir-auto-error{display:none;margin-top:14px;font-size:10px;font-weight:700;color:#A30167}.nutrir-auto-error.is-visible{display:block}.nutrir-auto-actions{display:flex;justify-content:flex-end;gap:10px;padding:24px 46px 34px;border-top:1px solid #eee4dd}.nutrir-auto-actions button{border:0;border-radius:9px;padding:14px 22px;font-size:9px;font-weight:800;letter-spacing:.1em;cursor:pointer}.nutrir-auto-next,.nutrir-auto-submit{background:#A30167;color:#fff}.nutrir-auto-prev{background:transparent;color:#493C34;border:1px solid #d8cbc3!important}.nutrir-auto-actions button:disabled{opacity:.6;cursor:wait}
.nutrir-auto-result{max-width:1000px;margin:12px auto 72px;display:grid;grid-template-columns:.85fr 1.15fr;background:#fffdfb;border:1px solid #e2d7cf;min-height:650px}.nutrir-auto-result-copy{padding:54px 46px;display:flex;flex-direction:column;align-items:flex-start}.nutrir-auto-check{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#f2e3eb;color:#A30167;font-size:20px;margin:24px 0}.nutrir-auto-result-copy h2{font-family:Georgia,serif;font-size:43px;font-weight:400;line-height:1.02;letter-spacing:-.035em;color:#493C34;margin:0 0 14px}.nutrir-auto-result-copy>p{font-size:12px;line-height:1.7;color:#76665d;margin:0 0 28px}.nutrir-auto-kcal{width:100%;padding:22px 0;border-top:1px solid #e5dad2;border-bottom:1px solid #e5dad2;margin-bottom:25px}.nutrir-auto-kcal span{display:block;font-size:8px;font-weight:800;letter-spacing:.15em;color:#9b887d;margin-bottom:6px}.nutrir-auto-kcal strong{font-family:Georgia,serif;font-size:42px;font-weight:400;color:#493C34}.nutrir-auto-kcal em{font:500 12px/1.4 inherit;font-style:normal;color:#897970}.nutrir-auto-result-actions{width:100%;display:grid;gap:8px}.nutrir-auto-result-actions a{display:block;text-align:center;text-decoration:none;background:#A30167;color:#fff;border-radius:9px;padding:15px 18px;font-size:9px;font-weight:800;letter-spacing:.1em}.nutrir-auto-result-actions a.is-download{background:#493C34}.nutrir-auto-reset{margin:16px auto 0}.nutrir-auto-reset button{background:transparent;border:0;color:#A30167;font-size:8px;font-weight:800;letter-spacing:.12em;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.nutrir-auto-disclaimer{margin-top:auto;padding-top:25px;font-size:9px!important;line-height:1.55;color:#9a8b82!important;letter-spacing:0!important;font-weight:500!important}.nutrir-auto-preview{background:#eee6e0;min-width:0}.nutrir-auto-preview iframe{display:block;width:100%;height:100%;min-height:650px;border:0;background:#fff}
@media(max-width:760px){.nutrir-auto-flow{width:calc(100% - 32px)!important}.nutrir-auto-intro{padding:38px 24px 28px}.nutrir-auto-intro h2{font-size:38px}.nutrir-auto-progress{padding:0 24px 24px}.nutrir-auto-step{padding:32px 24px}.nutrir-auto-number{font-size:45px}.nutrir-auto-step h3{font-size:29px}.nutrir-auto-options,.nutrir-auto-activity,.nutrir-auto-fields{grid-template-columns:1fr}.nutrir-auto-activity .nutrir-auto-option:last-child{grid-column:auto}.nutrir-auto-option{min-height:auto}.nutrir-auto-actions{padding:20px 24px 26px}.nutrir-auto-result{grid-template-columns:1fr;min-height:0}.nutrir-auto-result-copy{padding:38px 26px}.nutrir-auto-result-copy h2{font-size:37px}.nutrir-auto-preview iframe{min-height:520px}.nutrir-auto-disclaimer{margin-top:26px}}


/* NUTRIR — calculadora de hidratação */
.nutrir-hydration{width:min(1080px,calc(100% - 48px));margin:18px auto 18px;display:grid;grid-template-columns:.9fr 1.1fr;background:#fffdfb;border:1px solid #e4d9d2;color:#493c34}
.nutrir-hydration-copy{padding:52px 48px;display:flex;flex-direction:column;justify-content:center;background:#f1e7e0}
.nutrir-hydration-copy small,.nutrir-hydration-tool>label,.nutrir-hydration-result small{font-size:9px;font-weight:800;letter-spacing:.18em;color:#9a776c}
.nutrir-hydration-copy h2{font-family:Georgia,serif;font-size:clamp(38px,4.4vw,56px);font-weight:400;line-height:.96;letter-spacing:-.045em;margin:16px 0 18px;color:#493c34}
.nutrir-hydration-copy p{max-width:390px;font-size:12px;line-height:1.75;color:#76665d;margin:0 0 24px}
.nutrir-hydration-copy>span{font-size:8px;font-weight:800;letter-spacing:.15em;color:#a30167}
.nutrir-hydration-tool{padding:48px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.nutrir-hydration-input{width:100%;display:flex;align-items:center;border-bottom:1px solid #cdbdb3;margin:12px 0 24px;padding:0 4px}
.nutrir-hydration-input input{width:100%;border:0;outline:0;background:transparent;font-family:Georgia,serif;font-size:48px;font-weight:400;color:#493c34;padding:8px 0 10px;appearance:textfield}
.nutrir-hydration-input input::-webkit-inner-spin-button,.nutrir-hydration-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.nutrir-hydration-input input::placeholder{color:#cbbdb5}
.nutrir-hydration-input input.is-invalid{color:#a30167}
.nutrir-hydration-input span{font-size:14px;font-weight:700;color:#8b776c;padding-left:12px}
.nutrir-hydration-tool>button{border:0;border-radius:9px;background:#a30167;color:#fff;padding:15px 20px;font-size:9px;font-weight:800;letter-spacing:.12em;cursor:pointer}
.nutrir-hydration-tool>button:hover{filter:brightness(.96)}
.nutrir-hydration-result{width:100%;margin-top:32px;padding-top:28px;border-top:1px solid #eadfd8}
.nutrir-hydration-result strong{display:block;font-family:Georgia,serif;font-size:58px;font-weight:400;line-height:1;color:#493c34;margin:10px 0 7px}
.nutrir-hydration-result strong em{font-size:22px;font-style:normal}
.nutrir-hydration-result p{margin:0;font-size:12px;color:#76665d}
.nutrir-hydration-result p b{color:#a30167}
.nutrir-hydration-note{font-size:9px;line-height:1.65;color:#9b8a80;margin:24px 0 0;max-width:500px}
@media(max-width:760px){
 .nutrir-hydration{width:calc(100% - 32px);grid-template-columns:1fr;margin-top:10px;margin-bottom:54px}
 .nutrir-hydration-copy,.nutrir-hydration-tool{padding:34px 27px}
 .nutrir-hydration-copy h2{font-size:40px}
 .nutrir-hydration-input input{font-size:42px}
 .nutrir-hydration-tool>button{width:100%}
 .nutrir-hydration-result strong{font-size:52px}
}

.nutrir-v2-paths-premium{margin-top:0;margin-bottom:76px}
@media(max-width:760px){.nutrir-v2-paths-premium{margin-bottom:54px}}

/* =========================================================
   VIVER · FIORAFIT365 · 2026-09-03
   ========================================================= */
.viver-app{--vv-ivory:#F8F4EF;--vv-nude:#E7D6D0;--vv-sand:#D5C7BB;--vv-espresso:#493C34;--vv-charcoal:#2D2B2A;--vv-magenta:#A30167;background:var(--vv-ivory);color:var(--vv-espresso);padding-bottom:1px}
.viver-app *{box-sizing:border-box}.viver-app small{font-size:8px;font-weight:800;letter-spacing:.18em}.viver-hero{width:min(1180px,calc(100% - 48px));min-height:590px;margin:20px auto 0;display:grid;grid-template-columns:1.04fr .96fr;background:#eee3dc;overflow:hidden}.viver-hero-copy{padding:72px 62px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.viver-hero-copy small{color:var(--vv-magenta)}.viver-hero-copy h1{font-family:Georgia,serif;font-size:clamp(48px,5.7vw,76px);font-weight:400;line-height:.95;letter-spacing:-.052em;margin:20px 0 24px;color:var(--vv-espresso)}.viver-hero-copy p{max-width:430px;font-size:12px;line-height:1.8;color:#77675e;margin:0 0 32px}.viver-hero-copy a{display:inline-flex;text-decoration:none;border-bottom:1px solid var(--vv-espresso);padding-bottom:6px;color:var(--vv-espresso);font-size:8px;font-weight:800;letter-spacing:.14em}.viver-hero-image{min-height:590px;background:linear-gradient(180deg,rgba(73,60,52,.03),rgba(73,60,52,.08)),url('/assets/images/movements/viver.jpg') center/cover no-repeat}
.viver-intro{width:min(760px,calc(100% - 48px));margin:0 auto;padding:94px 0 82px;text-align:center}.viver-intro small,.viver-section-heading small,.viver-benefits-copy small,.viver-challenge-copy>small{color:var(--vv-magenta)}.viver-intro h2{font-family:Georgia,serif;font-size:46px;font-weight:400;letter-spacing:-.035em;margin:13px 0 17px}.viver-intro p{max-width:650px;margin:0 auto;color:#77685f;font-size:12px;line-height:1.85}
.viver-365{width:min(1180px,calc(100% - 48px));margin:0 auto 22px;background:#fffdfb;border:1px solid #e2d8d1}.viver-365-top{display:grid;grid-template-columns:1.3fr .7fr;gap:30px;padding:54px 58px 44px;border-bottom:1px solid #e7ddd6}.viver-365-top>div:first-child>small{color:var(--vv-magenta)}.viver-365-top h2{font-family:Georgia,serif;font-size:58px;font-weight:400;letter-spacing:-.045em;line-height:1;margin:10px 0 15px}.viver-365-top p{max-width:590px;font-size:11px;line-height:1.75;color:#796960;margin:0}.viver-365-stats{display:grid;grid-template-columns:1fr 1fr;align-items:center;border-left:1px solid #e4d9d2}.viver-365-stats div{padding:12px 25px;text-align:center}.viver-365-stats div+div{border-left:1px solid #e4d9d2}.viver-365-stats strong{display:block;font-family:Georgia,serif;font-size:50px;font-weight:400;color:var(--vv-magenta);line-height:1}.viver-365-stats span{display:block;margin-top:9px;font-size:7px;font-weight:800;letter-spacing:.13em;color:#806e64}.viver-calendar-wrap{padding:38px 58px 46px}.viver-calendar-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px}.viver-calendar-title span{font-family:Georgia,serif;font-size:29px}.viver-calendar-title b{font-size:9px;letter-spacing:.16em}.viver-calendar-weekdays,.viver-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.viver-calendar-weekdays span{text-align:center;padding:0 0 13px;font-size:7px;font-weight:800;letter-spacing:.14em;color:#a08f85}.viver-calendar-grid{border-left:1px solid #e7ddd6;border-top:1px solid #e7ddd6}.viver-calendar-grid>i{position:relative;min-height:82px;border-right:1px solid #e7ddd6;border-bottom:1px solid #e7ddd6;background:#fff;font-style:normal;padding:11px 12px;color:#85746b}.viver-calendar-grid>i.is-empty{background:#fbf7f3}.viver-calendar-grid>i.is-future{background:#fbf9f7;color:#c8bbb3}.viver-calendar-grid>i span{font-size:9px;font-weight:700}.viver-calendar-grid>i b{position:absolute;right:10px;bottom:10px;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--vv-magenta);color:#fff;font-size:11px}.viver-calendar-grid>i.is-active{background:#f6eaf1}.viver-calendar-grid>i.is-today{box-shadow:inset 0 0 0 2px var(--vv-espresso)}.viver-calendar-legend{display:flex;justify-content:space-between;align-items:center;padding-top:19px}.viver-calendar-legend span{display:flex;align-items:center;gap:8px;font-size:7px;font-weight:800;letter-spacing:.11em}.viver-calendar-legend span i{width:9px;height:9px;border-radius:50%;background:var(--vv-magenta)}.viver-calendar-legend em{font-style:normal;font-size:9px;color:#928178}
.viver-challenge{width:min(1180px,calc(100% - 48px));margin:0 auto 90px;display:grid;grid-template-columns:.34fr .66fr;background:var(--vv-espresso);color:#fff}.viver-challenge-number{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--vv-magenta)}.viver-challenge-number span{font-family:Georgia,serif;font-size:108px;line-height:.8;font-weight:400}.viver-challenge-number small{margin-top:20px;color:#fff}.viver-challenge-copy{padding:55px 62px;display:flex;flex-direction:column;justify-content:center}.viver-challenge-copy>small{color:#e8b8d6}.viver-challenge-copy h2{font-family:Georgia,serif;font-size:48px;font-weight:400;line-height:1;letter-spacing:-.04em;margin:13px 0 15px}.viver-challenge-copy p{max-width:600px;margin:0 0 28px;color:#e7ddd7;font-size:11px;line-height:1.75}.viver-progress{height:3px;background:rgba(255,255,255,.18);overflow:hidden}.viver-progress i{display:block;height:100%;background:#fff}.viver-progress-copy{display:flex;justify-content:space-between;padding-top:10px}.viver-progress-copy span,.viver-progress-copy b{font-size:8px;letter-spacing:.1em}.viver-progress-copy b{color:#edc0dc}
.viver-missions{width:min(1180px,calc(100% - 48px));margin:0 auto 92px}.viver-section-heading{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:36px}.viver-section-heading h2{font-family:Georgia,serif;font-size:49px;font-weight:400;line-height:.98;letter-spacing:-.04em;margin:12px 0 0}.viver-section-heading>p{font-size:11px;line-height:1.8;color:#78685f;margin:0 0 4px;max-width:460px}.viver-mission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.viver-mission{min-height:340px;background:#fffdfb;border:1px solid #e1d6cf;padding:34px 30px;display:flex;flex-direction:column;align-items:flex-start}.viver-mission>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#f0e4dd;color:var(--vv-magenta);font-size:18px;margin-bottom:34px}.viver-mission>small{color:#9b8478}.viver-mission h3{font-family:Georgia,serif;font-size:29px;font-weight:400;line-height:1.05;margin:9px 0 12px}.viver-mission p{font-size:10px;line-height:1.7;color:#7c6b62;margin:0 0 26px}.viver-mission form{margin-top:auto;width:100%}.viver-mission button,.viver-mission-done,.viver-mission-disabled{width:100%;min-height:43px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:800;letter-spacing:.1em}.viver-mission button{border:0;background:var(--vv-magenta);color:#fff;cursor:pointer}.viver-mission.is-done{background:#f4ebe6}.viver-mission-done{margin-top:auto;background:var(--vv-espresso);color:#fff}.viver-mission-disabled{margin-top:auto;background:#ddd1ca;color:#7d6c63}
.viver-benefits{width:min(1180px,calc(100% - 48px));margin:0 auto 90px;display:grid;grid-template-columns:.9fr 1.1fr;background:#ede2dc}.viver-benefits-copy{padding:62px 55px}.viver-benefits-copy h2{font-family:Georgia,serif;font-size:49px;font-weight:400;line-height:.97;letter-spacing:-.04em;margin:13px 0 19px}.viver-benefits-copy p{font-size:11px;line-height:1.8;color:#77675e;max-width:440px}.viver-benefit-list{background:#fffdfb}.viver-benefit-list article{min-height:190px;padding:35px 40px;display:grid;grid-template-columns:58px 1fr;gap:22px;align-items:start}.viver-benefit-list article+article{border-top:1px solid #e6dcd5}.viver-benefit-list article>span{font-family:Georgia,serif;font-size:32px;color:#c4afa3}.viver-benefit-list small{color:var(--vv-magenta)}.viver-benefit-list h3{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:7px 0 9px}.viver-benefit-list p{font-size:10px;line-height:1.7;color:#7c6c63;margin:0}.viver-benefit-list em{display:inline-flex;margin-top:15px;padding:6px 9px;border:1px solid #d7c8bf;font-style:normal;font-size:7px;font-weight:800;letter-spacing:.12em;color:#8c796e}.viver-closing{width:min(880px,calc(100% - 48px));margin:0 auto;padding:28px 0 100px;text-align:center}.viver-closing small{color:var(--vv-magenta)}.viver-closing h2{font-family:Georgia,serif;font-size:48px;font-weight:400;line-height:1.02;letter-spacing:-.04em;margin:14px 0 27px}.viver-closing a{text-decoration:none;color:var(--vv-espresso);border-bottom:1px solid var(--vv-espresso);padding-bottom:6px;font-size:8px;font-weight:800;letter-spacing:.13em}
@media(max-width:760px){.viver-hero{width:calc(100% - 28px);grid-template-columns:1fr;min-height:0}.viver-hero-image{order:1;min-height:310px;background-position:center}.viver-hero-copy{order:2;padding:42px 28px 48px;text-align:center;align-items:center}.viver-hero-copy h1{font-size:47px}.viver-intro{padding:60px 0 52px}.viver-intro h2{font-size:37px}.viver-365,.viver-challenge,.viver-missions,.viver-benefits{width:calc(100% - 28px)}.viver-365-top{grid-template-columns:1fr;padding:38px 26px 30px}.viver-365-top h2{font-size:45px}.viver-365-stats{border-left:0;border-top:1px solid #e4d9d2;padding-top:18px}.viver-365-stats div{padding:12px}.viver-calendar-wrap{padding:26px 14px 30px}.viver-calendar-grid>i{min-height:52px;padding:7px}.viver-calendar-grid>i b{width:22px;height:22px;right:5px;bottom:5px;font-size:9px}.viver-calendar-legend{align-items:flex-start;gap:12px}.viver-calendar-legend em{text-align:right}.viver-challenge{grid-template-columns:1fr;margin-bottom:64px}.viver-challenge-number{min-height:190px}.viver-challenge-number span{font-size:82px}.viver-challenge-copy{padding:37px 27px 39px}.viver-challenge-copy h2{font-size:39px}.viver-section-heading{grid-template-columns:1fr;gap:18px}.viver-section-heading h2{font-size:39px}.viver-mission-grid{grid-template-columns:1fr}.viver-mission{min-height:295px}.viver-benefits{grid-template-columns:1fr;margin-bottom:65px}.viver-benefits-copy{padding:42px 28px}.viver-benefits-copy h2{font-size:40px}.viver-benefit-list article{padding:30px 24px;grid-template-columns:46px 1fr}.viver-closing{padding-bottom:75px}.viver-closing h2{font-size:38px}}

/* HOME · FIORAFIT365 + PRÓXIMO PASSO · 2026-09-03 */
.dashboard-v30-member .dash30-core{grid-template-columns:420px 1fr;align-items:start}
.dashboard-v30-member .dash30-365-block{min-width:0}
.dashboard-v30-member .dash30-365-card{min-height:235px;margin-top:12px;padding:28px;border:1px solid rgba(163,1,103,.10);border-radius:18px;background:linear-gradient(135deg,rgba(231,214,208,.74),rgba(248,244,239,.96));display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:center;overflow:hidden;position:relative}
.dashboard-v30-member .dash30-365-card:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(163,1,103,.08);border-radius:50%;right:-80px;top:-105px}
.dashboard-v30-member .dash30-365-copy{position:relative;z-index:1}
.dashboard-v30-member .dash30-365-copy>small{color:var(--magenta);font-size:7px;font-weight:700;letter-spacing:.12em}
.dashboard-v30-member .dash30-365-copy h2{margin:12px 0 10px;color:var(--espresso);font-size:21px;line-height:1.15;font-weight:500}
.dashboard-v30-member .dash30-365-copy h2 strong{font-family:Georgia,"Times New Roman",serif;font-size:40px;font-weight:400;color:var(--magenta)}
.dashboard-v30-member .dash30-365-copy p{margin:0;max-width:310px;color:rgba(73,60,52,.62);font-size:9px;line-height:1.55}
.dashboard-v30-member .dash30-365-copy a{display:inline-flex;margin-top:18px;color:var(--magenta);font-size:7px;font-weight:700;letter-spacing:.1em;text-decoration:none}
.dashboard-v30-member .dash30-365-mini{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;align-items:center;position:relative;z-index:1}
.dashboard-v30-member .dash30-365-mini span{height:42px;border:1px solid rgba(73,60,52,.09);border-radius:10px;background:rgba(255,255,255,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.dashboard-v30-member .dash30-365-mini span i{font-style:normal;color:rgba(73,60,52,.58);font-size:8px}
.dashboard-v30-member .dash30-365-mini span b{height:8px;color:var(--magenta);font-size:8px;line-height:1}
.dashboard-v30-member .dash30-365-mini span.is-active{border-color:rgba(163,1,103,.24);background:rgba(163,1,103,.08)}
.dashboard-v30-member .dash30-365-mini span.is-today{box-shadow:inset 0 0 0 1px rgba(163,1,103,.34)}
.dashboard-v30-member .dash30-365-mini em{grid-column:1/-1;margin-top:8px;color:rgba(73,60,52,.50);font-size:7px;font-style:normal;text-align:center}
.dashboard-v30-member .dash30-next-step{margin-top:34px}
.dashboard-v30-member .dash30-next-card{min-height:160px;border-radius:18px;overflow:hidden;background:#241915;color:#fff;display:grid;grid-template-columns:1fr 180px}
.dashboard-v30-member .dash30-next-copy{padding:28px 32px;display:flex;flex-direction:column;justify-content:center}
.dashboard-v30-member .dash30-next-copy>small{color:#e29ac2;font-size:7px;font-weight:700;letter-spacing:.12em}
.dashboard-v30-member .dash30-next-copy h2{margin:9px 0 7px;max-width:520px;color:#fff;font-size:22px;line-height:1.15;font-weight:500}
.dashboard-v30-member .dash30-next-copy p{margin:0;max-width:600px;color:rgba(255,255,255,.62);font-size:9px;line-height:1.55}
.dashboard-v30-member .dash30-next-copy a{display:inline-flex;margin-top:15px;color:#fff;font-size:7px;font-weight:700;letter-spacing:.1em;text-decoration:none}
.dashboard-v30-member .dash30-next-side{padding:22px;border-left:1px solid rgba(255,255,255,.10);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.dashboard-v30-member .dash30-next-side>span{font-family:Georgia,"Times New Roman",serif;color:#e9a4c9;font-size:43px;line-height:1}
.dashboard-v30-member .dash30-next-side>small{margin-top:4px;color:rgba(255,255,255,.62);font-size:6px;letter-spacing:.12em}
.dashboard-v30-member .dash30-next-side i{width:32px;height:1px;margin:13px 0;background:rgba(255,255,255,.20)}
.dashboard-v30-member .dash30-next-side p{margin:0;color:rgba(255,255,255,.55);font-size:7px;line-height:1.4}

@media(max-width:980px){
  .dashboard-v30-member .dash30-core{grid-template-columns:1fr}
  .dashboard-v30-member .dash30-365-card{max-width:680px}
}
@media(max-width:700px){
  .dashboard-v30-member .dash30-core{gap:26px}
  .dashboard-v30-member .dash30-365-card{min-height:auto;padding:19px 17px;grid-template-columns:1fr;gap:17px;border-radius:17px}
  .dashboard-v30-member .dash30-365-copy h2{font-size:18px}
  .dashboard-v30-member .dash30-365-copy h2 strong{font-size:34px}
  .dashboard-v30-member .dash30-365-copy p{font-size:8px}
  .dashboard-v30-member .dash30-365-mini span{height:38px;border-radius:9px}
  .dashboard-v30-member .dash30-next-step{margin-top:28px}
  .dashboard-v30-member .dash30-next-card{min-height:auto;grid-template-columns:1fr 105px;border-radius:16px}
  .dashboard-v30-member .dash30-next-copy{padding:20px 17px}
  .dashboard-v30-member .dash30-next-copy h2{font-size:17px}
  .dashboard-v30-member .dash30-next-copy p{font-size:8px}
  .dashboard-v30-member .dash30-next-side{padding:16px 10px}
  .dashboard-v30-member .dash30-next-side>span{font-size:35px}
}
/* HOME order refinement: Movimentos → FIORAFIT365 → Próximo passo → Recomendados */
.dashboard-v30-member .dash30-core{display:block;margin-top:26px}
.dashboard-v30-member .dash30-movement-block{width:100%}
.dashboard-v30-member .dash30-home365-section{margin-top:34px}
.dashboard-v30-member .dash30-home365-section .dash30-365-card{width:100%;grid-template-columns:1.45fr .75fr}
@media(max-width:700px){
  .dashboard-v30-member .dash30-core{margin-top:25px}
  .dashboard-v30-member .dash30-home365-section{margin-top:28px}
  .dashboard-v30-member .dash30-home365-section .dash30-365-card{grid-template-columns:1fr}
}
.dashboard-v30-member .dash30-recommended-grid a{position:relative;isolation:isolate;height:128px;padding:14px;border-radius:14px;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;text-decoration:none}
.dashboard-v30-member .dash30-recommended-grid a:before{content:"";position:absolute;inset:0;z-index:-2;background:var(--dash30-bg) center/cover no-repeat}
.dashboard-v30-member .dash30-recommended-grid a:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(15,10,7,.10),rgba(15,10,7,.64))}
.dashboard-v30-member .dash30-recommended-grid a>span{margin-bottom:auto;color:rgba(255,255,255,.72);font-size:6px;letter-spacing:.09em}
.dashboard-v30-member .dash30-recommended-grid a>h3{margin:0;color:#fff;font-size:15px;font-weight:500}
.dashboard-v30-member .dash30-recommended-grid a>small{margin-top:6px;color:rgba(255,255,255,.82);font-size:7px}
@media(max-width:700px){.dashboard-v30-member .dash30-recommended-grid a{height:105px;scroll-snap-align:start}.dashboard-v30-member .dash30-recommended-grid a>h3{font-size:13px}}
