
.editor-styles-wrapper .container {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Match Gutenberg canvas width to frontend container width */
.editor-styles-wrapper .is-root-container,
.editor-styles-wrapper .wp-block-post-content {
	max-width: 1320px !important;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
	box-sizing: border-box;
}

.editor-styles-wrapper .wp-block[data-align="wide"] {
	max-width: 1320px;
}

.editor-styles-wrapper .wp-block[data-align="full"] {
	max-width: none;
}

.editor-styles-wrapper .kv-header { padding-top: 2.5rem; margin-bottom: 2rem; }

/* === GLOBAL CONTAINER === */
/* .container {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 .75rem;
} */

.kv-margin-top-p,
.margin-top-p,
.margin-top-h {
	margin-top: 2rem;
}
.kv-margin-bottom-p,
.margin-bottom-p {
	margin-bottom: 2rem;
}


@media (max-width: 767px) {
	.column-padding-mobile {
		padding-top: 3rem;
		/* padding-bottom: 2rem; */
	}
}

.kv-list--margin {
	margin-top: 2rem;
	margin-bottom: 2rem;
}
/* .kv-list--light {
background: #ffd7ea;
} */

.kv-media-text-left-inline-pattern .kv-columns-50,
.kv-media-text-right-inline-pattern .kv-columns-50 {
	margin-bottom: 0;
}
.kv-media-text-left-inline-pattern .kv-list,
.kv-media-text-right-inline-pattern .kv-list,
.kv-single-text-centered-pattern .kv-list {
	padding: 0 2.25rem;
}

@media(max-width: 767px) {
	.kv-media-text-left-inline-pattern .wp-block-buttons,
	.kv-media-text-right-inline-pattern .wp-block-buttons {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 1.5rem;
		width: 100%;
		margin: 2rem 0;
		padding: 0 1rem;
	}

	.kv-media-text-left-inline-pattern .wp-block-buttons .wp-block-button,
	.kv-media-text-right-inline-pattern .wp-block-buttons .wp-block-button {
		width: 100%;
		/* margin: 0 0 .75rem; */
	}

	/* .kv-media-text-left-inline-pattern .wp-block-buttons .wp-block-button:last-child,
	.kv-media-text-right-inline-pattern .wp-block-buttons .wp-block-button:last-child {
		margin-bottom: 0;
	} */

	.kv-media-text-left-inline-pattern .wp-block-buttons .wp-block-button__link,
	.kv-media-text-right-inline-pattern .wp-block-buttons .wp-block-button__link,
	.kv-media-text-left-inline-pattern .wp-block-buttons .btn,
	.kv-media-text-right-inline-pattern .wp-block-buttons .btn {
		display: block;
		width: 100%;
		box-sizing: border-box;
		text-align: center;
	}
}

@media(min-width: 768px) {
	.kv-media-text-left-inline-pattern .wp-block-buttons,
	.kv-media-text-right-inline-pattern .wp-block-buttons {
		gap: 1rem;
		padding: 0 2rem;
	}
	.kv-media-text-left-inline-pattern .kv-list,
	.kv-media-text-right-inline-pattern .kv-list,
	.kv-single-text-centered-pattern .kv-list {
		padding-left: 3.25rem;
	}
}

@media (max-width: 767px) {
	.wp-block-image img {
		aspect-ratio: 1 / 1;
	}
	.mobile-bleed-media {
		margin: 0 calc(-50vw + 50%);
		width: 100vw;
	}
}

.wp-block-image img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	max-height: 665px;
	border-radius: 0;
}

@media (min-width: 768px) {
	.wp-block-image img {
		/* aspect-ratio: auto;
		object-fit: cover;
		max-height: 665px; */
		border-radius: .875rem .875rem 0 0;
	}
}

.wp-block-list {
	list-style: circle;
	padding-left: 1.5rem;
	/* margin-top: 2rem; */
	color: #3e313c;
}
.wp-block-list li {
	margin-bottom: .75rem;
}

.wp-block-list.kv-list.kv-list--margin-b {
	margin-bottom: 2rem;
}

/* Pink-White & Light BG Color */
.kv-pattern.kv-pattern--light {
	/* background-color: #F6E6F0; */
	background-color: #FFD7EA;
}

.kv-section {
	padding-bottom: 4rem;
}
.kv-section--light {
	background-color: #FFD7EA; /* Light BG Color */
}
.kv-section--lighter {
	background-color: #F6E6F0; /* Down Pink */
}
.kv-section--padding {
	padding-top: 5rem;
	padding-bottom: 4rem;
}
.kv-section--padding-faq {
	padding-top: 14rem;
	padding-bottom: 4rem;
}
.kv-section--padding-top {
	padding-top: 5rem;
	padding-bottom: 0;
}
.kv-section--padding-top-mobile {
	padding-top: 5rem;
	padding-bottom: 0;
}
/* @media (min-width: 768px) {
	.kv-section--padding {
		padding-top: 5rem;
		padding-bottom: 5rem;
	}
	.kv-section--padding-top {
		padding-top: 7.5rem;
		padding-bottom: 0;
	}
	.kv-section--padding-0 {
		padding-top: 0;
		padding-bottom: 0;
	}
} */
.kv-section-head {
	margin: 0 auto;
	padding-bottom: 2rem;
	padding-top: 5rem;
	position: relative;
}


/* === TYPOGRAPHY === */

/* .kv-section p:last-child {
	margin-bottom: 0;
} */

.wp-block-column p:not(.kv-subtitle) {
	font-size: 1.125rem;
 }
.kv-subtitle {
	color: #f77fbe;
	font-family: Satisfy, cursive;
	/* font-size: clamp(1.25rem, 6.3vw, 1.6rem); */
	font-size: clamp(1.25rem,6.3vw,1.5em);
	font-weight: 400;
	line-height: 30px;
	margin-bottom: 1rem;
	text-align: center;
}

.kv-title {
	color: #000;
	font-size: clamp(1.8rem, 8.54vw, 2.4rem);
	font-weight: bold;
	line-height: 1.2;
	margin-bottom: 0;
	text-align: center;
}
.kv-title--thin {
	font-weight: 400;
}

.kv-section p:not(.kv-subtitle) {
	color: #3e313c;
}

.kv-lead {
  font-size: 1.125rem;
  /* line-height: 2rem; */
  color: #3E313C;
	/* color: #000; */
	margin-top: 2rem;
}
.kv-text-last {
	margin-bottom: 0;
}
.kv-text-p {
	font-size: 1.125rem;
	/* line-height: 2rem; */
	color: #3E313C;
	padding: 0 1rem;
}
@media (min-width: 768px) {
	.kv-text-p {
		padding: 0 2rem;
	}
}

/* === BUTTONS === */
.kv-button {
  /* display: inline-block;
  background: #f77fbe;
  color: #fff;
  padding: 0.75rem 1.5rem;
  border-radius: 50px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.3s ease; */
  margin: 0.5rem 0.5rem 0 0;
}
.wp-block-buttons .kv-button {
	display: inline-block;
	width: fit-content;
	font-size: .875rem;
	background-color: transparent;
	border: 1px solid #f77fbe;
	color: #000;
	padding: .6rem 1.5rem;
}
/* .wp-block-buttons .kv-button:hover {
	background-color: #f77fbe;
	color: #fff;
	opacity: .85;
} */


/* === BRIDGE (centered section) === */
.kv-bridge {
  text-align: center;
  padding-top: 5rem;
	padding-bottom: 4rem;
  background: #FFD7EA; /* Light BG Color */
}
.kv-bridge .kv-lead {
	color: #3E313C;
}
.kv-bridge-subtitle {
	color: #f77fbe; /* Accent Color */
	font-family: Satisfy, cursive;
	font-size: clamp(1.25rem, 6.3vw, 1.6rem);
	font-weight: 400;
	line-height: 30px;
	margin-bottom: 1rem;
	/* text-align: center; */
}
.kv-bridge-title {
	color: #000;
	font-size: 1.5rem;
	margin-bottom: 1rem;
	font-weight: 400;
}

.kv-bridge p {
  max-width: 920px;
  margin: 0.5rem auto 1.5rem;
}
.kv-bridge p:nth-child(3) {
	margin-bottom: 2.5rem;
}


/* === COLUMNS === */
.kv-columns-50 {
	gap: 0;
	margin-bottom: 0;
}
@media (min-width: 768px) {
	.kv-columns-50 {
		display: flex;
		gap: 4rem;
		flex-wrap: wrap;
		align-items: center!important;
	}
}
.kv-columns-50 .wp-block-column {
  flex: 1;
  min-width: 280px;
}


/* Media + Text alignment */
/* .kv-media-left .wp-block-column:first-child { order: 0; }
.kv-media-left .wp-block-column:last-child  { order: 1; }
.kv-media-right .wp-block-column:first-child { order: 0; }
.kv-media-right .wp-block-column:last-child  { order: 1; } */
.kv-media-text-left-inline-pattern .wp-block-column:first-child { order: 1; }
.kv-media-text-left-inline-pattern .wp-block-column:last-child  { order: 0; }
.kv-media-text-left-inline-cta-pattern .wp-block-column:first-child { order: 1; }
.kv-media-text-left-inline-cta-pattern .wp-block-column:last-child  { order: 0; }
@media (min-width: 768px) {
	.kv-media-text-left-inline-cta-pattern .wp-block-column:first-child { order: 0; }
	.kv-media-text-left-inline-cta-pattern .wp-block-column:last-child  { order: 1; }
	.kv-media-text-left-inline-pattern .wp-block-column:first-child { order: 0; }
	.kv-media-text-left-inline-pattern .wp-block-column:last-child  { order: 1; }
}
.kv-media-text-right-inline-cta-pattern .kv-subtitle,
.kv-media-text-right-inline-cta-pattern .kv-title,
.kv-media-text-right-inline-pattern .kv-subtitle,
.kv-media-text-right-inline-pattern .kv-title,
.kv-media-text-left-inline-pattern .kv-subtitle,
.kv-media-text-left-inline-pattern .kv-title,
.kv-media-text-left-inline-cta-pattern .kv-subtitle,
.kv-media-text-left-inline-cta-pattern .kv-title {
	text-align: left;
}


/* === Kv-40-30-30 Pattern === */
.kv-40-30-30-pattern .kv-columns-50{
	gap: 0;
}
.kv-40-30-30-pattern .kv-subtitle,
.kv-40-30-30-pattern .kv-title {
	text-align: left;
}
.kv-40-30-30-pattern .kv-list {
	list-style: circle;
	padding: 2rem 1rem 1rem 2.5rem;
	background-color: #ffcbe4;
	border-radius: .875rem;
}
.kv-40-30-30-pattern .kv-list.kv-list--light {
	background-color: #ffd7ea;
}
/* .kv-40-30-30-pattern .kv-list.kv-list--check:first-child {
	margin-top: 2rem;
} */
.kv-40-30-30-pattern .kv-list li {
	margin-bottom: 0.75rem;
}


@media (min-width: 1024px) {
	.kv-40-30-30-pattern .kv-columns-50 {
		gap: 1.5rem;
	}
	.kv-40-30-30-pattern .wp-block-column {
		margin-top: 4.5rem;
	}
	.kv-40-30-30-pattern .wp-block-column:first-child {
		margin-top: 0;
	}
	.kv-40-30-30-pattern .wp-block-column .margin-top-p {
		display: none;
	}
	.kv-40-30-30-pattern .kv-list {
		padding: 2rem 1rem 1rem 3rem;
		/* margin-top: 3.5rem; */
	}
	.kv-40-30-30-pattern .kv-list.kv-list--check:first-child {
		/* margin-top: 3.5rem; */
		margin-top: 0;
		margin-left: 2rem;
	}
}


/* === Eight Cards Grid (4 columns / 2 rows) === */
.kv-eight-cards-grid-pattern .kv-cards-grid {
	margin-top: 3rem;
}
.kv-eight-cards-grid-pattern .kv-cards-grid,
.kv-eight-cards-grid-pattern .kv-cards-grid > .wp-block-group__inner-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem;
}
.kv-eight-cards-grid-pattern .kv-eight-card {
	flex: 1 1 100%;
	max-width: 100%;
	background-color: #ffcbe4;
	padding: 1.25rem;
	border-radius: .875rem;
	box-sizing: border-box;
	transition: box-shadow .2s;
}
.kv-eight-cards-grid-pattern .kv-eight-card:hover {
	box-shadow: 0 4px 16px rgba(0, 0, 0, .15);
}
.kv-eight-cards-grid-pattern .kv-eight-card__title {
	font-size: 1.25rem;
	line-height: 1.25;
	margin-bottom: .65rem;
	text-align: left;
}
.kv-eight-cards-grid-pattern .kv-eight-card__text {
	font-size: 1rem;
	line-height: 1.55;
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
}
@media (min-width: 768px) {
	.kv-eight-cards-grid-pattern .kv-eight-card {
		flex: 0 1 calc(50% - 1rem);
		max-width: calc(50% - 1rem);
	}
}
@media (min-width: 1200px) {
	.kv-eight-cards-grid-pattern .kv-eight-card {
		flex: 0 1 calc(25% - 1rem);
		max-width: calc(25% - 1rem);
	}
}


/* === Benefits Cards Grid (3 columns) === */
.kv-six-cards-grid-pattern .kv-cards-grid {
	margin-top: 3rem;
}
.kv-six-cards-grid-pattern .kv-cards-grid,
.kv-six-cards-grid-pattern .kv-cards-grid > .wp-block-group__inner-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem;
}
.kv-six-cards-grid-pattern .kv-six-card {
	flex: 1 1 100%;
	max-width: 100%;
	background-color: #ffcbe4;
	padding: 1.25rem;
	border-radius: .875rem;
	box-sizing: border-box;
	transition: box-shadow .2s;
}
.kv-six-cards-grid-pattern .kv-six-card.kv-six-card--light {
	background-color: #ffd7ea;
}
.kv-six-cards-grid-pattern .kv-six-card.kv-six-card--dark {
	background-color: #ffaad3;
}
.kv-six-cards-grid-pattern .kv-six-card:hover {
	box-shadow: 0 4px 16px rgba(0, 0, 0, .15);
}
.kv-six-cards-grid-pattern .kv-six-card__title {
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.25;
	margin-bottom: .65rem;
	text-align: left;
}
.kv-six-cards-grid-pattern .kv-six-card__text {
	font-size: 1rem;
	line-height: 1.55;
	margin-top: 0;
	/* margin-bottom: 0; */
	padding: 0;
}
@media (min-width: 768px) {
	.kv-six-cards-grid-pattern .kv-six-card {
		flex: 0 1 calc(50% - 1rem);
		max-width: calc(50% - 1rem);
	}
}
@media (min-width: 1200px) {
	.kv-six-cards-grid-pattern .kv-six-card {
		flex: 0 1 calc(33.333% - 1rem);
		max-width: calc(33.333% - 1rem);
	}
}


/* === Yoast FAQ Wrapper (layout only, no accordion overrides) === */
.kv-yoast-faq-pattern .kv-faq-layout {
	margin-top: 2rem;
	gap: 1.5rem;
}
.kv-yoast-faq-pattern .kv-faq-layout__head .kv-subtitle,
.kv-yoast-faq-pattern .kv-faq-layout__head .kv-title {
	text-align: left;
}
.kv-yoast-faq-pattern .kv-faq-layout__text {
	margin-top: 1.25rem;
	margin-bottom: 0;
	font-size: 1.125rem;
	line-height: 1.6;
	color: #3E313C;
}
.kv-yoast-faq-pattern .kv-faq-slot {
	margin-top: 0;
}
.kv-yoast-faq-pattern .kv-faq-helper {
	font-size: .9375rem;
	color: #3E313C;
	margin: 0;
	padding: 1rem;
	background-color: #F6E6F0;
	border-radius: .875rem;
}
@media (min-width: 768px) {
	.kv-yoast-faq-pattern .kv-faq-layout {
		gap: 2rem;
	}
}
@media (min-width: 1024px) {
	.kv-yoast-faq-pattern .kv-faq-layout {
		gap: 2.5rem;
	}
	.kv-yoast-faq-pattern .kv-faq-layout > .wp-block-column.kv-faq-layout__head {
		flex-basis: calc(34% - 1.25rem);
		position: sticky;
		top: 1.5rem;
		align-self: flex-start;
	}
	.kv-yoast-faq-pattern .kv-faq-layout > .wp-block-column.kv-faq-layout__body {
		flex-basis: calc(66% - 1.25rem);
	}
}

/* === Single Text Centered Checklists Pattern === */
.kv-single-text-centered-checklists-pattern .kv-checklists-box {
	font-size: 1.125rem;
	background-color: #ffcbe4;
	padding: 3rem 1.25rem 2rem;
	border-radius: .875rem;
	margin-top: 2rem;
}
.kv-single-text-centered-checklists-pattern .kv-checklists-box.kv-checklists-box--light {
	background-color: #ffd7ea;
}

@media (min-width: 768px) {
	.kv-single-text-centered-checklists-pattern .kv-checklist-list {
		padding: 2rem 2rem 2rem 3rem;
		border-radius: .875rem;
		background-color: #ffcbe4;
	}
	.kv-single-text-centered-checklists-pattern .kv-checklist-list.kv-checklist-list--light {
		background-color: #ffd7ea;
	}

	.kv-single-text-centered-checklists-pattern .kv-checklists-box,
	.kv-single-text-centered-checklists-pattern .kv-checklists-box.kv-checklists-box--light {
		align-items: stretch !important;
		background-color: transparent;
		padding: 0;
	}

	.kv-single-text-centered-checklists-pattern .kv-checklists-box > .wp-block-column {
		display: flex;
	}

	.kv-single-text-centered-checklists-pattern .kv-checklist-list {
		height: 100%;
		width: 100%;
		margin-bottom: 0;
		box-sizing: border-box;
	}
}


/* === RESPONSIVE === */
@media (min-width: 768px) {
	.kv-section {
		padding-bottom: 5rem;
	}
	.kv-header {
		max-width: 720px;
	}
  .kv-subtitle {
		font-size: clamp(1.4rem, 2vw, 2rem);
  }
	.kv-title {
    font-size: clamp(2rem,3vw,2.75rem);
  }
	.kv-bridge {
		padding-bottom: 4rem;
	}
	.kv-bridge-subtitle {
		font-size: clamp(1.4rem, 2vw, 2rem);
  }
	 .kv-bridge-title {
		font-size: 140%;
	}
	.kv-section--padding {
		padding-top: 5rem;
		padding-bottom: 5rem;
	}
	.kv-section--padding-top {
		padding-top: 7.5rem;
		padding-bottom: 0;
	}
	.kv-section--padding-top-mobile {
		padding-top: 7.5rem;
		padding-bottom: 4rem;
	}
	.kv-section--padding-0 {
		padding-top: 0;
		padding-bottom: 0;
	}
}

@media (min-width: 992px) {
	/* .kv-title {
		font-size: clamp(2rem, 3vw, 2.75rem);
	} */
	.kv-section-head {
		padding-top: 7.5rem;
		padding-bottom: 3rem;
	}
	.kv-subtitle {
		margin-bottom: 1.5rem;
	}
	.kv-section--padding {
		padding-top: 7.5rem;
		padding-bottom: 5rem;
	}
}

/* Technical utility: hide media/image side on mobile only */
@media (max-width: 768px) {
	.kv-hide-media .section-block__right,
	.kv-hide-media .section-block__media-group,
	.kv-hide-media .section-block__media,
	.kv-hide-media .mobile-bleed-media,
	.kv-hide-media .wp-block-image,
	.kv-hide-media .wp-block-image img {
		display: none !important;
	}

	.kv-hide-media .section-block__left,
	.kv-hide-media .wp-block-column {
		flex-basis: 100% !important;
		max-width: 100% !important;
	}
}