/*--------------------------------------------------------------
Typography
--------------------------------------------------------------*/
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
	text-decoration: none;
	font-weight:inherit;
	color:inherit;
}

b,
strong {
	font-weight: bold;
}

dfn,
cite,
em,
i {
	font-style: italic;
}



/*--------------------------------------------------------------
Pills
--------------------------------------------------------------*/
/* Pill style for Paragraph block */
.is-style-bbc-pill {
  display: inline-block;
  padding: 0.3em 0.3em;
  border-radius: 5px;
  letter-spacing: 0.05em;
  font-weight: 600;
  font-size: 0.85rem;
  line-height: 1;
  margin: 0;
}

.is-style-bbc-pill a {
	text-decoration: none;
}

.is-style-bbc-pill.has-background {
  padding: 0.35em 0.85em;
}

.is-style-bbc-pill:not(.has-background) {
  background: var(--wp--preset--color--theme-primary);
}

.is-style-bbc-pill:not(.has-text-color) {
  color: var(--wp--preset--color--black, #000);
}



/*--------------------------------------------------------------
Headings
--------------------------------------------------------------*/
.wp-block-heading.is-style-underline {
	position: relative;
	display: inline-block;
	padding-bottom: 0.5em;
}

.wp-block-heading.is-style-underline::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: currentColor;
}



/*--------------------------------------------------------------
Links
--------------------------------------------------------------*/
a {
	-webkit-transition: all .3s;
			transition: all .3s;
}

.has-theme-primary-background-color a {
	text-decoration-color: var(--wp--preset--color--white);
}

a:hover,
a:focus,
a:active {
	text-decoration:underline;
	text-decoration-color: var(--wp--preset--color--theme-primary);
}

.bbc-linked-block {
	text-decoration: none;
	position: relative;
}

.bbc-linked-block:hover {
	text-decoration: none;
	-webkit-transform: scale(1.05);
            transform: scale(1.05);
}

.bbc-linked-block:hover :is(h1, h2, h3, h4, h5, h6) {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--theme-primary);
}

/* Reserve space in-flow */
.bbc-linked-block.bbc-has-corner-arrow::after {
	content: "";
	display: block;
	height: 40px;
}

.bbc-linked-block.bbc-has-corner-arrow::before {
	content: "";
	position: absolute;
	right: var(--wp--preset--spacing--xl);
	bottom: var(--wp--preset--spacing--xl);
	width: 45px;
	height: 45px;
	border-radius: 8px;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20width%3D%2222%22%20height%3D%2222%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M5%2012h12M13%206l6%206-6%206%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 31px 31px;
	pointer-events: none;
	z-index: 2;
	transition: transform 0.3s ease;
}

.bbc-linked-block.bbc-has-corner-arrow:hover::before {
	transform: scale(1.2);
}


/*--------------------------------------------------------------
Buttons
--------------------------------------------------------------*/
.wp-block-button__link:hover{
	transform: scale(1.1);
}

.wp-block-buttons a:active,
.wp-block-buttons a:focus,
.wp-block-buttons a {
	text-decoration: none;
	text-decoration-thickness: 0;
}



/*--------------------------------------------
Section Arrow
---------------------------------------------*/
.is-style-bbc-arrow-section {
	position: relative;
	z-index: 0;
}

/* Rounded diamond tab (background shape) */
.is-style-bbc-arrow-section::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	z-index: 0;

	width: 5rem;
	height: 5rem;

	background-color: inherit;
	border-radius: 1.7rem;

	transform: translateX(-50%) translateY(-30%) rotate(45deg);

	pointer-events: none;
}

/* The injected arrow button (click target + icon only) */
.is-style-bbc-arrow-section > .bbc-section-arrow {
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%) translateY(-95%);
	z-index: 1;
	width: 5rem;
	height: 2rem;
	padding: 0;
	display: grid;
	place-items: center;
	border: 0;
	border-radius: 0;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	background: transparent;
	color: var(--wp--preset--color--black);
}

/* SVG sizing + color */
.is-style-bbc-arrow-section > .bbc-section-arrow svg {
	transform: translateY(30%);
	width: 1.5rem;
	height: 1.5rem;
	max-width: none;
	display: block;
	fill: currentColor;

	transition: transform 160ms ease;
}

/* Hover / focus interaction */
.is-style-bbc-arrow-section > .bbc-section-arrow:hover svg,
.is-style-bbc-arrow-section > .bbc-section-arrow:focus-visible svg {
	transform: translateY(45%);
}

/* Focus ring */
.is-style-bbc-arrow-section > .bbc-section-arrow:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	.is-style-bbc-arrow-section > .bbc-section-arrow svg {
		transition: none;
	}
}





/*--------------------------------------------
Vertical Dividers
---------------------------------------------*/
.wp-block-columns.vertical-divider > .wp-block-column {
  position: relative;
}

.wp-block-columns.vertical-divider > .wp-block-column + .wp-block-column::before {
  content: "";
  position: absolute;
  left: -2rem;
  top: 0;
  bottom: 0;
  width: 1px;
  background: rgba(0, 0, 0, 0.18);
  pointer-events: none;
}

/* Mobile: when columns stack, hide dividers */
@media (max-width: 781px) {
  .wp-block-columns.vertical-divider > .wp-block-column + .wp-block-column::before {
    display: none;
  }
}





/* -------------------------------------------------
Accordion – Card Style
-------------------------------------------------- */

.wp-block-accordion.is-style-accordion-card > .wp-block-accordion-item {
	background-color: var(--wp--preset--color--theme-primary-10);
	border-radius: var(--wp--preset--border-radius--md);
	border: none;
}

/* spacing between cards */
.wp-block-accordion.is-style-accordion-card > .wp-block-accordion-item:not(:last-child) {
	margin-bottom: var(--wp--preset--spacing--lg);
}

/* header padding */
.wp-block-accordion.is-style-accordion-card .wp-block-accordion-heading {
	padding: var(--wp--preset--spacing--lg);
	margin: 0;
}

/* ensure toggle fills header and doesn’t shift */
.wp-block-accordion.is-style-accordion-card .wp-block-accordion-heading__toggle {
	width: 100%;
	text-align: left;
}

/* panel padding */
.wp-block-accordion.is-style-accordion-card .wp-block-accordion-panel {
	margin: 0;
	padding: 0 var(--wp--preset--spacing--2-xl) var(--wp--preset--spacing--2-xl);
}

/* prevent margin-collapse issues inside panel */
.wp-block-accordion.is-style-accordion-card .wp-block-accordion-panel > :first-child {
	margin-top: 0;
}

.wp-block-accordion.is-style-accordion-card .wp-block-accordion-panel > :last-child {
	margin-bottom: 0;
}






/*--------------------------------------------------------------
Event Card
--------------------------------------------------------------*/
.event-card__link {
  display: block;
  color: inherit;
  text-decoration: none;
  background-color: var(--wp--preset--color--white);
  border-radius: var(--wp--preset--border-radius--md);
  padding: var(--wp--preset--spacing--xl);
}

.event-card__link:hover {
  text-decoration: none;
	-webkit-transform: scale(1.05);
            transform: scale(1.05);
}

.event-card__link:hover h4{
  text-decoration:underline;
  text-decoration-color: var(--wp--preset--color--theme-primary);
}


.event-card__link:hover .event-card__arrow {
	-webkit-transform: scale(1.2);
            transform: scale(1.2);
}

/* 2-column outer layout */
.event-card__grid {
  display: grid;
  grid-template-columns: 2fr minmax(0, 250px);
  gap: 40px;
  align-items: stretch;
}

.event-card--no-image .event-card__grid {
  grid-template-columns: 1fr;
}

/* Column 1 internal grid */
.event-card__col1grid {
  display: grid;
  grid-template-columns: 25% 1fr;
  grid-template-areas:
    "info content"
    "loc  loc";
  gap: 10px 28px;
  align-content: start;
}

.event-card__info { grid-area: info; }
.event-card__content { grid-area: content; }
.event-card__locationsRow { grid-area: loc; }

/* Left info panel */
.event-card__datebox {
  background-color: var(--wp--preset--color--theme-primary-40);
  border-radius: var(--wp--preset--border-radius--sm);
  padding: var(--wp--preset--spacing--md);
  display: grid;
  gap: 10px;
  align-content: start;
  margin-bottom: .8rem;
}

.event-card__dateicon {
  width: 2rem;
}

.event-card__date {
  font-weight: 800;
  font-size: 1rem;
  line-height: 1.15;
}

.event-card__meta {
  font-size: .85rem;
  line-height: 1.5;
  margin: 2px 0;
}

.event-card__meta strong {
  font-weight: 800;
}

.event-card__title {
  margin: 1rem 0;
}

.event-card__intro {
  margin: 0;
}

/* Locations row */
.event-card__locationsRow {
  display: grid;
  grid-template-columns: 45px 1fr;
  gap: 18px;
  align-items: center;
  margin-top: 6px;
}

.event-card__locicon {
  width: 45x;
  height: 45px;
  padding: 7px;
  border-radius: 8px;
  background-color: var(--wp--preset--color--theme-primary-20);
  display: grid;
  place-items: center;
  color: #000;
}

.event-card__locations {
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.35;
  font-weight: 600;
}

/* Image column */
.event-card__imagewrap {
  position: relative;
  border-radius: 26px;
  overflow: hidden;
  height: 100%;
}

.event-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.event-card__arrow {
  position: absolute;
  right: 22px;
  bottom: 22px;
}

/* Responsive */
@media (max-width: 900px) {
  .event-card__grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .event-card__col1grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "content"
      "info"
      "loc";
  }
	
  /* Turn the info panel into a compact horizontal bar */
  .event-card__datebox {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin-bottom: 0;
    padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--md);
  }

  .event-card__dateicon {
    width: 1.5rem;
    flex: 0 0 auto;
  }

  .event-card__date {
    font-size: 1rem;
    line-height: 1.15;
    margin: 0;
  }

  /* Meta becomes inline “chips” that wrap */
  .event-card__meta {
    margin: 0;
    font-size: 0.85rem;
    line-height: 1.35;
    display: inline-flex;
    align-items: baseline;
    gap: 0.35rem;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    background-color: rgba(255, 255, 255, 0.6);
  }
	
	
}


/*--------------------------------------------------------------
Event List
--------------------------------------------------------------*/
.event-list {
	display: grid;
	gap: 24px;
}

.event-list__item {
}

.event-list__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.event-list__link:hover {
	text-decoration: none;
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
}

.event-list__link:hover .event-list__title {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--theme-primary);
}

.event-list__link:hover .event-list__arrow {
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}

.event-list__date {
	margin: var(--wp--preset--spacing--xs) 0;
}

.is-style-bbc-pill.event-list__pill {
	margin: 0 0 var(--wp--preset--spacing--sm);
}

.event-list__meta-line {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: baseline;
}

.event-list__sep {
	opacity: 0.6;
}

.event-list__locations {
	font-weight: 800;
	margin: var(--wp--preset--spacing--sm) 0 0;
}

.event-list__arrow {
	justify-self: end;
	margin-top: 7px;
}



/*--------------------------------------------------------------
Event Arrow (shared)
--------------------------------------------------------------*/
.arrow-icon-box {
  width: 45px;
  height: 45px;
  padding: 7px;
  border-radius: 8px;
  background: #fff;
  display: grid;
  place-items: center;
  transition: transform 0.3s ease;
}



/*--------------------------------------------------------------
Event Header
--------------------------------------------------------------*/
.event-header__pill {
	margin: 0 0 var(--wp--preset--spacing--md);
}

.event-header__title {
	margin: 0 0 var(--wp--preset--spacing--md);
}

.event-header__intro {
	margin: 0 0 var(--wp--preset--spacing--xl);
	font-size: 1.3rem;
	font-weight: 600;
}

.event-header__details {
	display: grid;
	grid-template-columns: 160px 1fr;
	gap: 34px;
	align-items: start;
}

.event-header__datebox {
	background-color: var(--wp--preset--color--theme-primary-40);
	border-radius: var(--wp--preset--border-radius--sm);
	padding: var(--wp--preset--spacing--md);
	display: grid;
	gap: 10px;
	align-content: start;
	width: 160px;
}

.event-header__dateicon {
	width: 2rem;
}

.event-header__dateicon svg {
	display: block;
	width: 2rem;
	height: 2rem;
}

.event-header__date {
	font-weight: 800;
	font-size: 1rem;
	line-height: 1.15;
}

.event-header__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 26px;
	align-items: baseline;
	padding-top: 6px;
}

.event-header__meta-row {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: baseline;
}

.event-header__meta-row--locations {
	flex-basis: 100%;
	gap: 12px;
}

.event-header__label {
	font-weight: 500;
	letter-spacing: 0.02em;
}

.event-header__value {
	font-weight: 800;
}

.event-header__value a {
	color: inherit;
}

/* Responsive */
@media (max-width: 900px) {
	.event-header__details {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.event-header__meta {
		padding-top: 0;
		gap: 14px;
	}
}



/*--------------------------------------------------------------
Registration Cards
--------------------------------------------------------------*/
.bbc-registration-cards {
	margin-top: 0;
	padding-top: var(--wp--preset--spacing--sm);
}

.bbc-registration-cards__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--wp--preset--spacing--xl);
}

.bbc-registration-cards__card {
  background: var(--wp--preset--color--white);
  border-radius: var(--wp--preset--border-radius--md);
  padding: var(--wp--preset--spacing--xl);
}

.bbc-registration-cards__imgwrap {
  width: 200px;
  border-radius: var(--wp--preset--radius--sm);
  margin-bottom: var(--wp--preset--spacing--md);
}

.bbc-registration-cards__img {
}

.bbc-registration-cards__location {
  margin: 0 0 var(--wp--preset--spacing--xs);
}

.bbc-registration-cards__place {
  margin-bottom: var(--wp--preset--spacing--xs);
	font-weight: 700;
}

.bbc-registration-cards__address {
  margin-bottom: var(--wp--preset--spacing--xs);
}

.bbc-registration-cards__event {
  margin-top: var(--wp--preset--spacing--md);
}

.bbc-registration-cards__date,
.bbc-registration-cards__time {
  margin-top: var(--wp--preset--spacing--xs);
}

.bbc-registration-cards__meta {
  margin-top: var(--wp--preset--spacing--xs);
  display: flex;
  gap: var(--wp--preset--spacing--md);
  flex-wrap: wrap;
  font-weight: 700;
}

.bbc-registration-cards__sep {
	font-weight: 400;
}

.bbc-registration-cards__cta {
  margin-top: var(--wp--preset--spacing--lg);
}

.bbc-registration-cards__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.bbc-registration-cards__script {
  display: none;
}




/*--------------------------------------------------------------
Location Map
--------------------------------------------------------------*/
.bbc-location-map {
	margin-top: 0;
}

.bbc-location-map__frame {
	position: relative;
	width: 100%;
}

.bbc-location-map__svg svg {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--wp--preset--border-radius--md);
}

.bbc-location-map__pins {
	position: absolute;
	inset: 0;
	pointer-events: none; /* only pins are clickable */
}

/* Anchor point only (no size) */
.bbc-location-map__pin {
	position: absolute;
	left: var(--x);
	top: var(--y);
	width: 0;
	height: 0;
	pointer-events: auto;
	text-decoration: none;
}

/* Marker sits ABOVE the anchor point */
.bbc-location-map__marker {
	position: absolute;
	left: 0;
	top: 0;
	width: 30px;
	height: 30px;
	transform: translate(-50%, -100%);
	transform-origin: 50% 100%;
	color: var(--wp--preset--color--theme-primary, #6FB43E);
}

@media (max-width: 900px) {
	.bbc-location-map__marker {
		width: 20px;
		height: 20px;
	}
}


.bbc-location-map__marker svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: currentColor;
}

.bbc-location-map__pin:hover .bbc-location-map__marker {
	transform: translate(-50%, -100%) scale(1.08);
}

/* Tooltip: hidden by default, BELOW the anchor point */
.bbc-location-map__tooltip {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 99;
	transform: translate(-50%, 12px);
	white-space: nowrap;
	padding: 5px 9px;
	border-radius: 999px;
	background: #111;
	color: #fff;
	font-size: 11px;
	line-height: 1;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .15s ease, transform .15s ease;
}

/* Show tooltip on hover / keyboard focus */
.bbc-location-map__pin:hover .bbc-location-map__tooltip,
.bbc-location-map__pin:focus-visible .bbc-location-map__tooltip {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0px);
}






/*--------------------------------------------------------------
Image Marquee
--------------------------------------------------------------*/
.bbc-image-marquee {
	--bbc-marquee-speed: 28s;
	--bbc-marquee-gap: 32px;
	--bbc-marquee-distance: 0px;
	--bbc-marquee-logo-h: clamp(45px, 7vw, 150px);
	--bbc-marquee-logo-maxw: 500px;
}

.bbc-image-marquee__viewport {
	overflow: hidden;
	width: 100%;
}

.bbc-image-marquee__runner {
	display: inline-flex;
	align-items: center;
	gap: var(--bbc-marquee-gap);
	white-space: nowrap;
	will-change: transform;
}

.bbc-image-marquee__track {
	display: inline-flex;
	align-items: center;
	gap: var(--bbc-marquee-gap);
	white-space: nowrap;
	flex: 0 0 auto;
}

.bbc-image-marquee.is-animated .bbc-image-marquee__runner {
	animation: bbc-image-marquee var(--bbc-marquee-speed) linear infinite;
}

.bbc-image-marquee[data-pause-on-hover="1"]:hover .bbc-image-marquee__runner {
	animation-play-state: paused;
}

.bbc-image-marquee .wp-block-image {
	margin: 0;
	width: auto;
	flex: 0 0 auto;
}

.bbc-image-marquee .wp-block-image img {
	display: block;
	height: var(--bbc-marquee-logo-h);
	width: auto;
	max-width: var(--bbc-marquee-logo-maxw);
	object-fit: contain;
}

@keyframes bbc-image-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(calc(-1 * var(--bbc-marquee-distance))); }
}

@media (max-width: 900px) {
	.bbc-image-marquee { --bbc-marquee-gap: 24px; }
}

@media (max-width: 600px) {
	.bbc-image-marquee { --bbc-marquee-gap: 16px; --bbc-marquee-logo-maxw: 140px; }
}

@media (prefers-reduced-motion: reduce) {
	.bbc-image-marquee.is-animated .bbc-image-marquee__runner {
		animation: none;
		transform: none;
	}
}



/* --------------------------------------------------------------
 * Block: Typewriter Heading
 * -------------------------------------------------------------- */
.bbc-typewriter-heading {
	font-weight: bolder;
	letter-spacing: -0.03em;
	text-shadow:
		0 0 15px rgba(0, 0, 0, 0.20);
}

/* Cursor while animating */
.bbc-typewriter-heading.is-typing .bbc-typewriter-heading__word::after {
	content: "|";
	display: inline-block;
	margin-left: 0.08em;
	animation: bbcTypewriterBlink 0.9s step-end infinite;
}

/* Cursor hidden when done */
.bbc-typewriter-heading.is-done .bbc-typewriter-heading__word::after {
	content: "";
	animation: none;
}

@keyframes bbcTypewriterBlink {
	50% { opacity: 0; }
}




/* --------------------------------------------------------------
Mentor List Block
-------------------------------------------------------------- */

.wp-block-acf-mentor-list {
	max-width: 700px;
}

.wp-block-acf-mentor-list.alignright {
	float: none;
	margin-left: auto;
	margin-right: 0;
	clear: both;
}

.wp-block-acf-mentor-list.alignleft {
	float: none;
	margin-left: 0;
	margin-right: auto;
	clear: both;
}

.wp-block-acf-mentor-list.aligncenter {
	float: none;
	margin-left: auto;
	margin-right: auto;
	clear: both;
	display: block;
}


.mentor-list__viewport {
	position: relative;
}

.mentor-card {
	position: absolute;
	inset: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.6s ease;
}

.mentor-card.is-active {
	position: relative;
	opacity: 1;
	pointer-events: auto;
}

.mentor-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
	background-color: var(--wp--preset--color--theme-primary-10);
	border-radius: var(--wp--preset--border-radius--md);
	padding: var(--wp--preset--spacing--xl);
	transition: transform 0.3s ease;
}

.mentor-card__link:hover {
	transform: scale(1.05);
	text-decoration: none;
}

.mentor-card__link:hover .mentor-card__name {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--theme-primary);
}

.mentor-card__link:hover .mentor-card__cta-icon {
	transform: scale(1.2);
}

.mentor-card__grid {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: var(--wp--preset--spacing--2-xl);
	align-items: stretch;
}

.mentor-card__imagewrap {
	border-radius: 26px;
	overflow: hidden;
}

.mentor-card__imagewrap img {
	display: block;
	width: 100%;
	height: auto;
}

.mentor-card__body {
	display: grid;
	align-content: start;
	gap: var(--wp--preset--spacing--sm);
}

.mentor-card__pill {
	margin: 0;
	justify-self: start;
}

.mentor-card__name {
	margin: 0;
}

.mentor-card__excerpt {
	margin: 0;
	max-width: 40ch;
}

.mentor-card__cta {
	margin-top: var(--wp--preset--spacing--lg);
	display: inline-flex;
	gap: var(--wp--preset--spacing--sm);
	align-items: center;
	justify-self: end;
}

.mentor-card__cta-text {
	font-weight: 600;
}

.mentor-card__cta-icon {
	width: 45px;
	height: 45px;
	padding: 7px;
	border-radius: 8px;
	background: #fff;
	display: grid;
	place-items: center;
	transition: transform 0.3s ease;
}

@media (max-width: 900px) {
	.mentor-card__grid {
		grid-template-columns: 1fr;
	}

	.mentor-card__cta {
		justify-self: start;
	}
}




/* --------------------------------------------------------------
Testimonials – Shared base (archive + slider)
-------------------------------------------------------------- */
.testimonial-card {
	--testimonial-quote-pad: 4.7rem;
}

.testimonial-card__grid {
	display: grid;
	grid-template-columns: 1fr minmax(0, 280px);
	gap: var(--wp--preset--spacing--xl);
	align-items: center;
}

.testimonial-card--no-image .testimonial-card__grid {
	grid-template-columns: 1fr;
}

@media (max-width: 900px) {
	.testimonial-card__grid {
		grid-template-columns: 1fr;
	}
}

.testimonial-card__quote {
	position: relative;
	padding-left: var(--testimonial-quote-pad);
}

.testimonial-card__quote > *:first-child {
	margin-top: 0;
}

.testimonial-card__quote > *:last-child {
	margin-bottom: 0;
}

.testimonial-card__quote > * {
	position: relative;
	z-index: 1;
}

.testimonial-card__quote::before {
	content: "“";
	position: absolute;
	left: 0;
	top: 0;
	font-family: var(--wp--preset--font-family--primary);
	font-size: 130px;
	line-height: .7;
	font-weight: 700;
	color: var(--wp--preset--color--theme-primary);
	z-index: 0;
	pointer-events: none;
}

.testimonial-card__attribution {
	margin: var(--wp--preset--spacing--md) 0 0;
	padding-left: var(--testimonial-quote-pad);
	font-weight: 800;
}

.testimonial-card__imagewrap {
	border-radius: var(--wp--preset--border-radius--md);
	overflow: hidden;
}

.testimonial-card__img {
	display: block;
	width: 100%;
	height: auto;
}





/* --------------------------------------------------------------
Testimonials Archive (scoped)
-------------------------------------------------------------- */

body.post-type-archive-testimonial {
	background: var(--wp--preset--color--theme-primary-10);
}

.testimonials-archive__wrap {
	padding-top: var(--wp--preset--spacing--xl);
	padding-bottom: var(--wp--preset--spacing--3-xl);
}

.testimonials-archive .testimonials-list {
	display: grid;
	gap: var(--wp--preset--spacing--xl);
	max-width: 1020px;
}

.testimonials-archive .testimonial-card {
	background: rgba(255, 255, 255, 0.7);
	border-radius: var(--wp--preset--border-radius--lg);
	padding: var(--wp--preset--spacing--xl);
}



/* --------------------------------------------------------------
Testimonial List Block (slider)
-------------------------------------------------------------- */

.testimonial-list {
	position: relative;
}

.testimonial-list__viewport {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	overflow: hidden;
	padding-top: var(--wp--preset--spacing--lg);
	padding-bottom: var(--wp--preset--spacing--lg);
	padding-left: max(
		var(--wp--style--root--padding-left),
		calc((100vw - var(--wp--style--global--content-size)) / 2)
	);
	padding-right: max(
		var(--wp--style--root--padding-right),
		calc((100vw - var(--wp--style--global--content-size)) / 2)
	);
}

.testimonial-list__track {
	display: flex;
	gap: 34px;
	align-items: stretch;
	will-change: transform;
	transform: translate3d(0, 0, 0);
}

.testimonial-list .testimonial-card {
	flex: 0 0 auto;
	width: 700px;
	max-width: 700px;
}

.testimonial-list .testimonial-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
	background: var(--wp--preset--color--white);
	border-radius: var(--wp--preset--border-radius--md);
	padding: var(--wp--preset--spacing--xl);
}

.testimonial-list .testimonial-card__link:hover {
	text-decoration: none;
	transform: scale(1.05);
}

.testimonial-list .testimonial-card__link:hover .testimonial-card__attribution {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--theme-primary);
}

.testimonial-list .testimonial-card__grid {
	grid-template-columns: 1fr minmax(0, 220px);
	gap: var(--wp--preset--spacing--2-xl);
}

.testimonial-list .testimonial-card--no-image .testimonial-card__grid {
	grid-template-columns: 1fr;
}

@media (max-width: 900px) {
	.testimonial-list .testimonial-card {
		width: min(700px, 90vw);
		max-width: none;
	}

	.testimonial-list .testimonial-card__grid {
		grid-template-columns: 1fr;
	}
}


