@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Sora:wght@500;600;700&display=swap');

/* === Base === */
body { font-family:'Inter',system-ui,sans-serif !important; color:#24303a; }
h1,h2,h3,h4,h5,h6,.elementor-heading-title { font-family:'Sora',sans-serif !important; letter-spacing:-0.01em; }
a { transition:color .2s ease; }

/* === Header / menu === */
.elementor-nav-menu--main .elementor-nav-menu a,
.elementor-nav-menu--main a.elementor-item { font-family:'Inter',sans-serif !important; font-weight:500 !important; font-size:15px !important; letter-spacing:.01em; }
.elementor-nav-menu--main a.elementor-item:hover { color:#16697A !important; }

/* === Hero slider === */
.swiper-slide-bg { filter:brightness(.72) saturate(.9); }
.elementor-slide-heading { font-size:clamp(34px,5vw,58px) !important; font-weight:700 !important; text-shadow:0 2px 18px rgba(0,0,0,.35); }
.swiper-slide-contents p, .elementor-slide-heading + * { text-shadow:0 1px 10px rgba(0,0,0,.4); }

/* "1ª SESIÓN GRATIS" highlight pill */
.swiper-slide-contents h3.elementor-heading-title,
.elementor-element h3.elementor-heading-title[style] {
  background:#16697A !important; color:#fff !important;
  padding:10px 26px !important; border-radius:999px !important;
  display:inline-block !important; font-size:clamp(20px,3vw,34px) !important;
  box-shadow:0 6px 24px rgba(22,105,122,.35);
}

/* === Buttons === */
.elementor-button, .pp-cta-contacto a, a.elementor-button-link {
  border-radius:999px !important; font-family:'Inter',sans-serif !important; font-weight:600 !important;
  padding:14px 30px !important; transition:all .2s ease !important;
}
.elementor-button, .pp-cta-contacto a:first-child { background:#16697A !important; }
.elementor-button:hover, .pp-cta-contacto a:first-child:hover { background:#0E4E5B !important; transform:translateY(-1px); box-shadow:0 8px 20px rgba(22,105,122,.3); }
.pp-cta-contacto a:last-child { background:#EEF4F5 !important; color:#16697A !important; }
.pp-cta-contacto a:last-child:hover { background:#DCEAEC !important; }

/* === Sections with flat blue backgrounds -> calmer tone === */
.elementor-section[style*="background"], .elementor-element[style*="background"] { }

/* === Cards & images === */
.elementor-post, .elementor-post__card { border-radius:14px; overflow:hidden; box-shadow:0 4px 18px rgba(20,40,60,.08); }
.elementor-post:hover { transform:translateY(-3px); transition:transform .25s ease; }
.elementor-post__text { padding:18px !important; }
.elementor-post__title a { color:#1b2b34 !important; }

/* === Content rhythm === */
.elementor-widget-text-editor p, .elementor-widget-text_editor p { line-height:1.75; }
.entry-content p { line-height:1.75; }

/* === FAQ / toggles === */
.elementor-accordion-item, .elementor-toggle-item { border-radius:10px; overflow:hidden; }

/* === Footer === */
#colophon, .site-footer { background:#10262C !important; }

/* === WhatsApp float: keep above === */
a[aria-label="Escríbenos por WhatsApp"] { transition:transform .2s ease; }
a[aria-label="Escríbenos por WhatsApp"]:hover { transform:scale(1.08); }

/* === Kill dated gradients (home) === */
.elementor-element-920eb8b > .elementor-widget-container { background:none !important; }
.elementor-element-920eb8b .elementor-heading-title {
  background:#16697A !important; color:#fff !important; padding:12px 32px !important;
  border-radius:999px !important; display:inline-block !important;
  box-shadow:0 8px 24px rgba(14,78,91,.4);
}
.elementor-element-f05e479:not(.elementor-motion-effects-element-type-background),
.elementor-8 .elementor-element.elementor-element-f05e479 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color:transparent !important; background-image:linear-gradient(180deg,#EFF6F7 0%,#DFEDEF 100%) !important;
}
.elementor-element-639a759:not(.elementor-motion-effects-element-type-background),
.elementor-8 .elementor-element.elementor-element-639a759 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color:transparent !important; background-image:linear-gradient(180deg,#FBF4E8 0%,#F4EAD6 100%) !important;
}

/* Therapy cards: round the column backgrounds */
.elementor-element-f05e479 .elementor-column > .elementor-widget-wrap {
  border-radius:18px !important; overflow:hidden !important;
  box-shadow:0 10px 30px rgba(20,45,60,.10) !important; transition:transform .25s ease, box-shadow .25s ease !important;
}
.elementor-element-f05e479 .elementor-column > .elementor-widget-wrap:hover {
  transform:translateY(-4px); box-shadow:0 16px 36px rgba(20,45,60,.16) !important;
}

/* Therapy card titles: readable chip over photos */
.elementor-element-f05e479 h2.elementor-heading-title,
.elementor-element-f05e479 .elementor-widget-heading .elementor-heading-title {
  background:rgba(255,255,255,.88) !important; color:#17323B !important;
  padding:8px 18px !important; border-radius:12px !important; display:inline-block !important;
  backdrop-filter:blur(3px);
}

/* Blog listing + posts */
.post_wrapper { border-radius:16px; overflow:hidden; box-shadow:0 6px 24px rgba(23,50,59,.08); background:#fff; margin-bottom:28px; }
.blog_wrapper .post_wrapper, .sidebar_content .post_wrapper { transition:box-shadow .25s ease, transform .25s ease; }
.sidebar_content .post_wrapper:hover { box-shadow:0 12px 32px rgba(23,50,59,.14); transform:translateY(-2px); }
.post_img_hover img { border-radius:0; }
.post_header_title h5 a { font-family:'Sora',sans-serif; font-weight:700; color:#17323B; }
.post_header_title h5 a:hover { color:#16697A; }
.post_attribute a { color:#16697A; font-weight:600; }
.page_title_wrapper .post_attribute { color:rgba(255,255,255,.85); }
.blog_wrapper p, .blog_wrapper li { font-family:'Inter',sans-serif; }
.widget_block h2, .widget_block .widgettitle { font-family:'Sora',sans-serif; }

/* Hero photo refresh */
.elementor-8 .elementor-element.elementor-element-d20a94c:not(.elementor-motion-effects-element-type-background),
.elementor-8 .elementor-element.elementor-element-d20a94c > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-image:url("/wp-content/uploads/2026/10/hero-terapia-1920.jpg") !important;
  background-position:center center !important;
}
/* Therapy cards: soft gradient for legibility */
.elementor-element-f05e479 .elementor-cta__bg::after,
.elementor-cta__bg-wrapper .elementor-cta__bg { transition:transform .4s ease; }
.elementor-cta:hover .elementor-cta__bg { transform:scale(1.05); }

/* CTA card titles: readable chip over photos */
.elementor-cta__title { background:rgba(255,255,255,.92) !important; color:#17323B !important; padding:8px 18px !important; border-radius:12px !important; display:inline-block !important; backdrop-filter:blur(3px); box-shadow:0 2px 10px rgba(0,0,0,.08); }
.elementor-cta__title * { color:#17323B !important; }
.elementor-cta__description { text-shadow:0 1px 8px rgba(0,0,0,.5); }

/* Footer legal line */
.footer-legal { text-align:center; padding:26px 20px; font-family:'Inter',sans-serif; font-size:13px; color:#5A6B72; background:#F4F8F9; border-top:1px solid #E3ECEE; }
.footer-legal a { color:#16697A; text-decoration:none; }

/* ==== CTA & usability (oct 2026) ==== */
/* Top contact strip */
.topcta { display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; background:#16697A; color:#fff; padding:8px 14px; font-family:'Inter',sans-serif; font-size:13.5px; }
.topcta-txt { opacity:.92; }
.topcta-btn { color:#16697A; background:#fff; padding:4px 14px; border-radius:999px; font-weight:600; text-decoration:none !important; font-size:13px; white-space:nowrap; }
.topcta-btn:hover { background:#E3F2F4; }
.topcta-wa { background:#25D366; color:#fff; }
.topcta-wa:hover { background:#1FB457; }
@media (max-width:768px){ .topcta{ font-size:12.5px; gap:6px; padding:7px 8px; } .topcta-txt{ width:100%; text-align:center; } }

/* End-of-post CTA box */
.post-cta { background:#EFF6F7; border:1px solid #D9E8EA; border-radius:16px; padding:26px 28px; margin:34px 0; font-family:'Inter',sans-serif; }
.post-cta-title { font-family:'Sora',sans-serif; font-size:20px; font-weight:700; color:#17323B; margin:0 0 8px; }
.post-cta p { color:#3D545C; line-height:1.65; }
.post-cta-btns { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:0 !important; }
.post-cta-btn { display:inline-block; padding:10px 20px; border-radius:999px; font-weight:600; text-decoration:none !important; font-size:14.5px; }
.post-cta-btn.tel { background:#16697A; color:#fff; }
.post-cta-btn.wa { background:#25D366; color:#fff; }
.post-cta-btn.mail { background:#fff; color:#16697A; border:1.5px solid #16697A; }

/* Sticky mobile call/WhatsApp bar */
.mobile-cta-bar { display:none; }
@media (max-width:768px){
  .mobile-cta-bar { display:flex; position:fixed; left:0; right:0; bottom:0; z-index:99999; box-shadow:0 -2px 14px rgba(0,0,0,.18); font-family:'Inter',sans-serif; }
  .mobile-cta-bar a { flex:1; text-align:center; padding:15px 0; font-weight:700; font-size:16px; text-decoration:none !important; color:#fff; }
  .mcb-tel { background:#16697A; } .mcb-wa { background:#25D366; }
  body { padding-bottom:52px; }
  /* hide the floating WA bubble on mobile: the bar already covers it */
  a[aria-label="Escríbenos por WhatsApp"] { display:none !important; }
}

/* Hero text legibility on small screens */
@media (max-width:768px){
  .elementor-slide-heading, .elementor-slide-description, .elementor-slide-text { text-shadow:0 2px 14px rgba(0,0,0,.65) !important; }
}
