/*
 * Roozaneh Plus 1.0.1 — compatibility layer for Roozaneh theme v1.4.48+
 * The theme owns the active color mode through html.rz_dark and --rz-* variables.
 * Loaded only on pages where a Roozaneh Plus module is active.
 */

/* ---------- Shared light palette: follow the explicit theme selection ---------- */
html:not(.rz_dark) .rds-calendar-page {
    --rds-bg:var(--rz-surface,#fff);
    --rds-surface:#f7f9fc;
    --rds-surface-2:#edf2f7;
    --rds-text:var(--rz-text,#1f2933);
    --rds-muted:var(--rz-muted,#64748b);
    --rds-border:var(--rz-border,#e4eaf0);
    --rds-accent:var(--rz-primary,#314b6b);
    --rds-accent-soft:rgba(49,75,107,.10);
    --rds-good:#287a5a;
    --rds-good-soft:#edf8f3;
    --rds-danger:var(--rz-accent,#b65f75);
    --rds-danger-soft:var(--rz-accent-soft,#f8edf1);
    --rds-shadow:var(--rz-shadow-soft,0 8px 22px rgba(34,56,79,.07));
    color-scheme:light;
}
html:not(.rz_dark) .rds-tools-suite,
html:not(.rz_dark) .rds-tool {
    --rds-tool-bg:var(--rz-surface,#fff);
    --rds-tool-soft:#f7f9fc;
    --rds-tool-text:var(--rz-text,#1f2933);
    --rds-tool-muted:var(--rz-muted,#64748b);
    --rds-tool-border:var(--rz-border,#e4eaf0);
    --rds-tool-accent:var(--rz-primary,#314b6b);
    --rds-tool-accent-soft:rgba(49,75,107,.10);
    --rds-tool-danger:var(--rz-accent,#b65f75);
    color-scheme:light;
}
html:not(.rz_dark) .rds-horoscope {
    --rds-h-bg:var(--rz-surface,#fff);
    --rds-h-surface:#f7f9fc;
    --rds-h-surface-2:#edf2f7;
    --rds-h-text:var(--rz-text,#1f2933);
    --rds-h-muted:var(--rz-muted,#64748b);
    --rds-h-border:var(--rz-border,#e4eaf0);
    --rds-h-accent:var(--rz-primary,#314b6b);
    --rds-h-accent-soft:rgba(49,75,107,.10);
    --rds-h-pink:var(--rz-accent,#b65f75);
    --rds-h-pink-soft:var(--rz-accent-soft,#f8edf1);
    --rds-h-good:#287a5a;
    --rds-h-shadow:var(--rz-shadow-soft,0 8px 22px rgba(34,56,79,.07));
    color-scheme:light;
}
html:not(.rz_dark) .rzp-hafez {
    --rzp-h-bg:var(--rz-surface,#fff);
    --rzp-h-surface:#f7f9fc;
    --rzp-h-surface-2:#edf2f7;
    --rzp-h-text:var(--rz-text,#1f2933);
    --rzp-h-muted:var(--rz-muted,#64748b);
    --rzp-h-border:var(--rz-border,#e4eaf0);
    --rzp-h-accent:var(--rz-primary,#314b6b);
    --rzp-h-accent-soft:rgba(49,75,107,.10);
    --rzp-h-gold:#9a7427;
    --rzp-h-gold-soft:rgba(154,116,39,.11);
    --rzp-h-danger:var(--rz-accent,#b65f75);
    --rzp-h-info:#0f5fa8;
    --rzp-h-info-soft:rgba(15,95,168,.10);
    --rzp-h-success:#287a5a;
    --rzp-h-success-soft:rgba(40,122,90,.10);
    --rzp-h-love:var(--rz-accent,#b65f75);
    --rzp-h-love-soft:var(--rz-accent-soft,#f8edf1);
    color-scheme:light;
}
html:not(.rz_dark) .rzp-my-day {
    --rmd-bg:var(--rz-surface,#fff);
    --rmd-surface:#f7f9fc;
    --rmd-surface-2:#edf2f7;
    --rmd-text:var(--rz-text,#1f2933);
    --rmd-muted:var(--rz-muted,#64748b);
    --rmd-border:var(--rz-border,#e4eaf0);
    --rmd-accent:var(--rz-primary,#314b6b);
    --rmd-accent-soft:rgba(49,75,107,.10);
    --rmd-gold:#9a7427;
    --rmd-gold-soft:rgba(154,116,39,.11);
    --rmd-blue:#0f5fa8;
    --rmd-blue-soft:rgba(15,95,168,.10);
    --rmd-green:#287a5a;
    --rmd-green-soft:rgba(40,122,90,.10);
    --rmd-love:var(--rz-accent,#b65f75);
    --rmd-love-soft:var(--rz-accent-soft,#f8edf1);
    --rmd-danger:#a33f58;
    color-scheme:light;
}

/* ---------- Roozaneh theme dark palette ---------- */
html.rz_dark .rds-calendar-page {
    --rds-bg:var(--rz-surface,#111d2b);
    --rds-surface:var(--rz-surface-2,#162437);
    --rds-surface-2:var(--rz-surface-3,#1b2b40);
    --rds-text:var(--rz-text,#eef5fb);
    --rds-muted:var(--rz-muted,#b2c0ce);
    --rds-border:var(--rz-border,#27394d);
    --rds-accent:var(--rz-primary,#a8c8ee);
    --rds-accent-soft:rgba(168,200,238,.13);
    --rds-good:#83d3a9;
    --rds-good-soft:rgba(131,211,169,.13);
    --rds-danger:var(--rz-accent,#e08aa7);
    --rds-danger-soft:rgba(224,138,167,.13);
    --rds-shadow:var(--rz-shadow-soft,0 10px 26px rgba(0,0,0,.26));
    color-scheme:dark;
}
html.rz_dark .rds-tools-suite,
html.rz_dark .rds-tool {
    --rds-tool-bg:var(--rz-surface,#111d2b);
    --rds-tool-soft:var(--rz-surface-2,#162437);
    --rds-tool-text:var(--rz-text,#eef5fb);
    --rds-tool-muted:var(--rz-muted,#b2c0ce);
    --rds-tool-border:var(--rz-border,#27394d);
    --rds-tool-accent:var(--rz-primary,#a8c8ee);
    --rds-tool-accent-soft:rgba(168,200,238,.13);
    --rds-tool-danger:#ffc2d3;
    color-scheme:dark;
}
html.rz_dark .rds-horoscope {
    --rds-h-bg:var(--rz-surface,#111d2b);
    --rds-h-surface:var(--rz-surface-2,#162437);
    --rds-h-surface-2:var(--rz-surface-3,#1b2b40);
    --rds-h-text:var(--rz-text,#eef5fb);
    --rds-h-muted:var(--rz-muted,#b2c0ce);
    --rds-h-border:var(--rz-border,#27394d);
    --rds-h-accent:var(--rz-primary,#a8c8ee);
    --rds-h-accent-soft:rgba(168,200,238,.13);
    --rds-h-pink:#ffc2d3;
    --rds-h-pink-soft:rgba(224,138,167,.13);
    --rds-h-good:#83d3a9;
    --rds-h-shadow:var(--rz-shadow-soft,0 10px 26px rgba(0,0,0,.26));
    color-scheme:dark;
}
html.rz_dark .rzp-hafez {
    --rzp-h-bg:var(--rz-surface,#111d2b);
    --rzp-h-surface:var(--rz-surface-2,#162437);
    --rzp-h-surface-2:var(--rz-surface-3,#1b2b40);
    --rzp-h-text:var(--rz-text,#eef5fb);
    --rzp-h-muted:var(--rz-muted,#b2c0ce);
    --rzp-h-border:var(--rz-border,#27394d);
    --rzp-h-accent:var(--rz-primary,#a8c8ee);
    --rzp-h-accent-soft:rgba(168,200,238,.13);
    --rzp-h-gold:#efc36d;
    --rzp-h-gold-soft:rgba(239,195,109,.13);
    --rzp-h-danger:#ffc2d3;
    --rzp-h-info:#9dccff;
    --rzp-h-info-soft:rgba(157,204,255,.13);
    --rzp-h-success:#83d3a9;
    --rzp-h-success-soft:rgba(131,211,169,.13);
    --rzp-h-love:#ffc2d3;
    --rzp-h-love-soft:rgba(255,194,211,.13);
    color-scheme:dark;
}
html.rz_dark .rzp-my-day {
    --rmd-bg:var(--rz-surface,#111d2b);
    --rmd-surface:var(--rz-surface-2,#162437);
    --rmd-surface-2:var(--rz-surface-3,#1b2b40);
    --rmd-text:var(--rz-text,#eef5fb);
    --rmd-muted:var(--rz-muted,#b2c0ce);
    --rmd-border:var(--rz-border,#27394d);
    --rmd-accent:var(--rz-primary,#a8c8ee);
    --rmd-accent-soft:rgba(168,200,238,.13);
    --rmd-gold:#efc36d;
    --rmd-gold-soft:rgba(239,195,109,.13);
    --rmd-blue:#9dccff;
    --rmd-blue-soft:rgba(157,204,255,.13);
    --rmd-green:#83d3a9;
    --rmd-green-soft:rgba(131,211,169,.13);
    --rmd-love:#ffc2d3;
    --rmd-love-soft:rgba(255,194,211,.13);
    --rmd-danger:#ff9fb6;
    color-scheme:dark;
}

/* ---------- Shared component finish ---------- */
html.rz_dark :is(.rds-calendar-page,.rds-tools-suite,.rds-tool,.rds-horoscope,.rzp-hafez,.rzp-my-day) {
    scrollbar-color:var(--rz-border-strong,#37506a) var(--rz-surface,#111d2b);
}
html.rz_dark :is(.rds-calendar-page,.rds-tools-suite,.rds-tool,.rds-horoscope,.rzp-hafez,.rzp-my-day) :is(input,select,textarea) {
    color:var(--rz-text,#eef5fb)!important;
    background:var(--rz-surface-2,#162437)!important;
    border-color:var(--rz-border,#27394d)!important;
}
html.rz_dark :is(.rds-calendar-page,.rds-tools-suite,.rds-tool,.rds-horoscope,.rzp-hafez,.rzp-my-day) :is(input,select,textarea)::placeholder {
    color:var(--rz-muted,#b2c0ce)!important;
    opacity:.8;
}
html.rz_dark :is(.rds-calendar-page,.rds-tools-suite,.rds-tool,.rds-horoscope,.rzp-hafez,.rzp-my-day) :is(input,select,textarea):focus {
    border-color:var(--rz-primary,#a8c8ee)!important;
    outline-color:rgba(168,200,238,.18)!important;
}
html.rz_dark :is(.rds-calendar-page,.rds-tools-suite,.rds-tool,.rds-horoscope,.rzp-hafez,.rzp-my-day) audio {
    color-scheme:dark;
}

/* Calendar */
html.rz_dark .rds-calendar-hero,
html.rz_dark .rds-calendar-date-card,
html.rz_dark .rds-calendar-next-holiday,
html.rz_dark .rds-calendar-upcoming-panel,
html.rz_dark .rds-detailed-calendar,
html.rz_dark .rds-calendar-month-intro,
html.rz_dark .rds-calendar-tool-card,
html.rz_dark .rds-calendar-horoscope-promo {
    box-shadow:var(--rz-shadow-soft,0 10px 26px rgba(0,0,0,.26));
}
html.rz_dark .rds-calendar-date-card.is-primary {
    background:linear-gradient(180deg,rgba(168,200,238,.14),rgba(168,200,238,.06))!important;
}
html.rz_dark .rds-calendar-next-holiday {
    background:linear-gradient(180deg,rgba(224,138,167,.12),rgba(224,138,167,.05))!important;
}
html.rz_dark .rds-calendar-summary article.is-working {
    background:linear-gradient(180deg,rgba(131,211,169,.14),rgba(131,211,169,.06))!important;
}
html.rz_dark .rds-calendar-summary article.is-holiday {
    background:linear-gradient(180deg,rgba(255,194,211,.14),rgba(255,194,211,.06))!important;
}
html:not(.rz_dark) .rds-calendar-date-card.is-primary {
    background:linear-gradient(180deg,rgba(49,75,107,.10),rgba(49,75,107,.04))!important;
}
html:not(.rz_dark) .rds-calendar-next-holiday {
    background:linear-gradient(180deg,var(--rz-accent-soft,#f8edf1),rgba(248,237,241,.35))!important;
}

/* Tools */
html.rz_dark .rds-tool,
html.rz_dark .rds-result,
html.rz_dark .rds-result-grid article,
html.rz_dark .rds-calendar__days > span,
html.rz_dark .rds-month-events article,
html.rz_dark .rds-countdown,
html.rz_dark .rds-check {
    box-shadow:none;
}
html.rz_dark .rds-button--secondary,
html.rz_dark .rds-calendar-nav a {
    color:var(--rz-primary-dark,#d7e8ff)!important;
    background:rgba(168,200,238,.12)!important;
    border-color:rgba(168,200,238,.18)!important;
}
html.rz_dark .rds-result.is-error,
html.rz_dark .rds-calendar__days > span.is-holiday {
    background:rgba(224,138,167,.12)!important;
}

/* Horoscope */
html.rz_dark .rds-horoscope-hero,
html.rz_dark .rds-horoscope-card,
html.rz_dark .rds-horoscope-note,
html.rz_dark .rds-horoscope-date-nav,
html.rz_dark .rds-horoscope-sign-nav {
    box-shadow:var(--rz-shadow-soft,0 10px 26px rgba(0,0,0,.26));
}
html.rz_dark .rds-horoscope-card__head > b {
    color:#ffc2d3;
    background:rgba(255,194,211,.12);
}
html.rz_dark .rds-horoscope-card__actions button {
    color:var(--rz-primary-dark,#d7e8ff);
    background:rgba(168,200,238,.12);
    border-color:rgba(168,200,238,.18);
}
html:not(.rz_dark) .rds-horoscope-card__actions button,
html:not(.rz_dark) .rds-horoscope-sign-nav a.is-active {
    border-color:rgba(49,75,107,.18);
}

/* Hafez */
html.rz_dark .rzp-hafez-hero,
html.rz_dark .rzp-hafez-result,
html.rz_dark .rzp-hafez-poem,
html.rz_dark .rzp-hafez-interpretation,
html.rz_dark .rzp-hafez-reading-card,
html.rz_dark .rzp-hafez-note {
    box-shadow:var(--rz-shadow-soft,0 10px 26px rgba(0,0,0,.26));
}
html.rz_dark .rzp-hafez-cover {
    background:linear-gradient(135deg,var(--rz-surface-2,#162437),rgba(239,195,109,.08));
    border-color:rgba(239,195,109,.26);
}
html.rz_dark .rzp-hafez-audio > div > span {
    border-color:rgba(157,204,255,.22);
}
html.rz_dark .rzp-hafez-key-verse {
    border-color:rgba(239,195,109,.22);
}

/* My Day */
html.rz_dark .rzp-my-day-hero,
html.rz_dark .rzp-my-day-overview-card,
html.rz_dark .rzp-my-day-mood-card,
html.rz_dark .rzp-my-day-reading,
html.rz_dark .rzp-my-day-hafez-card,
html.rz_dark .rzp-my-day-time-card,
html.rz_dark .rzp-my-day-links a {
    box-shadow:var(--rz-shadow-soft,0 10px 26px rgba(0,0,0,.26));
}
html.rz_dark .rzp-my-day-hero__facts div {
    background:rgba(255,255,255,.045);
    border-color:var(--rz-border,#27394d);
}
html.rz_dark .rzp-my-day-hafez-card blockquote {
    border-color:rgba(239,195,109,.22);
}
html.rz_dark .rzp-my-day-links a:hover {
    border-color:var(--rz-border-strong,#37506a);
}


/* ---------- No horizontal text scrollers ---------- */
:is(.rds-calendar-page,.rds-tools-suite,.rds-tool,.rds-horoscope,.rzp-hafez,.rzp-my-day) {
    max-width:100%;
    overflow-x:hidden;
    overflow-x:clip;
}
:is(.rds-calendar-page,.rds-tools-suite,.rds-tool,.rds-horoscope,.rzp-hafez,.rzp-my-day) :is(h1,h2,h3,h4,h5,h6,p,li,a,button,label,span,strong,small,b,em,blockquote) {
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:normal;
}
:is(.rds-calendar-page,.rds-tools-suite,.rds-tool,.rds-horoscope,.rzp-hafez,.rzp-my-day) :is(img,svg,audio,video,iframe) {
    max-width:100%;
}
.rds-horoscope-type-nav,
.rds-horoscope-sign-nav {
    overflow:visible!important;
    scrollbar-width:none;
}
.rds-horoscope-type-nav a,
.rds-horoscope-sign-nav a {
    min-width:0!important;
    white-space:normal!important;
}

/* The Hafez CTA must remain readable in both explicit theme modes. */
html:not(.rz_dark) .rzp-my-day-hafez-card > a {
    color:#fff!important;
    background:#70520f!important;
    border-color:#70520f!important;
}
html.rz_dark .rzp-my-day-hafez-card > a {
    color:#101923!important;
    background:#f2c96f!important;
    border-color:#f2c96f!important;
}
html:not(.rz_dark) .rzp-my-day-hafez-card > a:hover,
html:not(.rz_dark) .rzp-my-day-hafez-card > a:focus-visible,
html.rz_dark .rzp-my-day-hafez-card > a:hover,
html.rz_dark .rzp-my-day-hafez-card > a:focus-visible {
    outline:2px solid color-mix(in srgb,currentColor 24%,transparent);
    outline-offset:2px;
}



/* v1.0.2: calendar horoscope promo buttons — explicit theme contrast. */
html:not(.rz_dark) .rds-calendar-horoscope-promo__actions a,
html:not(.rz_dark) .rds-calendar-horoscope-promo__actions a:visited {
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
    background:#5f438f!important;
    border:1px solid #5f438f!important;
    box-shadow:none!important;
    text-shadow:none!important;
}
html:not(.rz_dark) .rds-calendar-horoscope-promo__actions a:hover,
html:not(.rz_dark) .rds-calendar-horoscope-promo__actions a:focus-visible {
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
    background:#4e347d!important;
    border-color:#4e347d!important;
}
html.rz_dark .rds-calendar-horoscope-promo__actions a,
html.rz_dark .rds-calendar-horoscope-promo__actions a:visited {
    color:#101923!important;
    -webkit-text-fill-color:#101923!important;
    background:#a8c8ee!important;
    border:1px solid #a8c8ee!important;
    box-shadow:none!important;
    text-shadow:none!important;
}
html.rz_dark .rds-calendar-horoscope-promo__actions a:hover,
html.rz_dark .rds-calendar-horoscope-promo__actions a:focus-visible {
    color:#08111a!important;
    -webkit-text-fill-color:#08111a!important;
    background:#c0d8f4!important;
    border-color:#c0d8f4!important;
}
.rds-calendar-horoscope-promo__actions a:focus-visible {
    outline:3px solid color-mix(in srgb,currentColor 28%,transparent)!important;
    outline-offset:2px;
}

/* Respect reduced-motion preferences without changing the chosen color mode. */
@media (prefers-reduced-motion:reduce) {
    :is(.rds-calendar-page,.rds-tools-suite,.rds-tool,.rds-horoscope,.rzp-hafez,.rzp-my-day) * {
        transition:none!important;
    }
}
