/* ==========================================================================
   RightChoice.ai — brand layer for the Katerio blog theme
   --------------------------------------------------------------------------
   Loaded after the parent theme stylesheet *and* after the parent's dynamic
   CSS, so the custom properties below win without !important noise.

   1.  Design tokens
   2.  Base typography & surfaces
   3.  Buttons
   4.  Header (desktop / sticky)
   5.  Navigation + dropdowns
   6.  Mobile header
   7.  Mobile menu drawer
   8.  Hero bands & page titles
   9.  Post cards & modules
   10. Single post / article content
   11. Sidebar, widgets, breadcrumbs
   12. Forms, search & pagination
   13. Footer
   14. Utilities & responsive
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Design tokens
   -------------------------------------------------------------------------- */
:root,
body.rc-brand,
.site {
	/* Brand palette, sampled from https://rightchoice.ai/ */
	--rc-purple: #5724e1;
	--rc-purple-dark: #4a1ec3;
	--rc-purple-darker: #3d189b;
	--rc-purple-tint: #f5f3ff;
	--rc-ink: #11111c;
	--rc-body: #4b5563;
	--rc-muted: #6b7280;
	--rc-muted-light: #909296;
	--rc-line: #e5e7eb;
	--rc-line-soft: #f1f3f5;
	--rc-bg: #ffffff;
	--rc-bg-soft: #f9fafb;
	--rc-green: #22c55e;
	--rc-footer-bg: #11111c;
	--rc-footer-line: rgba(255, 255, 255, 0.1);
	--rc-footer-text: #b3b6c2;

	--rc-radius-btn: 6px;
	--rc-radius-card: 12px;
	--rc-radius-hero: 32px;
	--rc-site-width: 1360px;

	--rc-shadow-sm: 0 1px 2px rgba(17, 17, 28, 0.05);
	--rc-shadow-md: 0 10px 30px -18px rgba(17, 17, 28, 0.35);
	--rc-shadow-cta: 0 8px 20px -10px rgba(87, 36, 225, 0.65);

	/* Remap the parent theme variables onto the brand palette */
	--color-accent: var(--rc-purple);
	--color-accent-text: #ffffff;

	--light-bg-color: #ffffff;
	--light-sec-bg-color: var(--rc-bg-soft);
	--light-text-color-color: var(--rc-body);
	--light-text-color-lighter-color: var(--rc-muted);
	--light-text-color-heavier-color: var(--rc-ink);
	--light-text-link-color-color: var(--rc-ink);
	--light-line-color-color: var(--rc-ink);
	--light-line-color-rgba: rgba(17, 17, 28, 0.1);

	--dark-bg-color: var(--rc-footer-bg);
	--dark-sec-bg-color: #1b1b28;
	--dark-line-color-rgba: rgba(255, 255, 255, 0.14);

	--button_radius: 6;
	--form_radius: 8;
	--image_radius-top: 12px;
	--image_radius-right: 12px;
	--image_radius-bottom: 12px;
	--image_radius-left: 12px;

	--font_heading-font-weight: 600;
}

/* --------------------------------------------------------------------------
   2. Base typography & surfaces
   -------------------------------------------------------------------------- */
body.rc-brand,
body.rc-brand .site {
	font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	color: var(--rc-body);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.rc-brand h1,
body.rc-brand h2,
body.rc-brand h3,
body.rc-brand h4,
body.rc-brand h5,
body.rc-brand h6,
body.rc-brand .entry-title,
body.rc-brand .heading-main {
	font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	font-weight: 600;
	color: var(--rc-ink);
	letter-spacing: -0.01em;
}

/* Title-case the headings the theme renders itself. Deliberately NOT applied to
   post titles or article headings: `text-transform: capitalize` would rewrite the
   brand token ("Rightchoice.ai" -> "Rightchoice.Ai"), and those headings are
   already authored in title case by the content team. */
body.rc-brand .heading-main,
body.rc-brand .heading-main .heading-text,
body.rc-brand .rc-blog-hero__title,
body.rc-brand .rc-blogs-heading,
body.rc-brand .rc-integrations__title,
body.rc-brand .rc-infeed__title,
body.rc-brand .page-title .entry-title {
	text-transform: capitalize;
}

/* exact copy requested for the CTA - keeps "RightChoice.ai" intact */
body.rc-brand .rc-cta__title {
	text-transform: none;
}

body.rc-brand ::selection {
	background: var(--rc-purple);
	color: #fff;
}

body.rc-brand a:focus-visible,
body.rc-brand button:focus-visible,
body.rc-brand input:focus-visible,
body.rc-brand .button:focus-visible {
	outline: 2px solid var(--rc-purple);
	outline-offset: 2px;
}

body.rc-brand .site-content {
	background: var(--rc-bg);
}

/* --------------------------------------------------------------------------
   3. Buttons
   -------------------------------------------------------------------------- */
body.rc-brand .button,
body.rc-brand button,
body.rc-brand input[type='button'],
body.rc-brand input[type='reset'],
body.rc-brand input[type='submit'],
body.rc-brand .wp-block-search .wp-block-search__button {
	border-radius: var(--rc-radius-btn);
	font-weight: 600;
	letter-spacing: 0.01em;
	text-transform: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease,
		box-shadow 0.2s ease, transform 0.2s ease;
}

body.rc-brand .button.btn-color,
body.rc-brand a.button.btn-color {
	background-color: var(--rc-purple);
	border-color: var(--rc-purple);
	color: #fff;
}

body.rc-brand .button.btn-color:hover,
body.rc-brand a.button.btn-color:hover {
	background-color: var(--rc-purple-dark);
	border-color: var(--rc-purple-dark);
	color: #fff;
}

/* Category chips */
body.rc-brand .site .button.post-cat,
body.rc-brand .post-cat {
	border-radius: var(--rc-radius-btn);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 0.35em 0.9em;
	line-height: 1.5;
}

body.rc-brand .post-cat.btn-color {
	background-color: var(--rc-purple-tint);
	border-color: var(--rc-purple-tint);
	color: var(--rc-purple);
}

body.rc-brand .post-cat.btn-color:hover {
	background-color: var(--rc-purple);
	border-color: var(--rc-purple);
	color: #fff;
}

/* Brand call-to-action button */
body.rc-brand .rc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 44px;
	padding: 0 30px;
	border: 1px solid transparent;
	border-radius: var(--rc-radius-btn);
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease,
		box-shadow 0.2s ease, transform 0.2s ease;
}

body.rc-brand .rc-btn--primary {
	background-color: var(--rc-purple);
	border-color: var(--rc-purple);
	color: #fff;
	box-shadow: var(--rc-shadow-cta);
}

body.rc-brand .rc-btn--primary:hover {
	background-color: var(--rc-purple-dark);
	border-color: var(--rc-purple-dark);
	color: #fff;
	text-decoration: none;
}

body.rc-brand .rc-btn--ghost {
	background-color: #fff;
	border-color: var(--rc-line);
	color: var(--rc-ink);
}

body.rc-brand .rc-btn--ghost:hover {
	border-color: var(--rc-purple);
	color: var(--rc-purple);
	text-decoration: none;
}

/* --------------------------------------------------------------------------
   4. Header
   -------------------------------------------------------------------------- */
body.rc-brand .site-header {
	position: relative;
	z-index: 100;
}

body.rc-brand .rc-container {
	width: 100%;
	max-width: calc(var(--site_width, 1360) * 1px);
	margin: 0 auto;
	padding: 0 30px;
}

body.rc-brand .rc-header {
	background: #fff;
}

body.rc-brand .rc-header--main {
	border-bottom: 1px solid var(--rc-line);
}

body.rc-brand .rc-header--sticky {
	border-bottom: 1px solid var(--rc-line);
	box-shadow: 0 6px 24px -18px rgba(17, 17, 28, 0.5);
}

body.rc-brand .rc-header__bar {
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: 80px;
}

body.rc-brand .rc-header--sticky .rc-header__bar {
	min-height: 68px;
}

body.rc-brand .rc-brand {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	text-decoration: none;
}

body.rc-brand .rc-logo {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	object-fit: contain;
	image-rendering: -webkit-optimize-contrast; /* keep the thin wordmark crisp when downscaled */
}

body.rc-brand .rc-logo--text {
	font-size: 20px;
	font-weight: 600;
	color: var(--rc-ink);
}

body.rc-brand .rc-header__nav-wrap {
	display: flex;
	align-items: center;
	gap: 32px;
	margin-left: auto;
}

body.rc-brand .rc-header__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 0 0 auto;
}

/* Icon-only buttons (search / menu). The parent stylesheet resets the size of
   `.button.btn-content_icon.btn-text`, hence the long, more specific selectors. */
body.rc-brand .site .rc-header .button.btn-content_icon.rc-icon-btn {
	width: 40px;
	height: 40px;
	min-width: 40px;
	border: 0;
	border-radius: 50%;
	padding: 0;
	background-color: transparent;
	color: var(--rc-ink);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.2s ease, color 0.2s ease;
}

body.rc-brand .site .rc-header .button.btn-content_icon.rc-icon-btn:hover {
	background-color: var(--rc-purple-tint);
	color: var(--rc-purple);
}

body.rc-brand .rc-icon-btn .icon-svg,
body.rc-brand .rc-icon-btn .icon-svg svg {
	width: 19px;
	height: 19px;
	fill: currentColor;
}

/* --------------------------------------------------------------------------
   5. Navigation + dropdowns
   -------------------------------------------------------------------------- */
body.rc-brand .rc-nav ul.nav-main {
	display: flex;
	align-items: center;
	gap: 32px;
	margin: 0;
	padding: 0;
	list-style: none;
	height: auto;
}

body.rc-brand .rc-nav ul.nav-main > li {
	position: relative;
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
}

body.rc-brand .rc-nav ul.nav-main > li > a {
	display: inline-flex;
	align-items: center;
	height: auto;
	padding: 8px 0;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--rc-ink);
	text-decoration: none;
	transition: color 0.2s ease;
}

body.rc-brand .rc-nav ul.nav-main > li > a:hover,
body.rc-brand .rc-nav ul.nav-main > li:hover > a,
body.rc-brand .rc-nav ul.nav-main > li.current-menu-item:not(.menu-item-has-children) > a,
body.rc-brand .rc-nav ul.nav-main > li.current_page_item:not(.menu-item-has-children) > a {
	color: var(--rc-purple);
}

/* Kill the parent theme's hover bars/underlines – the reference header uses
   plain colour changes only. */
body.rc-brand .rc-nav ul.nav-main > li > a::before {
	display: none;
}

/* Caret on items with children */
body.rc-brand .rc-nav ul.nav-main > li.menu-item-has-children > a::after {
	content: '';
	float: none;
	position: static;
	text-indent: 0;
	display: inline-block;
	width: 11px;
	height: 11px;
	margin-left: 6px;
	background-color: currentColor;
	opacity: 0.85;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: 11px 11px;
	mask-size: 11px 11px;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Dropdown panel.
   --rc-nav-drop-offset is the distance between the bottom of the nav item and
   the bottom of the header bar, so the panel opens flush under the header.
   The ::before bridge keeps the hover state alive across that gap. */
body.rc-brand .rc-header {
	--rc-nav-drop-offset: 23px;
}

body.rc-brand .rc-header--sticky {
	--rc-nav-drop-offset: 18px;
}

body.rc-brand .rc-nav ul.nav-main ul.sub-menu {
	min-width: 240px;
	width: auto;
	margin-top: var(--rc-nav-drop-offset, 23px);
	padding: 8px;
	background-color: #fff;
	border: 1px solid var(--rc-line);
	border-radius: 12px;
	box-shadow: var(--rc-shadow-md);
}

body.rc-brand .rc-nav ul.nav-main ul.sub-menu::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: calc(-1 * var(--rc-nav-drop-offset, 23px));
	height: var(--rc-nav-drop-offset, 23px);
}

body.rc-brand .rc-nav ul.nav-main > li:last-child > ul.sub-menu {
	left: auto;
	right: 0;
}

body.rc-brand .rc-nav ul.nav-main ul.sub-menu li {
	display: block;
	margin: 0;
}

body.rc-brand .rc-nav ul.nav-main ul.sub-menu li > a {
	display: block;
	padding: 9px 12px;
	border: 0;
	border-radius: 8px;
	font-family: 'Poppins', system-ui, sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--rc-ink);
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}

body.rc-brand .rc-nav ul.nav-main ul.sub-menu li > a:hover,
body.rc-brand .rc-nav ul.nav-main ul.sub-menu li.current-menu-item > a {
	background-color: var(--rc-purple-tint);
	color: var(--rc-purple);
}

body.rc-brand .rc-nav ul.nav-main ul.sub-menu li > a::before {
	display: none;
}

body.rc-brand .rc-nav ul.nav-main ul.sub-menu li.menu-item-has-children > a::after {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* --------------------------------------------------------------------------
   6. Mobile header
   -------------------------------------------------------------------------- */
body.rc-brand .rc-header--mobile {
	border-bottom: 1px solid var(--rc-line);
}

body.rc-brand .rc-header--mobile .rc-header__bar {
	min-height: 66px;
	gap: 12px;
}

body.rc-brand .rc-header__actions--mobile {
	margin-left: auto;
	gap: 6px;
}

body.rc-brand .site .rc-header .button.btn-content_icon.rc-icon-btn--menu {
	width: 42px;
	height: 42px;
	min-width: 42px;
	border: 1px solid var(--rc-line);
	border-radius: 10px;
}

body.rc-brand .rc-icon-btn--menu .icon-svg,
body.rc-brand .rc-icon-btn--menu .icon-svg svg {
	width: 20px;
	height: 20px;
}

/* --------------------------------------------------------------------------
   7. Mobile menu drawer
   -------------------------------------------------------------------------- */
body.rc-brand .mobilemenu {
	background: #fff;
}

body.rc-brand .mobilemenu-inner {
	padding: 68px 24px 40px;
	justify-content: flex-start;
}

body.rc-brand .mobilemenu .nav-mobile {
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.rc-brand .mobilemenu .nav-mobile > li {
	border-bottom: 1px solid var(--rc-line-soft);
	margin-bottom: 0;
}

body.rc-brand .mobilemenu .nav-mobile > li > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 0;
	font-size: 18px;
	font-weight: 600;
	color: var(--rc-ink);
	text-decoration: none;
}

body.rc-brand .mobilemenu .nav-mobile > li.current-menu-item > a,
body.rc-brand .mobilemenu .nav-mobile > li > a:hover {
	color: var(--rc-purple);
}

body.rc-brand .mobilemenu .nav-mobile ul.sub-menu {
	position: static;
	display: none;
	width: 100%;
	padding: 0 0 12px;
	margin: 0;
	list-style: none;
	box-shadow: none;
	border: 0;
	background: transparent;
	visibility: visible;
	opacity: 1;
}

body.rc-brand .mobilemenu .nav-mobile ul.sub-menu li a {
	display: block;
	padding: 9px 0 9px 16px;
	font-size: 15px;
	font-weight: 500;
	color: var(--rc-muted);
	text-decoration: none;
}

body.rc-brand .mobilemenu .nav-mobile ul.sub-menu li a:hover {
	color: var(--rc-purple);
}

body.rc-brand .rc-drawer-cta {
	margin-top: 28px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

body.rc-brand .rc-drawer-cta .rc-btn {
	width: 100%;
}

body.rc-brand .mobilemenu-close-wrap .popup-close,
body.rc-brand .offcanvas-close-wrap .popup-close {
	background-color: var(--rc-purple);
	color: #fff;
}

/* --------------------------------------------------------------------------
   8. Hero bands & page titles
   -------------------------------------------------------------------------- */

/* The original Elementor "Blog" hero band is replaced by .rc-blog-hero below. */
body.rc-brand .elementor-4767 .elementor-element.elementor-element-24b0bea {
	display: none;
}

/* The home page now opens straight with the hero + "Read the Latest Blogs" + grid,
   so the Elementor posts slider and the grid's own heading are switched off. */
body.rc-brand .elementor-4767 .elementor-element.elementor-element-d8ca23f,
body.rc-brand .elementor-4767 .elementor-element.elementor-element-a8dd06f {
	display: none;
}

body.rc-brand .th90-block.posts-grid .heading-wrap {
	display: none;
}

body.rc-brand .rc-blogs-heading {
	/* roomier gap below so the heading does not crowd the first row of cards
	   (the grid's items start 20px above their cards because of the list bleed) */
	margin: 40px 0 34px;
	font-size: clamp(24px, 2.4vw, 32px);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: var(--rc-ink);
	text-align: center;
}

/* Blog hero - layout modelled on localo.com/blog (centred title + intro,
   search field, category pills), painted with the RightChoice palette. */
body.rc-brand .rc-blog-hero {
	background: var(--rc-purple);
	background-image: radial-gradient(120% 150% at 10% 0%, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0) 58%);
	color: #fff;
	padding: 56px 0 48px;
	text-align: center;
	border-radius: 0 0 var(--rc-radius-hero) var(--rc-radius-hero);
}

body.rc-brand .rc-blog-hero__title {
	margin: 0 0 14px;
	font-size: clamp(32px, 3.6vw, 46px);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: #fff;
}

body.rc-brand .rc-blog-hero__intro {
	max-width: 780px;
	margin: 0 auto 30px;
	font-size: 17px;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.9);
}

body.rc-brand .rc-blog-hero__search {
	display: flex;
	align-items: center;
	gap: 6px;
	max-width: 640px;
	margin: 0 auto 22px;
	padding: 5px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 18px 40px -24px rgba(17, 17, 28, 0.55);
}

body.rc-brand .rc-blog-hero__search input[type='search'] {
	flex: 1 1 auto;
	min-width: 0;
	height: 46px;
	padding: 0 16px;
	border: 0;
	background: transparent;
	color: var(--rc-ink);
	font-size: 16px;
	box-shadow: none;
}

body.rc-brand .rc-blog-hero__search input[type='search']:focus {
	outline: none;
	box-shadow: none;
}

body.rc-brand .rc-blog-hero__search button {
	flex: 0 0 auto;
	height: 46px;
	padding: 0 26px;
	border: 0;
	border-radius: 8px;
	background: var(--rc-green);
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

body.rc-brand .rc-blog-hero__search button:hover {
	background: #16a34a;
}

body.rc-brand .rc-blog-hero__tags {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.rc-brand .rc-blog-hero__tags li {
	margin: 0;
}

body.rc-brand .rc-blog-hero__tags a {
	display: inline-block;
	padding: 8px 18px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

body.rc-brand .rc-blog-hero__tags a:hover {
	background: rgba(255, 255, 255, 0.24);
	color: #fff;
}

body.rc-brand .rc-blog-hero__tags a.is-active {
	background: #fff;
	border-color: #fff;
	color: var(--rc-purple);
}

/* Generic page title band (search, tag, author, 404 …) */
body.rc-brand .page-title {
	padding: 40px 0 36px;
}

body.rc-brand .page-title .entry-title {
	font-size: clamp(28px, 4vw, 44px);
	line-height: 1.15;
	letter-spacing: -0.02em;
}

/* --------------------------------------------------------------------------
   9. Post cards & modules
   -------------------------------------------------------------------------- */
body.rc-brand .th90-block .post-layout .entry-title,
body.rc-brand .post-layout .entry-title {
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.3;
}

body.rc-brand .th90-block .post-layout .entry-title a,
body.rc-brand .post-layout .entry-title a {
	color: var(--rc-ink);
	text-decoration: none;
	transition: color 0.2s ease;
}

body.rc-brand .th90-block .post-layout .entry-title a:hover,
body.rc-brand .post-layout .entry-title a:hover {
	color: var(--rc-purple);
}

body.rc-brand .entry-thumbnail,
body.rc-brand .entry-thumbnail img,
body.rc-brand .box-holder,
body.rc-brand .thumb-container {
	border-radius: var(--rc-radius-card);
}

body.rc-brand .entry-thumbnail {
	overflow: hidden;
}

body.rc-brand .entry-meta {
	font-size: 13px;
	color: var(--rc-muted);
}

body.rc-brand .entry-meta a {
	color: var(--rc-muted);
	text-decoration: none;
}

body.rc-brand .entry-meta a:hover {
	color: var(--rc-purple);
}

body.rc-brand .entry-excerpt {
	color: var(--rc-body);
	line-height: 1.7;
}

body.rc-brand .th90-block.vspace-medium .post-item,
body.rc-brand .th90-block .post-item {
	transition: transform 0.25s ease;
}

/* Listing cards.
   Without this the theme floats every thumbnail and title straight onto the page,
   so 4-up grids read as one continuous wall. A card surface, inner padding and a
   hairline under the media keep each post, its image and its text clearly apart.
   Scoped to the stacked grid/masonry modules (the slider hero and the side-by-side
   "small" lists keep their own treatment). */
/* breathing room around every card: the theme only pads the columns
   horizontally, which made rows sit border-on-border */
body.rc-brand .th90-block.posts-module.posts-grid .post-item,
body.rc-brand .th90-block.posts-module.posts-large .post-item,
body.rc-brand .th90-block.posts-module.posts-masonry .post-item {
	/* The theme bleeds .posts-list by --primary_space (20px) on every side inside a
	   .posts-container that has overflow:hidden, so the cell padding has to be at
	   least 20px on ALL sides - otherwise the first row's top border (and the last
	   row's bottom border) is clipped by the container. 20px also keeps the outer
	   cards flush with the container/heading edge. */
	padding: 20px;
	box-sizing: border-box;
}

body.rc-brand .th90-block.posts-module.posts-grid .post-item > .post-layout,
body.rc-brand .th90-block.posts-module.posts-large .post-item > .post-layout,
body.rc-brand .th90-block.posts-module.posts-masonry .post-item > .post-layout {
	position: relative;
	z-index: 1;
	background-color: #fff;
	border: 1px solid var(--rc-line);
	border-radius: 14px;
	padding: 14px 14px 16px;
	box-sizing: border-box;
	height: 100%;
	box-shadow: var(--rc-shadow-sm);
	transition: border-color 0.2s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

body.rc-brand .th90-block.posts-module.posts-grid .post-item > .post-layout:hover,
body.rc-brand .th90-block.posts-module.posts-large .post-item > .post-layout:hover,
body.rc-brand .th90-block.posts-module.posts-masonry .post-item > .post-layout:hover {
	border-color: #d9d3f7;
	box-shadow: var(--rc-shadow-md);
	transform: translateY(-2px);
}

body.rc-brand .th90-block.posts-module.posts-grid .entry-thumbnail,
body.rc-brand .th90-block.posts-module.posts-large .entry-thumbnail,
body.rc-brand .th90-block.posts-module.posts-masonry .entry-thumbnail {
	border-radius: 10px;
	overflow: hidden;
	margin-bottom: 0;
}

/* the divider the media and the copy need to read as separate blocks */
body.rc-brand .th90-block.posts-module.posts-grid .post-desc,
body.rc-brand .th90-block.posts-module.posts-large .post-desc,
body.rc-brand .th90-block.posts-module.posts-masonry .post-desc {
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid var(--rc-line);
}

body.rc-brand .th90-block.posts-module.posts-grid .entry-header .entry-title,
body.rc-brand .th90-block.posts-module.posts-large .entry-header .entry-title,
body.rc-brand .th90-block.posts-module.posts-masonry .entry-header .entry-title {
	font-size: 18px;
	line-height: 1.38;
	margin-top: 8px;
}

/* the author / date row just gets air, not a second rule */
body.rc-brand .th90-block.posts-module.posts-grid .post-desc-inner > .entry-meta,
body.rc-brand .th90-block.posts-module.posts-large .post-desc-inner > .entry-meta,
body.rc-brand .th90-block.posts-module.posts-masonry .post-desc-inner > .entry-meta {
	margin-top: 12px;
}

/* Section headings inside the blog home */
body.rc-brand .heading-main {
	font-weight: 600;
	letter-spacing: -0.01em;
}

body.rc-brand .heading-main .heading-text:after {
	background-color: var(--rc-purple);
}

/* The blog home carries a 1px Elementor divider widget between two post
   modules; it reads as a stray hairline, so it is hidden here (remove this rule
   if the divider is ever wanted again). */
body.rc-brand .elementor-4767 .elementor-element-8442d4c {
	display: none;
}

/* Single post hero - same purple band language as the blog home hero */
body.rc-brand .rc-post-hero {
	background: var(--rc-purple);
	background-image: radial-gradient(120% 150% at 10% 0%, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0) 58%);
	color: #fff;
	padding: 48px 0 44px;
	text-align: center;
	border-radius: 0 0 var(--rc-radius-hero) var(--rc-radius-hero);
}

body.rc-brand .rc-post-hero__crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0 0 16px;
	font-size: 13px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.72);
}

body.rc-brand .rc-post-hero__crumbs a {
	color: rgba(255, 255, 255, 0.86);
	text-decoration: none;
}

body.rc-brand .rc-post-hero__crumbs a:hover {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.rc-brand .rc-post-hero__title {
	max-width: 980px;
	margin: 0 auto 20px;
	font-size: clamp(26px, 3vw, 42px);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: #fff;
	text-transform: none;
}

body.rc-brand .rc-post-hero__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.85);
}

body.rc-brand .rc-post-hero__author {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #fff;
}

body.rc-brand .rc-post-hero__avatar {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.35);
}

body.rc-brand .rc-post-hero__sep {
	color: rgba(255, 255, 255, 0.5);
}

/* the theme's own article header is replaced by the hero above */
body.rc-brand.single .entry-header-article {
	display: none;
}

@media screen and (max-width: 767px) {
	body.rc-brand .rc-post-hero {
		padding: 34px 0 32px;
		border-radius: 0 0 20px 20px;
	}

	body.rc-brand .rc-post-hero__title {
		font-size: 24px;
		margin-bottom: 16px;
	}

	body.rc-brand .rc-post-hero__meta {
		font-size: 13px;
		gap: 8px;
	}
}

/* --------------------------------------------------------------------------
   10. Single post / article content
   -------------------------------------------------------------------------- */
body.rc-brand .entry-header-article h1.entry-title,
body.rc-brand .single .entry-title {
	font-size: clamp(30px, 3.4vw, 44px);
	line-height: 1.18;
	letter-spacing: -0.02em;
}

body.rc-brand .article-content {
	font-size: 17px;
	line-height: 1.8;
	color: var(--rc-body);
}

body.rc-brand .article-content p {
	margin-bottom: 1.4em;
}

body.rc-brand .article-content h2 {
	font-size: clamp(24px, 2.4vw, 30px);
	line-height: 1.28;
	margin: 2em 0 0.7em;
}

body.rc-brand .article-content h3 {
	font-size: clamp(20px, 2vw, 24px);
	line-height: 1.32;
	margin: 1.8em 0 0.6em;
}

body.rc-brand .article-content h4 {
	font-size: 19px;
	margin: 1.6em 0 0.5em;
}

body.rc-brand .article-content a {
	color: var(--rc-purple);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}

body.rc-brand .article-content a:hover {
	color: var(--rc-purple-dark);
}

body.rc-brand .article-content ul,
body.rc-brand .article-content ol {
	padding-left: 1.3em;
	margin-bottom: 1.4em;
}

body.rc-brand .article-content li {
	margin-bottom: 0.5em;
}

body.rc-brand .article-content img,
body.rc-brand .article-content iframe,
body.rc-brand .article-content video,
body.rc-brand .wp-block-image img {
	border-radius: var(--rc-radius-card);
}

body.rc-brand .article-content blockquote,
body.rc-brand .article-content .wp-block-quote {
	margin: 2em 0;
	padding: 24px 28px;
	background: var(--rc-purple-tint);
	border: 0;
	border-left: 3px solid var(--rc-purple);
	border-radius: 12px;
	font-style: normal;
	font-size: 17px;
	color: var(--rc-ink);
}

body.rc-brand .article-content blockquote p:last-child {
	margin-bottom: 0;
}

body.rc-brand .article-content table {
	border-radius: 12px;
	overflow: hidden;
}

/* Author box / share / related */
body.rc-brand .article-author,
body.rc-brand .single-shares {
	border-radius: var(--rc-radius-card);
}

body.rc-brand .entry-navigation a {
	border-radius: var(--rc-radius-card);
}

body.rc-brand .entry-navigation a:hover .entry-title {
	color: var(--rc-purple);
}

/* Sidebar (single posts): the "small" post list reused from the theme's offcanvas
   template had no separation and 21px titles crammed into a 219px column. */
body.rc-brand .site-bar .posts-module.posts-small .posts-list {
	margin: 0;
}

body.rc-brand .site-bar .posts-module.posts-small .post-item {
	padding: 0;
	margin: 0;
}

body.rc-brand .site-bar .posts-module.posts-small .post-item + .post-item {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--rc-line-soft);
}

body.rc-brand .site-bar .posts-module.posts-small .post-layout {
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
	border-radius: 0;
	height: auto;
}

body.rc-brand .site-bar .posts-module.posts-small .post-layout:hover {
	box-shadow: none;
	transform: none;
	border: 0;
}

body.rc-brand .site-bar .posts-module.posts-small .entry-thumbnail {
	width: 96px;
	border-radius: 10px;
	margin: 0 16px 0 0;
	flex: 0 0 96px;
}

body.rc-brand .site-bar .posts-module.posts-small .entry-title {
	font-size: 16px;
	line-height: 1.4;
	letter-spacing: 0;
}

body.rc-brand .site-bar .posts-module.posts-small .entry-meta {
	margin-top: 8px;
	font-size: 12px;
}

body.rc-brand .site-bar .widget,
body.rc-brand .site-bar .elementor-widget {
	margin-bottom: 26px;
}

/* replaces the sidebar logo */
body.rc-brand .rc-sidebar-more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 22px;
	font-size: 15px;
	font-weight: 600;
	color: var(--rc-purple);
	text-decoration: none;
}

body.rc-brand .rc-sidebar-more:hover {
	color: var(--rc-purple-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* --------------------------------------------------------------------------
   11. Sidebar, widgets, breadcrumbs
   -------------------------------------------------------------------------- */
body.rc-brand .sidebar-inner .widget-title,
body.rc-brand .site-bar .widget-title,
body.rc-brand .widget-title {
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--rc-ink);
}

body.rc-brand .breadcrumbs {
	font-size: 13px;
	color: var(--rc-muted);
	margin-bottom: 10px;
}

body.rc-brand .breadcrumbs a {
	color: var(--rc-muted);
	text-decoration: none;
}

body.rc-brand .breadcrumbs a:hover {
	color: var(--rc-purple);
}

/* --------------------------------------------------------------------------
   12. Forms, search & pagination
   -------------------------------------------------------------------------- */
body.rc-brand .site input[type='text'],
body.rc-brand .site input[type='email'],
body.rc-brand .site input[type='search'],
body.rc-brand .site input[type='url'],
body.rc-brand .site input[type='tel'],
body.rc-brand .site input[type='number'],
body.rc-brand .site input[type='password'],
body.rc-brand .site select,
body.rc-brand .site textarea {
	border: 1px solid var(--rc-line);
	border-radius: var(--rc-radius-btn);
	background-color: #fff;
	color: var(--rc-ink);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.rc-brand .site input:focus,
body.rc-brand .site select:focus,
body.rc-brand .site textarea:focus {
	border-color: var(--rc-purple);
	box-shadow: 0 0 0 3px rgba(87, 36, 225, 0.12);
	outline: none;
}

body.rc-brand .search-popup {
	background: #fff;
	border-bottom: 1px solid var(--rc-line);
}

body.rc-brand .search-popup .search-input {
	font-size: 22px;
	border: 0;
	border-bottom: 2px solid var(--rc-line);
	border-radius: 0;
	background: transparent;
}

body.rc-brand .pagination .page-numbers,
body.rc-brand .page-links .post-page-numbers {
	border-radius: var(--rc-radius-btn);
	font-weight: 600;
}

body.rc-brand .pagination .page-numbers.current,
body.rc-brand .pagination a.page-numbers:hover {
	background-color: var(--rc-purple);
	border-color: var(--rc-purple);
	color: #fff;
}

/* --------------------------------------------------------------------------
   12b. Integrations band (mirrors the rightchoice.ai home page section)
   -------------------------------------------------------------------------- */
body.rc-brand .rc-integrations {
	background: #fff;
	border-top: 1px solid var(--rc-line);
	padding: 64px 0 72px;
	text-align: center;
}

body.rc-brand .rc-integrations__badge {
	display: inline-block;
	margin: 0;
	padding: 7px 18px;
	border-radius: 999px;
	background: #dcfce7;
	color: #16a34a;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

body.rc-brand .rc-integrations__title {
	margin: 18px 0 10px;
	font-size: clamp(24px, 2.4vw, 32px);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: var(--rc-ink);
}

body.rc-brand .rc-integrations__sub {
	max-width: 620px;
	margin: 0 auto;
	font-size: 16px;
	line-height: 1.7;
	color: var(--rc-body);
}

body.rc-brand .rc-integrations__grid {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: 14px;
	max-width: 860px;
	margin: 32px auto 0;
	padding: 0;
	list-style: none;
}

body.rc-brand .rc-integrations__item {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	padding: 10px;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid var(--rc-line);
	border-radius: 14px;
	box-shadow: var(--rc-shadow-sm);
	transition: border-color 0.2s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

body.rc-brand .rc-integrations__item:hover {
	border-color: #d9d3f7;
	box-shadow: var(--rc-shadow-md);
	transform: translateY(-2px);
}

body.rc-brand .rc-integrations__logo {
	display: block;
	width: 100%;
	max-width: 38px;
	height: auto;
	max-height: 38px;
	object-fit: contain;
}

/* Integrations band: keep whole rows (16 logos = 8+8 or 4+4+4+4) so no row
   is ever left ragged. */
@media screen and (max-width: 1024px) {
	body.rc-brand .rc-integrations {
		padding: 48px 0 56px;
	}

	body.rc-brand .rc-integrations__grid {
		grid-template-columns: repeat(8, minmax(0, 1fr));
		gap: 10px;
	}

	body.rc-brand .rc-integrations__item {
		padding: 8px;
		border-radius: 10px;
	}

	body.rc-brand .rc-integrations__logo {
		max-width: 30px;
		max-height: 30px;
	}
}

@media screen and (max-width: 600px) {
	body.rc-brand .rc-integrations__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		max-width: 420px;
		margin-left: auto;
		margin-right: auto;
		gap: 10px;
	}

	body.rc-brand .rc-integrations__logo {
		max-width: 26px;
		max-height: 26px;
	}
}

/* --------------------------------------------------------------------------
   12b-2. "MADE FOR ALL" teams section (above the CTA strip)
   -------------------------------------------------------------------------- */
body.rc-brand .rc-teams {
	background: #fff;
	border-top: 1px solid var(--rc-line);
	padding: 64px 0 68px;
	text-align: center;
}

body.rc-brand .rc-teams__badge {
	display: inline-block;
	margin: 0;
	padding: 7px 18px;
	border-radius: 999px;
	background: #dcfce7;
	color: #16a34a;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

body.rc-brand .rc-teams__title {
	margin: 18px 0 10px;
	font-size: clamp(24px, 2.6vw, 34px);
	font-weight: 600;
	line-height: 1.22;
	letter-spacing: -0.01em;
	color: var(--rc-ink);
	text-transform: capitalize;
}

body.rc-brand .rc-teams__sub {
	max-width: 620px;
	margin: 0 auto 38px;
	font-size: 16px;
	line-height: 1.65;
	color: var(--rc-body);
}

body.rc-brand .rc-teams__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	text-align: left;
}

body.rc-brand .rc-teams__card {
	--rc-teams-pad: 24px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	overflow: hidden;
	padding: 0;
	background: var(--rc-purple-tint);
	border: 1px solid #e9e2ff;
	border-radius: 6px;
	box-shadow: 0 10px 30px -22px rgba(17, 17, 28, 0.35);
	text-decoration: none;
	color: inherit;
	transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.25s ease, transform 0.2s ease;
}

body.rc-brand .rc-teams__card:hover {
	background: #fff;
	border-color: #d9d3f7;
	box-shadow: 0 18px 40px -24px rgba(17, 17, 28, 0.45);
	transform: translateY(-2px);
}

body.rc-brand .rc-teams__card-title {
	margin: 0;
	padding: var(--rc-teams-pad) var(--rc-teams-pad) 0;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--rc-ink);
}

body.rc-brand .rc-teams__list {
	margin: 0;
	padding: var(--rc-teams-pad);
	padding-top: 16px;
	list-style: disc;
	list-style-position: outside;
	padding-left: calc(var(--rc-teams-pad) + 20px);
}

body.rc-brand .rc-teams__list li {
	margin: 0 0 16px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.55;
	color: var(--rc-body);
}

body.rc-brand .rc-teams__list li:last-child {
	margin-bottom: 0;
}

body.rc-brand .rc-teams__list li::marker {
	color: var(--rc-purple);
}

body.rc-brand .rc-teams__foot {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-left: var(--rc-teams-pad);
}

body.rc-brand .rc-teams__more {
	flex: 0 0 auto;
	padding-bottom: 26px;
	font-size: 18px;
	font-weight: 500;
	color: var(--rc-purple);
}

/* the reference renders the artwork in a 152x144 box, flush to the card's
   bottom-right corner */
body.rc-brand .rc-teams__illus {
	flex: 0 0 auto;
	width: 152px;
	height: 144px;
	max-width: 55%;
	object-fit: contain;
}

@media screen and (max-width: 1024px) {
	body.rc-brand .rc-teams {
		padding: 48px 0 52px;
	}

	body.rc-brand .rc-teams__grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	body.rc-brand .rc-teams__card {
		--rc-teams-pad: 20px;
	}

	body.rc-brand .rc-teams__sub {
		margin-bottom: 28px;
	}
}

@media screen and (max-width: 767px) {
	body.rc-brand .rc-teams__title {
		font-size: 22px;
	}

	body.rc-brand .rc-teams__list li {
		font-size: 14px;
	}

	body.rc-brand .rc-teams__list li {
		font-size: 15px;
		margin-bottom: 12px;
	}

	body.rc-brand .rc-teams__card-title {
		font-size: 18px;
	}

	body.rc-brand .rc-teams__illus {
		width: 118px;
		height: 112px;
	}

	body.rc-brand .rc-teams__more {
		padding-bottom: 20px;
		font-size: 16px;
	}
}

/* --------------------------------------------------------------------------
   12c. Call-to-action strip above the footer
   (field on top, green "Start Free Trial" + deep-purple "Talk to Sales" below)
   -------------------------------------------------------------------------- */
body.rc-brand .rc-cta {
	background: var(--rc-purple);
	background-image: linear-gradient(115deg, #6a3bec 0%, #5724e1 45%, #4a1ec3 100%);
	padding: 52px 0 56px;
	color: #fff;
}

body.rc-brand .rc-cta__inner {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}

body.rc-brand .rc-cta__title {
	margin: 0 0 10px;
	font-size: clamp(24px, 2.6vw, 34px);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.015em;
	color: #fff;
}

body.rc-brand .rc-cta__sub {
	margin: 0 0 28px;
	font-size: 16px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.88);
}

body.rc-brand .rc-cta__search {
	display: flex;
	align-items: center;
	height: 58px;
	padding: 0 10px 0 22px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 20px 44px -28px rgba(8, 4, 30, 0.7);
}

body.rc-brand .rc-cta__search input[type='text'],
body.rc-brand .rc-cta__search input[type='search'] {
	flex: 1 1 auto;
	min-width: 0;
	height: 56px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--rc-ink);
	font-size: 17px;
	box-shadow: none;
}

body.rc-brand .rc-cta__search input::placeholder {
	color: var(--rc-muted);
}

body.rc-brand .rc-cta__search input:focus {
	outline: none;
	box-shadow: none;
}

body.rc-brand .rc-cta__actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-top: 18px;
}

body.rc-brand .rc-cta .rc-btn {
	height: 54px;
	padding: 0 24px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-radius: 8px;
	box-shadow: none;
}

body.rc-brand .rc-btn--green {
	background-color: var(--rc-green);
	border-color: var(--rc-green);
	color: #fff;
	box-shadow: 0 14px 28px -16px rgba(34, 197, 94, 0.9);
}

body.rc-brand .rc-btn--green:hover {
	background-color: #16a34a;
	border-color: #16a34a;
	color: #fff;
}

body.rc-brand .rc-btn--deep {
	background-color: var(--rc-purple-darker);
	border-color: var(--rc-purple-darker);
	color: #fff;
	box-shadow: 0 14px 28px -18px rgba(8, 4, 30, 0.85);
}

body.rc-brand .rc-btn--deep:hover {
	background-color: #2f1178;
	border-color: #2f1178;
	color: #fff;
}

@media screen and (max-width: 767px) {
	body.rc-brand .rc-cta {
		padding: 36px 0 40px;
	}

	body.rc-brand .rc-cta__title {
		font-size: 22px;
	}

	body.rc-brand .rc-cta__sub {
		font-size: 15px;
		margin-bottom: 22px;
	}

	body.rc-brand .rc-cta__search {
		height: 54px;
		padding: 0 8px 0 16px;
	}

	body.rc-brand .rc-cta__search input[type='text'],
	body.rc-brand .rc-cta__search input[type='search'] {
		height: 52px;
		font-size: 15px;
	}

	body.rc-brand .rc-cta__actions {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	body.rc-brand .rc-cta .rc-btn {
		height: 50px;
	}
}

/* --------------------------------------------------------------------------
   12d. In-feed stats band (between the first and second row of posts)
   Design follows the supplied reference: dark strip, three large figures.
   -------------------------------------------------------------------------- */
body.rc-brand .rc-infeed {
	flex: 0 0 100%;
	width: 100%;
	box-sizing: border-box;
	padding: 20px;
	margin: 0;
	list-style: none;
}

body.rc-brand .rc-infeed__inner {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: start;
	gap: 24px 40px;
	padding: 40px 44px;
	border-radius: 16px;
	background: #06091a;
	color: #fff;
}

body.rc-brand .rc-infeed__title {
	grid-column: 1 / -1;
	max-width: 480px;
	margin: 0;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.32;
	letter-spacing: -0.01em;
	color: #fff;
}

body.rc-brand .rc-infeed__stats {
	display: contents;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.rc-brand .rc-infeed__stat {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
}

body.rc-brand .rc-infeed__value {
	font-size: 40px;
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: #fff;
}

body.rc-brand .rc-infeed__label {
	font-size: 15px;
	line-height: 1.35;
	color: rgba(255, 255, 255, 0.62);
}

@media screen and (max-width: 1024px) {
	body.rc-brand .rc-infeed__inner {
		padding: 32px 28px;
		gap: 22px 28px;
	}

	body.rc-brand .rc-infeed__value {
		font-size: 34px;
	}
}

@media screen and (max-width: 767px) {
	body.rc-brand .rc-infeed {
		padding: 16px;
	}

	body.rc-brand .rc-infeed__inner {
		padding: 26px 22px;
		border-radius: 14px;
		grid-template-columns: 1fr;
		gap: 20px;
	}

	body.rc-brand .rc-infeed__value {
		font-size: 28px;
	}

	body.rc-brand .rc-infeed__stat {
		gap: 6px;
	}
}

/* --------------------------------------------------------------------------
   13. Footer
   -------------------------------------------------------------------------- */
body.rc-brand #colophon {
	background: var(--rc-footer-bg);
}

body.rc-brand .rc-footer {
	background: var(--rc-footer-bg);
	color: var(--rc-footer-text);
	padding: 68px 0 0;
	font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

body.rc-brand .rc-footer__grid {
	display: grid;
	grid-template-columns: 1.6fr repeat(4, minmax(0, 1fr));
	gap: 44px 32px;
	padding-bottom: 56px;
}

body.rc-brand .rc-footer__brand {
	max-width: 340px;
}

body.rc-brand .rc-logo--footer {
	margin-bottom: 20px;
}

body.rc-brand .rc-footer__tagline {
	font-size: 15px;
	line-height: 1.7;
	color: var(--rc-footer-text);
	margin: 0 0 24px;
}

body.rc-brand .rc-socials {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* The parent theme gives every ul li a 1em bottom margin and removes it from
   :last-child, which - combined with align-items:center - pushed the last icon
   (YouTube) 4px below the others. Reset the margins and the line box. */
body.rc-brand .rc-socials > li {
	margin: 0;
	line-height: 0;
}

body.rc-brand .rc-socials__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--rc-footer-line);
	border-radius: 10px;
	color: #fff;
	background: rgba(255, 255, 255, 0.03);
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

body.rc-brand .rc-socials__link:hover {
	background: var(--rc-purple);
	border-color: var(--rc-purple);
	transform: translateY(-1px);
}

body.rc-brand .rc-socials__icon {
	display: inline-flex;
	width: 16px;
	height: 16px;
}

body.rc-brand .rc-socials__icon svg {
	width: 100%;
	height: 100%;
	fill: currentColor;
}

/* The YouTube mark is a wide rectangle, so at 16px it renders only ~12px tall and
   reads smaller than the square marks next to it. Nudge its box up so the glyph
   height matches the others (all glyphs stay optically centred). */
body.rc-brand .rc-socials__icon--youtube {
	width: 22px;
	height: 22px;
}

body.rc-brand .rc-footer__title {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: #fff;
	margin: 4px 0 18px;
}

body.rc-brand .rc-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.rc-brand .rc-footer__list li {
	margin: 0 0 10px;
}

body.rc-brand .rc-footer__list a {
	font-size: 15px;
	line-height: 1.5;
	color: var(--rc-footer-text);
	text-decoration: none;
	transition: color 0.2s ease;
}

body.rc-brand .rc-footer__list a:hover {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}

body.rc-brand .rc-footer__bottom {
	border-top: 1px solid var(--rc-footer-line);
	padding: 22px 0;
}

body.rc-brand .rc-footer__bottom-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px 28px;
	flex-wrap: wrap;
}

body.rc-brand .rc-footer__copy {
	margin: 0;
	font-size: 14px;
	color: var(--rc-muted-light);
}

body.rc-brand .rc-footer__legal {
	display: flex;
	align-items: center;
	gap: 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.rc-brand .rc-footer__legal a {
	font-size: 14px;
	color: var(--rc-muted-light);
	text-decoration: none;
}

body.rc-brand .rc-footer__legal a:hover {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* --------------------------------------------------------------------------
   14. Rules migrated from the previous Customizer "Additional CSS"
   (they now live with the theme so they stay versioned with the brand layer).
   -------------------------------------------------------------------------- */
body.rc-brand h3.entry-title a,
body.rc-brand .post-layout .entry-title a {
	font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

/* Blog home hero slider pagination */
body.rc-brand .elementor-4767 .elementor-element.elementor-element-d8ca23f .block-slider .swiper-pagination {
	margin-top: 11px;
	font-size: 6px;
}

/* The theme's light/dark skin toggle was previously hidden - it has no place in
   the RightChoice.ai design system (the brand is light only). */
body.rc-brand .fixed-trigger {
	display: none;
}

/* --------------------------------------------------------------------------
   15. Utilities & responsive
   -------------------------------------------------------------------------- */
body.rc-brand .totop-trigger,
body.rc-brand .fly-trigger .button {
	border-radius: 50%;
}

@media screen and (max-width: 1200px) {
	body.rc-brand .rc-nav ul.nav-main {
		gap: 24px;
	}

	body.rc-brand .rc-nav ul.nav-main > li > a {
		font-size: 16px;
	}

	body.rc-brand .rc-header__nav-wrap {
		gap: 22px;
	}

	body.rc-brand .rc-btn {
		padding: 0 24px;
	}

	body.rc-brand .rc-footer__grid {
		grid-template-columns: 1.4fr repeat(2, minmax(0, 1fr));
		gap: 40px 28px;
	}

}

@media screen and (max-width: 1024px) {
	body.rc-brand .rc-footer {
		padding-top: 52px;
	}

	body.rc-brand .rc-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 34px 24px;
		padding-bottom: 40px;
	}

	body.rc-brand .rc-footer__brand {
		max-width: none;
		grid-column: 1 / -1;
	}
}

@media screen and (max-width: 767px) {
	body.rc-brand .rc-container {
		padding: 0 20px;
	}

	body.rc-brand .rc-footer {
		padding-top: 44px;
	}

	body.rc-brand .rc-footer__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	body.rc-brand .rc-footer__bottom-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	body.rc-brand .rc-footer__legal {
		gap: 16px;
		flex-wrap: wrap;
	}

	body.rc-brand .article-content {
		font-size: 16px;
	}

	body.rc-brand .th90-block.posts-module.posts-grid .post-item,
	body.rc-brand .th90-block.posts-module.posts-large .post-item {
		/* still has to clear the 20px list bleed so the card outlines stay intact */
		padding: 20px;
	}

	body.rc-brand .th90-block.posts-module.posts-grid .post-item > .post-layout,
	body.rc-brand .th90-block.posts-module.posts-large .post-item > .post-layout {
		padding: 12px 12px 14px;
	}

	body.rc-brand .th90-block.posts-module.posts-grid .entry-header .entry-title,
	body.rc-brand .th90-block.posts-module.posts-large .entry-header .entry-title {
		font-size: 17px;
	}
}

