/*
Theme Name:   Sloane Child Theme for Divi
Theme URI:    https://brandandbuildtemplates.me/themes/sloane/
Description:  For coaches & podcasters
Author:       Brand & Build
Author URI:   https://brandandbuild.me
Template:     Divi
Version:      1.3
*/

/****************/
/*Global styling*/
/****************/

/* =========================================
   TRAVELBOSS — BRAND COLOR TOKENS
   (Replace your existing :root block with this)
   ========================================= */
:root{
  /* Neutrals */
  --tb-charcoal:    #000000; /* Deep Charcoal - was #1A1A1A */
  --tb-gray:        #666666; /* Gray */
  --tb-offwhite:    #F9F9F9; /* Off White */
  --tb-sand:        #FCDAB5; /* Warm Sand */
  --tb-bronze:      #3F3D2F; /* Palm Trunk Bronze */
  --tb-earth:       #22251F; /* Rainforest Earth */

  /* Sunset / Floral */
  --tb-gold:        #F4A300; /* Sunset Gold */
  --tb-orange:      #F26C1A; /* Sunset Orange */
  --tb-hibiscus:    #C11C84; /* Pink Hibiscus */
  --tb-cover-pink:  #C32E6E; /* Cover Pink */
  --tb-flame:       #E24F27; /* Hibiscus Flame Orange */
  --tb-coral:       #BE3A33; /* Sunset Coral Red */
  --tb-crimson:     #A0332F; /* Crimson Depth */
  
  /* Ocean / Teals */
  --tb-teal:        #008B8B; /* Tropical Teal */
  --tb-turquoise:   #008080; /* Cover Turquoise */
  --tb-network:     #579A7F; /* NETWORK Teal */
  --tb-teal-foam:   #3C8975; /* Deep Teal Foam */
  --tb-crest:       #3B7F6A; /* Wave Crest Teal */
  --tb-deep-teal:   #13637C; /* New Dark Teal */

  /* Greens / Leaves */
  --tb-green:       #22713D; /* Dark Green */
  --tb-deep-green:  #104420; /* New Dark Green */

  /* Blues */
  --tb-twilight:    #3B4D94; /* Twilight Blue */
  --tb-bright-blue: #078DD8; /* New Bright Blue */
  --tb-dark-blue:   #0C2868; /* New Dark Blue */

  /* -----------------------------------------
     Map to Sloane variables already used sitewide
     ----------------------------------------- */
  --bb-sloane-dark:       var(--tb-charcoal);
  --bb-sloane-light:      var(--tb-offwhite);
  --bb-sloane-grey:       #32373c;           /* keep for control surfaces */
  --bb-sloane-highlight:  var(--tb-hibiscus);/* primary accent */
  --bb-sloane-heading-font: "Bebas Neue", display;
  --bb-sloane-body-font:    "Roboto", Helvetica, Arial, Lucida, sans-serif;
}

#page-container {
  overflow: hidden;
}

/* Font styling */

.bb-sloane-text h1,
.bb-sloane-post-content h1,
.bb-sloane-contact-form.et_pb_module h1 {
  font-size: clamp(3.2rem, 4.5vw, 4.5vw);
}

.bb-sloane-text h2,
.bb-sloane-post-content h2,
.bb-sloane-cta h2,
.bb-sloane-contact-form.et_pb_module h2,
.bb-sloane-countdown h2 {
  font-size: clamp(2.4rem, 3.5vw, 3.5rem);
}

.bb-sloane-text h3,
.bb-sloane-post-content h3,
.bb-sloane-contact-form.et_pb_module h3,
.bb-sloane-countdown h3 {
  font-size: clamp(2.2rem, 3vw, 3.25rem);
}

.bb-sloane-text h4,
.bb-sloane-blurb .et_pb_module_header,
.bb-sloane-pricing-table .et_pb_pricing_heading h4.et_pb_pricing_title,
.bb-sloane-optin h4.et_pb_module_header,
.bb-sloane-posts .entry-title,
.bb-sloane-post-content h4,
.bb-sloane-large-headings h4,
.bb-sloane-cta h4,
.bb-sloane-contact-form.et_pb_module h4,
.bb-sloane-countdown h4,
.bb-sloane-podcast-subscribe .pp-sub-widget div.pp-sub-t,
.bb-sloane-testimonial-slider h4.et_pb_slide_title,
.bb-sloane-toggle h4.et_pb_toggle_title {
  font-size: clamp(2rem, 2.5vw, 3rem);
}

.bb-sloane-text h5,
.bb-sloane-post-content h5,
.bb-sloane-contact-form.et_pb_module h5,
.bb-sloane-countdown h5,
.bb-sloane-toggle h5.et_pb_toggle_title {
  font-size: clamp(1.8rem, 2.25vw, 2.75rem);
}

.bb-sloane-text h6,
.bb-sloane-post-content h6,
.bb-sloane-contact-form.et_pb_module h6,
.bb-sloane-countdown h6,
.bb-sloane-podcast-subscribe .pp-sub-widget div.pp-sub-h,
.bb-sloane-toggle h6.et_pb_toggle_title {
  font-size: clamp(1.6rem, 1.8vw, 2.2rem);
}

.bb-sloane-large-headings h1,
.bb-sloane-large-headings h2 {
  font-size: clamp(5rem, 8vw, 8vw);
}

.bb-sloane-large-headings h4 {
  padding-bottom: 0;
  margin-bottom: -10px;
}

.bb-sloane-large-headings.et_pb_text_align_right h4 {
  margin-right: 30px;
}

.bb-sloane-large-headings.et_pb_text_align_left h4 {
  margin-left: 30px;
}

/* Lists */
.bb-sloane-text ul li::marker,
.bb-sloane-post-content ul li::marker {
  content: "\45";
  font-family: ETModules;
}

/*Scrollbars*/

html {
  scrollbar-color: var(--bb-sloane-dark) var(--bb-sloane-highlight);
  scrollbar-width: thin;
}

::-webkit-scrollbar {
  width: 6px;
}

::-webkit-scrollbar-thumb {
  background: var(--bb-sloane-dark);
  border-radius: 0;
}

::-webkit-scrollbar-track {
  background: var(--bb-sloane-highlight);
}

::-webkit-scrollbar-thumb:window-inactive {
  background: var(--bb-sloane-highlight);
  opacity: 1;
}

/*Back to top*/

.et_pb_scroll_top::before {
  content: "\42";
  font-family: ETModules;
  color: var(--bb-sloane-highlight);
}

.et_pb_scroll_top.et-pb-icon {
  background: var(--bb-sloane-dark);
  bottom: 150px;
  right: 10px;
  padding: 5px;
  border-radius: 5px;
}

/*Global Header*/

#bb-sloane-header-menu .et-menu .menu-item-has-children > a:first-child::after {
  top: 50%;
  transform: translate(0, -50%);
}

#bb-sloane-header-menu .et_mobile_menu ul.sub-menu li.menu-item-has-children {
  flex-direction: column;
}

#bb-sloane-header-menu .nav li {
  margin-top: 0;
}

#bb-sloane-header-menu.et_pb_menu ul.sub-menu {
  padding: 0;
  top: 100%;
  box-shadow: none;
}

#bb-sloane-header-menu.et_pb_menu
  ul.sub-menu
  li.menu-item-has-children
  > a:first-child::after {
  right: 10px;
}

#bb-sloane-header-menu.et_pb_menu
  .menu-item-has-children
  > a:first-child::after {
  content: "\43";
  font-family: ETModules;
}

#bb-sloane-header-menu.et_pb_menu ul.sub-menu li ul {
  top: 0;
}

#bb-sloane-header-menu .et_pb_menu__menu ul.sub-menu li {
  padding: 0;
  display: flex;
}

#bb-sloane-header-menu.et_pb_menu ul.sub-menu li.menu-item a {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  flex: 1 1 auto;
  transition: background 0.3s ease;
}

#bb-sloane-header-menu.et_pb_menu ul.sub-menu li.menu-item a:hover {
  background: var(--bb-sloane-highlight);
  color: var(--bb-sloane-dark) !important;
}

#bb-sloane-header-menu .et_mobile_nav_menu {
  padding: 10px;
}

#bb-sloane-header-menu .et_mobile_menu {
  max-height: 85vh;
  overflow-y: auto;
  scrollbar-width: thin;
  width: 100vw;
  right: -30px;
  left: auto;
  box-shadow: none;
}

#bb-sloane-header-menu .et_pb_menu__search-form {
  background: var(--bb-sloane-light);
}

#bb-sloane-header-menu .et_pb_menu__search-input {
  height: 40px;
  padding: 10px;
}

/* Podcast subscribe toggle */

#bb-sloane-podcast-subscribe .pp-sub-widget {
  padding: 20px 20px 10px 20px;
  margin-top: 0;
  box-shadow: none;
}

#bb-sloane-podcast-subscribe .pp-sub-h,
#bb-sloane-podcast-subscribe .pp-sub-t,
#bb-sloane-podcast-subscribe .pp-sub-l,
#bb-sloane-podcast-subscribe .pp-sub-m {
  display: none;
}

#bb-sloane-podcast-subscribe .pp-sub-widget .pp-sub-bx {
  -moz-column-count: 1;
  column-count: 1;
  margin: 0 5px;
  padding-top: 10px;
}

#bb-sloane-podcast-subscribe-row .et_pb_button_module_wrapper {
  transform: rotate(270deg) translatex(-50%);
  transform-origin: top left;
  top: 50%;
  z-index: 5;
}

#bb-sloane-podcast-subscribe-row {
  transition: transform 0.5s ease;
}

#bb-sloane-podcast-subscribe-row.close {
  transform: translateX(-125%);
}

#bb-sloane-podcast-subscribe .pp-sub-widget.pp-sub-widget-include,
#bb-sloane-podcast-subscribe .pp-sub-widget .pp-sub-widget-head {
  margin-bottom: 0;
}

#bb-sloane-podcast-subscribe .pp-sub-widget-modern a.pp-sub-btn-sq {
  margin: 0 0 10px;
  border: 1px solid var(--bb-sloane-grey);
  border-radius: 0;
  position: relative;
}

#bb-sloane-podcast-subscribe .pp-sub-btn-sq::after,
#bb-sloane-podcast-subscribe .pp-sub-btn::after {
  content: "\45";
  font-family: ETModules;
  font-size: 20px;
  margin-top: 0;
  right: 10px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

#et-boc #bb-sloane-podcast-subscribe {
  left: -125%;
  transition: left 0.5s ease;
}

#et-boc #bb-sloane-podcast-subscribe.open {
  left: 0;
}

.bb-sloane-subscribe-button::after {
  transition: left 0.5s ease;
}

.bb-sloane-subscribe-button.open::after {
  transform-origin: center;
  transform: scaleY(-1);
}

/* Header audio bar */

/* Flex the bar */

.bb-sloane-audio-bar-title .et_pb_post {
  margin-bottom: 0;
  padding-bottom: 0;
}

.bb-sloane-audio-bar-title .entry-title {
  padding: 5px 0;
}

.bb-sloane-audio-bar .mejs-container,
.bb-sloane-audio-bar .mejs-controls,
.bb-sloane-podcast-post-player .powerpress_player .mejs-container,
.bb-sloane-podcast-post-player .powerpress_player .mejs-controls {
  background: transparent;
}

.bb-sloane-audio-bar .mejs-controls button,
.bb-sloane-posts .mejs-controls button,
.bb-sloane-podcast-post-player .powerpress_player .mejs-controls button {
  -webkit-filter: grayscale(1) invert(1) opacity(80%);
  filter: grayscale(1) invert(1) opacity(80%);
}

.bb-sloane-audio-bar
  .mejs-controls
  .mejs-horizontal-volume-slider
  .mejs-horizontal-volume-total,
.bb-sloane-audio-bar .mejs-controls .mejs-time-rail .mejs-time-total,
.bb-sloane-posts
  .mejs-controls
  .mejs-horizontal-volume-slider
  .mejs-horizontal-volume-total,
.bb-sloane-posts .mejs-controls .mejs-time-rail .mejs-time-total,
.bb-sloane-podcast-post-player
  .powerpress_player
  .mejs-controls
  .mejs-horizontal-volume-slider
  .mejs-horizontal-volume-total,
.bb-sloane-podcast-post-player
  .powerpress_player
  .mejs-controls
  .mejs-time-rail
  .mejs-time-total {
  background: var(--bb-sloane-light);
  outline: 1px solid var(--bb-sloane-dark);
}

.bb-sloane-audio-bar
  .mejs-controls
  .mejs-horizontal-volume-slider
  .mejs-horizontal-volume-current,
.bb-sloane-posts
  .mejs-controls
  .mejs-horizontal-volume-slider
  .mejs-horizontal-volume-current,
.bb-sloane-podcast-post-player
  .powerpress_player
  .mejs-controls
  .mejs-horizontal-volume-slider
  .mejs-horizontal-volume-current,
.bb-sloane-audio-bar .mejs-controls .mejs-time-rail .mejs-time-current,
.bb-sloane-posts .mejs-controls .mejs-time-rail .mejs-time-current,
.bb-sloane-podcast-post-player
  .powerpress_player
  .mejs-controls
  .mejs-time-rail
  .mejs-time-current {
  background: var(--bb-sloane-dark);
}

.bb-sloane-audio-bar .mejs-controls .mejs-time-rail .mejs-time-loaded,
.bb-sloane-posts .mejs-controls .mejs-time-rail .mejs-time-loaded,
.bb-sloane-podcast-post-player
  .powerpress_player
  .mejs-controls
  .mejs-time-rail
  .mejs-time-loaded {
  background: var(--bb-sloane-grey);
}

.bb-sloane-audio-bar
  .et_audio_container
  .mejs-controls
  .mejs-time-rail
  .mejs-time-total,
.bb-sloane-audio-bar
  .et_audio_container
  .mejs-controls
  .mejs-horizontal-volume-slider
  .mejs-horizontal-volume-total,
.bb-sloane-audio-bar .mejs-controls .mejs-time-rail .mejs-time-current,
.bb-sloane-audio-bar
  .mejs-controls
  .mejs-horizontal-volume-slider
  .mejs-horizontal-volume-current {
  border-radius: 0;
  height: 10px;
}

.bb-sloane-audio-bar
  .et_audio_container
  .mejs-controls
  .mejs-time-handle-content,
.bb-sloane-audio-bar
  .et_audio_container
  .mejs-controls
  .mejs-horizontal-volume-slider
  .mejs-horizontal-volume-handle {
  top: 0;
  border-radius: 0;
  left: 0;
  width: 0;
}

.bb-sloane-audio-bar .et_audio_container .mejs-volume-button button::before {
  font-size: 16px;
}

.bb-sloane-audio-bar .et_audio_container .mejs-controls {
  align-items: center;
}

.bb-sloane-audio-bar
  .et_audio_container
  .mejs-container
  .mejs-controls
  .mejs-time
  span {
  font-size: 14px;
  color: var(--bb-sloane-dark);
}

.et_audio_container .mejs-button.mejs-volume-button {
  bottom: -5px;
}

/*Footer Optin*/

/*Flex the optin fields*/

.bb-sloane-optin .et_pb_newsletter_form .et_pb_newsletter_field {
  flex: 1 1 auto !important;
  margin-bottom: 0;
}

/*Field wrapping*/

.bb-sloane-optin .et_pb_newsletter_fields {
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1vw;
}

/*Button*/

.bb-sloane-optin .et_pb_newsletter_fields .et_pb_newsletter_button_wrap {
  flex: 1 1 auto !important;
}

/*Remove the email padding*/

.bb-sloane-optin .et_pb_newsletter_form p.et_pb_newsletter_field {
  padding-bottom: 0;
}

/**************/
/*Page styling*/
/**************/

/* Post Layouts */

/* Global */

.bb-sloane-posts .et_pb_post .mejs-controls {
  padding: 0 5px 0 0;
  background: var(--bb-sloane-highlight);
}

.bb-sloane-posts .et_pb_post {
  padding: 20px;
}

.bb-sloane-posts .pagination .alignleft a::before,
.bb-sloane-posts .pagination .alignright a::after {
  font-family: ETModules;
  color: var(--bb-sloane-dark);
  position: absolute;
  font-size: 30px;
}

.bb-sloane-posts .pagination .alignleft a::before {
  content: "\44";
  margin-left: -12px;
}

.bb-sloane-posts .pagination .alignright a::after {
  content: "\45";
  margin-left: -22px;
}

/* Post title icons */

.bb-sloane-posts .et_pb_post.category-podcast-episodes .entry-title::before,
.bb-sloane-posts .et_pb_post.category-articles .entry-title::before {
  font-family: "ETModules";
  font-size: clamp(1.4rem, 2vw, 2vw);
  margin-right: 5px;
  color: var(--bb-sloane-highlight);
}

/* Podcast icon */
.bb-sloane-posts .et_pb_post.category-podcast-episodes .entry-title::before {
  content: "\e01b";
}

/* Post icon */
.bb-sloane-posts .et_pb_post.category-articles .entry-title::before {
  content: "\68";
}

/* Inline blog layout */

@media all and (min-width: 981px) {
  .bb-sloane-posts-inline .et_pb_post {
    display: flex;
    flex-wrap: wrap;
    border-bottom-left-radius: 20px;
  }
}

.bb-sloane-posts-inline .et_pb_post {
  background: var(--bb-sloane-light);
}

.bb-sloane-posts-inline .entry-featured-image-url {
  display: flex;
  flex-wrap: wrap;
  flex: 1;
  margin-bottom: 0;
}

.bb-sloane-posts-inline .entry-featured-image-url img {
  -o-object-fit: cover;
  object-fit: cover;
}

.bb-sloane-posts-inline .bb-sloane-post-content-wrapper {
  display: flex;
  flex: 2;
  flex-direction: column;
  justify-content: center;
  padding: 30px;
}

.bb-sloane-posts-inline .post-content-inner {
  padding-bottom: 30px;
}

/* Grid & Tiles Layouts */

/* Set the grid sizing */
.bb-sloane-posts-grid .et_pb_ajax_pagination_container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
  grid-gap: 50px;
}

@media all and (min-width: 1200px) {
  .bb-sloane-posts-grid .et_pb_ajax_pagination_container {
    grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
  }
}

/* Flex the posts */
.bb-sloane-posts-grid .et_pb_post {
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
  background: var(--bb-sloane-light);
}

.bb-sloane-posts-grid .et_pb_post .entry-featured-image-url {
  margin: -20px -20px 30px;
}

.bb-sloane-posts-grid .et_pb_post .post-content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.bb-sloane-posts-grid .et_pb_post .post-content-inner {
  padding-bottom: 30px;
}

.bb-sloane-posts-grid .et_pb_post a.more-link {
  margin-top: auto;
  align-self: flex-start;
}

/* Make pagination fullwidth */
.bb-sloane-posts-grid .et_pb_ajax_pagination_container div {
  grid-column: 1 / -1;
}

.bb-sloane-posts-tiles .et_pb_post {
  position: relative;
  padding: 0;
}

.bb-sloane-posts-tiles .et_pb_post .et_pb_image_container {
  margin: 0;
}

.bb-sloane-posts-tiles .bb-sloane-post-content-wrapper {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px;
  display: flex;
  flex-direction: column;
  z-index: 2;
}

.bb-sloane-posts-tiles .bb-sloane-post-content-wrapper:before {
  content: "";
  background: linear-gradient(
    0deg,
    rgba(0, 0, 0, 1) 0%,
    rgba(0, 0, 0, 1) 30%,
    rgba(0, 0, 0, 0) 80%
  );
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}

.bb-sloane-posts-tiles .entry-title {
  margin-top: auto;
}

/* Single Podcast Layout */

.bb-sloane-posts-inline .et_pb_post {
  padding: 0;
}

.bb-sloane-posts .powerpress_links.powerpress_links_mp3,
.bb-sloane-posts .powerpress_links.powerpress_subscribe_links {
  display: none;
}

.bb-sloane-podcast-post-player.light
  .powerpress_player
  .mejs-controls
  .mejs-horizontal-volume-slider
  .mejs-horizontal-volume-total,
.bb-sloane-podcast-post-player.light
  .powerpress_player
  .mejs-controls
  .mejs-time-rail
  .mejs-time-total {
  background: var(--bb-sloane-light);
  outline: 1px solid var(--bb-sloane-grey);
}

.bb-sloane-podcast-post-player.light
  .powerpress_player
  .mejs-controls
  .mejs-horizontal-volume-slider
  .mejs-horizontal-volume-current,
.bb-sloane-podcast-post-player.light
  .powerpress_player
  .mejs-controls
  .mejs-time-rail
  .mejs-time-current {
  background: var(--bb-sloane-highlight);
}

.bb-sloane-podcast-post-player.light
  .powerpress_player
  .mejs-controls
  .mejs-time-rail
  .mejs-time-loaded {
  background: var(--bb-sloane-grey);
}

.bb-sloane-podcast-post-player.light .powerpress_player .mejs-controls button {
  -webkit-filter: none;
  filter: none;
}

.bb-sloane-podcast-post-player.just-meta .powerpress_player,
.bb-sloane-podcast-post-player.just-player
  .powerpress_links.powerpress_links_mp3,
.bb-sloane-podcast-post-player.just-player
  .powerpress_links.powerpress_subscribe_links,
.bb-sloane-post-content .powerpress_player,
.bb-sloane-post-content .powerpress_links,
.bb-sloane-post-nav .meta-nav {
  display: none;
}

.bb-sloane-podcast-post-player.just-player {
  transform: scale(1.2);
}

.bb-sloane-podcast-post-player.just-meta p {
  padding-bottom: 0;
}

.bb-sloane-podcast-post-player.just-meta a {
  background: var(--bb-sloane-highlight);
  padding: 2px 5px 0;
}

.bb-sloane-post-taxonomy a {
  background: var(--bb-sloane-highlight);
  transition: background 0.3s ease !important;
  padding: 0.3em 0.5em 0.2em;
}

.bb-sloane-post-taxonomy a:hover {
  background: var(--bb-sloane-dark);
}

.bb-sloane-post-content a,
.bb-sloane-comments a {
  background: var(--bb-sloane-highlight);
  padding: 0 4px;
}

.bb-sloane-post-content .powerpress-skip-a {
  padding-left: 15px;
}

.bb-sloane-post-content .powerpress-skip-a::before {
  content: "\45" !important;
  font-family: ETModules;
  position: absolute;
  margin-left: -15px;
}

.bb-sloane-post-nav .nav-previous .nav-label::before,
.bb-sloane-post-nav .nav-next .nav-label::after {
  font-family: ETModules;
  position: relative;
  display: inline-flex;
  transform: translateY(2px);
}

.bb-sloane-post-nav .nav-next .nav-label::after {
  content: "\45";
  padding-left: 10px;
}
.bb-sloane-post-nav .nav-previous .nav-label::before {
  content: "\44";
  padding-right: 10px;
}

/*Comment form*/

.bb-sloane-comments #commentform input {
  width: 100%;
}

.bb-sloane-comments #commentform input#wp-comment-cookies-consent {
  width: auto;
}

.bb-sloane-comments a {
  color: var(--bb-sloane-dark);
  font-weight: 700;
}

/* Subscribe section */

.bb-sloane-podcast-subscribe .pp-sub-widget {
  font-family: inherit;
  background-color: transparent;
  box-shadow: none;
  max-width: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.bb-sloane-podcast-subscribe .pp-sub-widget .pp-sub-bx {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  margin: 0;
}

@media all and (max-width: 980px) {
  .bb-sloane-podcast-subscribe .pp-sub-widget .pp-sub-bx,
  .bb-sloane-podcast-subscribe .pp-sub-widget {
    flex-direction: column;
  }
}

.bb-sloane-podcast-subscribe .pp-sub-widget img.pp-sub-l {
  box-shadow: none;
  margin: 0;
  display: flex;
  flex-direction: column;
  flex-basis: 100%;
  flex: 1;
  max-width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100% !important;
}

.bb-sloane-podcast-subscribe .pp-sub-widget .pp-sub-btns {
  display: flex;
  flex-direction: row;
  flex: 1;
  gap: 30px;
  flex-wrap: wrap;
}

.bb-sloane-podcast-subscribe .pp-sub-widget div.pp-sub-h,
.bb-sloane-podcast-subscribe .pp-sub-widget div.pp-sub-t {
  text-transform: uppercase;
  font-weight: normal;
  margin: 0 0 10px;
  color: var(--bb-sloane-dark) !important;
  font-family: var(--bb-sloane-heading-font);
  display: none;
}

.bb-sloane-podcast-subscribe .pp-sub-widget p.pp-sub-m-p,
.bb-sloane-podcast-subscribe .pp-sub-widget .pp-sub-m-i,
.bb-sloane-podcast-subscribe .pp-sub-widget a.pp-sub-btn-sq {
  font-family: var(--bb-sloane-body-font);
  color: var(--bb-sloane-dark) !important;
  border: 1px solid var(--bb-sloane-grey);
  margin: 0 0 10px;
  border-radius: 0;
  font-size: 16px;
  padding: 10px;
  position: relative;
}

.bb-sloane-podcast-subscribe .pp-sub-widget .pp-sub-widget-head {
  margin-bottom: 0;
  display: flex;
  flex: 1;
}

.bb-sloane-podcast-subscribe .pp-sub-widget .pp-sub-ic {
  margin-right: 0;
}

.bb-sloane-podcast-subscribe .pp-sub-widget a.pp-sub-btn-sq {
  color: var(--bb-sloane-light) !important;
  background: var(--bb-sloane-dark);
  border: none;
  margin: 0;
  flex: 1 1 45%;
  display: flex;
  height: auto;
  justify-content: space-around;
  align-items: center;
  flex-direction: column;
}

.bb-sloane-podcast-subscribe .pp-sub-widget a.pp-sub-btn-sq::after {
  content: "\45";
  font-family: ETModules;
  width: 40px;
  color: var(--bb-sloane-highlight);
  font-size: 40px;
  margin-top: 5px;
}

.bb-sloane-podcast-subscribe .pp-sub-widget a.pp-sub-btn-sq:hover {
  background: var(--bb-sloane-light);
  color: var(--bb-sloane-dark) !important;
}

.bb-sloane-podcast-subscribe .pp-sub-widget .pp-sub-m {
  margin: 10px 0;
}

.bb-sloane-podcast-subscribe .pp-sub-widget .pp-sub-m-i {
  width: 100%;
  padding: 15px 10px;
  background: var(--bb-sloane-light);
  border: none;
}

/* Sales Page */

/* Pricing table */

@media all and (min-width: 981px) {
  .bb-sloane-pricing-table .et_pb_pricing_table_wrap {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    grid-gap: 20px;
  }
}

@media all and (max-width: 980px) {
  .bb-sloane-pricing-table .et_pb_pricing_table_wrap {
    display: flex;
    flex-direction: column;
  }
  .bb-sloane-pricing-table .et_pb_pricing_table {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 50px !important;
  }

  .bb-sloane-pricing-table .et_pb_pricing_table:last-child {
    margin-bottom: 0 !important;
  }
}

/*Sound Bars (Home and podcast page)*/

/*Position the row (Homepage)*/

.bb-sloane-soundbar-row {
  position: absolute;
  bottom: 0;
  z-index: 0;
}

/*Position the module (Podcast page)*/

.ds-soundbar-header {
  position: absolute !important;
  bottom: 0;
  width: 100%;
}

/*Hide the overflow*/

.bb-sloane-soundbar {
  white-space: nowrap;
  overflow: hidden;
  transition: opacity 0.5s ease;
}

/*Style the soundbar*/

.bb-bar-tall,
.bb-bar-short {
  width: 0.5vw;
  background: var(--bb-sloane-light);
  opacity: 0.5;
  display: inline-block;
  z-index: 1;
  margin: 0;
  transition: all 0.2s linear;
  position: relative;
}

.bb-bar-tall::after {
  content: "";
  position: absolute;
  background: var(--bb-sloane-dark);
  width: 0.5vw;
  height: 2px;
  top: -5px;
}

/*Set tall height & colour*/

.bb-bar-tall {
  height: 200px;
  background: var(--bb-sloane-highlight);
}

/*Set short height & colour*/

.bb-bar-short {
  height: 80px;
  background: var(--bb-sloane-light);
}

/*Set colour for light backgrounds*/

.bb-bar-dark {
  background: var(--bb-sloane-dark) !important;
}

/* =========================================
   Quick utilities (opt-in; won’t change anything
   unless you add these classes in Divi)
   ========================================= */

/* Background helpers (fixed to TravelBoss tokens) */
.bg-offwhite { background: var(--tb-offwhite) !important; color: var(--tb-charcoal) !important; }
.bg-charcoal { background: var(--tb-charcoal) !important; color: #fff !important; }
.bg-gray     { background: var(--tb-gray) !important; color: #fff !important; }
.bg-hibiscus { background: var(--tb-hibiscus) !important; color: #fff !important; }
.bg-teal     { background: var(--tb-teal) !important; color: #fff !important; }
.bg-gold     { background: var(--tb-gold) !important; color: #000 !important; }
.bg-orange   { background: var(--tb-orange) !important; color: #fff !important; }
.bg-twilight { background: var(--tb-twilight) !important; color: #fff !important; }

/* Text color helpers */
.text-charcoal { color: var(--tb-charcoal) !important; }
.text-gray     { color: var(--tb-gray) !important; }
.text-offwhite { color: var(--tb-offwhite) !important; }
.text-hibiscus { color: var(--tb-hibiscus) !important; }
.text-teal     { color: var(--tb-teal) !important; }
.text-gold     { color: var(--tb-gold) !important; }
.text-orange   { color: var(--tb-orange) !important; }
.text-twilight { color: var(--tb-twilight) !important; }

/* Buttons (opt-in) – TravelBoss tokens */
.btn-primary   { background: linear-gradient(90deg, var(--tb-hibiscus), var(--tb-orange)) !important; color:#fff !important; border:none !important; }
.btn-secondary { background: var(--tb-teal) !important; color:#fff !important; border:none !important; }
.btn-outline   { background: transparent !important; color: var(--tb-twilight) !important; border:2px solid var(--tb-twilight) !important; }
.btn-outline:hover { background: var(--tb-twilight) !important; color:#fff !important; }

/* TravelBoss Badge/Chip Helpers */
.badge-hibiscus { background: var(--tb-hibiscus) !important; color:#fff !important; }
.badge-gold     { background: var(--tb-gold) !important;     color:#000 !important; }
.badge-orange   { background: var(--tb-orange) !important;   color:#fff !important; }
.badge-teal     { background: var(--tb-teal) !important;     color:#fff !important; }

/* =========================================
   TRAVELBOSS — GLOBAL ACCENTS & COMPONENTS
   (Append below the last line of your file)
   ========================================= */

/* Links inside posts/comments */
.bb-sloane-post-content a,
.bb-sloane-comments a {
  background: transparent;
  color: var(--tb-hibiscus);
  border-bottom: 2px solid currentColor;
}
.bb-sloane-post-content a:hover,
.bb-sloane-comments a:hover {
  color: var(--tb-orange);
  border-color: var(--tb-orange);
}

/* Category/tag chips */
.bb-sloane-post-taxonomy a {
  background: var(--tb-teal);
  color: #fff;
}
.bb-sloane-post-taxonomy a:hover {
  background: var(--tb-hibiscus);
  color: #fff;
}

/* Header background & menu (dark bar) */
#main-header, #top-header, #bb-sloane-header-menu { 
  background: var(--tb-charcoal);
}
#bb-sloane-header-menu .et-menu-nav > ul > li > a,
#bb-sloane-header-menu .et_mobile_menu li a {
  color: var(--tb-offwhite) !important;
  letter-spacing: 0.02em;
}
/* Warm gradient underline on hover */
#bb-sloane-header-menu .et-menu-nav > ul > li > a:hover,
#bb-sloane-header-menu .et-menu-nav > ul > li.et-hover > a,
#bb-sloane-header-menu .et_mobile_menu li a:hover {
  color: #fff !important;
  text-decoration: none;
  background-image: linear-gradient(90deg, var(--tb-hibiscus), var(--tb-orange));
  background-size: 100% 2px;
  background-repeat: no-repeat;
  background-position: 0 100%;
}
/* Submenu styling */
#bb-sloane-header-menu.et_pb_menu ul.sub-menu {
  background: var(--tb-charcoal);
  border: 1px solid rgba(255,255,255,.06);
}
#bb-sloane-header-menu.et_pb_menu ul.sub-menu li.menu-item a {
  color: var(--tb-offwhite) !important;
}
#bb-sloane-header-menu.et_pb_menu ul.sub-menu li.menu-item a:hover {
  background: var(--tb-hibiscus);
  color: var(--tb-charcoal) !important;
}

/* Buttons — add these classes in Divi module “CSS Class” */
.tbn-btn-primary {
  background-image: linear-gradient(90deg, var(--tb-hibiscus), var(--tb-orange));
  color: #fff !important; border: 0 !important;
  box-shadow: 0 8px 24px rgba(242,108,26,.25);
}
.tbn-btn-primary:hover { filter: brightness(1.05); transform: translateY(-1px); }

.tbn-btn-secondary {
  background: var(--tb-teal); color:#fff !important; border:0 !important;
}
.tbn-btn-secondary:hover { background: var(--tb-crest); }

.tbn-btn-outline {
  background: transparent; color: var(--tb-twilight) !important;
  border: 2px solid var(--tb-twilight) !important;
}
.tbn-btn-outline:hover { background: var(--tb-twilight); color:#fff !important; }

/* Quick utilities for sections/rows/modules */
.bg-charcoal{background:var(--tb-charcoal)!important;color:#fff!important;}
.bg-offwhite{background:var(--tb-offwhite)!important;color:var(--tb-charcoal)!important;}
.bg-sand{background:var(--tb-sand)!important;color:var(--tb-charcoal)!important;}
.bg-teal{background:var(--tb-teal)!important;color:#fff!important;}
.bg-hibiscus{background:var(--tb-hibiscus)!important;color:#fff!important;}
.bg-orange{background:var(--tb-orange)!important;color:#fff!important;}
.bg-gold{background:var(--tb-gold)!important;color:#000!important;}

.text-teal{color:var(--tb-teal)!important;}
.text-hibiscus{color:var(--tb-hibiscus)!important;}
.text-orange{color:var(--tb-orange)!important;}
.text-gold{color:var(--tb-gold)!important;}
.text-twilight{color:var(--tb-twilight)!important;}

/* Media players: warm progress, crisp outlines */
.bb-sloane-audio-bar .mejs-controls .mejs-time-rail .mejs-time-current {
  background: var(--tb-orange);
}
.bb-sloane-audio-bar .mejs-controls .mejs-time-rail .mejs-time-total {
  outline-color: var(--tb-charcoal);
}

/* TravelBoss — Divi button override (beats inline & dynamic) */
#page-container .et_pb_button,
#page-container .et_pb_promo_button,
#page-container .et_pb_button_module_wrapper .et_pb_button {
  background-image: linear-gradient(90deg, var(--tb-hibiscus), var(--tb-orange)) !important;
  color:#fff !important;
  border:0 !important;
  border-radius: 3px; /* keep Divi look */
  font-family: "Bebas Neue", display;
}

#page-container .et_pb_button:hover,
#page-container .et_pb_promo_button:hover,
#page-container .et_pb_button_module_wrapper .et_pb_button:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
}

#page-container .et_pb_bg_layout_light .et_pb_button,
#page-container .et_pb_bg_layout_light .et_pb_promo_button {
  color:#fff !important; /* ensure contrast on “light” layouts */
}

/* TravelBoss override for leftover Sloane heading color */
.bb-sloane-highlight,
.bb-sloane-text-highlight,
.bb-sloane-text-highlight h1,
.bb-sloane-text-highlight h2,
.bb-sloane-text-highlight h3,
.bb-sloane-text-highlight h4,
.bb-sloane-text-highlight h5,
.bb-sloane-text-highlight h6 {
  color: var(--tb-hibiscus) !important; /* Pink Hibiscus #C11C84 */
}

/* =========================================
   TravelBoss Callout Block
   ========================================= */
/* === Callout variants (replaces both existing .tbn-callout blocks) === */
.tbn-callout--note {
  background: var(--tb-offwhite);
  color: var(--tb-charcoal);
  padding: 1.25em 1.5em;
  border-left: 6px solid var(--tb-hibiscus);
  border-radius: 8px;
  font-size: 1.05em;
  line-height: 1.6;
  margin: 1.5em 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.tbn-callout--pill {
  background: var(--tb-sand);
  padding: 1.5em;
  border-radius: 12px;
  font-size: 1.25em;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  /* gradient text */
  background-image: linear-gradient(90deg, var(--tb-hibiscus), var(--tb-orange));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

/* ===== TravelBoss Typography ===== */

/* Serif headline (e.g., "Your License to") */
.tb-serif-heading {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 600;
  font-size: 2.5rem;
  line-height: 1.2;
  color: var(--tb-charcoal);
}

/* Script headline accent (e.g., "Brown Girl Magic") */
.tb-script-accent {
  font-family: 'Great Vibes', cursive;
  font-weight: 400;
  font-size: 2.7rem;
  line-height: 1.2;
  color: var(--tb-hibiscus);
  margin-left: 0.3rem;
}

/* Section intro body */
.tb-intro-body {
  font-family: 'Lato', sans-serif;
  font-size: 1.125rem;
  line-height: 1.7;
  color: var(--tb-offwhite);
  max-width: 800px;
  margin: 1rem auto;
  text-align: center;
}

/* Combo headline style */
.tbn-hero-combo {
  margin: 0.5em 0;
  line-height: 1.2;
  font-size: clamp(20px, 2vw, 32px);
  text-align: left; /* adjust if you want centered */
}

.tbn-hero-serif {
  font-family: 'Playfair Display', serif;
  font-weight: 600;
  color: var(--tb-charcoal);
}

.tbn-hero-script {
  font-family: 'Great Vibes', cursive;
  font-weight: 400;
  font-size: 1.3em;
  background-image: linear-gradient(90deg, var(--tb-hibiscus), var(--tb-orange));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  margin: 0 0.25em;
}

/* === TRAVELBOSS HERO TYPOGRAPHY === */

/* Main hero line */
.tbn-hero-line {
  font-family: 'VisbyRoundCF', sans-serif;
  font-weight: 600;
  line-height: 1.2;
  margin: .35em 0;
  color: var(--tb-charcoal);
  font-size: clamp(28px, 4vw, 56px);
}

/* Script accent (e.g., "Network") */
.tbn-hero-line .tbn-script {
  font-family: 'ProcreateSignature', 'Washington', cursive;
  font-size: 1.15em;
  font-weight: 400;
  background-image: linear-gradient(90deg, var(--tb-hibiscus), var(--tb-orange));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  padding: 0 .06em;
  letter-spacing: .2px;
  display: inline-block;
}

/* Sans continuation (e.g., "Proven Growth & Community") */
.tbn-hero-line .tbn-sans {
  font-family: 'VisbyRoundCF', sans-serif;
  font-weight: 700;
  font-size: 1em;
  color: var(--tb-charcoal);
}

/* Serif headline (optional second line: "Your License to") */
.hero-heading {
  font-family: 'Suranna', serif;
  font-size: clamp(32px, 5vw, 64px);
  line-height: 1.2;
  color: var(--tb-charcoal);
}

/* Script hero flourish (optional standalone use) */
.hero-script {
  font-family: 'ProcreateSignature', cursive;
  font-size: clamp(36px, 5vw, 72px);
  background: linear-gradient(90deg, var(--tb-hibiscus), var(--tb-orange));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Subtext / tagline */
.hero-subtext {
  font-family: 'VisbyRoundCF', sans-serif;
  font-size: clamp(16px, 1.6vw, 22px);
  font-weight: 400;
  line-height: 1.5;
  color: var(--tb-charcoal);
}

/* Utility font helpers */
.tb-serif { font-family:'Suranna', serif !important; font-weight:400; }
.tb-sans  { font-family:'VisbyRoundCF', sans-serif !important; font-weight:400; }
.tb-script {
  font-family:'ProcreateSignature', cursive !important;
  background-image: linear-gradient(90deg, var(--tb-hibiscus), var(--tb-orange));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  display:inline-block;
  padding:0 .06em;
}

.hero-heading { font-family:'Suranna', serif; }
.hero-script  { font-family:'ProcreateSignature', cursive; }
.hero-subtext { font-family:'VisbyRoundCF', sans-serif; }

/* ========== TRAVELBOSS: Replace all Bebas Neue with VisbyRoundCF ========== */

/* 1) Swap the theme variable (if/where it’s used) */
:root{
  --bb-sloane-heading-font: 'VisbyRoundCF', sans-serif !important;
}

/* 2) Headings & common headline selectors that Sloane/Divi style with Bebas */
h1, h2, h3, h4, h5, h6,
.bb-sloane-text h1, .bb-sloane-text h2, .bb-sloane-text h3, .bb-sloane-text h4, .bb-sloane-text h5, .bb-sloane-text h6,
.bb-sloane-large-headings h1, .bb-sloane-large-headings h2,
.entry-title,
.et_pb_post .entry-title,
.et_pb_slider .et_pb_slide_title,
.et_pb_fullwidth_header .et_pb_header_title,
.et_pb_countdown_timer .title,
#bb-sloane-header-menu .et-menu-nav > ul > li > a,
#bb-sloane-header-menu .et_mobile_menu li a {
  font-family: 'VisbyRoundCF', sans-serif !important;
  font-weight: 700;               /* keep punchy headline feel */
  letter-spacing: .02em;          /* subtle tracking to replace Bebas’ wide look */
  text-transform: none;           /* remove forced ALL CAPS from Bebas styles */
}

/* 3) Divi buttons (your file still had Bebas here) */
#page-container .et_pb_button,
#page-container .et_pb_promo_button,
#page-container .et_pb_button_module_wrapper .et_pb_button {
  font-family: 'VisbyRoundCF', sans-serif !important;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: none;
}

/* 4) Any stray uses where Bebas may linger in modules/utilities */
.bb-sloane-highlight,
.bb-sloane-text-highlight,
.bb-sloane-text-highlight h1,
.bb-sloane-text-highlight h2,
.bb-sloane-text-highlight h3,
.bb-sloane-text-highlight h4,
.bb-sloane-text-highlight h5,
.bb-sloane-text-highlight h6 {
  font-family: 'VisbyRoundCF', sans-serif !important;
  font-weight: 700;
}

/* 5) Optional: tighten menu/heading spacing after the font swap */
#bb-sloane-header-menu .et-menu-nav > ul > li > a { line-height: 1.2; }
h1, h2 { line-height: 1.15; }

/***** TRAVELBOSS — TYPO POLISH PACK *****/

/* Better rendering */
html, body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Global body copy: regular, normal tracking */
body,
.et_pb_text,
.bb-sloane-post-content,
.bb-sloane-text,
p, li {
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.6;
}

/* Stop random bold bleed from modules */
.et_pb_text strong, .et_pb_text b { font-weight: 600; }  /* not 700 */
em, i { font-style: italic; }

/* Headings: gentler tracking, tighter leading */
h1, h2, h3, h4, h5, h6,
.bb-sloane-text h1, .bb-sloane-text h2, .bb-sloane-text h3,
.bb-sloane-text h4, .bb-sloane-text h5, .bb-sloane-text h6 {
  font-family: 'VisbyRoundCF', sans-serif;
  letter-spacing: -0.01em;
  line-height: 1.15;
  font-weight: 700; /* will still look soft with Visby */
}

/* HERO — headline stack */
.tbn-hero-line {
  font-family: 'VisbyRoundCF', sans-serif;
  font-weight: 600;
  letter-spacing: -0.005em;
  line-height: 1.1;
  margin: 0.25em 0 0.35em;
  color: var(--tb-charcoal);
  font-size: clamp(28px, 4vw, 56px);
  max-width: 18ch;        /* prevents super-long lines */
}

.hero-heading {           /* "Your Passport to" line */
  font-family: 'Suranna', serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.15;
  font-size: clamp(28px, 3.3vw, 44px);
  margin: 0 0 .2em 0;
  color: var(--tb-charcoal);
}

.tbn-hero-line .tbn-script {   /* TravelBoss / Network script */
  font-family: 'ProcreateSignature', 'Washington', cursive;
  font-weight: 400;
  font-size: 1.08em;           /* smaller so it hugs the line */
  letter-spacing: 0;
  background-image: linear-gradient(90deg, var(--tb-hibiscus), var(--tb-orange));
  -webkit-background-clip: text; background-clip: text;
  color: transparent; -webkit-text-fill-color: transparent;
  padding: 0 .04em;
  position: relative; top: .02em;  /* subtle baseline align */
}

.tbn-hero-line .tbn-sans {      /* “for Proven Growth & Community” */
  font-family: 'VisbyRoundCF', sans-serif;
  font-weight: 600;
  font-size: .92em;
  letter-spacing: 0;
  color: var(--tb-charcoal);
}

/* Hero paragraph under the stack */
.hero-subtext,
#page-container .et_pb_promo_description p {
  font-family: 'VisbyRoundCF', sans-serif;
  font-weight: 400;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.55;
  letter-spacing: 0;
  color: var(--tb-charcoal);
}

/* Header menu: remove heavy tracking/uppercase feel */
#bb-sloane-header-menu .et-menu-nav > ul > li > a {
  font-weight: 500;
  letter-spacing: 0.01em;
  text-transform: none;
}

/* Buttons: reduce shoutiness */
#page-container .et_pb_button,
#page-container .et_pb_promo_button {
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: none;
}

/* Lists inside hero/intro: keep light */
.tbn-hero-line ul li,
.hero-subtext ul li { font-weight: 400; }

/* Utilities you can add in Divi module “CSS Class” field */
.fw-400 { font-weight: 400 !important; }
.fw-500 { font-weight: 500 !important; }
.fw-600 { font-weight: 600 !important; }
.fw-700 { font-weight: 700 !important; }
.track-0   { letter-spacing: 0 !important; }
.track-neg { letter-spacing: -0.01em !important; }
.tight     { line-height: 1.1 !important; }
.loose     { line-height: 1.5 !important; }

/* Responsive refinements */
@media (max-width: 980px) {
  .tbn-hero-line       { font-size: clamp(26px, 6vw, 40px); max-width: 22ch; }
  .hero-heading        { font-size: clamp(24px, 5.5vw, 36px); }
  .tbn-hero-line .tbn-sans { font-size: .98em; }
  .hero-subtext        { font-size: 16px; }
}

/* Optional: tone down all-caps blog/category badges if any */
.badge-hibiscus, .badge-gold, .badge-orange, .badge-teal {
  font-weight: 600;
  letter-spacing: .01em;
  text-transform: none;
}

/* === TRAVELBOSS TYPO POLISH — FINAL OVERRIDES === */

/* 0) Use Visby for headings everywhere Bebas was used */
:root { --bb-sloane-heading-font:'VisbyRoundCF',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif !important; }

h1,h2,h3,h4,h5,h6,
.bb-sloane-text h1,.bb-sloane-text h2,.bb-sloane-text h3,.bb-sloane-text h4,.bb-sloane-text h5,.bb-sloane-text h6,
.bb-sloane-large-headings h1,.bb-sloane-large-headings h2,
.entry-title,
.et_pb_slide_title,
.et_pb_fullwidth_header .et_pb_header_title {
  font-family: var(--bb-sloane-heading-font) !important;
  font-weight: 700;
  letter-spacing: -0.01em;      /* kill Bebas-wide feel */
  text-transform: none;         /* no forced ALL CAPS */
  line-height: 1.12;            /* tighter, softer */
}

/* 1) Hero H1 (big line) – soften weight & width */
.et_pb_text .et_pb_text_inner > h1 {
  font-weight: 600;
  letter-spacing: -0.005em;
  line-height: 1.08;
  margin: 0.15em 0 0.35em;
  max-width: 18ch;              /* avoids super long lines */
}

/* 2) “Your Passport to …” line */
h2.tbn-hero-line,
.hero-heading {
  font-family: 'Suranna', serif !important;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.15;
  font-size: clamp(28px,3.3vw,44px);
  margin: 0 0 .25em;
}

/* 3) Script accent and sans continuation */
.tbn-hero-line .tbn-script{
  font-family:'ProcreateSignature','Washington',cursive !important;
  font-weight: 400;
  font-size: 1.08em;            /* a touch smaller so it hugs */
  letter-spacing: 0;
  background-image: linear-gradient(90deg,var(--tb-hibiscus),var(--tb-orange));
  -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
  padding:0 .04em; position:relative; top:.02em; /* baseline align */
}
.tbn-hero-line .tbn-sans{
  font-family:'VisbyRoundCF',sans-serif !important;
  font-weight: 600;
  font-size: .95em;
  letter-spacing: 0;
  color: var(--tb-charcoal);
}

/* 4) Body copy & “random bold” control */
body,.et_pb_text,p,li{ font-family:'VisbyRoundCF',sans-serif; font-weight:400; letter-spacing:0; line-height:1.6; }
.et_pb_text strong,.et_pb_text b{ font-weight:600; }   /* not 700 */

/* 5) Menu weight/tracking (looked spaced & shouty) */
#bb-sloane-header-menu .et-menu-nav > ul > li > a,
#bb-sloane-header-menu .et_mobile_menu li a{
  font-family:'VisbyRoundCF',sans-serif !important;
  font-weight:500;
  letter-spacing:.01em;
  text-transform:none;
  line-height:1.2;
}

/* 6) Divi buttons were still Bebas */
#page-container .et_pb_button,
#page-container .et_pb_promo_button,
#page-container .et_pb_button_module_wrapper .et_pb_button{
  font-family:'VisbyRoundCF',sans-serif !important;
  font-weight:600;
  letter-spacing:.02em;
  text-transform:none;
}

/* 7) Responsive refinements */
@media (max-width:980px){
  .et_pb_text .et_pb_text_inner > h1{ font-size: clamp(26px,6vw,40px); max-width:22ch; }
  h2.tbn-hero-line,.hero-heading{ font-size: clamp(24px,5.5vw,36px); }
  .tbn-hero-line .tbn-sans{ font-size:.98em; }
}

/* 8) Utilities (use as needed in module CSS Class) */
.fw-500{font-weight:500!important;} .fw-600{font-weight:600!important;}
.track-0{letter-spacing:0!important;} .track-neg{letter-spacing:-0.01em!important;}
.tight{line-height:1.1!important;} .loose{line-height:1.5!important;}

/* ================================
   TRAVELBOSS HERO SECTION FIX
   ================================ */

/* Main hero headline */
.tbn-hero-line {
  font-family: 'VisbyRoundCF', sans-serif !important;
  font-weight: 600;
  font-size: clamp(32px, 4vw, 56px);
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin: 0.25em 0 0.35em;
  color: var(--tb-charcoal);
  max-width: 18ch;
}

/* Script accent (TravelBoss / Network) */
.tbn-hero-line .tbn-script {
  font-family: 'ProcreateSignature', cursive !important;
  font-size: 1.05em;
  font-weight: 400;
  letter-spacing: 0;
  background-image: linear-gradient(90deg, var(--tb-hibiscus), var(--tb-orange));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  position: relative;
  top: 0.05em; /* nudges baseline */
}

/* Subheading line (serif “Your Passport to…”) */
.hero-heading {
  font-family: 'Suranna', serif !important;
  font-weight: 400;
  font-size: clamp(24px, 3vw, 40px);
  line-height: 1.2;
  margin: 0 0 .2em;
  color: var(--tb-charcoal);
}

/* Tagline text under hero */
.hero-subtext,
#page-container .et_pb_promo_description p {
  font-family: 'VisbyRoundCF', sans-serif;
  font-weight: 400;
  font-size: clamp(16px, 1.4vw, 20px);
  line-height: 1.55;
  margin-top: 0.5em;
  color: var(--tb-charcoal);
}

/* Override Sloane heading defaults */
.bb-sloane-text h1, .bb-sloane-text h2,
.bb-sloane-text h3, .bb-sloane-text h4,
.bb-sloane-text h5, .bb-sloane-text h6 {
  font-family: 'VisbyRoundCF', sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

/* Full-width hero video wrapper */
.tbn-hero-video {
  position: relative;
  width: 100%;
  height: 100vh; /* Full screen */
  overflow: hidden;
}

.tbn-hero-video video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 0;
  transform: translate(-50%, -50%);
  object-fit: cover;
}

/* Overlay content */
.tbn-hero-overlay {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 100%;
  padding: 0 1rem;
  background: rgba(0,0,0,0.3); /* semi-transparent dark overlay */
}

/* Main hero title */
.tbn-hero-title {
  font-family: 'VisbyRoundCF', sans-serif;
  font-weight: 700;
  font-size: clamp(36px, 5vw, 72px);
  line-height: 1.1;             /* tighter control */
  letter-spacing: -0.01em;      /* avoid wide look */
  color: #fff;
  margin: 0 0 0.35em;           /* tighten spacing */
}

/* Script accent (TravelBoss in script font) */
.tbn-hero-title .tb-script {
  font-family: 'ProcreateSignature', cursive;
  font-weight: 400;
  font-size: 1.15em;
  line-height: 1.1; /* much tighter, hugs baseline */
  background: linear-gradient(90deg, #C11C84, #F26C1A);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
  padding: 0 .05em;
  vertical-align: baseline; /* keeps it aligned with surrounding text */
}

.tbn-hero-subtitle {
  font-family: 'Suranna', serif;
  font-size: clamp(18px, 2vw, 28px);
  color: #fff;
  margin: 0;
}

/* === TravelBoss hero heading – final override === */
.tbn-hero-title{
  font-family:'VisbyRoundCF',sans-serif;
  font-weight:700;
  font-size:clamp(36px,5vw,72px);
  line-height:1.1;
  letter-spacing:-0.01em;
  color:#fff;
  margin:0 0 .35em;
}

.tbn-hero-title .tb-script{
  font-family:'ProcreateSignature',cursive;
  font-weight:400;
  font-size:1.15em;
  line-height:1;             /* was 2em — tighten */
  display:inline-block;
  vertical-align:baseline;
  position:relative; top:.02em;  /* subtle baseline nudge */
  letter-spacing:0;
  padding:0 .05em;
  background:linear-gradient(90deg,#C11C84,#F26C1A);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}

/* HERO stack spacing + script alignment */
h2.tbn-hero-line{
  margin: 0 0 .35em;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

.tbn-hero-line .tb-serif{
  margin-right: .25rem;
  color: var(--tb-charcoal);
}

.tbn-hero-line .tb-script{
  display: inline-block;
  font-family: 'ProcreateSignature','Washington',cursive;
  font-weight: 400;
  font-size: 1.12em;         /* small bump so it sits “right” */
  line-height: 1;            /* removes extra vertical air */
  letter-spacing: 0;
  position: relative; 
  top: .06em;                /* nudge to hug the baseline */
  background-image: linear-gradient(90deg, var(--tb-hibiscus), var(--tb-orange));
  -webkit-background-clip: text; background-clip: text;
  color: transparent; -webkit-text-fill-color: transparent;
  padding: 0 .04em;          /* avoids letter crash */
}

p.hero-subtext{
  margin: .35em 0 0;         /* closer to the h2 */
  color: var(--tb-charcoal);
}

/* Safety: kill stray default margins inside the Text module */
.et_pb_text .et_pb_text_inner > h1,
.et_pb_text .et_pb_text_inner > h2,
.et_pb_text .et_pb_text_inner > p{ margin-top: 0; }

/* HERO script spacing fix (no font change) */
h2.tbn-hero-line{
  line-height: 1.22;          /* a touch more room for the script glyphs */
  overflow: visible;           /* prevent clipping from the heading box */
}

/* Only the script word "TravelBoss Network" */
.tbn-hero-line .tb-script{
  display: inline-block;       /* independent line box */
  line-height: 1;              /* remove inherited tall line box */
  padding: .06em 0 .12em;      /* tiny inner padding stops top/bottom clip */
  position: relative; top: .02em; /* subtle baseline nudge */
  vertical-align: baseline;
  /* keep your existing look */
  font-family: 'ProcreateSignature', cursive;
  font-weight: 400;
  background-image: linear-gradient(90deg, #C11C84, #F26C1A);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* If any parent is clipping (rare but seen in Divi), unlock overflow just for this module */
.et_pb_text .tbn-hero-line{ overflow: visible; }

/* === TRAVELBOSS HERO — one line, no clipping, tidy spacing === */
.tbn-hero-line,
.tbn-hero-line * {
  overflow: visible !important;  /* stop any cropping from ancestors */
}

.tbn-hero-line {
  white-space: nowrap;           /* keep TravelBoss + Network together */
  line-height: 1.22;             /* rhythm for the whole line */
}

.tbn-hero-line .tb-script {
  display: inline-block;         /* its own line box = safer swashes */
  white-space: nowrap;
  font-family: 'ProcreateSignature', cursive !important;
  font-weight: 400;
  font-size: 1.12em;             /* slight emphasis vs. serif */
  letter-spacing: 0;

  /* gradient look */
  background-image: linear-gradient(90deg, var(--tb-hibiscus), var(--tb-orange));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;

  /* anti-clip breathing room (small, balanced) */
  line-height: 1.22;
  padding: .08em 0 .06em;
  margin: 0;
  vertical-align: middle;        /* align with “Your Passport to” */
}

/* Make sure Divi’s text module doesn’t hide overflow */
.et_pb_text, .et_pb_text_inner, .et_pb_module {
  overflow: visible !important;
}

/* ==== TRAVELBOSS HERO: no-clip + single-line for script word ==== */

/* Make sure the whole H2 isn’t cropping */
.et_pb_text h2.tbn-hero-line { 
  overflow: visible !important;
  line-height: 1.18 !important;   /* enough room for script asc/desc */
  margin-bottom: .35em !important;
}

/* The script span itself */
.et_pb_text h2.tbn-hero-line .tb-script{
  display: inline-block !important;   /* its own line box */
  white-space: nowrap !important;      /* keep “TravelBoss Network” together */
  line-height: 1 !important;           /* remove tall inherited line box */
  padding: .08em 0 .06em !important;   /* tiny inner air = no top/bottom crop */
  margin: 0 !important;
  vertical-align: middle !important;   /* aligns with “Your Passport to” */
  position: relative; top: .02em;      /* micro baseline nudge */
  letter-spacing: 0 !important;        /* avoids odd breaks from tracking */
  /* keep your existing gradient/text-fill from earlier rules */
}

/* Safety: don’t let any container hide overflow */
.et_pb_text, .et_pb_text_inner, .et_pb_module { 
  overflow: visible !important; 
}

/* Optional mobile guard: shrink just a touch so it still fits one line */
@media (max-width: 480px){
  .et_pb_text h2.tbn-hero-line .tb-script{
    font-size: 1.02em !important;
  }
}

/* Base script text renders normally (controls metrics) */
.tbn-hero-line .tb-script{
  position: relative;
  display: inline-block;
  font-family: 'ProcreateSignature', cursive;
  font-weight: 400;
  color: #F26C1A;           /* Sunset Orange base */
  line-height: 1.15;        /* tweak as desired */
  letter-spacing: 0;
  vertical-align: baseline;
  /* IMPORTANT: remove any old gradient/text-fill rules here */
  background: none !important;
  -webkit-text-fill-color: initial !important;
}

/* Gradient overlay clone (doesn’t affect layout, so no clipping) */
.tbn-hero-line .tb-script::before{
  content: attr(data-text);
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #C11C84, #F26C1A 50%, #C11C84);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  pointer-events: none;
}

/* Safety: never crop the heading line */
.tbn-hero-line{ overflow: visible; }

/* --- TravelBoss Script Gradient Fix --- */
.tbn-hero-line .tb-script {
  display: inline-block;
  font-family: 'ProcreateSignature', cursive !important;
  font-weight: 400;
  font-size: 1.12em;
  letter-spacing: 0;

  /* Gradient preserved */
  background-image: linear-gradient(90deg, var(--tb-hibiscus), var(--tb-orange));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;

  /* Anti-clip breathing room */
  line-height: 1.25;       /* taller line box */
  padding: .12em 0 .10em;  /* space inside the box */
  margin: 0;               /* reset */
  vertical-align: middle;  /* keeps baseline aligned */
  overflow: visible;       /* unlock swashes if parent crops */
}

/* Ensure the H2 itself never crops */
.tbn-hero-line {
  overflow: visible !important;
}

/* ===== TravelBoss Hero Copy – Fix Clipping & One-Line ===== */
.tb-hero-copy h2.tbn-hero-line {
  margin: 0 0 .45em 0;       /* small bottom gap */
  line-height: 1.2;          /* consistent rhythm */
  white-space: nowrap;       /* keep whole phrase on one line */
  overflow: visible;         /* allow swashes/accents */
}

.tb-hero-copy .tb-serif {
  margin-right: .35rem;
  color: var(--tb-charcoal);
}

.tb-hero-copy .tb-script {
  display: inline-block;
  margin: 0;
  padding: .08em 0 .06em;    /* breathing room against clipping */
  line-height: 1.1;
  font-family: 'ProcreateSignature', cursive;
  font-size: 2.5rem;
  font-weight: 400;
  letter-spacing: 0;
  vertical-align: baseline;
  background: linear-gradient(90deg, #C11C84, #F26C1A);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* Optional split-color styling */
.tb-hero-copy .tb-orange { color:#F26C1A; background:none; -webkit-text-fill-color: initial; }
.tb-hero-copy .tb-teal   { color:#008B8B; background:none; -webkit-text-fill-color: initial; }

/* SVG fallback handling */
.tb-script-svg {
  height: 1.2em;
  vertical-align: baseline;
  overflow: visible;
}
.no-svg .tb-script-svg { display: none; }

/* Serif lead-in */
.tb-serif {
  font-family: 'VisbyRoundCF', sans-serif;
  font-size: 1.2rem;
  margin-right: 0.35rem;
  color: var(--tb-charcoal, #000);
  vertical-align: middle;
}

/* Gradient script word */
.tb-script {
  display: inline-block;
  font-family: 'ProcreateSignature', cursive;
  font-weight: 400;
  font-size: 2.6rem;
  white-space: nowrap;

  /* Gradient text (main magic) */
  background: linear-gradient(90deg, #C11C84, #F26C1A);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  
  /*
    KEY FIX: Use transform to position the text.
    'position: relative' allows translateY to work.
    The negative percentage shifts the text upward,
    preventing clipping from the top.
  */
  position: relative;
  transform: translateY(-8%); /* Adjust this value as needed to center */
}

/* Make sure the heading doesn’t crop */
.tbn-hero-line {
  margin: 0 0 0.5em 0;
  line-height: 1.25;
  white-space: nowrap;
}

/* Hero subtext */
.hero-subtext {
  font-family: 'VisbyRoundCF', sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.55;
  color: var(--tb-charcoal, #000);
  margin: 0.25em 0 0;
}

/* Mobile adjustments */
@media (max-width: 980px) {
  .tb-script {
    font-size: 2.1rem;
    line-height: 1.3;
    transform: translateY(-5%); /* May need a smaller value for mobile */
  }
}
/* --- DEBUG VISUAL: remove later --- */
.tbn-hero-line, .tbn-hero-line * { outline: 0px solid transparent; }
/* ---------------------------------- */

/* 1) Make sure NO ancestor clips the paint box */
.et_pb_text, .et_pb_text_inner, .tbn-hero-line {
  overflow: visible !important;
  overflow-clip-margin: 16px; /* Chrome/Safari: expands paint box if something still clips */
}

/* 2) Stop the background-clip:text paint from being cropped by line box */
.tbn-hero-line .tb-script{
  display: inline-block;
  white-space: nowrap;
  line-height: 1;                 /* tight intrinsic box */
  padding: .10em 0 .12em;         /* breathing room for asc/desc when gradient paints */
  margin: 0;
  vertical-align: baseline;
  transform: translateY(.02em);   /* tiny baseline nudge */
  /* gradient look (kept) */
  background-image: linear-gradient(90deg, var(--tb-hibiscus), var(--tb-orange));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}

/* 3) Ensure the heading’s own line box isn’t the limiter */
h2.tbn-hero-line{
  line-height: 1.22;              /* just enough headroom for the script glyphs */
  white-space: nowrap;            /* keeps TravelBoss Network on one line */
}

/* 4) Chrome/WebKit quirk: force larger paint bounds for clipped gradient text */
.tbn-hero-line .tb-script::after{
  content:""; display:block; height:0;
  margin-top:.08em;               /* micro tail-room so descenders never crop */
}

/* Page bg = black so no white flash */
body, #page-container { background:#000; }

/* Kill any header bottom border that flashes white */
#main-header, #top-header { border-bottom:0 !important; }

/* Remove extra space from first section */
.et_pb_section:first-of-type {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Remove extra space below hero row */
.et_pb_section.hero .et_pb_row {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.tbn-hero-title .tb-script {
  font-family: 'ProcreateSignature', cursive;
  font-weight: 400;
  font-size: 1.15em;
  line-height: 1.1; /* much tighter, hugs baseline */
  background: linear-gradient(90deg, #C11C84, #F26C1A);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
  padding: 0 .05em;
  vertical-align: baseline; /* keeps it aligned with surrounding text */
}

/* --- HERO: stop vertical clipping on script word --- */
.tbn-hero-line,
.tbn-hero-line .tb-serif,
.tbn-hero-line .tb-script { 
  overflow: visible !important;   /* never crop swashes */
}

.tbn-hero-line .tb-script{
  display: inline-block;          /* own line box */
  line-height: 1.35;              /* give glyphs room */
  padding: .12em 0 .10em;         /* real space above/below */
  margin-top:  -0.18em;           /* visually pull back so it doesn’t look loose */
  margin-bottom: -0.08em;

  /* keep your existing look */
  font-family: 'ProcreateSignature', cursive;
  font-weight: 400;
  background-image: linear-gradient(90deg, var(--tb-hibiscus), var(--tb-orange));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
  letter-spacing: 0;
}

/* Slightly more room on small screens so mobile doesn’t crop */
@media (max-width: 980px){
  .tbn-hero-line .tb-script{
    line-height: 1.4;
    margin-top:  -0.22em;
    margin-bottom: -0.10em;
  }
}

/* --- HERO SCRIPT FIX: TravelBoss Network --- */
.tbn-hero-line .tb-script {
  display: inline-block;
  font-family: 'ProcreateSignature', cursive !important;
  font-weight: 400;
  font-size: 1.15em;
  background: linear-gradient(90deg, var(--tb-hibiscus), var(--tb-orange));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;

  /* spacing adjustments */
  line-height: 1.3;              /* more breathing room */
  padding: 0.15em 0;             /* internal cushion */
  margin-top: -0.15em;           /* pull closer to serif line */
  margin-bottom: -0.05em;        /* avoid extra gap below */
  overflow: visible !important;  /* stop swash clipping */
  vertical-align: middle;        /* aligns better with baseline */
}

/* Ensure the container never crops the script */
.tbn-hero-line {
  line-height: 1.2;
  overflow: visible !important;
}

/* Keep the script pair together and fix vertical spacing */
.tbn-hero-line { max-width: unset; } /* let the line breathe so it doesn’t wrap the script */
.tbn-hero-line .tb-script{
  white-space: nowrap;   
}

/* Keep "TravelBoss Network" on one line + fix top/bottom trim */
.tbn-hero-line .tb-script{
  display:inline-block;
  white-space:nowrap;        /* ← forces single line */
  line-height:1.25;          /* breathing room for swashes */
  padding:.10em 0 .08em;     /* optical room above/below */
  margin-top:-.16em;         /* pull closer to the serif line */
  margin-bottom:-.06em;      /* avoid extra gap under */
  overflow:visible;          /* just in case */
}

/* If it *still* tries to wrap on smaller widths, scale it a touch */
@media (max-width: 980px){
  .tbn-hero-line .tb-script{
    font-size: .98em;        /* tiny downsize instead of wrapping */
    letter-spacing: .01em;
  }
}

/* === HERO LINE FIX (TravelBoss Network all on one line, no clipping) === */
.tbn-hero-line {
  white-space: nowrap;           /* keeps TravelBoss + Network together */
  overflow: visible !important;  /* ensure glyph swashes not cut off */
  line-height: 1.2;              /* good vertical rhythm */
}

.tbn-hero-line .tb-script {
  display: inline-block;
  font-family: 'ProcreateSignature', cursive !important;
  font-weight: 400;
  font-size: 1.1em;               /* slight bump */
  background-image: linear-gradient(90deg, var(--tb-hibiscus), var(--tb-orange));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;

  /* Fix clipping by giving room */
  line-height: 1.2;
  padding: 0.05em 0;             /* tiny top/bottom buffer */
  margin: 0;                     /* no extra gap */
  vertical-align: middle;        /* aligns nicely with serif text */
}

/* TRAVELBOSS hero script: gradient + anti-clip fix */
.tbn-hero-line .tb-script{
  display:inline-block;
  white-space:nowrap;              /* keep on one line */
  /* tiny breathing room so tops/tails never crop */
  line-height: 1.22;               /* was ~1.0 */
  padding: .06em 0 .06em;
  margin: 0;
  vertical-align: middle;
  position: relative; top: .02em;  /* hugs the baseline nicely */

  /* your look */
  font-family: 'ProcreateSignature', cursive !important;
  font-weight: 400;
  background-image: linear-gradient(90deg, var(--tb-hibiscus), var(--tb-orange));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;

  /* Chrome/WebKit paint workarounds */
  text-shadow: 0 0 1px rgba(0,0,0,0.001); /* forces different raster path */
  transform: translateZ(0);               /* new compositing layer = no crop */
}

/* put in Divi Theme Options > Custom CSS, or your child theme */
@font-face{
  font-family: "ProcreateSignature";
  src: url("/wp-content/uploads/fonts/ProcreateSignature.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/* make sure no ancestor hides overflow */
.tbn-hero-line, .et_pb_text, .et_pb_text_inner { overflow: visible !important; }

.tbn-hero-line{ white-space:nowrap; line-height:1.2; overflow:visible; }
.tbn-hero-line .tb-serif{
  font-family:'Suranna', serif; font-weight:400;
  font-size:clamp(28px,3.3vw,44px); margin-right:.35rem; color:#181818;
}
.tbn-hero-line .tb-script{
  font-family:'ProcreateSignature', cursive;
  display:inline-block; position:relative; vertical-align:baseline;
  font-weight:400; font-size:clamp(34px,3.8vw,56px);
  line-height:1.15; letter-spacing:0;
  background-image:linear-gradient(90deg,#C11C84,#F26C1A);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
  padding:.08em 0 .06em; top:.02em; overflow:visible;
}
/* paint the gradient again behind WebKit to avoid glyph crop on some builds */
.tbn-hero-line .tb-script::before{
  content:attr(data-text);
  position:absolute; inset:0; z-index:-1;
  background-image:inherit; -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}

/* Base script text renders normally (controls metrics) */
.tbn-hero-line .tb-script{
  position: relative;
  display: inline-block;
  font-family: 'ProcreateSignature', cursive;
  font-weight: 400;
  color: #F26C1A;           /* Sunset Orange base */
  line-height: 1.15;        /* tweak as desired */
  letter-spacing: 0;
  vertical-align: baseline;
  /* IMPORTANT: remove any old gradient/text-fill rules here */
  background: none !important;
  -webkit-text-fill-color: initial !important;
}

/* Gradient overlay clone (doesn’t affect layout, so no clipping) */
.tbn-hero-line .tb-script::before{
  content: attr(data-text);
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #C11C84, #F26C1A);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  pointer-events: none;
}

/* ===== TRAVELBOSS hero — conflict-proof, no-clip, gradient, tidy spacing ===== */
.tb-hero-v3 { --tb-hibiscus:#C11C84; --tb-orange:#F26C1A; --tb-charcoal:#181818; }

/* Optional: make sure the font is available */
@font-face{
  font-family:"ProcreateSignature";
  src:url("/wp-content/uploads/fonts/ProcreateSignature.woff2") format("woff2");
  font-weight:400; font-style:normal; font-display:swap;
}

/* Headline (keeps your look) */
.tb-hero-v3__h1{
  font-family:'VisbyRoundCF',sans-serif; font-weight:700;
  letter-spacing:-.01em; line-height:1.08;
  font-size:clamp(32px,4.5vw,72px);
  color:var(--tb-charcoal); margin:0 0 .45em;
}

/* The line that contains serif + script */
.tb-hero-v3__line{
  margin:0 0 .55em 0;          /* restores space above the button */
  line-height:1.18;            /* enough room for swashes */
  white-space:nowrap;          /* keep it on one line */
  overflow:visible !important; /* prevent cropping from ancestors */
}

/* Serif lead-in */
.tb-hero-v3__serif{
  font-family:'Suranna',serif; font-weight:400;
  font-size:clamp(24px,3.2vw,40px);
  color:var(--tb-charcoal);
  margin-right:.35rem; vertical-align:middle;
}

/* Script word — base text renders normally (controls metrics) */
.tb-hero-v3__script{
  position:relative; display:inline-block;
  font-family:'ProcreateSignature',cursive !important;
  font-weight:400; letter-spacing:0;
  font-size:clamp(30px,3.8vw,56px);  /* bigger than the serif, per your note */
  line-height:1.12;                  /* tighter but safe */
  color:var(--tb-orange);            /* fallback color */
  white-space:nowrap; vertical-align:middle;
  background:none !important; -webkit-text-fill-color:initial !important;
  overflow:visible;
}

/* Gradient overlay clone (doesn’t affect layout → no clipping) */
.tb-hero-v3__script::before{
  content:attr(data-text);
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg,var(--tb-hibiscus),var(--tb-orange));
  -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
  /* micro “paint-box” guards for WebKit */
  filter:brightness(1.0001); transform:translateZ(0);
}

/* Sub + body */
.tb-hero-v3__sub{
  font-family:'VisbyRoundCF',sans-serif; font-weight:400;
  font-size:clamp(16px,1.4vw,20px); line-height:1.55;
  color:var(--tb-charcoal); margin:.35em 0 .6em;   /* add room before button */
}
.tb-hero-v3__body{
  font-family:'VisbyRoundCF',sans-serif; font-weight:400;
  font-size:16px; line-height:1.6; color:var(--tb-charcoal);
  max-width:62ch; margin:0 0 1.2em;
}

/* Safety: make sure Divi wrappers never crop this module */
.tb-hero-v3, .tb-hero-v3 * { overflow:visible !important; }

/* Mobile niceties */
@media (max-width:980px){
  .tb-hero-v3__h1{ font-size:clamp(28px,6vw,40px); }
  .tb-hero-v3__serif{ font-size:clamp(22px,5.2vw,32px); }
  .tb-hero-v3__script{ font-size:clamp(28px,5.4vw,44px); }
}
/* Safety: never crop the heading line */
.tbn-hero-line{ overflow: visible; }

/* Shrink logo on scroll */
.et-fixed-header .et_pb_menu__logo img {
  max-height: 50px !important;  /* smaller on scroll */
  transition: all 0.3s ease-in-out;
}

/* Default (before scroll) */
.et_pb_menu__logo img {
  max-height: 100px;  /* adjust this to your big logo size */
  transition: all 0.3s ease-in-out;
}

/* ================================
   Gradient text utilities
   ================================ */

/* Optional variants */
.tb-textgrad--teal {
  --from: #3C8975;
  --to:   #13637C;
}
.tb-textgrad--gold {
  --from: #F4A300;
  --to:   #F26C1A;
}

/* Gradient text utility — conflict-proof */
.tb-textgrad {
  --from: #C11C84;  /* hibiscus */
  --to:   #F26C1A;  /* orange   */

  background-image: linear-gradient(90deg, var(--from), var(--to));
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent !important;
          color: transparent !important;
  display: inline-block;  /* avoids odd line-box crops */
}

/* If strong/em or links are inside the span, keep them transparent too */
.tb-textgrad * {
  -webkit-text-fill-color: transparent !important;
          color: transparent !important;
  -webkit-background-clip: text;
          background-clip: text;
}

/* ===============================
   Section 3 Title: Goal-focused + Content
   =============================== */
h2.tbn-section-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 0 0 1.2em 0;
  line-height: 1.2;
}

/* Serif lead-in */
h2.tbn-section-title .tb-serif {
  font-family: 'Suranna', serif;
  font-weight: 400;
  font-size: clamp(22px, 2.4vw, 32px);
  color: var(--tb-charcoal, #181818);
  margin-bottom: 0.2em;
  line-height: 1.15;
}

/* Gradient script word — override hero script */
h2.tbn-section-title .tb-script {
  font-family: 'ProcreateSignature', cursive !important;
  font-weight: 400;
  font-size: clamp(36px, 4vw, 52px);

  display: inline-block;
  white-space: nowrap;
  line-height: 1.15;
  padding: .06em 0;
  vertical-align: baseline;

  background: linear-gradient(90deg, #C11C84, #F26C1A);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
          color: transparent;

  letter-spacing: 0 !important;
  overflow: visible !important;
}

/* Responsive tweaks */
@media (max-width: 980px) {
  h2.tbn-section-title .tb-serif  { font-size: clamp(20px, 3.2vw, 28px); }
  h2.tbn-section-title .tb-script { font-size: clamp(32px, 6vw, 44px); }
}

/* ===============================
   Section title variant (hero v3 style)
   =============================== */
.tb--section-title {
  display: flex;
  flex-direction: column;  /* serif above script */
  align-items: flex-start;
  margin: 0 0 .75em;
  line-height: 1.2;
  white-space: normal;
  overflow: visible !important;
}

.tb--section-title .tb-hero-v3__serif {
  font-family: 'Suranna', serif;
  font-weight: 400;
  font-size: clamp(22px, 2.4vw, 32px);
  color: var(--tb-charcoal, #181818);
  margin: 0 0 .15em;
}

.tb--section-title .tb-hero-v3__script {
  font-family: 'ProcreateSignature', cursive;
  font-weight: 400;
  font-size: clamp(36px, 4vw, 52px);
  line-height: 1.15;
  white-space: nowrap;
  padding: .06em 0;
}

/* ================================
   Section title: Goal focused + Content (script)
   ================================ */
.tb-section-title{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  margin:0 0 1.2em;
  line-height:1.2;
  overflow:visible;
}

.tb-section-title .tb-serif{
  font-family:'Suranna', serif;
  font-weight:400;
  font-size: clamp(22px, 2.6vw, 34px);   /* larger than before */
  color: var(--tb-charcoal, #181818);
  margin: 0 0 .15em 0;                    /* snug space above script */
}

.tb-section-title .tb-script{
  font-family:'ProcreateSignature', cursive !important;
  font-weight:400;
  font-size: clamp(36px, 4vw, 52px);      /* smaller than hero, still bold */
  line-height:1.15;
  display:inline-block;
  white-space:nowrap;
  padding:.06em 0 .04em;                  /* anti-clip */
  background-image: linear-gradient(90deg, var(--tb-hibiscus, #C11C84), var(--tb-orange, #F26C1A));
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
  overflow:visible;
}

/* Mobile nudge */
@media (max-width: 980px){
  .tb-section-title .tb-serif  { font-size: clamp(20px, 3.6vw, 28px); }
  .tb-section-title .tb-script { font-size: clamp(30px, 6vw, 44px); }
}
	
	.tbn-btn {
  display: inline-block;
  margin: 0.5em 0.5em 0 0;
  padding: 0.75em 1.5em;
  font-family: 'VisbyRoundCF', sans-serif;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  background-image: linear-gradient(90deg, #C11C84, #F26C1A);
  border-radius: 6px;
  transition: all 0.3s ease;
}
.tbn-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}
	
	.tbn-list li {
  list-style: none;
  margin: 0.4em 0;
  padding-left: 1.4em;
  position: relative;
  font-family: 'VisbyRoundCF', sans-serif;
  font-size: 16px;
  color: var(--tb-charcoal);
}
.tbn-list li::before {
  content: "➤";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--tb-orange);
  font-size: 1em;
  line-height: 1.2;
}
	
	/* Base button style (applies to all tbn-btn) */
.tbn-btn {
  display: inline-block;
  padding: 0.75em 1.5em;
  font-family: 'VisbyRoundCF', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.25s ease;
  margin-right: 0.75em;
}

/* Spotify button */
.tbn-btn-spotify {
  background-color: #1DB954; /* Spotify green */
  color: #fff;
}
.tbn-btn-spotify:hover {
  background-color: #169c46; /* darker green on hover */
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(29, 185, 84, 0.25);
}

/* Apple Podcasts button */
.tbn-btn-apple {
  background-color: #000; /* Apple black */
  color: #fff;
}
.tbn-btn-apple:hover {
  background-color: #333; /* softer black on hover */
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25);
}
	
	/* Subhead styling */
.tbn-subhead {
  font-family: 'VisbyRoundCF', sans-serif;
  font-weight: 600;
  font-size: 1.4rem;
  margin-bottom: 0.5em;
  color: var(--tb-charcoal);
}

/* Button group spacing */
.tbn-btn-group {
  margin-top: 1.25em;
}

/* Spotify button */
.tbn-btn-spotify {
  background-color: #1DB954; /* Spotify green */
  color: #fff;
}
.tbn-btn-spotify:hover {
  background-color: #169c46;
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(29, 185, 84, 0.25);
}

/* Apple Podcasts button */
.tbn-btn-apple {
  background-color: #000;
  color: #fff;
}
.tbn-btn-apple:hover {
  background-color: #333;
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25);
}

/* — Podcast CTAs: force solid brand colors — */
.tbn-btn{ 
  background: none !important; 
  background-image: none !important; 
  color:#fff; 
}

.tbn-btn-spotify{ 
  background:#1DB954 !important; 
  color:#fff !important; 
}
.tbn-btn-spotify:hover{ 
  background:#169c46 !important; 
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(29,185,84,.25);
}

.tbn-btn-apple{ 
  background:#000 !important; 
  color:#fff !important; 
}
.tbn-btn-apple:hover{ 
  background:#333 !important; 
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(0,0,0,.25);
}

/* =========================
   PODCAST CTA BUTTONS – polish
   ========================= */

/* 1) Shared button base */
.tbn-btn{
  display: inline-flex;                /* centers text vertically */
  align-items: center;
  justify-content: center;
  gap: .55em;                          /* room for icon */
  padding: .85em 1.25em;
  min-height: 48px;                    /* consistent height */
  line-height: 1;                      /* stops baseline sag */
  border-radius: 10px;                 /* rounded corners */
  text-decoration: none;
  font-family: 'VisbyRoundCF', sans-serif;
  font-weight: 600;
  font-size: 1rem;
  text-transform: uppercase;
  background: none !important;         /* keep app brand solids */
  background-image: none !important;
  color: #fff;
  box-shadow: 0 6px 14px rgba(0,0,0,.18);   /* lift */
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.tbn-btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(0,0,0,.22);
}
.tbn-btn:focus-visible{
  outline: 2px solid #fff; outline-offset: 2px;
}

/* 2) Spotify brand */
.tbn-btn-spotify{ background:#1DB954 !important; color:#fff !important; }
.tbn-btn-spotify:hover{ background:#169c46 !important; }
/* Icon via mask (works Safari/Chrome/Edge/Firefox) */
.tbn-btn-spotify::before{
  content:"";
  width: 1.15em; height: 1.15em;
  background:#fff;                     /* icon color */
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 168 168"><path d="M84 0a84 84 0 1 0 0 168A84 84 0 0 0 84 0zm38.7 120.5c-1.6 2.6-4.9 3.4-7.5 1.8-20.6-12.6-46.6-15.4-77.3-8.3-3 0.7-6-1.2-6.7-4.2-.7-3 1.2-6 4.2-6.7 33.2-7.6 61.8-4.5 84.8 9.5 2.6 1.6 3.4 4.9 1.8 7.9zm10.7-23.8c-2 3.2-6.1 4.2-9.3 2.3-23.6-14.5-59.6-18.7-87.4-10.2-3.5 1.1-7.1-0.9-8.2-4.4-1.1-3.5.9-7.1 4.4-8.2 31.8-9.8 71.1-5.2 98.6 11.7 3.2 1.9 4.2 6.1 1.9 8.8zm.9-24.9c-2.4 3.6-7.2 4.6-10.8 2.3-26.9-16.6-72-18.1-98-10.1-4 1.2-8.2-1-9.4-5-1.2-4 1-8.2 5-9.4 29.8-8.9 79-7.2 109.8 11.8 3.6 2.2 4.6 7.1 2.3 10.4z"/></svg>') center/contain no-repeat;
          mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 168 168"><path d="M84 0a84 84 0 1 0 0 168A84 84 0 0 0 84 0zm38.7 120.5c-1.6 2.6-4.9 3.4-7.5 1.8-20.6-12.6-46.6-15.4-77.3-8.3-3 0.7-6-1.2-6.7-4.2-.7-3 1.2-6 4.2-6.7 33.2-7.6 61.8-4.5 84.8 9.5 2.6 1.6 3.4 4.9 1.8 7.9zm10.7-23.8c-2 3.2-6.1 4.2-9.3 2.3-23.6-14.5-59.6-18.7-87.4-10.2-3.5 1.1-7.1-0.9-8.2-4.4-1.1-3.5.9-7.1 4.4-8.2 31.8-9.8 71.1-5.2 98.6 11.7 3.2 1.9 4.2 6.1 1.9 8.8zm.9-24.9c-2.4 3.6-7.2 4.6-10.8 2.3-26.9-16.6-72-18.1-98-10.1-4 1.2-8.2-1-9.4-5-1.2-4 1-8.2 5-9.4 29.8-8.9 79-7.2 109.8 11.8 3.6 2.2 4.6 7.1 2.3 10.4z"/></svg>') center/contain no-repeat;
}

/* 3) Apple Podcasts (using Apple “leaf” icon for clarity) */
.tbn-btn-apple{ background:#000 !important; color:#fff !important; }
.tbn-btn-apple:hover{ background:#333 !important; }
.tbn-btn-apple::before{
  content:"";
  width: 1.1em; height: 1.1em;
  background:#fff;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 814 1000"><path d="M747 784c-13 30-29 58-49 83-25 31-45 52-61 63-24 18-49 27-74 28-19 0-42-5-69-15-27-10-52-15-74-15-23 0-48 5-75 15-27 10-49 16-66 16-26 1-52-9-78-29-17-13-38-35-63-66-27-34-49-73-66-118-18-47-27-92-27-134 0-49 10-91 30-125 16-28 37-50 63-66 25-16 52-24 81-25 19 0 44 6 76 17 31 11 52 17 62 17 9 0 31-6 64-18 34-11 62-17 85-16 63 5 110 30 141 75-56 34-85 82-85 146 0 49 18 90 54 123 16 15 34 26 55 33-4 12-9 24-14 36zM542 0c0 37-14 72-41 105-33 40-72 64-115 60-1-4-2-9-2-14 0-36 16-74 45-108 15-18 34-33 56-44 22-11 43-17 64-19 1 7 2 13 2 20z"/></svg>') center/contain no-repeat;
          mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 814 1000"><path d="M747 784c-13 30-29 58-49 83-25 31-45 52-61 63-24 18-49 27-74 28-19 0-42-5-69-15-27-10-52-15-74-15-23 0-48 5-75 15-27 10-49 16-66 16-26 1-52-9-78-29-17-13-38-35-63-66-27-34-49-73-66-118-18-47-27-92-27-134 0-49 10-91 30-125 16-28 37-50 63-66 25-16 52-24 81-25 19 0 44 6 76 17 31 11 52 17 62 17 9 0 31-6 64-18 34-11 62-17 85-16 63 5 110 30 141 75-56 34-85 82-85 146 0 49 18 90 54 123 16 15 34 26 55 33-4 12-9 24-14 36zM542 0c0 37-14 72-41 105-33 40-72 64-115 60-1-4-2-9-2-14 0-36 16-74 45-108 15-18 34-33 56-44 22-11 43-17 64-19 1 7 2 13 2 20z"/></svg>') center/contain no-repeat;
}

/* 4) Nudge icon alignment (prevents “low” look) */
.tbn-btn::before{ vertical-align: middle; }

/* =========================
   GLOBAL DIVI BUTTONS – round + lift
   (affects your square gradient buttons)
   ========================= */
#page-container .et_pb_button,
#page-container .et_pb_promo_button,
#page-container .et_pb_button_module_wrapper .et_pb_button{
  border-radius: 10px !important;                    /* rounded everywhere */
  box-shadow: 0 6px 14px rgba(0,0,0,.18);
  transition: transform .2s ease, box-shadow .2s ease;
  line-height: 1;                                     /* better vertical rhythm */
  min-height: 48px; display: inline-flex; align-items: center; justify-content: center;
  padding: .85em 1.25em;                              /* consistent with podcast CTAs */
}
#page-container .et_pb_button:hover,
#page-container .et_pb_promo_button:hover,
#page-container .et_pb_button_module_wrapper .et_pb_button:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(0,0,0,.22);
}

