@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,600;0,9..144,700;1,9..144,300;1,9..144,400;1,9..144,600&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap');

body {
  font-family: 'Plus Jakarta Sans', sans-serif;
}

/* Make links inside .academic-works section use the highlight color */
.academic-works a {
	color: #39b0cd !important;
	text-decoration: underline;
/* Optional but helps links stand out */
}

.academic-works a:hover {
	color: #228fa8 !important;
/* Slightly darker on hover */
}

/* Initial hidden state */
@keyframes slideInFromLeft {
	0% {
		opacity: 0;
		transform: translateX(-100px);
	}
	
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

.home .animated-slide-left, .page-id-83 .animated-slide-left {
	animation: slideInFromLeft 1s ease-out forwards;
	opacity: 0;
	transform: translateX(-100px);
	animation-delay: 1s;
/* delay gives impression of scroll */
}

/* Initial hidden state */
.faq-accordion {
	max-width: 800px;
	margin: 0 auto;
	font-family: inherit;
}

.faq-accordion details {
	background: #f9f9f9;
	border: 1px solid #ddd;
	border-radius: 6px;
	margin-bottom: 12px;
	padding: 12px 18px;
	transition: all .3s ease;
}

.faq-accordion summary {
	font-weight: 600;
	cursor: pointer;
	font-size: 1.1em;
	position: relative;
	padding-right: 24px;
}

.faq-accordion summary::after {
	content: "+";
	position: absolute;
	right: 0;
	top: 0;
	font-size: 1.2em;
	transition: transform .3s ease;
}

.faq-accordion details[open] summary::after {
	content: "−";
}

.faq-accordion p {
	margin: 12px 0 0;
	color: #333;
	line-height: 1.6;
}

/*  Change of Color Active Links */
.faq-accordion a {
	color: #39b0cd !important;
	text-decoration: underline;
}

.faq-accordion a:hover {
	color: #228fa8 !important;
}

.faq-accordion {
	font-size: 20px;
}

/* video grid in resources*/
.video-card iframe {
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.video-card p {
	text-align: center;
	font-size: 20px;
	margin-top: 8px;
}

.video-gallery {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.video-card {
	width: 100%;
	box-sizing: border-box;
}

.video-card iframe {
	width: 100% !important;
	height: 260px;
	display: block;
	max-width: 100% !important;
}

.video-card {
	transition: transform .3s ease, box-shadow .3s ease;
}

.video-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

/*distinct styling for titles and excerpts*/
.video-text {
	padding: 8px 0;
}

.video-title {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	margin: 0;
}

.video-excerpt {
	font-size: 14px;
	text-align: center;
	margin-top: 4px;
	color: #555;
}

@media (max-width: 768px) {
	.video-gallery {
		grid-template-columns: 1fr;
	}
}

/*canva homepage*/
.animated-underline {
	position: relative;
	display: inline-block;
	color: #000;
	cursor: pointer;
}

.animated-underline::before,
.animated-underline::after {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #000;
	transform: scaleX(0);
	transform-origin: left;
	opacity: 0;
	animation: underline-slide 2s infinite;
}

.animated-underline::after {
	bottom: -6px;
/* space between the two lines */
}

.animated-underline::before {
	bottom: -2px;
	animation-delay: .8s;
/* small delay to offset the two lines */
}

@keyframes underline-slide {
	0%, 100% {
		transform: scaleX(0);
		opacity: 0;
	}
	
	50% {
		transform: scaleX(1);
		opacity: 1;
	}
}

/*lazo around Julian*/
.svg-lazo-wrapper {
	position: relative;
	display: inline-block;
	padding: .2em;
}

.circle-lazo {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	pointer-events: none;
}

.circle-lazo circle {
	fill: none;
	stroke: #9b4819;
	animation: draw-erase 5s infinite ease-in-out;
}

@keyframes draw-erase {
	0% {
		opacity: 0;
	}
	
	10% {
		opacity: 1;
	}
	
	50% {
		opacity: 1;
	}
	
	90% {
		opacity: 1;
	}
	
	100% {
		opacity: 0;
	}
}

/* VIVIANA DRAFT PAGE CLEAN FULL-WIDTH RESET */
.page-id-2876 .entry-title,
.page-id-2876 .wp-block-post-title {
  display: none !important;
}

.page-id-2876 .entry-content,
.page-id-2876 .wp-block-post-content,
.page-id-2876 .wp-block-html {
  max-width: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-id-2876 .wp-block-html {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
  max-width: 100vw !important;
}

.page-id-2876 .viviana-v3-site {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}

/* Hide the old WordPress footer/widgets on this draft page */
.page-id-2876 .site-footer,
.page-id-2876 footer.wp-block-template-part,
.page-id-2876 .wp-block-template-part {
  display: none !important;
}

/*FAQ New Design*/
/* ─── FAQ WIDTH FIX ─── */
.page-hero,
.faq-body,
.listen-section,
.cta {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

/* ─── FAQ TYPOGRAPHY ALIGNMENT ─── */
.hero-right p,
.acc-body p {
  font-size: 22px !important;
  line-height: 1.75 !important;
}

/* ─── ACCORDION POLISH ─── */
.acc-item {
  transition: background 0.25s ease;
}

.acc-trigger:hover {
  background: var(--teal-pale);
}

.acc-icon {
  transition: transform 0.3s ease;
}

.acc-item.open .acc-icon {
  transform: rotate(45deg);
}

/* ─── ANCHOR FIX (VERY IMPORTANT) ─── */
#about-therapy,
#about-emdr,
#logistics-fees {
  scroll-margin-top: 100px;
}

/* Contact page layout */
.page-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 85vh;
}

.left-panel {
  background: #084F4F;
  padding: 6rem 5rem;
  color: #FFFFFF;
}

.right-panel {
  background: #F7F0E6;
  padding: 6rem 5rem;
}

/* Contact page typography */
.breadcrumb,
.form-label {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.breadcrumb {
  color: #C9953C;
  display: block;
  margin-bottom: 1.75rem;
}

.form-label {
  color: #0B6B6B;
  display: block;
  margin-bottom: 0.85rem;
}

.contact-h1,
.form-h2 {
  font-family: 'Fraunces', serif;
  font-weight: 700;
  line-height: 1.1;
}

.contact-h1 {
  font-size: clamp(2.6rem, 3.2vw, 3.8rem);
  color: #FFFFFF;
  margin-bottom: 1.75rem;
}

.form-h2 {
  font-size: clamp(1.6rem, 2.2vw, 2.2rem);
  color: #111E1E;
  margin-bottom: 3rem;
}

.contact-h1 em,
.form-h2 em {
  font-style: italic;
  font-weight: 300;
}

.contact-h1 em {
  color: #EDE4D6;
}

.form-h2 em {
  color: #0B6B6B;
}

.contact-intro {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.97rem;
  line-height: 1.8;
  color: rgba(255,255,255,0.65);
  max-width: 44ch;
}

/* Jetpack form styling */
.contact-form-widget .contact-form,
div.contact-form {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.contact-form-widget label,
div.contact-form label {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #4A6868;
  margin-bottom: 0.5rem;
  display: block;
}

.contact-form-widget input[type="text"],
.contact-form-widget input[type="email"],
.contact-form-widget input[type="tel"],
div.contact-form input[type="text"],
div.contact-form input[type="email"],
div.contact-form input[type="tel"] {
  width: 100%;
  background: #FFFFFF;
  border: 1px solid #E5D9C8;
  border-radius: 0;
  padding: 0.9rem 1rem;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.93rem;
  color: #1E3535;
  outline: none;
  transition: border-color 0.2s;
  margin-bottom: 1.5rem;
}

.contact-form-widget textarea,
div.contact-form textarea {
  width: 100%;
  min-height: 130px;
  background: #FFFFFF;
  border: 1px solid #E5D9C8;
  border-radius: 0;
  padding: 0.9rem 1rem;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.93rem;
  color: #1E3535;
  outline: none;
  line-height: 1.65;
  transition: border-color 0.2s;
  margin-bottom: 1.5rem;
  resize: vertical;
}

.contact-form-widget input:focus,
div.contact-form input:focus,
.contact-form-widget textarea:focus,
div.contact-form textarea:focus {
  border-color: #0B6B6B;
  box-shadow: 0 0 0 3px rgba(11,107,107,0.08);
}

.contact-form-widget input[type="submit"],
div.contact-form input[type="submit"],
div.contact-form button[type="submit"] {
  background: #084F4F;
  color: #FFFFFF;
  padding: 1rem 2.25rem;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  font-family: 'Plus Jakarta Sans', sans-serif;
  transition: background 0.2s, transform 0.15s;
}

.contact-form-widget input[type="submit"]:hover,
div.contact-form input[type="submit"]:hover,
div.contact-form button[type="submit"]:hover {
  background: #0B6B6B;
  transform: translateY(-2px);
}

/* Mobile */
@media (max-width: 960px) {
  .page-wrap {
    grid-template-columns: 1fr;
  }

  .left-panel,
  .right-panel {
    padding: 4rem 1.75rem;
  }
}

/* Contact page: layout */
.wp-block-columns .wp-block-column {
  padding: 60px 40px;
}

body.page .wp-block-columns {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  gap: 0 !important;
}

/* Contact page: Jetpack form styling */
.contact-form label {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #4A6868;
  margin-bottom: 0.5rem;
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea {
  width: 100%;
  background: #FFFFFF;
  border: 1px solid #E5D9C8;
  border-radius: 0;
  padding: 0.9rem 1rem;
  font-size: 0.93rem;
  color: #1E3535;
  margin-bottom: 1.75rem;
}

.contact-form textarea {
  min-height: 130px;
  line-height: 1.65;
}

.contact-form input:focus,
.contact-form textarea:focus {
  border-color: #0B6B6B;
  box-shadow: 0 0 0 3px rgba(11,107,107,0.08);
  outline: none;
}

.contact-form input[type="submit"] {
  padding: 1rem 2.5rem;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.contact-form input[type="submit"]:focus-visible {
  outline: 3px solid rgba(201,149,60,0.55);
  outline-offset: 4px;
}

/* Contact page divider */
.contact-divider {
  width: 36px;
  height: 1px;
  background: rgba(255,255,255,0.15);
  margin: 2.5rem 0;
}

/* Contact method rows */
.contact-method {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.contact-method-icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #C9953C;
  font-size: 2rem;
}

.contact-method-label {
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  display: block;
  margin-bottom: 0.3rem;
}

.contact-method-value,
.contact-method-value a {
  font-size: 1.25rem;
  color: rgba(255,255,255,0.8);
  font-weight: 500;
  text-decoration: none;
}

.contact-left-heading {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(2.8rem, 3.8vw, 4.5rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: #FFFFFF;
  margin: 0;
}

.contact-left-heading em {
  font-style: italic;
  font-weight: 300;
  color: #EDE4D6;
}
.contact-right-heading {
  font-family: 'Fraunces', serif !important;
  font-size: clamp(1.9rem, 2.5vw, 2.7rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #111E1E;
  margin: 0;
}

.contact-right-heading em {
  font-style: italic;
  font-weight: 300;
  color: #0B6B6B;
}

/* Softer hover for contact links */
.contact-method-value a {
  transition: color 0.2s ease;
}

.contact-method-value a:hover {
  color: #C9953C;
}

/* Slight refinement for labels */
.contact-method-label {
  opacity: 0.85;
}

/* Improve paragraph readability (left intro text) */
.wp-block-column:first-child p {
  max-width: 520px;
}

/* Subtle divider spacing consistency */
.contact-divider {
  margin: 3rem 0 2.5rem;
}
/* Smooth overall feel */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Slight hover lift for icon boxes */
.contact-method-icon {
  transition: all 0.2s ease;
}

.contact-method:hover .contact-method-icon {
  transform: translateY(-2px);
  border-color: rgba(201,149,60,0.4);
}

/* Improve form input hover */
.contact-form input:hover,
.contact-form textarea:hover {
  border-color: #C9953C;
}

.contact-form input[type="submit"] {
  background: #0B6B6B !important;
  color: #FFFFFF !important;
}

.contact-form input[type="submit"],
.contact-form button[type="submit"],
.wp-block-jetpack-contact-form button,
.wp-block-jetpack-contact-form input[type="submit"] {
  background: #0B6B6B !important;
  background-color: #0B6B6B !important;
  color: #FFFFFF !important;
}

/**/
body.page .contact-form button.pushbutton-wide {
  display: inline-block !important;
  width: auto !important;
  margin-left: 0 !important;
  margin-right: auto !important;

  padding: 1.4rem 3.2rem !important;
  min-width: 220px !important;

  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;

  text-align: center !important;
}

/**/
/* Contact form grid */
.contact-form {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1.5rem !important;
  align-items: end !important;
}

/* Name (left) */
.contact-form .grunion-field-name-wrap {
  grid-column: 1 / 2;
  order: 1;
}

/* Phone (right) */
.contact-form .grunion-field-text-wrap {
  grid-column: 2 / 3;
  order: 2;
}

/* Email full width */
.contact-form .grunion-field-email-wrap {
  grid-column: 1 / -1;
  order: 3;
}

/* Message full width */
.contact-form .grunion-field-textarea-wrap {
  grid-column: 1 / -1;
  order: 4;
}

/* Button (bottom, left-aligned) */
body.page .contact-form button.pushbutton-wide {
  grid-column: 1 / -1 !important;
  justify-self: start !important;
  margin-top: 0.25rem !important;
  order: 999 !important;
}

/* Softer input appearance (closer to design) */
.contact-form input,
.contact-form textarea {
  background: #F7F3EC;
  border: 1px solid #E2D7C6;
  padding: 1.1rem;
  font-size: 1rem;
  color: #2B3A3A;
}

/* Remove heavy focus glow (cleaner look) */
.contact-form input:focus,
.contact-form textarea:focus {
  border-color: #0B6B6B;
  box-shadow: none;
}

/* Slightly tighter spacing between label and input */
.contact-form label {
  margin-bottom: 0.3rem;
}

/* Improve spacing between rows */
.contact-form > div {
  margin-bottom: 0.2rem;
}

/* Contact form: input size and placeholder style */
/* Contact form: input size and placeholder style */
.contact-form input,
.contact-form textarea {
  font-size: 1.15rem !important;
  padding: 1.3rem 1rem !important;
  height: auto !important;
}

.contact-form textarea {
  min-height: 150px !important;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
  font-size: 1.15rem !important;
  color: rgba(74,104,104,0.5) !important;
  opacity: 1 !important;
}

.wp-block-column:nth-child(2) .contact-form {
  transform: translateY(-12rem);
  will-change: transform;
}

/*Contat Footer*/
/* Footer */
.custom-footer {
  background: #0F2F2F;
  color: rgba(255,255,255,0.65);
  padding: 4rem 6vw 2rem;
  margin-top: 0 !important;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* Remove gap before footer */
.wp-block-columns {
  margin-bottom: 0 !important;
}

.wp-block-html:has(.custom-footer) {
  margin-top: 0 !important;
}

/* Footer layout */
/* ===== FOOTER (CLEAN FINAL) ===== */

.custom-footer {
  background: #111E1E;
  color: #888F88;
  padding: 4rem 6vw 2rem;
  margin-top: -4px;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* Remove gap above footer */
.wp-block-columns {
  margin-bottom: 0 !important;
}

.wp-block-html:has(.custom-footer) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Layout */
.footer-main {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 3rem;
  margin-bottom: 3rem;
}

/* Brand */
.custom-footer .footer-brand {
  font-family: 'Fraunces', serif;
  font-size: 1.8rem;
  color: #FFFFEA;
  margin-bottom: 0.75rem;
}

/* Main text */
.footer-tagline,
.footer-col p,
.footer-license,
.custom-footer p {
  font-size: 1.25rem;
  line-height: 1.75;
  color: #888F88;
}

/* Headings */
.footer-col h4 {
  font-size: 1rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #888F88;
  opacity: 0.8;
  margin-bottom: 1rem;
}

/* Links */
.custom-footer a {
  color: #888F88;
  text-decoration: none;
}

.custom-footer a:hover {
  color: #FFFFFF;
}

/* Email highlight */
.custom-footer a[href^="mailto"] {
  color: #1A8A8A;
}

/* Bottom bar */
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.1);
  padding-top: 1.5rem;
  display: flex;
  justify-content: space-between;
  font-size: 1rem;
  color: #888F88;
}

/* Increase footer readability */
.footer-tagline,
.footer-col p,
.footer-license,
.custom-footer p,
.custom-footer a {
  font-size: 1.8rem;
  line-height: 1.8;
}

/* Section labels (NAVIGATION / CONTACT) */
.footer-col h4 {
  font-size: 1.05rem;
}

/* Bottom bar */
.footer-bottom {
  font-size: 1.05rem;
}

.custom-footer .footer-col h4 {
  font-size: 1.3rem !important;
  letter-spacing: 0.14em;
}