.elementor-3403 .elementor-element.elementor-element-3d45590{--display:flex;--min-height:600px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overlay-opacity:0.08;--overlay-mix-blend-mode:luminosity;--border-radius:18px 18px 18px 18px;box-shadow:0px 25px 50px 0px rgba(0, 0, 0, 0.3);--padding-top:80px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-3403 .elementor-element.elementor-element-3d45590:not(.elementor-motion-effects-element-type-background), .elementor-3403 .elementor-element.elementor-element-3d45590 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:radial-gradient(at center left, #1E4E67 0%, #0A2636 100%);}.elementor-3403 .elementor-element.elementor-element-3d45590::before, .elementor-3403 .elementor-element.elementor-element-3d45590 > .elementor-background-video-container::before, .elementor-3403 .elementor-element.elementor-element-3d45590 > .e-con-inner > .elementor-background-video-container::before, .elementor-3403 .elementor-element.elementor-element-3d45590 > .elementor-background-slideshow::before, .elementor-3403 .elementor-element.elementor-element-3d45590 > .e-con-inner > .elementor-background-slideshow::before, .elementor-3403 .elementor-element.elementor-element-3d45590 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#050816;background-image:url("https://touchpointgroup.co/wp-content/uploads/2026/04/3a4c91f3-4570-4ffa-94f8-790015ba1c5c.png");--background-overlay:'';background-position:center center;background-repeat:repeat;background-size:auto;}.elementor-3403 .elementor-element.elementor-element-b5a4c58{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:67px;--padding-bottom:109px;--padding-left:24px;--padding-right:24px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-3403 .elementor-element.elementor-element-9d62aaf{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 16px) 0px;font-family:"Roboto", Sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:2.5px;color:#D8EEF7;}.elementor-3403 .elementor-element.elementor-element-0981183{width:var( --container-widget-width, 55% );max-width:55%;margin:24px 0px calc(var(--kit-widget-spacing, 0px) + 25px) 0px;--container-widget-width:55%;--container-widget-flex-grow:0;font-family:"Georgia", Sans-serif;font-size:18px;font-weight:400;line-height:43px;letter-spacing:0.5px;color:#FFFFFF;}.elementor-3403 .elementor-element.elementor-element-0981183.elementor-element{--align-self:flex-start;--flex-grow:0;--flex-shrink:0;}.elementor-3403 .elementor-element.elementor-element-0981183 p{margin-block-end:0px;}.elementor-3403 .elementor-element.elementor-element-b89f20f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 4px) 0px;font-family:"Georgia", Sans-serif;font-size:17px;font-weight:400;line-height:1.55px;}.elementor-3403 .elementor-element.elementor-element-b5766a5{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--margin-top:10px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-3403 .elementor-element.elementor-element-c0eccc1 .elementor-button{background-color:#FFFFFF08;font-family:"Inter", Sans-serif;font-weight:700;text-shadow:0px 0px 10px rgba(0,0,0,0.3);fill:#00FFA8;color:#00FFA8;transition-duration:0.25s;border-style:solid;border-width:1px 1px 1px 1px;border-color:#00FFA88C;border-radius:999px 999px 999px 999px;padding:10px 22px 10px 22px;}.elementor-3403 .elementor-element.elementor-element-c0eccc1 .elementor-button:hover, .elementor-3403 .elementor-element.elementor-element-c0eccc1 .elementor-button:focus{background-color:transparent;color:#001014;background-image:linear-gradient(90deg, #00000000 0%, #00C8FF 100%);border-color:#00000000;box-shadow:0px 6px 16px 0px rgba(0, 199.99999999999997, 255, 0.25);}.elementor-3403 .elementor-element.elementor-element-c0eccc1{padding:2px 0px 2px 0px;}.elementor-3403 .elementor-element.elementor-element-c0eccc1.elementor-element{--align-self:center;}.elementor-3403 .elementor-element.elementor-element-c0eccc1 .elementor-button:hover svg, .elementor-3403 .elementor-element.elementor-element-c0eccc1 .elementor-button:focus svg{fill:#001014;}.elementor-3403 .elementor-element.elementor-element-007cd3d .elementor-button{background-color:#FFFFFF08;font-family:"Inter", Sans-serif;font-weight:700;text-shadow:0px 0px 10px rgba(0,0,0,0.3);fill:#00FFA8;color:#00FFA8;transition-duration:0.25s;border-style:solid;border-width:1px 1px 1px 1px;border-color:#00FFA88C;border-radius:999px 999px 999px 999px;padding:10px 22px 10px 22px;}.elementor-3403 .elementor-element.elementor-element-007cd3d .elementor-button:hover, .elementor-3403 .elementor-element.elementor-element-007cd3d .elementor-button:focus{background-color:transparent;color:#001014;background-image:linear-gradient(90deg, #00000000 0%, #00C8FF 100%);border-color:#00000000;box-shadow:0px 6px 16px 0px rgba(0, 199.99999999999997, 255, 0.25);}.elementor-3403 .elementor-element.elementor-element-007cd3d{padding:2px 0px 2px 0px;}.elementor-3403 .elementor-element.elementor-element-007cd3d .elementor-button:hover svg, .elementor-3403 .elementor-element.elementor-element-007cd3d .elementor-button:focus svg{fill:#001014;}.elementor-3403 .elementor-element.elementor-element-b20b2a9 .elementor-button{background-color:#FFFFFF08;font-family:"Inter", Sans-serif;font-weight:700;text-shadow:0px 0px 10px rgba(0,0,0,0.3);fill:#00FFA8;color:#00FFA8;transition-duration:0.25s;border-style:solid;border-width:1px 1px 1px 1px;border-color:#00FFA88C;border-radius:999px 999px 999px 999px;padding:10px 22px 10px 22px;}.elementor-3403 .elementor-element.elementor-element-b20b2a9 .elementor-button:hover, .elementor-3403 .elementor-element.elementor-element-b20b2a9 .elementor-button:focus{background-color:transparent;color:#001014;background-image:linear-gradient(90deg, #00000000 0%, #00C8FF 100%);border-color:#00000000;box-shadow:0px 6px 16px 0px rgba(0, 199.99999999999997, 255, 0.25);}.elementor-3403 .elementor-element.elementor-element-b20b2a9{padding:2px 0px 2px 0px;}.elementor-3403 .elementor-element.elementor-element-b20b2a9 .elementor-button:hover svg, .elementor-3403 .elementor-element.elementor-element-b20b2a9 .elementor-button:focus svg{fill:#001014;}.elementor-3403 .elementor-element.elementor-element-b86c0c4 .elementor-button{background-color:#FFFFFF08;font-family:"Inter", Sans-serif;font-weight:700;text-shadow:0px 0px 10px rgba(0,0,0,0.3);fill:#00FFA8;color:#00FFA8;transition-duration:0.25s;border-style:solid;border-width:1px 1px 1px 1px;border-color:#00FFA88C;border-radius:999px 999px 999px 999px;padding:10px 22px 10px 22px;}.elementor-3403 .elementor-element.elementor-element-b86c0c4 .elementor-button:hover, .elementor-3403 .elementor-element.elementor-element-b86c0c4 .elementor-button:focus{background-color:transparent;color:#001014;background-image:linear-gradient(90deg, #00000000 0%, #00C8FF 100%);border-color:#00000000;box-shadow:0px 6px 16px 0px rgba(0, 199.99999999999997, 255, 0.25);}.elementor-3403 .elementor-element.elementor-element-b86c0c4{padding:2px 0px 2px 0px;}.elementor-3403 .elementor-element.elementor-element-b86c0c4 .elementor-button:hover svg, .elementor-3403 .elementor-element.elementor-element-b86c0c4 .elementor-button:focus svg{fill:#001014;}.elementor-3403 .elementor-element.elementor-element-091619c{--display:flex;--margin-top:-139px;--margin-bottom:10px;--margin-left:0px;--margin-right:-2px;--padding-top:20px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-3403 .elementor-element.elementor-element-cc42f47{margin:-133px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-3403 .elementor-element.elementor-element-cc42f47.elementor-element{--align-self:stretch;--order:99999 /* order end hack */;--flex-grow:0;--flex-shrink:0;}.elementor-3403 .elementor-element.elementor-element-b66e827{--display:flex;--margin-top:40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:24px;--padding-right:24px;}@media(max-width:1024px) and (min-width:768px){.elementor-3403 .elementor-element.elementor-element-b5766a5{--width:100%;}}@media(max-width:1024px){.elementor-3403 .elementor-element.elementor-element-3d45590{--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-3403 .elementor-element.elementor-element-0981183{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:40px 20px 40px 20px;--container-widget-width:456px;--container-widget-flex-grow:0;width:var( --container-widget-width, 456px );max-width:456px;font-size:15px;line-height:1.5em;}.elementor-3403 .elementor-element.elementor-element-b5766a5{--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:10px;--margin-bottom:10px;--margin-left:10px;--margin-right:10px;}}@media(max-width:767px){.elementor-3403 .elementor-element.elementor-element-b5a4c58{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3403 .elementor-element.elementor-element-0981183{padding:0px 0px 0px 0px;}.elementor-3403 .elementor-element.elementor-element-b89f20f{font-size:15px;line-height:2.1em;}.elementor-3403 .elementor-element.elementor-element-b89f20f p{margin-block-end:0px;}.elementor-3403 .elementor-element.elementor-element-b5766a5{--width:0px;--min-height:0px;}.elementor-3403 .elementor-element.elementor-element-091619c{--gap:21px 0px;--row-gap:21px;--column-gap:0px;}.elementor-3403 .elementor-element.elementor-element-cc42f47{margin:-96px -17px calc(var(--kit-widget-spacing, 0px) + -19px) -17px;padding:-2px -2px -2px -2px;}}/* Start custom CSS *//* ==========================================
   LEARNING HUB SHARED SYSTEM
   Full drop-in replacement

   Apply at page level on both:
   - Learning Hub VLOG
   - Learning Hub / Blog page

   Recommended page classes:
   tp-library-page
========================================== */

.tp-library-page {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(84% 56% at 50% 0%, rgba(82, 215, 255, 0.22) 0%, rgba(82, 215, 255, 0) 48%),
    radial-gradient(60% 42% at 50% 46%, rgba(34, 156, 218, 0.15) 0%, rgba(34, 156, 218, 0) 100%),
    linear-gradient(180deg, #071722 0%, #0a2130 30%, #0c2838 62%, #0a2130 100%);
  padding: 32px 20px 48px;
}

.tp-library-page::before,
.tp-library-page::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
}

.tp-library-page::before {
  top: 10px;
  bottom: 12px;
  width: min(1180px, calc(100% - 24px));
  border-radius: 34px;
  background:
    radial-gradient(60% 22% at 50% 0%, rgba(76, 214, 255, 0.18) 0%, rgba(76, 214, 255, 0) 100%),
    linear-gradient(180deg, rgba(9, 29, 42, 0.94) 0%, rgba(10, 33, 48, 0.92) 46%, rgba(9, 28, 41, 0.96) 100%);
  border: 1px solid rgba(94, 212, 255, 0.12);
  box-shadow:
    0 28px 60px rgba(0, 0, 0, 0.26),
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    inset 0 -1px 0 rgba(0, 0, 0, 0.12);
}

.tp-library-page::after {
  top: 26px;
  bottom: 28px;
  width: min(1148px, calc(100% - 56px));
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 18%, rgba(140, 225, 255, 0.16) 0 2px, transparent 3px),
    radial-gradient(circle at 88% 14%, rgba(140, 225, 255, 0.14) 0 2px, transparent 3px),
    radial-gradient(circle at 18% 72%, rgba(140, 225, 255, 0.12) 0 2px, transparent 3px),
    radial-gradient(circle at 82% 78%, rgba(140, 225, 255, 0.12) 0 2px, transparent 3px),
    repeating-linear-gradient(90deg, rgba(120, 220, 255, 0.03) 0 1px, transparent 1px 148px),
    repeating-linear-gradient(180deg, rgba(120, 220, 255, 0.025) 0 1px, transparent 1px 122px);
  opacity: 0.4;
}

.tp-library-page .elementor-container,
.tp-library-page .elementor-widget-wrap,
.tp-library-page .elementor-section {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.tp-library-page .elementor-top-section,
.tp-library-page .elementor-element {
  box-sizing: border-box !important;
}

.tp-library-page .elementor-top-section,
.tp-library-page .elementor-widget,
.tp-library-page .elementor-widget-container,
.tp-library-page .elementor-container {
  position: relative;
  z-index: 1;
}

/* HERO SHELL */
.tp-library-page .tp-library-shell,
.tp-library-page .elementor-element.tp-library-shell > .elementor-widget-container,
.tp-library-page .elementor-element.tp-library-shell {
  border-radius: 24px !important;
  background:
    radial-gradient(120% 160% at 0% 0%, rgba(85, 215, 246, 0.16) 0%, transparent 42%),
    linear-gradient(135deg, #0b2030 0%, #12384d 56%, #0f2b3d 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.24) !important;
  overflow: hidden !important;
}

.tp-library-page .tp-library-shell .elementor-widget-wrap,
.tp-library-page .tp-library-shell .elementor-container {
  background: transparent !important;
}

/* HERO CONTENT */
.tp-library-page .tp-library-eyebrow,
.tp-library-page .tp-library-shell .elementor-widget-text-editor:first-child,
.tp-library-page .tp-library-shell .elementor-widget-text-editor .elementor-text-editor:first-child {
  color: rgba(234, 246, 255, 0.76) !important;
}

.tp-library-page .tp-library-headline,
.tp-library-page .tp-library-headline .elementor-heading-title {
  font-family: Georgia, "Times New Roman", serif !important;
  color: #ffffff !important;
  font-size: clamp(42px, 5vw, 64px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 18px !important;
  white-space: normal !important;
  text-wrap: balance !important;
  overflow-wrap: anywhere !important;
}

.tp-library-page .tp-library-copy,
.tp-library-page .tp-library-copy .elementor-text-editor,
.tp-library-page .tp-library-copy p {
  color: #d8eef7 !important;
  font-size: 18px !important;
  line-height: 1.68 !important;
}

.tp-library-page .tp-library-bridge,
.tp-library-page .tp-library-bridge .elementor-text-editor,
.tp-library-page .tp-library-bridge p {
  color: #eef8ff !important;
  font-size: 17px !important;
  line-height: 1.68 !important;
}

/* CONTENT GRID WRAPPER */
.tp-library-page .tp-library-grid-shell,
.tp-library-page .tp-library-grid-shell .elementor-widget-container {
  margin-top: 24px !important;
}

.tp-library-page .pt-cv-wrapper,
.tp-library-page .pt-cv-content,
.tp-library-page .pt-cv-view {
  background: transparent !important;
}

/* CONTENT VIEW CARDS */
.tp-library-page .pt-cv-content-item,
.tp-library-page .pt-cv-ifield,
.tp-library-page .pt-cv-thumbnail,
.tp-library-page .pt-cv-readmore {
  box-sizing: border-box !important;
}

.tp-library-page .pt-cv-content-item {
  border-radius: 18px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.03)) !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.16) !important;
  padding: 0 !important;
}

.tp-library-page .pt-cv-content-item img,
.tp-library-page .pt-cv-thumbnail img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
}

.tp-library-page .pt-cv-title {
  padding: 18px 18px 8px !important;
  margin: 0 !important;
}

.tp-library-page .pt-cv-title a,
.tp-library-page .pt-cv-title {
  color: #eef8ff !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 22px !important;
  line-height: 1.28 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.tp-library-page .pt-cv-content-item .pt-cv-content,
.tp-library-page .pt-cv-content-item .pt-cv-excerpt,
.tp-library-page .pt-cv-content-item p {
  color: #d3e7f2 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  padding: 0 18px 18px !important;
  margin: 0 !important;
}

/* KILL DUPLICATE / OVERLAY TITLE OUTPUT */
.tp-library-page .pt-cv-overlay-wrapper,
.tp-library-page .pt-cv-overlay-caption,
.tp-library-page .pt-cv-thumbnail-overlay,
.tp-library-page .pt-cv-content-item .entry-title,
.tp-library-page .pt-cv-content-item .post-title,
.tp-library-page .pt-cv-content-item .video-title,
.tp-library-page .pt-cv-content-item .pt-cv-title + .pt-cv-title,
.tp-library-page .pt-cv-content-item .pt-cv-title + .entry-title,
.tp-library-page .pt-cv-content-item .entry-title + .pt-cv-title {
  display: none !important;
}

/* CTA LINKS INSIDE LISTS */
.tp-library-page .pt-cv-readmore,
.tp-library-page .pt-cv-readmore a {
  color: #7ee8ff !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

@media (max-width: 1024px) {
  .tp-library-page {
    padding: 22px 16px 32px;
  }

  .tp-library-page::before,
  .tp-library-page::after {
    width: calc(100% - 22px);
  }

  .tp-library-page .tp-library-headline,
  .tp-library-page .tp-library-headline .elementor-heading-title {
    font-size: clamp(36px, 7vw, 48px) !important;
    line-height: 1.1 !important;
  }

  .tp-library-page .tp-library-copy,
  .tp-library-page .tp-library-copy .elementor-text-editor,
  .tp-library-page .tp-library-copy p,
  .tp-library-page .tp-library-bridge,
  .tp-library-page .tp-library-bridge .elementor-text-editor,
  .tp-library-page .tp-library-bridge p {
    font-size: 16px !important;
  }

  .tp-library-page .pt-cv-title a,
  .tp-library-page .pt-cv-title {
    font-size: 20px !important;
  }
}

@media (max-width: 767px) {
  .tp-library-page {
    padding: 18px 14px 28px;
  }

  .tp-library-page::before,
  .tp-library-page::after {
    display: none;
  }

  .tp-library-page .tp-library-shell,
  .tp-library-page .elementor-element.tp-library-shell > .elementor-widget-container,
  .tp-library-page .elementor-element.tp-library-shell {
    border-radius: 18px !important;
  }

  .tp-library-page .tp-library-headline,
  .tp-library-page .tp-library-headline .elementor-heading-title {
    font-size: clamp(30px, 9vw, 38px) !important;
    line-height: 1.12 !important;
    margin-bottom: 14px !important;
  }

  .tp-library-page .tp-library-copy,
  .tp-library-page .tp-library-copy .elementor-text-editor,
  .tp-library-page .tp-library-copy p,
  .tp-library-page .tp-library-bridge,
  .tp-library-page .tp-library-bridge .elementor-text-editor,
  .tp-library-page .tp-library-bridge p {
    font-size: 15px !important;
    line-height: 1.66 !important;
  }

  .tp-library-page .pt-cv-content-item {
    border-radius: 16px !important;
  }

  .tp-library-page .pt-cv-title {
    padding: 14px 14px 8px !important;
  }

  .tp-library-page .pt-cv-title a,
  .tp-library-page .pt-cv-title {
    font-size: 16px !important;
    line-height: 1.3 !important;
  }

  .tp-library-page .pt-cv-content-item .pt-cv-content,
  .tp-library-page .pt-cv-content-item .pt-cv-excerpt,
  .tp-library-page .pt-cv-content-item p {
    font-size: 14px !important;
    line-height: 1.55 !important;
    padding: 0 14px 14px !important;
  }

  .tp-library-page .pt-cv-readmore,
  .tp-library-page .pt-cv-readmore a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
  }
}
/* ==========================================
   LEARNING HUB VLOG PAGE TWEAKS
   Full drop-in replacement

   Page classes:
   tp-library-page tp-vlog-page

   Widget classes:
   - hero section/container: tp-library-shell
   - headline widget: tp-library-headline
   - body copy widget: tp-library-copy
   - bridge/closing copy widget: tp-library-bridge
   - grid shortcode wrapper/container: tp-library-grid-shell
========================================== */

.tp-vlog-page .tp-library-headline,
.tp-vlog-page .tp-library-headline .elementor-heading-title,
.tp-vlog-page .local,
.tp-vlog-page .local .elementor-heading-title {
  max-width: 12ch !important;
}

.tp-vlog-page .pt-cv-title a,
.tp-vlog-page .pt-cv-title {
  font-size: 20px !important;
}

.tp-vlog-page .pt-cv-content-item .pt-cv-content,
.tp-vlog-page .pt-cv-content-item .pt-cv-excerpt,
.tp-vlog-page .pt-cv-content-item p {
  font-size: 14px !important;
}

.tp-vlog-page .pt-cv-wrapper {
  row-gap: 24px !important;
}

.tp-vlog-page .pt-cv-content-item .pt-cv-title + .pt-cv-title,
.tp-vlog-page .pt-cv-content-item .pt-cv-title + .entry-title,
.tp-vlog-page .pt-cv-content-item .entry-title + .pt-cv-title {
  display: none !important;
}

@media (max-width: 767px) {
  .tp-vlog-page .tp-library-headline,
  .tp-vlog-page .tp-library-headline .elementor-heading-title,
  .tp-vlog-page .local,
  .tp-vlog-page .local .elementor-heading-title {
    max-width: 10ch !important;
  }

  .tp-vlog-page .pt-cv-title a,
  .tp-vlog-page .pt-cv-title {
    font-size: 15px !important;
  }

  .tp-vlog-page .pt-cv-wrapper {
    row-gap: 18px !important;
    /* ===============================
   MASTER WRAPPER
=============================== */

.tp-vlog-wrapper {
  width: 100%;
}

/* ===============================
   FORCE GRID (OVERRIDES SHORTCODE)
=============================== */

.tp-vlog-wrapper > * {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

/* ===============================
   CARD NORMALIZATION
=============================== */

.tp-vlog-wrapper article,
.tp-vlog-wrapper .post,
.tp-vlog-wrapper .item,
.tp-vlog-wrapper .grid-item {
  display: flex !important;
  flex-direction: column;
  gap: 12px;
}

/* ===============================
   IMAGE CONTROL
=============================== */

.tp-vlog-wrapper img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  display: block;
}

/* ===============================
   TITLE CONTROL (CATCH ALL)
=============================== */

.tp-vlog-wrapper h2,
.tp-vlog-wrapper h3,
.tp-vlog-wrapper .title,
.tp-vlog-wrapper .entry-title {
  margin-top: 8px !important;
  margin-bottom: 0 !important;

  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;

  color: #e6f0f5;

  /* CLAMP TEXT */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ===============================
   REMOVE WEIRD SPACING
=============================== */

.tp-vlog-wrapper p {
  margin: 6px 0 0 0 !important;
}

/* ===============================
   TABLET
=============================== */

@media (max-width: 1024px) {

  .tp-vlog-wrapper > * {
    grid-template-columns: 1fr 1fr;
    gap: 22px;
  }

  .tp-vlog-wrapper h2,
  .tp-vlog-wrapper h3 {
    font-size: 17px;
  }

}

/* ===============================
   MOBILE
=============================== */

@media (max-width: 768px) {

  .tp-vlog-wrapper > * {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .tp-vlog-wrapper h2,
  .tp-vlog-wrapper h3 {
    font-size: 16px;
    line-height: 1.35;
  }

}

/* ===============================
   HARD OVERFLOW PROTECTION
=============================== */

.tp-vlog-wrapper * {
  max-width: 100%;
  }
  /* ==========================================
   HARD KILL: DUPLICATE OVERLAY TITLES
   (THIS IS YOUR ACTUAL ISSUE)
========================================== */

/* kill ALL overlay caption systems */
.tp-library-page .pt-cv-thumbnail-overlay,
.tp-library-page .pt-cv-overlay-wrapper,
.tp-library-page .pt-cv-overlay-caption,
.tp-library-page .pt-cv-media-overlay,
.tp-library-page .pt-cv-hover-overlay,
.tp-library-page .pt-cv-entry-overlay,
.tp-library-page .pt-cv-overlay-content {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* ensure thumbnail is clean */
.tp-library-page .pt-cv-thumbnail {
  position: relative !important;
  overflow: hidden !important;
}

/* force title BELOW image only */
.tp-library-page .pt-cv-title {
  position: relative !important;
  z-index: 2 !important;
  background: transparent !important;
}

/* prevent weird stacking bugs */
.tp-library-page .pt-cv-content-item {
  position: relative !important;
}
/* ==========================================
   FORCE REMOVE ALL TITLE OVERLAYS (FINAL FIX)
========================================== */

/* kill ANY text inside thumbnail containers */
.tp-library-page .pt-cv-thumbnail *:not(img):not(svg):not(video) {
  display: none !important;
}

/* restore play icon if needed */
.tp-library-page .pt-cv-thumbnail .pt-cv-play-icon,
.tp-library-page .pt-cv-thumbnail .pt-cv-video-icon {
  display: block !important;
}

/* ensure clean image block */
.tp-library-page .pt-cv-thumbnail {
  position: relative !important;
  overflow: hidden !important;
}

/* keep ONLY the real title below */
.tp-library-page .pt-cv-title {
  display: block !important;
  position: relative !important;
  z-index: 2 !important;
  margin-top: 12px !important;
}

/* clean title typography */
.tp-library-page .pt-cv-title a {
  display: block !important;
  font-size: clamp(14px, 1.8vw, 18px) !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
}
}/* End custom CSS */