/* WordPress / Coursector overrides for ITP skin */
body.itpmi-skin {
  font-family: var(--font) !important;
  background: var(--paper);
  color: var(--ink);
}
body.itpmi-skin h1,
body.itpmi-skin h2,
body.itpmi-skin h3,
body.itpmi-skin h4,
body.itpmi-skin .btn,
body.itpmi-skin .header-cta {
  font-family: var(--font-display) !important;
}
body.itpmi-skin .elementor-widget-shortcode,
body.itpmi-skin .elementor-widget-itpmi_section {
  margin: 0;
}
body.itpmi-skin .elementor-section.elementor-section-boxed > .elementor-container {
  max-width: var(--maxw);
}
body.itpmi-skin #page_content_wrapper .inner {
  width: 100% !important;
  max-width: 100% !important;
}
body.itpmi-skin .creame-whatsapp-me,
body.itpmi-skin .joinchat,
body.itpmi-skin [class*="joinchat"],
body.itpmi-skin .wp-block-joinchat-button,
body.itpmi-skin .call-now-button,
body.itpmi-skin #callnowbutton {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
/* No orphaned chrome after ITP footer */
body.itpmi-skin .elementor-location-footer + .marquee-wrap,
body.itpmi-skin footer.footer ~ .marquee-wrap {
  display: none !important;
}
/* LearnPress checkout / profile skin */
body.itpmi-skin.learnpress,
body.itpmi-skin.lp-page,
body.itpmi-skin .lp-content-area {
  font-family: var(--font);
}
body.itpmi-skin .learn-press-checkout,
body.itpmi-skin .learn-press-profile,
body.itpmi-skin .lp-user-profile {
  max-width: 1100px;
  margin: 6rem auto 3rem;
  padding: 0 1.25rem;
}
body.itpmi-skin .lp-button,
body.itpmi-skin button.lp-button,
body.itpmi-skin .learn-press-message.success {
  border-radius: var(--radius-sm);
}
body.itpmi-skin .lp-button,
body.itpmi-skin button[name="complete"],
body.itpmi-skin .checkout-button {
  background: var(--orange) !important;
  border-color: var(--orange) !important;
  color: #1a0e00 !important;
}
body.itpmi-skin .itp-legal-wrap {
  max-width: none;
  margin: 0;
  padding: 0 0 4rem;
}
/* Full-bleed hero like static legales; content stays readable width */
body.itpmi-skin .itp-legal-wrap > .page-hero {
  width: 100%;
  max-width: none;
  margin: 0 0 0;
  padding-top: calc(var(--header-h) + 3.5rem);
  border-radius: 0;
}
body.itpmi-skin .itp-legal-wrap > .itp-section,
body.itpmi-skin .itp-legal-wrap > .legal {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(1rem, 4vw, 2.5rem);
  padding-right: clamp(1rem, 4vw, 2.5rem);
}
body.itpmi-skin .itp-legal-wrap > .itp-section .itp-container.legal,
body.itpmi-skin .itp-legal-wrap .legal {
  max-width: 900px;
}
/* Ensure header sits above Elementor */
body.itpmi-skin .itp-header {
  z-index: 10000;
}
/* Mega below header, above page content; sync top with admin-bar offset */
body.itpmi-skin .mega {
  z-index: 9999;
}
body.itpmi-skin.admin-bar .mega {
  top: calc(var(--header-h) + 32px);
  max-height: calc(100vh - var(--header-h) - 32px);
}
@media (max-width: 782px) {
  body.itpmi-skin.admin-bar .mega {
    top: calc(var(--header-h) + 46px);
    max-height: calc(100vh - var(--header-h) - 46px);
  }
}
body.itpmi-skin .wa {
  z-index: 10001;
}
/* Course detail already uses ITP tokens; align WA number via PHP */
body.single-lp_course.itpmi-skin #page_content_wrapper {
  padding-top: 0 !important;
}

/* LearnPress lesson / enrol buttons */
body.itpmi-skin .button-enrol-course,
body.itpmi-skin .lp-button.button,
body.itpmi-skin.single-lp_lesson .lp-button,
body.itpmi-skin.single-lp_quiz .lp-button {
  background: var(--orange) !important;
  border-color: var(--orange) !important;
  color: #1a0e00 !important;
  font-family: var(--font-display) !important;
  font-weight: 600 !important;
}
body.itpmi-skin .learn-press-message {
  border-radius: var(--radius);
}
body.itpmi-skin .lp-course-curriculum,
body.itpmi-skin .course-curriculum {
  border: 1px solid var(--line-ink);
  border-radius: var(--radius);
}
/* Course detail CTA buttons */
body.single-lp_course .itp-btn {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: .95rem;
  padding: .85rem 1.5rem;
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
  text-decoration: none;
  transition: all .25s var(--ease);
}
body.single-lp_course .itp-btn-primary {
  background: var(--orange);
  color: #1a0e00 !important;
}
body.single-lp_course .itp-btn-primary:hover {
  background: var(--orange-2);
  transform: translateY(-2px);
}
body.single-lp_course .itp-btn-ghost {
  background: transparent;
  border-color: rgba(255,255,255,.35);
  color: #fff !important;
}

/* —— Paridad visual pass —— */
#trp-floater-ls {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Coursector screen.css sets h1–h6 { color:#222 } — kill on dark ITP bands.
 * Do NOT use !important on Elementor heading widgets so panel colors apply. */
body.itpmi-skin .page-hero:not(.elementor-element),
body.itpmi-skin .page-hero:not(.elementor-element) h1,
body.itpmi-skin .page-hero:not(.elementor-element) h2,
body.itpmi-skin .page-hero:not(.elementor-element) p {
  color: var(--text);
}
body.itpmi-skin .hero:not(.elementor-element),
body.itpmi-skin .hero:not(.elementor-element) h1 {
  color: var(--text);
}
body.itpmi-skin .hero h1 em,
body.itpmi-skin .hero .elementor-heading-title em {
  color: var(--orange);
  font-style: italic;
}
body.itpmi-skin .section-dark:not(.elementor-element) h1,
body.itpmi-skin .section-dark:not(.elementor-element) h2,
body.itpmi-skin .section-dark:not(.elementor-element) h3,
body.itpmi-skin .section-dark:not(.elementor-element) .sec-head,
body.itpmi-skin .section-dark:not(.elementor-element) .eyebrow,
body.itpmi-skin .section-dark:not(.elementor-element) .stat-num,
body.itpmi-skin .section-dark:not(.elementor-element) .stat-label {
  color: #fff;
}
body.itpmi-skin .section-dark .eyebrow {
  color: var(--orange);
}

/* Elementor native bands keep ITP look without locking editor colors */
body.itpmi-skin .itp-el-band.page-hero .elementor-heading-title {
  color: #fff;
}
body.itpmi-skin .itp-el-band.section-dark .elementor-heading-title {
  color: #fff;
}

/* Classic section→column hero bridge (only if itp-el-hero is used without full [itp_hero]) */
body.itpmi-skin .itp-el-hero {
  position: relative;
  min-height: 92vh;
  overflow: visible;
  color: var(--text);
}
body.itpmi-skin .itp-el-hero > .elementor-container {
  max-width: 100% !important;
  height: 100%;
}
body.itpmi-skin .itp-el-hero > .elementor-container > .elementor-column > .elementor-widget-wrap {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  min-height: 92vh;
  padding-top: calc(var(--header-h, 72px) + 2rem);
  padding-bottom: clamp(1.5rem, 4vw, 2.75rem);
  box-sizing: border-box;
}
body.itpmi-skin .itp-el-hero .elementor-widget-shortcode:has(.hero-media) {
  position: absolute !important;
  inset: 0;
  z-index: 0;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none;
  width: 100% !important;
  max-width: none !important;
}
body.itpmi-skin .itp-el-hero .hero-media {
  position: absolute;
  inset: 0;
}
body.itpmi-skin .itp-el-hero .elementor-heading-title {
  color: #fff;
  font-size: clamp(2.2rem, 6vw, 4.2rem);
  max-width: 15ch;
  line-height: 1.1;
}
body.itpmi-skin .itp-el-hero .elementor-widget-text-editor {
  color: #fff;
  max-width: 46ch;
}

/* When section only wraps a design shortcode, kill Elementor kit chrome */
body.itpmi-skin .itp-el-section-wrap > .elementor-container {
  max-width: 100% !important;
}
body.itpmi-skin .itp-el-section-wrap .elementor-widget-shortcode > .elementor-widget-container,
body.itpmi-skin .itp-el-section-wrap .elementor-widget-itpmi_section > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}
body.itpmi-skin .itp-el-section-wrap.elementor-section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Hybrid bands: editable headings above shortcode bodies */
body.itpmi-skin .itp-el-hybrid-band {
  padding-top: clamp(2rem, 4vw, 3.5rem) !important;
  padding-bottom: clamp(2rem, 4vw, 3.5rem) !important;
}
body.itpmi-skin .itp-el-hybrid-band > .elementor-container {
  max-width: var(--maxw, 1140px);
  padding-left: clamp(1rem, 4vw, 2.5rem);
  padding-right: clamp(1rem, 4vw, 2.5rem);
}
body.itpmi-skin .itp-el-hybrid-band .elementor-heading-title {
  font-family: var(--font-display);
  color: var(--ink);
}
body.itpmi-skin .itp-el-hybrid-band.section-paper {
  background: var(--paper, #fff);
}
body.itpmi-skin .itp-el-hybrid-band.section-white {
  background: #fff;
}
body.itpmi-skin .itp-el-hybrid-band.home-trust {
  background: var(--bg) !important;
  color: var(--text);
}
body.itpmi-skin .itp-el-hybrid-band.home-trust .elementor-heading-title {
  color: #fff;
  text-align: center;
}
body.itpmi-skin .itp-el-hybrid-band.home-trust > .elementor-container {
  max-width: 100%;
}

/* Editor canvas must stay interactive */
body.elementor-editor-active.itpmi-skin .elementor-element,
body.elementor-editor-preview.itpmi-skin .elementor-element,
html.elementor-html body .elementor-element {
  pointer-events: auto !important;
}
html.itp-boot-pending.elementor-html body > :not(.itp-boot),
body.elementor-editor-active ~ * {
  opacity: 1;
}
body.elementor-editor-active .itp-boot,
body.elementor-editor-preview .itp-boot {
  display: none !important;
}

/* Kill Ally / Join.chat / CNB / ASL / ModuloBox chrome (correct selectors) */
#pojo-a11y-toolbar,
#pojo-a11y-skip-content,
.pojo-a11y-toolbar-right,
.pojo-a11y-toolbar-left,
.pojo-skip-link,
.mobx-holder,
.mobx-share-tooltip,
.mobx-top-bar,
body.itpmi-skin .pojo-a11y-toolbar,
body.itpmi-skin #pojo-a11y-container,
body.itpmi-skin .ally-widget,
body.itpmi-skin .ally-trigger,
body.itpmi-skin .joinchat,
body.itpmi-skin .joinchat--show,
body.itpmi-skin .creame-whatsapp-me,
body.itpmi-skin #callnowbutton,
body.itpmi-skin .call-now-button,
body.itpmi-skin .cnb-container,
body.itpmi-skin .cnb-single,
body.itpmi-skin #asl_search_box,
body.itpmi-skin .asl_w_container,
body.itpmi-skin .asl_w {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
}

/* Elementor shortcode wrappers: zero kit padding only on design-shortcode wraps */
body.itpmi-skin:not(.elementor-editor-active) .elementor-widget-shortcode > .elementor-widget-container,
body.itpmi-skin:not(.elementor-editor-active) .elementor-widget-itpmi_section > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}
body.itpmi-skin .itp-lang {
  display: none !important;
}
/* ES/EN selector in the header (contract: visible manual language switch). */
body.itpmi-skin .itp-header .itp-lang,
body.itpmi-skin .header-actions .itp-lang {
  display: flex !important;
  align-items: center;
  gap: .15rem;
  padding: .2rem;
  border: 1px solid var(--line, rgba(255,255,255,.18));
  border-radius: 10px;
}
body.itpmi-skin .itp-lang .itp-lang-flag {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .3rem .45rem;
  border-radius: 7px;
  color: var(--text, #fff);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .03em;
  line-height: 1;
  text-decoration: none;
  opacity: .6;
}
body.itpmi-skin .itp-lang .itp-lang-flag.is-active {
  opacity: 1;
  background: rgba(255,255,255,.1);
}
@media (max-width: 600px) {
  body.itpmi-skin .itp-lang .itp-lang-flag {
    padding: .3rem;
  }
  body.itpmi-skin .itp-lang .itp-lang-flag span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }
}
body.itpmi-skin .itp-lang .trp_language_switcher_shortcode,
body.itpmi-skin .itp-lang .trp-language-switcher,
body.itpmi-skin .itp-lang .trp-ls-shortcode-language,
body.itpmi-skin .itp-lang .trp-ls-shortcode-current-language {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
body.itpmi-skin .itp-lang img,
body.itpmi-skin .itp-lang-flag img {
  display: block;
  width: 22px;
  height: auto;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(255,255,255,.25);
}
body.itpmi-skin .itp-header .header-actions {
  gap: .75rem;
}
body.itpmi-skin .itp-lang a {
  opacity: .92;
  transition: opacity .2s, transform .2s;
}
body.itpmi-skin .itp-lang a:hover {
  opacity: 1;
  transform: translateY(-1px);
}
/* Keep boxed content width for hybrid/native bands; full-bleed only for shortcode wraps */
body.itpmi-skin .elementor-section.elementor-section-boxed:not(.itp-el-section-wrap) > .elementor-container {
  max-width: var(--maxw, 1140px);
}
body.itpmi-skin .elementor-section.itp-el-section-wrap.elementor-section-boxed > .elementor-container,
body.itpmi-skin .elementor-section.itp-el-section-wrap > .elementor-container {
  max-width: 100% !important;
}
body.itpmi-skin .elementor-widget-shortcode > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}
body.itpmi-skin #wrapper.itpmi-wrapper {
  padding-top: 0 !important;
  background: transparent !important;
}
body.itpmi-skin .creame-whatsapp-me,
body.itpmi-skin .joinchat,
body.itpmi-skin #callnowbutton,
body.itpmi-skin .call-now-button {
  display: none !important;
}
/* White marquee logos on dark bands — size owned here (loads after itp.css) */
body.itpmi-skin .marquee-wrap .marquee a,
body.itpmi-skin .marquee-wrap .marquee span,
body.itpmi-skin .home-trust .marquee a,
body.itpmi-skin .home-trust .marquee span,
body.itpmi-skin .itp-el-hybrid-band.home-trust .marquee a,
body.itpmi-skin .itp-el-hybrid-band.home-trust .marquee span {
  height: 148px;
  width: 280px;
  padding: .75rem 1.2rem;
}
body.itpmi-skin .marquee-wrap .marquee-logo,
body.itpmi-skin .marquee img,
body.itpmi-skin .home-trust .marquee img,
body.itpmi-skin .itp-el-hybrid-band.home-trust .marquee img {
  height: auto;
  max-height: 112px;
  max-width: 240px;
  width: auto;
  object-fit: contain;
  filter: none;
  opacity: .95;
}
body.itpmi-skin .logos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 1.25rem;
  align-items: stretch;
  justify-items: stretch;
}
body.itpmi-skin .logos-grid a {
  background: var(--paper-2);
  border: 1px solid var(--line-ink);
  border-radius: var(--radius);
  min-height: 120px;
  height: 120px;
  width: 100%;
  max-width: none;
  display: grid;
  place-items: center;
  padding: 1.25rem;
  box-sizing: border-box;
}
body.itpmi-skin .logos-grid a:empty {
  display: none;
}
body.itpmi-skin .logos-grid img {
  max-width: 100%;
  max-height: 72px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(1);
  opacity: .85;
}
/* Course inquiry form on dark */
body.single-lp_course #course-inquiry .form {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: var(--text);
}
body.single-lp_course #course-inquiry label,
body.single-lp_course #course-inquiry .sec-head p {
  color: var(--muted);
}
body.single-lp_course #course-inquiry input,
body.single-lp_course #course-inquiry textarea {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.18);
  color: #fff;
}
