/* Pages preserved from the supplied site that depended on remote original-plugin styles. */
body.jdm-page--internal .jdm-global-header .jdm-nav,
body.jdm-page--blog .jdm-global-header .jdm-nav,
body.jdm-page--contacto .jdm-global-header .jdm-nav,
body.jdm-page--sesiones .jdm-global-header .jdm-nav,
body.jdm-page--cursos-formacion .jdm-global-header .jdm-nav,
body.jdm-page--biblioteca .jdm-global-header .jdm-nav,
body.jdm-page--que-es-la-tbc .jdm-global-header .jdm-nav,
body.jdm-page--sobre-javier .jdm-global-header .jdm-nav,
body.jdm-page--aviso-legal .jdm-global-header .jdm-nav,
body.jdm-page--politica-de-privacidad .jdm-global-header .jdm-nav,
body.jdm-page--politica-de-cookies .jdm-global-header .jdm-nav,
body.jdm-page--proteccion-de-datos .jdm-global-header .jdm-nav {
  background:rgba(255,254,253,.97); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  box-shadow:0 1px 0 rgba(64,62,62,.10);
}
body.jdm-page--internal .jdm-global-header .nav-link,
body.jdm-page--blog .jdm-global-header .nav-link,
body.jdm-page--contacto .jdm-global-header .nav-link,
body.jdm-page--sesiones .jdm-global-header .nav-link,
body.jdm-page--cursos-formacion .jdm-global-header .nav-link,
body.jdm-page--biblioteca .jdm-global-header .nav-link,
body.jdm-page--que-es-la-tbc .jdm-global-header .nav-link,
body.jdm-page--sobre-javier .jdm-global-header .nav-link,
body.jdm-page--aviso-legal .jdm-global-header .nav-link,
body.jdm-page--politica-de-privacidad .jdm-global-header .nav-link,
body.jdm-page--politica-de-cookies .jdm-global-header .nav-link,
body.jdm-page--proteccion-de-datos .jdm-global-header .nav-link { color:#5a5857!important; }
body.jdm-page--internal .jdm-global-header .nav-logo,
body.jdm-page--blog .jdm-global-header .nav-logo,
body.jdm-page--contacto .jdm-global-header .nav-logo,
body.jdm-page--sesiones .jdm-global-header .nav-logo,
body.jdm-page--cursos-formacion .jdm-global-header .nav-logo,
body.jdm-page--biblioteca .jdm-global-header .nav-logo,
body.jdm-page--que-es-la-tbc .jdm-global-header .nav-logo,
body.jdm-page--sobre-javier .jdm-global-header .nav-logo,
body.jdm-page--aviso-legal .jdm-global-header .nav-logo,
body.jdm-page--politica-de-privacidad .jdm-global-header .nav-logo,
body.jdm-page--politica-de-cookies .jdm-global-header .nav-logo,
body.jdm-page--proteccion-de-datos .jdm-global-header .nav-logo { color:#403e3e!important; }
body.jdm-page--internal .jdm-global-header .nav-logo small,
body.jdm-page--blog .jdm-global-header .nav-logo small,
body.jdm-page--contacto .jdm-global-header .nav-logo small,
body.jdm-page--sesiones .jdm-global-header .nav-logo small,
body.jdm-page--cursos-formacion .jdm-global-header .nav-logo small,
body.jdm-page--biblioteca .jdm-global-header .nav-logo small,
body.jdm-page--que-es-la-tbc .jdm-global-header .nav-logo small,
body.jdm-page--sobre-javier .jdm-global-header .nav-logo small,
body.jdm-page--aviso-legal .jdm-global-header .nav-logo small,
body.jdm-page--politica-de-privacidad .jdm-global-header .nav-logo small,
body.jdm-page--politica-de-cookies .jdm-global-header .nav-logo small,
body.jdm-page--proteccion-de-datos .jdm-global-header .nav-logo small { color:#7A804A!important; }
body.jdm-page--internal .jdm-global-header .mobile-toggle,
body.jdm-page--blog .jdm-global-header .mobile-toggle,
body.jdm-page--contacto .jdm-global-header .mobile-toggle,
body.jdm-page--sesiones .jdm-global-header .mobile-toggle,
body.jdm-page--cursos-formacion .jdm-global-header .mobile-toggle,
body.jdm-page--biblioteca .jdm-global-header .mobile-toggle,
body.jdm-page--que-es-la-tbc .jdm-global-header .mobile-toggle,
body.jdm-page--sobre-javier .jdm-global-header .mobile-toggle,
body.jdm-page--aviso-legal .jdm-global-header .mobile-toggle,
body.jdm-page--politica-de-privacidad .jdm-global-header .mobile-toggle,
body.jdm-page--politica-de-cookies .jdm-global-header .mobile-toggle,
body.jdm-page--proteccion-de-datos .jdm-global-header .mobile-toggle { border-color:rgba(64,62,62,.22)!important; }
body.jdm-page--internal .jdm-global-header .mobile-toggle span,
body.jdm-page--blog .jdm-global-header .mobile-toggle span,
body.jdm-page--contacto .jdm-global-header .mobile-toggle span,
body.jdm-page--sesiones .jdm-global-header .mobile-toggle span,
body.jdm-page--cursos-formacion .jdm-global-header .mobile-toggle span,
body.jdm-page--biblioteca .jdm-global-header .mobile-toggle span,
body.jdm-page--que-es-la-tbc .jdm-global-header .mobile-toggle span,
body.jdm-page--sobre-javier .jdm-global-header .mobile-toggle span,
body.jdm-page--aviso-legal .jdm-global-header .mobile-toggle span,
body.jdm-page--politica-de-privacidad .jdm-global-header .mobile-toggle span,
body.jdm-page--politica-de-cookies .jdm-global-header .mobile-toggle span,
body.jdm-page--proteccion-de-datos .jdm-global-header .mobile-toggle span { background:#403e3e!important; }

/* Newsletter */
.jdm-newsletter-form { padding-left:40px; display:flex; flex-direction:column; gap:14px; }
.jdm-newsletter-form input { width:100%; padding:14px 18px; font-family:'Open Sans',sans-serif; font-size:14px; color:#403e3e; background:rgba(255,254,253,.7); border:1px solid rgba(64,62,62,.18); border-radius:3px; outline:none; }
.jdm-newsletter-form input:focus { border-color:#7a804a; background:rgba(255,254,253,.95); }
.jdm-newsletter-form button { border:0; cursor:pointer; }
.jdm-newsletter-consent { display:flex; align-items:flex-start; gap:8px; color:#6f6c68; font:400 11px/1.45 'Open Sans',sans-serif; }
.jdm-newsletter-consent input { width:14px; min-width:14px; margin-top:2px; padding:0; }
.jdm-newsletter-consent a { color:#5c6138; text-decoration:underline!important; }
.jdm-newsletter-message { display:none; margin:0!important; font-size:12px!important; }
.jdm-newsletter-message.is-visible { display:block; }
@media(max-width:768px){ .jdm-newsletter-form{padding-left:0!important;} }

/* Contact form – works with the recovered design */
.jdm-contact-form { display:block; }
.jdm-contact-form .btn-submit { width:100%; }
.jdm-contact-feedback { display:none; padding:15px; border:1px solid #aec2a7; background:#eff7ed; color:#3f6139; font:400 13px/1.5 'Open Sans',sans-serif; }
.jdm-contact-feedback.is-visible { display:block; }

/* TBC and About: equivalent local styling for the original jdm recovery templates. */
.jdm-safe-page { background:#fffefa; color:#686561; font-family:'Plus Jakarta Sans',sans-serif; }
.jdm-safe-page .jdm-safe-inner { width:min(100% - 48px, 1120px); margin:0 auto; }
.jdm-safe-page .jdm-hero { padding:156px 0 96px; background:linear-gradient(135deg,#403e3e 0%,#514e4a 60%,#77734e 100%); color:#fffefd; }
.jdm-safe-page .jdm-hero h1 { margin:0; max-width:760px; color:#fffefd; font:400 clamp(3rem,7vw,6.4rem)/.98 'Cormorant Garamond',serif; letter-spacing:-.02em; }
.jdm-safe-page .jdm-hero h1 em { color:#e9ddd0; }
.jdm-eyebrow { margin:0 0 18px; color:#7a804a; font:500 10px/1.2 'DM Sans',sans-serif; letter-spacing:.2em; text-transform:uppercase; }
.jdm-safe-page .jdm-hero .jdm-eyebrow { color:#b9bf82; }
.jdm-safe-page .jdm-rule { width:64px; height:1px; margin:32px 0 25px; background:#d4c5b1; }
.jdm-safe-page .jdm-lead { max-width:650px; margin:0; color:rgba(255,254,253,.76); font:300 clamp(1rem,1.7vw,1.2rem)/1.75 'Plus Jakarta Sans',sans-serif; }
.jdm-safe-page .jdm-section { padding:84px 0; }
.jdm-safe-page .jdm-copy-column { max-width:780px; }
.jdm-safe-page h2 { color:#403e3e; margin:0 0 25px; font:400 clamp(2rem,4vw,3.5rem)/1.05 'Cormorant Garamond',serif; }
.jdm-safe-page h3 { margin:0 0 13px; color:#fffefd; font:400 clamp(1.45rem,2vw,2rem)/1.2 'Cormorant Garamond',serif; }
.jdm-safe-page p { margin:0 0 20px; color:#706d68; font:400 16px/1.85 'Plus Jakarta Sans',sans-serif; }
.jdm-safe-page .jdm-safe-dark { background:#403e3e; }
.jdm-safe-page .jdm-safe-dark .jdm-safe-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.jdm-safe-page .jdm-safe-dark .jdm-eyebrow { color:#a6ac6d; }
.jdm-safe-page .jdm-safe-dark p { color:rgba(255,254,253,.68); }
.jdm-safe-page .jdm-safe-cta { background:#e9ddd0; text-align:center; }
.jdm-safe-page .jdm-safe-cta h2 { max-width:700px; margin:0 auto 28px; }
.jdm-safe-actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.jdm-button { display:inline-flex; padding:13px 23px; border:1px solid transparent; color:#403e3e; font:500 12px/1 'DM Sans',sans-serif; letter-spacing:.1em; text-transform:uppercase; transition:.2s ease; }
.jdm-button-light { background:#403e3e; color:#fffefd; }
.jdm-button-outline { border-color:#403e3e; }
.jdm-button:hover { transform:translateY(-2px); }
@media(max-width:700px){ .jdm-safe-page .jdm-safe-inner{width:min(100% - 40px,1120px)} .jdm-safe-page .jdm-hero{padding:125px 0 74px} .jdm-safe-page .jdm-safe-dark .jdm-safe-grid{grid-template-columns:1fr} .jdm-safe-page .jdm-section{padding:58px 0;} }

/* Courses */
.jdm-cursos-plugin-page { background:#fffefd; font-family:'DM Sans',sans-serif; color:#403e3e; padding-top:76px; }
.jdm-cursos { --carbon:#403e3e;--beige:#e9ddd0;--olive:#7a804a;--white:#fffefd; --line:#ddd4c9; overflow:hidden; }
.jdm-cursos .hero-band { padding:92px 24px 82px; text-align:center; background:#403e3e; color:#fffefd; }
.jdm-cursos .hero-title { max-width:1000px; margin:0 auto 22px; font:300 clamp(2.8rem,6vw,5.5rem)/1.02 'Cormorant Garamond',serif; color:#fffefd; }
.jdm-cursos .hero-title em { color:#e9ddd0; }
.jdm-cursos .hero-subtitle { margin:0; color:rgba(255,254,253,.72); font:300 17px/1.7 'Cormorant Garamond',serif; }
.jdm-cursos .section-label { display:flex; max-width:1140px; padding:55px 24px 22px; margin:0 auto; align-items:center; gap:16px; }
.jdm-cursos .section-label-text { color:#7a804a; font-size:10px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; white-space:nowrap; }
.jdm-cursos .section-label-line { height:1px; width:100%; background:#d6cabd; }
.jdm-cursos .presencial-wrapper { max-width:1140px; padding:0 24px 74px; margin:0 auto; }
.jdm-cursos .card-presencial { display:grid; grid-template-columns:1.02fr .98fr; background:#403e3e; color:#fffefd; }
.jdm-cursos .card-image img { display:block; width:100%; height:100%; min-height:500px; object-fit:cover; }
.jdm-cursos .card-content { padding:52px clamp(30px,5vw,70px); }
.jdm-cursos .badge { display:inline-block; padding:5px 10px; border:1px solid rgba(255,254,253,.34); color:#dce0ad; font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.jdm-cursos .card-title { margin:22px 0 12px; color:#fffefd; font:400 clamp(2.3rem,4.5vw,4.5rem)/1 'Cormorant Garamond',serif; }
.jdm-cursos .card-meta,.jdm-cursos .card-body,.jdm-cursos .continua-nota,.jdm-cursos .price-note { color:rgba(255,254,253,.69); font-size:14px; line-height:1.7; }
.jdm-cursos .aetbc-badge { color:#d8dbad; font-size:11px; line-height:1.5; margin:16px 0; }
.jdm-cursos .card-footer { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-top:30px; }
.jdm-cursos .price-amount { color:#fffefd; font:400 35px/1 'Cormorant Garamond',serif; }
.jdm-cursos .card-link,.jdm-cursos .btn-card { display:inline-flex; padding:13px 18px; color:#403e3e; background:#e9ddd0; font-size:10px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; }
.jdm-cursos .online-grid { max-width:1140px; padding:0 24px 80px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.jdm-cursos .online-card { background:#f1ece4; }
.jdm-cursos .online-card img { display:block; width:100%; aspect-ratio:1.13/1; object-fit:cover; }
.jdm-cursos .online-card-content { padding:26px; }
.jdm-cursos .online-card h3 { margin:12px 0; color:#403e3e; font:400 29px/1.05 'Cormorant Garamond',serif; }
.jdm-cursos .online-card p { color:#6a6763; font-size:13px; line-height:1.7; }
@media(max-width:800px){ .jdm-cursos .card-presencial{grid-template-columns:1fr}.jdm-cursos .card-image img{min-height:330px}.jdm-cursos .online-grid{grid-template-columns:1fr}.jdm-cursos .hero-band{padding-top:72px}.jdm-cursos .card-footer{align-items:flex-start;flex-direction:column;} }

/* Legal templates */
.jdm-legal-page { padding-top:76px; background:#fffefa; color:#403e3e; font-family:'Open Sans',sans-serif; }
.jdm-legal-hero { padding:78px 0 50px; background:#403e3e; }
.jdm-legal-inner { width:min(100% - 48px, 1040px); margin:0 auto; }
.jdm-legal-hero h1 { margin:0; color:#fffefd; font:400 clamp(2.8rem,5vw,4.5rem)/1 'Cormorant Garamond',serif; }
.jdm-legal-hero .jdm-eyebrow { color:#b8be80; }
.jdm-legal-content { padding:76px 0 90px; }
.jdm-legal-prose { max-width:860px; }
.jdm-legal-prose h2,.jdm-legal-prose h3 { margin:32px 0 13px; color:#403e3e; font-family:'Cormorant Garamond',serif; line-height:1.1; }
.jdm-legal-prose h2 { font-size:34px; }.jdm-legal-prose h3{font-size:26px;}
.jdm-legal-prose p,.jdm-legal-prose li { margin:0 0 16px; color:#65625f; font-size:14px; line-height:1.85; }
.jdm-legal-prose ol,.jdm-legal-prose ul{padding-left:22px;margin:20px 0;}
.jdm-legal-prose a{color:#66703c;text-decoration:underline!important;}


/* Biblioteca: el encabezado general del plugin sustituye el nav duplicado del HTML original. */
.biblioteca-elementor .anchor-nav { position:static !important; z-index:auto !important; height:auto !important; background:transparent !important; backdrop-filter:none !important; border:0 !important; padding:0 0 2.5rem !important; display:flex !important; align-items:initial !important; justify-content:initial !important; }
.biblioteca-elementor .breadcrumb { margin-top:84px !important; }
@media (max-width:768px){ .jdm-site-footer .footer-grid{grid-template-columns:1fr !important;} .jdm-site-footer .footer-newsletter{grid-column:auto!important;max-width:none!important;} }

/* Stable fallback: never leave a raw, unstyled technical page visible. */
.jdm-missing-page { min-height:70vh; display:flex; align-items:center; justify-content:center; padding:150px 24px 90px; background:#fffefa; color:#403e3e; text-align:center; }
.jdm-missing-page > div { max-width:580px; }
.jdm-missing-page__eyebrow { margin:0 0 15px; color:#7a804a; font:600 10px/1.2 'Open Sans',sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.jdm-missing-page h1 { margin:0 0 18px; font:400 clamp(2.5rem,6vw,4.6rem)/1.02 'Cormorant Garamond',Georgia,serif; }
.jdm-missing-page p:not(.jdm-missing-page__eyebrow) { margin:0 0 30px; font:400 16px/1.7 'Open Sans',sans-serif; color:#5e5a57; }
.jdm-missing-page a { display:inline-flex; padding:14px 21px; background:#403e3e; color:#fffefa; font:600 11px/1 'Open Sans',sans-serif; letter-spacing:.1em; text-transform:uppercase; }

/* ========================================================================
   Cursos y Formación · versión autosuficiente
   Corrige las clases reales de la maqueta (.card-online / .card-body-wrap)
   y evita depender del plugin anterior que aportaba estos estilos.
   ======================================================================== */
.jdm-cursos-plugin-page {
  padding-top:68px !important;
  background:#fffefd !important;
  overflow:hidden;
}
.jdm-cursos {
  --carbon:#403e3e;
  --beige:#e9ddd0;
  --beige-soft:#f4efe8;
  --olive:#7a804a;
  --olive-soft:#dfe1c7;
  --white:#fffefd;
  --muted:#706d68;
  --line:#ded4c7;
  color:var(--carbon);
  background:var(--white);
  font-family:'DM Sans',Arial,sans-serif;
}
.jdm-cursos .hero-band {
  position:relative;
  isolation:isolate;
  padding:110px 24px 94px;
  text-align:center;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 78% 18%,rgba(122,128,74,.34),transparent 42%),
    radial-gradient(ellipse at 8% 90%,rgba(233,221,208,.18),transparent 42%),
    var(--carbon);
}
.jdm-cursos .hero-band::before,
.jdm-cursos .hero-band::after {
  content:"";
  position:absolute;
  border:1px solid rgba(233,221,208,.14);
  width:460px;
  height:460px;
  border-radius:50%;
  z-index:-1;
}
.jdm-cursos .hero-band::before { right:-245px; top:-235px; }
.jdm-cursos .hero-band::after { left:-275px; bottom:-305px; }
.jdm-cursos .hero-title {
  max-width:1020px;
  margin:0 auto 22px;
  color:var(--white);
  font:300 clamp(42px,5.6vw,84px)/1.02 'Cormorant Garamond',Georgia,serif;
  letter-spacing:-.02em;
}
.jdm-cursos .hero-title em {
  display:block;
  margin-top:9px;
  color:var(--beige);
  font-style:italic;
}
.jdm-cursos .hero-subtitle {
  max-width:550px;
  margin:0 auto;
  color:rgba(255,254,253,.74);
  font:300 clamp(17px,1.7vw,20px)/1.55 'Cormorant Garamond',Georgia,serif;
}
.jdm-cursos .section-label {
  width:min(100% - 48px,1140px);
  display:flex;
  align-items:center;
  gap:17px;
  margin:0 auto;
  padding:68px 0 22px;
}
.jdm-cursos .section-label-text {
  flex:0 0 auto;
  color:var(--olive);
  font-size:10px;
  font-weight:600;
  letter-spacing:.2em;
  line-height:1;
  text-transform:uppercase;
}
.jdm-cursos .section-label-line { flex:1; height:1px; background:var(--line); }
.jdm-cursos .presencial-wrapper { width:min(100% - 48px,1140px); margin:0 auto; padding:0 0 18px; }
.jdm-cursos .card-presencial {
  display:grid;
  grid-template-columns:1.03fr .97fr;
  min-height:550px;
  overflow:hidden;
  background:var(--carbon);
  color:var(--white);
  box-shadow:0 20px 58px rgba(64,62,62,.12);
}
.jdm-cursos .card-presencial .card-image { min-height:100%; overflow:hidden; background:#5b5a53; }
.jdm-cursos .card-presencial .card-image img {
  display:block;
  width:100%;
  height:100%;
  min-height:550px;
  object-fit:cover;
  object-position:center;
  transition:transform .6s ease;
}
.jdm-cursos .card-presencial:hover .card-image img { transform:scale(1.025); }
.jdm-cursos .card-content { display:flex; flex-direction:column; justify-content:center; padding:58px clamp(34px,5.2vw,72px); }
.jdm-cursos .badge {
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:28px;
  border:1px solid rgba(255,254,253,.32);
  padding:5px 10px;
  color:#dde1af;
  font-size:9.5px;
  font-weight:500;
  letter-spacing:.14em;
  line-height:1.1;
  text-transform:uppercase;
}
.jdm-cursos .badge-presencial { color:#e5e7c3; }
.jdm-cursos .card-presencial .card-title {
  margin:23px 0 13px;
  color:var(--white);
  font:400 clamp(46px,4.6vw,68px)/.96 'Cormorant Garamond',Georgia,serif;
  letter-spacing:-.025em;
}
.jdm-cursos .card-presencial .card-meta,
.jdm-cursos .card-presencial .card-body,
.jdm-cursos .card-presencial .continua-nota,
.jdm-cursos .card-presencial .price-note {
  color:rgba(255,254,253,.70);
  font-size:13px;
  line-height:1.72;
}
.jdm-cursos .card-presencial .card-meta { margin:0 0 11px; color:rgba(255,254,253,.58); font-size:11px; letter-spacing:.05em; text-transform:uppercase; }
.jdm-cursos .aetbc-badge { margin:13px 0 18px; color:#d9dca9; font-size:10.5px; font-weight:500; line-height:1.55; }
.jdm-cursos .card-body { margin:0; }
.jdm-cursos .continua-nota { margin:19px 0 0; font-size:12px !important; font-style:italic; }
.jdm-cursos .card-footer { display:flex; align-items:flex-end; justify-content:space-between; gap:22px; margin-top:32px; }
.jdm-cursos .price-amount { color:var(--white); font:400 38px/.95 'Cormorant Garamond',Georgia,serif; }
.jdm-cursos .price-note { margin-top:5px; font-size:11px !important; }
.jdm-cursos .btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:44px;
  padding:13px 16px;
  border:1px solid transparent;
  font:600 10px/1 'DM Sans',Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap;
  transition:transform .22s ease,background .22s ease,border-color .22s ease,color .22s ease;
}
.jdm-cursos .btn:hover { transform:translateY(-2px); }
.jdm-cursos .btn-arrow { font-size:17px; line-height:0; font-weight:300; }
.jdm-cursos .btn-gold { background:var(--beige); color:var(--carbon); }
.jdm-cursos .btn-gold:hover { background:#fff6ed; color:var(--carbon); }
.jdm-cursos .online-intro {
  width:min(100% - 48px,1140px);
  margin:0 auto;
  padding:0 0 32px;
  color:#625f5b;
  font:300 clamp(19px,2vw,24px)/1.45 'Cormorant Garamond',Georgia,serif;
}
.jdm-cursos .online-intro p { margin:0; }
.jdm-cursos .online-grid {
  width:min(100% - 48px,1140px);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:0 auto;
  padding:0 0 92px;
}
.jdm-cursos .card-online {
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  background:var(--beige-soft);
  border:1px solid rgba(64,62,62,.08);
  transition:transform .28s ease,box-shadow .28s ease;
}
.jdm-cursos .card-online:hover { transform:translateY(-5px); box-shadow:0 18px 42px rgba(64,62,62,.12); }
.jdm-cursos .card-online .card-image { overflow:hidden; background:#d5d0c8; }
.jdm-cursos .card-online .card-image img {
  display:block;
  width:100%;
  min-height:0;
  height:auto;
  aspect-ratio:1.18/1;
  object-fit:cover;
  object-position:center;
  transition:transform .55s ease;
}
.jdm-cursos .card-online:hover .card-image img { transform:scale(1.035); }
.jdm-cursos .card-body-wrap { display:flex; flex:1; flex-direction:column; padding:25px 25px 27px; }
.jdm-cursos .card-online .badge { border-color:rgba(64,62,62,.25); color:var(--olive); }
.jdm-cursos .card-online .card-title { margin:0 0 10px; color:var(--carbon); font:500 clamp(18px,1.35vw,22px)/1.25 'Cormorant Garamond',Georgia,serif; letter-spacing:0; }
.jdm-cursos .card-online .card-subtitle { margin:-2px 0 10px; color:#6a6c45; font:400 13px/1.35 'Cormorant Garamond',Georgia,serif; font-style:italic; }
.jdm-cursos .card-online .card-meta { margin:0 0 15px; color:#77716b; font-size:10px; line-height:1.55; letter-spacing:.04em; text-transform:uppercase; }
.jdm-cursos .card-desc { margin:0; color:#65615d; font-size:13px; line-height:1.72; }
.jdm-cursos .card-online .card-footer { margin-top:auto; padding-top:27px; align-items:flex-end; }
.jdm-cursos .card-online .price-amount { color:var(--carbon); font-size:34px; }
.jdm-cursos .card-online .price-note { color:#77716b; }
.jdm-cursos .btn-outline-carbon { border-color:rgba(64,62,62,.62); color:var(--carbon); background:transparent; }
.jdm-cursos .btn-outline-carbon:hover { background:var(--carbon); color:var(--white); }
.jdm-cursos .btn-olive { background:var(--olive); color:var(--white); }
.jdm-cursos .btn-olive:hover { background:#62683b; color:var(--white); }
.jdm-cursos .card-maestria { background:#e7edf0; }
.jdm-cursos .card-maestria .badge { color:#596a66; border-color:rgba(89,106,102,.36); }
@media(max-width:940px) {
  .jdm-cursos .card-presencial { grid-template-columns:1fr; }
  .jdm-cursos .card-presencial .card-image { min-height:370px; }
  .jdm-cursos .card-presencial .card-image img { min-height:370px; }
  .jdm-cursos .online-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .jdm-cursos .card-online:last-child { grid-column:1/-1; }
}
@media(max-width:620px) {
  .jdm-cursos-plugin-page { padding-top:64px !important; }
  .jdm-cursos .hero-band { padding:78px 22px 70px; }
  .jdm-cursos .hero-title { font-size:42px; }
  .jdm-cursos .section-label,
  .jdm-cursos .presencial-wrapper,
  .jdm-cursos .online-intro,
  .jdm-cursos .online-grid { width:min(100% - 34px,1140px); }
  .jdm-cursos .section-label { padding-top:48px; }
  .jdm-cursos .card-presencial .card-image,
  .jdm-cursos .card-presencial .card-image img { min-height:260px; }
  .jdm-cursos .card-content { padding:38px 24px; }
  .jdm-cursos .card-presencial .card-title { font-size:47px; }
  .jdm-cursos .card-footer { align-items:flex-start; flex-direction:column; }
  .jdm-cursos .online-grid { grid-template-columns:1fr; gap:16px; padding-bottom:65px; }
  .jdm-cursos .card-online:last-child { grid-column:auto; }
  .jdm-cursos .card-body-wrap { padding:23px 22px 25px; }
  .jdm-cursos .btn { width:100%; }
}

/* ========================================================================
   Blog · corrección de legibilidad estable
   Se carga al final del CSS del plugin para aislar la portada del blog de
   estilos heredados del tema/maquetador.
   ======================================================================== */
body.jdm-page--blog .jdm-global-header .jdm-nav {
  background:rgba(64,62,62,.98) !important;
  box-shadow:0 1px 0 rgba(255,254,253,.12) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}
body.jdm-page--blog .jdm-global-header .nav-link,
body.jdm-page--blog .jdm-global-header .nav-logo {
  color:#fffefd !important;
  opacity:1 !important;
}
body.jdm-page--blog .jdm-global-header .nav-logo small {
  color:#b9bf82 !important;
  opacity:1 !important;
}

body.jdm-page--blog .sendero-blog-widget {
  --carbon:#403e3e !important;
  --beige:#e9ddd0 !important;
  --oliva:#7a804a !important;
  --blanco:#fffefd !important;
  --beige-dark:#d8cabb !important;
  color:#403e3e !important;
  background:#fffefd !important;
  isolation:isolate;
}
body.jdm-page--blog .sendero-blog-widget .sendero-hero {
  display:block !important;
  min-height:auto !important;
  margin:0 !important;
  padding:124px 24px 76px !important;
  background:#403e3e !important;
  color:#fffefd !important;
  text-align:center !important;
  overflow:hidden !important;
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
  mix-blend-mode:normal !important;
}
body.jdm-page--blog .sendero-blog-widget .sendero-hero::before {
  opacity:1 !important;
  mix-blend-mode:normal !important;
}
body.jdm-page--blog .sendero-blog-widget .sendero-hero > * {
  position:relative !important;
  z-index:1 !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  filter:none !important;
  mix-blend-mode:normal !important;
}
body.jdm-page--blog .sendero-blog-widget .sendero-eyebrow {
  color:#a9af68 !important;
  -webkit-text-fill-color:#a9af68 !important;
}
body.jdm-page--blog .sendero-blog-widget .sendero-seo {
  color:#e9ddd0 !important;
  -webkit-text-fill-color:#e9ddd0 !important;
}
body.jdm-page--blog .sendero-blog-widget h1.sendero-title {
  display:block !important;
  margin:0 0 18px !important;
  color:#fffefd !important;
  -webkit-text-fill-color:#fffefd !important;
  opacity:1 !important;
  visibility:visible !important;
  text-shadow:none !important;
  text-indent:0 !important;
  letter-spacing:-.025em !important;
}
body.jdm-page--blog .sendero-blog-widget h1.sendero-title em {
  display:inline !important;
  color:#e9ddd0 !important;
  -webkit-text-fill-color:#e9ddd0 !important;
  opacity:1 !important;
  visibility:visible !important;
  font-style:italic !important;
  text-shadow:none !important;
}
body.jdm-page--blog .sendero-blog-widget .sendero-sub {
  color:#e9ddd0 !important;
  -webkit-text-fill-color:#e9ddd0 !important;
  opacity:1 !important;
}
body.jdm-page--blog .sendero-blog-widget .sendero-search {
  display:block !important;
  max-width:500px !important;
  margin:0 auto !important;
}
body.jdm-page--blog .sendero-blog-widget .sendero-search input {
  display:block !important;
  width:100% !important;
  min-height:50px !important;
  margin:0 !important;
  padding:13px 50px 13px 20px !important;
  border:1px solid rgba(233,221,208,.46) !important;
  background:rgba(255,254,253,.10) !important;
  color:#fffefd !important;
  -webkit-text-fill-color:#fffefd !important;
  opacity:1 !important;
  box-shadow:none !important;
}
body.jdm-page--blog .sendero-blog-widget .sendero-search input::placeholder {
  color:rgba(233,221,208,.76) !important;
  -webkit-text-fill-color:rgba(233,221,208,.76) !important;
  opacity:1 !important;
}
body.jdm-page--blog .sendero-blog-widget .sendero-search svg {
  color:#e9ddd0 !important;
  opacity:1 !important;
}
@media (max-width:720px) {
  body.jdm-page--blog .sendero-blog-widget .sendero-hero {
    padding:108px 20px 58px !important;
  }
}


/* v3.8.1 · Encuadres seguros para fotografías con personas.
   Los formatos panorámicos de las tarjetas no recortan la zona superior donde suelen situarse los rostros. */
.jdm-cursos .card-presencial .card-image img,
.jdm-cursos .card-online .card-image img {
  object-position:center 16%;
}
.sendero-card img,
.sendero-rec-img img {
  object-position:center 18%;
}


/* v3.9.2 · Ajuste fino de encuadres en tarjetas y fotos horizontales.
   Se desplaza el foco hacia la parte alta y se gana un poco de altura
   en las cards con personas para evitar que las caras queden cortadas. */
.jdm-cursos .card-presencial .card-image img {
  object-position:center 10% !important;
}
.jdm-cursos .card-online.card-afina .card-image img {
  object-position:center 6% !important;
  aspect-ratio:1.05/1 !important;
}
.jdm-cursos .card-online.card-mas-alla .card-image img {
  object-position:center 8% !important;
  aspect-ratio:1.05/1 !important;
}
.jdm-cursos .card-online.card-maestria .card-image img {
  object-position:center 14% !important;
  aspect-ratio:1.08/1 !important;
}
.jdm-post-image img,
.sendero-card img,
.sendero-rec-img img {
  object-position:center 12% !important;
}
@media (max-width:768px) {
  .jdm-cursos .card-presencial .card-image img {
    min-height:380px !important;
    object-position:center 12% !important;
  }
  .jdm-cursos .card-online.card-afina .card-image img,
  .jdm-cursos .card-online.card-mas-alla .card-image img,
  .jdm-cursos .card-online.card-maestria .card-image img {
    aspect-ratio:1/1 !important;
  }
}


/* v3.9.4 · Ajuste definitivo: las imágenes de cursos se muestran completas
   y dejan de recortarse en las tarjetas. */
.jdm-cursos .card-presencial .card-image,
.jdm-cursos .card-online .card-image {
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
}
.jdm-cursos .card-presencial .card-image img {
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center top !important;
}
.jdm-cursos .card-online .card-image img,
.jdm-cursos .card-online.card-afina .card-image img,
.jdm-cursos .card-online.card-mas-alla .card-image img,
.jdm-cursos .card-online.card-maestria .card-image img {
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center top !important;
}
@media (max-width:768px) {
  .jdm-cursos .card-presencial .card-image img,
  .jdm-cursos .card-online .card-image img {
    width:100% !important;
    height:auto !important;
  }
}


/* v3.9.5 · Encuadres corregidos directamente en los tres archivos de imagen.
   Se conserva el formato de las tarjetas y no se aplica ningún zoom ni desplazamiento al cargar. */
body.jdm-page--cursos-formacion .jdm-cursos .card-online .card-image {
  aspect-ratio:1 / 1 !important;
  overflow:hidden !important;
  background:#ebe4da !important;
}
body.jdm-page--cursos-formacion .jdm-cursos .card-online .card-image img,
body.jdm-page--cursos-formacion .jdm-cursos .card-online.card-afina .card-image img,
body.jdm-page--cursos-formacion .jdm-cursos .card-online.card-mas-alla .card-image img,
body.jdm-page--cursos-formacion .jdm-cursos .card-online.card-maestria .card-image img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
}
body.jdm-page--cursos-formacion .jdm-cursos .card-online:hover .card-image img {
  transform:none !important;
}


/* v3.9.6 · Las tres imágenes de los cursos se insertan de forma autónoma.
   Esta regla evita que el tema, caché o cualquier optimizador aplique un recorte o las oculte. */
body.jdm-page--cursos-formacion .jdm-cursos .card-online .card-image img[src^="data:image/"] {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  object-fit:cover !important;
  object-position:center center !important;
}


/* v3.9.7 · Corrección real de imágenes en cursos y sesiones. */
body.jdm-page--cursos-formacion .jdm-cursos .card-presencial .card-image {
  display:block !important;
  align-self:stretch !important;
  min-height:100% !important;
  overflow:hidden !important;
}
body.jdm-page--cursos-formacion .jdm-cursos .card-presencial .card-image img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:550px !important;
  object-fit:cover !important;
  object-position:center center !important;
  aspect-ratio:auto !important;
}
body.jdm-page--cursos-formacion .jdm-cursos .card-online .card-image {
  aspect-ratio:1 / 1 !important;
  background:#ebe4da !important;
}
body.jdm-page--cursos-formacion .jdm-cursos .card-online .card-image img[src^="data:image/"] {
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  aspect-ratio:1 / 1 !important;
}
body.jdm-page--sesiones .jdm-sesiones .card-image.online-img {
  background-position:center center !important;
}
@media (max-width:800px) {
  body.jdm-page--cursos-formacion .jdm-cursos .card-presencial .card-image img {
    min-height:360px !important;
  }
}


/* v4.0.0 · Imágenes de cursos y sesiones con marcos preparados, sin recorte adicional. */
body.jdm-page--cursos-formacion .jdm-cursos .card-presencial {
  align-items:stretch !important;
}
body.jdm-page--cursos-formacion .jdm-cursos .card-presencial .card-image {
  display:block !important;
  min-height:550px !important;
  height:100% !important;
  overflow:hidden !important;
}
body.jdm-page--cursos-formacion .jdm-cursos .card-presencial .card-image img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:550px !important;
  object-fit:cover !important;
  object-position:center center !important;
  aspect-ratio:auto !important;
  transform:none !important;
}
body.jdm-page--cursos-formacion .jdm-cursos .card-online .card-image {
  display:block !important;
  aspect-ratio:1 / 1 !important;
  overflow:hidden !important;
  background:#ebe4da !important;
}
body.jdm-page--cursos-formacion .jdm-cursos .card-online .card-image img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
}
body.jdm-page--cursos-formacion .jdm-cursos .card-online:hover .card-image img {
  transform:none !important;
}
body.jdm-page--sesiones .jdm-sesiones .card-image {
  aspect-ratio:16 / 9 !important;
  height:auto !important;
  background-size:cover !important;
  background-position:center center !important;
}
@media (max-width:800px) {
  body.jdm-page--cursos-formacion .jdm-cursos .card-presencial .card-image,
  body.jdm-page--cursos-formacion .jdm-cursos .card-presencial .card-image img {
    min-height:360px !important;
  }
}


/* v4.1.2 · Contraste fijo en cabeceras de cursos de Biblioteca.
   Evita que los estilos globales del tema oscurezcan títulos, nivel y precio. */
.biblioteca-elementor .courses-section .course-card .course-header {
  color:#fffefd !important;
}
.biblioteca-elementor .courses-section .course-card .course-header .course-level {
  color:#f4ecd9 !important;
  opacity:1 !important;
}
.biblioteca-elementor .courses-section .course-card .course-header .course-title,
.biblioteca-elementor .courses-section .course-card .course-header h3.course-title,
.biblioteca-elementor .courses-section .course-card .course-header .course-title * {
  color:#fffefd !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.biblioteca-elementor .courses-section .course-card .course-header .course-price-badge {
  color:#fffefd !important;
  opacity:1 !important;
}
.biblioteca-elementor .courses-section .course-card .course-header[style*="oliva"] .course-level {
  color:#f4ecd9 !important;
}
.biblioteca-elementor .courses-section .course-card .course-header[style*="oliva"] .course-title,
.biblioteca-elementor .courses-section .course-card .course-header[style*="oliva"] .course-price-badge {
  color:#fffefd !important;
}

/* v4.1.4 · Legales completas */
.jdm-legal-prose .jdm-legal-updated { margin:-4px 0 30px; color:#7a804a; font:600 11px/1.5 'Open Sans',sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.jdm-legal-prose .jdm-legal-contact-card { margin:24px 0 36px; padding:24px 26px 8px; border:1px solid #d6cabd; background:#f8f4ee; }
.jdm-legal-prose .jdm-legal-contact-card p { margin:0 0 12px; }
.jdm-legal-prose h2 { margin-top:52px; }
.jdm-legal-prose h3 { margin-top:28px; color:#5c6138; }
.jdm-legal-prose li { margin-bottom:9px; }
@media (max-width:640px){ .jdm-legal-prose .jdm-legal-contact-card{padding:20px 18px 6px;} }

/* v4.8.4 · Los textos superiores de las tarjetas online son títulos introductorios breves. */
body.jdm-page--cursos-formacion .jdm-cursos .card-online .card-title,
body.jdm-page--cursos-formacion .jdm-cursos .card-online h2.card-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 21px !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  margin: 0 0 10px !important;
  max-width: 100% !important;
}
body.jdm-page--cursos-formacion .jdm-cursos .card-online .card-desc {
  font-size: 13px !important;
  line-height: 1.65 !important;
}
@media (max-width: 768px) {
  body.jdm-page--cursos-formacion .jdm-cursos .card-online .card-title,
  body.jdm-page--cursos-formacion .jdm-cursos .card-online h2.card-title {
    font-size: 19px !important;
  }
}


/* v4.9.3 · Sesiones: estructura estable y centrada, sin colisiones con .card del tema. */
body.jdm-page--sesiones .jdm-sesiones .session-card {
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  min-width:0 !important;
}
body.jdm-page--sesiones .jdm-sesiones .session-card-body {
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  width:100% !important;
  min-width:0 !important;
}
body.jdm-page--sesiones .jdm-sesiones .session-card-desc {
  display:block !important;
  width:100% !important;
  text-transform:none !important;
  letter-spacing:normal !important;
}
body.jdm-page--sesiones .jdm-sesiones .session-card-meta {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  width:100% !important;
  align-items:start !important;
}
body.jdm-page--sesiones .jdm-sesiones .session-meta-item {
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  min-width:0 !important;
}
body.jdm-page--sesiones .jdm-sesiones .session-card-image {
  aspect-ratio:16 / 9 !important;
  height:auto !important;
  background-size:cover !important;
  background-position:center center !important;
}
@media (max-width:420px) {
  body.jdm-page--sesiones .jdm-sesiones .session-card-meta {
    grid-template-columns:1fr !important;
  }
}
