/**
 * Retirement Calculators Block Patterns Styles
 * Scoped styling for homepage patterns
 * Version: 2.2
 * High specificity to override theme styles
 */

/* High specificity base - override theme defaults */
body .rc-hero,
body .rc-why-exists,
body .rc-category-grid,
body .rc-how-to-use,
body .rc-guidance,
body .rc-contact-feedback {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* ============================================
   FULL WIDTH CONTAINERS
   ============================================ */

/* Ensure our RC blocks can be full width */
.rc-hero,
.rc-why-exists,
.rc-category-grid,
.rc-how-to-use,
.rc-guidance,
.rc-contact-feedback {
	width: 100%;
	box-sizing: border-box;
}

/* ============================================
   HERO SECTION
   ============================================ */

.rc-hero,
body .wp-block-group.rc-hero,
body .wp-block-group.alignfull.rc-hero {
	padding: clamp(2.5rem, 6vw, 4rem) var(--wp--preset--spacing--medium, 2rem) !important;
	background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%) !important;
	margin: 0 !important;
}

.rc-hero-columns {
	gap: clamp(2rem, 5vw, 4rem);
	margin-bottom: 0;
	width: 100%;
	max-width: 100%;
}

/* Ensure hero columns use full width on desktop */
@media (min-width: 1200px) {
	.rc-hero-columns {
		gap: 4rem;
	}
}


.rc-hero-title {
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 1.5rem;
	color: #1a1a1a;
}

.rc-hero-description {
	font-size: clamp(1rem, 2vw, 1.25rem);
	line-height: 1.6;
	margin-bottom: 2rem;
	color: #4a4a4a;
	max-width: 100%;
}

.rc-hero-buttons {
	gap: 1rem;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.rc-hero-primary .wp-block-button__link {
	background-color: #59747c;
	color: #ffffff;
	padding: 1.25rem 2.5rem;
	font-size: 1.125rem;
	font-weight: 600;
	border-radius: 8px;
	border: 1px solid #4a636a;
	transition: all 0.2s ease;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	box-shadow: 0 4px 12px rgba(89, 116, 124, 0.3);
	letter-spacing: 0.02em;
	text-transform: none;
	cursor: pointer;
	min-height: 48px;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
}

.rc-hero-primary .wp-block-button__link::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.15), transparent);
	transition: left 0.4s ease;
}

.rc-hero-primary .wp-block-button__link:hover::before {
	left: 100%;
}

.rc-hero-primary .wp-block-button__link:hover {
	background-color: #4a636a;
	border-color: #3d5258;
	transform: translateY(-3px);
	box-shadow: 0 6px 16px rgba(89, 116, 124, 0.4);
}

.rc-hero-primary .wp-block-button__link::after {
	content: '→';
	font-size: 1.2em;
	line-height: 1;
	transition: transform 0.2s ease;
	display: inline-block;
}

.rc-hero-primary .wp-block-button__link:hover::after {
	transform: translateX(4px);
}

.rc-hero-primary .wp-block-button__link:active {
	transform: translateY(0);
	box-shadow: 0 2px 6px rgba(89, 116, 124, 0.3);
}

/* Hide any secondary hero button if it exists */
.rc-hero-secondary,
.rc-hero .rc-hero-secondary {
	display: none !important;
}

.rc-hero-secondary .wp-block-button__link {
	border: 1px solid #59747c;
	color: #59747c;
	background-color: #f4fafb;
	padding: 8px 16px;
	font-size: 0.9rem;
	font-weight: 500;
	border-radius: 6px;
	transition: background 0.15s ease, border-color 0.15s ease, transform 0.05s ease;
	text-decoration: none;
	display: inline-block;
	min-height: 38px;
	box-sizing: border-box;
}

.rc-hero-secondary .wp-block-button__link:hover {
	background-color: #ebf2f4;
	border-color: #445c63;
	color: #0b1f2a;
	transform: none;
}

.rc-hero-visual {
	display: flex;
	align-items: center;
	justify-content: center;
}

.rc-hero-visual img {
	border-radius: 0.75rem;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
	max-width: 100%;
	height: auto;
}

/* ============================================
   SECTION TITLES & INTRO
   ============================================ */

.rc-section-title {
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 1.25rem;
	color: #1a1a1a;
	text-align: center;
}

.rc-section-intro {
	font-size: clamp(1rem, 2vw, 1.125rem);
	line-height: 1.7;
	margin-bottom: 0;
	color: #4a4a4a;
	text-align: center;
	max-width: 90%;
	margin-left: auto;
	margin-right: auto;
}

/* Align intro text with section containers */
@media (min-width: 1200px) {
	/* Intro text for hero and how-to-use (wider sections) */
	.rc-hero .rc-section-intro,
	.rc-how-to-use .rc-section-intro {
		max-width: 1600px;
	}
	
	/* Intro text for other sections (narrower) */
	.rc-category-grid .rc-section-intro,
	.rc-why-exists .rc-section-intro,
	.rc-contact-feedback .rc-section-intro {
		max-width: 1400px;
	}
}


.rc-intro-text {
	font-size: clamp(1rem, 2vw, 1.125rem);
	line-height: 1.7;
	margin-bottom: 1.5rem;
	color: #4a4a4a;
}

/* ============================================
   WHY EXISTS SECTION
   ============================================ */

.rc-why-exists,
body .wp-block-group.rc-why-exists,
body .wp-block-group.alignfull.rc-why-exists {
	padding: clamp(3rem, 5vw, 4rem) var(--wp--preset--spacing--medium, 2rem) !important;
	background: linear-gradient(135deg, #fafbff 0%, #f5f7ff 100%) !important;
	position: relative !important;
	z-index: 1 !important;
	margin: 0 !important;
}

.rc-why-exists .rc-section-title {
	text-align: center;
	margin-bottom: 3rem;
}

/* Why exists columns layout */
.rc-why-columns {
	gap: 3rem;
	margin-top: 0;
	margin-bottom: 0;
	align-items: stretch;
}

.rc-why-text {
	font-size: clamp(1rem, 2vw, 1.125rem);
	line-height: 1.9;
	color: #4a4a4a;
	margin: 0;
	position: relative;
	padding-left: 1.5rem;
}

/* Add subtle left border accent */
.rc-why-text::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: linear-gradient(to bottom, #59747c, #4a636a);
	border-radius: 2px;
}

/* Desktop adjustments for why exists */
@media (min-width: 1200px) {
	.rc-why-columns {
		gap: 4rem;
	}
	
	.rc-why-text {
		font-size: 1.125rem;
	}
}

/* Mobile: stack columns */
@media (max-width: 782px) {
	.rc-why-columns {
		flex-direction: column;
		gap: 2rem;
	}
	
	.rc-why-columns .wp-block-column {
		width: 100% !important;
		flex-basis: 100% !important;
	}
}


/* ============================================
   CATEGORY GRID
   ============================================ */

.rc-category-grid,
body .wp-block-group.rc-category-grid,
body .wp-block-group.alignfull.rc-category-grid,
body #explore-calculators {
	padding: clamp(2rem, 4vw, 3rem) var(--wp--preset--spacing--medium, 2rem) !important;
	background-color: #f8f9fa !important;
	overflow: visible !important;
	position: relative !important;
	z-index: 1 !important;
	margin: 0 !important;
	scroll-margin-top: 2rem;
}

/* Override WordPress constrained layout to allow wider content - high specificity */
body .rc-category-grid[class*="is-layout-constrained"],
body .rc-why-exists[class*="is-layout-constrained"],
body .rc-how-to-use[class*="is-layout-constrained"],
body .rc-contact-feedback[class*="is-layout-constrained"],
body .rc-hero[class*="is-layout-constrained"],
body .wp-block-group.rc-category-grid[class*="is-layout-constrained"],
body .wp-block-group.rc-why-exists[class*="is-layout-constrained"],
body .wp-block-group.rc-how-to-use[class*="is-layout-constrained"],
body .wp-block-group.rc-contact-feedback[class*="is-layout-constrained"],
body .wp-block-group.rc-hero[class*="is-layout-constrained"] {
	max-width: 100% !important;
	width: 100% !important;
}

/* Content containers - wider on desktop */
.rc-category-grid .wp-block-group__inner-container,
.rc-why-exists .wp-block-group__inner-container,
.rc-how-to-use .wp-block-group__inner-container,
.rc-contact-feedback .wp-block-group__inner-container,
.rc-hero .wp-block-group__inner-container {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--wp--preset--spacing--medium, 2rem);
	padding-right: var(--wp--preset--spacing--medium, 2rem);
}

@media (min-width: 1200px) {
	/* Hero - wider for better impact */
	.rc-hero .wp-block-group__inner-container {
		max-width: 1600px;
		padding-left: 3rem;
		padding-right: 3rem;
	}
	
	/* How to use - wider to match hero */
	.rc-how-to-use .wp-block-group__inner-container {
		max-width: 1600px;
		padding-left: 3rem;
		padding-right: 3rem;
	}
	
	/* Category grid and other sections - slightly narrower */
	.rc-category-grid .wp-block-group__inner-container,
	.rc-why-exists .wp-block-group__inner-container,
	.rc-contact-feedback .wp-block-group__inner-container {
		max-width: 1400px;
		padding-left: 3rem;
		padding-right: 3rem;
	}
}

/* Convert columns to CSS Grid for better layout */
.rc-category-grid-columns {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	margin-top: 2rem !important;
	padding-top: 3.5rem !important;
	margin-bottom: 1.5rem !important;
	width: 100%;
}

/* Reduce spacing between multiple column groups - override theme */
body .rc-category-grid-columns + .rc-category-grid-columns,
body .wp-block-columns.rc-category-grid-columns + .wp-block-columns.rc-category-grid-columns {
	margin-top: 1.5rem !important;
	margin-bottom: 1.5rem !important;
}

/* Reduce default WordPress block spacing - override theme */
body .rc-category-grid .wp-block-group,
body .rc-category-grid .wp-block-columns,
body .rc-category-grid .wp-block-column,
body .rc-category-grid .wp-block-heading,
body .rc-category-grid .wp-block-paragraph,
body .rc-why-exists .wp-block-heading,
body .rc-why-exists .wp-block-paragraph,
body .rc-how-to-use .wp-block-heading,
body .rc-how-to-use .wp-block-paragraph,
body .rc-contact-feedback .wp-block-heading,
body .rc-contact-feedback .wp-block-paragraph {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

body .rc-category-grid > .wp-block-heading:first-child,
body .rc-why-exists > .wp-block-heading:first-child,
body .rc-how-to-use > .wp-block-heading:first-child,
body .rc-contact-feedback > .wp-block-heading:first-child {
	margin-top: 0 !important;
}

/* Desktop: 3 columns - override theme */
@media (min-width: 1024px) {
	body .rc-category-grid-columns,
	body .wp-block-columns.rc-category-grid-columns {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 2rem !important;
	}
}

/* Ensure columns don't stack cards vertically - flatten structure - override theme */
body .rc-category-grid-columns .wp-block-column,
body .wp-block-columns.rc-category-grid-columns .wp-block-column {
	display: contents !important;
	width: auto !important;
	flex-basis: auto !important;
	flex: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Cards should be direct grid items - flatten nested structure */
body .rc-category-grid-columns .wp-block-column > *,
body .wp-block-columns.rc-category-grid-columns .wp-block-column > * {
	display: contents;
}

body .rc-category-grid-columns .rc-category-card,
body .wp-block-columns.rc-category-grid-columns .rc-category-card {
	grid-column: span 1 !important;
}

.rc-category-card,
body .wp-block-group.rc-category-card {
	background-color: #ffffff !important;
	border-radius: 0.75rem !important;
	padding: 1.75rem !important;
	display: flex !important;
	flex-direction: column !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
	transition: all 0.3s ease !important;
	border: 1px solid #e5e7eb !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	height: 100% !important;
}

.rc-category-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	border-color: #59747c;
}

.rc-category-icon {
	margin: 0 0 1.5rem 0;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.rc-category-icon svg.rc-icon {
	width: 48px;
	height: 48px;
	color: #59747c;
	stroke-width: 2;
}

.rc-category-title {
	font-size: clamp(1.25rem, 2.5vw, 1.5rem);
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 1rem;
	color: #1a1a1a;
}

.rc-category-title a {
	color: #1a1a1a;
	text-decoration: none;
	transition: color 0.2s ease;
}

.rc-category-title a:hover {
	color: #59747c;
}

.rc-category-description {
	font-size: 1rem;
	line-height: 1.6;
	margin-bottom: 1.5rem;
	color: #4a4a4a;
}

.rc-category-list {
	margin: 0 0 1.5rem 0;
	padding-left: 1.5rem;
	list-style-type: disc;
}

.rc-category-list li {
	font-size: 0.9375rem;
	line-height: 1.6;
	color: #6b7280;
	margin-bottom: 0.5rem;
}

.rc-category-list .rc-category-item {
	display: flex;
	align-items: baseline;
	gap: 0.35rem;
}

.rc-category-list .rc-category-item a,
.rc-category-list li a {
	color: #0b1f2a !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	position: relative;
}

.rc-category-list .rc-category-item a:hover,
.rc-category-list li a:hover {
	color: #083141 !important;
}

/* Green "Live" pill for any linked calculator (works with old markup too) */
.rc-category-list li a::after {
	content: 'Live';
	margin-left: 0.4rem;
	padding: 0.05rem 0.4rem;
	border-radius: 999px;
	background-color: #ecfdf3;
	color: #166534;
	border: 1px solid #86efac;
	font-size: 0.7rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.rc-coming-soon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.1rem 0.5rem;
	font-size: 0.7rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border-radius: 999px;
	background-color: #fffbeb;
	color: #92400e;
	border: 1px solid #fed7aa;
	white-space: nowrap;
}

/* Hide the coming soon pill automatically when a link is added */
.rc-category-item:has(a) .rc-coming-soon {
	display: none;
}

/* Align buttons at the bottom of each card */
.rc-category-buttons {
	margin-top: auto;
	margin-bottom: 0;
}

.rc-category-button .wp-block-button__link {
	background-color: #59747c;
	color: #ffffff;
	padding: 8px 16px;
	font-size: 0.9rem;
	font-weight: 600;
	border-radius: 6px;
	border: 1px solid #4a636a;
	transition: all 0.2s ease;
	text-decoration: none;
	display: inline-block;
	width: 100%;
	text-align: center;
	cursor: pointer;
	min-height: 38px;
	box-sizing: border-box;
	box-shadow: 0 2px 6px rgba(89, 116, 124, 0.2);
	position: relative;
	overflow: hidden;
}

.rc-category-button .wp-block-button__link::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.15), transparent);
	transition: left 0.4s ease;
}

.rc-category-button .wp-block-button__link:hover::before {
	left: 100%;
}

.rc-category-button .wp-block-button__link:hover {
	background-color: #4a636a;
	border-color: #3d5258;
	transform: translateY(-2px);
	box-shadow: 0 4px 10px rgba(89, 116, 124, 0.3);
}

.rc-category-button .wp-block-button__link:active {
	transform: translateY(0);
	box-shadow: 0 2px 6px rgba(89, 116, 124, 0.25);
}

.rc-category-button .wp-block-button__link:focus {
	outline: none;
	box-shadow: 0 0 0 1px rgba(89, 116, 124, 0.3);
}

.rc-category-legend {
	margin-top: 1rem;
	font-size: 0.85rem;
	color: #6b7280;
	text-align: left;
}

/* ============================================
   HOW TO USE SECTION
   ============================================ */

.rc-how-to-use,
body .wp-block-group.rc-how-to-use,
body .wp-block-group.alignfull.rc-how-to-use {
	padding: clamp(2rem, 4vw, 3rem) var(--wp--preset--spacing--medium, 2rem) !important;
	background-color: #ffffff !important;
	position: relative !important;
	z-index: 1 !important;
	margin: 0 !important;
}

.rc-steps-columns {
	gap: 2rem;
	margin-top: 2rem;
	width: 100%;
}

/* Ensure steps columns use full available width */
@media (min-width: 1200px) {
	.rc-steps-columns {
		gap: 3rem;
		max-width: 100%;
	}
}

.rc-step-column {
	background-color: #f8f9fa;
	border-radius: 0.75rem;
	padding: 2rem;
	border-left: 4px solid #59747c;
	transition: all 0.3s ease;
}

.rc-step-column:hover {
	background-color: #f0f4ff;
	transform: translateX(4px);
}

.rc-step-title {
	font-size: clamp(1.125rem, 2vw, 1.375rem);
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 1rem;
	color: #1a1a1a;
}

.rc-step-description {
	font-size: 1rem;
	line-height: 1.6;
	color: #4a4a4a;
	margin: 0;
}

/* ============================================
   GUIDANCE SECTION
   ============================================ */

.rc-guidance,
body .wp-block-group.rc-guidance,
body .wp-block-group.alignfull.rc-guidance {
	padding: clamp(2rem, 4vw, 3rem) var(--wp--preset--spacing--medium, 2rem) !important;
	background: linear-gradient(135deg, #fafbff 0%, #f5f7ff 100%) !important;
	border-radius: 0.75rem !important;
	margin: 1.5rem auto !important;
	position: relative !important;
	z-index: 1 !important;
}

/* Constrain guidance content width - wider on desktop */
.rc-guidance .wp-block-group__inner-container {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--wp--preset--spacing--medium, 2rem);
	padding-right: var(--wp--preset--spacing--medium, 2rem);
}

@media (min-width: 1200px) {
	.rc-guidance .wp-block-group__inner-container {
		max-width: 1400px;
		padding-left: 3rem;
		padding-right: 3rem;
	}
}

.rc-guidance-text {
	font-size: clamp(1rem, 2vw, 1.125rem);
	line-height: 1.7;
	margin-bottom: 1.5rem;
	color: #4a4a4a;
}

.rc-guidance p:last-child {
	font-size: 0.9375rem;
	color: #6b7280;
	font-style: italic;
}

/* ============================================
   CONTACT & FEEDBACK SECTION
   ============================================ */

.rc-contact-feedback,
body .wp-block-group.rc-contact-feedback,
body .wp-block-group.alignfull.rc-contact-feedback {
	padding: clamp(2rem, 4vw, 3rem) var(--wp--preset--spacing--medium, 2rem) !important;
	background-color: #ffffff !important;
	position: relative !important;
	z-index: 1 !important;
	margin: 0 !important;
}

.rc-contact-intro {
	font-size: clamp(1rem, 2vw, 1.125rem);
	line-height: 1.7;
	margin-bottom: 2rem;
	color: #4a4a4a;
	text-align: center;
	max-width: 90%;
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 1200px) {
	.rc-contact-intro {
		max-width: 1100px;
	}
}

/* ============================================
   CONTACT FORM
   ============================================ */

.rc-contact-form-wrapper {
	max-width: 700px;
	margin: 2rem auto 0;
	background-color: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 0.75rem;
	padding: 2rem;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.rc-contact-form {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.rc-form-field {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.rc-form-label {
	font-size: 0.9rem;
	font-weight: 600;
	color: #1c3444;
	margin: 0;
	line-height: 1.4;
}

.rc-form-input,
.rc-form-select,
.rc-form-textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #d1d8dd;
	border-radius: 6px;
	font-size: 0.95rem;
	font-family: inherit;
	background: #ffffff;
	color: #0b1f2a;
	box-sizing: border-box;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.rc-form-input:focus,
.rc-form-select:focus,
.rc-form-textarea:focus {
	outline: none;
	border-color: #59747c;
	box-shadow: 0 0 0 1px rgba(89, 116, 124, 0.3);
}

.rc-form-textarea {
	resize: vertical;
	min-height: 120px;
	line-height: 1.5;
}

.rc-form-select {
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234b5563' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	padding-right: 36px;
}

.rc-form-submit {
	background-color: #59747c;
	color: #ffffff;
	padding: 12px 24px;
	font-size: 1rem;
	font-weight: 600;
	border-radius: 6px;
	border: 1px solid #4a636a;
	transition: all 0.2s ease;
	cursor: pointer;
	min-height: 44px;
	box-shadow: 0 2px 6px rgba(89, 116, 124, 0.2);
	align-self: flex-start;
	width: 100%;
}

@media (min-width: 640px) {
	.rc-form-submit {
		width: auto;
	}
}

.rc-form-submit:hover:not(:disabled) {
	background-color: #4a636a;
	border-color: #3d5258;
	transform: translateY(-2px);
	box-shadow: 0 4px 10px rgba(89, 116, 124, 0.3);
}

.rc-form-submit:active:not(:disabled) {
	transform: translateY(0);
}

.rc-form-submit:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.rc-form-message {
	margin-top: 1rem;
	padding: 12px 16px;
	border-radius: 6px;
	font-size: 0.9rem;
	line-height: 1.5;
	display: none;
}

.rc-form-message--success {
	display: block;
	background-color: #f0fdf4;
	border: 1px solid #86efac;
	color: #166534;
}

.rc-form-message--error {
	display: block;
	background-color: #fef2f2;
	border: 1px solid #fecaca;
	color: #991b1b;
}

/* ============================================
   ENHANCED CONTACT US PAGE
   ============================================ */

/* Two-column layout for contact page - match intro text width */
.rc-contact-page-columns {
	gap: 3rem;
	margin-top: 2rem;
	align-items: flex-start;
	width: 100%;
	max-width: 90%;
	margin-left: auto;
	margin-right: auto;
}

/* Constrain columns to match intro text width on desktop */
@media (min-width: 1200px) {
	.rc-contact-page-columns {
		max-width: 1100px;
		margin-left: auto;
		margin-right: auto;
		gap: 4rem;
	}
}

/* Contact form wrapper in column - remove max-width constraint */
.rc-contact-page-columns .rc-contact-form-wrapper {
	max-width: 100%;
	margin: 0;
	padding: 2.5rem;
}

/* Contact info sidebar */
.rc-contact-info {
	background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
	border-radius: 1rem;
	padding: 2.5rem;
	border: 2px solid #e5e7eb;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	position: sticky;
	top: 2rem;
	width: 100%;
	box-sizing: border-box;
}

.rc-contact-info-title {
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 1.5rem;
	color: #1a1a1a;
}

.rc-contact-info-text {
	font-size: 1rem;
	line-height: 1.6;
	color: #4a4a4a;
	margin-bottom: 2rem;
}

/* Ensure WordPress HTML block wrapper doesn't interfere */
.rc-contact-info .wp-block-html {
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
}

.rc-contact-info .wp-block-html > * {
	margin: 0 !important;
	padding: 0 !important;
}

/* Handle both direct divs and WordPress group blocks */
.rc-contact-info-item,
.wp-block-group.rc-contact-info-item {
	font-size: 0.95rem;
	line-height: 1.7;
	color: #4a4a4a;
	margin-bottom: 1.75rem;
	padding: 1.25rem;
	background-color: #ffffff;
	border-radius: 0.75rem;
	border: 1px solid #e5e7eb;
	transition: all 0.2s ease;
	display: flex !important;
	align-items: flex-start !important;
	gap: 1rem !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	width: 100% !important;
	box-sizing: border-box;
	position: relative;
}

/* Override WordPress group default styles */
.wp-block-group.rc-contact-info-item > * {
	margin: 0 !important;
}

.rc-contact-info-item:hover {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	border-color: #59747c;
	transform: translateY(-2px);
}

.rc-contact-info-item:last-child {
	margin-bottom: 0;
}

.rc-contact-info-emoji {
	font-size: 1.75rem !important;
	line-height: 1 !important;
	flex-shrink: 0 !important;
	display: block !important;
	width: 2.5rem !important;
	min-width: 2.5rem !important;
	text-align: center !important;
	margin: 0 !important;
	margin-top: 0.1rem !important;
	padding: 0 !important;
	vertical-align: top;
}

/* Handle both direct divs and WordPress group blocks */
.rc-contact-info-content,
.wp-block-group.rc-contact-info-content {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	display: block !important;
	width: auto !important;
	overflow-wrap: break-word;
	word-wrap: break-word;
	margin: 0 !important;
	padding: 0 !important;
}

/* Ensure paragraphs inside content don't add extra spacing */
.rc-contact-info-content p,
.wp-block-group.rc-contact-info-content p {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.5 !important;
}

/* Reduce spacing after line breaks in contact info */
.rc-contact-info-content br,
.wp-block-group.rc-contact-info-content br {
	line-height: 1.2 !important;
	display: block;
	margin-bottom: 0.25rem !important;
}

/* Reduce gap between strong label and following content */
.rc-contact-info-content strong,
.wp-block-group.rc-contact-info-content strong {
	margin-bottom: 0 !important;
	display: inline !important;
}

.rc-contact-info-content strong + br,
.wp-block-group.rc-contact-info-content strong + br {
	margin-bottom: 0.15rem !important;
}

.rc-contact-info-item strong {
	color: #1a1a1a;
	font-weight: 600;
	display: block;
	margin-bottom: 0.5rem;
	line-height: 1.4;
}

.rc-contact-info-content br {
	display: block;
	content: "";
	margin-bottom: 0.25rem;
}

.rc-contact-info-item a {
	color: #59747c;
	text-decoration: none;
	transition: color 0.2s ease;
	font-weight: 500;
}

.rc-contact-info-item a:hover {
	color: #4a636a;
	text-decoration: underline;
}

/* Contact photo styling */
.rc-contact-photo {
	margin: 1.5rem 0 2rem 0;
	padding: 0;
}

.rc-contact-photo img {
	width: 100%;
	height: auto;
	border-radius: 1rem;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	border: 2px solid #e5e7eb;
	object-fit: cover;
}

/* Mobile: stack columns */
@media (max-width: 782px) {
	.rc-contact-page-columns {
		flex-direction: column;
		gap: 2rem;
	}
	
	.rc-contact-info {
		position: static;
		width: 100%;
	}
	
	.rc-contact-page-columns .wp-block-column {
		width: 100% !important;
		flex-basis: 100% !important;
	}
}

/* ============================================
   RESPONSIVE DESIGN - MOBILE
   ============================================ */

@media (max-width: 782px) {
	.rc-hero-columns {
		flex-direction: column;
	}
	
	.rc-hero-columns .wp-block-column {
		flex-basis: 100% !important;
		width: 100% !important;
	}
	
	.rc-hero-description {
		max-width: 100%;
	}
	
	.rc-hero-buttons {
		flex-direction: column;
	}
	
	.rc-hero-primary .wp-block-button__link,
	.rc-hero-secondary .wp-block-button__link {
		width: 100%;
		text-align: center;
	}
	
	.rc-category-grid-columns {
		grid-template-columns: 1fr !important;
		gap: 1.25rem;
	}
	
	.rc-category-grid-columns .wp-block-column {
		display: contents !important;
	}
	
	.rc-steps-columns {
		flex-direction: column;
	}
	
	.rc-step-column {
		border-left: none;
		border-top: 4px solid #59747c;
	}
	
	.rc-step-column:hover {
		transform: translateY(-4px);
	}
	
	.rc-section-title {
		text-align: center;
	}
	
	.rc-why-exists .rc-section-title {
		text-align: center;
	}
	
	.rc-contact-form-wrapper {
		padding: 1.5rem;
		margin: 1.5rem 1rem 0;
	}
}

/* ============================================
   TABLET ADJUSTMENTS
   ============================================ */

@media (min-width: 783px) and (max-width: 1023px) {
	.rc-category-grid-columns {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 1.5rem;
	}
	
	.rc-category-grid-columns .wp-block-column {
		display: contents !important;
	}
	
	.rc-steps-columns {
		flex-wrap: wrap;
	}
	
	.rc-steps-columns .wp-block-column {
		flex-basis: calc(50% - 1rem) !important;
		width: calc(50% - 1rem) !important;
	}
	
	.rc-steps-columns .wp-block-column:last-child {
		flex-basis: 100% !important;
		width: 100% !important;
	}
}

/* ============================================
   ACCESSIBILITY IMPROVEMENTS
   ============================================ */

.rc-hero-primary .wp-block-button__link:focus,
.rc-hero-secondary .wp-block-button__link:focus,
.rc-category-button .wp-block-button__link:focus {
	outline: none;
	box-shadow: 0 0 0 1px rgba(89, 116, 124, 0.3);
}

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
	.rc-category-card,
	.rc-hero-primary .wp-block-button__link,
	.rc-hero-secondary .wp-block-button__link,
	.rc-category-button .wp-block-button__link,
	.rc-step-column {
		transition: none;
	}
	
	.rc-category-card:hover,
	.rc-step-column:hover {
		transform: none;
	}
}

/* ============================================
   PRINT STYLES
   ============================================ */

@media print {
	.rc-hero-buttons,
	.rc-category-buttons {
		display: none;
	}
	
	.rc-category-card {
		box-shadow: none;
		border: 1px solid #e5e7eb;
		page-break-inside: avoid;
	}
}

/* ============================================
   THEME OVERRIDE - HIGHEST PRIORITY
   ============================================ */

/* Force override any theme container constraints */
body .entry-content .rc-hero,
body .entry-content .rc-why-exists,
body .entry-content .rc-category-grid,
body .entry-content .rc-how-to-use,
body .entry-content .rc-guidance,
body .entry-content .rc-contact-feedback,
body .wp-block-post-content .rc-hero,
body .wp-block-post-content .rc-why-exists,
body .wp-block-post-content .rc-category-grid,
body .wp-block-post-content .rc-how-to-use,
body .wp-block-post-content .rc-guidance,
body .wp-block-post-content .rc-contact-feedback {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: var(--wp--preset--spacing--medium, 2rem) !important;
	padding-right: var(--wp--preset--spacing--medium, 2rem) !important;
}

/* Override theme column constraints */
body .entry-content .rc-category-grid-columns,
body .wp-block-post-content .rc-category-grid-columns,
body .entry-content .wp-block-columns.rc-category-grid-columns,
body .wp-block-post-content .wp-block-columns.rc-category-grid-columns {
	display: grid !important;
	grid-template-columns: 1fr !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

@media (min-width: 1024px) {
	body .entry-content .rc-category-grid-columns,
	body .wp-block-post-content .rc-category-grid-columns,
	body .entry-content .wp-block-columns.rc-category-grid-columns,
	body .wp-block-post-content .wp-block-columns.rc-category-grid-columns {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* ============================================
   CATEGORY PAGE STYLES
   ============================================ */

/* Category page header - styled like guidance section */
.rc-category-page-header,
body .wp-block-group.rc-category-page-header,
body .wp-block-group.alignfull.rc-category-page-header {
	padding: clamp(2.5rem, 6vw, 4rem) var(--wp--preset--spacing--medium, 2rem) !important;
	background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%) !important;
	margin: 0 !important;
	position: relative !important;
	z-index: 1 !important;
}

/* Constrain category header content width - same as hero section */
.rc-category-page-header .wp-block-group__inner-container {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--wp--preset--spacing--medium, 2rem);
	padding-right: var(--wp--preset--spacing--medium, 2rem);
}

@media (min-width: 1200px) {
	.rc-category-page-header .wp-block-group__inner-container {
		max-width: 1600px;
		padding-left: 3rem;
		padding-right: 3rem;
	}
}

.rc-category-page-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 2rem;
}

.rc-category-page-icon svg.rc-icon {
	width: 72px;
	height: 72px;
	color: #59747c;
	stroke-width: 2;
	opacity: 0.9;
	transition: transform 0.3s ease;
}

.rc-category-page-header:hover .rc-category-page-icon svg.rc-icon {
	transform: scale(1.05);
}

.rc-category-page-title {
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 1.5rem;
	color: #1a1a1a;
	text-align: center;
}

.rc-category-page-description {
	font-size: clamp(1rem, 2vw, 1.25rem);
	line-height: 1.7;
	color: #4a4a4a;
	margin-bottom: 3rem;
	text-align: center;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

/* Category intro section - more prominent styling */
.rc-category-intro {
	margin-top: 3rem;
	padding: 0;
	background: transparent;
	border-radius: 0;
	border: none;
	box-shadow: none;
	position: relative;
	overflow: visible;
	max-width: 100% !important;
	width: 100% !important;
}

/* Ensure intro section uses wider container */
body .rc-category-intro[class*="is-layout-constrained"],
body .wp-block-group.rc-category-intro[class*="is-layout-constrained"] {
	max-width: 100% !important;
	width: 100% !important;
}

.rc-category-intro .wp-block-group__inner-container {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--wp--preset--spacing--medium, 2rem);
	padding-right: var(--wp--preset--spacing--medium, 2rem);
}

@media (min-width: 1200px) {
	.rc-category-intro .wp-block-group__inner-container {
		max-width: 1600px;
		padding-left: 3rem;
		padding-right: 3rem;
	}
}

.rc-category-intro-columns,
body .wp-block-columns.rc-category-intro-columns {
	gap: 2.5rem !important;
	margin: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
}

@media (min-width: 1200px) {
	.rc-category-intro-columns,
	body .wp-block-columns.rc-category-intro-columns {
		gap: 3rem !important;
	}
}

.rc-category-intro-columns .wp-block-column,
body .rc-category-intro-columns .wp-block-column {
	background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
	border-radius: 1rem;
	padding: 3rem;
	border: 2px solid #e5e7eb;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
	position: relative;
	overflow: hidden;
	transition: all 0.3s ease;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

@media (min-width: 782px) {
	.rc-category-intro-columns .wp-block-column,
	body .rc-category-intro-columns .wp-block-column {
		padding: 3.5rem;
	}
}

@media (min-width: 782px) {
	.rc-category-intro-columns .wp-block-column,
	body .rc-category-intro-columns .wp-block-column {
		flex-basis: calc(50% - 1.5rem) !important;
		width: calc(50% - 1.5rem) !important;
		min-width: 0 !important;
	}
}

.rc-category-intro-columns .wp-block-column:hover {
	transform: translateY(-6px);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
	border-color: #59747c;
}

.rc-category-intro-columns .wp-block-column::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 5px;
	background: linear-gradient(to bottom, #3b82f6, #2563eb);
	border-radius: 1rem 0 0 1rem;
}

.rc-category-intro-columns .wp-block-column:nth-child(2)::before {
	background: linear-gradient(to bottom, #10b981, #059669);
}

.rc-category-intro-title {
	font-size: clamp(1.5rem, 3.5vw, 2rem);
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 1.5rem;
	color: #1a1a1a;
	position: relative;
	padding-left: 0;
	display: flex;
	align-items: center;
	gap: 1rem;
}

/* Hide ::before emoji if emoji is already in HTML span */
.rc-category-intro-title:has(> span)::before {
	content: none !important;
	display: none !important;
}

.rc-category-intro-title::before {
	font-size: 2rem;
	line-height: 1;
	width: auto;
	text-align: left;
	flex-shrink: 0;
	content: '🔥'; /* Default - only shows if no emoji in HTML */
}

/* FIRE pattern emojis - emojis are set directly in HTML, no CSS needed */

/* Pension pattern emojis - will be set via HTML or inline styles */

.rc-category-intro-text {
	font-size: clamp(1.0625rem, 2.25vw, 1.1875rem);
	line-height: 1.75;
	color: #4a4a4a;
	margin: 0;
}

.rc-category-intro-text strong {
	color: #1a1a1a;
	font-weight: 700;
	background: linear-gradient(135deg, #59747c 0%, #4a636a 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.rc-category-intro-text a {
	color: #59747c !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
	border-bottom: 1px solid transparent;
}

.rc-category-intro-text a:hover {
	color: #4a636a !important;
	border-bottom-color: #4a636a;
}

/* Featured calculators section */
.rc-category-featured,
body .wp-block-group.rc-category-featured,
body .wp-block-group.alignfull.rc-category-featured {
	padding: clamp(3rem, 5vw, 4.5rem) var(--wp--preset--spacing--medium, 2rem) !important;
	background-color: #ffffff !important;
	margin: 0 !important;
	position: relative;
}

/* Subtle top border for visual separation */
.rc-category-featured::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 80px;
	height: 4px;
	background: linear-gradient(90deg, transparent, #e5e7eb, transparent);
}

/* Ensure featured section uses same width as all calculators section */
body .rc-category-featured[class*="is-layout-constrained"],
body .wp-block-group.rc-category-featured[class*="is-layout-constrained"],
body .rc-category-all-calculators[class*="is-layout-constrained"],
body .wp-block-group.rc-category-all-calculators[class*="is-layout-constrained"] {
	max-width: 100% !important;
	width: 100% !important;
}

.rc-category-featured .wp-block-group__inner-container,
.rc-category-all-calculators .wp-block-group__inner-container,
.rc-category-browse .wp-block-group__inner-container {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--wp--preset--spacing--medium, 2rem);
	padding-right: var(--wp--preset--spacing--medium, 2rem);
}

@media (min-width: 1200px) {
	.rc-category-featured .wp-block-group__inner-container,
	.rc-category-all-calculators .wp-block-group__inner-container,
	.rc-category-browse .wp-block-group__inner-container {
		max-width: 1400px;
		padding-left: 3rem;
		padding-right: 3rem;
	}
}

/* Category Browse Section */
.rc-category-browse,
body .wp-block-group.rc-category-browse,
body .wp-block-group.alignfull.rc-category-browse {
	padding: clamp(3rem, 5vw, 4.5rem) var(--wp--preset--spacing--medium, 2rem) !important;
	background-color: #f8f9fa !important;
	margin: 0 !important;
	position: relative;
}

body .rc-category-browse[class*="is-layout-constrained"],
body .wp-block-group.rc-category-browse[class*="is-layout-constrained"] {
	max-width: 100% !important;
	width: 100% !important;
}

.rc-category-browse-columns {
	gap: 2rem;
	margin-top: 3rem;
	margin-bottom: 0;
	width: 100%;
	max-width: 100%;
}

.rc-category-browse-columns .wp-block-column {
	width: 100% !important;
	flex-basis: 100% !important;
}

@media (min-width: 782px) {
	.rc-category-browse-columns {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 2rem !important;
	}
	
	.rc-category-browse-columns .wp-block-column {
		flex-basis: auto !important;
		width: 100% !important;
		min-width: 0;
		display: flex !important;
		flex-direction: column !important;
	}
}

@media (min-width: 1200px) {
	.rc-category-browse-columns {
		grid-template-columns: repeat(4, 1fr) !important;
		gap: 2.5rem !important;
	}
}

.rc-category-browse-card {
	background-color: #ffffff !important;
	border-radius: 1rem !important;
	padding: 2rem !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
	border: 2px solid #e5e7eb !important;
	width: 100% !important;
	box-sizing: border-box !important;
	position: relative !important;
	overflow: visible !important;
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	transition: all 0.3s ease !important;
}

.rc-category-browse-card:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
	border-color: #59747c !important;
}

.rc-category-browse-icon {
	width: 48px;
	height: 48px;
	margin-bottom: 1.5rem;
	color: #59747c;
	flex-shrink: 0;
}

.rc-category-browse-icon svg {
	width: 100%;
	height: 100%;
}

.rc-category-browse-title {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 1rem;
	color: #1a1a1a;
}

.rc-category-browse-title a {
	color: #1a1a1a;
	text-decoration: none;
	transition: color 0.2s ease;
}

.rc-category-browse-title a:hover {
	color: #59747c;
}

.rc-category-browse-description {
	font-size: 1rem;
	line-height: 1.6;
	color: #4a4a4a;
	margin-bottom: 1.5rem;
	flex-grow: 1;
}

.rc-category-browse-buttons {
	margin-top: auto;
}

.rc-category-browse-button .wp-block-button__link {
	background-color: #59747c !important;
	color: #ffffff !important;
	padding: 0.875rem 1.75rem !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	border-radius: 8px !important;
	border: 1px solid #4a636a !important;
	transition: all 0.2s ease !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: 0 2px 8px rgba(89, 116, 124, 0.2) !important;
}

.rc-category-browse-button .wp-block-button__link:hover {
	background-color: #4a636a !important;
	border-color: #3d5258 !important;
	box-shadow: 0 4px 12px rgba(89, 116, 124, 0.3) !important;
	transform: translateY(-1px) !important;
}

.rc-featured-calculators {
	gap: 2rem;
	margin-top: 4rem;
	margin-bottom: 0;
	width: 100%;
	max-width: 100%;
}

/* Ensure columns use full width */
.rc-featured-calculators .wp-block-column {
	width: 100% !important;
	flex-basis: 100% !important;
}

@media (min-width: 782px) {
	.rc-featured-calculators {
		gap: 2.5rem;
	}
	
	.rc-featured-calculators .wp-block-column {
		flex-basis: 33.333% !important;
		width: 33.333% !important;
		min-width: 0;
		display: flex !important;
		flex-direction: column !important;
	}
	
	/* 6 calculator grid */
	.rc-featured-calculators--six {
		display: grid !important;
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 2rem !important;
	}
	
	.rc-featured-calculators--six .wp-block-column {
		flex-basis: auto !important;
		width: 100% !important;
	}
	
	/* Main calculators page - 4 columns */
	body .rc-featured-calculators--main-page.wp-block-columns,
	.rc-featured-calculators--main-page.wp-block-columns {
		display: grid !important;
		grid-template-columns: repeat(4, 1fr) !important;
		gap: 2rem !important;
		align-items: stretch !important;
	}
	
	body .rc-featured-calculators--main-page .wp-block-column,
	.rc-featured-calculators--main-page .wp-block-column {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		flex-basis: auto !important;
		display: flex !important;
		flex-direction: column !important;
	}
	
	/* Ensure cards inside maintain proper styling */
	body .rc-featured-calculators--main-page .rc-featured-calculator-card,
	.rc-featured-calculators--main-page .rc-featured-calculator-card {
		height: 100% !important;
		display: flex !important;
		flex-direction: column !important;
		background-color: #ffffff !important;
		border-radius: 1rem !important;
		padding: 2rem !important;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
		border: 2px solid #e5e7eb !important;
		width: 100% !important;
		box-sizing: border-box !important;
		position: relative !important;
		overflow: visible !important;
	}
}

/* Featured calculator cards - rounded boxes with colored accents */
.rc-featured-calculator-card,
body .wp-block-group.rc-featured-calculator-card {
	background-color: #ffffff !important;
	border-radius: 1rem !important;
	padding: 2.5rem !important;
	display: flex !important;
	flex-direction: column !important;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
	transition: all 0.3s ease !important;
	border: 2px solid #e5e7eb !important;
	width: 100% !important;
	min-height: 100% !important;
	height: 100% !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	position: relative;
	overflow: visible;
}

/* Popular ribbon badge */
.rc-featured-calculator-ribbon {
	position: absolute;
	top: -5px;
	right: 20px;
	background: linear-gradient(135deg, #f59e0b, #d97706);
	color: #ffffff;
	padding: 0.4rem 1rem;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border-radius: 0 0 0.25rem 0.25rem;
	box-shadow: 0 2px 8px rgba(245, 158, 11, 0.4);
	z-index: 10;
	line-height: 1.2;
}

.rc-featured-calculator-ribbon::before {
	content: '';
	position: absolute;
	left: -8px;
	top: 0;
	bottom: 0;
	width: 8px;
	background: linear-gradient(135deg, #d97706, #b45309);
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 0 50%);
}

.rc-featured-calculator-ribbon::after {
	content: '';
	position: absolute;
	right: -8px;
	top: 0;
	bottom: 0;
	width: 8px;
	background: linear-gradient(135deg, #d97706, #b45309);
	clip-path: polygon(0 0, 100% 0, 100% 50%, 100% 100%, 0 100%);
}

.rc-featured-calculator-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, #59747c, #4a636a);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s ease;
}

.rc-featured-calculator-card:hover::before {
	transform: scaleX(1);
}

.rc-featured-calculator-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.15);
	border-color: #59747c;
}

/* Primary card (first calculator) - blue accent */
.rc-featured-calculator-card--primary {
	border-top: 4px solid #3b82f6;
}

.rc-featured-calculator-card--primary::before {
	background: linear-gradient(90deg, #3b82f6, #2563eb);
}

.rc-featured-calculator-card--primary:hover {
	border-color: #3b82f6;
}

/* Secondary card (second calculator) - green accent */
.rc-featured-calculator-card--secondary {
	border-top: 4px solid #10b981;
}

.rc-featured-calculator-card--secondary::before {
	background: linear-gradient(90deg, #10b981, #059669);
}

.rc-featured-calculator-card--secondary:hover {
	border-color: #10b981;
}

/* Tertiary card (third calculator) - purple accent */
.rc-featured-calculator-card--tertiary {
	border-top: 4px solid #8b5cf6;
}

.rc-featured-calculator-card--tertiary::before {
	background: linear-gradient(90deg, #8b5cf6, #7c3aed);
}

.rc-featured-calculator-card--tertiary:hover {
	border-color: #8b5cf6;
}

/* Quaternary card (fourth calculator) - orange accent */
.rc-featured-calculator-card--quaternary {
	border-top: 4px solid #f59e0b;
}

.rc-featured-calculator-card--quaternary::before {
	background: linear-gradient(90deg, #f59e0b, #d97706);
}

.rc-featured-calculator-card--quaternary:hover {
	border-color: #f59e0b;
}

.rc-featured-calculator-icon--quaternary svg.rc-icon {
	color: #f59e0b;
}

.rc-featured-calculator-card--quaternary .rc-featured-calculator-button .wp-block-button__link {
	background-color: #f59e0b;
	color: #ffffff;
	border: 1px solid #d97706;
	box-shadow: 0 2px 4px rgba(245, 158, 11, 0.3);
}

.rc-featured-calculator-card--quaternary .rc-featured-calculator-button .wp-block-button__link:hover {
	background-color: #d97706;
	border-color: #b45309;
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(245, 158, 11, 0.4);
}

/* Quinary card (fifth calculator) - teal accent */
.rc-featured-calculator-card--quinary {
	border-top: 4px solid #14b8a6;
}

.rc-featured-calculator-card--quinary::before {
	background: linear-gradient(90deg, #14b8a6, #0d9488);
}

.rc-featured-calculator-card--quinary:hover {
	border-color: #14b8a6;
}

.rc-featured-calculator-icon--quinary svg.rc-icon {
	color: #14b8a6;
}

.rc-featured-calculator-card--quinary .rc-featured-calculator-button .wp-block-button__link {
	background-color: #14b8a6;
	color: #ffffff;
	border: 1px solid #0d9488;
	box-shadow: 0 2px 4px rgba(20, 184, 166, 0.3);
}

.rc-featured-calculator-card--quinary .rc-featured-calculator-button .wp-block-button__link:hover {
	background-color: #0d9488;
	border-color: #0f766e;
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(20, 184, 166, 0.4);
}

/* Senary card (sixth calculator) - pink accent */
.rc-featured-calculator-card--senary {
	border-top: 4px solid #ec4899;
}

.rc-featured-calculator-card--senary::before {
	background: linear-gradient(90deg, #ec4899, #db2777);
}

.rc-featured-calculator-card--senary:hover {
	border-color: #ec4899;
}

.rc-featured-calculator-icon--senary svg.rc-icon {
	color: #ec4899;
}

.rc-featured-calculator-card--senary .rc-featured-calculator-button .wp-block-button__link {
	background-color: #ec4899;
	color: #ffffff;
	border: 1px solid #db2777;
	box-shadow: 0 2px 4px rgba(236, 72, 153, 0.3);
}

.rc-featured-calculator-card--senary .rc-featured-calculator-button .wp-block-button__link:hover {
	background-color: #db2777;
	border-color: #be185d;
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(236, 72, 153, 0.4);
}

.rc-featured-calculator-icon {
	margin: 0 0 1.5rem 0;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.rc-featured-calculator-icon svg.rc-icon {
	width: 64px;
	height: 64px;
	stroke-width: 2;
	transition: transform 0.3s ease;
}

.rc-featured-calculator-card:hover .rc-featured-calculator-icon svg.rc-icon {
	transform: scale(1.1);
}

/* Colored icons for each featured calculator */
.rc-featured-calculator-icon--primary svg.rc-icon {
	color: #3b82f6;
}

.rc-featured-calculator-icon--secondary svg.rc-icon {
	color: #10b981;
}

.rc-featured-calculator-icon--tertiary svg.rc-icon {
	color: #8b5cf6;
}

/* Featured calculator buttons */
.rc-featured-calculator-buttons {
	margin-top: auto;
	padding-top: 1.5rem;
}

.rc-featured-calculator-button .wp-block-button__link {
	padding: 0.75rem 1.5rem;
	font-size: 0.9375rem;
	font-weight: 600;
	border-radius: 0.5rem;
	transition: all 0.2s ease;
	text-decoration: none;
	display: inline-block;
	width: 100%;
	text-align: center;
	cursor: pointer;
	box-sizing: border-box;
}

/* Primary card button - blue */
.rc-featured-calculator-card--primary .rc-featured-calculator-button .wp-block-button__link {
	background-color: #3b82f6;
	color: #ffffff;
	border: 1px solid #2563eb;
	box-shadow: 0 2px 4px rgba(59, 130, 246, 0.3);
}

.rc-featured-calculator-card--primary .rc-featured-calculator-button .wp-block-button__link:hover {
	background-color: #2563eb;
	border-color: #1d4ed8;
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(59, 130, 246, 0.4);
}

/* Secondary card button - green */
.rc-featured-calculator-card--secondary .rc-featured-calculator-button .wp-block-button__link {
	background-color: #10b981;
	color: #ffffff;
	border: 1px solid #059669;
	box-shadow: 0 2px 4px rgba(16, 185, 129, 0.3);
}

.rc-featured-calculator-card--secondary .rc-featured-calculator-button .wp-block-button__link:hover {
	background-color: #059669;
	border-color: #047857;
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(16, 185, 129, 0.4);
}

/* Tertiary card button - purple */
.rc-featured-calculator-card--tertiary .rc-featured-calculator-button .wp-block-button__link {
	background-color: #8b5cf6;
	color: #ffffff;
	border: 1px solid #7c3aed;
	box-shadow: 0 2px 4px rgba(139, 92, 246, 0.3);
}

.rc-featured-calculator-card--tertiary .rc-featured-calculator-button .wp-block-button__link:hover {
	background-color: #7c3aed;
	border-color: #6d28d9;
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(139, 92, 246, 0.4);
}

.rc-featured-calculator-title {
	font-size: clamp(1.125rem, 2vw, 1.375rem);
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 1rem;
	color: #1a1a1a;
}

.rc-featured-calculator-title a {
	color: #1a1a1a !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.rc-featured-calculator-title a:hover {
	color: #59747c !important;
}

.rc-featured-calculator-description {
	font-size: 1rem;
	line-height: 1.6;
	margin: 0;
	color: #4a4a4a;
}

/* FIRE Terms Section - full width items with different styling */
.rc-fire-terms,
body .wp-block-group.rc-fire-terms,
body .wp-block-group.alignfull.rc-fire-terms {
	padding: clamp(2rem, 3vw, 2.5rem) var(--wp--preset--spacing--medium, 2rem) clamp(3rem, 5vw, 4.5rem) var(--wp--preset--spacing--medium, 2rem) !important;
	background-color: #f8f9fa !important;
	margin: 0 !important;
	position: relative;
}

.rc-fire-terms .wp-block-group__inner-container {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--wp--preset--spacing--medium, 2rem);
	padding-right: var(--wp--preset--spacing--medium, 2rem);
}

@media (min-width: 1200px) {
	.rc-fire-terms .wp-block-group__inner-container {
		max-width: 1600px;
		padding-left: 3rem;
		padding-right: 3rem;
	}
}

.rc-fire-terms-list,
body .wp-block-group.rc-fire-terms-list {
	margin-top: 2rem;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	max-width: 100%;
}

.rc-fire-terms-list .wp-block-group__inner-container {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--wp--preset--spacing--medium, 2rem);
	padding-right: var(--wp--preset--spacing--medium, 2rem);
}

@media (min-width: 1200px) {
	.rc-fire-terms-list .wp-block-group__inner-container {
		max-width: 1200px;
		padding-left: 3rem;
		padding-right: 3rem;
	}
}

.rc-fire-terms-list .wp-block-columns {
	display: flex;
	align-items: stretch;
	align-content: flex-start;
	width: 100%;
}

.rc-fire-terms-list .wp-block-columns .wp-block-column {
	display: flex;
	align-items: stretch;
	align-self: stretch;
}

.rc-fire-term-item--full-width {
	width: 100% !important;
	margin-bottom: 0;
	background-color: #ffffff;
	border-radius: 1rem;
	padding: 2.5rem;
	border: 2px solid #e5e7eb;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
}

.rc-fire-term-item--full-width::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 5px;
	background: linear-gradient(90deg, #3b82f6, #2563eb);
}

.rc-fire-term-item--full-width:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
	border-color: #59747c;
}

.rc-fire-terms-grid {
	gap: 2rem;
	margin-top: 0;
}

@media (min-width: 782px) {
	body .rc-fire-terms-grid.wp-block-columns,
	.rc-fire-terms-grid.wp-block-columns {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 2rem !important;
		align-items: stretch !important;
	}
	
	body .rc-fire-terms-grid .wp-block-column,
	.rc-fire-terms-grid .wp-block-column {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		flex-basis: auto !important;
		display: flex !important;
		flex-direction: column !important;
	}
}

@media (min-width: 1200px) {
	.rc-fire-terms-grid .wp-block-column {
		min-width: 450px;
	}
}

.rc-fire-term-item,
body .wp-block-group.rc-fire-term-item {
	background-color: #ffffff;
	border-radius: 1rem;
	padding: 2.5rem;
	border: 2px solid #e5e7eb;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	transition: all 0.3s ease;
	width: 100%;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 200px;
	box-sizing: border-box;
}

.rc-fire-terms-grid .wp-block-column {
	display: flex !important;
	flex-direction: column !important;
}

.rc-fire-terms-grid .wp-block-column > .wp-block-group {
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
}

.rc-fire-term-item:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}

/* Different styling for each term */
.rc-fire-term-item--fire-number {
	border-left: 5px solid #3b82f6;
}

.rc-fire-term-item--coast {
	border-left: 5px solid #10b981;
}

.rc-fire-term-item--lean {
	border-left: 5px solid #f59e0b;
}

.rc-fire-term-item--barista {
	border-left: 5px solid #8b5cf6;
}

.rc-fire-term-item--fat {
	border-left: 5px solid #ef4444;
}

.rc-fire-term-title {
	font-size: clamp(1.25rem, 2.5vw, 1.5rem);
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 1rem;
	color: #1a1a1a;
	display: flex;
	align-items: center;
}

.rc-fire-term-title a {
	color: #1a1a1a !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.rc-fire-term-title a:hover {
	color: #59747c !important;
}

.rc-fire-term-text {
	font-size: 1rem;
	line-height: 1.7;
	color: #4a4a4a;
	margin: 0;
}

/* FIRE Journey Section */
.rc-fire-journey,
body .wp-block-group.rc-fire-journey,
body .wp-block-group.alignfull.rc-fire-journey {
	padding: clamp(3rem, 5vw, 4.5rem) var(--wp--preset--spacing--medium, 2rem) !important;
	background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 50%, #f8f9fa 100%) !important;
	margin: 0 !important;
	position: relative;
	border-top: 1px solid #e5e7eb;
	border-bottom: 1px solid #e5e7eb;
}

.rc-fire-journey::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 80px;
	height: 4px;
	background: linear-gradient(90deg, transparent, #59747c, transparent);
}

.rc-fire-journey .wp-block-group__inner-container {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--wp--preset--spacing--medium, 2rem);
	padding-right: var(--wp--preset--spacing--medium, 2rem);
}

.rc-fire-journey .rc-section-title {
	margin-bottom: 1.5rem;
}

.rc-fire-journey .rc-section-intro {
	margin-bottom: 2rem;
}

@media (min-width: 1200px) {
	.rc-fire-journey .wp-block-group__inner-container {
		max-width: 1400px;
		padding-left: 3rem;
		padding-right: 3rem;
	}
}

.rc-journey-steps,
body .wp-block-group.rc-journey-steps {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.rc-journey-steps .wp-block-group__inner-container {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--wp--preset--spacing--medium, 2rem);
	padding-right: var(--wp--preset--spacing--medium, 2rem);
}

@media (min-width: 1200px) {
	.rc-journey-steps .wp-block-group__inner-container {
		max-width: 1400px;
		padding-left: 3rem;
		padding-right: 3rem;
	}
}

.rc-journey-columns {
	gap: 2.5rem;
	margin-top: 3rem;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 0;
	padding-right: 0;
}

@media (min-width: 1200px) {
	.rc-journey-columns {
		max-width: 1400px;
	}
}

@media (min-width: 782px) {
	body .rc-journey-columns.wp-block-columns,
	.rc-journey-columns.wp-block-columns {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 2.5rem !important;
		align-items: stretch !important;
	}
	
	body .rc-journey-columns .wp-block-column,
	.rc-journey-columns .wp-block-column {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		flex-basis: auto !important;
		display: flex !important;
		flex-direction: column !important;
	}
}

.rc-journey-step,
body .wp-block-group.rc-journey-step {
	background: linear-gradient(135deg, #ffffff 0%, #fafbfc 100%);
	border-radius: 1rem;
	padding: 2.5rem;
	border: 2px solid #e5e7eb;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	transition: all 0.3s ease;
	position: relative;
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden;
	width: 100% !important;
	box-sizing: border-box;
}

.rc-journey-columns .wp-block-column {
	display: flex !important;
	flex-direction: column !important;
}

.rc-journey-columns .wp-block-column > .wp-block-group {
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
}

.rc-journey-step::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, #59747c, #4a636a);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.rc-journey-step:hover {
	transform: translateY(-6px);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
	border-color: #59747c;
}

.rc-journey-step:hover::before {
	opacity: 1;
}

.rc-journey-step-number {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: linear-gradient(135deg, #59747c, #4a636a);
	color: #ffffff;
	font-size: 1.75rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.75rem;
	box-shadow: 0 6px 12px rgba(89, 116, 124, 0.35);
	transition: all 0.3s ease;
}

.rc-journey-step:hover .rc-journey-step-number {
	transform: scale(1.1);
	box-shadow: 0 8px 16px rgba(89, 116, 124, 0.45);
}

.rc-journey-step-title {
	font-size: clamp(1.25rem, 2.5vw, 1.5rem);
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 1.25rem;
	color: #1a1a1a;
}

.rc-journey-step-title a {
	color: #1a1a1a !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.rc-journey-step-title a:hover {
	color: #59747c !important;
}

.rc-journey-step-text {
	font-size: 1rem;
	line-height: 1.7;
	color: #4a4a4a;
	margin: 0;
}

/* Getting Started Section */
.rc-getting-started,
body .wp-block-group.rc-getting-started,
body .wp-block-group.alignfull.rc-getting-started {
	padding: clamp(3rem, 5vw, 4.5rem) var(--wp--preset--spacing--medium, 2rem) !important;
	background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%) !important;
	margin: 0 !important;
	position: relative;
	border-top: 1px solid #e5e7eb;
	border-bottom: 1px solid #e5e7eb;
}

.rc-getting-started .wp-block-group__inner-container {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--wp--preset--spacing--medium, 2rem);
	padding-right: var(--wp--preset--spacing--medium, 2rem);
}

@media (min-width: 1200px) {
	.rc-getting-started .wp-block-group__inner-container {
		max-width: 1400px;
		padding-left: 3rem;
		padding-right: 3rem;
	}
}

.rc-getting-started-content {
	margin-top: 3rem;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	background-color: #ffffff;
	border-radius: 1rem;
	padding: 2.5rem;
	border: 2px solid #e5e7eb;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.rc-getting-started-list {
	font-size: 1rem;
	line-height: 1.8;
	color: #4a4a4a;
	padding-left: 1.5rem;
}

.rc-getting-started-list li {
	margin-bottom: 1.25rem;
}

.rc-getting-started-list strong {
	color: #1a1a1a;
	font-weight: 700;
}

.rc-getting-started-list a {
	color: #59747c !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
	border-bottom: 1px solid transparent;
}

.rc-getting-started-list a:hover {
	color: #4a636a !important;
	border-bottom-color: #4a636a;
}

/* Related Categories Section - styled like homepage */
.rc-related-categories,
body .wp-block-group.rc-related-categories,
body .wp-block-group.alignfull.rc-related-categories {
	padding: clamp(3rem, 5vw, 4.5rem) var(--wp--preset--spacing--medium, 2rem) !important;
	background-color: #ffffff !important;
	margin: 0 !important;
	position: relative;
}

.rc-related-categories .wp-block-group__inner-container {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--wp--preset--spacing--medium, 2rem);
	padding-right: var(--wp--preset--spacing--medium, 2rem);
}

@media (min-width: 1200px) {
	.rc-related-categories .wp-block-group__inner-container {
		max-width: 1400px;
		padding-left: 3rem;
		padding-right: 3rem;
	}
}

/* Use homepage category grid styling - cards inherit rc-category-card styles */
.rc-related-categories-grid.rc-category-grid-columns {
	gap: 2rem;
	margin-top: 3rem;
}

/* All calculators list section */
.rc-category-all-calculators,
body .wp-block-group.rc-category-all-calculators,
body .wp-block-group.alignfull.rc-category-all-calculators {
	padding: clamp(3rem, 5vw, 4.5rem) var(--wp--preset--spacing--medium, 2rem) !important;
	background-color: #f8f9fa !important;
	margin: 0 !important;
	position: relative;
}

/* Subtle top border for visual separation */
.rc-category-all-calculators::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 80px;
	height: 4px;
	background: linear-gradient(90deg, transparent, #d1d5db, transparent);
}

/* Ensure all calculators section uses same width constraints */
body .rc-category-all-calculators[class*="is-layout-constrained"],
body .wp-block-group.rc-category-all-calculators[class*="is-layout-constrained"] {
	max-width: 100% !important;
	width: 100% !important;
}

.rc-category-all-calculators .wp-block-group__inner-container {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--wp--preset--spacing--medium, 2rem);
	padding-right: var(--wp--preset--spacing--medium, 2rem);
}

@media (min-width: 1200px) {
	.rc-category-all-calculators .wp-block-group__inner-container {
		max-width: 1400px;
		padding-left: 3rem;
		padding-right: 3rem;
	}
}

.rc-calculators-list {
	margin-top: 3rem;
	width: 100%;
	max-width: 100%;
}

/* Ensure query block uses full width */
.rc-calculators-list.wp-block-query {
	width: 100%;
	max-width: 100%;
}

/* Two-column grid layout for calculator list */
.rc-calculators-list .wp-block-post-template {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	width: 100%;
	max-width: 100%;
	align-items: start;
}

/* Ensure all calculator items align properly */
.rc-calculators-list .wp-block-post-template > * {
	display: flex;
	align-items: stretch;
	margin: 0 !important;
	padding: 0 !important;
	height: 100%;
}

/* Ensure grid items align at the top */
.rc-calculators-list .wp-block-post-template .wp-block-group {
	display: flex;
	flex-direction: column;
	height: 100%;
	align-items: stretch;
}

/* Fix alignment for grid items */
.rc-calculators-list .wp-block-post-template .wp-block-group {
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%;
}

/* Ensure first item aligns properly */
.rc-calculators-list .wp-block-post-template > *:first-child,
.rc-calculators-list .wp-block-post-template > *:nth-child(1) {
	align-self: start;
}

@media (min-width: 782px) {
	.rc-calculators-list .wp-block-post-template {
		grid-template-columns: repeat(2, 1fr);
		gap: 2rem;
		width: 100%;
		max-width: 100%;
		align-items: start;
		grid-auto-rows: min-content;
	}
	
	/* Ensure grid items align properly - including first item */
	.rc-calculators-list .wp-block-post-template > * {
		align-self: start;
		margin: 0 !important;
		padding: 0 !important;
		display: flex;
		height: auto;
	}
	
	/* Ensure all items start at the same baseline */
	.rc-calculators-list .wp-block-post-template .wp-block-group {
		align-self: start;
	}
}

@media (min-width: 1200px) {
	.rc-calculators-list .wp-block-post-template {
		gap: 2.5rem;
		width: 100%;
		max-width: 100%;
	}
	
	/* Ensure calculator list items use full width of their grid column */
	.rc-calculators-list .rc-calculator-list-item {
		width: 100%;
		max-width: 100%;
	}
}

.rc-calculator-list-item,
body .wp-block-group.rc-calculator-list-item {
	background-color: #ffffff !important;
	border-radius: 0.75rem !important;
	padding: 1.25rem !important;
	margin-bottom: 1.25rem !important;
	border: 1px solid #e5e7eb !important;
	border-left: 4px solid #59747c !important;
	transition: all 0.3s ease !important;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06) !important;
	position: relative;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
}

/* Alternating colors for list items - 6 color cycle */
.rc-calculators-list .rc-calculator-list-item:nth-child(6n+1),
.rc-calculators-list .wp-block-group.rc-calculator-list-item:nth-child(6n+1),
body .rc-calculators-list .rc-calculator-list-item:nth-child(6n+1) {
	border-left-color: #3b82f6 !important;
}

.rc-calculators-list .rc-calculator-list-item:nth-child(6n+2),
.rc-calculators-list .wp-block-group.rc-calculator-list-item:nth-child(6n+2),
body .rc-calculators-list .rc-calculator-list-item:nth-child(6n+2) {
	border-left-color: #10b981 !important;
}

.rc-calculators-list .rc-calculator-list-item:nth-child(6n+3),
.rc-calculators-list .wp-block-group.rc-calculator-list-item:nth-child(6n+3),
body .rc-calculators-list .rc-calculator-list-item:nth-child(6n+3) {
	border-left-color: #8b5cf6 !important;
}

.rc-calculators-list .rc-calculator-list-item:nth-child(6n+4),
.rc-calculators-list .wp-block-group.rc-calculator-list-item:nth-child(6n+4),
body .rc-calculators-list .rc-calculator-list-item:nth-child(6n+4) {
	border-left-color: #f59e0b !important;
}

.rc-calculators-list .rc-calculator-list-item:nth-child(6n+5),
.rc-calculators-list .wp-block-group.rc-calculator-list-item:nth-child(6n+5),
body .rc-calculators-list .rc-calculator-list-item:nth-child(6n+5) {
	border-left-color: #ef4444 !important;
}

.rc-calculators-list .rc-calculator-list-item:nth-child(6n+6),
.rc-calculators-list .wp-block-group.rc-calculator-list-item:nth-child(6n+6),
body .rc-calculators-list .rc-calculator-list-item:nth-child(6n+6) {
	border-left-color: #06b6d4 !important;
}

.rc-calculator-list-item::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	background: linear-gradient(to bottom, currentColor, currentColor);
	border-radius: 0.75rem 0 0 0.75rem;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.rc-calculators-list .rc-calculator-list-item:nth-child(6n+1)::before,
.rc-calculators-list .wp-block-group.rc-calculator-list-item:nth-child(6n+1)::before,
body .rc-calculators-list .rc-calculator-list-item:nth-child(6n+1)::before {
	background: linear-gradient(to bottom, #3b82f6, #2563eb);
}

.rc-calculators-list .rc-calculator-list-item:nth-child(6n+2)::before,
.rc-calculators-list .wp-block-group.rc-calculator-list-item:nth-child(6n+2)::before,
body .rc-calculators-list .rc-calculator-list-item:nth-child(6n+2)::before {
	background: linear-gradient(to bottom, #10b981, #059669);
}

.rc-calculators-list .rc-calculator-list-item:nth-child(6n+3)::before,
.rc-calculators-list .wp-block-group.rc-calculator-list-item:nth-child(6n+3)::before,
body .rc-calculators-list .rc-calculator-list-item:nth-child(6n+3)::before {
	background: linear-gradient(to bottom, #8b5cf6, #7c3aed);
}

.rc-calculators-list .rc-calculator-list-item:nth-child(6n+4)::before,
.rc-calculators-list .wp-block-group.rc-calculator-list-item:nth-child(6n+4)::before,
body .rc-calculators-list .rc-calculator-list-item:nth-child(6n+4)::before {
	background: linear-gradient(to bottom, #f59e0b, #d97706);
}

.rc-calculators-list .rc-calculator-list-item:nth-child(6n+5)::before,
.rc-calculators-list .wp-block-group.rc-calculator-list-item:nth-child(6n+5)::before,
body .rc-calculators-list .rc-calculator-list-item:nth-child(6n+5)::before {
	background: linear-gradient(to bottom, #ef4444, #dc2626);
}

.rc-calculators-list .rc-calculator-list-item:nth-child(6n+6)::before,
.rc-calculators-list .wp-block-group.rc-calculator-list-item:nth-child(6n+6)::before,
body .rc-calculators-list .rc-calculator-list-item:nth-child(6n+6)::before {
	background: linear-gradient(to bottom, #06b6d4, #0891b2);
}

.rc-calculator-list-item:hover {
	border-color: currentColor;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	transform: translateX(6px);
	background: linear-gradient(to right, #f8f9fa 0%, #ffffff 100%);
}

.rc-calculator-list-item:hover::before {
	opacity: 1;
}

.rc-calculator-list-title {
	font-size: clamp(1.125rem, 2vw, 1.25rem);
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 0.75rem;
	color: #1a1a1a;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	position: relative;
	padding-left: 3rem;
}

.rc-calculator-list-title::before {
	content: '🧮';
	position: absolute;
	left: 0;
	font-size: 1.5em;
	line-height: 1;
	opacity: 0.8;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

/* FIRE & Early Retirement calculators - using :has() selector to avoid duplicates */
.rc-calculator-list-item:has(a[href*="fire"]) .rc-calculator-list-title::before,
.rc-calculator-list-item:has(a[href*="early-retirement"]) .rc-calculator-list-title::before {
	content: '🔥';
}

/* Coast FIRE */
.rc-calculator-list-item:has(a[href*="coast"]) .rc-calculator-list-title::before {
	content: '🌊';
}

/* Comparison tools */
.rc-calculator-list-item:has(a[href*="comparison"]) .rc-calculator-list-title::before,
.rc-calculator-list-item:has(a[href*="vs"]) .rc-calculator-list-title::before,
.rc-calculator-list-item:has(a[href*="compare"]) .rc-calculator-list-title::before {
	content: '⚖️';
}

/* Withdrawal & Drawdown */
.rc-calculator-list-item:has(a[href*="withdrawal"]) .rc-calculator-list-title::before,
.rc-calculator-list-item:has(a[href*="drawdown"]) .rc-calculator-list-title::before {
	content: '💸';
}

/* Tax & Lump Sum */
.rc-calculator-list-item:has(a[href*="tax"]) .rc-calculator-list-title::before,
.rc-calculator-list-item:has(a[href*="lump-sum"]) .rc-calculator-list-title::before {
	content: '💰';
}

/* State Pension */
.rc-calculator-list-item:has(a[href*="state-pension"]) .rc-calculator-list-title::before {
	content: '🏛️';
}

/* ISA calculators */
.rc-calculator-list-item:has(a[href*="isa"]) .rc-calculator-list-title::before {
	content: '💼';
}

/* SIPP & Pension */
.rc-calculator-list-item:has(a[href*="sipp"]) .rc-calculator-list-title::before,
.rc-calculator-list-item:has(a[href*="pension"]) .rc-calculator-list-title::before {
	content: '💎';
}

/* Bridge & Gap */
.rc-calculator-list-item:has(a[href*="bridge"]) .rc-calculator-list-title::before,
.rc-calculator-list-item:has(a[href*="gap"]) .rc-calculator-list-title::before {
	content: '🌉';
}

/* Risk & Probability */
.rc-calculator-list-item:has(a[href*="risk"]) .rc-calculator-list-title::before,
.rc-calculator-list-item:has(a[href*="probability"]) .rc-calculator-list-title::before,
.rc-calculator-list-item:has(a[href*="ruin"]) .rc-calculator-list-title::before {
	content: '⚠️';
}

/* Longevity & Mortality */
.rc-calculator-list-item:has(a[href*="longevity"]) .rc-calculator-list-title::before,
.rc-calculator-list-item:has(a[href*="mortality"]) .rc-calculator-list-title::before {
	content: '📅';
}

/* Stress Test & Stress Tester */
.rc-calculator-list-item:has(a[href*="stress"]) .rc-calculator-list-title::before {
	content: '📊';
}

/* Carry Forward & Allowance */
.rc-calculator-list-item:has(a[href*="carry-forward"]) .rc-calculator-list-title::before,
.rc-calculator-list-item:has(a[href*="allowance"]) .rc-calculator-list-title::before {
	content: '📋';
}

/* Lifestyle & Spending */
.rc-calculator-list-item:has(a[href*="lifestyle"]) .rc-calculator-list-title::before,
.rc-calculator-list-item:has(a[href*="spending"]) .rc-calculator-list-title::before,
.rc-calculator-list-item:has(a[href*="living-costs"]) .rc-calculator-list-title::before {
	content: '🏠';
}

/* Work & Career */
.rc-calculator-list-item:has(a[href*="work"]) .rc-calculator-list-title::before,
.rc-calculator-list-item:has(a[href*="career"]) .rc-calculator-list-title::before,
.rc-calculator-list-item:has(a[href*="semi-retirement"]) .rc-calculator-list-title::before {
	content: '💼';
}

/* Property & BTL */
.rc-calculator-list-item:has(a[href*="property"]) .rc-calculator-list-title::before,
.rc-calculator-list-item:has(a[href*="btl"]) .rc-calculator-list-title::before,
.rc-calculator-list-item:has(a[href*="buy-to-let"]) .rc-calculator-list-title::before,
.rc-calculator-list-item:has(a[href*="mortgage"]) .rc-calculator-list-title::before {
	content: '🏘️';
}

/* NHS & Public Sector */
.rc-calculator-list-item:has(a[href*="nhs"]) .rc-calculator-list-title::before,
.rc-calculator-list-item:has(a[href*="public-sector"]) .rc-calculator-list-title::before {
	content: '🏥';
}

/* Die With Zero */
.rc-calculator-list-item:has(a[href*="die-with-zero"]) .rc-calculator-list-title::before {
	content: '⏰';
}

.rc-calculator-list-item:hover .rc-calculator-list-title::before {
	transform: scale(1.2);
	opacity: 1;
}

.rc-calculator-list-title a {
	color: #1a1a1a !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
	flex: 1;
}

.rc-calculator-list-title a:hover {
	color: #59747c !important;
}

.rc-calculator-list-excerpt {
	font-size: 0.9375rem;
	line-height: 1.7;
	color: #4a4a4a;
	margin: 0.5rem 0 0 0;
	padding-left: 3rem;
	flex-grow: 0;
}

/* Calculator list buttons */
/* Calculator list buttons container */
.rc-calculator-list-buttons {
	margin-top: auto !important;
	padding-top: 0.75rem !important;
	padding-left: 3rem !important;
	display: block !important;
}

/* Calculator list button styling */
.rc-calculator-list-button .wp-block-button__link,
.rc-calculator-list-buttons .wp-block-button__link,
.rc-calculator-list-button a,
.rc-calculator-list-button-link {
	padding: 0.625rem 1.25rem !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	border-radius: 0.5rem !important;
	transition: all 0.2s ease !important;
	text-decoration: none !important;
	display: inline-block !important;
	background-color: #59747c !important;
	color: #ffffff !important;
	border: 1px solid #4a636a !important;
	box-shadow: 0 2px 4px rgba(89, 116, 124, 0.2) !important;
	cursor: pointer !important;
	box-sizing: border-box !important;
	width: auto !important;
}

.rc-calculator-list-button .wp-block-button__link:hover,
.rc-calculator-list-buttons .wp-block-button__link:hover,
.rc-calculator-list-button a:hover,
.rc-calculator-list-button-link:hover {
	background-color: #4a636a !important;
	border-color: #3d5258 !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 8px rgba(89, 116, 124, 0.3) !important;
	color: #ffffff !important;
}

/* Pagination spacing */
.rc-calculators-pagination,
.rc-calculators-list .wp-block-query-pagination {
	margin-top: 2rem !important;
	margin-bottom: 1rem !important;
	padding-top: 1rem !important;
	padding-bottom: 1rem !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 1rem !important;
	flex-wrap: wrap !important;
}

.rc-calculators-pagination .wp-block-query-pagination-numbers,
.rc-calculators-list .wp-block-query-pagination-numbers {
	margin-top: 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
}

.rc-calculators-pagination .wp-block-query-pagination-previous,
.rc-calculators-pagination .wp-block-query-pagination-next,
.rc-calculators-list .wp-block-query-pagination-previous,
.rc-calculators-list .wp-block-query-pagination-next {
	display: inline-flex !important;
	align-items: center !important;
}

/* Responsive adjustments for category page */
@media (max-width: 782px) {
	.rc-featured-calculators {
		flex-direction: column;
	}
	
	.rc-featured-calculators .wp-block-column {
		flex-basis: 100% !important;
		width: 100% !important;
	}
	
	.rc-category-intro-columns {
		flex-direction: column;
		gap: 1.5rem;
	}
	
	.rc-category-intro-columns .wp-block-column {
		flex-basis: 100% !important;
		width: 100% !important;
	}
	
	.rc-calculator-list-excerpt {
		padding-left: 0;
	}
}

@media (min-width: 783px) and (max-width: 1023px) {
	.rc-featured-calculators {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ============================================
   eToro PARTNER BLOCK (homepage & sub pages)
   ============================================ */

.rc-etoro,
body .wp-block-group.rc-etoro,
body .wp-block-group.alignfull.rc-etoro {
	padding: clamp(2.5rem, 5vw, 4rem) var(--wp--preset--spacing--medium, 2rem) !important;
	background: linear-gradient(135deg, #f0f4f8 0%, #e8eef5 100%) !important;
	margin: 0 !important;
	position: relative;
	border-top: 1px solid #e5e7eb;
	border-bottom: 1px solid #e5e7eb;
}

/* Override any theme/block default width constraints */
.rc-etoro .wp-block-group__inner-container,
body .rc-etoro .wp-block-group__inner-container,
body .entry-content .rc-etoro .wp-block-group__inner-container,
body .wp-block-post-content .rc-etoro .wp-block-group__inner-container {
	max-width: none !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: var(--wp--preset--spacing--medium, 2rem) !important;
	padding-right: var(--wp--preset--spacing--medium, 2rem) !important;
}

@media (min-width: 1200px) {
	.rc-etoro .wp-block-group__inner-container,
	body .rc-etoro .wp-block-group__inner-container {
		padding-left: 3rem !important;
		padding-right: 3rem !important;
	}
}

/* Brand + heading row (image and title clickable) */
.rc-etoro-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem 1.5rem;
	margin-bottom: 1rem;
}

.rc-etoro-brand-link {
	display: inline-flex;
	line-height: 0;
}

.rc-etoro-brand-image {
	display: block;
	height: auto;
	max-height: 48px;
	width: auto;
	max-width: 160px;
	object-fit: contain;
}

.rc-etoro-heading {
	font-size: clamp(1.5rem, 3.5vw, 2rem);
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
	color: #1a1a1a;
	text-align: center;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
	justify-content: center;
}

.rc-etoro-heading-icon {
	flex-shrink: 0;
	width: 1.5rem;
	height: 1.5rem;
	vertical-align: middle;
}

@media (min-width: 480px) {
	.rc-etoro-heading-icon {
		width: 2rem;
		height: 2rem;
	}
}

.rc-etoro-heading a,
.rc-etoro-tagline-link {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.rc-etoro-heading a:hover,
.rc-etoro-tagline-link:hover {
	color: #59747c;
}

/* Clickable benefit cards */
a.rc-etoro-benefit {
	text-decoration: none;
	color: inherit;
	cursor: pointer;
	display: flex;
}

a.rc-etoro-benefit:hover .rc-etoro-benefit-title {
	color: #59747c;
}

/* Clickable trust badges */
a.rc-etoro-trust-item {
	text-decoration: none;
	color: inherit;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

a.rc-etoro-trust-item:hover {
	transform: translateY(-1px);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.rc-etoro-tagline {
	font-size: clamp(1rem, 2vw, 1.125rem);
	line-height: 1.6;
	color: #4a4a4a;
	text-align: center;
	max-width: 720px;
	margin: 0 auto 2rem;
}

/* Card: force full width, override any constrained layout */
.rc-etoro-card,
body .rc-etoro-card,
body .rc-etoro .wp-block-group.rc-etoro-card,
body .entry-content .rc-etoro .rc-etoro-card,
body .rc-etoro .wp-block-group.rc-etoro-card[class*="is-layout-constrained"] {
	background-color: #ffffff !important;
	border-radius: 1.25rem !important;
	padding: clamp(2rem, 4vw, 3rem) !important;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
	border: 2px solid #e5e7eb !important;
	transition: all 0.3s ease !important;
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box !important;
}

.rc-etoro-card .wp-block-group__inner-container {
	max-width: none !important;
	width: 100% !important;
}

.rc-etoro-card:hover {
	border-color: #59747c;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}

/* Benefits grid: full width, equal rows, override any default */
.rc-etoro-benefits,
body .rc-etoro-benefits,
body .rc-etoro .wp-block-group.rc-etoro-benefits {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	margin-bottom: 2rem;
	width: 100% !important;
	max-width: none !important;
	align-items: stretch !important;
}

/* Let grid apply to benefit items – inner container and HTML wrappers don't constrain */
.rc-etoro-benefits .wp-block-group__inner-container,
.rc-etoro-benefits .wp-block-html {
	display: contents !important;
	min-width: 0 !important;
}

.rc-etoro-benefits > * {
	min-width: 0 !important;
}

/* Force all benefit cards to align identically (fix first-card misalignment) */
.rc-etoro-benefits .rc-etoro-benefit,
.rc-etoro-benefits .rc-etoro-benefit:first-child {
	align-self: stretch !important;
	margin: 0 !important;
	vertical-align: top;
}

@media (min-width: 640px) {
	.rc-etoro-benefits,
	body .rc-etoro-benefits {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 1.75rem;
	}
}

@media (min-width: 1200px) {
	.rc-etoro-benefits,
	body .rc-etoro-benefits {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 2rem;
	}
}

/* Rounded rectangle benefit blocks – equal size, aligned, full width */
.rc-etoro-benefit,
body .rc-etoro-benefit {
	position: relative;
	display: flex !important;
	flex-direction: row;
	align-items: flex-start;
	gap: 1rem;
	padding: 1.5rem 1.75rem 1.5rem 1.5rem;
	background: linear-gradient(135deg, #ffffff 0%, #f8fafb 100%);
	border-radius: 1rem;
	border: 2px solid #e5e7eb;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	transition: all 0.25s ease;
	min-width: 0 !important;
	width: 100% !important;
	box-sizing: border-box !important;
	/* Equal height in grid */
	min-height: 200px !important;
	height: 100%;
}

.rc-etoro-benefit:hover {
	border-color: #59747c;
	box-shadow: 0 4px 14px rgba(89, 116, 124, 0.12);
}

.rc-etoro-benefit::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.75rem;
	bottom: 0.75rem;
	width: 4px;
	background: linear-gradient(to bottom, #59747c, #4a636a);
	border-radius: 1rem 0 0 1rem;
}

.rc-etoro-benefit-icon {
	display: block;
	font-size: 1.75rem;
	line-height: 1;
	flex-shrink: 0;
	margin-top: 0.1rem;
}

.rc-etoro-benefit-content {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 0;
	flex: 1;
}

/* Find out more button – punchy CTA at bottom of card */
.rc-etoro-benefit-btn {
	display: inline-block;
	margin-top: auto;
	padding: 1.25rem 1rem 0.5rem;
	font-size: 0.9375rem;
	font-weight: 700;
	color: #ffffff !important;
	background: linear-gradient(135deg, #59747c 0%, #4a636a 100%);
	border: 1px solid #4a636a;
	border-radius: 8px;
	text-decoration: none !important;
	transition: all 0.2s ease;
	align-self: flex-start;
	width: 100%;
	text-align: center;
	box-sizing: border-box;
	box-shadow: 0 2px 8px rgba(89, 116, 124, 0.35);
}

.rc-etoro-benefit-btn:hover {
	background: linear-gradient(135deg, #4a636a 0%, #3d5359 100%);
	color: #ffffff !important;
	border-color: #3d5359;
	box-shadow: 0 4px 12px rgba(89, 116, 124, 0.45);
	transform: translateY(-1px);
}

.rc-etoro-benefit-content .rc-etoro-benefit-title,
.rc-etoro-benefit-content p.rc-etoro-benefit-title {
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 0.25rem 0 !important;
	color: #1a1a1a;
}

.rc-etoro-benefit-content .rc-etoro-benefit-text,
.rc-etoro-benefit-content p.rc-etoro-benefit-text {
	font-size: 0.9375rem;
	line-height: 1.55;
	color: #4a4a4a;
	margin: 0 !important;
}

.rc-etoro-benefit-content .rc-etoro-benefit-risk,
.rc-etoro-benefit-content p.rc-etoro-benefit-risk {
	font-size: 0.6875rem;
	line-height: 1.4;
	color: #6b7280;
	margin: 0.5rem 0 0 0 !important;
}

/* Punchy trust badges – more space above from rounded rectangles */
.rc-etoro-trust {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.75rem 1rem;
	margin: 3.5rem 0 1.75rem 0;
}

.rc-etoro-trust-item {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 1rem;
	font-size: 0.9375rem;
	font-weight: 700;
	color: #0f172a;
	background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
	border: 1px solid #6ee7b7;
	border-radius: 999px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
	letter-spacing: 0.02em;
}

.rc-etoro-trust-item:first-of-type {
	background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
	border-color: #93c5fd;
}

.rc-etoro-trust-item:nth-of-type(2) {
	background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
	border-color: #fcd34d;
}

.rc-etoro-cta-wrap {
	text-align: center;
	margin-top: 1.5rem;
}

.rc-etoro-cta .wp-block-button__link {
	background: linear-gradient(135deg, #59747c 0%, #4a636a 100%) !important;
	color: #ffffff !important;
	padding: 1rem 2.25rem !important;
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	border-radius: 10px !important;
	border: 2px solid #3d5258 !important;
	transition: all 0.2s ease !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.5rem !important;
	box-shadow: 0 4px 14px rgba(89, 116, 124, 0.4) !important;
	letter-spacing: 0.03em !important;
	text-transform: none !important;
}

.rc-etoro-cta .wp-block-button__link:hover {
	background: linear-gradient(135deg, #4a636a 0%, #3d5258 100%) !important;
	border-color: #2d3d42 !important;
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(89, 116, 124, 0.5) !important;
}

.rc-etoro-disclaimer {
	font-size: 0.8125rem;
	line-height: 1.5;
	color: #6b7280;
	text-align: center;
	margin-top: 1.25rem;
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
}

.rc-etoro-disclaimer a {
	color: #59747c;
	text-decoration: none;
}

.rc-etoro-disclaimer a:hover {
	text-decoration: underline;
}

/* ============================================
   eToro MOBILE & RESPONSIVE (all devices)
   ============================================ */

/* Base: prevent horizontal overflow */
.rc-etoro {
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}

/* Mobile: smaller section padding, header stacks, safe areas */
@media (max-width: 599px) {
	.rc-etoro,
	body .wp-block-group.rc-etoro {
		padding-left: max(1rem, env(safe-area-inset-left, 0px)) !important;
		padding-right: max(1rem, env(safe-area-inset-right, 0px)) !important;
	}

	.rc-etoro .wp-block-group__inner-container,
	body .rc-etoro .wp-block-group__inner-container {
		padding-left: max(0.5rem, env(safe-area-inset-left, 0px)) !important;
		padding-right: max(0.5rem, env(safe-area-inset-right, 0px)) !important;
	}
	.rc-etoro,
	body .wp-block-group.rc-etoro {
		padding-top: clamp(1.5rem, 4vw, 2.5rem) !important;
		padding-bottom: clamp(1.5rem, 4vw, 2.5rem) !important;
	}

	.rc-etoro-header {
		flex-direction: column;
		gap: 0.75rem;
		margin-bottom: 1.25rem;
		text-align: center;
	}

	.rc-etoro-heading {
		font-size: clamp(1.25rem, 5vw, 1.5rem);
		justify-content: center;
	}

	.rc-etoro-heading-icon {
		width: 1.5rem;
		height: 1.5rem;
	}

	.rc-etoro-brand-image {
		max-height: 40px;
		max-width: 140px;
	}

	.rc-etoro-tagline {
		font-size: 0.9375rem;
		max-width: 100%;
		margin-bottom: 1.5rem;
		padding: 0 0.25rem;
	}

	.rc-etoro-card {
		padding: 1.25rem 1rem !important;
		border-radius: 1rem !important;
	}

	.rc-etoro-benefits {
		gap: 1rem;
		margin-bottom: 1.5rem;
	}

	.rc-etoro-benefit {
		flex-direction: row;
		padding: 1rem 1.25rem 1rem 1rem;
		min-height: 160px !important;
		gap: 0.75rem;
		border-radius: 0.75rem;
	}

	.rc-etoro-benefit::before {
		top: 0.5rem;
		bottom: 0.5rem;
		border-radius: 0.75rem 0 0 0.75rem;
	}

	.rc-etoro-benefit-icon {
		font-size: 1.5rem;
	}

	.rc-etoro-benefit-content .rc-etoro-benefit-title,
	.rc-etoro-benefit-content p.rc-etoro-benefit-title {
		font-size: 1rem;
	}

	.rc-etoro-benefit-content .rc-etoro-benefit-text,
	.rc-etoro-benefit-content p.rc-etoro-benefit-text {
		font-size: 0.875rem;
	}

	.rc-etoro-benefit-btn {
		padding: 0.75rem 1rem;
		font-size: 0.875rem;
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.rc-etoro-trust {
		margin: 2rem 0 1.25rem 0;
		gap: 0.5rem 0.75rem;
		justify-content: center;
	}

	.rc-etoro-trust-item {
		padding: 0.4rem 0.75rem;
		font-size: 0.8125rem;
	}

	.rc-etoro-cta-wrap {
		margin-top: 1.25rem;
		padding: 0 0.25rem;
	}

	.rc-etoro-cta .wp-block-button__link {
		width: 100% !important;
		min-height: 48px !important;
		padding: 0.875rem 1.5rem !important;
		font-size: 1rem !important;
	}

	.rc-etoro-disclaimer {
		font-size: 0.75rem;
		margin-top: 1rem;
		padding: 0 0.5rem;
	}
}

/* Small phones: extra compact */
@media (max-width: 374px) {
	.rc-etoro-benefit {
		min-height: 140px !important;
		padding: 0.875rem 1rem 0.875rem 0.875rem;
	}

	.rc-etoro-trust-item {
		font-size: 0.75rem;
		padding: 0.35rem 0.6rem;
	}
}

/* Tablet: 2 columns already, ensure spacing */
@media (min-width: 600px) and (max-width: 899px) {
	.rc-etoro-header {
		gap: 1rem;
	}

	.rc-etoro-card {
		padding: 1.5rem 1.5rem !important;
	}

	.rc-etoro-benefit {
		min-height: 180px !important;
	}
}

/* Prevent text overflow in benefit cards on all viewports */
.rc-etoro-benefit-content {
	overflow-wrap: break-word;
	word-wrap: break-word;
	min-width: 0;
}

.rc-etoro-benefit-content .rc-etoro-benefit-text,
.rc-etoro-benefit-content p.rc-etoro-benefit-text {
	overflow-wrap: break-word;
	word-wrap: break-word;
}

/* Touch-friendly: ensure buttons and links have enough tap area */
@media (pointer: coarse) {
	.rc-etoro-benefit-btn {
		min-height: 44px;
	}

	.rc-etoro-cta .wp-block-button__link {
		min-height: 48px !important;
	}

	a.rc-etoro-trust-item {
		min-height: 44px;
		justify-content: center;
	}
}

/* Reduced motion for eToro block */
@media (prefers-reduced-motion: reduce) {
	.rc-etoro-benefit,
	.rc-etoro-benefit-btn,
	a.rc-etoro-trust-item,
	.rc-etoro-cta .wp-block-button__link {
		transition: none;
	}

	.rc-etoro-cta .wp-block-button__link:hover {
		transform: none;
	}

	a.rc-etoro-trust-item:hover {
		transform: none;
	}
}

/* Full-width override for eToro block */
body .rc-etoro,
body .entry-content .rc-etoro,
body .wp-block-post-content .rc-etoro {
	width: 100% !important;
	max-width: 100% !important;
}

