.hds-route-hub,.hds-route-single{font-family:var(--hds-route-font,inherit);font-size:var(--hds-route-size,16px);line-height:1.6;color:#1f2937}.hds-route-hero{background:linear-gradient(135deg,rgba(214,51,132,.12),rgba(91,192,222,.14));border:1px solid rgba(214,51,132,.18);border-radius:24px;padding:clamp(20px,4vw,42px);margin:0 0 24px}.hds-route-hero h1{margin:0 0 8px;font-size:clamp(2rem,5vw,3.2rem);line-height:1.05}.hds-route-category-grid,.hds-route-video-grid,.hds-route-notes-grid{display:grid;gap:18px}.hds-route-category-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin:0 0 28px}.hds-route-category-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px;border-radius:18px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 8px 20px rgba(0,0,0,.06);text-decoration:none!important;color:#111827!important}.hds-route-category-card:hover,.hds-route-category-card:focus{outline:3px solid rgba(214,51,132,.28);transform:translateY(-1px)}.hds-route-category-card span{font-weight:800}.hds-route-category-card small{color:#6b7280}.hds-route-video-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.hds-route-card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.07)}.hds-route-thumb{display:block;aspect-ratio:16/9;background:#f3f4f6;overflow:hidden}.hds-route-thumb img{width:100%;height:100%;object-fit:cover;display:block}.hds-route-card-fallback{height:100%;display:grid;place-items:center;font-weight:900;color:#6b7280;background:linear-gradient(135deg,#fce7f3,#e0f2fe)}.hds-route-card-body{padding:18px}.hds-route-card h3{font-size:1.25rem;line-height:1.2;margin:.25rem 0}.hds-route-card h3 a{color:#111827!important;text-decoration:none}.hds-route-card-meta{font-weight:700;color:#4b5563}.hds-route-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:5px 10px;border-radius:999px;background:rgba(214,51,132,.1);color:var(--hds-route-accent,#d63384);font-weight:800;font-size:.88em}.hds-route-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border-radius:999px;background:var(--hds-route-accent,#d63384);color:#fff!important;text-decoration:none!important;font-weight:800;border:2px solid transparent}.hds-route-btn:hover,.hds-route-btn:focus{outline:3px solid rgba(214,51,132,.32);outline-offset:2px}.hds-route-video-wrap{position:relative;width:100%;aspect-ratio:16/9;background:#111;border-radius:22px;overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,.16);margin:10px 0 18px}.hds-route-video-wrap iframe,.hds-route-video-wrap video{position:absolute;inset:0;width:100%;height:100%;border:0}.hds-route-video-placeholder,.hds-route-login{padding:28px;border-radius:20px;background:#f9fafb;border:2px dashed #d1d5db;text-align:center}.hds-route-meta-row{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 20px}.hds-route-meta-row span{background:#f9fafb;border:1px solid #e5e7eb;border-radius:999px;padding:8px 12px}.hds-route-main-copy{margin:18px 0}.hds-route-notes-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin:24px 0}.hds-route-note-card{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:18px;box-shadow:0 8px 22px rgba(0,0,0,.05)}.hds-route-note-card h3{margin-top:0;color:#111827}.hds-route-note-card ul{padding-left:1.2rem}.hds-route-disclaimer{background:#fff7ed;border-left:5px solid #fb923c;border-radius:14px;padding:14px 16px;margin:20px 0}.hds-route-comments{margin-top:30px;padding-top:18px;border-top:1px solid #e5e7eb}.hds-route-comments textarea,.hds-route-comments input[type=text],.hds-route-comments input[type=email],.hds-route-comments input[type=url]{width:100%;border:1px solid #9ca3af;border-radius:10px;padding:10px}.hds-route-comments input[type=submit]{background:var(--hds-route-accent,#d63384);color:#fff;border:0;border-radius:999px;padding:10px 18px;font-weight:800;cursor:pointer}@media(max-width:640px){.hds-route-meta-row{display:grid}.hds-route-card-body{padding:15px}}
.hds-route-template-wrap{max-width:1180px;margin:0 auto;padding:clamp(18px,4vw,40px)}
.hds-route-category-index .hds-route-area-hero{margin-bottom:28px}
.hds-route-btn.secondary{background:#fff;color:var(--hds-route-accent,#d63384)!important;border-color:var(--hds-route-accent,#d63384);box-shadow:0 8px 20px rgba(0,0,0,.05)}

/* v1.2.4 - compact index cards with full-width thumbnails */
.hds-route-category-index .hds-route-video-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.hds-route-category-index .hds-route-card{border-radius:16px;box-shadow:0 6px 18px rgba(0,0,0,.055)}
.hds-route-category-index .hds-route-thumb{width:100%;height:150px;aspect-ratio:auto;max-height:150px}
.hds-route-category-index .hds-route-card-body{padding:12px 13px 14px}
.hds-route-category-index .hds-route-card h3{font-size:1.02rem;margin:.15rem 0 .25rem}
.hds-route-category-index .hds-route-card p{margin:.35rem 0;font-size:.94em;line-height:1.45}
.hds-route-category-index .hds-route-card .hds-route-badge{font-size:.78em;padding:3px 8px;margin:0 0 4px}
.hds-route-category-index .hds-route-card-meta{font-size:.88em}
.hds-route-category-index .hds-route-card .hds-route-btn{min-height:34px;padding:6px 11px;font-size:.9em;margin-top:6px}
@media(min-width:900px){.hds-route-category-index .hds-route-video-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}
@media(max-width:640px){.hds-route-category-index .hds-route-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hds-route-category-index .hds-route-thumb{height:118px;max-height:118px}.hds-route-category-index .hds-route-card-body{padding:10px}.hds-route-category-index .hds-route-card h3{font-size:.95rem}.hds-route-category-index .hds-route-card p:not(.hds-route-badge):not(.hds-route-card-meta){display:none}.hds-route-category-index .hds-route-card .hds-route-btn{width:100%;font-size:.84em}}
@media(max-width:420px){.hds-route-category-index .hds-route-video-grid{grid-template-columns:1fr}.hds-route-category-index .hds-route-thumb{height:150px;max-height:150px}}

/* v1.3.0 - professional front-end polish, scoped to Route Hub only */
.hds-route-hub,
.hds-route-single{
  --hds-route-soft:#fff7fb;
  --hds-route-ink:#121827;
  --hds-route-muted:#5b6472;
  --hds-route-line:#e6e8ee;
  --hds-route-panel:#ffffff;
  max-width:1180px;
  margin-inline:auto;
  padding:clamp(16px,3vw,30px);
  border-radius:28px;
  background:
    radial-gradient(circle at top left, rgba(214,51,132,.12), transparent 28rem),
    radial-gradient(circle at top right, rgba(91,192,222,.14), transparent 26rem),
    linear-gradient(180deg,#ffffff 0%,#fbfcff 100%);
  box-shadow:0 18px 55px rgba(15,23,42,.08);
  border:1px solid rgba(15,23,42,.06);
}
.hds-route-template-wrap .hds-route-hub{margin-top:0}
.hds-route-hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(214,51,132,.92),rgba(91,192,222,.86)),
    linear-gradient(135deg,#d63384,#5bc0de);
  color:#fff;
  border:0;
  box-shadow:0 20px 55px rgba(214,51,132,.22);
}
.hds-route-hero:after{
  content:"";
  position:absolute;
  inset:auto -8% -45% auto;
  width:360px;
  height:360px;
  border-radius:50%;
  background:rgba(255,255,255,.15);
  pointer-events:none;
}
.hds-route-hero h1{color:#fff;letter-spacing:-.04em;max-width:850px}
.hds-route-hero p{max-width:760px;font-size:clamp(1rem,2vw,1.18rem);margin:.55rem 0 0;color:rgba(255,255,255,.95)}
.hds-route-eyebrow{margin:0 0 8px!important;text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:.78rem;color:var(--hds-route-accent,#d63384)}
.hds-route-hero .hds-route-eyebrow{color:#fff;background:rgba(255,255,255,.18);display:inline-flex;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.28)}
.hds-route-hero-points{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px;position:relative;z-index:1}
.hds-route-hero-points span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);font-weight:800;color:#fff;font-size:.92rem}
.hds-route-section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:28px 0 14px}
.hds-route-section-head h2{margin:0;color:var(--hds-route-ink);letter-spacing:-.025em;font-size:clamp(1.35rem,3vw,2rem)}
.hds-route-category-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:30px}
.hds-route-category-card{
  min-height:94px;
  align-items:center;
  justify-content:flex-start;
  padding:18px;
  border-radius:22px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 12px 32px rgba(15,23,42,.07);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.hds-route-category-card:hover,
.hds-route-category-card:focus{transform:translateY(-3px);box-shadow:0 18px 45px rgba(15,23,42,.12);border-color:rgba(214,51,132,.25)}
.hds-route-category-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,rgba(214,51,132,.14),rgba(91,192,222,.18));color:var(--hds-route-accent,#d63384);font-size:.95rem;font-weight:900;flex:0 0 auto}
.hds-route-category-text{display:grid;gap:2px;min-width:0}
.hds-route-category-text strong{font-size:1.04rem;color:var(--hds-route-ink);line-height:1.15}
.hds-route-category-text small{font-weight:800;color:var(--hds-route-muted)}
.hds-route-category-arrow{margin-left:auto;width:32px;height:32px;display:grid;place-items:center;border-radius:999px;background:#f8fafc;color:var(--hds-route-accent,#d63384);font-weight:900}
.hds-route-video-grid{gap:18px}
.hds-route-card{
  border:1px solid rgba(15,23,42,.08);
  border-radius:20px;
  background:var(--hds-route-panel);
  box-shadow:0 12px 34px rgba(15,23,42,.075);
  transition:transform .18s ease, box-shadow .18s ease;
}
.hds-route-card:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(15,23,42,.12)}
.hds-route-card .hds-route-thumb{position:relative;background:linear-gradient(135deg,#fdf2f8,#e0f2fe)}
.hds-route-card .hds-route-thumb:after{content:"Watch";position:absolute;right:10px;bottom:10px;padding:5px 9px;border-radius:999px;background:rgba(17,24,39,.78);color:#fff;font-size:.76rem;font-weight:900;opacity:0;transform:translateY(4px);transition:.18s ease}
.hds-route-card:hover .hds-route-thumb:after{opacity:1;transform:translateY(0)}
.hds-route-card-body{display:grid;gap:7px}
.hds-route-card-body p{margin:0;color:var(--hds-route-muted)}
.hds-route-card h3{margin:0;font-weight:900;letter-spacing:-.02em;color:var(--hds-route-ink)}
.hds-route-card h3 a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.hds-route-card-meta{font-size:.9rem;color:#364152!important}
.hds-route-badge{border:1px solid rgba(214,51,132,.16);background:rgba(214,51,132,.095)}
.hds-route-btn{box-shadow:0 10px 22px rgba(214,51,132,.22);transition:transform .16s ease, box-shadow .16s ease, background .16s ease}.hds-route-btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(214,51,132,.27)}
.hds-route-category-index .hds-route-hero{padding:clamp(18px,3vw,34px)}
.hds-route-category-index .hds-route-video-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.hds-route-category-index .hds-route-card{border-radius:18px}
.hds-route-category-index .hds-route-thumb{height:145px;max-height:145px}
.hds-route-single{max-width:1050px}
.hds-route-single > .hds-route-badge{margin-bottom:12px}.hds-route-video-wrap{border:1px solid rgba(15,23,42,.12);box-shadow:0 22px 55px rgba(15,23,42,.18);border-radius:26px}.hds-route-meta-row span{background:#fff;border-color:rgba(15,23,42,.09);box-shadow:0 8px 20px rgba(15,23,42,.04);font-weight:700}.hds-route-main-copy{background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:22px;padding:18px 20px;box-shadow:0 10px 28px rgba(15,23,42,.045)}.hds-route-note-card{border:1px solid rgba(15,23,42,.08);border-radius:22px;box-shadow:0 12px 30px rgba(15,23,42,.06)}.hds-route-note-card h3{font-size:1.05rem;letter-spacing:-.02em;border-bottom:1px solid #eef0f4;padding-bottom:9px;margin-bottom:10px}.hds-route-disclaimer{background:#fff9f1;border:1px solid #fed7aa;border-left:6px solid #fb923c;box-shadow:0 10px 26px rgba(251,146,60,.08)}.hds-route-comments{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:24px;padding:20px;box-shadow:0 12px 30px rgba(15,23,42,.055)}.hds-route-comments h2{margin-top:0}.hds-route-comments .comment-reply-title{font-weight:900}.hds-route-comments textarea,.hds-route-comments input[type=text],.hds-route-comments input[type=email],.hds-route-comments input[type=url]{background:#fbfcff;border:1px solid #cbd5e1;border-radius:14px}.hds-route-comments textarea:focus,.hds-route-comments input:focus{outline:3px solid rgba(214,51,132,.2);border-color:var(--hds-route-accent,#d63384)}
@media(max-width:720px){.hds-route-hub,.hds-route-single{padding:14px;border-radius:20px}.hds-route-hero{border-radius:20px}.hds-route-category-grid{grid-template-columns:1fr}.hds-route-hero-points span{font-size:.84rem}.hds-route-section-head{margin-top:22px}.hds-route-video-grid{grid-template-columns:1fr}.hds-route-category-index .hds-route-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hds-route-category-index .hds-route-thumb{height:120px;max-height:120px}.hds-route-category-index .hds-route-card .hds-route-thumb:after{display:none}}
@media(max-width:440px){.hds-route-category-index .hds-route-video-grid{grid-template-columns:1fr}.hds-route-category-index .hds-route-thumb{height:165px;max-height:165px}}


/* v1.3.1 - keep embedded players full width/height inside the polished video window */
.hds-route-single{max-width:1180px!important;width:100%!important;box-sizing:border-box!important}
.hds-route-video-wrap{width:100%!important;max-width:100%!important;min-height:0!important;aspect-ratio:16/9!important;display:block!important;position:relative!important}
.hds-route-video-wrap iframe,
.hds-route-video-wrap .hds-route-player-frame,
.hds-route-video-wrap video,
.hds-route-video-wrap embed,
.hds-route-video-wrap object{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;max-width:none!important;min-width:100%!important;max-height:none!important;min-height:100%!important;border:0!important;margin:0!important;padding:0!important;display:block!important;transform:none!important}
.hds-route-video-wrap > *{box-sizing:border-box!important}


/* v1.3.2 - Bunny Stream full-frame fix
   Direct Play links are accepted in admin, but rendered through Bunny's embed endpoint for a true full-size iframe player. */
.hds-route-video-wrap-bunny{
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  padding:0!important;
  overflow:hidden!important;
  background:#05070b!important;
}
.hds-route-video-wrap-bunny iframe.hds-route-bunny-frame,
.hds-route-video-wrap-bunny iframe[src*="mediadelivery.net"]{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  border:0!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  background:#05070b!important;
}
.hds-route-video-wrap-bunny iframe.hds-route-bunny-frame[style]{
  width:100%!important;
  height:100%!important;
}

/* v1.3.3 - polished learner Q&A comments */
.hds-route-qa{margin-top:34px!important;padding:0!important;border:1px solid rgba(15,23,42,.08)!important;border-radius:26px!important;background:#fff!important;box-shadow:0 16px 42px rgba(15,23,42,.07)!important;overflow:hidden!important}
.hds-route-qa-head{padding:22px 24px 18px;background:linear-gradient(135deg,rgba(214,51,132,.08),rgba(91,192,222,.1));border-bottom:1px solid rgba(15,23,42,.07)}
.hds-route-qa-head h2{margin:.1rem 0 .35rem!important;font-size:clamp(1.45rem,3vw,2rem)!important;line-height:1.15!important;color:#111827!important}
.hds-route-qa-head p{margin:.35rem 0!important;color:#4b5563!important}
.hds-route-qa-note{display:inline-flex;margin-top:10px!important;padding:8px 11px;border-radius:999px;background:#fff;border:1px solid rgba(214,51,132,.14);font-weight:800;font-size:.9rem;color:#374151!important}
.hds-route-question-list{list-style:none!important;margin:0!important;padding:20px 24px 4px!important;display:grid;gap:14px!important}
.hds-route-question-list .children{list-style:none!important;margin:12px 0 0 34px!important;padding:0 0 0 18px!important;border-left:3px solid rgba(214,51,132,.17)!important;display:grid;gap:12px!important}
.hds-route-question-item{margin:0!important;padding:0!important}
.hds-route-question-card{border:1px solid rgba(15,23,42,.08);border-radius:18px;background:#fbfcff;padding:14px 15px;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.hds-route-question-team>.hds-route-question-card{background:linear-gradient(135deg,#fff,#fff7fb);border-color:rgba(214,51,132,.22);box-shadow:0 10px 26px rgba(214,51,132,.07)}
.hds-route-question-header{display:flex;align-items:flex-start;gap:11px;margin-bottom:9px}
.hds-route-question-avatar img{width:42px!important;height:42px!important;border-radius:999px!important;display:block!important;border:2px solid #fff;box-shadow:0 4px 12px rgba(15,23,42,.12)}
.hds-route-question-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px 9px;line-height:1.2}
.hds-route-question-meta strong{font-weight:900;color:#111827}.hds-route-question-meta time{font-size:.86rem;color:#64748b;font-weight:700}.hds-route-amanda-badge{display:inline-flex;padding:3px 8px;border-radius:999px;background:var(--hds-route-accent,#d63384);color:#fff;font-size:.78rem;font-weight:900;letter-spacing:.01em}
.hds-route-question-content{color:#243044}.hds-route-question-content p{margin:.35rem 0!important}.hds-route-question-content p:first-child{margin-top:0!important}.hds-route-question-content p:last-child{margin-bottom:0!important}
.hds-route-question-actions{margin-top:9px}.hds-route-question-actions a{display:inline-flex!important;align-items:center!important;min-height:32px!important;padding:5px 10px!important;border-radius:999px!important;background:#fff!important;border:1px solid rgba(15,23,42,.12)!important;text-decoration:none!important;font-weight:900!important;color:var(--hds-route-accent,#d63384)!important}.hds-route-question-actions a:hover,.hds-route-question-actions a:focus{outline:3px solid rgba(214,51,132,.18);outline-offset:2px}
.hds-route-no-questions{margin:20px 24px 0;padding:16px;border-radius:18px;background:#f8fafc;border:1px dashed #cbd5e1;color:#475569;font-weight:800;text-align:center}
.hds-route-question-form-wrap{padding:20px 24px 24px;border-top:1px solid rgba(15,23,42,.07);background:#fff}.hds-route-question-form-wrap .comment-reply-title{margin-top:0!important;font-size:1.3rem!important;font-weight:900!important;color:#111827}.hds-route-question-form-wrap label{display:block;font-weight:900;margin-bottom:6px;color:#111827}.hds-route-comment-note{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px 12px;color:#475569;font-weight:700}.hds-route-question-form-wrap textarea,.hds-route-question-form-wrap input[type=text],.hds-route-question-form-wrap input[type=email],.hds-route-question-form-wrap input[type=url]{width:100%!important;box-sizing:border-box!important;background:#fbfcff!important;border:1px solid #cbd5e1!important;border-radius:15px!important;padding:11px 12px!important;color:#111827!important}.hds-route-question-form-wrap textarea:focus,.hds-route-question-form-wrap input:focus{outline:3px solid rgba(214,51,132,.2)!important;border-color:var(--hds-route-accent,#d63384)!important}.hds-route-submit,.hds-route-question-form-wrap input[type=submit]{background:var(--hds-route-accent,#d63384)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:11px 18px!important;font-weight:900!important;cursor:pointer!important;box-shadow:0 10px 22px rgba(214,51,132,.22)}
@media(max-width:640px){.hds-route-qa-head,.hds-route-question-list,.hds-route-question-form-wrap{padding-left:16px!important;padding-right:16px!important}.hds-route-question-list .children{margin-left:10px!important;padding-left:12px!important}.hds-route-question-header{gap:9px}.hds-route-qa-note{border-radius:14px}.hds-route-question-meta{display:grid;gap:4px}.hds-route-question-card{padding:13px}}

/* v1.4.0 member access layer */
.hds-route-locked,.hds-route-account{max-width:900px;margin:28px auto;padding:28px;border-radius:24px;background:#fff;box-shadow:0 18px 55px rgba(15,23,42,.12);border:1px solid rgba(214,51,132,.16);font-family:var(--hds-route-font,inherit);font-size:var(--hds-route-size,16px)}
.hds-route-lock-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.hds-route-member-form input,.hds-route-login-box input[type=text],.hds-route-login-box input[type=password]{width:100%;max-width:460px;border:1px solid #d7dce5;border-radius:12px;padding:12px 14px}.hds-route-form-message{padding:12px 14px;border-radius:14px;background:#eef6ff;border:1px solid #bfdbfe;margin:12px 0}.hds-route-form-message.success{background:#ecfdf3;border-color:#bbf7d0}.hds-route-form-message.error{background:#fff1f2;border-color:#fecdd3}.hds-route-account .login-username,.hds-route-account .login-password{margin-bottom:14px}.hds-route-account .button-primary{border:0;border-radius:999px;background:var(--hds-route-accent,#d63384);color:#fff;padding:12px 20px;font-weight:800;cursor:pointer}

/* v1.4.1 - all-in-one learner front page */
.hds-route-portal{max-width:1180px;margin:0 auto;padding:18px 16px 38px;font-family:var(--hds-route-font,inherit);font-size:var(--hds-route-size,16px)}
.hds-route-portal-hero{position:relative;overflow:hidden}
.hds-route-portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:26px 0}
.hds-route-portal-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:26px;padding:24px;box-shadow:0 18px 50px rgba(15,23,42,.08)}
.hds-route-portal-card.primary{border-color:rgba(214,51,132,.18);background:linear-gradient(135deg,#fff,#fff7fb)}
.hds-route-portal-card h2{margin:.1rem 0 .45rem!important;color:#111827!important;font-size:clamp(1.45rem,3vw,2rem)!important;line-height:1.15!important}
.hds-route-portal-card p{color:#4b5563!important;line-height:1.55!important}
.hds-route-portal .hds-route-login-box,.hds-route-portal .hds-route-register-box{box-shadow:none!important;border:0!important;background:transparent!important;margin:0!important;padding:0!important;max-width:none!important}
.hds-route-portal .hds-route-login-box h2,.hds-route-portal .hds-route-register-box h2{display:none!important}
.hds-route-portal-status .hds-route-account{max-width:none;margin:22px 0;background:linear-gradient(135deg,#fff,#f8fbff)}
.hds-route-locked-card{margin:22px 0;padding:24px;border-radius:24px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 15px 42px rgba(15,23,42,.07)}
.hds-route-locked-card h2{margin-top:0!important;color:#111827!important}
@media(max-width:820px){.hds-route-portal-grid{grid-template-columns:1fr}.hds-route-portal-card{padding:20px}.hds-route-portal{padding-left:12px;padding-right:12px}}

/* v1.4.4 - learner navigation menu */
.hds-route-member-nav{max-width:1180px;margin:0 auto 18px;padding:0 16px;font-family:var(--hds-route-font,inherit);font-size:var(--hds-route-size,16px);box-sizing:border-box}
.hds-route-member-nav-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(135deg,#111827,#1f2937);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:12px 14px;box-shadow:0 16px 42px rgba(15,23,42,.16)}
.hds-route-member-nav-brand{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:950;letter-spacing:.01em;white-space:nowrap}
.hds-route-member-nav-brand:before{content:"▶";display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--hds-route-accent,#d63384);color:#fff;font-size:.75rem;box-shadow:0 8px 18px rgba(214,51,132,.28)}
.hds-route-member-nav-links{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.hds-route-member-nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff!important;text-decoration:none!important;font-weight:850;font-size:.92rem;line-height:1;transition:transform .15s ease,background .15s ease,border-color .15s ease}
.hds-route-member-nav-link:hover,.hds-route-member-nav-link:focus{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.26);transform:translateY(-1px);outline:3px solid rgba(214,51,132,.22);outline-offset:2px}
.hds-route-member-nav-link.home,.hds-route-member-nav-link.login{background:var(--hds-route-accent,#d63384);border-color:transparent;box-shadow:0 8px 18px rgba(214,51,132,.22)}
.hds-route-member-nav-link.admin{background:rgba(91,192,222,.2);border-color:rgba(91,192,222,.35)}
.hds-route-member-nav-link.logout{background:rgba(255,255,255,.04)}
.hds-route-portal,.hds-route-hub,.hds-route-single{scroll-margin-top:22px}
#hds-route-areas,#hds-route-latest,#hds-route-account{scroll-margin-top:24px}
@media(max-width:760px){.hds-route-member-nav{padding:0 12px}.hds-route-member-nav-inner{align-items:flex-start;flex-direction:column;border-radius:20px}.hds-route-member-nav-links{width:100%;justify-content:flex-start}.hds-route-member-nav-link{flex:1 1 auto;min-width:calc(50% - 6px)}}
@media(max-width:430px){.hds-route-member-nav-link{min-width:100%;width:100%}.hds-route-member-nav-brand{white-space:normal}}

/* v1.5.4 - Theme matching / appearance controls (safe appearance-only update) */
.hds-route-hub,
.hds-route-portal,
.hds-route-single,
.hds-route-template-wrap{
  max-width:var(--hds-route-max-width,1140px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.hds-route-hub .hds-route-card,
.hds-route-hub .hds-route-category-card,
.hds-route-portal .hds-route-portal-card,
.hds-route-single .hds-route-note-card,
.hds-route-single .hds-route-main-copy,
.hds-route-comments,
.hds-route-qa,
.hds-route-locked-card{
  background:var(--hds-route-card-bg,#fff)!important;
  border-color:var(--hds-route-border,#e5e7eb)!important;
  border-radius:var(--hds-route-radius,18px)!important;
}
.hds-route-btn,
.hds-route-submit,
.hds-route-question-form-wrap input[type=submit],
.hds-route-member-nav-link.login,
.hds-route-member-nav-link.account,
.hds-route-portal button,
.hds-route-portal input[type=submit],
.hds-route-login input[type=submit],
.hds-route-register input[type=submit]{
  background:var(--hds-route-button-bg,var(--hds-route-accent,#d63384))!important;
  color:var(--hds-route-button-text,#fff)!important;
  border-radius:999px!important;
}
.hds-route-hide-hero .hds-route-hero{display:none!important}

/* Inherit website theme mode: reduce the plugin's own "app" styling so it sits inside Elementor/theme pages. */
.hds-route-design-inherit,
.hds-route-design-inherit *{
  font-family:inherit!important;
}
.hds-route-design-inherit{
  color:inherit!important;
  background:transparent!important;
  padding-left:0!important;
  padding-right:0!important;
}
.hds-route-design-inherit .hds-route-hero{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
}
.hds-route-design-inherit .hds-route-hero h1,
.hds-route-design-inherit h1,
.hds-route-design-inherit h2,
.hds-route-design-inherit h3{
  color:inherit!important;
  font-family:inherit!important;
}
.hds-route-design-inherit .hds-route-card,
.hds-route-design-inherit .hds-route-category-card,
.hds-route-design-inherit .hds-route-portal-card,
.hds-route-design-inherit .hds-route-note-card,
.hds-route-design-inherit .hds-route-main-copy,
.hds-route-design-inherit .hds-route-qa,
.hds-route-design-inherit .hds-route-comments{
  box-shadow:none!important;
  background:var(--hds-route-card-bg,#fff)!important;
  border:1px solid var(--hds-route-border,#e5e7eb)!important;
}
.hds-route-design-inherit .hds-route-eyebrow,
.hds-route-design-inherit .hds-route-badge{
  color:var(--hds-route-accent,#d63384)!important;
}
.hds-route-design-inherit .hds-route-hero-points span,
.hds-route-design-inherit .hds-route-meta-row span{
  box-shadow:none!important;
  background:var(--hds-route-card-bg,#fff)!important;
  border:1px solid var(--hds-route-border,#e5e7eb)!important;
}

/* Soft theme mode: keep the Horizon structure, but tone down shadows/gradients. */
.hds-route-soft-theme .hds-route-hero{
  background:linear-gradient(135deg,rgba(214,51,132,.06),rgba(91,192,222,.06))!important;
  box-shadow:none!important;
}
.hds-route-soft-theme .hds-route-card,
.hds-route-soft-theme .hds-route-category-card,
.hds-route-soft-theme .hds-route-portal-card,
.hds-route-soft-theme .hds-route-note-card,
.hds-route-soft-theme .hds-route-main-copy,
.hds-route-soft-theme .hds-route-qa,
.hds-route-soft-theme .hds-route-comments{
  box-shadow:0 6px 18px rgba(15,23,42,.045)!important;
}

/* Custom controlled mode: make the admin colour/radius settings clearly drive the UI. */
.hds-route-design-custom .hds-route-hero{
  border-color:var(--hds-route-border,#e5e7eb)!important;
}
.hds-route-design-custom a:not(.hds-route-card a):not(.hds-route-category-card){
  color:var(--hds-route-accent,#d63384);
}

/* v1.5.5: Simple portal pages and working section navigation */
.hds-route-member-nav-link.is-active{
  outline:2px solid rgba(214,51,132,.22)!important;
  box-shadow:0 0 0 4px rgba(214,51,132,.08)!important;
}
.hds-route-simple-pages{
  max-width:var(--hds-route-max-width,1140px);
  margin:0 auto;
}
.hds-route-simple-head{
  background:#fff;
  border:1px solid var(--hds-route-border,#e5e7eb);
  border-radius:var(--hds-route-radius,18px);
  padding:clamp(22px,4vw,38px);
  margin:18px 0;
  box-shadow:0 10px 26px rgba(15,23,42,.06);
}
.hds-route-simple-head h1{
  margin:0 0 8px;
  line-height:1.1;
}
.hds-route-simple-head p:last-child{margin-bottom:0;}
.hds-route-quick-links{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:18px 0 28px;
}
.hds-route-quick-card{
  display:block;
  text-decoration:none!important;
  background:#fff;
  border:1px solid var(--hds-route-border,#e5e7eb);
  border-radius:var(--hds-route-radius,18px);
  padding:20px;
  color:inherit!important;
  box-shadow:0 8px 22px rgba(15,23,42,.05);
}
.hds-route-quick-card strong{
  display:block;
  font-size:1.05rem;
  margin-bottom:6px;
  color:#111827;
}
.hds-route-quick-card span{
  display:block;
  color:#4b5563;
  font-size:.95rem;
}
.hds-route-quick-card:hover,
.hds-route-category-card:hover,
.hds-route-card:hover{
  transform:translateY(-1px);
}
.hds-route-login-panel{margin-top:18px;}
@media (max-width: 760px){
  .hds-route-quick-links{grid-template-columns:1fr;}
  .hds-route-member-nav-inner{gap:10px;}
  .hds-route-member-nav-links{display:flex;overflow-x:auto;white-space:nowrap;padding-bottom:4px;}
}

/* v1.5.6 - visual portal home page */
.hds-route-home-hero{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);
  gap:24px;
  align-items:stretch;
  margin:18px 0 24px;
  background:linear-gradient(135deg,#ffffff 0%,#fff7fb 48%,#f3fbff 100%);
  border:1px solid var(--hds-route-border,#e5e7eb);
  border-radius:calc(var(--hds-route-radius,18px) + 8px);
  overflow:hidden;
  box-shadow:0 16px 40px rgba(15,23,42,.08);
}
.hds-route-home-copy{
  padding:clamp(24px,4vw,46px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hds-route-home-copy h1{
  margin:.15rem 0 .75rem!important;
  font-size:clamp(2rem,4.6vw,4rem)!important;
  line-height:1.04!important;
  color:#111827!important;
}
.hds-route-home-copy p:not(.hds-route-eyebrow){
  margin:0 0 18px!important;
  max-width:60ch;
  color:#4b5563!important;
  font-size:clamp(1rem,1.5vw,1.16rem)!important;
  line-height:1.6!important;
}
.hds-route-home-actions{display:flex;gap:12px;flex-wrap:wrap;margin:2px 0 18px;}
.hds-route-home-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px;}
.hds-route-home-points span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(15,23,42,.08);
  color:#374151;
  font-weight:800;
  font-size:.9rem;
}
.hds-route-home-image{
  min-height:320px;
  position:relative;
  background:#111827;
  overflow:hidden;
}
.hds-route-home-image-img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:320px;
  object-fit:cover!important;
}
.hds-route-home-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(17,24,39,0) 45%,rgba(17,24,39,.35));
  pointer-events:none;
}
.hds-route-home-image-fallback{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:8px;
  text-align:center;
  padding:28px;
  background:radial-gradient(circle at 25% 20%,rgba(214,51,132,.46),transparent 32%),radial-gradient(circle at 72% 35%,rgba(91,192,222,.38),transparent 34%),linear-gradient(135deg,#111827,#273244);
  color:#fff;
}
.hds-route-home-image-fallback span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:72px;
  height:72px;
  border-radius:999px;
  background:var(--hds-route-accent,#d63384);
  color:#fff;
  font-weight:950;
  box-shadow:0 16px 32px rgba(0,0,0,.18);
}
.hds-route-home-image-fallback strong{font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.05;}
.hds-route-home-image-fallback small{font-size:1rem;opacity:.88;}
.hds-route-home-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin:28px 0 14px;
  padding-bottom:12px;
  border-bottom:1px solid var(--hds-route-border,#e5e7eb);
}
.hds-route-home-section-head h2{margin:.1rem 0 .25rem!important;color:#111827!important;line-height:1.15!important;}
.hds-route-home-section-head p:not(.hds-route-eyebrow){margin:0!important;color:#4b5563!important;max-width:58ch;}
.hds-route-home-quick-links{margin:0 0 20px!important;}
.hds-route-home-quick-links .hds-route-quick-card{position:relative;overflow:hidden;}
.hds-route-home-quick-links .hds-route-quick-card:before{
  content:"";
  display:block;
  width:42px;
  height:5px;
  border-radius:999px;
  background:var(--hds-route-accent,#d63384);
  margin-bottom:14px;
}
@media(max-width:860px){
  .hds-route-home-hero{grid-template-columns:1fr;}
  .hds-route-home-image{min-height:230px;order:-1;}
  .hds-route-home-image-img{min-height:230px;}
  .hds-route-home-section-head{align-items:flex-start;flex-direction:column;}
}
@media(max-width:520px){
  .hds-route-home-copy{padding:22px;}
  .hds-route-home-actions .hds-route-btn{width:100%;justify-content:center;text-align:center;}
}

/* v1.5.7 - compact visual headers for portal pages */
.hds-route-section-banner{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);
  gap:18px;
  align-items:stretch;
  margin:18px 0 22px;
  background:#fff;
  border:1px solid var(--hds-route-border,#e5e7eb);
  border-radius:var(--hds-route-radius,18px);
  overflow:hidden;
  box-shadow:0 8px 22px rgba(15,23,42,.055);
}
.hds-route-section-banner-copy{
  min-height:190px;
  padding:clamp(20px,3vw,34px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hds-route-section-banner-copy h1{
  margin:.1rem 0 .55rem!important;
  font-size:clamp(1.8rem,3.4vw,3rem)!important;
  line-height:1.08!important;
  color:#111827!important;
}
.hds-route-section-banner-copy p:not(.hds-route-eyebrow){
  margin:0!important;
  max-width:58ch;
  color:#4b5563!important;
  line-height:1.55!important;
}
.hds-route-section-banner-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:16px;
}
.hds-route-section-banner .hds-route-section-banner-image{
  min-height:190px!important;
  height:100%!important;
  max-height:260px!important;
  border-radius:0!important;
}
.hds-route-section-banner .hds-route-section-banner-image .hds-route-home-image-img,
.hds-route-section-banner .hds-route-section-banner-image img{
  width:100%!important;
  height:100%!important;
  min-height:190px!important;
  object-fit:cover!important;
}
.hds-route-section-banner .hds-route-home-image-fallback strong{
  font-size:clamp(1.15rem,2vw,1.7rem)!important;
}
.hds-route-section-banner .hds-route-home-image-fallback span{
  width:52px!important;
  height:52px!important;
  font-size:.75rem!important;
}
@media(max-width:760px){
  .hds-route-section-banner{grid-template-columns:1fr;}
  .hds-route-section-banner .hds-route-section-banner-image{order:-1;min-height:160px!important;max-height:210px!important;}
  .hds-route-section-banner .hds-route-section-banner-image .hds-route-home-image-img,
  .hds-route-section-banner .hds-route-section-banner-image img{min-height:160px!important;}
  .hds-route-section-banner-copy{min-height:auto;padding:20px;}
  .hds-route-section-banner-actions .hds-route-btn{width:100%;justify-content:center;}
}

/* v1.5.9 - force selectable section images into slim compact boxes */
.hds-route-portal .hds-route-section-banner,
.hds-route-hub .hds-route-section-banner{
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(240px,360px)!important;
  align-items:stretch!important;
  margin:16px 0 22px!important;
  overflow:hidden!important;
}
.hds-route-portal .hds-route-section-banner-copy,
.hds-route-hub .hds-route-section-banner-copy{
  min-height:0!important;
  padding:22px 26px!important;
}
.hds-route-portal .hds-route-section-banner .hds-route-section-banner-image,
.hds-route-hub .hds-route-section-banner .hds-route-section-banner-image,
.hds-route-portal .hds-route-section-banner .hds-route-home-image,
.hds-route-hub .hds-route-section-banner .hds-route-home-image{
  width:100%!important;
  height:220px!important;
  min-height:220px!important;
  max-height:220px!important;
  aspect-ratio:16/7!important;
  overflow:hidden!important;
  display:block!important;
  align-self:stretch!important;
  background:#111827!important;
}
.hds-route-portal .hds-route-section-banner .hds-route-section-banner-image img,
.hds-route-hub .hds-route-section-banner .hds-route-section-banner-image img,
.hds-route-portal .hds-route-section-banner .hds-route-home-image-img,
.hds-route-hub .hds-route-section-banner .hds-route-home-image-img{
  width:100%!important;
  height:220px!important;
  min-height:0!important;
  max-height:220px!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.hds-route-portal .hds-route-section-banner-copy h1,
.hds-route-hub .hds-route-section-banner-copy h1{
  font-size:clamp(1.55rem,2.4vw,2.3rem)!important;
}
@media(max-width:760px){
  .hds-route-portal .hds-route-section-banner,
  .hds-route-hub .hds-route-section-banner{
    grid-template-columns:1fr!important;
  }
  .hds-route-portal .hds-route-section-banner .hds-route-section-banner-image,
  .hds-route-hub .hds-route-section-banner .hds-route-section-banner-image,
  .hds-route-portal .hds-route-section-banner .hds-route-home-image,
  .hds-route-hub .hds-route-section-banner .hds-route-home-image,
  .hds-route-portal .hds-route-section-banner .hds-route-section-banner-image img,
  .hds-route-hub .hds-route-section-banner .hds-route-section-banner-image img,
  .hds-route-portal .hds-route-section-banner .hds-route-home-image-img,
  .hds-route-hub .hds-route-section-banner .hds-route-home-image-img{
    height:180px!important;
    min-height:180px!important;
    max-height:180px!important;
  }
  .hds-route-portal .hds-route-section-banner .hds-route-section-banner-image,
  .hds-route-hub .hds-route-section-banner .hds-route-section-banner-image{
    order:-1!important;
  }
}

/* v1.5.10 - hard contain selectable section images inside the compact header */
.hds-route-portal .hds-route-section-banner > .hds-route-home-image.hds-route-section-banner-image,
.hds-route-hub .hds-route-section-banner > .hds-route-home-image.hds-route-section-banner-image{
  position:relative!important;
  width:100%!important;
  height:220px!important;
  min-height:220px!important;
  max-height:220px!important;
  overflow:hidden!important;
  display:block!important;
  line-height:0!important;
  flex:none!important;
  background:#111827!important;
}
.hds-route-portal .hds-route-section-banner > .hds-route-home-image.hds-route-section-banner-image img.hds-route-home-image-img,
.hds-route-hub .hds-route-section-banner > .hds-route-home-image.hds-route-section-banner-image img.hds-route-home-image-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  min-width:100%!important;
  min-height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
@media(max-width:760px){
  .hds-route-portal .hds-route-section-banner > .hds-route-home-image.hds-route-section-banner-image,
  .hds-route-hub .hds-route-section-banner > .hds-route-home-image.hds-route-section-banner-image{
    height:180px!important;
    min-height:180px!important;
    max-height:180px!important;
  }
}

/* v1.5.11 - dashboard style portal headers with truly contained background images */
.hds-route-portal .hds-route-section-banner,
.hds-route-hub .hds-route-section-banner{
  display:grid!important;
  grid-template-columns:minmax(0, 1fr) minmax(360px, 60%)!important;
  align-items:stretch!important;
  gap:0!important;
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  margin:18px 0 24px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid var(--hds-route-border,#e6e8ee)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 6px 18px rgba(15,23,42,.07)!important;
}
.hds-route-portal .hds-route-section-banner-copy,
.hds-route-hub .hds-route-section-banner-copy{
  min-height:230px!important;
  height:230px!important;
  padding:30px 34px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  background:#fff!important;
  overflow:hidden!important;
}
.hds-route-portal .hds-route-section-banner-copy h1,
.hds-route-hub .hds-route-section-banner-copy h1{
  font-size:clamp(2rem, 3vw, 2.65rem)!important;
  line-height:1.05!important;
  margin:0 0 14px!important;
  color:#0f172a!important;
}
.hds-route-portal .hds-route-section-banner-copy .hds-route-eyebrow,
.hds-route-hub .hds-route-section-banner-copy .hds-route-eyebrow{
  margin:0 0 10px!important;
}
.hds-route-portal .hds-route-section-banner-copy .hds-route-eyebrow:after,
.hds-route-hub .hds-route-section-banner-copy .hds-route-eyebrow:after{
  content:"";
  display:block;
  width:46px;
  height:4px;
  border-radius:999px;
  background:var(--hds-route-accent,#d63384);
  margin-top:12px;
}
.hds-route-portal .hds-route-section-banner-copy p:not(.hds-route-eyebrow),
.hds-route-hub .hds-route-section-banner-copy p:not(.hds-route-eyebrow){
  max-width:42ch!important;
  margin:0!important;
  color:#4b5563!important;
  font-size:1rem!important;
  line-height:1.6!important;
}
.hds-route-portal .hds-route-section-banner > .hds-route-section-bg-image,
.hds-route-hub .hds-route-section-banner > .hds-route-section-bg-image,
.hds-route-portal .hds-route-section-banner > .hds-route-section-banner-image,
.hds-route-hub .hds-route-section-banner > .hds-route-section-banner-image{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:230px!important;
  min-height:230px!important;
  max-height:230px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:0!important;
  background-color:#111827!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  line-height:0!important;
  align-self:stretch!important;
}
.hds-route-portal .hds-route-section-banner > .hds-route-section-banner-image img,
.hds-route-hub .hds-route-section-banner > .hds-route-section-banner-image img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
}
.hds-route-portal .hds-route-section-banner > .hds-route-section-bg-image:after,
.hds-route-hub .hds-route-section-banner > .hds-route-section-bg-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,.04), rgba(214,51,132,.10));
  pointer-events:none;
}
@media(max-width:820px){
  .hds-route-portal .hds-route-section-banner,
  .hds-route-hub .hds-route-section-banner{
    grid-template-columns:1fr!important;
  }
  .hds-route-portal .hds-route-section-banner-copy,
  .hds-route-hub .hds-route-section-banner-copy{
    height:auto!important;
    min-height:0!important;
    padding:24px!important;
  }
  .hds-route-portal .hds-route-section-banner > .hds-route-section-bg-image,
  .hds-route-hub .hds-route-section-banner > .hds-route-section-bg-image,
  .hds-route-portal .hds-route-section-banner > .hds-route-section-banner-image,
  .hds-route-hub .hds-route-section-banner > .hds-route-section-banner-image{
    order:-1!important;
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
  }
}


/* v1.5.12 - single image section headers: image is the focus, no repeated/text header block */
.hds-route-portal .hds-route-section-banner,
.hds-route-hub .hds-route-section-banner{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:18px 0 34px!important;
  padding:0!important;
  border:0!important;
  border-radius:16px!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.hds-route-portal .hds-route-section-banner-copy,
.hds-route-hub .hds-route-section-banner-copy{
  display:none!important;
}
.hds-route-portal .hds-route-section-banner > .hds-route-section-bg-image,
.hds-route-hub .hds-route-section-banner > .hds-route-section-bg-image,
.hds-route-portal .hds-route-section-banner > .hds-route-section-banner-image,
.hds-route-hub .hds-route-section-banner > .hds-route-section-banner-image{
  display:block!important;
  width:100%!important;
  height:260px!important;
  min-height:260px!important;
  max-height:260px!important;
  margin:0 0 26px!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:16px!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-color:#f8fafc!important;
  box-shadow:0 10px 25px rgba(15,23,42,.10)!important;
  line-height:0!important;
}
.hds-route-portal .hds-route-section-banner > .hds-route-section-bg-image:after,
.hds-route-hub .hds-route-section-banner > .hds-route-section-bg-image:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg, rgba(15,23,42,.08), rgba(255,255,255,0))!important;
  pointer-events:none!important;
}
.hds-route-portal .hds-route-section-banner > .hds-route-section-banner-image img,
.hds-route-hub .hds-route-section-banner > .hds-route-section-banner-image img,
.hds-route-portal .hds-route-section-banner > .hds-route-section-bg-image img,
.hds-route-hub .hds-route-section-banner > .hds-route-section-bg-image img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
}
@media(max-width:820px){
  .hds-route-portal .hds-route-section-banner > .hds-route-section-bg-image,
  .hds-route-hub .hds-route-section-banner > .hds-route-section-bg-image,
  .hds-route-portal .hds-route-section-banner > .hds-route-section-banner-image,
  .hds-route-hub .hds-route-section-banner > .hds-route-section-banner-image{
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
    margin-bottom:22px!important;
  }
}

/* v1.5.13 - image-only section headers: remove text markup reliance and force a single neat image panel */
.hds-route-portal .hds-route-section-banner-image-only,
.hds-route-hub .hds-route-section-banner-image-only{
  display:block!important;
  width:100%!important;
  margin:18px 0 34px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.hds-route-portal .hds-route-section-banner-image-only .hds-route-section-banner-copy,
.hds-route-hub .hds-route-section-banner-image-only .hds-route-section-banner-copy{
  display:none!important;
}
.hds-route-portal .hds-route-section-banner-image-only > .hds-route-home-image,
.hds-route-hub .hds-route-section-banner-image-only > .hds-route-home-image,
.hds-route-portal .hds-route-section-banner-image-only > .hds-route-section-bg-image,
.hds-route-hub .hds-route-section-banner-image-only > .hds-route-section-bg-image{
  display:block!important;
  width:100%!important;
  height:260px!important;
  min-height:260px!important;
  max-height:260px!important;
  margin:0 0 28px!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:16px!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-color:#f8fafc!important;
  box-shadow:0 10px 25px rgba(15,23,42,.10)!important;
  line-height:0!important;
  position:relative!important;
}
.hds-route-portal .hds-route-section-banner-image-only img,
.hds-route-hub .hds-route-section-banner-image-only img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  min-width:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
}
@media(max-width:820px){
  .hds-route-portal .hds-route-section-banner-image-only > .hds-route-home-image,
  .hds-route-hub .hds-route-section-banner-image-only > .hds-route-home-image,
  .hds-route-portal .hds-route-section-banner-image-only > .hds-route-section-bg-image,
  .hds-route-hub .hds-route-section-banner-image-only > .hds-route-section-bg-image{
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
    margin-bottom:22px!important;
  }
}



/* v1.5.14 - one clean selected section image with breathing room below */
.hds-route-portal .hds-route-section-banner-image-only,
.hds-route-hub .hds-route-section-banner-image-only{
  margin:22px 0 56px!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.hds-route-portal .hds-route-section-banner-image-only > .hds-route-home-image,
.hds-route-hub .hds-route-section-banner-image-only > .hds-route-home-image,
.hds-route-portal .hds-route-section-banner-image-only > .hds-route-section-bg-image,
.hds-route-hub .hds-route-section-banner-image-only > .hds-route-section-bg-image{
  width:100%!important;
  height:280px!important;
  min-height:280px!important;
  max-height:280px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:18px!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  display:block!important;
}
.hds-route-portal .hds-route-section-banner-image-only > .hds-route-section-bg-image:after,
.hds-route-hub .hds-route-section-banner-image-only > .hds-route-section-bg-image:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg, rgba(255,255,255,.08), rgba(255,255,255,0))!important;
  pointer-events:none!important;
}
.hds-route-portal .hds-route-section-banner-image-only + .hds-route-home-section-head,
.hds-route-hub .hds-route-section-banner-image-only + .hds-route-home-section-head,
.hds-route-portal .hds-route-section-banner-image-only + .hds-route-category-grid,
.hds-route-hub .hds-route-section-banner-image-only + .hds-route-category-grid,
.hds-route-portal .hds-route-section-banner-image-only + .hds-route-video-grid,
.hds-route-hub .hds-route-section-banner-image-only + .hds-route-video-grid{
  margin-top:10px!important;
}
@media(max-width:820px){
  .hds-route-portal .hds-route-section-banner-image-only,
  .hds-route-hub .hds-route-section-banner-image-only{margin:16px 0 34px!important;}
  .hds-route-portal .hds-route-section-banner-image-only > .hds-route-home-image,
  .hds-route-hub .hds-route-section-banner-image-only > .hds-route-home-image,
  .hds-route-portal .hds-route-section-banner-image-only > .hds-route-section-bg-image,
  .hds-route-hub .hds-route-section-banner-image-only > .hds-route-section-bg-image{
    height:180px!important;min-height:180px!important;max-height:180px!important;border-radius:14px!important;
  }
}

/* v1.5.16 - selected section banner should show as one complete image, not repeated or cropped */
.hds-route-portal .hds-route-section-banner-image-only,
.hds-route-hub .hds-route-section-banner-image-only{
  margin:22px 0 46px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.hds-route-portal .hds-route-section-banner-image-only > .hds-route-section-single-img,
.hds-route-hub .hds-route-section-banner-image-only > .hds-route-section-single-img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:18px!important;
  background:#ffffff!important;
  box-shadow:0 10px 25px rgba(15,23,42,.10)!important;
  line-height:0!important;
}
.hds-route-portal .hds-route-section-banner-image-only > .hds-route-section-single-img img.hds-route-section-banner-img,
.hds-route-hub .hds-route-section-banner-image-only > .hds-route-section-single-img img.hds-route-section-banner-img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.hds-route-portal .hds-route-section-banner-image-only > .hds-route-section-single-img:after,
.hds-route-hub .hds-route-section-banner-image-only > .hds-route-section-single-img:after{
  display:none!important;
  content:none!important;
}
@media(max-width:820px){
  .hds-route-portal .hds-route-section-banner-image-only,
  .hds-route-hub .hds-route-section-banner-image-only{margin:16px 0 30px!important;}
  .hds-route-portal .hds-route-section-banner-image-only > .hds-route-section-single-img,
  .hds-route-hub .hds-route-section-banner-image-only > .hds-route-section-single-img{border-radius:14px!important;}
}

/* v1.5.17 - clean card section banner: text left, one contained image right */
.hds-route-portal .hds-route-section-card-banner,
.hds-route-hub .hds-route-section-card-banner{
  width:100%!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(240px, 0.9fr) minmax(320px, 1.6fr)!important;
  gap:28px!important;
  align-items:center!important;
  background:#ffffff!important;
  border:1px solid var(--hds-route-border, #e5e7eb)!important;
  border-radius:18px!important;
  box-shadow:0 10px 30px rgba(15,23,42,.08)!important;
  padding:28px!important;
  margin:22px 0 42px!important;
  overflow:hidden!important;
}
.hds-route-portal .hds-route-section-card-copy,
.hds-route-hub .hds-route-section-card-copy{
  min-width:0!important;
  padding:8px 4px!important;
}
.hds-route-portal .hds-route-section-card-copy .hds-route-eyebrow,
.hds-route-hub .hds-route-section-card-copy .hds-route-eyebrow{
  margin:0 0 8px!important;
}
.hds-route-portal .hds-route-section-card-copy h1,
.hds-route-hub .hds-route-section-card-copy h1{
  margin:0!important;
  color:#0f172a!important;
  font-size:clamp(30px, 3.2vw, 48px)!important;
  line-height:1.05!important;
  font-weight:800!important;
}
.hds-route-portal .hds-route-section-card-line,
.hds-route-hub .hds-route-section-card-line{
  display:block!important;
  width:58px!important;
  height:5px!important;
  border-radius:99px!important;
  background:linear-gradient(90deg, #d63384, #2563eb)!important;
  margin:18px 0 22px!important;
}
.hds-route-portal .hds-route-section-card-copy p:not(.hds-route-eyebrow),
.hds-route-hub .hds-route-section-card-copy p:not(.hds-route-eyebrow){
  margin:0!important;
  color:#475569!important;
  font-size:18px!important;
  line-height:1.65!important;
  max-width:420px!important;
}
.hds-route-portal .hds-route-section-card-actions,
.hds-route-hub .hds-route-section-card-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:22px!important;
}
.hds-route-portal .hds-route-section-card-image,
.hds-route-hub .hds-route-section-card-image{
  width:100%!important;
  height:300px!important;
  min-height:300px!important;
  max-height:300px!important;
  overflow:hidden!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  line-height:0!important;
}
.hds-route-portal .hds-route-section-card-image img,
.hds-route-hub .hds-route-section-card-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
@media(max-width:900px){
  .hds-route-portal .hds-route-section-card-banner,
  .hds-route-hub .hds-route-section-card-banner{
    grid-template-columns:1fr!important;
    gap:18px!important;
    padding:20px!important;
    margin:16px 0 30px!important;
  }
  .hds-route-portal .hds-route-section-card-image,
  .hds-route-hub .hds-route-section-card-image{
    height:210px!important;
    min-height:210px!important;
    max-height:210px!important;
  }
  .hds-route-portal .hds-route-section-card-copy h1,
  .hds-route-hub .hds-route-section-card-copy h1{
    font-size:32px!important;
  }
}

/* v1.7.25 - verified member reviews */
.hds-route-reviews-page,.hds-route-featured-reviews{margin:26px 0}
.hds-route-review-summary{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:20px 0 26px;padding:17px 20px;border:1px solid #ead9e4;border-radius:18px;background:#fff9fc;color:#374151}
.hds-route-review-summary strong{font-size:1.2rem;color:#111827}.hds-route-review-summary span:last-child{color:#64748b;font-weight:700}
.hds-route-review-stars{display:inline-block;color:#e7a900;font-size:1.18rem;letter-spacing:.08em;white-space:nowrap}
.hds-route-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0 26px}
.hds-route-review-card{display:flex;flex-direction:column;min-width:0;padding:22px;border:1px solid #e5e7eb;border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(17,24,39,.06)}
.hds-route-review-card blockquote{margin:14px 0 20px;padding:0;border:0;color:#374151;font-size:1rem;line-height:1.65;font-style:normal;overflow-wrap:anywhere}
.hds-route-review-card>p{margin:auto 0 0;display:flex;flex-direction:column;gap:2px}.hds-route-review-card>p strong{color:#111827}.hds-route-review-card>p span{color:#6b7280;font-size:.88rem}
.hds-route-review-form-card,.hds-route-approved-reviews{margin:24px 0;padding:24px;border:1px solid #e5e7eb;border-radius:24px;background:#fff}
.hds-route-review-form-card h2,.hds-route-approved-reviews h2{margin-top:0;color:#111827}
.hds-route-review-form-card textarea{width:100%;max-width:none;box-sizing:border-box;border:1px solid #d1d5db;border-radius:14px;padding:13px 14px;background:#fff;color:#111827;font:inherit;line-height:1.55}
.hds-route-rating-field{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0;padding:0;border:0}.hds-route-rating-field legend{width:100%;margin-bottom:8px;font-weight:800;color:#374151}
.hds-route-rating-field label{display:inline-flex;cursor:pointer}.hds-route-rating-field input{position:absolute;opacity:0;pointer-events:none}.hds-route-rating-field span{display:inline-flex;align-items:center;min-height:42px;padding:8px 13px;border:1px solid #d1d5db;border-radius:999px;background:#fff;color:#374151;font-weight:800}
.hds-route-rating-field input:checked+span{border-color:#d63384;background:#fff0f7;color:#a91f67;box-shadow:0 0 0 3px rgba(214,51,132,.12)}
.hds-route-rating-field input:focus-visible+span{outline:3px solid rgba(19,106,155,.25);outline-offset:2px}
.hds-route-review-anonymous{display:flex;align-items:flex-start;gap:9px;margin:15px 0;color:#4b5563;line-height:1.45}.hds-route-review-anonymous input{margin-top:3px}
.hds-route-featured-reviews{padding:24px;border:1px solid #ead9e4;border-radius:26px;background:linear-gradient(180deg,#fff9fc,#fff)}
@media(max-width:900px){.hds-route-review-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.hds-route-review-grid{grid-template-columns:1fr}.hds-route-review-form-card,.hds-route-approved-reviews,.hds-route-featured-reviews{padding:18px;border-radius:20px}.hds-route-rating-field span{padding:8px 11px}}

/* v1.5.17 - clean card section banner: text left, one contained image right */
.hds-route-portal .hds-route-section-card-banner,
.hds-route-hub .hds-route-section-card-banner{
  width:100%!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(240px, 0.9fr) minmax(320px, 1.6fr)!important;
  gap:28px!important;
  align-items:center!important;
  background:#ffffff!important;
  border:1px solid var(--hds-route-border, #e5e7eb)!important;
  border-radius:18px!important;
  box-shadow:0 10px 30px rgba(15,23,42,.08)!important;
  padding:28px!important;
  margin:22px 0 42px!important;
  overflow:hidden!important;
}
.hds-route-portal .hds-route-section-card-copy,
.hds-route-hub .hds-route-section-card-copy{
  min-width:0!important;
  padding:8px 4px!important;
}
.hds-route-portal .hds-route-section-card-copy .hds-route-eyebrow,
.hds-route-hub .hds-route-section-card-copy .hds-route-eyebrow{margin:0 0 8px!important;}
.hds-route-portal .hds-route-section-card-copy h1,
.hds-route-hub .hds-route-section-card-copy h1{
  margin:0!important;
  color:#0f172a!important;
  font-size:clamp(30px, 3.2vw, 48px)!important;
  line-height:1.05!important;
  font-weight:800!important;
}
.hds-route-portal .hds-route-section-card-line,
.hds-route-hub .hds-route-section-card-line{
  display:block!important;
  width:58px!important;
  height:5px!important;
  border-radius:99px!important;
  background:linear-gradient(90deg, #d63384, #2563eb)!important;
  margin:18px 0 22px!important;
}
.hds-route-portal .hds-route-section-card-copy p:not(.hds-route-eyebrow),
.hds-route-hub .hds-route-section-card-copy p:not(.hds-route-eyebrow){
  margin:0!important;
  color:#475569!important;
  font-size:18px!important;
  line-height:1.65!important;
  max-width:420px!important;
}
.hds-route-portal .hds-route-section-card-actions,
.hds-route-hub .hds-route-section-card-actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin-top:22px!important;}
.hds-route-portal .hds-route-section-card-image,
.hds-route-hub .hds-route-section-card-image{
  width:100%!important;
  height:300px!important;
  min-height:300px!important;
  max-height:300px!important;
  overflow:hidden!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  line-height:0!important;
}
.hds-route-portal .hds-route-section-card-image img,
.hds-route-hub .hds-route-section-card-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
@media(max-width:900px){
  .hds-route-portal .hds-route-section-card-banner,
  .hds-route-hub .hds-route-section-card-banner{grid-template-columns:1fr!important;gap:18px!important;padding:20px!important;margin:16px 0 30px!important;}
  .hds-route-portal .hds-route-section-card-image,
  .hds-route-hub .hds-route-section-card-image{height:210px!important;min-height:210px!important;max-height:210px!important;}
  .hds-route-portal .hds-route-section-card-copy h1,
  .hds-route-hub .hds-route-section-card-copy h1{font-size:32px!important;}
}


/* v1.5.18 - button contrast accessibility fix */
.hds-route-hub a.hds-route-btn,
.hds-route-single a.hds-route-btn,
.hds-route-portal a.hds-route-btn,
.hds-route-hub button.hds-route-btn,
.hds-route-single button.hds-route-btn,
.hds-route-portal button.hds-route-btn,
.hds-route-hub input[type="submit"],
.hds-route-single input[type="submit"],
.hds-route-portal input[type="submit"],
.hds-route-question-form-wrap input[type="submit"],
.hds-route-submit,
.hds-route-account .button-primary,
.hds-route-member-nav-link.home,
.hds-route-member-nav-link.login{
  background:var(--hds-route-accent,#d63384)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  text-shadow:none!important;
  border-color:transparent!important;
}
.hds-route-hub a.hds-route-btn *,
.hds-route-single a.hds-route-btn *,
.hds-route-portal a.hds-route-btn *,
.hds-route-hub button.hds-route-btn *,
.hds-route-single button.hds-route-btn *,
.hds-route-portal button.hds-route-btn *{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
.hds-route-btn.secondary,
.hds-route-hub a.hds-route-btn.secondary,
.hds-route-single a.hds-route-btn.secondary,
.hds-route-portal a.hds-route-btn.secondary{
  background:#ffffff!important;
  color:var(--hds-route-accent,#d63384)!important;
  -webkit-text-fill-color:var(--hds-route-accent,#d63384)!important;
  border:2px solid var(--hds-route-accent,#d63384)!important;
}
.hds-route-btn.secondary *,
.hds-route-hub a.hds-route-btn.secondary *,
.hds-route-single a.hds-route-btn.secondary *,
.hds-route-portal a.hds-route-btn.secondary *{
  color:var(--hds-route-accent,#d63384)!important;
  -webkit-text-fill-color:var(--hds-route-accent,#d63384)!important;
}
.hds-route-member-nav-link,
.hds-route-member-nav-link:visited,
.hds-route-member-nav-link:hover,
.hds-route-member-nav-link:focus{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
.hds-route-hub a.hds-route-btn:hover,
.hds-route-single a.hds-route-btn:hover,
.hds-route-portal a.hds-route-btn:hover,
.hds-route-hub button.hds-route-btn:hover,
.hds-route-single button.hds-route-btn:hover,
.hds-route-portal button.hds-route-btn:hover,
.hds-route-hub input[type="submit"]:hover,
.hds-route-single input[type="submit"]:hover,
.hds-route-portal input[type="submit"]:hover,
.hds-route-question-form-wrap input[type="submit"]:hover,
.hds-route-account .button-primary:hover{
  filter:brightness(.94)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
.hds-route-hub a.hds-route-btn:focus-visible,
.hds-route-single a.hds-route-btn:focus-visible,
.hds-route-portal a.hds-route-btn:focus-visible,
.hds-route-member-nav-link:focus-visible,
.hds-route-hub input[type="submit"]:focus-visible,
.hds-route-single input[type="submit"]:focus-visible,
.hds-route-portal input[type="submit"]:focus-visible{
  outline:3px solid rgba(37,99,235,.45)!important;
  outline-offset:3px!important;
}


/* v1.5.19 - rectangle buttons, stronger contrast, correct active menu state */
.hds-route-hub .hds-route-btn,
.hds-route-single .hds-route-btn,
.hds-route-portal .hds-route-btn,
.hds-route-template-wrap .hds-route-btn,
.hds-route-hub button.hds-route-btn,
.hds-route-single button.hds-route-btn,
.hds-route-portal button.hds-route-btn,
.hds-route-template-wrap button.hds-route-btn,
.hds-route-hub input[type="submit"],
.hds-route-single input[type="submit"],
.hds-route-portal input[type="submit"],
.hds-route-template-wrap input[type="submit"],
.hds-route-question-form-wrap input[type="submit"],
.hds-route-account .button-primary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:10px 18px!important;
  border-radius:10px!important;
  background:var(--hds-route-accent,#d63384)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border:2px solid var(--hds-route-accent,#d63384)!important;
  text-decoration:none!important;
  font-weight:800!important;
  line-height:1.15!important;
  text-shadow:none!important;
  box-shadow:none!important;
}
.hds-route-hub .hds-route-btn:visited,
.hds-route-single .hds-route-btn:visited,
.hds-route-portal .hds-route-btn:visited,
.hds-route-template-wrap .hds-route-btn:visited{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
.hds-route-hub .hds-route-btn.secondary,
.hds-route-single .hds-route-btn.secondary,
.hds-route-portal .hds-route-btn.secondary,
.hds-route-template-wrap .hds-route-btn.secondary{
  background:#ffffff!important;
  color:var(--hds-route-accent,#d63384)!important;
  -webkit-text-fill-color:var(--hds-route-accent,#d63384)!important;
  border-color:var(--hds-route-accent,#d63384)!important;
}
.hds-route-hub .hds-route-btn.secondary:visited,
.hds-route-single .hds-route-btn.secondary:visited,
.hds-route-portal .hds-route-btn.secondary:visited,
.hds-route-template-wrap .hds-route-btn.secondary:visited{
  color:var(--hds-route-accent,#d63384)!important;
  -webkit-text-fill-color:var(--hds-route-accent,#d63384)!important;
}
.hds-route-hub .hds-route-btn:hover,
.hds-route-single .hds-route-btn:hover,
.hds-route-portal .hds-route-btn:hover,
.hds-route-template-wrap .hds-route-btn:hover,
.hds-route-hub input[type="submit"]:hover,
.hds-route-single input[type="submit"]:hover,
.hds-route-portal input[type="submit"]:hover,
.hds-route-template-wrap input[type="submit"]:hover{
  background:#b72870!important;
  border-color:#b72870!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  transform:none!important;
  filter:none!important;
}
.hds-route-hub .hds-route-btn.secondary:hover,
.hds-route-single .hds-route-btn.secondary:hover,
.hds-route-portal .hds-route-btn.secondary:hover,
.hds-route-template-wrap .hds-route-btn.secondary:hover{
  background:rgba(214,51,132,.08)!important;
  color:#b72870!important;
  -webkit-text-fill-color:#b72870!important;
  border-color:#b72870!important;
}
.hds-route-member-nav .hds-route-member-nav-link,
.hds-route-member-nav .hds-route-member-nav-link:visited,
.hds-route-member-nav .hds-route-member-nav-link.home,
.hds-route-member-nav .hds-route-member-nav-link.account,
.hds-route-member-nav .hds-route-member-nav-link.login,
.hds-route-member-nav .hds-route-member-nav-link.latest,
.hds-route-member-nav .hds-route-member-nav-link.areas,
.hds-route-member-nav .hds-route-member-nav-link.logout,
.hds-route-member-nav .hds-route-member-nav-link.admin{
  min-height:40px!important;
  padding:10px 16px!important;
  border-radius:10px!important;
  background:#ffffff!important;
  color:#243447!important;
  -webkit-text-fill-color:#243447!important;
  border:2px solid rgba(255,255,255,.45)!important;
  box-shadow:none!important;
  text-decoration:none!important;
  font-weight:850!important;
}
.hds-route-member-nav .hds-route-member-nav-link:hover,
.hds-route-member-nav .hds-route-member-nav-link:focus{
  background:#fdf2f8!important;
  color:#b72870!important;
  -webkit-text-fill-color:#b72870!important;
  border-color:#f9a8d4!important;
  transform:none!important;
}
.hds-route-member-nav .hds-route-member-nav-link.is-active,
.hds-route-member-nav .hds-route-member-nav-link[aria-current="page"]{
  background:var(--hds-route-accent,#d63384)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:var(--hds-route-accent,#d63384)!important;
  box-shadow:0 8px 18px rgba(214,51,132,.22)!important;
  outline:0!important;
}
.hds-route-member-nav .hds-route-member-nav-link.is-active:hover,
.hds-route-member-nav .hds-route-member-nav-link[aria-current="page"]:hover,
.hds-route-member-nav .hds-route-member-nav-link.is-active:focus,
.hds-route-member-nav .hds-route-member-nav-link[aria-current="page"]:focus{
  background:#b72870!important;
  border-color:#b72870!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
.hds-route-member-nav .hds-route-member-nav-link:focus-visible,
.hds-route-hub .hds-route-btn:focus-visible,
.hds-route-single .hds-route-btn:focus-visible,
.hds-route-portal .hds-route-btn:focus-visible,
.hds-route-template-wrap .hds-route-btn:focus-visible,
.hds-route-template-wrap input[type="submit"]:focus-visible{
  outline:3px solid rgba(37,99,235,.45)!important;
  outline-offset:3px!important;
}

/* v1.5.20 - make individual route-area listing pages match the main portal cards */
.hds-route-category-index .hds-route-section-card-banner,
.hds-route-portal #hds-route-areas .hds-route-section-card-banner{
  margin-bottom:34px!important;
}
.hds-route-category-index .hds-route-section-card-copy h1,
.hds-route-portal #hds-route-areas .hds-route-section-card-copy h1{
  color:#101827!important;
  text-transform:none!important;
  letter-spacing:-.03em!important;
}
.hds-route-category-index .hds-route-section-card-copy p,
.hds-route-portal #hds-route-areas .hds-route-section-card-copy p{
  color:#475569!important;
}
.hds-route-category-index .hds-route-section-card-image img,
.hds-route-portal #hds-route-areas .hds-route-section-card-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  max-width:100%!important;
}
.hds-route-category-index .hds-route-video-grid,
.hds-route-portal #hds-route-areas + .hds-route-video-grid{
  margin-top:8px!important;
}

/* v1.5.23 - keep learners out of WordPress admin/profile and improve route area cards */
.hds-route-account-card{
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  border-radius:18px!important;
  padding:clamp(18px,3vw,28px)!important;
  box-shadow:0 12px 30px rgba(15,23,42,.06)!important;
}
.hds-route-account-summary{
  display:grid!important;
  gap:8px!important;
  margin:0 0 18px!important;
}
.hds-route-account-summary p{margin:0!important;}
.hds-route-status-pill{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:4px 10px!important;
  border-radius:9px!important;
  font-weight:900!important;
  background:#f3f4f6!important;
  color:#374151!important;
}
.hds-route-status-pill.status-approved{background:#dcfce7!important;color:#166534!important;}
.hds-route-status-pill.status-pending{background:#fef3c7!important;color:#92400e!important;}
.hds-route-status-pill.status-blocked,
.hds-route-status-pill.status-expired{background:#fee2e2!important;color:#991b1b!important;}
.hds-route-profile-form{
  margin:22px 0!important;
  padding:18px!important;
  border:1px solid #e5e7eb!important;
  border-radius:16px!important;
  background:#f9fafb!important;
}
.hds-route-profile-form h3{margin:0 0 6px!important;color:#111827!important;}
.hds-route-profile-note{margin:0 0 14px!important;color:#64748b!important;}
.hds-route-profile-form input[type="text"],
.hds-route-profile-form input[type="email"]{
  width:100%!important;
  max-width:560px!important;
  min-height:44px!important;
  border:1px solid #cbd5e1!important;
  border-radius:10px!important;
  padding:9px 12px!important;
  background:#fff!important;
  color:#111827!important;
}
.hds-route-area-card-grid{
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;
  gap:22px!important;
}
.hds-route-area-card-grid .hds-route-area-image-card,
.hds-route-hub .hds-route-area-image-card,
.hds-route-portal .hds-route-area-image-card,
.hds-route-shortcode-areas .hds-route-area-image-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:18px!important;
  background:#ffffff!important;
  border:1px solid #e5e7eb!important;
  box-shadow:0 12px 30px rgba(15,23,42,.07)!important;
  color:#111827!important;
  text-decoration:none!important;
}
.hds-route-area-image-card:hover,
.hds-route-area-image-card:focus{
  transform:translateY(-2px)!important;
  box-shadow:0 18px 42px rgba(15,23,42,.12)!important;
  border-color:rgba(214,51,132,.28)!important;
  outline:0!important;
}
.hds-route-area-card-image{
  display:block!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  background:#f3f4f6!important;
  overflow:hidden!important;
  border-radius:16px!important;
  margin:12px 12px 0!important;
  width:calc(100% - 24px)!important;
}
.hds-route-area-card-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  max-width:none!important;
}
.hds-route-area-card-body{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  padding:16px!important;
}
.hds-route-area-image-card .hds-route-category-text strong{
  display:block!important;
  font-size:1.18rem!important;
  line-height:1.2!important;
  margin:0 0 3px!important;
  color:#111827!important;
}
.hds-route-area-image-card .hds-route-category-text small{
  color:#64748b!important;
  font-weight:850!important;
}
.hds-route-area-card-desc{
  color:#475569!important;
  font-weight:500!important;
  line-height:1.45!important;
}
.hds-route-area-card-action{
  width:max-content!important;
  margin-top:4px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  min-height:38px!important;
  padding:8px 12px!important;
  border-radius:10px!important;
  background:var(--hds-route-accent,#d63384)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  font-weight:900!important;
}
@media (max-width: 720px){
  .hds-route-area-card-grid{grid-template-columns:1fr!important;}
}


/* v1.5.24 - Route Area cards: match Horizon horizontal card style */
.hds-route-hub .hds-route-area-card-grid,
.hds-route-portal .hds-route-area-card-grid,
.hds-route-shortcode-areas .hds-route-area-card-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
  margin-top:18px!important;
}
.hds-route-hub .hds-route-area-card-grid .hds-route-area-image-card,
.hds-route-portal .hds-route-area-card-grid .hds-route-area-image-card,
.hds-route-shortcode-areas .hds-route-area-card-grid .hds-route-area-image-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(260px,42%)!important;
  align-items:center!important;
  gap:22px!important;
  padding:18px!important;
  min-height:190px!important;
  border-radius:16px!important;
  background:#ffffff!important;
  border:1px solid #e5e7eb!important;
  box-shadow:0 10px 28px rgba(15,23,42,.075)!important;
  overflow:hidden!important;
  color:#111827!important;
  text-decoration:none!important;
}
.hds-route-hub .hds-route-area-card-grid .hds-route-area-card-body,
.hds-route-portal .hds-route-area-card-grid .hds-route-area-card-body,
.hds-route-shortcode-areas .hds-route-area-card-grid .hds-route-area-card-body{
  order:1!important;
  padding:10px 12px 10px 4px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:10px!important;
  min-width:0!important;
}
.hds-route-hub .hds-route-area-card-grid .hds-route-area-card-image,
.hds-route-portal .hds-route-area-card-grid .hds-route-area-card-image,
.hds-route-shortcode-areas .hds-route-area-card-grid .hds-route-area-card-image{
  order:2!important;
  display:block!important;
  width:100%!important;
  height:165px!important;
  aspect-ratio:auto!important;
  margin:0!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:#f3f4f6!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)!important;
}
.hds-route-hub .hds-route-area-card-grid .hds-route-area-card-image img,
.hds-route-portal .hds-route-area-card-grid .hds-route-area-card-image img,
.hds-route-shortcode-areas .hds-route-area-card-grid .hds-route-area-card-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  max-width:none!important;
  border-radius:14px!important;
}
.hds-route-hub .hds-route-area-card-grid .hds-route-category-text strong,
.hds-route-portal .hds-route-area-card-grid .hds-route-category-text strong,
.hds-route-shortcode-areas .hds-route-area-card-grid .hds-route-category-text strong{
  font-size:1.45rem!important;
  letter-spacing:-.02em!important;
  line-height:1.1!important;
  margin:0!important;
  color:#0f172a!important;
}
.hds-route-hub .hds-route-area-card-grid .hds-route-category-text small,
.hds-route-portal .hds-route-area-card-grid .hds-route-category-text small,
.hds-route-shortcode-areas .hds-route-area-card-grid .hds-route-category-text small{
  display:inline-flex!important;
  width:max-content!important;
  margin-top:7px!important;
  padding:5px 10px!important;
  border-radius:10px!important;
  background:#fdf2f8!important;
  border:1px solid #fbcfe8!important;
  color:#be185d!important;
  font-weight:850!important;
}
.hds-route-hub .hds-route-area-card-grid .hds-route-area-card-desc,
.hds-route-portal .hds-route-area-card-grid .hds-route-area-card-desc,
.hds-route-shortcode-areas .hds-route-area-card-grid .hds-route-area-card-desc{
  max-width:560px!important;
  color:#475569!important;
  line-height:1.55!important;
  font-size:.98rem!important;
}
.hds-route-hub .hds-route-area-card-grid .hds-route-area-card-action,
.hds-route-portal .hds-route-area-card-grid .hds-route-area-card-action,
.hds-route-shortcode-areas .hds-route-area-card-grid .hds-route-area-card-action{
  border-radius:10px!important;
  padding:9px 14px!important;
  min-height:40px!important;
}
@media (max-width: 760px){
  .hds-route-hub .hds-route-area-card-grid .hds-route-area-image-card,
  .hds-route-portal .hds-route-area-card-grid .hds-route-area-image-card,
  .hds-route-shortcode-areas .hds-route-area-card-grid .hds-route-area-image-card{
    grid-template-columns:1fr!important;
    gap:14px!important;
    padding:14px!important;
  }
  .hds-route-hub .hds-route-area-card-grid .hds-route-area-card-image,
  .hds-route-portal .hds-route-area-card-grid .hds-route-area-card-image,
  .hds-route-shortcode-areas .hds-route-area-card-grid .hds-route-area-card-image{
    order:1!important;
    height:185px!important;
  }
  .hds-route-hub .hds-route-area-card-grid .hds-route-area-card-body,
  .hds-route-portal .hds-route-area-card-grid .hds-route-area-card-body,
  .hds-route-shortcode-areas .hds-route-area-card-grid .hds-route-area-card-body{
    order:2!important;
    padding:4px 2px 4px!important;
  }
}

/* v1.5.27 - Route area option cards back to vertical video-card style */
.hds-route-hub .hds-route-area-card-grid,
.hds-route-portal .hds-route-area-card-grid,
.hds-route-shortcode-areas .hds-route-area-card-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;
  gap:18px!important;
  margin-top:18px!important;
}
.hds-route-hub .hds-route-area-card-grid .hds-route-area-image-card,
.hds-route-portal .hds-route-area-card-grid .hds-route-area-image-card,
.hds-route-shortcode-areas .hds-route-area-card-grid .hds-route-area-image-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:0!important;
  padding:0!important;
  min-height:0!important;
  border-radius:22px!important;
  background:#ffffff!important;
  border:1px solid #e5e7eb!important;
  box-shadow:0 10px 28px rgba(15,23,42,.075)!important;
  overflow:hidden!important;
  color:#111827!important;
  text-decoration:none!important;
}
.hds-route-hub .hds-route-area-card-grid .hds-route-area-card-image,
.hds-route-portal .hds-route-area-card-grid .hds-route-area-card-image,
.hds-route-shortcode-areas .hds-route-area-card-grid .hds-route-area-card-image{
  order:1!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  margin:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#f3f4f6!important;
  box-shadow:none!important;
}
.hds-route-hub .hds-route-area-card-grid .hds-route-area-card-image img,
.hds-route-portal .hds-route-area-card-grid .hds-route-area-card-image img,
.hds-route-shortcode-areas .hds-route-area-card-grid .hds-route-area-card-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  max-width:none!important;
  border-radius:0!important;
}
.hds-route-hub .hds-route-area-card-grid .hds-route-area-card-body,
.hds-route-portal .hds-route-area-card-grid .hds-route-area-card-body,
.hds-route-shortcode-areas .hds-route-area-card-grid .hds-route-area-card-body{
  order:2!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  gap:8px!important;
  padding:18px!important;
  min-width:0!important;
}
.hds-route-hub .hds-route-area-card-grid .hds-route-category-text strong,
.hds-route-portal .hds-route-area-card-grid .hds-route-category-text strong,
.hds-route-shortcode-areas .hds-route-area-card-grid .hds-route-category-text strong{
  display:block!important;
  font-size:1.25rem!important;
  line-height:1.2!important;
  margin:0!important;
  color:#0f172a!important;
  letter-spacing:-.015em!important;
}
.hds-route-hub .hds-route-area-card-grid .hds-route-category-text small,
.hds-route-portal .hds-route-area-card-grid .hds-route-category-text small,
.hds-route-shortcode-areas .hds-route-area-card-grid .hds-route-category-text small{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  margin-top:5px!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  background:#fdf2f8!important;
  border:1px solid #fbcfe8!important;
  color:#be185d!important;
  font-weight:850!important;
  font-size:.88rem!important;
}
.hds-route-hub .hds-route-area-card-grid .hds-route-area-card-desc,
.hds-route-portal .hds-route-area-card-grid .hds-route-area-card-desc,
.hds-route-shortcode-areas .hds-route-area-card-grid .hds-route-area-card-desc{
  max-width:none!important;
  color:#475569!important;
  line-height:1.48!important;
  font-size:.95rem!important;
}
.hds-route-hub .hds-route-area-card-grid .hds-route-area-card-action,
.hds-route-portal .hds-route-area-card-grid .hds-route-area-card-action,
.hds-route-shortcode-areas .hds-route-area-card-grid .hds-route-area-card-action{
  width:100%!important;
  margin-top:8px!important;
  display:inline-flex!important;
  justify-content:center!important;
  align-items:center!important;
  min-height:42px!important;
  padding:9px 14px!important;
  border-radius:10px!important;
  background:var(--hds-route-accent,#d63384)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  font-weight:900!important;
}
@media (max-width: 720px){
  .hds-route-hub .hds-route-area-card-grid,
  .hds-route-portal .hds-route-area-card-grid,
  .hds-route-shortcode-areas .hds-route-area-card-grid{
    grid-template-columns:1fr!important;
  }
}

/* v1.5.29 compact video sort control */
.hds-route-sort-box {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    width: auto !important;
    max-width: max-content !important;
    margin: 0 0 16px auto !important;
    padding: 7px 9px !important;
    background: #ffffff !important;
    border: 1px solid rgba(20, 20, 20, 0.10) !important;
    border-radius: 10px !important;
    box-shadow: 0 5px 14px rgba(15, 23, 42, 0.05) !important;
}
.hds-route-sort-box label {
    margin: 0 !important;
    font-weight: 800 !important;
    color: #1f2937 !important;
    font-size: 0.88rem !important;
    line-height: 1 !important;
}
.hds-route-sort-box select {
    width: auto !important;
    min-width: 145px !important;
    max-width: 175px !important;
    border: 1px solid rgba(20, 20, 20, 0.20) !important;
    border-radius: 7px !important;
    padding: 6px 30px 6px 10px !important;
    background-color: #ffffff !important;
    color: #111827 !important;
    font-weight: 700 !important;
    font-size: 0.88rem !important;
    line-height: 1.2 !important;
    min-height: 34px !important;
}
.hds-route-sort-box .hds-route-sort-submit {
    padding: 6px 10px !important;
    border-radius: 7px !important;
    min-height: 34px !important;
    font-size: 0.85rem !important;
    line-height: 1 !important;
}
@media (max-width: 640px) {
    .hds-route-sort-box {
        display: flex !important;
        width: 100% !important;
        max-width: none !important;
        justify-content: flex-start !important;
        margin: 0 0 14px 0 !important;
    }
    .hds-route-sort-box select {
        flex: 1 1 auto !important;
        max-width: none !important;
    }
}


/* v1.5.30 - Make Route Areas and individual route-area hero cards match My Account card layout */
.hds-route-portal #hds-route-areas .hds-route-section-card-banner,
.hds-route-category-index .hds-route-section-card-banner,
.hds-route-hub.hds-route-category-index .hds-route-section-card-banner,
.hds-route-template-wrap .hds-route-category-index .hds-route-section-card-banner{
  width:100% !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:minmax(240px,0.9fr) minmax(320px,1.6fr) !important;
  gap:28px !important;
  align-items:center !important;
  background:#ffffff !important;
  border:1px solid var(--hds-route-border,#e5e7eb) !important;
  border-radius:18px !important;
  box-shadow:0 10px 30px rgba(15,23,42,.08) !important;
  padding:28px !important;
  margin:22px 0 42px !important;
  overflow:hidden !important;
}
.hds-route-portal #hds-route-areas .hds-route-section-card-copy,
.hds-route-category-index .hds-route-section-card-copy,
.hds-route-template-wrap .hds-route-category-index .hds-route-section-card-copy{
  min-width:0 !important;
  padding:8px 4px !important;
}
.hds-route-portal #hds-route-areas .hds-route-section-card-copy h1,
.hds-route-category-index .hds-route-section-card-copy h1,
.hds-route-template-wrap .hds-route-category-index .hds-route-section-card-copy h1{
  margin:0 !important;
  color:#0f172a !important;
  font-size:clamp(30px,3.2vw,48px) !important;
  line-height:1.05 !important;
  font-weight:800 !important;
  text-transform:none !important;
  letter-spacing:-.03em !important;
}
.hds-route-portal #hds-route-areas .hds-route-section-card-copy p:not(.hds-route-eyebrow),
.hds-route-category-index .hds-route-section-card-copy p:not(.hds-route-eyebrow),
.hds-route-template-wrap .hds-route-category-index .hds-route-section-card-copy p:not(.hds-route-eyebrow){
  margin:0 !important;
  color:#475569 !important;
  font-size:18px !important;
  line-height:1.65 !important;
  max-width:420px !important;
}
.hds-route-portal #hds-route-areas .hds-route-section-card-image,
.hds-route-category-index .hds-route-section-card-image,
.hds-route-template-wrap .hds-route-category-index .hds-route-section-card-image{
  width:100% !important;
  height:300px !important;
  min-height:300px !important;
  max-height:300px !important;
  overflow:hidden !important;
  border-radius:12px !important;
  background:#f8fafc !important;
  line-height:0 !important;
}
.hds-route-portal #hds-route-areas .hds-route-section-card-image img,
.hds-route-category-index .hds-route-section-card-image img,
.hds-route-template-wrap .hds-route-category-index .hds-route-section-card-image img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
}
@media(max-width:900px){
  .hds-route-portal #hds-route-areas .hds-route-section-card-banner,
  .hds-route-category-index .hds-route-section-card-banner,
  .hds-route-template-wrap .hds-route-category-index .hds-route-section-card-banner{
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding:20px !important;
    margin:16px 0 30px !important;
  }
  .hds-route-portal #hds-route-areas .hds-route-section-card-image,
  .hds-route-category-index .hds-route-section-card-image,
  .hds-route-template-wrap .hds-route-category-index .hds-route-section-card-image{
    height:210px !important;
    min-height:210px !important;
    max-height:210px !important;
  }
}


/* v1.5.31 - force Route Areas and individual route-area banner images to match the My Account image sizing */
body .hds-route-portal #hds-route-areas .hds-route-section-card-banner,
body .hds-route-category-index .hds-route-section-card-banner,
body .hds-route-template-wrap .hds-route-category-index .hds-route-section-card-banner{
  display:grid !important;
  grid-template-columns:minmax(340px,.9fr) minmax(560px,1.65fr) !important;
  gap:28px !important;
  align-items:center !important;
  padding:28px 32px !important;
  background:#fff !important;
  border:1px solid var(--hds-route-border,#e5e7eb) !important;
  border-radius:18px !important;
  box-shadow:0 10px 30px rgba(15,23,42,.08) !important;
  overflow:hidden !important;
}
body .hds-route-portal #hds-route-areas .hds-route-section-card-image,
body .hds-route-category-index .hds-route-section-card-image,
body .hds-route-template-wrap .hds-route-category-index .hds-route-section-card-image{
  width:100% !important;
  height:300px !important;
  min-height:300px !important;
  max-height:300px !important;
  display:block !important;
  overflow:hidden !important;
  border-radius:12px !important;
  background:#f8fafc !important;
  line-height:0 !important;
}
body .hds-route-portal #hds-route-areas .hds-route-section-card-image img,
body .hds-route-category-index .hds-route-section-card-image img,
body .hds-route-template-wrap .hds-route-category-index .hds-route-section-card-image img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  transform:none !important;
}
@media(max-width:900px){
  body .hds-route-portal #hds-route-areas .hds-route-section-card-banner,
  body .hds-route-category-index .hds-route-section-card-banner,
  body .hds-route-template-wrap .hds-route-category-index .hds-route-section-card-banner{
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding:20px !important;
  }
  body .hds-route-portal #hds-route-areas .hds-route-section-card-image,
  body .hds-route-category-index .hds-route-section-card-image,
  body .hds-route-template-wrap .hds-route-category-index .hds-route-section-card-image{
    height:210px !important;
    min-height:210px !important;
    max-height:210px !important;
  }
}

/* v1.6.15: show locked route areas with an upgrade path instead of hiding them */
.hds-route-area-card-locked{
  position:relative!important;
  cursor:default!important;
  opacity:1!important;
  border:1px solid rgba(214,51,132,.22)!important;
  background:linear-gradient(180deg,#fff,#fff7fb)!important;
}
.hds-route-area-card-locked .hds-route-area-card-image{
  position:relative!important;
}
.hds-route-area-lock-badge{
  position:absolute!important;
  top:10px!important;
  right:10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:rgba(17,24,39,.88)!important;
  color:#fff!important;
  font-size:.78rem!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  box-shadow:0 8px 18px rgba(15,23,42,.18)!important;
}
.hds-route-area-card-locked .hds-route-area-card-desc{
  color:#4b5563!important;
}
.hds-route-area-card-locked .hds-route-area-card-action-muted{
  color:#6b7280!important;
  font-weight:800!important;
}
.hds-route-area-card-locked .hds-route-area-upgrade-btn{
  width:max-content!important;
  margin-top:auto!important;
  border-radius:10px!important;
  min-height:38px!important;
  padding:8px 13px!important;
  font-size:.92rem!important;
}
.hds-route-locked-card .hds-route-area-upgrade-btn{
  margin-left:8px!important;
}
@media(max-width:640px){
  .hds-route-locked-card .hds-route-area-upgrade-btn{margin-left:0!important;margin-top:8px!important;}
}


/* v1.6.16 - subscription plan cards */
.hds-route-subscribe-panel.hds-route-plan-panel{
  background:#ffffff!important;
  border:1px solid rgba(214,51,132,.16)!important;
  border-radius:18px!important;
  box-shadow:0 12px 32px rgba(17,24,39,.08)!important;
  padding:22px!important;
  margin:22px 0!important;
}
.hds-route-subscribe-panel.hds-route-plan-panel.compact{
  padding:18px!important;
  margin:18px 0!important;
}
.hds-route-subscribe-panel .hds-route-eyebrow{
  color:#d63384!important;
  font-weight:800!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
  font-size:.78rem!important;
  margin:0 0 6px!important;
}
.hds-route-subscribe-panel.hds-route-plan-panel h3{
  color:#111827!important;
  font-size:1.45rem!important;
  line-height:1.2!important;
  margin:0 0 8px!important;
}
.hds-route-subscribe-panel.hds-route-plan-panel > p{
  color:#4b5563!important;
  margin:0 0 16px!important;
}
.hds-route-plan-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
  margin-top:18px!important;
}
.hds-route-plan-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:230px!important;
  padding:18px!important;
  border:1px solid rgba(17,24,39,.10)!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#fff 0%,#fff8fc 100%)!important;
  box-shadow:0 8px 22px rgba(17,24,39,.06)!important;
  color:#111827!important;
}
.hds-route-plan-card-featured{
  border-color:rgba(214,51,132,.34)!important;
  box-shadow:0 12px 30px rgba(214,51,132,.13)!important;
}
.hds-route-plan-top{min-height:74px!important;}
.hds-route-plan-card h4{
  color:#111827!important;
  font-size:1.05rem!important;
  line-height:1.2!important;
  margin:9px 0 0!important;
}
.hds-route-plan-badge{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  max-width:100%!important;
  padding:5px 9px!important;
  border-radius:9px!important;
  background:#d63384!important;
  color:#fff!important;
  font-size:.72rem!important;
  font-weight:800!important;
  line-height:1!important;
}
.hds-route-plan-badge.muted{
  background:#fdf2f8!important;
  color:#be185d!important;
  border:1px solid rgba(190,24,93,.18)!important;
}
.hds-route-plan-description{
  color:#4b5563!important;
  font-size:.92rem!important;
  line-height:1.45!important;
  margin:8px 0 12px!important;
}
.hds-route-plan-card .hds-route-price-label{
  color:#111827!important;
  font-size:1.25rem!important;
  font-weight:900!important;
  margin:2px 0 4px!important;
}
.hds-route-plan-access{
  color:#6b7280!important;
  margin:0 0 14px!important;
}
.hds-route-plan-btn{
  margin-top:auto!important;
  width:100%!important;
  justify-content:center!important;
  text-align:center!important;
  border-radius:10px!important;
  color:#fff!important;
}
.hds-route-subscribe-note{
  margin:14px 0 0!important;
  color:#6b7280!important;
}
@media(max-width:1100px){
  .hds-route-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:640px){
  .hds-route-plan-grid{grid-template-columns:1fr!important;}
  .hds-route-plan-card{min-height:auto!important;}
  .hds-route-subscribe-panel.hds-route-plan-panel{padding:16px!important;}
}

/* v1.6.17 - subscription card images and cleaner subscribe area */
.hds-route-plan-card .hds-route-plan-image{
  width:100%!important;
  height:120px!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:#f8fafc!important;
  margin:0 0 14px!important;
  border:1px solid rgba(17,24,39,.08)!important;
}
.hds-route-plan-card .hds-route-plan-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.hds-route-plan-card-featured .hds-route-plan-image{
  border-color:rgba(214,51,132,.22)!important;
}
.hds-route-plan-top{min-height:68px!important;}
.hds-route-portal-grid.hds-route-login-panel{
  align-items:start!important;
}
@media(max-width:900px){
  .hds-route-plan-card .hds-route-plan-image{height:150px!important;}
}

/* v1.6.19 - My Account cancellation request panel */
.hds-route-cancel-panel{
  margin:22px 0!important;
  padding:18px!important;
  border:1px solid #fecdd3!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#fff7f9 0%,#ffffff 100%)!important;
}
.hds-route-cancel-panel h3{
  margin:0 0 8px!important;
  color:#9f1239!important;
}
.hds-route-cancel-panel p{
  margin:0 0 12px!important;
}
.hds-route-cancel-panel-requested{
  border-color:#fcd34d!important;
  background:linear-gradient(180deg,#fffbeb 0%,#ffffff 100%)!important;
}
.hds-route-cancel-panel-requested h3{
  color:#92400e!important;
}
.hds-route-btn-danger,
.hds-route-account .hds-route-btn-danger{
  background:#be123c!important;
  color:#ffffff!important;
  border-color:#be123c!important;
}
.hds-route-btn-danger:hover,
.hds-route-btn-danger:focus{
  background:#9f1239!important;
  color:#ffffff!important;
}

/* v1.6.24 - payment success password form inside main hero without changing the header layout */
.hds-route-home-actions > .hds-route-form-message{
  flex:0 0 100%!important;
  width:100%!important;
  margin:0 0 10px!important;
}
.hds-route-password-hero-box{
  flex:0 0 100%!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.hds-route-portal .hds-route-password-hero-box h2{
  display:block!important;
  margin:0 0 6px!important;
  font-size:1.15rem!important;
  line-height:1.25!important;
  color:#111827!important;
}
.hds-route-password-hero-box > p{
  margin:0 0 10px!important;
  font-size:.98rem!important;
  line-height:1.45!important;
}
.hds-route-password-fields{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  margin:0 0 10px!important;
}
.hds-route-password-fields p{
  margin:0!important;
}
.hds-route-password-fields input[type=password]{
  width:100%!important;
  max-width:none!important;
}
.hds-route-password-inline-form > p:last-child{
  margin:0!important;
}
@media(max-width:640px){
  .hds-route-password-fields{grid-template-columns:1fr!important;}
}


/* v1.6.26 - keep the payment-return hero image at the normal width */
.hds-route-home-hero.hds-route-home-hero-password-return{
  grid-template-columns:minmax(0,53.5%) minmax(0,46.5%)!important;
}
.hds-route-home-hero.hds-route-home-hero-password-return .hds-route-home-copy,
.hds-route-home-hero.hds-route-home-hero-password-return .hds-route-home-image{
  min-width:0!important;
}
.hds-route-home-hero.hds-route-home-hero-password-return .hds-route-home-image{
  width:100%!important;
}
.hds-route-home-hero.hds-route-home-hero-password-return .hds-route-home-image-img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
@media(max-width:860px){
  .hds-route-home-hero.hds-route-home-hero-password-return{grid-template-columns:1fr!important;}
}

/* v1.6.27 - payment success password panel below the main hero */
.hds-route-payment-password-panel{
  width:100%;
  margin:-6px 0 22px!important;
  padding:22px!important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fffb 48%,#fff7fb 100%)!important;
  border:1px solid var(--hds-route-border,#e5e7eb)!important;
  border-radius:var(--hds-route-radius,18px)!important;
  box-shadow:0 12px 30px rgba(15,23,42,.065)!important;
}
.hds-route-payment-password-panel .hds-route-form-message{
  margin:0 0 16px!important;
}
.hds-route-payment-password-panel .hds-route-password-hero-box{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.hds-route-payment-password-panel .hds-route-password-inline-form{
  width:100%!important;
}
.hds-route-payment-password-panel .hds-route-password-fields{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  margin:0 0 14px!important;
}
.hds-route-payment-password-panel .hds-route-password-fields p{
  margin:0!important;
}
.hds-route-payment-password-panel .hds-route-password-fields input[type=password]{
  width:100%!important;
  max-width:none!important;
}
.hds-route-payment-password-panel .hds-route-password-inline-form > p:last-child{
  margin:0!important;
}
@media(max-width:640px){
  .hds-route-payment-password-panel{padding:18px!important;}
  .hds-route-payment-password-panel .hds-route-password-fields{grid-template-columns:1fr!important;}
}


/* v1.6.28 - mobile friendly Route Hub polish */
.hds-route-portal,
.hds-route-hub,
.hds-route-single,
.hds-route-template-wrap,
.hds-route-portal *,
.hds-route-hub *,
.hds-route-single *,
.hds-route-template-wrap *{
  box-sizing:border-box!important;
}
.hds-route-portal,
.hds-route-hub,
.hds-route-single,
.hds-route-template-wrap{
  width:100%!important;
  max-width:min(var(--hds-route-max-width,1180px), calc(100vw - 24px))!important;
  overflow-x:hidden!important;
}
.hds-route-portal img,
.hds-route-hub img,
.hds-route-single img{
  max-width:100%!important;
}
.hds-route-portal input,
.hds-route-portal select,
.hds-route-portal textarea,
.hds-route-portal button,
.hds-route-hub input,
.hds-route-hub select,
.hds-route-hub textarea,
.hds-route-hub button,
.hds-route-single input,
.hds-route-single select,
.hds-route-single textarea,
.hds-route-single button{
  max-width:100%!important;
}
.hds-route-portal .hds-route-btn,
.hds-route-hub .hds-route-btn,
.hds-route-single .hds-route-btn{
  white-space:normal!important;
  text-align:center!important;
}
@media(max-width:900px){
  .hds-route-member-nav,
  .hds-route-portal,
  .hds-route-hub,
  .hds-route-single,
  .hds-route-template-wrap{
    max-width:calc(100vw - 18px)!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .hds-route-member-nav-inner{
    border-radius:18px!important;
    padding:10px!important;
  }
  .hds-route-member-nav-links{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    overflow:visible!important;
    white-space:normal!important;
  }
  .hds-route-member-nav-link{
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    padding:9px 10px!important;
  }
  .hds-route-home-hero{
    grid-template-columns:1fr!important;
    gap:0!important;
    margin:12px 0 18px!important;
    border-radius:20px!important;
  }
  .hds-route-home-copy{
    padding:22px!important;
  }
  .hds-route-home-copy h1{
    font-size:clamp(2rem,10vw,3rem)!important;
    line-height:1.04!important;
  }
  .hds-route-home-image{
    width:100%!important;
    min-height:220px!important;
    order:2!important;
  }
  .hds-route-home-image-img{
    width:100%!important;
    height:100%!important;
    min-height:220px!important;
    object-fit:cover!important;
  }
  .hds-route-home-actions,
  .hds-route-section-banner-actions,
  .hds-route-lock-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  .hds-route-home-actions .hds-route-btn,
  .hds-route-section-banner-actions .hds-route-btn,
  .hds-route-lock-actions .hds-route-btn{
    width:100%!important;
    justify-content:center!important;
  }
  .hds-route-section-card-banner,
  body .hds-route-portal #hds-route-areas .hds-route-section-card-banner,
  body .hds-route-category-index .hds-route-section-card-banner,
  body .hds-route-template-wrap .hds-route-category-index .hds-route-section-card-banner,
  .hds-route-portal .hds-route-section-banner,
  .hds-route-hub .hds-route-section-banner{
    grid-template-columns:1fr!important;
    gap:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .hds-route-section-banner-copy,
  .hds-route-section-card-copy,
  .hds-route-portal .hds-route-section-banner-copy,
  .hds-route-hub .hds-route-section-banner-copy{
    width:100%!important;
    height:auto!important;
    min-height:auto!important;
    padding:20px!important;
    order:1!important;
  }
  .hds-route-section-banner-image,
  .hds-route-section-card-image,
  .hds-route-portal .hds-route-section-banner > .hds-route-home-image.hds-route-section-banner-image,
  .hds-route-hub .hds-route-section-banner > .hds-route-home-image.hds-route-section-banner-image,
  body .hds-route-portal #hds-route-areas .hds-route-section-card-image,
  body .hds-route-category-index .hds-route-section-card-image,
  body .hds-route-template-wrap .hds-route-category-index .hds-route-section-card-image{
    width:100%!important;
    height:210px!important;
    min-height:210px!important;
    max-height:210px!important;
    order:2!important;
  }
  .hds-route-section-banner-image img,
  .hds-route-section-card-image img,
  .hds-route-portal .hds-route-section-banner > .hds-route-home-image.hds-route-section-banner-image img.hds-route-home-image-img,
  .hds-route-hub .hds-route-section-banner > .hds-route-home-image.hds-route-section-banner-image img.hds-route-home-image-img,
  body .hds-route-portal #hds-route-areas .hds-route-section-card-image img,
  body .hds-route-category-index .hds-route-section-card-image img,
  body .hds-route-template-wrap .hds-route-category-index .hds-route-section-card-image img{
    position:static!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:none!important;
    object-fit:cover!important;
  }
  .hds-route-portal-grid,
  .hds-route-login-panel,
  .hds-route-quick-links,
  .hds-route-category-grid,
  .hds-route-area-grid,
  .hds-route-video-grid,
  .hds-route-notes-grid{
    grid-template-columns:1fr!important;
  }
  .hds-route-plan-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:640px){
  .hds-route-member-nav,
  .hds-route-portal,
  .hds-route-hub,
  .hds-route-single,
  .hds-route-template-wrap{
    max-width:calc(100vw - 12px)!important;
    padding-left:6px!important;
    padding-right:6px!important;
  }
  .hds-route-member-nav-links{
    grid-template-columns:1fr!important;
  }
  .hds-route-home-copy,
  .hds-route-portal-card,
  .hds-route-locked-card,
  .hds-route-subscribe-panel.hds-route-plan-panel,
  .hds-route-payment-password-panel,
  .hds-route-account,
  .hds-route-locked{
    padding:16px!important;
    border-radius:18px!important;
  }
  .hds-route-home-copy h1,
  .hds-route-section-banner-copy h1,
  .hds-route-section-card-copy h1{
    font-size:clamp(1.85rem,11vw,2.65rem)!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  .hds-route-home-copy p:not(.hds-route-eyebrow),
  .hds-route-section-banner-copy p:not(.hds-route-eyebrow),
  .hds-route-section-card-copy p:not(.hds-route-eyebrow){
    font-size:1rem!important;
  }
  .hds-route-home-actions,
  .hds-route-section-banner-actions,
  .hds-route-lock-actions,
  .hds-route-password-fields,
  .hds-route-payment-password-panel .hds-route-password-fields{
    grid-template-columns:1fr!important;
  }
  .hds-route-home-points{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .hds-route-home-points span{
    width:100%!important;
    justify-content:center!important;
  }
  .hds-route-plan-grid,
  .hds-route-category-index .hds-route-video-grid{
    grid-template-columns:1fr!important;
  }
  .hds-route-plan-card,
  .hds-route-card,
  .hds-route-category-card,
  .hds-route-area-card{
    width:100%!important;
    min-width:0!important;
  }
  .hds-route-plan-card .hds-route-plan-image,
  .hds-route-category-index .hds-route-thumb,
  .hds-route-thumb{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:16/9!important;
  }
  .hds-route-member-form input,
  .hds-route-login-box input[type=text],
  .hds-route-login-box input[type=password],
  .hds-route-register-box input[type=text],
  .hds-route-register-box input[type=email],
  .hds-route-register-box input[type=password],
  .hds-route-account input[type=text],
  .hds-route-account input[type=email],
  .hds-route-account input[type=password]{
    width:100%!important;
    max-width:100%!important;
  }
  .hds-route-btn,
  .hds-route-submit,
  .hds-route-account .button-primary,
  .hds-route-portal input[type=submit]{
    width:100%!important;
    justify-content:center!important;
    text-align:center!important;
  }
}
@media(max-width:380px){
  .hds-route-home-copy h1,
  .hds-route-section-banner-copy h1,
  .hds-route-section-card-copy h1{
    font-size:1.75rem!important;
  }
  .hds-route-home-copy,
  .hds-route-portal-card,
  .hds-route-payment-password-panel{
    padding:14px!important;
  }
}

/* v1.6.36 - slimmer front page navigation cards */
.hds-route-slim-quick-links{
  gap:12px!important;
  margin:10px 0 22px!important;
}
.hds-route-slim-quick-card{
  min-height:0!important;
  padding:13px 16px!important;
  border-radius:14px!important;
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  box-shadow:0 6px 16px rgba(15,23,42,.045)!important;
}
.hds-route-slim-quick-card:before{
  display:none!important;
}
.hds-route-slim-quick-card strong{
  margin:0!important;
  font-size:1rem!important;
  line-height:1.15!important;
  flex:0 0 auto;
}
.hds-route-slim-quick-card span{
  font-size:.88rem!important;
  line-height:1.3!important;
  text-align:right;
}
.hds-route-slim-quick-card:after{
  content:"›";
  font-size:1.4rem;
  line-height:1;
  color:var(--hds-route-accent,#d63384);
  flex:0 0 auto;
}
@media(max-width:760px){
  .hds-route-slim-quick-card{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
    padding:14px 16px!important;
    position:relative;
  }
  .hds-route-slim-quick-card span{text-align:left;padding-right:22px;}
  .hds-route-slim-quick-card:after{position:absolute;right:16px;top:17px;}
}


/* v1.6.42 - title-only home navigation cards */
.hds-route-title-only-card{
  justify-content:space-between!important;
  min-height:58px!important;
  padding:16px 18px!important;
}
.hds-route-title-only-card strong{
  font-size:1.02rem!important;
}
@media(max-width:760px){
  .hds-route-title-only-card{
    flex-direction:row!important;
    align-items:center!important;
    gap:12px!important;
  }
  .hds-route-title-only-card:after{
    position:static!important;
  }
}


/* v1.6.43 - final public wording/mobile card polish */
.hds-route-title-only-card span{display:none!important;}
.hds-route-home-section-head h2{letter-spacing:-.02em!important;}
.hds-route-home-section-head p{max-width:760px!important;}
@media(max-width:760px){
  .hds-route-home-quick-links{grid-template-columns:1fr!important;}
  .hds-route-title-only-card{min-height:52px!important;padding:14px 16px!important;}
  .hds-route-title-only-card strong{font-size:1rem!important;}
}
@media(max-width:520px){
  .hds-route-home-section-head{gap:12px!important;}
  .hds-route-home-section-head h2{font-size:1.35rem!important;}
  .hds-route-home-section-head p{font-size:.95rem!important;}
}

/* Bunny.net desktop hover preview animation */
.hds-route-thumb{position:relative;}
.hds-route-preview-animation{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover;display:block;opacity:0;transition:opacity .18s ease;pointer-events:none;z-index:1;}
@media (hover:hover) and (pointer:fine){
  .hds-route-card:hover .hds-route-preview-animation,
  .hds-route-card:focus-within .hds-route-preview-animation{opacity:1;}
}
@media (hover:none),(pointer:coarse){
  .hds-route-preview-animation{display:none!important;}
}

/* v1.6.46: Video page navigation and no WordPress-facing profile links */
.hds-route-video-nav{
  max-width: 1180px;
  margin: 18px auto 12px;
  padding: 0 18px;
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  box-sizing: border-box;
}
.hds-route-video-nav .hds-route-btn{
  margin: 0;
  text-decoration: none;
}
.hds-route-video-nav .hds-route-btn.ghost{
  background: rgba(255,255,255,.82);
  color: #5a286b;
  border: 1px solid rgba(157,72,186,.22);
  box-shadow: none;
}
.hds-route-video-nav .hds-route-btn.ghost:hover,
.hds-route-video-nav .hds-route-btn.ghost:focus{
  background: #fff;
  border-color: rgba(157,72,186,.45);
}
.hds-route-question-form .logged-in-as a[href*="wp-admin"],
.hds-route-question-form .logged-in-as a[href*="profile.php"]{
  display: none !important;
}
@media (max-width: 640px){
  .hds-route-video-nav{
    padding: 0 14px;
    gap: 10px;
  }
  .hds-route-video-nav .hds-route-btn{
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

/* v1.6.49 TomTom route file add-ons */
.hds-route-tomtom-box{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  margin:28px 0;
  padding:24px;
  border:1px solid rgba(214,51,132,.18);
  border-radius:22px;
  background:linear-gradient(135deg,#fff 0%,#fff7fb 100%);
  box-shadow:0 12px 30px rgba(17,24,39,.06);
}
.hds-route-tomtom-box h2{margin:.2rem 0 .55rem;}
.hds-route-tomtom-note{font-size:.95em;color:#5f6472;margin-bottom:0;}
.hds-route-tomtom-action{min-width:210px;text-align:right;}
.hds-route-account-downloads{margin:22px 0;padding:20px;border:1px solid #e5e7eb;border-radius:18px;background:#fff;}
.hds-route-download-list{display:grid;gap:12px;}
.hds-route-download-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid #f0f1f4;}
.hds-route-download-list article:first-child{border-top:0;}
@media(max-width:760px){
  .hds-route-tomtom-box{grid-template-columns:1fr;padding:18px;}
  .hds-route-tomtom-action{text-align:left;min-width:0;}
  .hds-route-tomtom-action .hds-route-btn{width:100%;justify-content:center;}
  .hds-route-download-list article{display:block;}
  .hds-route-download-list .hds-route-btn{width:100%;margin-top:10px;justify-content:center;}
}

/* v1.6.50 - compact TomTom CTA below video player */
.hds-route-video-tomtom-cta{
  margin:16px 0 14px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(219,39,119,.18);
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(253,242,248,.94));
  box-shadow:0 14px 34px rgba(15,23,42,.08);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.hds-route-video-tomtom-cta strong{
  display:block;
  color:#101827;
  font-size:1rem;
  margin-bottom:2px;
}
.hds-route-video-tomtom-cta span{
  display:block;
  color:#64748b;
  font-size:.93rem;
}
.hds-route-video-tomtom-cta .hds-route-btn{
  white-space:nowrap;
}
.hds-route-video-tomtom-cta .hds-route-mini-note{
  font-weight:800;
  color:#7c3aed;
  text-align:right;
}
@media (max-width: 700px){
  .hds-route-video-tomtom-cta{
    align-items:stretch;
    flex-direction:column;
    padding:14px;
  }
  .hds-route-video-tomtom-cta .hds-route-btn{
    width:100%;
    justify-content:center;
    white-space:normal;
  }
  .hds-route-video-tomtom-cta .hds-route-mini-note{
    text-align:left;
  }
}

/* v1.6.55: keep learner comments, remove the large Q&A promo box feel */
.hds-route-comments-slim{margin-top:28px!important;padding:18px 20px 20px!important;border:1px solid rgba(15,23,42,.08)!important;border-radius:22px!important;background:#fff!important;box-shadow:0 10px 26px rgba(15,23,42,.045)!important;overflow:visible!important}
.hds-route-comments-slim .hds-route-comments-heading{padding:0 0 10px!important;margin:0!important;background:transparent!important;border:0!important}
.hds-route-comments-slim .hds-route-comments-heading h2{margin:0!important;font-size:1.35rem!important;line-height:1.2!important;color:#111827!important}
.hds-route-comments-slim .hds-route-question-list{padding:10px 0 4px!important}
.hds-route-comments-slim .hds-route-question-form-wrap{padding:16px 0 0!important;border-top:1px solid rgba(15,23,42,.07)!important;background:transparent!important}
@media(max-width:640px){.hds-route-comments-slim{padding:16px!important}.hds-route-comments-slim .hds-route-question-list,.hds-route-comments-slim .hds-route-question-form-wrap{padding-left:0!important;padding-right:0!important}}

/* v1.6.57 - mobile collapsible hub menu and cleaner mobile hero */
.hds-route-mobile-menu-check,
.hds-route-mobile-menu-toggle{display:none!important;}
.hds-route-member-nav-top{display:flex;align-items:center;justify-content:space-between;gap:12px;width:auto;}
@media(max-width:760px){
  .hds-route-member-nav-inner{display:block!important;padding:10px!important;}
  .hds-route-member-nav-top{width:100%!important;}
  .hds-route-mobile-menu-toggle{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 12px;border-radius:10px;background:#ffffff;color:#243447!important;-webkit-text-fill-color:#243447!important;border:2px solid rgba(255,255,255,.45);font-weight:900;cursor:pointer;line-height:1;text-decoration:none;}
  .hds-route-mobile-menu-icon{font-size:1.15rem;line-height:1;}
  .hds-route-member-nav-links{display:none!important;width:100%!important;margin-top:10px!important;overflow:visible!important;white-space:normal!important;padding-bottom:0!important;gap:8px!important;}
  .hds-route-mobile-menu-check:checked ~ .hds-route-member-nav-top .hds-route-mobile-menu-icon{transform:rotate(90deg);}
  .hds-route-mobile-menu-check:checked ~ .hds-route-member-nav-links{display:grid!important;grid-template-columns:1fr!important;}
  .hds-route-member-nav .hds-route-member-nav-link{width:100%!important;min-width:0!important;justify-content:center!important;}
  .hds-route-home-points{display:none!important;}
}


/* v1.6.58 - hide duplicate hero subscribe button on mobile only */
@media(max-width:760px){
  .hds-route-home-hero .hds-route-home-actions .hds-route-hero-subscribe-btn{
    display:none!important;
  }
}

/* v1.6.61 - Stripe promotion/discount code helper */
.hds-route-discount-note{
  margin-top:14px!important;
  padding:11px 13px!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#fff7fb,#f8fbff)!important;
  border:1px solid rgba(214,51,132,.18)!important;
  color:#374151!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px 10px!important;
  font-size:.94rem!important;
  font-weight:750!important;
}
.hds-route-discount-note strong{color:#111827!important;font-weight:900!important;}
.hds-route-discount-note code{
  display:inline-flex!important;
  align-items:center!important;
  padding:3px 8px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid rgba(214,51,132,.22)!important;
  color:var(--hds-route-accent,#d63384)!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
}
.hds-route-video-tomtom-cta .hds-route-discount-note{flex-basis:100%!important;margin-top:8px!important;padding:8px 10px!important;font-size:.86rem!important;}
@media(max-width:640px){
  .hds-route-discount-note{display:grid!important;gap:6px!important;font-size:.9rem!important;}
}


/* v1.6.65 account polish and non-interrupting comments */
.hds-route-payment-password-panel .hds-route-password-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:end!important;}
.hds-route-payment-password-panel .hds-route-password-fields p{min-width:0!important;}
.hds-route-account-bottom-cancel{margin-top:28px!important;padding-top:18px!important;border-top:1px solid rgba(15,23,42,.08)!important;}
.hds-route-account-bottom-cancel .hds-route-cancel-panel{margin-bottom:0!important;opacity:.92!important;}
.hds-route-ajax-message{margin:0 0 14px!important;}
.hds-route-question-form .hds-route-submit:disabled{opacity:.65!important;cursor:wait!important;}
@media(max-width:640px){.hds-route-payment-password-panel .hds-route-password-fields{grid-template-columns:1fr!important;}}

/* v1.6.67 Route Hub comment controls */
.hds-route-question-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.hds-route-inline-delete-comment { display:inline; margin:0; }
.hds-route-comment-delete { border:0; border-radius:999px; background:#f3f4f6; color:#991b1b; padding:8px 12px; font-weight:700; cursor:pointer; }
.hds-route-comment-delete:hover { background:#fee2e2; }


/* v1.6.72 - consistent rounded button shape across Route Hub */
.hds-route-hub .hds-route-btn,
.hds-route-single .hds-route-btn,
.hds-route-portal .hds-route-btn,
.hds-route-template-wrap .hds-route-btn,
.hds-route-hub button,
.hds-route-single button,
.hds-route-portal button,
.hds-route-template-wrap button,
.hds-route-hub input[type="submit"],
.hds-route-single input[type="submit"],
.hds-route-portal input[type="submit"],
.hds-route-template-wrap input[type="submit"],
.hds-route-question-form-wrap input[type="submit"],
.hds-route-account .button-primary,
.hds-route-question-actions a,
.hds-route-member-nav-link,
.hds-route-comment-delete,
.hds-route-bulk-delete,
.hds-route-admin-comment-actions a,
.hds-route-admin-comment-actions button {
  border-radius:999px!important;
}

.hds-route-question-actions a,
.hds-route-comment-delete,
.hds-route-bulk-delete,
.hds-route-admin-comment-actions a,
.hds-route-admin-comment-actions button {
  min-height:38px!important;
  padding:8px 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

@media(max-width:640px){
  .hds-route-hub .hds-route-btn,
  .hds-route-single .hds-route-btn,
  .hds-route-portal .hds-route-btn,
  .hds-route-template-wrap .hds-route-btn,
  .hds-route-hub button,
  .hds-route-single button,
  .hds-route-portal button,
  .hds-route-template-wrap button,
  .hds-route-hub input[type="submit"],
  .hds-route-single input[type="submit"],
  .hds-route-portal input[type="submit"],
  .hds-route-template-wrap input[type="submit"]{
    border-radius:999px!important;
  }
}


/* v1.6.79 - Keep subscribed and upgrade area cards tidy and aligned */
.hds-route-area-card-grid .hds-route-area-image-card{
  height:100%!important;
}
.hds-route-area-card-grid .hds-route-area-card-body{
  flex:1 1 auto!important;
  min-height:210px!important;
}
.hds-route-area-card-grid .hds-route-area-card-desc{
  min-height:44px!important;
}
.hds-route-area-card-grid .hds-route-area-card-action,
.hds-route-area-card-grid .hds-route-area-upgrade-btn{
  margin-top:auto!important;
}
.hds-route-area-card-locked .hds-route-area-card-desc{
  font-size:.98rem!important;
  line-height:1.45!important;
}
@media(max-width:720px){
  .hds-route-area-card-grid .hds-route-area-card-body{
    min-height:auto!important;
  }
  .hds-route-area-card-grid .hds-route-area-card-desc{
    min-height:0!important;
  }
}


/* v1.6.80 - Consistent pill button shape and softer subscribed area action */
.hds-route-hub .hds-route-btn,
.hds-route-single .hds-route-btn,
.hds-route-portal .hds-route-btn,
.hds-route-template-wrap .hds-route-btn,
.hds-route-hub button,
.hds-route-single button,
.hds-route-portal button,
.hds-route-template-wrap button,
.hds-route-hub input[type="submit"],
.hds-route-single input[type="submit"],
.hds-route-portal input[type="submit"],
.hds-route-template-wrap input[type="submit"],
.hds-route-area-card-grid .hds-route-area-card-action,
.hds-route-area-card-grid .hds-route-area-upgrade-btn,
.hds-route-question-actions a,
.hds-route-tomtom-cta a,
.hds-route-tomtom-cta button,
.hds-route-account a.hds-route-btn,
.hds-route-lock-actions a,
.hds-route-home-card,
.hds-route-member-nav-link{
  border-radius:999px!important;
}

.hds-route-area-card-grid .hds-route-area-card-action,
.hds-route-area-card-grid .hds-route-area-upgrade-btn{
  min-height:42px!important;
  padding:9px 15px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1.1!important;
  font-weight:900!important;
}

.hds-route-area-card-grid .hds-route-area-image-card:not(.hds-route-area-card-locked) .hds-route-area-card-action{
  background:rgba(34,197,94,.16)!important;
  border:1px solid rgba(34,197,94,.34)!important;
  color:#166534!important;
  box-shadow:0 10px 22px rgba(34,197,94,.10)!important;
}

.hds-route-area-card-grid .hds-route-area-image-card:not(.hds-route-area-card-locked) .hds-route-area-card-action:hover,
.hds-route-area-card-grid .hds-route-area-image-card:not(.hds-route-area-card-locked) .hds-route-area-card-action:focus{
  background:rgba(34,197,94,.22)!important;
  border-color:rgba(34,197,94,.48)!important;
  color:#14532d!important;
  outline:3px solid rgba(34,197,94,.18)!important;
  outline-offset:2px!important;
}

@media(max-width:720px){
  .hds-route-area-card-grid .hds-route-area-card-action,
  .hds-route-area-card-grid .hds-route-area-upgrade-btn{
    width:100%!important;
  }
}


/* v1.6.81 - Rectangular button shape consistency and restore subscribed card colour */
.hds-route-hub .hds-route-btn,
.hds-route-single .hds-route-btn,
.hds-route-portal .hds-route-btn,
.hds-route-template-wrap .hds-route-btn,
.hds-route-hub button,
.hds-route-single button,
.hds-route-portal button,
.hds-route-template-wrap button,
.hds-route-hub input[type="submit"],
.hds-route-single input[type="submit"],
.hds-route-portal input[type="submit"],
.hds-route-template-wrap input[type="submit"],
.hds-route-area-card-grid .hds-route-area-card-action,
.hds-route-area-card-grid .hds-route-area-upgrade-btn,
.hds-route-question-actions a,
.hds-route-tomtom-cta a,
.hds-route-tomtom-cta button,
.hds-route-account a.hds-route-btn,
.hds-route-lock-actions a,
.hds-route-member-nav-link,
.hds-route-comment-delete,
.hds-route-bulk-delete,
.hds-route-admin-comment-actions a,
.hds-route-admin-comment-actions button{
  border-radius:10px!important;
}

.hds-route-area-card-grid .hds-route-area-image-card:not(.hds-route-area-card-locked) .hds-route-area-card-action{
  background:var(--hds-route-accent,#d63384)!important;
  border:1px solid var(--hds-route-accent,#d63384)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  box-shadow:0 10px 22px rgba(214,51,132,.18)!important;
}

.hds-route-area-card-grid .hds-route-area-image-card:not(.hds-route-area-card-locked) .hds-route-area-card-action:hover,
.hds-route-area-card-grid .hds-route-area-image-card:not(.hds-route-area-card-locked) .hds-route-area-card-action:focus{
  background:#be185d!important;
  border-color:#be185d!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  outline:3px solid rgba(214,51,132,.18)!important;
  outline-offset:2px!important;
}


/* Legal/policy pages */
.hds-route-legal-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 28px auto 4px;
  padding: 18px 10px 0;
  font-size: 0.92rem;
  color: rgba(31, 41, 55, 0.72);
}
.hds-route-legal-footer a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(214, 51, 132, 0.22);
}
.hds-route-legal-footer a:hover,
.hds-route-legal-footer a:focus {
  color: #d63384;
  border-bottom-color: rgba(214, 51, 132, 0.65);
}
.hds-route-legal-card {
  background: #fff;
  border: 1px solid rgba(229, 231, 235, 0.95);
  border-radius: 18px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
  padding: clamp(18px, 3vw, 32px);
  margin: 22px 0;
}
.hds-route-legal-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}
.hds-route-legal-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  padding: 10px 14px;
  background: rgba(214, 51, 132, 0.08);
  color: #831843;
  text-decoration: none;
  font-weight: 700;
}
.hds-route-legal-tab.is-active {
  background: #d63384;
  color: #fff;
}
.hds-route-legal-content {
  color: #374151;
  line-height: 1.7;
}
.hds-route-legal-content p {
  margin: 0 0 1em;
}
@media (max-width: 640px) {
  .hds-route-legal-tabs { display: grid; grid-template-columns: 1fr; }
  .hds-route-legal-tab { width: 100%; }
}


/* Direct TomTom public purchase cards */
.hds-route-tomtom-public-panel{
  background:#ffffff!important;
  border:1px solid rgba(214,51,132,.16)!important;
  border-radius:18px!important;
  box-shadow:0 12px 32px rgba(17,24,39,.08)!important;
  padding:22px!important;
  margin:22px 0!important;
}
.hds-route-tomtom-public-panel.compact{padding:18px!important;margin:18px 0!important;}
.hds-route-tomtom-public-panel .hds-route-tomtom-note{color:#6b7280!important;font-size:.92rem!important;}
.hds-route-tomtom-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.hds-route-tomtom-card{min-height:0!important;padding:16px!important;}
.hds-route-tomtom-card .hds-route-plan-image{height:118px!important;margin:-4px -4px 12px!important;border-radius:13px!important;}
.hds-route-tomtom-card .hds-route-plan-top{min-height:auto!important;}
.hds-route-tomtom-card h4{font-size:1.02rem!important;margin:8px 0 0!important;}
.hds-route-tomtom-card .hds-route-plan-description{font-size:.9rem!important;margin:8px 0 10px!important;}
.hds-route-tomtom-card .hds-route-price-label{font-size:1.18rem!important;}
.hds-route-tomtom-card .hds-route-plan-access{margin:0 0 12px!important;}
@media(max-width:900px){.hds-route-tomtom-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:640px){.hds-route-tomtom-plan-grid{grid-template-columns:1fr!important;}.hds-route-tomtom-public-panel{padding:16px!important;}}


/* Route Hub profile image */
.hds-route-account-summary-with-avatar{
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  flex-wrap:wrap!important;
}
.hds-route-profile-avatar{
  width:74px!important;
  height:74px!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 74px!important;
  background:linear-gradient(135deg,#d63384,#7c3aed,#2563eb)!important;
  color:#fff!important;
  font-size:1.8rem!important;
  font-weight:900!important;
  box-shadow:0 14px 35px rgba(15,23,42,.18)!important;
  overflow:hidden!important;
}
.hds-route-profile-avatar-img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.hds-route-account-summary-details{
  flex:1 1 260px!important;
  min-width:0!important;
}
.hds-route-profile-form input[type="file"]{
  width:100%!important;
  border:1px dashed rgba(214,51,132,.35)!important;
  border-radius:12px!important;
  padding:12px!important;
  background:#fff!important;
}
.hds-route-profile-remove{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  font-weight:700!important;
  color:#6b7280!important;
}

/* v1.7.06 Clearer My Account profile image upload */
.hds-route-profile-image-panel{
  border:1px solid rgba(214,51,132,.22)!important;
  background:linear-gradient(180deg,#fff,#fbfbff)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.06)!important;
}
.hds-route-profile-upload-row{
  display:flex!important;
  gap:18px!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  margin:12px 0 16px!important;
}
.hds-route-profile-upload-preview{
  flex:0 0 auto!important;
}
.hds-route-profile-upload-field{
  flex:1 1 280px!important;
  min-width:240px!important;
}
.hds-route-profile-upload-field label{
  display:block!important;
  font-weight:800!important;
  color:#111827!important;
  margin-bottom:10px!important;
}
.hds-route-profile-details{
  margin:14px 0!important;
  border-top:1px solid #e5e7eb!important;
  padding-top:12px!important;
}
.hds-route-profile-details summary{
  cursor:pointer!important;
  font-weight:900!important;
  color:#d63384!important;
  margin-bottom:10px!important;
}
@media(max-width:640px){
  .hds-route-profile-upload-row{align-items:flex-start!important;}
  .hds-route-profile-upload-field{min-width:100%!important;}
}

/* v1.7.11 - Instructor code pack pages styled to match the Video Hub */
.hds-instructor-code-page{
  max-width:var(--hds-route-max-width,1140px)!important;
  margin:0 auto!important;
  padding:18px 16px 38px!important;
  font-family:var(--hds-route-font,inherit);
  font-size:var(--hds-route-size,16px);
  color:#111827;
  box-sizing:border-box;
}
.hds-instructor-info-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:20px 0 18px;
}
.hds-instructor-info-strip article{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(15,23,42,.08);
  border-radius:20px;
  padding:16px 17px;
  box-shadow:0 12px 32px rgba(15,23,42,.06);
}
.hds-instructor-info-strip strong{
  display:block;
  font-weight:950;
  color:#111827;
  margin-bottom:4px;
}
.hds-instructor-info-strip span{
  display:block;
  color:#5b6472;
  font-weight:700;
  line-height:1.4;
}
.hds-instructor-pack-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(245px,1fr));
  gap:18px;
  margin:20px 0;
}
.hds-instructor-pack-card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff 0%,#fff7fb 100%);
  border:1px solid rgba(214,51,132,.14);
  border-radius:24px;
  padding:22px;
  box-shadow:0 18px 48px rgba(15,23,42,.085);
}
.hds-instructor-pack-card:after{
  content:"";
  position:absolute;
  right:-55px;
  top:-55px;
  width:145px;
  height:145px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(214,51,132,.12),rgba(91,192,222,.14));
  pointer-events:none;
}
.hds-instructor-pack-top,
.hds-instructor-pack-details,
.hds-instructor-pack-note,
.hds-instructor-pack-button,
.hds-instructor-pack-unavailable{position:relative;z-index:1}
.hds-instructor-pack-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(214,51,132,.1);
  color:var(--hds-route-accent,#d63384);
  font-weight:900;
  font-size:.78rem;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.hds-instructor-pack-card h3{
  margin:12px 0 8px!important;
  color:#111827!important;
  font-size:1.35rem!important;
  line-height:1.16!important;
  letter-spacing:-.025em;
}
.hds-instructor-pack-price{
  margin:0 0 14px!important;
  color:var(--hds-route-accent,#d63384)!important;
  font-size:1.45rem!important;
  font-weight:950!important;
  letter-spacing:-.03em;
}
.hds-instructor-pack-details{
  display:grid;
  gap:9px;
  margin:14px 0 14px;
}
.hds-instructor-pack-details div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(15,23,42,.07);
  border-radius:14px;
}
.hds-instructor-pack-details dt{
  margin:0;
  color:#64748b;
  font-weight:900;
  font-size:.88rem;
}
.hds-instructor-pack-details dd{
  margin:0;
  color:#111827;
  font-weight:950;
  text-align:right;
}
.hds-instructor-pack-note{
  color:#4b5563;
  font-weight:750;
  line-height:1.45;
  margin:10px 0 16px!important;
}
.hds-instructor-pack-button{
  width:100%;
  min-height:46px!important;
}
.hds-instructor-pack-unavailable,
.hds-instructor-empty,
.hds-instructor-smallprint{
  display:block;
  padding:14px 16px;
  border-radius:18px;
  background:#f8fafc;
  border:1px dashed #cbd5e1;
  color:#475569;
  font-weight:800;
}
.hds-instructor-empty{margin:20px 0;text-align:center;background:#fff;border-style:solid;box-shadow:0 14px 38px rgba(15,23,42,.06)}
.hds-instructor-empty h3{margin:.1rem 0 .35rem!important;color:#111827!important}
.hds-instructor-smallprint{margin-top:20px;background:#fff;border-style:solid}
.hds-instructor-redeem-wrap{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);
  gap:22px;
  align-items:stretch;
  margin-top:22px;
}
.hds-instructor-redeem-copy,
.hds-instructor-redeem-card,
.hds-instructor-result-card{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:26px;
  padding:clamp(20px,4vw,32px);
  box-shadow:0 18px 50px rgba(15,23,42,.08);
}
.hds-instructor-redeem-copy{
  color:#fff;
  overflow:hidden;
  position:relative;
  background:
    radial-gradient(circle at 100% 0%,rgba(255,255,255,.2),transparent 18rem),
    linear-gradient(135deg,rgba(214,51,132,.94),rgba(91,192,222,.88));
}
.hds-instructor-redeem-copy .hds-route-eyebrow{color:#fff!important;background:rgba(255,255,255,.18);display:inline-flex;padding:6px 10px;border:1px solid rgba(255,255,255,.24);border-radius:999px}
.hds-instructor-redeem-copy h1{
  color:#fff!important;
  margin:.25rem 0 .6rem!important;
  font-size:clamp(2rem,5vw,3.1rem)!important;
  line-height:1.05!important;
  letter-spacing:-.045em;
}
.hds-instructor-redeem-copy p,
.hds-instructor-redeem-copy li{color:rgba(255,255,255,.94)!important;font-weight:750;line-height:1.55}
.hds-instructor-redeem-copy ul{margin:18px 0 0!important;padding:0!important;list-style:none!important;display:grid;gap:9px}
.hds-instructor-redeem-copy li{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2)}
.hds-instructor-redeem-card h2{
  margin:0 0 14px!important;
  color:#111827!important;
  font-size:1.7rem!important;
  letter-spacing:-.03em;
}
.hds-instructor-redeem-form{display:grid;gap:14px}
.hds-instructor-redeem-form label{display:grid;gap:6px;font-weight:900;color:#111827}
.hds-instructor-redeem-form input[type=text],
.hds-instructor-redeem-form input[type=email]{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  border:1px solid #d7dce5!important;
  border-radius:15px!important;
  padding:13px 14px!important;
  background:#fbfcff!important;
  color:#111827!important;
  font-size:1rem!important;
}
.hds-instructor-redeem-form input:focus{outline:3px solid rgba(214,51,132,.18)!important;border-color:var(--hds-route-accent,#d63384)!important}
.hds-instructor-redeem-form .hds-route-btn{min-height:48px!important;margin-top:4px}
.hds-instructor-redeem-help{margin:14px 0 0!important;color:#64748b!important;font-weight:750!important;line-height:1.45!important}
.hds-instructor-result-card{max-width:760px;margin:26px auto;text-align:center}
.hds-instructor-result-card h2{margin:.45rem 0 .6rem!important;color:#111827!important;font-size:2rem!important;letter-spacing:-.04em}
.hds-instructor-result-icon{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:999px;font-size:1.55rem;font-weight:950;color:#fff;background:var(--hds-route-accent,#d63384);box-shadow:0 14px 30px rgba(214,51,132,.24)}
.hds-instructor-result-icon.success{background:#16a34a}.hds-instructor-result-icon.error{background:#dc2626}
@media(max-width:820px){
  .hds-instructor-info-strip{grid-template-columns:1fr}
  .hds-instructor-redeem-wrap{grid-template-columns:1fr}
  .hds-instructor-code-page{padding-left:12px!important;padding-right:12px!important}
}
@media(max-width:520px){
  .hds-instructor-pack-grid{grid-template-columns:1fr}
  .hds-instructor-pack-card{padding:18px;border-radius:20px}
  .hds-instructor-redeem-copy,.hds-instructor-redeem-card{border-radius:22px;padding:20px}
  .hds-instructor-redeem-copy li{border-radius:16px}
}

/* v1.7.18 - wider login panel and learner code access CTA */
.hds-route-portal-grid.hds-route-login-panel.hds-route-access-panel{
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)!important;
  gap:22px!important;
  width:100%!important;
  align-items:stretch!important;
}
.hds-route-access-panel .hds-route-portal-card{
  min-width:0!important;
  height:100%!important;
}
.hds-route-access-panel .hds-route-login-access-card{
  width:100%!important;
  max-width:none!important;
}
.hds-route-access-panel .hds-route-login-box,
.hds-route-access-panel .hds-route-account{
  width:100%!important;
  max-width:none!important;
}
.hds-route-access-panel .hds-route-login-box input[type=text],
.hds-route-access-panel .hds-route-login-box input[type=password],
.hds-route-access-panel .hds-route-account input[type=text],
.hds-route-access-panel .hds-route-account input[type=password]{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.hds-route-code-access-card{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  background:linear-gradient(180deg,#fff7fb 0%,#ffffff 100%)!important;
  border-color:rgba(214,51,132,.18)!important;
}
.hds-route-code-access-card p{
  max-width:540px!important;
}
.hds-route-code-access-card .hds-route-btn{
  width:max-content!important;
  margin-top:8px!important;
}
@media(max-width:900px){
  .hds-route-portal-grid.hds-route-login-panel.hds-route-access-panel{
    grid-template-columns:1fr!important;
  }
  .hds-route-code-access-card .hds-route-btn{
    width:100%!important;
  }
}
