/* ===================================================================
   jointoda.com — Additional CSS
   =================================================================== */


/* --- Global ------------------------------------------------------- */

html, body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}


/* --- HVUT pages --------------------------------------------------- */
/* /hvut/ = 12420   ·   /2290/ = 14099
   Zero Elementor's default container padding so the pasted sections
   control their own insets. */

.elementor-12420 .e-con,
.elementor-14099 .e-con {
  --container-default-padding-top: 0px;
  --container-default-padding-right: 0px;
  --container-default-padding-bottom: 0px;
  --container-default-padding-left: 0px;
}

/* Visited-link colour locks — without these the browser's default
   purple overrides the button text colour. */

#hero .toda-hero__btn--primary:visited,
#pricing .toda-pricing__btn:visited,
#why-associate .toda-benefits__cta:visited,
#final-cta .toda-final-cta__btn--primary:visited {
  color: #ffffff !important;
}

#hero .toda-hero__btn--secondary:visited,
#pricing .toda-pricing__btn--ghost:visited,
#final-cta .toda-final-cta__btn--ghost:visited {
  color: #10242e !important;
}


/* --- Resources page ----------------------------------------------- */

#resources-hero h1 {
  font-family: "Inter", sans-serif !important;
  font-weight: 900 !important;
}


/* --- Blog / single posts ------------------------------------------ */

.entry-header .entry-meta { display: none !important; }

.ast-breadcrumbs-wrapper { display: none !important; }


.single-post .entry-title { font-family: Arial, sans-serif !important; }

.single-post .ast-container { max-width: 1550px !important; }

/* Hides the duplicated subtitle under the featured image.
   Note: this hides the first H2 in every post. */
.single-post .entry-content h2:first-child { display: none !important; }

/* DOT Rule CDL post — featured image width */
.postid-12269 .post-thumb-img-content .wp-post-image {
  width: 100% !important;
  height: auto !important;
}

/* Gap between post cards in listings */
.elementor-posts-container.elementor-grid {
  row-gap: 20px !important;
}


/* --- Header / mobile ---------------------------------------------- */

.wrapper-sticky-fixed { margin-bottom: 0 !important; }


/* --- West chapter page (843) -------------------------------------- */

[data-id="5f4fc16"] > .e-con-inner,
[data-id="e6a17f8"] > .e-con-inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}


/* Fix oversized YouTube video in sidebar on DOT Rule CDL post (postid-12269) */
/* Cause: Elementor removes block-library CSS on Elementor-built pages */
.postid-12269 .wp-has-aspect-ratio .wp-block-embed__wrapper {
  position: relative !important;
  padding-bottom: 56.25% !important;
  height: 0 !important;
}
.postid-12269 .wp-has-aspect-ratio .wp-block-embed__wrapper iframe {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

/* Fix button styling on DOT Rule CDL post (postid-12269) */
/* Elementor removes wp-block-library CSS which provides border-radius and display for buttons */
.postid-12269 .wp-block-button__link,
.postid-12269 .wp-element-button {
  display: inline-block !important;
  border-radius: 9999px !important;
}

/* REGRESSION FIX: Undo position:relative on wrapper (causes white block) */
/* REGRESSION FIX: Override width:100vw (causes horizontal overflow) */
@media (max-width: 767px) {
  .wrapper-sticky-fixed {
    position: static !important;
  }
  .elementor-element-d68a237.jkit-sticky-position--fixed,
  .elementor-element-d68a237.elementor-sticky--active[style*="fixed"] {
    left: 0 !important;
    width: auto !important;
    right: auto !important;
    box-sizing: border-box !important;
  }
}

/* ===== iUnity "Become an Associate" banner ===== */
.toda-join{
  --lg:52px;   /* letterform height - tuned to the 694px blog column */
  --gk:2.2;    /* glow scale: 1 = as drawn, higher = reaches further up */
  --tj-bg:#14171a; --tj-amber:#f5a623; --tj-ink:#14171a;
  --tj-line:#3a3f45; --tj-mute:#9aa4ad; --tj-link:#2b8cff;
  font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--tj-bg); border-radius:14px;
  height:auto; box-sizing:border-box;
  padding:12px 24px; margin:40px 0;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  overflow:visible;
  position:relative;
}
.toda-join *{box-sizing:border-box}

/* WordPress wraps loose inline content in a paragraph tag with a bottom
   margin, which knocks the button off centre. This removes that wrapper
   from the layout. */
.toda-join > p{margin:0; padding:0; display:contents}

.toda-join__left{display:flex; align-items:center; gap:22px; min-width:0}

/* Reserves exactly the wordmark box - nothing else affects layout */
.toda-join__mark{
  position:relative; flex:none;
  width:calc(var(--lg) * 2.50607); height:var(--lg);
}
/* Offsets suit the uploaded wordmark, 3385x1600 with letters inset at (52,149).
   Change these four numbers only if you replace that file with a different crop. */
.toda-join__wordmark{
  position:absolute; z-index:2; display:block; max-width:none;
  height:calc(var(--lg) * 1.21304); width:auto;
  left:calc(var(--lg) * -0.03942);
  top:calc(var(--lg) * -0.11296);
}
/* Centred on the dot of the i */
.toda-join__glow{
  --gs:calc(var(--lg) * 1.39530 * var(--gk));
  position:absolute; z-index:1; pointer-events:none;
  width:var(--gs); height:auto; max-width:none;
  left:calc(var(--lg) * 0.09522 - var(--gs) / 2);
  top:calc(var(--lg) * 0.10433 - var(--gs) / 2);
}

.toda-join__copy{min-width:0}
.toda-join__title{
  display:block; color:#fff; font-size:19px; font-weight:800;
  line-height:1.2; letter-spacing:-.015em; margin-bottom:3px;
}
.toda-join__text{
  display:block; color:var(--tj-mute); font-size:13px;
  line-height:1.4; margin-bottom:5px;
}
.toda-join__links{display:flex; flex-wrap:wrap; align-items:center; gap:6px 18px}
.toda-join__links a{
  color:var(--tj-link); font-size:12px; font-weight:600;
  text-decoration:none;
  transition:color .15s ease;
}
.toda-join__links a:visited{color:var(--tj-link)}
.toda-join__links a:hover{color:#6fb4ff; text-decoration:underline; text-underline-offset:2px}
.toda-join__links a:focus-visible{outline:2px solid var(--tj-link); outline-offset:3px}

.toda-join__btn{
  flex:none; display:flex; flex-direction:column; align-items:flex-end;
  background:var(--tj-amber); color:var(--tj-ink);
  border-radius:10px; padding:9px 18px; text-decoration:none;
  transition:transform .15s ease, filter .15s ease;
}
.toda-join__btn:visited{color:var(--tj-ink)}
.toda-join__btn:hover{filter:brightness(1.06); transform:translateY(-1px); color:var(--tj-ink)}
.toda-join__btn:focus-visible{outline:3px solid #fff; outline-offset:3px}
.toda-join__btn-main{font-size:17px; font-weight:700; letter-spacing:-.1px; line-height:1.1; white-space:nowrap}
.toda-join__btn-sub{font-size:10px; font-weight:600; line-height:1; margin-top:3px; color:rgba(20,23,26,.82); white-space:nowrap}

.toda-join__stores{display:none}
.toda-join__badge{
  display:inline-flex; align-items:center; gap:9px;
  background:#000; border:1px solid var(--tj-line); border-radius:10px;
  padding:8px 15px 8px 12px; text-decoration:none; color:#fff;
  flex:1 1 0; min-width:0;
}
.toda-join__badge:visited{color:#fff}
.toda-join__badge:hover{border-color:var(--tj-amber); color:#fff}
.toda-join__badge:focus-visible{outline:3px solid var(--tj-amber); outline-offset:2px}
.toda-join__badge svg{flex:none; fill:#fff}
.toda-join__badge-k{display:block; font-size:9px; letter-spacing:.06em; text-transform:uppercase; color:var(--tj-mute)}
.toda-join__badge-v{display:block; font-size:13.5px; font-weight:700; white-space:nowrap}

@media (max-width:820px){
  .toda-join{--lg:48px}
}
@media (max-width:782px){
  .toda-join{
    --lg:56px;
    flex-direction:column; align-items:stretch;
    gap:14px; padding:22px 20px;
  }
  .toda-join > p{display:block}
  .toda-join__left{flex-direction:column; align-items:flex-start; gap:14px}
  .toda-join__copy{width:100%}
  .toda-join__title{font-size:18px}
  .toda-join__btn{align-items:center; padding:13px 20px}
  .toda-join__stores{display:flex; gap:10px}
}
@media (max-width:430px){
  .toda-join{--lg:48px}
  .toda-join__stores{flex-direction:column}
  .toda-join__links{flex-direction:column; align-items:flex-start; gap:7px}
}