/*
 * Webinar Schedule redesign (Aug 2026 handover) — page-scoped styles.
 * Everything lives under .tthc-wsn so nothing leaks into (or fights with)
 * the theme. Header/footer come from the site's global template parts.
 * Script font reuses the woff2 the site already hosts in uploads/2025/07.
 */
@font-face{
  font-family:'Feeling Passionate';
  src:url('https://travelhubcollection.com/wp-content/uploads/2025/07/Feeling-Passionate-Regular.woff2') format('woff2'),
      url('https://travelhubcollection.com/wp-content/uploads/2025/07/Feeling-Passionate-Regular.ttf') format('truetype');
  font-weight:normal;font-style:normal;font-display:swap;
}

.tthc-wsn{
  --navy:#1a2a5e; --navy-deep:#14224d; --blue:#2f4d99;
  --periwinkle:#8194c6; --lightblue:#aec0e2; --paleblue:#eef2fb; --paleblue-2:#f5f8fd;
  --ink:#1f2a4a; --muted:#6b7690; --white:#fff;
  --shadow-card:0 22px 48px -26px rgba(20,34,77,.45);
  --script:'Feeling Passionate','Poppins',cursive;
  font-family:'Poppins',system-ui,sans-serif;
  color:var(--ink);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
.tthc-wsn *{box-sizing:border-box;margin:0;padding:0;}
.tthc-wsn a{text-decoration:none;color:inherit;}
.tthc-wsn img{display:block;}

.tthc-wsn .page{max-width:1280px;margin:0 auto;background:#fff;}

/* ============ PAGE INTRO ============ */
/* Full-bleed band: the tint runs edge-to-edge while content stays on the
 * 1280px grid. overflow-x:clip on the wrapper absorbs the 100vw/scrollbar
 * rounding so the page never scrolls sideways. */
.tthc-wsn{overflow-x:clip;}
/* Top padding raised from the mock's 34px per client feedback (13 Aug) —
 * the heading sat too close under the site header. */
.tthc-wsn .page-intro{padding:72px 40px 40px;background:linear-gradient(180deg,#fff 0%,#f7f9fd 100%);width:100vw;margin-left:calc(50% - 50vw);}
.tthc-wsn .page-intro .intro-row{max-width:1200px;margin:0 auto;}
.tthc-wsn .page-intro + .section{padding-top:34px;}
.tthc-wsn .intro-row{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;}
.tthc-wsn .kicker-script{font-family:var(--script);font-size:40px;color:var(--periwinkle);line-height:1;}
.tthc-wsn .page-intro h1{font-size:31px;font-weight:700;color:var(--navy);letter-spacing:-.01em;margin-top:4px;}
.tthc-wsn .page-intro .lede{margin-top:9px;color:#5c6884;font-size:14.5px;max-width:640px;line-height:1.55;}
.tthc-wsn .intro-meta{display:flex;gap:26px;color:#7a86a3;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;}
/* !important needed: the site's global custom CSS declares
 * `b, strong { font-weight: normal !important }`, which otherwise un-bolds
 * every <b> on this page. */
.tthc-wsn .intro-meta b{display:block;font-size:22px;color:var(--navy);font-weight:700 !important;letter-spacing:0;text-transform:none;}

.tthc-wsn .section{padding:26px 40px 8px;}
.tthc-wsn .sec-head{display:flex;align-items:center;gap:14px;margin-bottom:20px;}
.tthc-wsn .sec-head .script{font-family:var(--script);font-size:36px;color:var(--periwinkle);line-height:.9;}
.tthc-wsn .sec-head h2{font-size:15px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);}
.tthc-wsn .sec-head .rule{flex:1;height:1px;background:linear-gradient(90deg,#dbe2f0,transparent);}
.tthc-wsn .sec-head .btn-lib{flex:none;background:var(--navy);border:1px solid var(--navy);color:#fff;font-weight:700;font-size:12px;padding:11px 20px;border-radius:100px;display:inline-flex;align-items:center;gap:7px;transition:background .15s ease,border-color .15s ease;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;}
.tthc-wsn .sec-head .btn-lib:hover{background:#22357a;border-color:#22357a;color:#fff;}

/* ============ UPCOMING CARDS ============ */
.tthc-wsn .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.tthc-wsn .wcard{background:#fff;border:1px solid #eaeef6;border-radius:20px;overflow:hidden;box-shadow:var(--shadow-card);display:flex;flex-direction:column;transition:transform .16s ease,box-shadow .16s ease;}
.tthc-wsn .wcard:hover{transform:translateY(-3px);box-shadow:0 30px 60px -28px rgba(20,34,77,.55);}
.tthc-wsn .wc-banner{position:relative;overflow:hidden;background:#22345f;height:150px;}
.tthc-wsn .wc-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.tthc-wsn .wc-banner .region{position:absolute;top:8px;left:14px;font-family:var(--script);font-size:clamp(22px,2.4vw,34px);color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.55);z-index:3;line-height:1;max-width:70%;}
.tthc-wsn .wc-banner .datepill{position:absolute;top:14px;right:14px;z-index:3;background:rgba(255,255,255,.94);color:var(--navy);border-radius:12px;text-align:center;padding:6px 10px;line-height:1;box-shadow:0 6px 16px -8px rgba(0,0,0,.5);}
.tthc-wsn .wc-banner .datepill .d{font-size:19px;font-weight:800;}
.tthc-wsn .wc-banner .datepill .m{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-top:2px;color:var(--blue);}
.tthc-wsn .wc-banner .scrim{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(20,34,77,.12) 35%,rgba(20,34,77,.62) 100%);}
.tthc-wsn .wc-body{padding:15px 18px 18px;display:flex;flex-direction:column;flex:1;}
.tthc-wsn .wc-time{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5e70a6;display:flex;align-items:center;gap:7px;}
.tthc-wsn .wc-time .live{width:7px;height:7px;border-radius:50%;background:#e8734a;box-shadow:0 0 0 3px rgba(232,115,74,.18);flex:none;}
.tthc-wsn .wc-body h3{font-size:16.5px;font-weight:700;color:var(--navy);margin:8px 0 6px;line-height:1.2;letter-spacing:-.01em;}
.tthc-wsn .wc-desc{font-size:12.5px;line-height:1.55;color:#454f68;flex:1;}
.tthc-wsn .presenter{display:flex;align-items:center;gap:9px;margin-top:14px;}
.tthc-wsn .presenter .pn{font-size:12px;color:#3c4763;}
.tthc-wsn .presenter .pn b{color:var(--navy);font-weight:700 !important;}

/* sponsors (Phase 2 fields — render only when populated) */
.tthc-wsn .sponsors{margin-top:16px;padding-top:14px;border-top:1px dashed #e4e8f2;}
.tthc-wsn .sponsors .lbl{font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#7f8ba8;margin-bottom:9px;display:flex;align-items:center;gap:7px;}
.tthc-wsn .sponsors .lbl .star{color:var(--periwinkle);}
.tthc-wsn .logos{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.tthc-wsn .logo-chip{height:38px;border:1px solid #e7ebf4;background:#f8fafd;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 6px;}
.tthc-wsn a.logo-chip{transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease;}
.tthc-wsn a.logo-chip:hover{border-color:var(--lightblue);box-shadow:0 6px 14px -8px rgba(20,34,77,.35);transform:translateY(-1px);}
.tthc-wsn .logo-chip img{max-height:28px;max-width:100%;width:auto;}
.tthc-wsn .main-sponsor{display:flex;align-items:center;gap:11px;padding:9px 13px;background:linear-gradient(90deg,#f5f8fd,#eef2fb);border:1px solid #e7ebf4;border-radius:12px;margin-bottom:14px;}
.tthc-wsn .main-sponsor .lbl{font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#9aa4bc;white-space:nowrap;}
.tthc-wsn .main-sponsor .ms-logo{font-weight:800;font-size:16px;letter-spacing:-.02em;color:var(--navy);white-space:nowrap;}
.tthc-wsn .main-sponsor img{height:24px;width:auto;}

.tthc-wsn .wc-foot{margin-top:16px;}
.tthc-wsn .btn-reg{display:block;text-align:center;background:var(--navy);color:#fff;font-weight:700;font-size:13px;padding:12px 16px;border-radius:100px;transition:background .15s ease;}
.tthc-wsn .btn-reg:hover{background:#22357a;color:#fff;}
.tthc-wsn .wsn-empty{padding:26px;border:1px dashed #d7deee;border-radius:16px;color:#5c6884;font-size:14px;background:#fafbfe;}

/* ============ HUBBLE BANNER ============ */
.tthc-wsn .hubble-banner{margin:26px 40px 6px;border-radius:22px;overflow:hidden;position:relative;background:radial-gradient(1100px 460px at 82% 12%,#26397a 0%,#1a2a5e 44%,#14224d 100%);}
.tthc-wsn .hb-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;padding:38px 46px;}
.tthc-wsn .badge-new{display:inline-flex;align-items:center;gap:8px;background:rgba(174,192,226,.16);border:1px solid rgba(174,192,226,.4);color:#cdd8f0;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:6px 13px;border-radius:100px;}
.tthc-wsn .badge-new .pulse{width:7px;height:7px;border-radius:50%;background:#8194c6;animation:tthc-wsn-pulse 2s infinite;}
@keyframes tthc-wsn-pulse{0%{box-shadow:0 0 0 0 rgba(129,148,198,.6);}70%{box-shadow:0 0 0 9px rgba(129,148,198,0);}100%{box-shadow:0 0 0 0 rgba(129,148,198,0);}}
.tthc-wsn .hubble-banner .script{font-family:var(--script);font-size:34px;color:#aec0e2;margin:14px 0 -4px;line-height:1;}
.tthc-wsn .hubble-banner .wordmark{font-size:56px;font-weight:800;letter-spacing:-.03em;color:#8194c6;line-height:.98;}
.tthc-wsn .hubble-banner .wordmark .dot{color:#aec0e2;}
.tthc-wsn .hubble-banner .role{font-size:16px;font-weight:600;color:#8091bd;margin-top:2px;}
.tthc-wsn .hubble-banner p.lede{color:#c7d1e8;font-size:14px;line-height:1.6;max-width:430px;margin:14px 0 22px;}
.tthc-wsn .btn-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.tthc-wsn .btn-primary{display:inline-flex;align-items:center;gap:9px;background:#aec0e2;color:#14224d;font-weight:700;font-size:14px;padding:13px 24px;border-radius:100px;transition:transform .15s ease,background .15s ease;}
.tthc-wsn .btn-primary:hover{background:#c3d1ec;transform:translateY(-1px);color:#14224d;}
.tthc-wsn .btn-ghost{color:#c7d1e8;font-size:13.5px;font-weight:500;border-bottom:1px solid rgba(199,209,232,.4);padding-bottom:2px;}
/* explicit hover: the theme's default link hover is dark navy, which vanishes
 * against this navy banner */
.tthc-wsn .btn-ghost:hover{color:#fff;border-bottom-color:#fff;}
.tthc-wsn .hb-widget{background:#fff;border-radius:18px;padding:22px;box-shadow:0 30px 70px -30px rgba(0,0,0,.55);}
.tthc-wsn .hb-widget .w-head{font-size:13.5px;font-weight:600;color:#2b3a68;line-height:1.5;margin-bottom:16px;}
.tthc-wsn .hb-search{display:flex;align-items:center;gap:11px;border:1px solid #e6eaf3;border-radius:13px;padding:14px 15px;color:#9aa3b8;font-size:13.5px;}
.tthc-wsn .hb-search .ask{margin-left:auto;background:var(--navy);color:#fff;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:9px 16px;border-radius:100px;flex:none;}
.tthc-wsn .hb-try{color:#a8b0c2;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:16px 0 10px;}
.tthc-wsn .hb-chips{display:flex;flex-wrap:wrap;gap:8px;}
.tthc-wsn .hb-chips .chip{border:1px solid #e3e8f2;border-radius:100px;padding:8px 13px;font-size:12px;color:#4a5677;background:#fafbfe;transition:all .14s ease;}
.tthc-wsn .hb-chips .chip:hover{background:var(--paleblue);border-color:var(--lightblue);color:var(--navy);}

/* ============ ON DEMAND ============ */
/* Same full-bleed treatment as the intro band. */
.tthc-wsn .missed{background:linear-gradient(180deg,#e2e9f7,#d9e2f3);border-top:1px solid #c9d5ec;margin-top:24px;padding-bottom:12px;width:100vw;margin-left:calc(50% - 50vw);}
.tthc-wsn .missed .section{max-width:1280px;margin:0 auto;}
.tthc-wsn .grid-od{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.tthc-wsn .od-card{background:#fff;border:1px solid #e8ecf5;border-radius:16px;overflow:hidden;box-shadow:0 16px 34px -24px rgba(20,34,77,.4);transition:transform .16s ease;}
.tthc-wsn .od-card:hover{transform:translateY(-3px);}
.tthc-wsn .od-banner{position:relative;height:118px;background:#22345f;overflow:hidden;}
.tthc-wsn .od-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.tthc-wsn .od-banner .play{position:absolute;inset:0;margin:auto;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.94);display:flex;align-items:center;justify-content:center;color:var(--navy);z-index:4;box-shadow:0 8px 20px -8px rgba(0,0,0,.5);}
.tthc-wsn .od-banner .play svg{margin-left:3px;}
.tthc-wsn .od-banner .region{position:absolute;top:6px;left:12px;font-family:var(--script);font-size:clamp(18px,2vw,28px);color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.55);z-index:3;line-height:1;max-width:60%;}
.tthc-wsn .od-banner .ondemand{position:absolute;top:12px;right:12px;z-index:3;background:rgba(20,34,77,.82);color:#dbe4f7;font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:5px 9px;border-radius:100px;}
.tthc-wsn .od-banner .scrim{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(20,34,77,.2),rgba(20,34,77,.55));}
.tthc-wsn .od-body{padding:13px 16px 16px;}
.tthc-wsn .od-body h4{font-size:14px;font-weight:700;color:var(--navy);line-height:1.25;letter-spacing:-.01em;}
.tthc-wsn .od-meta{margin-top:7px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#5f6a86;gap:10px;}
.tthc-wsn .od-meta .watch{color:var(--blue);font-weight:700;white-space:nowrap;}

/* The Kava theme's .site-content wrapper adds margin-bottom:30px, leaving a
 * white strip between the on-demand band and the footer. Zeroed for this
 * template only (this stylesheet loads nowhere else). */
/* Extra .page class outranks the theme's `body:not(...) .site-content` rule,
 * which loads after this sheet and ties on specificity otherwise. */
body.page.page-template-page-webinar-schedule-new .site-content{margin-bottom:0;}

/* ============ RECORDING LIGHTBOX ============ */
.tthc-wsn .wsn-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px;}
.tthc-wsn .wsn-modal[hidden]{display:none;}
.tthc-wsn .wsn-modal-backdrop{position:absolute;inset:0;background:rgba(13,20,45,.82);backdrop-filter:blur(3px);cursor:pointer;}
.tthc-wsn .wsn-modal-body{position:relative;width:min(960px,100%);z-index:1;}
.tthc-wsn .wsn-modal-title{color:#dbe4f7;font-size:14px;font-weight:600;margin-bottom:10px;padding-right:48px;}
.tthc-wsn .wsn-modal-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden;box-shadow:0 40px 90px -30px rgba(0,0,0,.8);}
.tthc-wsn .wsn-modal-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.tthc-wsn .wsn-modal-close{position:absolute;top:-6px;right:0;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:20px;line-height:1;cursor:pointer;transition:background .15s ease;}
.tthc-wsn .wsn-modal-close:hover{background:rgba(255,255,255,.3);}

/* ============ RESPONSIVE ============ */
@media(max-width:1100px){
  .tthc-wsn .grid3,.tthc-wsn .grid-od{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:1000px){
  .tthc-wsn .hb-inner{grid-template-columns:1fr;gap:26px;padding:32px 28px;}
  .tthc-wsn .hubble-banner .wordmark{font-size:46px;}
}
@media(max-width:700px){
  .tthc-wsn .grid3,.tthc-wsn .grid-od{grid-template-columns:1fr;}
  .tthc-wsn .page-intro,.tthc-wsn .section{padding-left:20px;padding-right:20px;}
  .tthc-wsn .hubble-banner{margin-left:20px;margin-right:20px;}
}
