/*
 Theme Name: Divi Child
 Theme URI: https://www.elegantthemes.com/gallery/divi/
 Description: Divi Child Theme
 Author: Elegant Themes
 Author URI: https://www.elegantthemes.com
 Template: Divi
 Version: 1.0.0
*/
 
/* =Theme customization starts here
------------------------------------------------------- */

/*-----
Typography
------*/

h1{
	font-family: "futura-pt", sans-serif;
}

h2,h3,h4{
	font-family: "futura-pt", sans-serif;
	/*line-height: 34.92px !important;*/
}

/*===== Header =====*/
i.fab.fa-facebook,i.fab.fa-linkedin {
    color: white;
    font-size: 20px;
    line-height: 97%;
    margin-top: 10px;
    margin-right: 32px;
}

i.fab.fa-youtube {
    color: white;
    font-size: 20px;
    line-height: 97%;
    margin-top: 10px;
}

i.fab.fa-facebook.footer,i.fab.fa-linkedin.footer {
    color: white;
    font-size: 20px;
    line-height: 97%;
    margin-top: 10px;
	margin-right: 16px;
}


/*==== Footer ====*/

a.footer-text {
    color: white;
}

a.footer-text2 {
    color: white;
    text-decoration: underline;
}


.et_pb_menu__wrap {
    margin-top: -17px;
}

@media only screen and (min-width : 982px) {
ul.sub-menu {
    margin-top: -50px;
}
	 /* Dropdown menu background and border */
  .et_pb_menu .menu-item-has-children:hover > .sub-menu{
    background-color: #fff;         /* White background */
    border-radius: 8px;             /* Rounded corners */
    box-shadow: 0 4px 8px rgba(0,0,0,0.1); /* Light shadow */
    padding: 10px 0;                /* Padding inside the dropdown */
    border: 1px solid rgba(0,0,0,0.1); /* Thin border around the dropdown */
  }

  /* Dropdown menu item styles */
  .et_pb_menu .menu-item-has-children > .sub-menu li a{
    padding: 3px 0px;             /* 3px padding to the left/right, 0px padding top/bottom */
    font-size: 14px;               /* Font size for readability */
    color: #333;                   /* Dark text color */
    font-weight: normal;           /* Normal font weight */
    text-transform: none;          /* Avoid text-transform for proper capitalization */
    display: block;                /* Full clickable area */
  }

  /* Hover effect for dropdown items */
  .et_pb_menu .menu-item-has-children > .sub-menu li a:hover{
    background-color: #f0f0f0;     /* Background color change on hover */
    color: #000;                   /* Dark text on hover */
    text-decoration: none;         /* Remove underlining */
  }
	.nav li li {
    padding: 0 10px;
}
}

/*==== Home Page =====*/

/*---- Homepage Areas of Practice ---->
/* --- Base card container --- */
.aop-card { 
  position: relative; 
}

/* Image container: keep rounded corners and hide overflow for zoom effect */
.aop-card .et_pb_image {
  overflow: hidden;
  border-radius: 30px;
}

/* Image styles: smooth and fluid zoom animation */
.aop-card .et_pb_image img {
  display: block;
  will-change: transform;
  /* Stronger zoom with premium smoothness */
  transition: transform .5s cubic-bezier(.25, .8, .25, 1);
  backface-visibility: hidden;
}

/* Badge styles */
.aop-card .aop-badge {
  position: relative;
  z-index: 2;
  /*display: inline-block;*/
  border-radius: 10px;
  transition: background-color .35s ease, color .35s ease;
}

/* ---------- Hover trigger ONLY when hovering image or badge ---------- */
/* Modern browsers (Chrome/Edge/Safari/Firefox new versions) */
.aop-card.is-hover .et_pb_image img {
  transform: scale(1.07) translateY(-1px);
}

.aop-card.is-hover .aop-badge {
  background-color: #73C7E3 !important;
}

/* ---------- Fallback for browsers without :has() support ---------- */
/* At least trigger the effect when hovering over the image */

.aop-card:has(.et_pb_image:hover) .et_pb_image img, .aop-card:has(.aop-badge:hover) .et_pb_image img { transform: scale(1.07) translateY(-1px); /* Deeper zoom + subtle lift */ }

.aop-card:has(.et_pb_image:hover) .aop-badge, .aop-card:has(.aop-badge:hover) .aop-badge { background-color: #73C7E3 !important; /* New background color on hover */ }

/* Accessibility: disable animations if user prefers reduced motion */
@media (prefers-reduced-motion: reduce) {
  .aop-card .et_pb_image img,
  .aop-card .aop-badge { 
    transition: none; 
  }
}

/* CTA hidden by default */
.aop-card .aop-cta {
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);               /* subtle slide-up */
  transition:
    opacity .45s cubic-bezier(.25,.8,.25,1),
    transform .45s cubic-bezier(.25,.8,.25,1),
    visibility 0s .12s;                      /* hide-delay to avoid flicker */
  font-weight: 700;
  text-align: center;
  letter-spacing: 1px;
  pointer-events: auto;                       /* make it clickable */
}

/* Show CTA when hovering image OR badge OR the CTA itself (modern :has()) */
.aop-card:has(.et_pb_image:hover) .aop-cta,
.aop-card:has(.aop-badge:hover) .aop-cta,
.aop-card:has(.aop-cta:hover) .aop-cta {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: 0s;                       /* show immediately */
}

/* Keep existing zoom + badge color when CTA itself is hovered (modern :has()) */
.aop-card:has(.aop-cta:hover) .et_pb_image img {
  transform: scale(1.07) translateY(-1px);
}
.aop-card:has(.aop-cta:hover) .aop-badge {
  background-color: #73C7E3 !important;       /* or #C59D3E en la otra página */
}

/* ---------- Fallback for browsers without :has() ---------- */
/* At least: if the image is hovered, show the CTA (already had this) */
.aop-card .et_pb_image:hover ~ .aop-cta {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: 0s;
}
/* Also keep CTA visible when hovering the CTA itself (prevents disappearance) */
.aop-card .aop-cta:hover {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: 0s;
}

/*--- Testimonials ---*/

.sp-testimonial-client-testimonial p {
    text-align: center !important;
}

.sp-testimonial-client-testimonial span {
	font-size: 14px;
}

.sp-testimonial-free {
    padding: 40px 25px;
}

/* ===== TESTIMONIALS EQUAL HEIGHT + CENTERED ===== */

/* Equalize heights and center content (desktop by default) */
.testi-eq .rt-card,
.testi-eq .sp-testimonial,
.testi-eq .rttpg-item,
.testi-eq .swiper-slide,
.testi-eq .slick-slide {
  height: 100%;
}

.testi-eq .rt-card-inner,
.testi-eq .sp-testimonial-content,
.testi-eq .rttpg-item-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;   /* vertical center (desktop) */
  height: 100%;
}

/* Slick slider: stretch slides (desktop) */
.testi-eq .slick-track {
  display: flex !important;
  align-items: stretch;
}
.testi-eq .slick-slide {
  height: auto;
  display: flex !important;
}
.testi-eq .slick-slide > div {
  display: flex;
  width: 100%;
}

/* Swiper: stretch slides (desktop) */
.testi-eq .swiper-wrapper {
  display: flex;
  align-items: stretch;
}
.testi-eq .swiper-slide {
  height: auto !important;
  display: flex;
}

/* Cleanup: avoid extra gap on the last paragraph inside the testimonial text */
.testi-eq .sp-testimonial-client-testimonial p:last-child {
  margin-bottom: 0;
}

/* ===== MOBILE SAFE FIX (replace your old mobile block with this) ===== */
@media (max-width: 767.98px) {
  /* Let cards size to content */
  .testi-eq .rt-card,
  .testi-eq .sp-testimonial,
  .testi-eq .rttpg-item {
    height: auto !important;
  }

  /* Turn OFF vertical centering + min-height on inner wrappers */
  .testi-eq .rt-card-inner,
  .testi-eq .sp-testimonial-content,
  .testi-eq .rttpg-item-inner {
    justify-content: flex-start !important;  /* no vertical centering */
    min-height: 0 !important;                /* avoid tall boxes */
    padding: 16px 18px 20px;                 /* tighter spacing */
  }

  /* Slides: allow natural height without altering track display */
  .testi-eq .slick-slide,
  .testi-eq .swiper-slide {
    height: auto !important;
    display: flex !important;                /* keep flex so content stretches properly */
  }

  /* Optional: improve readability */
  .testi-eq .sp-testimonial-client-testimonial {
    text-align: left;
    font-size: 16px;
    line-height: 1.5;
    margin: 0 0 12px;
  }
  .testi-eq .sp-testimonial-client-name,
  .testi-eq .sp-testimonial-client-designation,
  .testi-eq .sp-testimonial-client-location {
    font-size: 15px;
    line-height: 1.4;
    margin-top: 4px;
  }
}

/* Desktop: flexible minimum height so cards look even */
@media (min-width: 768px) {
  .testi-eq .rt-card-inner,
  .testi-eq .sp-testimonial-content,
  .testi-eq .rttpg-item-inner {
    /* clamp(min, preferred, max) */
    min-height: clamp(280px, 36vh, 420px);
  }
}

.sp-testimonial-free-section .sp-testimonial-client-name,.sp-testimonial-free-section .sp-testimonial-client-designation {
    color: #73C7E3 !important;
    font-size: 16px;
    font-weight: 700;
    margin: 0px 0 -5px 0;
    font-family: Poppins;
}

.sp-testimonial-free-section .testimonial-pagination .swiper-pagination-bullet {
    width: 20px;
    height: 20px;
}

span.swiper-pagination-bullet {
	border: solid 2px #D9D9D9 !important;
}

/*====== My Story =====*/

/*--- Explore My Services section ---*/

.page-id-239 .aop-card .et_pb_image:hover ~ .aop-badge,
.page-id-239 .aop-card .aop-badge:hover {
  background-color: #C59D3E !important;
}

/*====== Coaching =====*/

/*--- Explore My Services section ---*/

.page-id-14 .aop-card .et_pb_image:hover ~ .aop-badge,
.page-id-14 .aop-card .aop-badge:hover {
  background-color: #C59D3E !important;
}

/*====== Speaking =====*/

/*--- Explore My Services section ---*/

.page-id-16 .aop-card .et_pb_image:hover ~ .aop-badge,
.page-id-16 .aop-card .aop-badge:hover {
  background-color: #C59D3E !important;
}

/*===== Contact Us ====*/
/*--- Form section styles ----*/

input#input_1_1_3,input#input_1_3_6,input#input_1_4,textarea#input_1_6 {
    background-color: #faf6f0;
    border: none;
    border-bottom: solid 2px #000;
	box-shadow: none;
    border-radius: 0px;
	padding: 4px 10px 8px 0;
	font-size: 16px;
}

legend.gfield_label.gform-field-label.gfield_label_before_complex {
    font-size: 16px;
    font-family: 'Poppins';
    font-weight: 400;
	margin-bottom: 20px;
}

.gform-theme--framework .gform-field-label--type-inline {
   font-size: 16px;
    font-family: 'Poppins';
    font-weight: 400;
}

.gform-footer.gform_footer.top_label {
    justify-content: center;
	display: flex;
}

input#gform_submit_button_1 {
    color: #FFFFFF !important;
    border-width: 0px !important;
    border-radius: 10px;
    letter-spacing: 4px;
    font-size: 16px;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    background-color: #c59d3e;
    padding: 25px 32px;
}

input#gform_submit_button_1:hover {
    color: #FFFFFF !important;
   	background-color: #2F4C73;
}

/*===== Blog page =====*/

/* === Divi Blog: Horizontal list layout (final, with spacing + meta style) === */

/* Grid container for each post */
.blog-lista-horizontal .et_pb_post{
  display: grid !important;          /* ensure grid wins over other rules */
  grid-template-columns: 448px 1fr;  /* left fixed image, right flexible text */
  column-gap: 32px;                  /* space between columns */
  row-gap: 8px;                      /* tight vertical spacing between title/meta/excerpt */
  align-items: start;
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(0,0,0,.20);
}

/* Featured image (left column) */
.blog-lista-horizontal .et_pb_post .entry-featured-image-url{
  grid-column: 1;
  grid-row: 1 / span 10;             /* image spans rows so text stacks tightly */
  display: block;
  max-width: 448px;                   /* match the fixed column width above */
  aspect-ratio: 16/9;                 /* consistent thumbnail ratio */
  overflow: hidden;                   /* crop overflow for a clean look */
  border-radius: 24px;                /* rounded corners per your choice */
}
.blog-lista-horizontal .et_pb_post .entry-featured-image-url img{
  width: 100%;
  height: 100%;
  object-fit: cover;                  /* fill and crop nicely */
  display: block;
}

/* Send title, meta, excerpt, button to column 2 */
.blog-lista-horizontal .et_pb_post > *:not(.entry-featured-image-url){
  grid-column: 2;
  min-width: 0;                       /* allow long text to wrap */
}

/* Neutralize any theme floats */
.blog-lista-horizontal .et_pb_post .post-meta,
.blog-lista-horizontal .et_pb_post .post-content{
  float: none;
  width: auto;
}

/* Title: tighter spacing above meta */
.blog-lista-horizontal .et_pb_post .entry-title{
  margin: 0 0 0px;
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.15;
  font-weight: 800;
}

/* Exact post-meta typography requested */
.blog-lista-horizontal .et_pb_post .post-meta{
  margin: 0;                          /* remove extra gap */
  color: #000;
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  opacity: 1;                         /* undo Divi's default fade */
}

/* Small space before excerpt */
.blog-lista-horizontal .et_pb_post .post-content{
  margin-top: 0px;
}

/* Mobile: stack image above text */
@media (max-width: 980px){
  .blog-lista-horizontal .et_pb_post{
    grid-template-columns: 1fr;       /* single column */
  }
  .blog-lista-horizontal .et_pb_post .entry-featured-image-url{
    max-width: none;
    aspect-ratio: auto;
    margin-bottom: 14px;
    grid-row: auto;                   /* default flow on mobile */
  }
}

/* Cosmetics: remove divider on last item */
.blog-lista-horizontal .et_pb_post:last-child{
  border-bottom: 0;
  padding-bottom: 0;
}

h2.entry-title {
    font-size: 28px !important;
    font-weight: 600 !important;
    line-height: 97% !important;
    text-transform: uppercase;
    color: #000;
}

.post-content-inner p {
    font-family: Poppins;
    font-size: 16px !important;
    line-height: normal;
    color: #000 !important;
}

a.more-link {
    margin-top: 8px;
    text-transform: capitalize;
}