/* =========================================================
   PAGES — Catalog & internal-page styles
   Loaded on all non-front pages (dep: ceslan-base)
   ========================================================= */

/* ── CATALOG HEADER ─────────────────────────────────────── */
.cat-head{
  padding:42px 0 28px;
  border-bottom:1px solid var(--line);
  margin-bottom:32px;
}
.cat-head h1{
  font-size:clamp(28px,4vw,44px);
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--ink);
  margin-bottom:6px;
}
.cat-head .cat-desc{
  color:var(--muted);
  font-size:16px;
  margin-bottom:18px;
}
.cat-chips{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  align-items:center;
  margin-bottom:6px;
}
.cat-chips .chip{
  font-size:13px;
  font-weight:700;
  background:#fff;
  border:1px solid var(--line);
  border-radius:30px;
  padding:6px 15px;
  color:var(--ink);
  transition:.2s;
  cursor:pointer;
  text-decoration:none;
  display:inline-block;
}
.cat-chips .chip:hover,
.cat-chips .chip.active{
  border-color:var(--orange);
  color:var(--orange);
  transform:translateY(-1px);
}
.cat-chips .chip.active{
  background:var(--orange);
  color:#fff;
}
.cat-count{
  font-size:14px;
  color:var(--muted);
  font-weight:600;
  margin-top:6px;
}

/* ── WOO-WRAP RESET ─────────────────────────────────────── */
/* Remove sidebar WooCommerce injects, full-width grid */
.woo-wrap .woocommerce,
.woo-wrap .woocommerce-page{width:100%}

/* Breadcrumbs — bumped size + spacing for contrast/readability */
.woocommerce-breadcrumb{
  font-size:13px;
  color:var(--muted); /* #5B6478 on white = 5.91:1 ✓ WCAG AA */
  margin-bottom:10px;
  line-height:1.5;
  padding:4px 0;
}
.woocommerce-breadcrumb a{color:var(--muted);text-decoration:none;transition:color .2s}
.woocommerce-breadcrumb a:hover{color:var(--orange)}

/* Result count + ordering bar */
.woocommerce-result-count{
  font-size:14px;
  color:var(--muted);
  font-weight:600;
  margin:0 0 16px;
}
.woocommerce-ordering{margin-bottom:16px}
.woocommerce-ordering select{
  font-family:inherit;
  font-size:14px;
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:var(--r-btn);
  background:#fff;
  color:var(--ink);
  cursor:pointer;
}

/* ── PRODUCT GRID ───────────────────────────────────────── */
/* Override WooCommerce default float layout on list items */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  float:none!important;
  width:auto!important;
  margin:0!important;
  clear:none!important;
}
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  list-style:none;
  margin:0 0 40px!important;
  padding:0!important;
  float:none!important;
  clear:both;
}
@media(max-width:980px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:560px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{grid-template-columns:1fr!important}
}

/* ── PRODUCT CARD ───────────────────────────────────────── */
li.product.course-card,
.woocommerce ul.products li.product{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-card);
  overflow:hidden;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease);
  display:flex;
  flex-direction:column;
}
li.product.course-card:hover,
.woocommerce ul.products li.product:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-md);
}

/* Card link wrapper (WooCommerce injects <a> via hook) */
li.product.course-card > a,
.woocommerce ul.products li.product > a{
  display:block;
  color:inherit;
  text-decoration:none;
}

/* Thumbnail */
.cc-img,
li.product.course-card .woocommerce-loop-product__link > img,
li.product.course-card .attachment-woocommerce_thumbnail{
  aspect-ratio:4/3;
  object-fit:cover;
  width:100%;
  display:block;
}
.cc-img{overflow:hidden}
.cc-img img{
  aspect-ratio:4/3;
  object-fit:cover;
  width:100%;
  display:block;
  transition:transform .35s var(--ease);
}
li.product.course-card:hover .cc-img img{transform:scale(1.04)}

/* Card body */
.cc-body{
  padding:18px;
  flex:1;
  display:flex;
  flex-direction:column;
}

/* Category badge */
.cc-cat{
  font-size:12px;
  font-weight:700;
  color:var(--orange);
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:8px;
  display:block;
}

/* Title */
.cc-body h3,
.cc-body .woocommerce-loop-product__title{
  font-size:16.5px;
  font-weight:700;
  line-height:1.3;
  color:var(--ink);
  margin-bottom:10px;
  flex:1;
}

/* Price */
.cc-price,
.cc-body .price,
.cc-body .woocommerce-Price-amount{
  color:var(--orange);
  font-weight:800;
  font-size:18px;
  margin-bottom:14px;
  display:block;
}
.cc-body .price del{
  color:var(--muted);
  font-weight:400;
  font-size:14px;
  margin-right:6px;
}

/* "Ver curso" CTA */
.cc-cta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:14px;
  font-weight:700;
  color:var(--ink);
  transition:gap .2s,color .2s;
}
.cc-cta .arr{transition:transform .2s}
li.product.course-card:hover .cc-cta{color:var(--orange);gap:10px}
li.product.course-card:hover .cc-cta .arr{transform:translateX(3px)}

/* Sale flash badge */
.onsale{
  position:absolute;
  top:12px;
  left:12px;
  background:var(--orange);
  color:#fff;
  font-size:12px;
  font-weight:800;
  padding:4px 10px;
  border-radius:20px;
  z-index:2;
}
li.product.course-card{position:relative}

/* Hide default WooCommerce rating + add-to-cart button clutter
   (we replace with a clean CTA link) */
.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .button{
  display:none!important;
}

/* ── PAGINATION ─────────────────────────────────────────── */
.woocommerce-pagination{
  margin:20px 0 40px;
  text-align:center;
}
.woocommerce-pagination ul{
  list-style:none;
  display:inline-flex;
  gap:6px;
  padding:0;
}
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;height:38px;
  border-radius:var(--r-btn);
  border:1px solid var(--line);
  font-size:14px;
  font-weight:700;
  color:var(--ink);
  background:#fff;
  transition:.2s;
}
.woocommerce-pagination ul li a:hover{border-color:var(--orange);color:var(--orange)}
.woocommerce-pagination ul li span.current{
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
}

/* ── NO-PRODUCTS MESSAGE ────────────────────────────────── */
.woocommerce-no-products-found{
  padding:60px 0;
  text-align:center;
  color:var(--muted);
  font-size:17px;
}

/* =========================================================
   SINGLE PRODUCT — Ficha de curso (WPBakery layout)
   Targets the UltimateButton pricing table + 2-col row
   ========================================================= */

/* ── Wrap padding for single product ──────────────────── */
.single-product .woo-wrap{padding-top:0}

/* ── Main 2-col row: tighten gap, align tops ──────────── */
.single-product .vc_row.mpc-row{
  margin-bottom:0;
}

/* ── Left column: description ─────────────────────────── */
.single-product .vc_col-sm-8 .vc_column-inner{
  padding-right:28px!important;
}
.single-product .vc_col-sm-8 h1,
.single-product .vc_col-sm-8 .vc_custom_heading{
  font-size:clamp(22px,3.2vw,34px)!important;
  font-weight:800!important;
  letter-spacing:-.03em!important;
  color:var(--ink)!important;
  line-height:1.22!important;
  margin-bottom:20px!important;
  font-family:'Plus Jakarta Sans',system-ui,sans-serif!important;
}
.single-product .vc_col-sm-8 p{
  color:var(--muted);
  font-size:15.5px;
  line-height:1.7;
  margin-bottom:14px;
}
.single-product .vc_col-sm-8 ul li{
  color:var(--muted);
  font-size:15px;
  line-height:1.6;
  margin-bottom:6px;
}
.single-product .vc_col-sm-8 h2,
.single-product .vc_col-sm-8 h3{
  font-weight:700!important;
  color:var(--ink)!important;
  font-family:'Plus Jakarta Sans',system-ui,sans-serif!important;
  margin-top:28px!important;
  margin-bottom:12px!important;
}
.single-product .vc_col-sm-8 h2{font-size:22px!important}
.single-product .vc_col-sm-8 h3{font-size:18px!important}

/* ── RIGHT: Matrícula sticky card ─────────────────────── */
.single-product .vc_col-sm-4.vc_col-has-fill{
  position:sticky;
  top:90px;
  align-self:start;
}
.single-product .vc_col-sm-4.vc_col-has-fill .vc_column-inner{
  padding:0!important;
}

/* Override the UltimateButton pricing table inline yellow bg */
.single-product .ult_pricing_table_wrap{
  border-radius:var(--r-card)!important;
  overflow:hidden!important;
  box-shadow:var(--shadow-md)!important;
  border:1px solid var(--line)!important;
}
.single-product .ult_pricing_table{
  background:#fff!important;
  border-radius:var(--r-card)!important;
  padding:0!important;
}

/* Header band: gradient instead of flat yellow */
.single-product .ult_pricing_heading{
  background:linear-gradient(120deg,var(--yellow),var(--orange))!important;
  padding:20px 24px 16px!important;
  border-radius:calc(var(--r-card) - 1px) calc(var(--r-card) - 1px) 0 0!important;
}
.single-product .ult_pricing_heading .price-heading,
.single-product .ult_pricing_heading h3{
  color:#fff!important;
  font-size:13px!important;
  font-weight:700!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  font-family:'Plus Jakarta Sans',system-ui,sans-serif!important;
  margin:0!important;
}

/* Price body */
.single-product .ult_price_body_block{
  padding:20px 24px 0!important;
  background:#fff!important;
}
.single-product .ult_price_figure{
  font-size:52px!important;
  font-weight:800!important;
  color:var(--orange)!important;
  line-height:1!important;
  display:block!important;
  font-family:'Plus Jakarta Sans',system-ui,sans-serif!important;
  margin-bottom:4px!important;
}
.single-product .ult_price_term{
  font-size:14px!important;
  color:var(--muted)!important;
}

/* Features list (FUNDAE note) */
.single-product .ult_price_features{
  padding:0 24px 16px!important;
  background:#fff!important;
}
.single-product .ult_price_features p{
  font-size:12.5px!important;
  color:var(--muted)!important;
  line-height:1.5!important;
  margin:0!important;
}
/* FUNDAE highlight link */
.single-product .ult_price_features a{
  color:var(--orange);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
}

/* ── Add-to-cart / matricula button ───────────────────── */
.single-product .ubtn-ctn-center{
  padding:0 24px 24px!important;
  background:#fff!important;
}
/* Override the inline styles on the <a> wrapper and <button> */
.single-product .ubtn-link{
  display:block!important;
  width:100%!important;
  text-decoration:none!important;
}
.single-product .ubtn-link .ubtn{
  font-family:'Plus Jakarta Sans',system-ui,sans-serif!important;
  font-weight:700!important;
  font-size:15px!important;
  width:100%!important;
  min-height:52px!important;
  padding:14px 20px!important;
  border-radius:var(--r-btn)!important;
  border:none!important;
  background:linear-gradient(120deg,var(--yellow),var(--orange))!important;
  color:#fff!important;
  box-shadow:0 10px 26px rgba(245,130,31,.38)!important;
  cursor:pointer!important;
  transition:transform .18s,box-shadow .25s!important;
  display:block!important;
}
.single-product .ubtn-link:hover .ubtn{
  transform:translateY(-2px)!important;
  box-shadow:0 14px 32px rgba(245,130,31,.5)!important;
}
/* Hide the icon span that may cause layout issues */
.single-product .ubtn .ubtn-icon-side{font-size:0}

/* ── FUNDAE note injected via ::after on the card ─────── */
.single-product .vc_col-sm-4.vc_col-has-fill .ubtn-ctn-center::after{
  content:'¿Empresa? Bonifica con FUNDAE →';
  display:block;
  text-align:center;
  font-size:12px;
  font-weight:700;
  color:var(--muted);
  padding:10px 0 4px;
  letter-spacing:.01em;
}

/* ── Breadcrumbs on single product ───────────────────── */
.single-product .woocommerce-breadcrumb{
  padding:12px 0 0;
  font-size:13px;
}

/* ── Revolution Slider crop & title overlay ──────────── */
.single-product rs-fullwidth-wrap,
.single-product .revslider-wrap,
.single-product .wpb_revslider_element{
  overflow:hidden!important;
  max-width:100vw!important;
}

/* ── Mobile: stack the 2 cols ─────────────────────────── */
@media(max-width:900px){
  .single-product .vc_col-sm-4.vc_col-has-fill{
    position:static!important;
  }
  .single-product .vc_col-sm-8 .vc_column-inner{
    padding-right:0!important;
  }
}
@media(max-width:640px){
  .single-product .ult_price_figure{
    font-size:42px!important;
  }
}

/* ── DHVC Carousel "otros cursos" styling ─────────────── */
/* Style the DHVC carousel product items like course-cards */
.single-product .dhvc-woo-item{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-card);
  overflow:hidden;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}
.single-product .dhvc-woo-item:hover{
  transform:translateY(-5px);
  box-shadow:var(--shadow-md);
}
.single-product .dhvc-woo-images img{
  aspect-ratio:4/3;
  object-fit:cover;
  width:100%;
  display:block;
}
.single-product .dhvc-woo-details{
  padding:14px 16px;
}
.single-product .dhvc-woo-details .dhvc-woo-loop-title a,
.single-product .dhvc-woo-item .woocommerce-loop-product__title{
  font-size:15px;
  font-weight:700;
  color:var(--ink);
  text-decoration:none;
  line-height:1.3;
}
.single-product .dhvc-woo-item .price,
.single-product .dhvc-woo-item .woocommerce-Price-amount{
  color:var(--orange);
  font-weight:800;
  font-size:17px;
}
/* Contain carousel horizontal overflow */
.single-product .dhvc-woo.dhvc-woo-carousel{
  overflow:hidden;
}

/* Toolbar (sorting/count) on carousel */
.single-product .dhvc-woo-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:16px;
  font-size:13px;
  color:var(--muted);
}
.single-product .dhvc-woo-ordering select{
  font-family:inherit;
  font-size:13px;
  padding:6px 10px;
  border:1px solid var(--line);
  border-radius:var(--r-btn);
  background:#fff;
  color:var(--ink);
}

/* Section heading above carousel */
.single-product .vc_row:has(.dhvc-woo) .vc_custom_heading,
.single-product .vc_row:has(.dhvc-woo) h2{
  font-size:24px!important;
  font-weight:800!important;
  color:var(--ink)!important;
  margin-bottom:24px!important;
}

/* ── Ratings area ────────────────────────────────────── */
.single-product .star-rating span::before,
.single-product .star-rating::before{
  color:var(--yellow);
}
.single-product .woocommerce-review-link{
  color:var(--muted);
  font-size:13px;
}

/* =========================================================
   SINGLE EVENT — TEC convocatoria (tribe_events CPT)
   Scoped to .tribe-events-single — CSS-only, no template
   override. Works with TEC v2 (legacy single view).
   ========================================================= */

/* ── Outer container: constrain + pad ────────────────── */
.tribe-events-single{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 28px 60px;
}

/* ── Back link ───────────────────────────────────────── */
.tribe-events-single .tribe-events-back{
  font-size:13.5px;
  color:var(--muted);
  margin-bottom:8px;
  padding-top:20px;
}
.tribe-events-single .tribe-events-back a{
  color:var(--muted);
  text-decoration:none;
  transition:color .2s;
}
.tribe-events-single .tribe-events-back a:hover{color:var(--orange)}

/* ── Event header: title ─────────────────────────────── */
.tribe-events-single-event-title{
  font-size:clamp(24px,4vw,42px);
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--ink);
  line-height:1.18;
  margin:16px 0 18px;
}

/* ── Date / time / cost badge bar ───────────────────── */
.tribe-events-schedule.tribe-clearfix{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-bottom:24px;
}
.tribe-events-schedule .tribe-event-date-start,
.tribe-events-abbr.tribe-events-start-date,
.tribe-events-abbr.tribe-events-start-time{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:var(--yellow-soft);
  color:var(--ink);
  font-size:14.5px;
  font-weight:700;
  padding:7px 14px;
  border-radius:30px;
  white-space:nowrap;
}
/* Cost pill */
.tribe-events-schedule .tribe-events-cost{
  display:inline-flex;
  align-items:center;
  background:linear-gradient(120deg,var(--yellow),var(--orange));
  color:#fff;
  font-size:15px;
  font-weight:800;
  padding:7px 16px;
  border-radius:30px;
  white-space:nowrap;
}

/* ── Featured image ──────────────────────────────────── */
.tribe-events-event-image{
  border-radius:var(--r-card);
  overflow:hidden;
  margin-bottom:22px;
  max-height:420px;
}
.tribe-events-event-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  max-height:420px;
}

/* ── Matrícula CTA (ceslan-tribe-woo-matricula plugin)
   The plugin injects inline styles; override with !important
   to apply design-system tokens ──────────────────────── */
.ceslan-cta-wrap{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin:22px 0 28px!important;
  align-items:center;
}
/* Primary CTA — "Contratar matrícula" (blue inline → yellow-orange gradient) */
.ceslan-cta-wrap .ceslan-btn-primary{
  font-family:'Plus Jakarta Sans',system-ui,sans-serif!important;
  font-weight:700!important;
  font-size:15px!important;
  padding:13px 26px!important;
  border-radius:var(--r-btn)!important;
  background:linear-gradient(120deg,var(--yellow),var(--orange))!important;
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:0 10px 26px rgba(245,130,31,.38)!important;
  transition:transform .18s,box-shadow .25s!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
}
.ceslan-cta-wrap .ceslan-btn-primary:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 14px 32px rgba(245,130,31,.5)!important;
}
/* Secondary CTA — "Pedir más información" (orange inline → ink ghost) */
.ceslan-cta-wrap .ceslan-btn-secondary{
  font-family:'Plus Jakarta Sans',system-ui,sans-serif!important;
  font-weight:700!important;
  font-size:15px!important;
  padding:12px 24px!important;
  border-radius:var(--r-btn)!important;
  background:#fff!important;
  color:var(--ink)!important;
  text-decoration:none!important;
  border:2px solid var(--line)!important;
  box-shadow:none!important;
  transition:border-color .2s,color .2s,transform .18s!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
}
.ceslan-cta-wrap .ceslan-btn-secondary:hover{
  border-color:var(--orange)!important;
  color:var(--orange)!important;
  transform:translateY(-2px)!important;
}

/* ── Event description (body text) ──────────────────── */
.tribe-events-single-event-description{
  max-width:70ch;
  font-size:16px;
  line-height:1.75;
  color:var(--ink);
  margin-bottom:40px;
}
.tribe-events-single-event-description h2{
  font-size:clamp(18px,2.4vw,22px);
  font-weight:700;
  color:var(--ink);
  letter-spacing:-.02em;
  margin:24px 0 10px;
  line-height:1.3;
}
.tribe-events-single-event-description h3{
  font-size:18px;
  font-weight:700;
  color:var(--ink);
  margin:20px 0 8px;
}
.tribe-events-single-event-description p{
  color:var(--muted);
  margin-bottom:14px;
}
.tribe-events-single-event-description a{
  color:var(--orange);
  text-decoration:underline;
  text-underline-offset:2px;
  font-weight:600;
}
.tribe-events-single-event-description ul,
.tribe-events-single-event-description ol{
  padding-left:1.4em;
  color:var(--muted);
  margin-bottom:14px;
}
.tribe-events-single-event-description li{
  margin-bottom:6px;
  line-height:1.65;
}

/* ── Meta section wrapper (details + venue) ──────────── */
.tribe-events-single-section.tribe-events-event-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-bottom:40px;
}
@media(max-width:640px){
  .tribe-events-single-section.tribe-events-event-meta{
    grid-template-columns:1fr;
  }
}

/* ── Meta group cards ────────────────────────────────── */
.tribe-events-meta-group{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-card);
  padding:22px 24px;
  box-shadow:var(--shadow-sm);
}
.tribe-events-meta-group-gmap{
  grid-column:1 / -1;
  padding:0;
  overflow:hidden;
  border-radius:var(--r-card);
}
.tribe-events-meta-group-gmap .tribe-events-venue-map{
  border-radius:var(--r-card);
  overflow:hidden;
  min-height:280px;
}
.tribe-events-meta-group-gmap .tribe-events-venue-map iframe,
.tribe-events-meta-group-gmap .tribe-events-venue-map .tribe-venue-map-container{
  width:100%!important;
  min-height:280px!important;
  height:280px!important;
  display:block!important;
}

/* Meta section titles */
.tribe-events-single-section-title{
  font-size:12px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  color:var(--muted)!important;
  margin-bottom:14px!important;
  border-bottom:1px solid var(--line);
  padding-bottom:10px;
}

/* Meta definition list */
.tribe-events-meta-group dl{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:6px 14px;
  font-size:14px;
}
.tribe-events-meta-group dt{
  color:var(--muted);
  font-weight:600;
  white-space:nowrap;
}
.tribe-events-meta-group dd{
  color:var(--ink);
  font-weight:500;
}
.tribe-events-meta-group dd a{
  color:var(--orange);
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Venue address */
.tribe-events-address,
.tribe-events-abbr,
.tribe-address{
  font-size:14px;
  color:var(--muted);
  line-height:1.55;
}
.tribe-events-gmap a{
  font-size:13px;
  color:var(--orange);
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Categories + event URL rows */
.tribe-events-event-categories,
.tribe-events-event-url,
.tribe-events-event-cost{
  font-size:14px;
  color:var(--muted);
}
.tribe-events-event-categories-label,
.tribe-events-event-cost-label,
.tribe-events-event-url-label{
  font-weight:600;
}
.tribe-events-event-categories a{
  color:var(--orange);
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Subscribe dropdown (add to calendar) — clean ghost style */
.tribe-events-c-subscribe-dropdown{
  margin:0 0 30px;
}
.tribe-common-c-btn-border.tribe-events-c-subscribe-dropdown__button{
  font-family:'Plus Jakarta Sans',system-ui,sans-serif!important;
  font-size:13px!important;
  font-weight:700!important;
  padding:8px 16px!important;
  border-radius:var(--r-btn)!important;
  border:1px solid var(--line)!important;
  color:var(--muted)!important;
  background:#fff!important;
  cursor:pointer!important;
  transition:border-color .2s,color .2s!important;
}
.tribe-common-c-btn-border.tribe-events-c-subscribe-dropdown__button:hover{
  border-color:var(--orange)!important;
  color:var(--orange)!important;
}
.tribe-events-c-subscribe-dropdown__content{
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  box-shadow:var(--shadow-md)!important;
  padding:8px!important;
  min-width:220px!important;
}
.tribe-events-c-subscribe-dropdown__list-item-link{
  font-size:14px!important;
  font-weight:600!important;
  color:var(--ink)!important;
  padding:9px 14px!important;
  border-radius:8px!important;
  display:block!important;
  text-decoration:none!important;
  transition:background .15s!important;
}
.tribe-events-c-subscribe-dropdown__list-item-link:hover{
  background:var(--bg2)!important;
  color:var(--orange)!important;
}

/* ── Prev/Next event navigation ──────────────────────── */
.tribe-events-nav-pagination{
  margin:32px 0;
}
.tribe-events-sub-nav{
  display:flex;
  justify-content:space-between;
  list-style:none;
  gap:12px;
}
.tribe-events-sub-nav li{
  flex:1;
  max-width:48%;
}
.tribe-events-sub-nav li a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:16px 20px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-card);
  box-shadow:var(--shadow-sm);
  text-decoration:none;
  color:var(--ink);
  transition:border-color .2s,box-shadow .25s,transform .18s;
  height:100%;
}
.tribe-events-sub-nav li a:hover{
  border-color:var(--orange);
  box-shadow:var(--shadow-md);
  transform:translateY(-2px);
}
/* Hide TEC's default « » span inside the link, use our own arrows */
.tribe-events-sub-nav li a > span{
  display:none!important;
}
/* Arrow icon via ::before / ::after */
.tribe-events-sub-nav li a::before,
.tribe-events-sub-nav li a::after{
  font-size:20px;
  color:var(--orange);
  flex-shrink:0;
  font-weight:700;
  line-height:1;
}
.tribe-events-nav-previous a::before{content:'←'}
.tribe-events-nav-next a::after{content:'→'}
/* Direction label + title */
.tribe-events-sub-nav li a span{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.tribe-events-sub-nav .tribe-events-nav-previous a{flex-direction:row}
.tribe-events-sub-nav .tribe-events-nav-next a{flex-direction:row-reverse;text-align:right}
/* Nav label (e.g. "« Evento anterior") — hide default text injected by TEC, show title */
.tribe-events-sub-nav li a .tribe-event-ajax-loading{display:none}
/* Fallback: if TEC wraps label+title separately */
.tribe-events-nav-prev .tribe-events-nav-title,
.tribe-events-nav-next .tribe-events-nav-title{
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--muted);
}
.tribe-events-nav-prev .tribe-events-nav-event-title,
.tribe-events-nav-next .tribe-events-nav-event-title{
  font-size:14.5px;
  font-weight:700;
  color:var(--ink);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tribe-events-nav-next{margin-left:auto}

/* Series marker */
.tribe-events-series-relationship-single-marker{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13.5px;
  color:var(--muted);
  margin-bottom:14px;
}
.tribe-events-series-relationship-single-marker__title{
  color:var(--orange)!important;
  font-weight:700!important;
}

/* ── Mobile adjustments ──────────────────────────────── */
@media(max-width:640px){
  .tribe-events-single{padding:0 16px 40px}
  .tribe-events-single-event-title{font-size:clamp(20px,6vw,30px)}
  .tribe-events-schedule.tribe-clearfix{gap:7px}
  .tribe-events-schedule .tribe-event-date-start{font-size:13px;padding:6px 12px}
  .tribe-events-schedule .tribe-events-cost{font-size:14px;padding:6px 14px}
  .tribe-events-sub-nav{flex-direction:column}
  .tribe-events-nav-next{margin-left:0}
  .ceslan-cta-wrap .ceslan-btn-primary,
  .ceslan-cta-wrap .ceslan-btn-secondary{
    width:100%!important;
    justify-content:center!important;
  }
  .tribe-events-single-event-description{max-width:100%}
}

/* =========================================================
   LANDING EMPRESAS / FUNDAE  (page-empresas.php)
   ========================================================= */

/* ── Shared label / small caps ─────────────────────────── */
.emp-label{
  display:inline-block;
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--orange);
  margin-bottom:10px;
}

/* ── FUNDAE badge ───────────────────────────────────────── */
.emp-fundae-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--yellow);
  color:var(--ink);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:6px 14px;
  border-radius:30px;
  margin-bottom:18px;
}
.emp-fundae-badge::before{
  content:'';
  width:7px;height:7px;
  border-radius:50%;
  background:var(--ink);
  opacity:.45;
  flex-shrink:0;
}

/* ── Section headings ───────────────────────────────────── */
.emp-sec-head{
  text-align:center;
  margin-bottom:50px;
}
.emp-sec-head h2{
  font-size:clamp(28px,3.6vw,44px);
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--ink);
  margin-bottom:10px;
  line-height:1.12;
}
.emp-sec-head p{
  color:var(--muted);
  font-size:17px;
  max-width:560px;
  margin:0 auto;
}

/* =========================================================
   HERO
   ========================================================= */
.emp-hero{
  position:relative;
  min-height:calc(100vh - 76px);
  display:flex;
  align-items:center;
  padding:60px 0 70px;
  overflow:hidden;
}

/* Decorative blobs */
.emp-blob{
  position:absolute;
  border-radius:50%;
  filter:blur(60px);
  z-index:0;
  pointer-events:none;
}
.eb1{
  width:520px;height:520px;
  background:var(--yellow-soft);
  top:-140px;right:-80px;
  opacity:.6;
  animation:drift 14s ease-in-out infinite;
}
.eb2{
  width:360px;height:360px;
  background:#dce7ff;
  bottom:-100px;left:-80px;
  opacity:.55;
  animation:drift 18s ease-in-out infinite reverse;
}
.eb3{
  width:220px;height:220px;
  background:#ffe0cc;
  top:44%;left:40%;
  opacity:.35;
  animation:drift 11s ease-in-out infinite;
}

.emp-hero-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:56px;
  align-items:center;
  width:100%;
}

/* LEFT — text */
.emp-hero-text h1{
  font-size:clamp(42px,5.4vw,74px);
  line-height:1.03;
  letter-spacing:-.04em;
  font-weight:800;
  color:var(--ink);
  margin:0 0 22px;
}
.emp-hl{
  position:relative;
  white-space:nowrap;
}
.emp-hl::after{
  content:'';
  position:absolute;
  left:-3px;right:-3px;bottom:8px;
  height:.32em;
  background:var(--yellow);
  z-index:-1;
  border-radius:5px;
  transform:rotate(-1.5deg);
}
.emp-hero-sub{
  font-size:clamp(16px,1.4vw,19px);
  color:var(--muted);
  max-width:500px;
  margin-bottom:32px;
  line-height:1.65;
}
.emp-hero-ctas{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:center;
}

/* RIGHT — visual panel */
.emp-hero-visual{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.emp-stat-panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-card);
  box-shadow:var(--shadow-md);
  padding:28px 30px;
  display:flex;
  align-items:center;
  gap:0;
  animation:floaty 7s ease-in-out infinite;
}
.esp-item{
  flex:1;
  text-align:center;
}
.esp-item b{
  display:block;
  font-size:clamp(26px,3vw,36px);
  font-weight:800;
  color:var(--ink);
  letter-spacing:-.03em;
  line-height:1;
}
.esp-item span{
  font-size:13px;
  color:var(--muted);
  font-weight:600;
  margin-top:4px;
  display:block;
}
.esp-sep{
  width:1px;
  height:44px;
  background:var(--line);
  flex-shrink:0;
  margin:0 4px;
}

/* Floating detail cards */
.emp-hero-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 16px 40px rgba(27,34,51,.12);
  padding:16px 20px;
  display:flex;
  align-items:center;
  gap:14px;
}
.emp-hero-card b{
  display:block;
  font-size:15px;
  font-weight:700;
  color:var(--ink);
}
.emp-hero-card span{
  font-size:13px;
  color:var(--muted);
}
.ehc-ic{
  font-size:26px;
  flex-shrink:0;
  width:48px;height:48px;
  border-radius:12px;
  background:var(--yellow-soft);
  display:grid;
  place-items:center;
}
.ehc1{animation:floaty 6s ease-in-out infinite;animation-delay:.6s}
.ehc2{animation:floaty 6s ease-in-out infinite;animation-delay:1.4s}

/* =========================================================
   PASOS 1 - 2 - 3
   ========================================================= */
.emp-steps{
  padding:90px 0;
  background:var(--bg2);
}
.emp-steps-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.emp-step{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-card);
  padding:34px 30px;
  position:relative;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}
.emp-step:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-md);
}
.emp-step-num{
  position:absolute;
  top:-22px;left:28px;
  width:44px;height:44px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--yellow),var(--orange));
  color:#fff;
  font-weight:800;
  font-size:17px;
  display:grid;
  place-items:center;
  box-shadow:0 6px 16px rgba(245,130,31,.35);
  flex-shrink:0;
  line-height:1;
}
.emp-step-ic{
  font-size:36px;
  margin-bottom:18px;
  display:block;
}
.emp-step h3{
  font-size:19px;
  font-weight:700;
  color:var(--ink);
  margin-bottom:10px;
  line-height:1.28;
}
.emp-step p{
  font-size:15px;
  color:var(--muted);
  line-height:1.65;
}

/* =========================================================
   BENEFICIOS
   ========================================================= */
.emp-benefits{
  padding:90px 0;
}
.emp-benefits-inner{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:60px;
  align-items:center;
}
.emp-benefits-text h2{
  font-size:clamp(26px,3.2vw,40px);
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--ink);
  margin-bottom:28px;
  line-height:1.16;
}
.emp-blist{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.emp-blist li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  font-size:15.5px;
  color:var(--ink);
  line-height:1.55;
}
.emp-check{
  width:22px;height:22px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--yellow),var(--orange));
  color:#fff;
  font-size:11px;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  margin-top:2px;
}

/* Benefit card */
.emp-benefits-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-md);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.ebc-top{
  padding:32px 30px 28px;
  background:linear-gradient(160deg,var(--ink),#26304a);
  color:#fff;
  flex:1;
  position:relative;
  overflow:hidden;
}
.ebc-top::before{
  content:'';
  position:absolute;
  width:260px;height:260px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(252,184,20,.3),transparent 70%);
  top:-80px;right:-60px;
}
.ebc-tag{
  display:inline-block;
  background:var(--yellow);
  color:var(--ink);
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  padding:5px 12px;
  border-radius:30px;
  margin-bottom:16px;
  position:relative;
}
.ebc-title{
  font-size:clamp(18px,2vw,22px);
  font-weight:700;
  line-height:1.3;
  margin-bottom:12px;
  position:relative;
}
.ebc-sub{
  font-size:14.5px;
  color:#b9c0d0;
  line-height:1.6;
  position:relative;
}
.ebc-footer{
  padding:22px 30px;
  background:#fff;
  border-top:1px solid var(--line);
}
.ebc-footer .btn-primary{
  width:100%;
  justify-content:center;
}

/* =========================================================
   ESTADISTICAS / PRUEBA SOCIAL
   ========================================================= */
.emp-stats{
  padding:80px 0;
  background:linear-gradient(120deg,var(--ink),#26304a);
  position:relative;
  overflow:hidden;
}
.emp-stats::before{
  content:'';
  position:absolute;
  width:440px;height:440px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(252,184,20,.2),transparent 65%);
  top:-120px;right:-60px;
  pointer-events:none;
}
.emp-stats-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:32px;
  position:relative;
  z-index:1;
}
.emp-stat{
  text-align:center;
  padding:20px 10px;
}
.emp-stat b{
  display:block;
  font-size:clamp(32px,3.6vw,52px);
  font-weight:800;
  color:#fff;
  letter-spacing:-.03em;
  line-height:1;
  margin-bottom:8px;
}
.emp-stat span{
  font-size:14px;
  color:#b9c0d0;
  font-weight:600;
  line-height:1.4;
  display:block;
}

/* =========================================================
   FORMULARIO DE CONTACTO
   ========================================================= */
.emp-form-section{
  padding:90px 0 100px;
  background:var(--bg2);
}
.emp-form-card{
  max-width:760px;
  margin:0 auto;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-lg);
  overflow:hidden;
}
.emp-form-header{
  padding:40px 48px 32px;
  background:linear-gradient(120deg,#f7f8fb,#fff);
  border-bottom:1px solid var(--line);
}
.emp-form-header h2{
  font-size:clamp(22px,2.8vw,32px);
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--ink);
  margin-bottom:10px;
  line-height:1.18;
}
.emp-form-header p{
  color:var(--muted);
  font-size:16px;
  max-width:500px;
  line-height:1.6;
}
.emp-form-body{
  padding:36px 48px 44px;
}

/* WPForms inside the landing card */
.emp-form-body .wpforms-container .wpforms-field-label{
  font-weight:700!important;
  color:var(--ink)!important;
  font-size:14px!important;
  margin-bottom:6px!important;
}
.emp-form-body .wpforms-container input[type="text"],
.emp-form-body .wpforms-container input[type="email"],
.emp-form-body .wpforms-container input[type="tel"],
.emp-form-body .wpforms-container select,
.emp-form-body .wpforms-container textarea{
  font-family:'Plus Jakarta Sans',system-ui,sans-serif!important;
  font-size:15px!important;
  color:var(--ink)!important;
  background:#fff!important;
  border:1.5px solid var(--line)!important;
  border-radius:var(--r-btn)!important;
  padding:12px 16px!important;
  width:100%!important;
  transition:border-color .2s!important;
}
.emp-form-body .wpforms-container input:focus,
.emp-form-body .wpforms-container select:focus,
.emp-form-body .wpforms-container textarea:focus{
  border-color:var(--orange)!important;
  outline:none!important;
  box-shadow:0 0 0 3px rgba(245,130,31,.12)!important;
}
.emp-form-body .wpforms-container .wpforms-submit{
  font-family:'Plus Jakarta Sans',system-ui,sans-serif!important;
  font-size:16px!important;
  font-weight:700!important;
  background:linear-gradient(120deg,var(--yellow),var(--orange))!important;
  color:#fff!important;
  border:none!important;
  border-radius:var(--r-btn)!important;
  padding:14px 30px!important;
  cursor:pointer!important;
  box-shadow:0 10px 26px rgba(245,130,31,.38)!important;
  transition:transform .18s,box-shadow .25s!important;
}
.emp-form-body .wpforms-container .wpforms-submit:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 14px 32px rgba(245,130,31,.5)!important;
}

/* =========================================================
   BLOG — Archive, Single post, Search, 404
   ========================================================= */

/* ── Blog archive header ──────────────────────────────── */
.blog-head{
  padding:52px 0 36px;
  border-bottom:1px solid var(--line);
  margin-bottom:40px;
}
.blog-head__title{
  font-size:clamp(22px,4vw,46px);
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--ink);
  line-height:1.1;
  margin-bottom:10px;
  overflow-wrap:break-word;
  word-break:break-word;
}
.blog-head__sub{
  color:var(--muted);
  font-size:17px;
  max-width:560px;
  line-height:1.6;
  margin:0;
}

/* ── Post grid ────────────────────────────────────────── */
.post-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-bottom:48px;
}
.post-grid--related{
  margin-top:24px;
  margin-bottom:0;
}
@media(max-width:960px){
  .post-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:580px){
  .post-grid{grid-template-columns:1fr}
}

/* ── Post card ────────────────────────────────────────── */
.post-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-card);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}
.post-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-md);
}

.post-card__img-wrap{
  display:block;
  overflow:hidden;
  aspect-ratio:16/9;
  background:var(--bg2);
}
.post-card__img{
  aspect-ratio:16/9;
  object-fit:cover;
  width:100%;
  height:100%;
  display:block;
  transition:transform .35s var(--ease);
}
.post-card:hover .post-card__img{transform:scale(1.04)}
.post-card__img--fallback{
  width:100%;
  height:100%;
  background:linear-gradient(135deg,var(--yellow-soft),#ffe0cc);
}

.post-card__body{
  padding:18px 20px 22px;
  flex:1;
  display:flex;
  flex-direction:column;
}

/* ── Badge (category / type) ──────────────────────────── */
.badge{
  display:inline-block;
  font-size:11.5px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
  padding:4px 11px;
  border-radius:20px;
  margin-bottom:10px;
  width:fit-content;
  text-decoration:none;
}
.badge--cat{
  background:var(--yellow-soft);
  color:var(--ink);
  transition:background .2s,color .2s;
}
.badge--cat:hover{
  background:var(--yellow);
  color:var(--ink);
}
.badge--type{
  background:var(--bg2);
  color:var(--muted);
  border:1px solid var(--line);
}

.post-card__title{
  font-size:17px;
  font-weight:700;
  line-height:1.3;
  color:var(--ink);
  margin-bottom:10px;
  flex:1;
}
.post-card__title--sm{font-size:15.5px}
.post-card__title a{color:inherit;text-decoration:none;transition:color .2s}
.post-card__title a:hover{color:var(--orange)}

.post-card__excerpt{
  font-size:14.5px;
  color:var(--muted);
  line-height:1.6;
  margin-bottom:14px;
}

.post-card__price{
  font-size:18px;
  font-weight:800;
  color:var(--orange);
  margin-bottom:14px;
}

/* ── Post meta (date, author, reading time) ──────────── */
.post-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  font-size:13px;
  color:var(--muted);
  font-weight:600;
  margin-top:auto;
}
.post-meta--single{margin-top:14px;margin-bottom:0}
.post-meta__sep{color:var(--line)}

/* ── Blog pagination ──────────────────────────────────── */
.blog-pagination{margin:8px 0 48px}
.blog-pagination .nav-links{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
}
.blog-pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:38px;
  padding:0 12px;
  border-radius:var(--r-btn);
  border:1px solid var(--line);
  font-size:14px;
  font-weight:700;
  color:var(--ink);
  background:#fff;
  text-decoration:none;
  transition:border-color .2s,color .2s;
}
.blog-pagination .page-numbers:hover{border-color:var(--orange);color:var(--orange)}
.blog-pagination .page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink)}
.blog-pagination .page-numbers.dots{border:none;background:none;min-width:auto}

/* ── Single post ──────────────────────────────────────── */
.single-post{
  padding:52px 0 64px;
}
.single-post__header{
  max-width:70ch;
  margin:0 auto 36px;
}
.single-post__title{
  font-size:clamp(26px,4.2vw,48px);
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--ink);
  line-height:1.12;
  margin:12px 0 0;
}
.single-post__thumb{
  border-radius:var(--r-card);
  overflow:hidden;
  margin:0 auto 40px;
  max-height:480px;
}
.single-post__thumb-img{
  width:100%;
  max-height:480px;
  object-fit:cover;
  display:block;
}

/* ── Post content (prose typography) ─────────────────── */
.post-content{
  max-width:70ch;
  margin:0 auto;
  font-size:17px;
  line-height:1.75;
  color:var(--ink);
}
.post-content p{margin-bottom:1.4em}
.post-content h2{
  font-size:clamp(20px,2.6vw,26px);
  font-weight:800;
  letter-spacing:-.025em;
  color:var(--ink);
  margin:2em 0 .65em;
  line-height:1.22;
}
.post-content h3{
  font-size:clamp(17px,2vw,21px);
  font-weight:700;
  color:var(--ink);
  margin:1.7em 0 .55em;
  line-height:1.28;
}
.post-content h4{
  font-size:17px;
  font-weight:700;
  color:var(--ink);
  margin:1.5em 0 .5em;
}
.post-content ul,.post-content ol{
  padding-left:1.5em;
  margin-bottom:1.4em;
}
.post-content li{margin-bottom:.45em;line-height:1.7}
.post-content a{
  color:var(--orange);
  text-decoration:underline;
  text-underline-offset:3px;
  font-weight:600;
  transition:color .2s;
}
.post-content a:hover{color:var(--ink)}
.post-content blockquote{
  border-left:4px solid var(--yellow);
  margin:2em 0;
  padding:18px 24px;
  background:var(--yellow-soft);
  border-radius:0 var(--r-btn) var(--r-btn) 0;
  font-style:italic;
  color:var(--ink);
}
.post-content blockquote p{margin-bottom:0}
.post-content img{
  border-radius:var(--r-btn);
  margin:1.6em 0;
  max-width:100%;
}
.post-content figure{margin:1.6em 0}
.post-content figcaption{
  font-size:13px;
  color:var(--muted);
  text-align:center;
  margin-top:8px;
}
.post-content code{
  background:var(--bg2);
  border:1px solid var(--line);
  border-radius:5px;
  padding:2px 6px;
  font-size:.9em;
  font-family:monospace;
}
.post-content pre{
  background:var(--ink);
  color:#e8ecf3;
  border-radius:var(--r-btn);
  padding:20px 22px;
  overflow-x:auto;
  margin-bottom:1.4em;
}
.post-content pre code{background:none;border:none;padding:0;color:inherit}
.post-content hr{
  border:none;
  border-top:1px solid var(--line);
  margin:2.5em 0;
}
.post-content table{
  width:100%;
  border-collapse:collapse;
  margin-bottom:1.4em;
  font-size:15px;
}
.post-content th,.post-content td{
  border:1px solid var(--line);
  padding:10px 14px;
  text-align:left;
}
.post-content th{background:var(--bg2);font-weight:700}

/* ── Post page links (multi-page) ─────────────────────── */
.post-pages{
  max-width:70ch;
  margin:2em auto 0;
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  font-size:14px;
  font-weight:600;
  color:var(--muted);
}
.post-pages a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;height:32px;
  border-radius:var(--r-btn);
  border:1px solid var(--line);
  color:var(--ink);
  text-decoration:none;
  transition:border-color .2s,color .2s;
}
.post-pages a:hover{border-color:var(--orange);color:var(--orange)}

/* ── Single post footer: cats + tags + back link ─────── */
.single-post__footer{
  max-width:70ch;
  margin:48px auto 0;
  padding-top:32px;
  border-top:1px solid var(--line);
}
.single-post__cats{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-bottom:16px;
}
.single-post__back{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:14px;
  font-weight:700;
  color:var(--muted);
  text-decoration:none;
  margin-top:32px;
  padding:10px 18px;
  border:1px solid var(--line);
  border-radius:var(--r-btn);
  transition:border-color .2s,color .2s,transform .18s;
}
.single-post__back svg{flex-shrink:0;transition:transform .2s}
.single-post__back:hover{
  border-color:var(--orange);
  color:var(--orange);
  transform:translateX(-2px);
}
.single-post__back:hover svg{transform:translateX(-3px)}

.single-post__tags{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-bottom:20px;
}
.tags-label{
  font-size:13px;
  font-weight:700;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.07em;
}
.tag-pill{
  display:inline-block;
  font-size:13px;
  font-weight:600;
  color:var(--muted);
  background:var(--bg2);
  border:1px solid var(--line);
  border-radius:20px;
  padding:4px 13px;
  text-decoration:none;
  transition:border-color .2s,color .2s;
}
.tag-pill:hover{border-color:var(--orange);color:var(--orange)}

/* Related posts section inside single */
.related-posts{max-width:none}
.related-posts__heading{
  font-size:20px;
  font-weight:800;
  color:var(--ink);
  margin-bottom:20px;
  letter-spacing:-.02em;
}

/* ── Search header ────────────────────────────────────── */
.search-head{
  padding:52px 0 36px;
  border-bottom:1px solid var(--line);
  margin-bottom:40px;
}
.search-head__title{
  font-size:clamp(22px,3.5vw,38px);
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--ink);
  line-height:1.15;
  margin-bottom:8px;
}
.search-head__term{
  color:var(--orange);
}
.search-head__count{
  font-size:15px;
  color:var(--muted);
  font-weight:600;
}

/* ── No results ───────────────────────────────────────── */
.no-results{
  padding:60px 0 80px;
  text-align:center;
  max-width:560px;
  margin:0 auto;
}
.no-results__icon{
  font-size:52px;
  margin-bottom:18px;
  display:block;
}
.no-results__title{
  font-size:clamp(22px,3vw,32px);
  font-weight:800;
  color:var(--ink);
  margin-bottom:10px;
}
.no-results__msg{
  color:var(--muted);
  font-size:16px;
  line-height:1.65;
  margin-bottom:28px;
}
.no-results .wp-block-search,
.no-results form[role="search"],
.no-results .search-form{
  margin-bottom:32px;
}
.no-results__cats{margin-top:28px}
.no-results__cats-label{
  font-size:14px;
  font-weight:700;
  color:var(--muted);
  margin-bottom:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

/* ── 404 page ─────────────────────────────────────────── */
.e404{
  padding:72px 0 90px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:0;
}
.e404__visual{
  position:relative;
  margin-bottom:24px;
  user-select:none;
}
.e404__number{
  font-size:clamp(100px,20vw,200px);
  font-weight:800;
  letter-spacing:-.06em;
  line-height:1;
  color:transparent;
  background:linear-gradient(135deg,var(--yellow),var(--orange));
  -webkit-background-clip:text;
  background-clip:text;
  display:block;
  filter:drop-shadow(0 8px 32px rgba(245,130,31,.25));
}
.e404__body{
  max-width:480px;
}
.e404__title{
  font-size:clamp(22px,3.5vw,36px);
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--ink);
  margin-bottom:14px;
  line-height:1.2;
}
.e404__sub{
  font-size:16px;
  color:var(--muted);
  line-height:1.65;
  margin-bottom:28px;
}
.e404__search{
  margin-bottom:28px;
}
.e404__links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
}

/* ── Search form reset ─────────────────────────────────── */
/* Shared across search.php, 404.php, and no-results state */
.search-form{
  display:flex;
  gap:8px;
  max-width:480px;
  margin:0 auto;
}
.search-form label{
  flex:1;
  position:relative;
}
.search-form .search-field{
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:15px;
  color:var(--ink);
  background:#fff;
  border:1.5px solid var(--line);
  border-radius:var(--r-btn);
  padding:12px 16px;
  width:100%;
  transition:border-color .2s,box-shadow .2s;
}
.search-form .search-field:focus{
  border-color:var(--orange);
  outline:none;
  box-shadow:0 0 0 3px rgba(245,130,31,.12);
}
.search-form .search-submit{
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:14px;
  font-weight:700;
  background:linear-gradient(120deg,var(--yellow),var(--orange));
  color:#fff;
  border:none;
  border-radius:var(--r-btn);
  padding:12px 20px;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(245,130,31,.35);
  transition:transform .18s,box-shadow .2s;
  flex-shrink:0;
}
.search-form .search-submit:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(245,130,31,.45);
}
@media(max-width:480px){
  .search-form{flex-direction:column}
  .search-form .search-submit{width:100%}
}

/* =========================================================
   RESPONSIVE — Empresas landing
   ========================================================= */
@media(max-width:960px){
  .emp-hero-inner{
    grid-template-columns:1fr;
    gap:44px;
  }
  .emp-hero{
    padding:50px 0 60px;
    min-height:auto;
  }
  .emp-steps-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .emp-benefits-inner{
    grid-template-columns:1fr;
    gap:40px;
  }
  .emp-stats-grid{
    grid-template-columns:repeat(2,1fr);
    gap:24px;
  }
}
@media(max-width:600px){
  .emp-stat-panel{
    flex-direction:column;
    gap:16px;
    padding:22px 20px;
  }
  .esp-sep{
    width:40px;height:1px;
    margin:0;
  }
  .emp-form-header{padding:28px 24px 22px}
  .emp-form-body{padding:24px 24px 32px}
  .emp-hero-ctas{flex-direction:column;align-items:stretch}
  .emp-hero-ctas .btn{justify-content:center;text-align:center}
  .emp-stats-grid{grid-template-columns:1fr 1fr;gap:16px}
}

/* =========================================================
   SINGLE PRODUCT — Ficha de curso NATIVA (ceslan2026)
   No WPBakery dependency — CSS-only, template: woocommerce/single-product.php
   ========================================================= */

/* ── Hero band ──────────────────────────────────────────── */
.course-hero {
  background: var(--bg2);
  border-bottom: 1px solid var(--line);
  padding: 40px 0 48px;
}

.course-hero-inner {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 48px;
  align-items: start;
}

/* Breadcrumb inside hero */
.course-crumbs,
.course-hero .woocommerce-breadcrumb {
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 14px;
}
.course-crumbs a,
.course-hero .woocommerce-breadcrumb a { color: var(--muted); text-decoration: none; }
.course-crumbs a:hover,
.course-hero .woocommerce-breadcrumb a:hover { color: var(--orange); }

/* H1 */
.course-hero-title {
  font-size: clamp(26px, 3.8vw, 44px);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.14;
  color: var(--ink);
  margin: 0 0 20px;
}

/* Meta row: modality + category badges */
.course-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 26px;
}
.course-badge {
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  font-weight: 700;
  padding: 5px 14px;
  border-radius: 30px;
  text-decoration: none;
  white-space: nowrap;
}
.course-badge--modality {
  background: linear-gradient(120deg, var(--yellow), var(--orange));
  color: #fff;
}
.course-badge--cat {
  background: #fff;
  border: 1px solid var(--line);
  color: var(--muted);
  transition: border-color .2s, color .2s;
}
.course-badge--cat:hover { border-color: var(--orange); color: var(--orange); }

/* Featured image */
.course-hero-image {
  border-radius: var(--r-card);
  overflow: hidden;
  max-height: 400px;
  margin-top: 10px;
}
.course-hero-image .course-hero-img {
  width: 100%;
  max-height: 400px;
  object-fit: cover;
  display: block;
}

/* ── Matrícula card (sticky on desktop) ─────────────────── */
.matricula-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  box-shadow: var(--shadow-md);
  padding: 28px 26px 24px;
  position: sticky;
  top: 90px;
  align-self: start;
}

.matricula-card-tag {
  font-size: 11.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--orange);
  margin-bottom: 12px;
}

/* Price */
.matricula-card-price {
  font-size: 46px;
  font-weight: 800;
  line-height: 1;
  color: var(--orange);
  margin-bottom: 6px;
}
.matricula-card-price .woocommerce-Price-amount {
  color: var(--orange);
  font-weight: 800;
}
.matricula-card-price del {
  font-size: 22px;
  color: var(--muted);
  font-weight: 400;
  margin-right: 6px;
  text-decoration: line-through;
}
.matricula-card-price ins { text-decoration: none; }

/* Modality line */
.matricula-card-modality {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--muted);
  margin-bottom: 22px;
}
.mc-mod-ic { font-size: 18px; }

/* ── CTA / Add-to-cart overrides ────────────────────────── */
.matricula-card-cta .cart { margin: 0; }
.matricula-card-cta .quantity { display: none; } /* hide qty spinner on simple products */
.matricula-card-cta .single_add_to_cart_button,
.matricula-card-cta .button {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  width: 100% !important;
  padding: 15px 22px !important;
  border-radius: var(--r-btn) !important;
  border: none !important;
  background: linear-gradient(120deg, var(--yellow), var(--orange)) !important;
  color: #fff !important;
  cursor: pointer !important;
  box-shadow: 0 10px 26px rgba(245,130,31,.38) !important;
  transition: transform .18s, box-shadow .25s !important;
  display: block !important;
  text-align: center !important;
  text-decoration: none !important;
  letter-spacing: .01em !important;
}
.matricula-card-cta .single_add_to_cart_button:hover,
.matricula-card-cta .button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 32px rgba(245,130,31,.5) !important;
}

/* FUNDAE note below button */
.matricula-card-fundae {
  margin-top: 14px;
  font-size: 12.5px;
  color: var(--muted);
  text-align: center;
  line-height: 1.5;
}
.mc-fundae-link {
  color: var(--orange);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ── Body content area ──────────────────────────────────── */
.course-body {
  padding: 44px 0 64px;
}
.course-body-content {
  /* .page-content already gives prose typography; extend here */
  max-width: 860px;
}

/* ── .info-box (from [bsf-info-box] override) ───────────── */
.info-box {
  background: var(--yellow-soft);
  border-left: 4px solid var(--yellow);
  border-radius: 0 var(--r-btn) var(--r-btn) 0;
  padding: 16px 20px;
  margin: 24px 0;
  font-size: 15.5px;
  color: var(--ink);
  line-height: 1.65;
}

/* ── Related courses grid ([dhvc_woo_products] override) ── */
.related-courses-wrap {
  margin-top: 52px;
  padding-top: 40px;
  border-top: 1px solid var(--line);
}
.related-courses-heading {
  font-size: 24px !important;
  font-weight: 800 !important;
  color: var(--ink) !important;
  margin-bottom: 24px !important;
  letter-spacing: -.02em;
}
.related-courses-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* Related course card (reuse .course-card DNA) */
.rc-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease);
  position: relative;
}
.rc-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
  text-decoration: none;
  color: inherit;
}
.rc-card .cc-img {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--bg2);
}
.rc-card .cc-img img {
  aspect-ratio: 4/3;
  object-fit: cover;
  width: 100%;
  display: block;
  transition: transform .35s var(--ease);
}
.rc-card:hover .cc-img img { transform: scale(1.04); }
.cc-img-placeholder {
  aspect-ratio: 4/3;
  background: linear-gradient(135deg, var(--yellow-soft), #ffe0cc);
  width: 100%;
}
.rc-card .cc-body {
  padding: 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.rc-card .cc-title {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--ink);
  margin: 0 0 10px;
  flex: 1;
}
.rc-card .cc-price {
  font-size: 17px;
  font-weight: 800;
  color: var(--orange);
  margin-bottom: 12px;
  display: block;
}
.rc-card .cc-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--muted);
  transition: color .2s, gap .2s;
}
.rc-card:hover .cc-cta { color: var(--orange); gap: 10px; }

/* Convocatorias section in native path */
.course-convocatorias-wrap {
  margin: 36px 0;
  padding: 28px 0 0;
  border-top: 1px solid var(--line);
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 1040px) {
  .related-courses-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 820px) {
  .course-hero-inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .matricula-card { position: static; }
  .related-courses-grid { grid-template-columns: repeat(2, 1fr); }
  .course-hero-title { font-size: clamp(24px, 5vw, 36px); }
}
@media (max-width: 560px) {
  .related-courses-grid { grid-template-columns: 1fr; }
  .matricula-card-price { font-size: 38px; }
  .course-hero { padding: 28px 0 36px; }
  .matricula-card-cta .single_add_to_cart_button,
  .matricula-card-cta .button { font-size: 15px !important; }
}

/* ===== page.php — páginas genéricas (post-migración WPBakery) ===== */
.page-hero{background:var(--bg2);border-bottom:1px solid var(--line);padding:38px 0 28px}
.page-hero .crumbs{font-size:13px;color:var(--muted);margin-bottom:12px}
.page-hero .crumbs a{color:var(--muted)} .page-hero .crumbs a:hover{color:var(--ink)}
.page-hero h1{font-size:clamp(28px,3.4vw,42px);font-weight:800;letter-spacing:-.02em;line-height:1.12}
.page-main{padding:40px 0 20px}
.page-content{max-width:860px;margin:0 auto;font-size:16.5px;line-height:1.7}
.page-content h2{font-size:26px;font-weight:800;margin:34px 0 12px;letter-spacing:-.01em}
.page-content h3{font-size:20px;font-weight:700;margin:24px 0 10px}
.page-content p{margin:0 0 16px}
.page-content ul,.page-content ol{margin:0 0 16px 22px}
.page-content li{margin:6px 0}
.page-content a{color:var(--orange);text-decoration:underline;text-underline-offset:3px}
.page-content img{border-radius:14px;margin:14px 0;height:auto}
.page-content blockquote{border-left:3px solid var(--yellow);background:var(--bg2);padding:14px 18px;border-radius:0 12px 12px 0;margin:18px 0}
.page-content table{width:100%;border-collapse:collapse;margin:16px 0}
.page-content th,.page-content td{border:1px solid var(--line);padding:10px 12px;text-align:left}
.page-content .wpforms-container{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-sm);padding:22px;margin:24px 0}
@media(max-width:600px){.page-content{font-size:16px}}

/* =========================================================
   BUG-FIXES — BATCH 2026-06-10
   ========================================================= */

/* ── BUG 1: [heading] shortcode rendered styles ─────────── */
.ceslan-heading{
  font-size:clamp(18px,2.4vw,26px);
  font-weight:800;
  letter-spacing:-.025em;
  color:var(--ink);
  line-height:1.25;
  margin:28px 0 14px;
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
}
.ceslan-heading-body{
  color:var(--muted);
  font-size:15.5px;
  line-height:1.65;
  margin-bottom:16px;
}
/* [contact] shortcode block */
.ceslan-contact-block{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-btn);
  padding:16px 20px;
  margin:12px 0 18px;
  font-size:14.5px;
  color:var(--muted);
  line-height:1.8;
}
.ceslan-contact-block strong{
  display:block;
  font-size:15px;
  font-weight:700;
  color:var(--ink);
  margin-bottom:4px;
}
.ceslan-contact-block a{color:var(--orange);text-decoration:underline;text-underline-offset:2px}

/* ── BUG 2: Course card image clipping ──────────────────── */
/* Ensure thumbnails are CONTAINED (16:10 box, cover) so wide
   logo images can't overflow or clip the card title below. */
.cc-img,
li.product.course-card .woocommerce-loop-product__link img,
li.product.course-card .attachment-woocommerce_thumbnail{
  aspect-ratio:16/10 !important;
  overflow:hidden !important;
  background:var(--bg2) !important;
  width:100% !important;
  display:block !important;
}
.cc-img img,
li.product.course-card .attachment-woocommerce_thumbnail{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  aspect-ratio:16/10 !important;
  display:block !important;
}

/* ── BUG 3: Branded placeholder when no featured image ──── */
/* Used in both the course-card grid AND the related-courses grid */
.cc-img--ph,
.cc-img-placeholder{
  aspect-ratio:16/10;
  width:100%;
  background:linear-gradient(135deg,var(--yellow-soft) 0%,#FFD580 45%,#ffe0cc 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.cc-img--ph::after,
.cc-img-placeholder::after{
  content:'';
  display:block;
  width:54px;
  height:54px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none'%3E%3Ccircle cx='32' cy='20' r='10' fill='%23FCB814' opacity='.7'/%3E%3Crect x='12' y='36' width='40' height='24' rx='8' fill='%23F5821F' opacity='.55'/%3E%3Cpath d='M22 36c0-5.523 4.477-10 10-10s10 4.477 10 10' fill='%23FCB814' opacity='.45'/%3E%3C/svg%3E") no-repeat center/contain;
  opacity:.75;
}
/* WooCommerce placeholder images (products without featured image).
   Targets both the WC default and any legacy placeholder.png in uploads. */
.woocommerce ul.products li.product img[src*="woocommerce-placeholder"],
.woocommerce ul.products li.product img[src*="placeholder"],
.woocommerce-loop-product__link img[src*="placeholder"]{
  aspect-ratio:16/10 !important;
  object-fit:contain !important;
  object-position:center !important;
  background:linear-gradient(135deg,var(--yellow-soft),#ffe0cc) !important;
  padding:22px !important;
  box-sizing:border-box;
}

/* ── BUG 4: WooCommerce buttons unstyled ────────────────── */
/* Primary actions: orange gradient (add-to-cart, checkout btn) */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .cart .button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-page .button:not(.wc-block-components-button):not(.components-button){
  font-family:'Plus Jakarta Sans',system-ui,sans-serif !important;
  font-size:15px !important;
  font-weight:700 !important;
  padding:11px 22px !important;
  border-radius:var(--r-btn) !important;
  border:none !important;
  background:linear-gradient(120deg,var(--yellow),var(--orange)) !important;
  color:#fff !important;
  cursor:pointer !important;
  box-shadow:0 8px 22px rgba(245,130,31,.32) !important;
  transition:transform .18s,box-shadow .25s !important;
  text-decoration:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  letter-spacing:.01em !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .cart .button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-page .button:not(.wc-block-components-button):not(.components-button):hover{
  transform:translateY(-2px) !important;
  box-shadow:0 12px 28px rgba(245,130,31,.48) !important;
  color:#fff !important;
}
/* Secondary / ghost: "Volver a la tienda", "Continue shopping" */
.woocommerce .return-to-shop .button,
.woocommerce .woocommerce-message a.button,
.woocommerce .woocommerce-info a.button{
  background:#fff !important;
  color:var(--ink) !important;
  border:2px solid var(--line) !important;
  box-shadow:none !important;
}
.woocommerce .return-to-shop .button:hover,
.woocommerce .woocommerce-message a.button:hover,
.woocommerce .woocommerce-info a.button:hover{
  border-color:var(--orange) !important;
  color:var(--orange) !important;
  transform:translateY(-1px) !important;
  box-shadow:none !important;
}
/* Mi-cuenta: Acceder + Registrarse */
.woocommerce .login .button,
.woocommerce .register .button,
.woocommerce form.lost_reset_password .button{
  width:100% !important;
  justify-content:center !important;
  font-size:15.5px !important;
  padding:13px 22px !important;
}
/* Keep product loop buttons hidden (we replaced with cc-cta) */
.woocommerce ul.products li.product .button{
  display:none !important;
}

/* ── BUG 5: wpforms global styling ──────────────────────── */
/* Card wrapper — everywhere except .emp-form-body which already has overrides */
.wpforms-container:not(.emp-form-body .wpforms-container){
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-card);
  box-shadow:var(--shadow-sm);
  padding:24px 28px;
  margin:24px 0;
}
/* Labels */
.wpforms-container .wpforms-field-label,
.wpforms-container .wpforms-field-sublabel{
  font-family:'Plus Jakarta Sans',system-ui,sans-serif !important;
  font-weight:700 !important;
  font-size:14px !important;
  color:var(--ink) !important;
  margin-bottom:6px !important;
  display:block !important;
}
/* Inputs, selects, textareas */
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container input[type="number"],
.wpforms-container input[type="url"],
.wpforms-container select,
.wpforms-container textarea{
  font-family:'Plus Jakarta Sans',system-ui,sans-serif !important;
  font-size:15px !important;
  color:var(--ink) !important;
  background:#fff !important;
  border:1.5px solid var(--line) !important;
  border-radius:10px !important;
  padding:11px 14px !important;
  width:100% !important;
  box-sizing:border-box !important;
  transition:border-color .2s,box-shadow .2s !important;
  outline:none !important;
}
.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus{
  border-color:var(--orange) !important;
  box-shadow:0 0 0 3px rgba(245,130,31,.12) !important;
}
/* Placeholder contrast AA */
.wpforms-container input::placeholder,
.wpforms-container textarea::placeholder{
  color:var(--muted) !important;
  opacity:.7;
}
/* Submit button */
.wpforms-container .wpforms-submit-container .wpforms-submit,
.wpforms-container button[type="submit"]{
  font-family:'Plus Jakarta Sans',system-ui,sans-serif !important;
  font-size:15.5px !important;
  font-weight:700 !important;
  background:linear-gradient(120deg,var(--yellow),var(--orange)) !important;
  color:#fff !important;
  border:none !important;
  border-radius:var(--r-btn) !important;
  padding:13px 28px !important;
  cursor:pointer !important;
  box-shadow:0 10px 26px rgba(245,130,31,.38) !important;
  transition:transform .18s,box-shadow .25s !important;
  letter-spacing:.01em !important;
}
.wpforms-container .wpforms-submit-container .wpforms-submit:hover,
.wpforms-container button[type="submit"]:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 14px 32px rgba(245,130,31,.5) !important;
}

/* ── BUG 6: reCAPTCHA badge — hide it (forms still protected) ── */
/* Google's guidelines allow hiding the badge if privacy notice is
   shown elsewhere (wpforms includes it in the submit area). */
.grecaptcha-badge{
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* ── BUG 7: Mobile bottom bar safe-area + overlap ────────── */
/* .lfbm-bar: respect iOS notch/home-indicator */
.lfbm-bar{
  padding-bottom:env(safe-area-inset-bottom, 0px) !important;
}
/* Any fixed floating chat/whatsapp widget — lift above the bottom bar */
.sticky-wa-btn,
.wpwa-float-button,
.wpcf7-float,
[class*="whatsapp"][style*="fixed"],
[id*="whatsapp"][style*="fixed"]{
  bottom:calc(env(safe-area-inset-bottom, 0px) + 76px) !important;
}
@media(max-width:640px){
  .sticky-wa-btn,
  .wpwa-float-button,
  [class*="whatsapp"][style*="fixed"]{
    bottom:80px !important;
  }
}

/* ── BUG 8: Single post prose width cap ─────────────────── */
/* .post-content already has max-width:70ch; ensure it doesn't
   exceed ~700px on very wide screens (72ch at 17px ≈ 700px). */
.post-content{
  max-width:min(70ch,700px);
}

/* ── BUG 9: Product hero — branded placeholder when no image ── */
/* The left col has title+badges+image slot. When no image exists
   we show a branded gradient panel so the layout looks intentional.
   The grid keeps its 2-col structure (left text, right price card). */
.course-hero-img-ph{
  border-radius:var(--r-card);
  overflow:hidden;
  max-height:340px;
  margin-top:14px;
  background:linear-gradient(135deg,var(--yellow-soft) 0%,#FFD580 50%,#ffe0cc 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:180px;
}
.course-hero-img-ph::after{
  content:'';
  display:block;
  width:80px;
  height:80px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none'%3E%3Ccircle cx='32' cy='20' r='10' fill='%23FCB814' opacity='.7'/%3E%3Crect x='12' y='36' width='40' height='24' rx='8' fill='%23F5821F' opacity='.55'/%3E%3Cpath d='M22 36c0-5.523 4.477-10 10-10s10 4.477 10 10' fill='%23FCB814' opacity='.45'/%3E%3C/svg%3E") no-repeat center/contain;
  opacity:.65;
}

/* =========================================================
   P2 POLISH — Search Refine Bar (search.php top bar)
   ========================================================= */
.search-refine{
  display:flex;
  align-items:center;
  gap:10px;
  background:#fff;
  border:1.5px solid var(--line);
  border-radius:18px;
  padding:10px 12px 10px 18px;
  max-width:560px;
  box-shadow:0 8px 28px rgba(27,34,51,.08);
  margin-top:22px;
  transition:border-color .2s,box-shadow .2s;
}
.search-refine:focus-within{
  border-color:var(--orange);
  box-shadow:0 8px 28px rgba(245,130,31,.12);
}
.search-refine__mag{
  color:var(--muted);
  flex-shrink:0;
  display:flex;
  align-items:center;
}
.search-refine__field{
  flex:1;
  border:none;
  outline:none;
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:16px;
  color:var(--ink);
  background:none;
  min-width:0;
}
.search-refine__field::placeholder{
  color:#6b7384; /* ≥4.5:1 on white */
}
.search-refine__btn{
  padding:11px 22px;
  font-size:14.5px;
  border-radius:13px;
  flex-shrink:0;
}
@media(max-width:560px){
  .search-refine{
    flex-wrap:wrap;
    padding:12px 14px;
    border-radius:var(--r-btn);
  }
  .search-refine__field{
    order:1;
    width:100%;
    flex:none;
  }
  .search-refine__mag{order:0}
  .search-refine__btn{
    order:2;
    width:100%;
    justify-content:center;
  }
}

/* =========================================================
   P2 POLISH — Course / .ccard / post-card equal heights
   Cards already have flex-direction:column. Ensure the CTA
   / price pushes to the bottom with margin-top:auto.
   ========================================================= */
/* Home featured course cards */
.course-card .cc-body{
  display:flex;
  flex-direction:column;
  flex:1;
}
.course-card .cc-body h3{flex:1}
.course-card .cc-body .more{margin-top:auto;padding-top:8px}
/* WooCommerce product grid cards in catalog */
.woocommerce ul.products li.product .cc-body{
  display:flex;
  flex-direction:column;
  flex:1;
}
.woocommerce ul.products li.product .cc-body h3,
.woocommerce ul.products li.product .cc-body .woocommerce-loop-product__title{
  flex:1;
}
.woocommerce ul.products li.product .cc-cta{
  margin-top:auto;
  padding-top:8px;
}
/* Category cards (.ccard) on home */
.ccard{
  display:flex;
  flex-direction:column;
}
.ccard p{flex:1}
.ccard .more{margin-top:auto;padding-top:4px}

/* =========================================================
   P2 POLISH — Hero search placeholder contrast
   ========================================================= */
.search input[type="search"]::placeholder{
  color:#6b7384; /* #6b7384 on white = 4.6:1 ✓ WCAG AA */
}

/* =========================================================
   P2 POLISH — Trust / testimonial min size + contrast
   ========================================================= */
.trust{
  font-size:clamp(13px,1.2vw,14px);
  color:var(--muted); /* #5B6478 = 5.91:1 ✓ */
}
/* Testimonial text on course hero or any .testimonial block */
.testimonial,
.testimonial-text,
.review-text,
.woocommerce-review__content p{
  font-size:13px;
  color:var(--muted);
  line-height:1.65;
}

/* ===== Próximas convocatorias (override de [tribe_mini_calendar]) ===== */
.ceslan-convos{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-sm);padding:22px;margin:24px 0}
.ceslan-convos__title{font-size:19px;font-weight:800;margin:0 0 14px;letter-spacing:-.01em}
.ceslan-convos__empty{color:var(--muted);font-size:15px;margin:0}
.ceslan-convos__empty a{color:var(--orange);text-decoration:underline;text-underline-offset:3px}
.ceslan-convos__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ceslan-convos__item{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;transition:border-color .2s,box-shadow .2s,transform .2s}
.ceslan-convos__item:hover{border-color:transparent;box-shadow:var(--shadow-md);transform:translateY(-2px)}
.ceslan-convos__date{flex-shrink:0;width:52px;height:56px;border-radius:12px;background:var(--yellow-soft);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.ceslan-convos__date .d{font-size:22px;font-weight:800}
.ceslan-convos__date .m{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-top:3px;color:var(--orange)}
.ceslan-convos__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.ceslan-convos__name{font-size:14.5px;font-weight:700;line-height:1.3}
.ceslan-convos__meta{font-size:12.5px;color:var(--muted)}
.ceslan-convos__cta{flex-shrink:0;background:linear-gradient(120deg,var(--yellow),var(--orange));color:#fff;font-weight:700;font-size:13.5px;padding:9px 16px;border-radius:var(--r-btn);white-space:nowrap;transition:transform .18s}
.ceslan-convos__cta:hover{transform:translateY(-1px)}
@media(max-width:560px){
  .ceslan-convos__item{flex-wrap:wrap}
  .ceslan-convos__cta{width:100%;text-align:center;margin-top:4px}
}

/* ===== Catálogo: cabecera con más vida ===== */
.woocommerce-products-header{
  background:linear-gradient(135deg,var(--bg2),#fff);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:34px 34px 30px;
  margin:8px 0 22px;
  position:relative;
  overflow:hidden;
}
.woocommerce-products-header::after{
  content:"";position:absolute;top:-60px;right:-40px;width:240px;height:240px;
  background:radial-gradient(circle,rgba(252,184,20,.22),transparent 70%);pointer-events:none;
}
.woocommerce-products-header__title{
  font-size:clamp(30px,4.2vw,46px)!important;font-weight:800;letter-spacing:-.03em;
  color:var(--ink);margin:0;position:relative;
}
.woocommerce-products-header .term-description,
.woocommerce-archive-description,
.woocommerce-products-header__description{
  color:var(--muted);font-size:15.5px;line-height:1.6;max-width:760px;margin-top:10px;position:relative;
}
.woocommerce-archive-description p{margin:0 0 8px}
/* la cabecera de chips deja de tener borde duplicado, se integra */
.cat-head{padding:4px 0 20px;border-bottom:1px solid var(--line);margin-bottom:26px}
.cat-chips .chip{box-shadow:var(--shadow-sm)}
.cat-count{margin-top:12px}

/* ===== Búsqueda: filtros por tipo ===== */
.search-filters{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.search-filters .chip{font-size:13.5px;font-weight:700;background:#fff;border:1px solid var(--line);border-radius:30px;padding:7px 16px;color:var(--ink);text-decoration:none;transition:.2s;box-shadow:var(--shadow-sm)}
.search-filters .chip:hover{border-color:var(--orange);color:var(--orange);transform:translateY(-1px)}
.search-filters .chip.active{background:var(--orange);color:#fff;border-color:var(--orange)}
