/* ==========================================================================
   Rovix Mag — main stylesheet
   Colors come from Elementor › Site Settings › Global Colors.
   (--e-global-color-* are defined by Elementor on <body>.)
   ========================================================================== */

body {
	--rx-primary: var(--e-global-color-primary, #E23D5B);
	--rx-ink: var(--e-global-color-secondary, #16171B);
	--rx-text: var(--e-global-color-text, #2A2B31);
	--rx-link: var(--e-global-color-accent, #A61E39);
	--rx-bg: var(--e-global-color-rxbg, #F4F3EF);
	--rx-surface: var(--e-global-color-rxsurf, #FFFFFF);
	--rx-muted: var(--e-global-color-rxmuted, #5E6068);
	--rx-border: var(--e-global-color-rxborder, #E4E2DC);
	--rx-tint: var(--e-global-color-rxtint, #FDE8EC);
	--rx-warm: var(--e-global-color-rxwarm, #F2A541);
	--rx-on-dark: #E8E8EC;
	--rx-on-dark-muted: #B9BAC2;
	--rx-dark-2: color-mix(in srgb, var(--rx-ink) 88%, #fff);
	--rx-font: var(--e-global-typography-text-font-family, 'Vazirmatn'), 'Vazirmatn', Tahoma, sans-serif;
	--rx-font-head: var(--e-global-typography-primary-font-family, 'Vazirmatn'), 'Vazirmatn', Tahoma, sans-serif;
	--rx-container: 1280px;
	--rx-r-lg: 28px;
	--rx-r: 20px;
	--rx-r-sm: 14px;

	margin: 0;
	background: var(--rx-bg);
	color: var(--rx-ink);
	font-family: var(--rx-font);
	font-size: 15px;
	line-height: 1.8;
	direction: rtl;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* Dark mode (toggle in header) */
html.rvx-dark body {
	--rx-bg: #0F1014;
	--rx-surface: #191B21;
	--rx-ink: #F1F1F4;
	--rx-text: #D9D9DE;
	--rx-muted: #A3A5AE;
	--rx-border: #2A2C34;
	--rx-tint: color-mix(in srgb, var(--rx-primary) 22%, #191B21);
	--rx-link: color-mix(in srgb, var(--rx-primary) 70%, #fff);
	--rx-dark-2: #23252D;
}
html.rvx-dark .rvx-btn--dark,
html.rvx-dark .rvx-horo,
html.rvx-dark .rvx-videoband,
html.rvx-dark .rvx-story-sec--dark,
html.rvx-dark .rvx-pagehead--dark,
html.rvx-dark .rvx-topbar,
html.rvx-dark .rvx-socialbox { background: #000 !important; }
html.rvx-dark .rvx-btn--dark { color: #fff; }
html.rvx-dark body { background: var(--rx-bg) !important; color: var(--rx-ink); }
html.rvx-dark .rvx-dark-off { display: none; }
.rvx-dark-on { display: none; }
html.rvx-dark .rvx-dark-on { display: inline; }

.rvx-site *, .rvx-site *::before, .rvx-site *::after { box-sizing: border-box; }
.rvx-site img { max-width: 100%; height: auto; }
.rvx-site a { color: inherit; text-decoration: none; transition: color .2s; }
.rvx-site a:hover { color: var(--rx-link); }
.rvx-site h1, .rvx-site h2, .rvx-site h3, .rvx-site h4 { font-family: var(--rx-font-head); color: inherit; }
.rvx-site button, .rvx-site input, .rvx-site select, .rvx-site textarea { font-family: inherit; }
:focus-visible { outline: 2px solid var(--rx-primary); outline-offset: 2px; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rvx-skip:focus { position: fixed !important; top: 8px; right: 8px; width: auto; height: auto; clip: auto; z-index: 9999; background: var(--rx-surface); padding: 8px 14px; border-radius: 10px; }
.rvx-hp { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; border: 0 !important; overflow: hidden; clip: rect(0 0 0 0); opacity: 0; pointer-events: none; }

.rvx-wrap { width: 100%; max-width: var(--rx-container); margin-inline: auto; padding-inline: 24px; }
.rvx-sec { padding-top: 48px; }
.rvx-sec-sm { padding-top: 28px; }
.rvx-main > .rvx-sec:last-child, .rvx-main > .rvx-wrap:last-child { padding-bottom: 64px; }
.rvx-narrow { max-width: 948px; }
.rvx-muted { color: var(--rx-muted); }
.rvx-box { background: var(--rx-surface); border-radius: var(--rx-r-lg); padding: 28px; }
.rvx-empty { padding: 22px; border: 1px dashed var(--rx-border); border-radius: var(--rx-r); color: var(--rx-muted); text-align: center; font-size: 14px; background: var(--rx-surface); }

/* Elementor helpers */
.rvx-sticky-col > .elementor-widget-wrap, .rvx-sticky { align-self: flex-start; position: sticky; top: 24px; }
.rvx-location .elementor-section.elementor-section-full_width > .elementor-container { max-width: none; }

/* ---------- Buttons, chips, tags ---------- */
.rvx-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 44px; padding: 0 20px; border-radius: 12px; border: 0; font-weight: 700; font-size: 14px; line-height: 1; cursor: pointer; transition: transform .15s, filter .2s, background .2s; white-space: nowrap; }
.rvx-btn:hover { filter: brightness(1.08); }
.rvx-btn:active { transform: translateY(1px); }
.rvx-btn--primary, .rvx-site a.rvx-btn--primary { background: var(--rx-primary); color: #fff; }
.rvx-btn--dark, .rvx-site a.rvx-btn--dark { background: var(--rx-ink); color: var(--rx-surface); }
.rvx-btn--light, .rvx-site a.rvx-btn--light { background: #fff; color: #16171B; }
.rvx-btn--outline, .rvx-site a.rvx-btn--outline { background: var(--rx-surface); color: var(--rx-ink); border: 1px solid var(--rx-border); }
.rvx-btn--ghost { background: transparent; color: inherit; border: 1px solid var(--rx-border); }
.rvx-site a.rvx-btn:hover { color: inherit; }
.rvx-site a.rvx-btn--primary:hover, .rvx-site a.rvx-btn--dark:hover { color: #fff; }
.rvx-btn--sm { height: 40px; padding: 0 16px; }
.rvx-btn--lg { height: 50px; padding: 0 26px; font-size: 15px; }
.rvx-btn--block { width: 100%; }
.rvx-btns { display: flex; gap: 12px; flex-wrap: wrap; }

.rvx-icon-btn { width: 44px; height: 44px; border-radius: 12px; border: 0; background: transparent; color: var(--rx-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; flex: none; }
.rvx-icon-btn--box { border: 1px solid var(--rx-border); background: var(--rx-surface); }
.rvx-icon-btn:hover { color: var(--rx-primary); }

.rvx-tag { display: inline-flex; align-self: flex-start; align-items: center; height: 26px; padding: 0 10px; border-radius: 999px; font-size: 12px; font-weight: 700; background: var(--rx-tint); color: var(--rx-link); width: max-content; max-width: 100%; }
.rvx-tag--solid { background: var(--rx-primary); color: #fff; }
.rvx-chip { flex: none; display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border-radius: 999px; background: var(--rx-surface); border: 1px solid var(--rx-border); font-size: 13.5px; white-space: nowrap; }
.rvx-chip--soft { background: var(--rx-bg); border-color: transparent; }
.rvx-eyebrow { display: inline-block; font-size: 14px; font-weight: 800; color: var(--rx-link); }
.rvx-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; font-size: 12.5px; color: var(--rx-muted); line-height: 1.6; }
.rvx-more { display: inline-flex; gap: 6px; align-items: center; font-size: 14px; font-weight: 700; color: var(--rx-link); white-space: nowrap; }

/* ---------- Section title ---------- */
.rvx-sec-title { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.rvx-sec-title__h { margin: 0; font-size: 26px; font-weight: 900; line-height: 1.5; display: flex; align-items: center; gap: 12px; }
.rvx-sec-title__h::before { content: ""; width: 10px; height: 10px; border-radius: 3px; background: var(--rx-primary); transform: rotate(45deg); flex: none; }
.rvx-sec-title.no-marker .rvx-sec-title__h::before { display: none; }
.rvx-sec-title__sub { margin: 6px 0 0; color: var(--rx-muted); font-size: 15px; }
.rvx-sec-title--center { justify-content: center; text-align: center; }
.rvx-sec-title--center .rvx-sec-title__h { justify-content: center; font-size: 32px; }
.rvx-sec-title--center .rvx-sec-title__h::before { display: none; }

/* ---------- Media / placeholders ---------- */
.rvx-media { display: block; position: relative; overflow: hidden; background: var(--rx-border); }
.rvx-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.rvx-card:hover .rvx-media img { transform: scale(1.04); }
.rvx-ph { background-image: radial-gradient(circle at 18% 28%, rgba(255,255,255,.38) 0 16%, transparent 17%), radial-gradient(circle at 82% 78%, rgba(0,0,0,.07) 0 30%, transparent 31%), radial-gradient(circle at 60% 10%, rgba(255,255,255,.18) 0 10%, transparent 11%); }
.rvx-ph-1 { background-color: #E9B8A8; } .rvx-ph-2 { background-color: #B7CDB9; } .rvx-ph-3 { background-color: #AFC3DA; }
.rvx-ph-4 { background-color: #E4CF9C; } .rvx-ph-5 { background-color: #C9B3D6; } .rvx-ph-6 { background-color: #3A3F52; } .rvx-ph-7 { background-color: #F0C4C9; }
.rvx-shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(12,12,18,.88) 0%, rgba(12,12,18,.35) 48%, rgba(12,12,18,0) 72%); pointer-events: none; }

/* ---------- Grid ---------- */
.rvx-grid { display: grid; gap: 20px; grid-template-columns: repeat(var(--rvx-cols, var(--rvx-cols-d, 4)), minmax(0, 1fr)); }
.rvx-grid--c1 { --rvx-cols-d: 1; } .rvx-grid--c2 { --rvx-cols-d: 2; } .rvx-grid--c3 { --rvx-cols-d: 3; }
.rvx-grid--c4 { --rvx-cols-d: 4; } .rvx-grid--c5 { --rvx-cols-d: 5; } .rvx-grid--c6 { --rvx-cols-d: 6; }
.rvx-grid--num { gap: 0; }

/* ---------- Cards ---------- */
.rvx-card { position: relative; display: flex; flex-direction: column; background: var(--rx-surface); border-radius: var(--rx-r); overflow: hidden; color: var(--rx-ink); transition: transform .25s, box-shadow .25s; }
.rvx-site a.rvx-card:hover { color: var(--rx-ink); }
.rvx-card--card:hover, .rvx-card--row:hover, .rvx-card--mini:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -18px rgba(20,21,25,.28); }
.rvx-card__body { display: flex; flex-direction: column; gap: 10px; padding: 18px 18px 20px; flex: 1; }
.rvx-card__title { margin: 0; font-size: 16.5px; line-height: 1.8; font-weight: 800; transition: color .2s; }
.rvx-card:hover .rvx-card__title { color: var(--rx-link); }
.rvx-card__excerpt { margin: 0; font-size: 13.5px; line-height: 1.9; color: var(--rx-muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.rvx-card__body .rvx-meta { margin-top: auto; }
.rvx-card--card .rvx-media { height: 190px; }

.rvx-card--overlay { min-height: 260px; justify-content: flex-end; color: #fff; background: #222; }
.rvx-card--overlay > .rvx-media { position: absolute; inset: 0; height: 100%; }
.rvx-card--overlay .rvx-card__body { position: relative; flex: 0; padding: 22px; color: #fff; }
.rvx-card--overlay:hover .rvx-card__title, .rvx-site a.rvx-card--overlay:hover { color: #fff; }
.rvx-card--overlay .rvx-card__title { font-size: 18px; }
.rvx-card--overlay .rvx-card__excerpt { color: #E8E8EC; -webkit-line-clamp: 2; max-width: 560px; }
.rvx-card__author { display: flex; gap: 10px; align-items: center; font-size: 13px; color: #E8E8EC; }
.rvx-card__author img { width: 32px; height: 32px; border-radius: 50%; border: 2px solid #fff; }

.rvx-card--row { flex-direction: row; align-items: center; gap: 12px; padding: 10px; border-radius: 18px; }
.rvx-card--row > .rvx-media { width: 104px; height: 104px; border-radius: 14px; flex: none; }
.rvx-card--row .rvx-card__body { padding: 4px 0; gap: 6px; }
.rvx-card--row .rvx-card__title { font-size: 15px; line-height: 1.75; }

.rvx-card--mini { flex-direction: row; align-items: center; gap: 14px; padding: 12px; border-radius: 18px; }
.rvx-card--mini > .rvx-media { width: 84px; height: 84px; border-radius: 14px; flex: none; }
.rvx-card--mini .rvx-card__body { padding: 0; gap: 6px; }
.rvx-card--mini .rvx-card__title { font-size: 14.5px; line-height: 1.7; }

.rvx-card--num { flex-direction: row; gap: 14px; padding: 14px 0; border-radius: 0; background: transparent; border-bottom: 1px dashed var(--rx-border); }
.rvx-card--num:last-child { border-bottom: 0; }
.rvx-num { font-size: 30px; font-weight: 900; line-height: 1; min-width: 24px; color: color-mix(in srgb, var(--rx-muted) 45%, var(--rx-surface)); }
.rvx-card--num.is-first .rvx-num { color: var(--rx-primary); }
.rvx-card--num .rvx-card__title { font-size: 14.5px; font-weight: 700; line-height: 1.8; }

/* ---------- Header ---------- */
.rvx-header.is-sticky { position: sticky; top: 0; z-index: 50; }
.admin-bar .rvx-header.is-sticky { top: 32px; }
.rvx-topbar { background: var(--rx-ink); color: #D9D9DE; font-size: 12.5px; }
html.rvx-dark .rvx-topbar { color: #D9D9DE; }
.rvx-topbar__in { display: flex; align-items: center; justify-content: space-between; min-height: 40px; gap: 16px; }
.rvx-topbar__info { display: flex; gap: 14px; align-items: center; }
.rvx-sep { opacity: .4; }
.rvx-topbar__menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 22px; }
.rvx-topbar a { color: #D9D9DE; }
.rvx-topbar a:hover { color: #fff; }

.rvx-masthead { background: var(--rx-surface); border-bottom: 1px solid var(--rx-border); }
.rvx-masthead__in { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 84px; }
.rvx-masthead__search { flex: 0 1 460px; }
.rvx-masthead__actions { display: flex; align-items: center; gap: 10px; }

.rvx-logo { display: flex; align-items: center; gap: 12px; color: var(--rx-ink); }
.rvx-logo__mark { width: 46px; height: 46px; border-radius: 14px; background: var(--rx-primary); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 900; font-size: 24px; transform: rotate(-6deg); flex: none; transition: transform .3s; }
.rvx-logo:hover .rvx-logo__mark { transform: rotate(0); }
.rvx-logo__text { display: flex; flex-direction: column; line-height: 1.2; }
.rvx-logo__name { font-size: 26px; font-weight: 900; letter-spacing: -.3px; font-family: var(--rx-font-head); }
.rvx-logo__tag { font-size: 12px; color: var(--rx-muted); font-weight: 500; }
.rvx-logo--img img { height: 52px; width: auto; display: block; }

.rvx-search { display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 16px; border-radius: 14px; background: var(--rx-bg); color: var(--rx-muted); }
.rvx-search input { flex: 1; min-width: 0; border: 0; background: transparent; outline: none; font-size: 14px; color: var(--rx-ink); height: 100%; }
.rvx-search--block { background: var(--rx-surface); border: 1px solid var(--rx-border); padding-inline-end: 5px; max-width: 520px; margin: 18px auto; }
.rvx-search--block .rvx-btn { height: 38px; }

.rvx-mainnav { border-top: 1px solid color-mix(in srgb, var(--rx-border) 60%, transparent); }
.rvx-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 26px; align-items: center; min-height: 52px; flex-wrap: wrap; }
.rvx-menu > li { position: relative; }
.rvx-menu > li > a { display: block; font-size: 15px; font-weight: 600; padding: 12px 2px; white-space: nowrap; border-bottom: 2px solid transparent; }
.rvx-menu > li.current-menu-item > a, .rvx-menu > li.current-menu-ancestor > a, .rvx-menu > li.current-category-ancestor > a { color: var(--rx-primary); border-bottom-color: var(--rx-primary); }
.rvx-menu .sub-menu { list-style: none; margin: 0; padding: 8px; position: absolute; top: 100%; right: -8px; min-width: 210px; background: var(--rx-surface); border: 1px solid var(--rx-border); border-radius: 14px; box-shadow: 0 18px 40px -18px rgba(20,21,25,.3); opacity: 0; visibility: hidden; transform: translateY(6px); transition: .2s; z-index: 60; }
.rvx-menu li:hover > .sub-menu, .rvx-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.rvx-menu .sub-menu a { display: block; padding: 8px 12px; border-radius: 10px; font-size: 14px; }
.rvx-menu .sub-menu a:hover { background: var(--rx-bg); }

/* Drawer */
.rvx-drawer[hidden] { display: none; }
.rvx-drawer { position: fixed; inset: 0; z-index: 9990; }
.rvx-drawer__backdrop { position: absolute; inset: 0; background: rgba(10,10,15,.5); animation: rvxFade .2s; }
.rvx-drawer__panel { position: absolute; top: 0; bottom: 0; right: 0; width: min(360px, 88vw); background: var(--rx-surface); padding: 16px; display: flex; flex-direction: column; gap: 14px; overflow-y: auto; animation: rvxSlide .25s cubic-bezier(.2,.7,.2,1); }
.rvx-drawer__head { display: flex; align-items: center; justify-content: space-between; }
.rvx-drawer__head .rvx-logo__mark { width: 36px; height: 36px; font-size: 18px; border-radius: 11px; }
.rvx-drawer__head .rvx-logo__name { font-size: 20px; }
.rvx-drawer__menu { list-style: none; margin: 0; padding: 0; }
.rvx-drawer__menu a { display: block; padding: 12px 6px; font-weight: 700; border-bottom: 1px solid var(--rx-border); }
.rvx-drawer__menu .sub-menu { list-style: none; padding-right: 14px; margin: 0; }
.rvx-drawer__menu .sub-menu a { font-weight: 500; font-size: 14px; }
.rvx-drawer__foot { margin-top: auto; display: grid; gap: 10px; }
@keyframes rvxFade { from { opacity: 0; } }
@keyframes rvxSlide { from { transform: translateX(100%); } }
body.rvx-lock { overflow: hidden; }

/* ---------- Trending ---------- */
.rvx-trending { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.rvx-trending__label { flex: none; white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; font-weight: 800; font-size: 14px; color: var(--rx-link); }

/* ---------- Hero bento ---------- */
.rvx-hero { --rvx-hero-h: 540px; display: grid; gap: 20px; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); height: var(--rvx-hero-h); }
.rvx-hero.has-pop { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); }
.rvx-hero.is-single { grid-template-columns: 1fr; }
.rvx-hero__big > .rvx-card { height: 100%; border-radius: var(--rx-r-lg); }
.rvx-hero__big .rvx-card__body { padding: 36px; gap: 14px; }
.rvx-hero__big .rvx-card__title { font-size: 34px; line-height: 1.45; font-weight: 900; }
.rvx-hero__big .rvx-card__excerpt { font-size: 15px; }
.rvx-hero__small { display: grid; grid-template-rows: 1fr 1fr; gap: 20px; min-height: 0; }
.rvx-hero__small .rvx-card { min-height: 0; height: 100%; border-radius: 24px; }
.rvx-hero__pop { min-height: 0; overflow: hidden; }
.rvx-hero__pop .rvx-popular { height: 100%; background: var(--rx-surface); border-radius: 24px; padding: 22px 24px; overflow: hidden; }

/* Popular list */
.rvx-popular { display: flex; flex-direction: column; }
.rvx-popular__title { display: block; font-size: 17px; font-weight: 900; margin-bottom: 6px; }
.rvx-seg { display: flex; gap: 6px; background: var(--rx-bg); padding: 4px; border-radius: 12px; margin-bottom: 8px; }
.rvx-seg button { flex: 1; height: 38px; border: 0; border-radius: 9px; background: transparent; font-size: 13.5px; font-weight: 600; color: var(--rx-muted); cursor: pointer; }
.rvx-seg button.is-active { background: var(--rx-surface); color: var(--rx-ink); font-weight: 800; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.rvx-popular__list[hidden] { display: none; }

/* ---------- Stories ---------- */
.rvx-stories { --rvx-story: 84px; --rvx-ring-a: var(--rx-primary); --rvx-ring-b: var(--rx-warm); display: flex; gap: 28px; justify-content: space-between; overflow-x: auto; padding: 4px 2px 8px; scrollbar-width: none; }
.rvx-stories::-webkit-scrollbar { display: none; }
.rvx-story { flex: none; display: flex; flex-direction: column; align-items: center; gap: 10px; font-size: 13.5px; font-weight: 700; text-align: center; }
.rvx-story__ring { width: var(--rvx-story); height: var(--rvx-story); border-radius: 50%; padding: 3px; background: conic-gradient(var(--rvx-ring-a), var(--rvx-ring-b), var(--rvx-ring-a)); transition: transform .25s; }
.rvx-story:hover .rvx-story__ring { transform: scale(1.06) rotate(-4deg); }
.rvx-story__ring .rvx-media { width: 100%; height: 100%; border-radius: 50%; border: 3px solid var(--rx-bg); }

/* ---------- Recipe ---------- */
.rvx-recipe { display: flex; flex-direction: column; gap: 20px; }
.rvx-recipe__feat { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); background: var(--rx-surface); border-radius: var(--rx-r-lg); overflow: hidden; color: var(--rx-ink); }
.rvx-recipe__feat > .rvx-media { min-height: 380px; height: 100%; }
.rvx-recipe__body { padding: 34px; display: flex; flex-direction: column; gap: 16px; }
.rvx-recipe__title { margin: 0; font-size: 26px; line-height: 1.6; font-weight: 900; }
.rvx-recipe__feat:hover .rvx-recipe__title { color: var(--rx-link); }
.rvx-recipe__excerpt { margin: 0; font-size: 14.5px; line-height: 2; color: var(--rx-muted); }
.rvx-recipe__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: auto; }
.rvx-stat-mini { background: var(--rx-bg); border-radius: 14px; padding: 12px; text-align: center; display: flex; flex-direction: column; }
.rvx-stat-mini small { font-size: 12px; color: var(--rx-muted); }
.rvx-stat-mini strong { font-size: 15px; font-weight: 800; }

/* ---------- Horoscope ---------- */
.rvx-horo { background: var(--rx-ink); color: #fff; border-radius: var(--rx-r-lg); padding: 26px; display: flex; flex-direction: column; gap: 16px; }
.rvx-horo__head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.rvx-horo__title { margin: 0; font-size: 21px; font-weight: 900; color: inherit; }
.rvx-horo__date { font-size: 12.5px; color: var(--rx-on-dark-muted); }
.rvx-horo__signs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.rvx-zodiac { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 10px 0; border-radius: 12px; border: 0; background: color-mix(in srgb, #fff 9%, transparent); color: #E3E3E8; font-size: 12px; font-weight: 600; cursor: pointer; transition: background .2s; }
.rvx-zodiac span:first-child { font-size: 16px; }
.rvx-zodiac:hover { background: color-mix(in srgb, #fff 16%, transparent); }
.rvx-zodiac.is-active { background: var(--rx-primary); color: #fff; }
.rvx-horo__panel[hidden] { display: none; }
.rvx-horo__panel { display: flex; flex-direction: column; gap: 14px; }
.rvx-horo__text { margin: 0; font-size: 14px; line-height: 2; color: #D9D9DE; }

/* ---------- Promo card ---------- */
.rvx-promo { background: var(--rx-surface); border-radius: var(--rx-r-lg); padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.rvx-promo > .rvx-media { height: 150px; border-radius: 18px; order: 2; }
.rvx-promo__body { display: contents; }
.rvx-promo__body > .rvx-tag { order: 0; }
.rvx-promo__title { order: 1; margin: 0; font-size: 19px; line-height: 1.7; font-weight: 900; }
.rvx-promo__foot { order: 3; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.rvx-promo--row { flex-direction: row; align-items: center; padding: 18px; }
.rvx-promo--row > .rvx-media { order: 0; width: 104px; height: 104px; flex: none; }
.rvx-promo--row .rvx-promo__body { display: flex; flex-direction: column; gap: 8px; }
.rvx-promo--row .rvx-promo__title { font-size: 15px; }

/* ---------- Video band ---------- */
.rvx-videoband { background: var(--rx-ink); color: #fff; padding: 40px; border-radius: var(--rx-r-lg); }
.rvx-videoband.is-full { border-radius: 0; padding: 56px 0; }
.rvx-videoband .rvx-sec-title__h { color: #fff; }
.rvx-videoband .rvx-more { color: color-mix(in srgb, var(--rx-primary) 55%, #fff); }
.rvx-videoband__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 20px; }
.rvx-card--video { min-height: 420px; justify-content: flex-end; border-radius: 26px; background: #2B2F3E; color: #fff; }
.rvx-card--video > .rvx-media { position: absolute; inset: 0; height: 100%; }
.rvx-card--video .rvx-card__body { position: relative; flex: 0; padding: 28px; gap: 8px; }
.rvx-card--video .rvx-card__title { font-size: 24px; font-weight: 900; line-height: 1.6; color: #fff; }
.rvx-card--video:hover .rvx-card__title { color: #fff; }
.rvx-card__kicker { font-size: 12.5px; color: #B9BAC2; }
.rvx-card--video .rvx-card__kicker { color: #E8E8EC; }
.rvx-play { position: absolute; top: 50%; right: 50%; transform: translate(50%, -50%); width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.95); color: #16171B; display: flex; align-items: center; justify-content: center; transition: transform .25s; z-index: 2; }
.rvx-play--lg { width: 76px; height: 76px; }
.rvx-card:hover .rvx-play { transform: translate(50%, -50%) scale(1.1); }
.rvx-videoband__list { display: flex; flex-direction: column; gap: 16px; }
.rvx-card--video-row { flex-direction: row; align-items: center; gap: 16px; background: transparent; color: #fff; border-radius: 16px; }
.rvx-site a.rvx-card--video-row:hover, .rvx-card--video-row:hover .rvx-card__title { color: #fff; }
.rvx-card__thumb { position: relative; width: 170px; height: 112px; border-radius: 16px; overflow: hidden; flex: none; display: block; }
.rvx-card__thumb .rvx-media { height: 100%; }
.rvx-dur { position: absolute; bottom: 8px; left: 8px; font-size: 11.5px; background: rgba(0,0,0,.7); color: #fff; padding: 2px 8px; border-radius: 6px; z-index: 2; }
.rvx-card--video-row .rvx-card__body { padding: 0; gap: 6px; }
.rvx-card--video-row .rvx-card__title { font-size: 15.5px; color: #fff; }

/* ---------- Category column ---------- */
.rvx-catcol { display: flex; flex-direction: column; gap: 14px; }
.rvx-catcol .rvx-sec-title { margin-bottom: 4px; }
.rvx-catcol .rvx-sec-title__h { font-size: 22px; }
.rvx-catcol .rvx-card--card .rvx-media { height: 200px; }
.rvx-catcol__list { display: flex; flex-direction: column; }
.rvx-catcol__list a { font-size: 14.5px; font-weight: 700; line-height: 1.8; padding: 10px 0; border-bottom: 1px solid var(--rx-border); }
.rvx-catcol__list a:last-child { border-bottom: 0; }

/* ---------- Newsletter / CTA ---------- */
.rvx-nl, .rvx-cta { position: relative; overflow: hidden; background: var(--rx-primary); color: #fff; border-radius: 32px; padding: 44px 48px; display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; }
.rvx-nl__ring { position: absolute; left: -60px; top: -80px; width: 260px; height: 260px; border-radius: 50%; border: 40px solid rgba(255,255,255,.12); pointer-events: none; }
.rvx-nl__text, .rvx-cta__text { position: relative; display: flex; flex-direction: column; gap: 8px; max-width: 540px; }
.rvx-nl__title, .rvx-cta h2 { margin: 0; font-size: 28px; font-weight: 900; color: inherit; }
.rvx-nl__text p, .rvx-cta p { margin: 0; font-size: 15px; line-height: 1.9; opacity: .92; }
.rvx-nl__form { position: relative; display: flex; flex-wrap: wrap; gap: 10px; flex: 1 1 380px; max-width: 500px; }
.rvx-nl__form input[type=email] { flex: 1; min-width: 0; height: 54px; border: 0; border-radius: 14px; padding: 0 18px; font-size: 14.5px; background: #fff; color: #16171B; }
.rvx-nl__form .rvx-btn { height: 54px; padding: 0 26px; }
.rvx-nl .rvx-form-msg { flex-basis: 100%; color: #fff; }
.rvx-nl--compact { flex-direction: column; align-items: stretch; padding: 22px; border-radius: 24px; gap: 12px; }
.rvx-nl--compact .rvx-nl__ring { width: 160px; height: 160px; border-width: 26px; top: -60px; left: -50px; }
.rvx-nl--compact .rvx-nl__title { font-size: 17px; }
.rvx-nl--compact .rvx-nl__text p { font-size: 13.5px; }
.rvx-nl--compact .rvx-nl__form { flex: none; flex-direction: column; max-width: none; }
.rvx-nl--compact .rvx-nl__form input[type=email], .rvx-nl--compact .rvx-nl__form .rvx-btn { flex: none; height: 46px; width: 100%; }
.rvx-cta .rvx-btn { position: relative; }

.rvx-form-msg { margin: 0; font-size: 13.5px; min-height: 0; }
.rvx-form-msg.is-error { color: #B42318; }
.rvx-form-msg.is-ok { color: #067647; }
.rvx-nl .rvx-form-msg.is-error, .rvx-nl .rvx-form-msg.is-ok { color: #fff; font-weight: 700; }

/* ---------- Footer & bottom nav ---------- */
.rvx-footer { background: var(--rx-surface); border-top: 1px solid var(--rx-border); color: var(--rx-ink); }
.rvx-footer--dark { background: var(--rx-ink); color: #D9D9DE; border-top: 0; }
.rvx-footer--dark .rvx-logo, .rvx-footer--dark .rvx-footer__title { color: #fff; }
.rvx-footer--dark a { color: #D9D9DE; }
.rvx-footer--dark .rvx-social { background: color-mix(in srgb, #fff 10%, transparent); border-color: transparent; color: #fff; }
.rvx-footer__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(auto-fit, minmax(160px, 1fr)); gap: 32px; padding-top: 48px; padding-bottom: 40px; }
.rvx-footer__brand { display: flex; flex-direction: column; gap: 14px; }
.rvx-footer__brand p { margin: 0; font-size: 13.5px; line-height: 2; color: var(--rx-muted); }
.rvx-footer--dark .rvx-footer__brand p { color: #B9BAC2; }
.rvx-footer .rvx-logo__mark { width: 38px; height: 38px; font-size: 20px; border-radius: 12px; }
.rvx-footer .rvx-logo__name { font-size: 22px; }
.rvx-footer__col { display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.rvx-footer__title { font-size: 15px; font-weight: 800; margin-bottom: 4px; }
.rvx-footer__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.rvx-footer__bottom { border-top: 1px solid var(--rx-border); padding-top: 18px; padding-bottom: 22px; font-size: 12.5px; color: var(--rx-muted); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.rvx-footer--dark .rvx-footer__bottom { border-color: rgba(255,255,255,.1); color: #B9BAC2; }
.rvx-socials { display: flex; gap: 8px; flex-wrap: wrap; }
.rvx-social { width: 44px; height: 44px; border-radius: 12px; border: 1px solid var(--rx-border); background: var(--rx-surface); color: var(--rx-ink); display: inline-flex; align-items: center; justify-content: center; transition: .2s; }
.rvx-social:hover { background: var(--rx-primary); color: #fff !important; border-color: var(--rx-primary); }

.rvx-bottomnav { display: none; }

/* ---------- Single post ---------- */
.rvx-progress { position: fixed; top: 0; right: 0; left: 0; height: 4px; z-index: 9000; background: transparent; pointer-events: none; }
.admin-bar .rvx-progress { top: 32px; }
.rvx-progress span { display: block; height: 100%; width: 0; background: var(--rx-primary); transition: width .1s linear; }
.rvx-breadcrumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; color: var(--rx-muted); }
.rvx-breadcrumb li + li::before { content: "/"; margin-left: 8px; opacity: .6; }
.rvx-breadcrumb a { color: inherit; }
.rvx-post-head__main { max-width: 900px; padding-top: 20px; display: flex; flex-direction: column; gap: 16px; }
.rvx-post-head__title { margin: 0; font-size: 42px; line-height: 1.5; font-weight: 900; }
.rvx-post-head__lead { margin: 0; font-size: 18px; line-height: 2; color: var(--rx-muted); }
.rvx-post-head__bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 20px 0; margin-top: 18px; border-top: 1px solid var(--rx-border); border-bottom: 1px solid var(--rx-border); }
.rvx-byline { display: flex; align-items: center; gap: 12px; }
.rvx-byline img { width: 48px; height: 48px; border-radius: 50%; }
.rvx-byline > div { display: flex; flex-direction: column; gap: 2px; }
.rvx-byline__name { font-weight: 800; font-size: 15px; }
.rvx-byline__meta { font-size: 12.5px; color: var(--rx-muted); }
.rvx-share { display: flex; gap: 8px; align-items: center; }
.rvx-share__label { font-size: 13px; color: var(--rx-muted); margin-left: 4px; }

.rvx-feature { margin: 0; }
.rvx-feature .rvx-media { height: 560px; border-radius: var(--rx-r-lg); }
.rvx-feature figcaption { font-size: 13px; color: var(--rx-muted); padding-top: 10px; }

.rvx-layout-side { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 40px; align-items: start; }
.rvx-layout-side__main, .rvx-layout-side__aside { display: flex; flex-direction: column; gap: 20px; }
.rvx-layout-nav { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 32px; align-items: start; }

.rvx-article.rvx-box { padding: 44px 52px; }
.rvx-toc { background: var(--rx-bg); border-radius: 18px; padding: 18px 22px; margin-bottom: 30px; }
.rvx-toc__head { all: unset; cursor: pointer; display: flex; justify-content: space-between; width: 100%; font-weight: 800; font-size: 15px; }
.rvx-toc__head::after { content: "−"; color: var(--rx-muted); }
.rvx-toc__head[aria-expanded=false]::after { content: "+"; }
.rvx-toc__head[aria-expanded=false] + ol { display: none; }
.rvx-toc ol { margin: 10px 0 0; padding-right: 20px; font-size: 14.5px; line-height: 2.1; }
.rvx-toc li.lvl-3 { margin-right: 16px; list-style: circle; }

/* Prose */
.rvx-prose { color: var(--rx-text); font-size: 17px; line-height: 2.15; overflow-wrap: anywhere; }
.rvx-prose > *:first-child { margin-top: 0; }
.rvx-prose p { margin: 0 0 22px; }
.rvx-prose h2 { margin: 40px 0 16px; font-size: 26px; font-weight: 900; line-height: 1.6; color: var(--rx-ink); scroll-margin-top: 90px; }
.rvx-prose h3 { margin: 30px 0 12px; font-size: 20px; font-weight: 800; line-height: 1.6; color: var(--rx-ink); scroll-margin-top: 90px; }
.rvx-prose h4 { margin: 24px 0 10px; font-size: 17px; font-weight: 800; color: var(--rx-ink); }
.rvx-prose a { color: var(--rx-link); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.rvx-prose ul, .rvx-prose ol { margin: 0 0 22px; padding-right: 22px; }
.rvx-prose li { margin-bottom: 6px; }
.rvx-prose li::marker { color: var(--rx-primary); font-weight: 800; }
.rvx-prose blockquote { margin: 30px 0; padding: 22px 26px; border-radius: 18px; background: var(--rx-tint); font-size: 19px; line-height: 2; font-weight: 700; color: var(--rx-link); border: 0; }
.rvx-prose blockquote p:last-child { margin: 0; }
.rvx-prose blockquote cite { display: block; font-size: 13px; font-weight: 500; font-style: normal; margin-top: 8px; opacity: .8; }
.rvx-prose img { border-radius: 20px; }
.rvx-prose figure { margin: 30px 0; }
.rvx-prose figcaption, .rvx-prose .wp-caption-text { font-size: 13px; color: var(--rx-muted); text-align: center; padding-top: 10px; }
.rvx-prose table { width: 100%; border-collapse: collapse; font-size: 14.5px; margin: 0 0 22px; display: block; overflow-x: auto; }
.rvx-prose .wp-block-table table { display: table; }
.rvx-prose .wp-block-table { overflow-x: auto; }
.rvx-prose th { background: var(--rx-bg); text-align: right; padding: 12px 16px; font-weight: 800; }
.rvx-prose td { padding: 12px 16px; border-bottom: 1px solid var(--rx-border); }
.rvx-prose code { background: var(--rx-bg); padding: 2px 6px; border-radius: 6px; font-size: .9em; }
.rvx-prose pre { background: var(--rx-ink); color: #eee; padding: 18px; border-radius: 14px; overflow-x: auto; direction: ltr; text-align: left; }
.rvx-prose hr { border: 0; border-top: 1px solid var(--rx-border); margin: 36px 0; }
.rvx-prose .wp-block-embed iframe, .rvx-prose iframe { max-width: 100%; border-radius: 18px; }
.rvx-prose .has-background { border-radius: 18px; padding: 20px 22px; }
.rvx-page-links { margin-top: 20px; font-weight: 700; }
.rvx-page-links a { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border-radius: 10px; background: var(--rx-bg); margin: 0 3px; }

.rvx-post-tags { display: flex; gap: 8px; flex-wrap: wrap; }
.rvx-author { display: flex; gap: 18px; align-items: center; padding: 22px; border-radius: 20px; background: var(--rx-surface); }
.rvx-author img { width: 76px; height: 76px; border-radius: 50%; flex: none; }
.rvx-author__body { display: flex; flex-direction: column; gap: 6px; }
.rvx-author__name { font-size: 16px; }
.rvx-author p { margin: 0; font-size: 14px; line-height: 1.9; color: var(--rx-muted); }

/* Comments */
.rvx-comments.rvx-box, .rvx-comments-placeholder { padding: 36px 44px; }
.rvx-comments__title { margin: 0 0 4px; font-size: 22px; font-weight: 900; }
.rvx-comments .comment-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.rvx-comments .comment-form > p { margin: 0; }
.rvx-comments .comment-notes, .rvx-comments .logged-in-as, .rvx-comments .rvx-field--full, .rvx-comments .comment-form-cookies-consent, .rvx-comments .form-submit, .rvx-comments .comment-form-url { grid-column: 1 / -1; }
.rvx-comments .comment-form label, .rvx-field label { display: block; font-size: 13.5px; font-weight: 700; margin-bottom: 6px; }
.rvx-comments input[type=text], .rvx-comments input[type=email], .rvx-comments input[type=url], .rvx-comments textarea,
.rvx-field input, .rvx-field select, .rvx-field textarea { width: 100%; border: 1px solid var(--rx-border); background: var(--rx-bg); border-radius: 12px; padding: 12px 14px; font-size: 14.5px; color: var(--rx-ink); outline: none; transition: border-color .2s, box-shadow .2s; }
.rvx-comments input:focus, .rvx-comments textarea:focus, .rvx-field input:focus, .rvx-field select:focus, .rvx-field textarea:focus { border-color: var(--rx-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--rx-primary) 18%, transparent); }
.rvx-comments .comment-form-cookies-consent { display: flex; gap: 8px; align-items: center; font-size: 13px; }
.rvx-comments .comment-form-cookies-consent label { margin: 0; font-weight: 500; }
.rvx-comments__count { margin: 32px 0 0; font-size: 17px; padding-top: 24px; border-top: 1px solid var(--rx-border); }
.rvx-comment-list, .rvx-comment-list .children { list-style: none; margin: 0; padding: 0; }
.rvx-comment-list .children { padding-right: 40px; }
.rvx-comment__body { display: flex; gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--rx-border); }
.rvx-comment__avatar img { width: 44px; height: 44px; border-radius: 50%; }
.rvx-comment__main { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.rvx-comment__date { font-weight: 400; font-size: 12px; color: var(--rx-muted); }
.rvx-comment__text p { margin: 0; font-size: 14.5px; line-height: 1.9; color: var(--rx-text); }
.rvx-comment .comment-reply-link { font-size: 12.5px; font-weight: 700; color: var(--rx-link); }

/* ---------- Page head / sidenav / archive ---------- */
.rvx-pagehead { position: relative; overflow: hidden; background: var(--rx-ink); color: #fff; }
.rvx-pagehead--light { background: var(--rx-surface); color: var(--rx-ink); border-bottom: 1px solid var(--rx-border); }
.rvx-pagehead--brand { background: var(--rx-primary); }
.rvx-pagehead__ring { position: absolute; left: 6%; top: -120px; width: 320px; height: 320px; border-radius: 50%; border: 48px solid var(--rx-primary); opacity: .35; pointer-events: none; }
.rvx-pagehead--light .rvx-pagehead__ring { opacity: .08; }
.rvx-pagehead--brand .rvx-pagehead__ring { border-color: #fff; opacity: .14; }
.rvx-pagehead__in { position: relative; padding-top: 56px; padding-bottom: 56px; display: flex; flex-direction: column; gap: 14px; }
.rvx-pagehead--center .rvx-pagehead__in { align-items: center; text-align: center; }
.rvx-pagehead__title { margin: 0; font-size: 42px; font-weight: 900; line-height: 1.5; color: inherit; }
.rvx-pagehead__sub { margin: 0; font-size: 16px; line-height: 2; max-width: 640px; opacity: .85; }
.rvx-pagehead .rvx-breadcrumb ol { color: inherit; opacity: .75; }
.rvx-pagehead--dark .rvx-eyebrow, .rvx-pagehead--brand .rvx-eyebrow { color: #fff; opacity: .85; }

.rvx-sidenav { background: var(--rx-surface); border-radius: 24px; padding: 12px; }
.rvx-sidenav__title { display: block; font-size: 13px; color: var(--rx-muted); padding: 10px 16px 6px; }
.rvx-sidenav__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.rvx-sidenav__list a { display: flex; justify-content: space-between; align-items: center; padding: 13px 16px; border-radius: 12px; font-size: 14.5px; font-weight: 700; }
.rvx-sidenav__list a::after { content: "←"; opacity: .5; }
.rvx-sidenav__list a:hover { background: var(--rx-bg); }
.rvx-sidenav__list .current-menu-item > a, .rvx-sidenav__list .current_page_item > a { background: var(--rx-tint); color: var(--rx-link); }

.rvx-pagination { margin-top: 36px; display: flex; justify-content: center; gap: 6px; flex-wrap: wrap; }
.rvx-pagination .page-numbers { min-width: 44px; height: 44px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; background: var(--rx-surface); font-weight: 700; }
.rvx-pagination .page-numbers.current { background: var(--rx-primary); color: #fff; }
.rvx-noresult, .rvx-404 { text-align: center; padding: 56px 28px; }
.rvx-404__code { display: block; font-size: 96px; font-weight: 900; line-height: 1; color: var(--rx-primary); }
.rvx-404 h1 { font-size: 28px; }

/* ---------- About / contact ---------- */
.rvx-ahero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.rvx-ahero__text-col { display: flex; flex-direction: column; gap: 20px; }
.rvx-ahero__title { margin: 0; font-size: 46px; line-height: 1.45; font-weight: 900; }
.rvx-ahero__title mark { background: none; color: var(--rx-primary); }
.rvx-ahero__text { margin: 0; font-size: 17px; line-height: 2.1; color: var(--rx-muted); }
.rvx-ahero__imgs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 1fr 1fr; gap: 16px; height: 420px; }
.rvx-ahero__imgs .rvx-media { border-radius: 24px; height: 100%; }
.rvx-ahero__imgs .is-big { grid-row: span 2; border-radius: 28px; }

.rvx-stat { background: var(--rx-surface); border-radius: 22px; padding: 26px; text-align: center; display: flex; flex-direction: column; gap: 4px; }
.rvx-stat strong { font-size: 34px; font-weight: 900; color: var(--rx-primary); line-height: 1.4; }
.rvx-stat span { font-size: 14px; color: var(--rx-muted); }

.rvx-story-sec { background: var(--rx-ink); color: #fff; border-radius: 32px; padding: 56px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; align-items: center; }
.rvx-story-sec--light { background: var(--rx-surface); color: var(--rx-ink); }
.rvx-story-sec.is-reverse > .rvx-media { order: 2; }
.rvx-story-sec > .rvx-media { height: 340px; border-radius: 24px; }
.rvx-story-sec__body { display: flex; flex-direction: column; gap: 16px; }
.rvx-story-sec h2 { margin: 0; font-size: 32px; line-height: 1.6; font-weight: 900; color: inherit; }
.rvx-story-sec--dark .rvx-eyebrow { color: color-mix(in srgb, var(--rx-primary) 55%, #fff); }
.rvx-story-sec__text { font-size: 16px; line-height: 2.1; opacity: .88; }
.rvx-story-sec__text p { margin: 0 0 12px; }

.rvx-icard { background: var(--rx-surface); border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.rvx-icard__icon { width: 52px; height: 52px; border-radius: 16px; background: var(--rx-tint); color: var(--rx-link); display: flex; align-items: center; justify-content: center; font-size: 22px; }
.rvx-icard__icon svg { width: 24px; height: 24px; fill: currentColor; }
.rvx-icard__icon svg.rvx-ic { fill: none; }
.rvx-icard h3 { margin: 0; font-size: 19px; font-weight: 900; }
.rvx-icard p { margin: 0; font-size: 14.5px; line-height: 2; color: var(--rx-muted); }

.rvx-member { background: var(--rx-surface); border-radius: 24px; padding: 14px 14px 20px; display: flex; flex-direction: column; gap: 10px; text-align: center; color: var(--rx-ink); }
.rvx-member .rvx-media { height: 230px; border-radius: 18px; margin-bottom: 4px; }
.rvx-member strong { font-size: 16.5px; }
.rvx-member__role { font-size: 13.5px; color: var(--rx-link); font-weight: 700; }

.rvx-ccard { background: var(--rx-surface); border-radius: 24px; padding: 26px; display: flex; gap: 16px; align-items: flex-start; color: var(--rx-ink); }
.rvx-ccard__icon { width: 52px; height: 52px; border-radius: 16px; background: var(--rx-tint); color: var(--rx-link); display: flex; align-items: center; justify-content: center; flex: none; }
.rvx-ccard__body { display: flex; flex-direction: column; gap: 4px; }
.rvx-ccard strong { font-size: 16px; }
.rvx-ccard__val { font-size: 14.5px; color: var(--rx-muted); overflow-wrap: anywhere; }

.rvx-cform { background: var(--rx-surface); border-radius: var(--rx-r-lg); padding: 36px; }
.rvx-cform h2 { margin: 0 0 18px; font-size: 24px; font-weight: 900; }
.rvx-form { display: flex; flex-direction: column; gap: 16px; }
.rvx-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.rvx-field { margin: 0; }
.rvx-form .rvx-btn { align-self: flex-start; }
.rvx-form .rvx-btn[disabled] { opacity: .6; cursor: progress; }

.rvx-socialbox { background: var(--rx-ink); color: #fff; border-radius: 24px; padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.rvx-socialbox strong { font-size: 17px; }
.rvx-socialbox .rvx-social { background: color-mix(in srgb, #fff 10%, transparent); border-color: transparent; color: #fff; }
.rvx-socialbox__note { font-size: 13.5px; color: #B9BAC2; line-height: 1.9; }

.rvx-faq { display: flex; flex-direction: column; gap: 12px; }
.rvx-faq details { background: var(--rx-surface); border-radius: 18px; padding: 18px 22px; }
.rvx-faq summary { font-weight: 800; font-size: 15.5px; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.rvx-faq summary::-webkit-details-marker { display: none; }
.rvx-faq summary::after { content: "+"; font-size: 20px; line-height: 1; color: var(--rx-primary); transition: transform .2s; }
.rvx-faq details[open] summary::after { transform: rotate(45deg); }
.rvx-faq__a { padding-top: 12px; font-size: 14.5px; line-height: 2; color: var(--rx-muted); }
.rvx-faq__a p { margin: 0; }

.rvx-widget__title { display: block; font-weight: 900; margin-bottom: 10px; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1100px) {
	.rvx-hero, .rvx-hero.has-pop { height: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rvx-hero__big { grid-column: 1 / -1; }
	.rvx-hero__big > .rvx-card { min-height: 460px; }
	.rvx-hero__small { grid-template-rows: none; }
	.rvx-hero__small .rvx-card { min-height: 240px; }
	.rvx-layout-side { grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; }
}

@media (max-width: 1024px) {
	.rvx-grid { --rvx-cols-d: 2 !important; }
	.rvx-menu { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	.rvx-menu::-webkit-scrollbar { display: none; }
	.rvx-menu .sub-menu { display: none; }
	.rvx-recipe__feat { grid-template-columns: 1fr; }
	.rvx-recipe__feat > .rvx-media { min-height: 240px; }
	.rvx-videoband__grid { grid-template-columns: 1fr; }
	.rvx-layout-side, .rvx-layout-nav { grid-template-columns: minmax(0, 1fr); }
	.rvx-sticky, .rvx-sticky-col > .elementor-widget-wrap { position: static; }
	.rvx-ahero { grid-template-columns: 1fr; gap: 32px; }
	.rvx-story-sec { grid-template-columns: 1fr; padding: 36px; }
	.rvx-story-sec.is-reverse > .rvx-media { order: 0; }
	.rvx-feature .rvx-media { height: 420px; }
}

.rvx-only-mobile { display: none; }

@media (max-width: 767px) {
	body { font-size: 14.5px; }
	.rvx-wrap { padding-inline: 16px; }
	.rvx-grid { --rvx-cols-d: 1 !important; gap: 12px; }
	.rvx-hide-mobile { display: none !important; }
	.rvx-only-mobile { display: inline-flex; }
	.rvx-topbar { display: none; }

	.rvx-masthead__in { height: 64px; gap: 8px; padding-inline: 8px; }
	.rvx-masthead .rvx-logo { margin-inline: auto; }
	.rvx-masthead .rvx-logo__mark { width: 34px; height: 34px; font-size: 18px; border-radius: 11px; }
	.rvx-masthead .rvx-logo__name { font-size: 20px; }
	.rvx-masthead .rvx-logo__tag { display: none; }
	.rvx-logo--img img { height: 40px; }
	.rvx-mainnav { border-top: 0; padding-block: 10px 6px; background: var(--rx-bg); }
	.rvx-masthead { border-bottom: 0; }
	.rvx-menu { gap: 8px; min-height: 0; }
	.rvx-menu > li > a { height: 38px; padding: 0 16px; display: inline-flex; align-items: center; border-radius: 999px; background: var(--rx-surface); border: 1px solid var(--rx-border); font-size: 13.5px; }
	.rvx-menu > li.current-menu-item > a { background: var(--rx-ink); color: var(--rx-surface); border-color: var(--rx-ink); }

	.rvx-trending { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	.rvx-trending::-webkit-scrollbar { display: none; }

	.rvx-hero, .rvx-hero.has-pop { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.rvx-hero__big > .rvx-card { min-height: 430px; border-radius: 26px; }
	.rvx-hero__big .rvx-card__body { padding: 22px; gap: 10px; }
	.rvx-hero__big .rvx-card__title { font-size: 23px; line-height: 1.6; }
	.rvx-hero__big .rvx-card__excerpt { display: none; }
	.rvx-hero__small { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.rvx-hero__small .rvx-card { min-height: 220px; }
	.rvx-hero__small .rvx-card__body { padding: 14px; }
	.rvx-hero__small .rvx-card__title { font-size: 14.5px; }

	.rvx-stories { --rvx-story: 68px; gap: 16px; justify-content: flex-start; }
	.rvx-story { font-size: 12px; gap: 8px; }

	.rvx-sec-title__h { font-size: 20px; }
	.rvx-sec-title--center .rvx-sec-title__h { font-size: 24px; }
	.rvx-sec-title__h::before { width: 8px; height: 8px; }
	.rvx-more { font-size: 13px; }

	.rvx-grid--card .rvx-card--card { flex-direction: row; align-items: center; gap: 12px; padding: 10px; border-radius: 18px; }
	.rvx-grid--card .rvx-card--card > .rvx-media { width: 96px; height: 96px; border-radius: 14px; flex: none; }
	.rvx-grid--card .rvx-card--card .rvx-card__body { padding: 0; gap: 6px; }
	.rvx-grid--card .rvx-card--card .rvx-card__title { font-size: 14.5px; line-height: 1.75; }
	.rvx-grid--card .rvx-card__excerpt { display: none; }

	.rvx-recipe__body { padding: 18px; gap: 12px; }
	.rvx-recipe__title { font-size: 19px; }
	.rvx-recipe__excerpt { display: none; }
	.rvx-horo { padding: 20px 18px; border-radius: 24px; }
	.rvx-horo__signs { display: flex; overflow-x: auto; scrollbar-width: none; }
	.rvx-horo__signs::-webkit-scrollbar { display: none; }
	.rvx-zodiac { flex: none; width: 64px; }

	.rvx-videoband { padding: 24px 16px; border-radius: 24px; }
	.rvx-videoband.is-full { padding: 32px 0; }
	.rvx-card--video { min-height: 240px; border-radius: 18px; }
	.rvx-card--video .rvx-card__body { padding: 18px; }
	.rvx-card--video .rvx-card__title { font-size: 17px; }
	.rvx-play--lg { width: 52px; height: 52px; }
	.rvx-card__thumb { width: 130px; height: 88px; }
	.rvx-card--video-row .rvx-card__title { font-size: 14px; }

	.rvx-nl, .rvx-cta { padding: 24px; border-radius: 26px; flex-direction: column; align-items: stretch; }
	.rvx-nl__title, .rvx-cta h2 { font-size: 20px; }
	.rvx-nl__form { flex-direction: column; flex: none; }
	.rvx-nl__form input[type=email], .rvx-nl__form .rvx-btn { flex: none; width: 100%; height: 50px; }

	.rvx-footer__grid { grid-template-columns: 1fr; text-align: center; padding-top: 32px; gap: 22px; }
	.rvx-footer__brand { align-items: center; }
	.rvx-footer__col { align-items: center; }
	.rvx-footer__menu { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 8px 18px; }
	.rvx-footer__bottom { justify-content: center; text-align: center; padding-bottom: 96px; }

	.rvx-bottomnav { display: flex; position: fixed; bottom: 0; right: 0; left: 0; z-index: 80; background: color-mix(in srgb, var(--rx-surface) 92%, transparent); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-top: 1px solid var(--rx-border); padding: 4px 8px calc(8px + env(safe-area-inset-bottom)); }
	.rvx-bottomnav__item { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px; font-size: 11px; font-weight: 600; color: var(--rx-muted); padding-top: 8px; min-height: 52px; }
	.rvx-bottomnav__item.is-active { color: var(--rx-primary); }
	body.rvx-site { padding-bottom: 0; }

	.rvx-post-head__title { font-size: 26px; }
	.rvx-post-head__lead { font-size: 15.5px; }
	.rvx-share__label { display: none; }
	.rvx-feature .rvx-media { height: 240px; border-radius: 20px; }
	.rvx-article.rvx-box { padding: 24px 18px; border-radius: 22px; }
	.rvx-prose { font-size: 16px; }
	.rvx-prose h2 { font-size: 21px; }
	.rvx-prose blockquote { font-size: 16.5px; padding: 18px; }
	.rvx-author { flex-direction: column; text-align: center; }
	.rvx-comments.rvx-box, .rvx-comments-placeholder { padding: 24px 18px; }
	.rvx-comments .comment-form { grid-template-columns: 1fr; }
	.rvx-comment-list .children { padding-right: 16px; }

	.rvx-pagehead__in { padding-top: 36px; padding-bottom: 36px; }
	.rvx-pagehead__title { font-size: 28px; }
	.rvx-ahero__title { font-size: 30px; }
	.rvx-ahero__imgs { height: 300px; }
	.rvx-story-sec { padding: 22px; border-radius: 24px; }
	.rvx-story-sec > .rvx-media { height: 220px; }
	.rvx-story-sec h2 { font-size: 23px; }
	.rvx-cform { padding: 22px 18px; }
	.rvx-form__row { grid-template-columns: 1fr; }
	.rvx-form .rvx-btn { align-self: stretch; }
	.rvx-404__code { font-size: 72px; }
}

@media (prefers-reduced-motion: reduce) {
	.rvx-site *, .rvx-site *::before, .rvx-site *::after { transition: none !important; animation: none !important; }
}
