/* Demo CSS from course-advisor-demo.html (approved); .wpforms -> .wpcf7 for the CF7 swap. */

/* ── ESCAPE WORDPRESS WRAPPER ── */
body.page .entry-content,body.page .entry-header,body.page #page,body.page #content,body.page #primary,body.page #main,body.page .site-main{padding:0!important;margin:0!important;max-width:100%!important;width:100%!important;float:none!important;}
body.page{padding:0!important;margin:0!important;}
.site-header{display:none!important;}.site-footer{display:none!important;}

/* ── RESET ── */
#ctp *{box-sizing:border-box!important;}
#ctp p,#ctp h1,#ctp h2,#ctp h3,#ctp ul,#ctp li{margin:0!important;padding:0!important;}
#ctp{font-family:'DM Sans',sans-serif!important;padding-top:68px!important;}
.mono{font-family:'IBM Plex Mono',monospace!important;}

/* ── NAV ── */
#ctp-nav{position:fixed!important;top:0!important;left:0!important;right:0!important;background:#ffffff!important;border-bottom:1px solid #e5e2de!important;z-index:99999!important;padding:0 60px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;height:68px!important;box-shadow:0 1px 4px rgba(0,0,0,0.05)!important;font-family:'DM Sans',sans-serif!important;}
#ctp-nav ul{display:flex!important;align-items:center!important;gap:28px!important;list-style:none!important;margin:0!important;padding:0!important;}
#ctp-nav ul li{margin:0!important;padding:0!important;}
#ctp-nav ul a{text-decoration:none!important;color:#555!important;font-size:14px!important;font-family:'DM Sans',sans-serif!important;white-space:nowrap!important;}
#ctp-nav ul a.active{color:#2c2c2c!important;font-weight:500!important;border-bottom:2px solid #F5A623!important;padding-bottom:2px!important;}
#ctp-nav-cta{background:#F5A623!important;color:#2c2c2c!important;padding:9px 20px!important;border-radius:6px!important;font-size:13px!important;font-weight:500!important;text-decoration:none!important;white-space:nowrap!important;font-family:'DM Sans',sans-serif!important;}
.nav-divider{width:1px!important;height:22px!important;background:#e5e2de!important;margin:0 4px!important;}
.nav-badge{display:flex!important;align-items:center!important;gap:8px!important;background:#f9f7f4!important;border:1px solid #e5e2de!important;border-radius:6px!important;padding:4px 12px!important;}
.nav-badge-dot{width:8px!important;height:8px!important;border-radius:50%!important;background:#10B14B!important;animation:navPulse 2s infinite!important;}
@keyframes navPulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.6;transform:scale(1.2);}}
.nav-badge span{font-size:12px!important;font-weight:500!important;color:#2c2c2c!important;font-family:'DM Sans',sans-serif!important;}
.nav-badge-tag{font-size:11px!important;color:#555!important;font-family:'DM Sans',sans-serif!important;}
#ctp-ham{display:none!important;flex-direction:column!important;gap:5px!important;background:none!important;border:none!important;cursor:pointer!important;padding:6px!important;z-index:100000!important;}
#ctp-ham span{display:block!important;width:22px!important;height:2px!important;background:#2c2c2c!important;border-radius:2px!important;transition:all 0.3s!important;}
#ctp-ham.open span:nth-child(1){transform:translateY(7px) rotate(45deg)!important;}
#ctp-ham.open span:nth-child(2){opacity:0!important;}
#ctp-ham.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important;}
#ctp-mob{display:none!important;position:fixed!important;top:68px!important;left:0!important;right:0!important;background:#fff!important;border-bottom:1px solid #e5e2de!important;z-index:99998!important;flex-direction:column!important;padding:8px 0 16px!important;box-shadow:0 8px 24px rgba(0,0,0,0.1)!important;}
#ctp-mob.open{display:flex!important;}
#ctp-mob a{padding:13px 24px!important;font-size:15px!important;color:#2c2c2c!important;text-decoration:none!important;border-bottom:1px solid #f0eee9!important;font-family:'DM Sans',sans-serif!important;display:block!important;}
#ctp-mob .mob-cta{margin:10px 20px 0!important;background:#F5A623!important;color:#2c2c2c!important;border-radius:7px!important;border-bottom:none!important;text-align:center!important;font-weight:500!important;padding:11px 20px!important;}

/* ── HERO ── */
#ctp .dh-hero{background:linear-gradient(180deg,#E3F6FF 0%,#ffffff 100%)!important;padding:64px 60px 40px!important;text-align:center!important;direction:ltr!important;}
#ctp .dh-eyebrow{display:block!important;text-align:center!important;font-size:11px!important;font-weight:600!important;letter-spacing:1.5px!important;text-transform:uppercase!important;color:#0077AA!important;margin:0 0 14px!important;font-family:'DM Sans',sans-serif!important;}
#ctp .dh-hero h1{font-family:'DM Serif Display',serif!important;font-size:clamp(1.8rem,4vw,2.6rem)!important;font-weight:400!important;color:#2c2c2c!important;line-height:1.2!important;max-width:760px!important;width:100%!important;margin:0 auto 16px!important;padding:0!important;text-align:center!important;}
#ctp .dh-hero p{color:#555!important;font-size:16px!important;max-width:600px!important;width:100%!important;margin:0 auto 32px!important;line-height:1.7!important;padding:0!important;font-family:'DM Sans',sans-serif!important;text-align:center!important;}
/* ── USP BOXES ── */
.dh-usp-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:16px!important;max-width:960px!important;width:100%!important;margin:0 auto 36px!important;}
.dh-usp-box{background:#ffffff!important;border:1px solid #e5e2de!important;border-radius:14px!important;padding:22px 18px!important;text-align:center!important;box-shadow:0 4px 14px rgba(44,44,44,0.05)!important;}
.dh-usp-icon{font-size:26px!important;margin-bottom:10px!important;line-height:1!important;}
.dh-usp-box p{font-size:14px!important;font-weight:500!important;color:#2c2c2c!important;line-height:1.5!important;margin:0!important;padding:0!important;font-family:'DM Sans',sans-serif!important;text-align:center!important;}

#ctp .dh-stats{display:flex!important;justify-content:center!important;align-items:flex-start!important;width:100%!important;gap:56px!important;flex-wrap:wrap!important;margin:0!important;}
#ctp .dh-stat{text-align:center!important;}
.dh-stat .num{font-family:'DM Serif Display',serif!important;font-size:30px!important;font-weight:400!important;color:#2c2c2c!important;}
.dh-stat .lbl{color:#777!important;font-size:12px!important;font-family:'DM Sans',sans-serif!important;}

/* ── FILTER BAR ── */
.dh-filter-bar{max-width:1080px!important;margin:-30px auto 0!important;background:#ffffff!important;border:1px solid #e5e2de!important;border-radius:14px!important;box-shadow:0 8px 24px rgba(44,44,44,0.08)!important;padding:22px!important;display:flex!important;gap:14px!important;flex-wrap:wrap!important;position:relative!important;z-index:10!important;}
.dh-filter-field{flex:1!important;min-width:170px!important;display:flex!important;flex-direction:column!important;gap:6px!important;}
.dh-filter-field label{font-size:12px!important;font-weight:600!important;color:#555!important;font-family:'DM Sans',sans-serif!important;}
.dh-filter-field select{padding:11px 12px!important;border-radius:8px!important;border:1px solid #e5e2de!important;font-size:14px!important;font-family:'DM Sans',sans-serif!important;color:#2c2c2c!important;background:#ffffff!important;width:100%!important;-webkit-appearance:none!important;}
.dh-filter-actions{display:flex!important;align-items:flex-end!important;}
.dh-btn-primary{background:#F5A623!important;color:#2c2c2c!important;border:none!important;padding:12px 22px!important;border-radius:8px!important;font-weight:500!important;font-size:14px!important;cursor:pointer!important;white-space:nowrap!important;font-family:'DM Sans',sans-serif!important;}
.dh-btn-primary:hover{opacity:0.85!important;}

/* ── RESULTS ── */
.dh-section{max-width:1100px!important;margin:0 auto!important;padding:64px 60px!important;}
.dh-section-head{margin-bottom:28px!important;}
.dh-section-head h2{font-family:'DM Serif Display',serif!important;font-size:28px!important;font-weight:400!important;color:#2c2c2c!important;margin-bottom:8px!important;padding:0!important;}
.dh-section-head p{color:#555!important;font-size:14px!important;margin:0!important;padding:0!important;font-family:'DM Sans',sans-serif!important;}
#resultCount{color:#0077AA!important;font-weight:600!important;}
.dh-results-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))!important;gap:18px!important;}
.dh-card{border:1px solid #e5e2de!important;border-radius:14px!important;padding:22px!important;background:#ffffff!important;box-shadow:0 4px 16px rgba(44,44,44,0.05)!important;transition:transform .15s ease,box-shadow .15s ease!important;}
.dh-card:hover{transform:translateY(-3px)!important;box-shadow:0 10px 28px rgba(44,44,44,0.09)!important;}
.dh-card-top{display:flex!important;align-items:center!important;gap:12px!important;margin-bottom:16px!important;}
.dh-job-icon{width:44px!important;height:44px!important;border-radius:10px!important;background:#E3F6FF!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:20px!important;flex-shrink:0!important;}
.dh-card-top h3{font-size:15px!important;line-height:1.3!important;color:#2c2c2c!important;font-weight:500!important;margin:0!important;padding:0!important;}
.dh-card-course{font-size:11px!important;color:#0077AA!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:0.6px!important;font-family:'DM Sans',sans-serif!important;}
.dh-card-employer{display:flex!important;align-items:center!important;gap:12px!important;padding:12px 0!important;border-top:1px solid #e5e2de!important;border-bottom:1px solid #e5e2de!important;margin-bottom:14px!important;}
.dh-logo-badge{width:40px!important;height:40px!important;border-radius:10px!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;box-shadow:0 2px 6px rgba(0,0,0,0.08)!important;overflow:hidden!important;padding:5px!important;}
.dh-employer-name{font-size:14px!important;font-weight:600!important;color:#2c2c2c!important;font-family:'DM Sans',sans-serif!important;}
.dh-card-salary{display:flex!important;justify-content:space-between!important;align-items:baseline!important;}
.dh-card-salary .label{font-size:11px!important;color:#777!important;font-family:'DM Sans',sans-serif!important;}
.dh-card-salary .value{font-family:'IBM Plex Mono',monospace!important;font-weight:600!important;font-size:17px!important;color:#2c2c2c!important;}
.dh-empty-state{text-align:center!important;padding:48px!important;color:#777!important;border:1px dashed #e5e2de!important;border-radius:14px!important;grid-column:1/-1!important;font-family:'DM Sans',sans-serif!important;}
.dh-degree-chip{display:inline-flex!important;align-items:center!important;gap:6px!important;font-size:11px!important;font-weight:600!important;padding:5px 10px!important;border-radius:20px!important;margin-bottom:12px!important;font-family:'DM Sans',sans-serif!important;line-height:1.3!important;}
.dh-degree-chip svg{flex-shrink:0!important;}
.dh-degree-chip.level-bachelor{background:#E3F6FF!important;color:#0077AA!important;}
.dh-degree-chip.level-master{background:#F3EAF9!important;color:#5A2D91!important;}
.dh-degree-chip.level-phd{background:#FFF3DC!important;color:#B37A00!important;}

/* ── OVERVIEW CARD (new) ── */
.dh-card-industry{font-family:'DM Serif Display',serif!important;font-size:19px!important;font-weight:400!important;color:#2c2c2c!important;margin-bottom:2px!important;}
.dh-card-count{font-size:12px!important;color:#777!important;font-family:'DM Sans',sans-serif!important;margin-bottom:16px!important;}
.dh-card-block{margin-bottom:14px!important;}
.dh-card-block-label{font-size:11px!important;font-weight:600!important;color:#555!important;text-transform:uppercase!important;letter-spacing:0.5px!important;margin-bottom:8px!important;font-family:'DM Sans',sans-serif!important;}
.dh-chip-row{display:flex!important;flex-wrap:wrap!important;gap:6px!important;}
.dh-degree-pill{display:inline-flex!important;align-items:center!important;font-size:12px!important;font-weight:500!important;color:#0077AA!important;background:#E3F6FF!important;padding:6px 11px!important;border-radius:20px!important;cursor:pointer!important;border:none!important;font-family:'DM Sans',sans-serif!important;transition:background .12s ease!important;}
.dh-degree-pill:hover{background:#c9ecff!important;}
.dh-employer-pill{display:inline-flex!important;align-items:center!important;gap:6px!important;font-size:12px!important;font-weight:500!important;color:#2c2c2c!important;background:#f9f7f4!important;border:1px solid #e5e2de!important;padding:4px 11px 4px 4px!important;border-radius:20px!important;cursor:pointer!important;font-family:'DM Sans',sans-serif!important;transition:background .12s ease!important;}
.dh-employer-pill:hover{background:#f0eee9!important;}
.dh-employer-pill .dh-logo-badge{width:22px!important;height:22px!important;border-radius:50%!important;}
.dh-job-tag{display:inline-flex!important;font-size:11px!important;color:#555!important;background:#f9f7f4!important;padding:5px 10px!important;border-radius:20px!important;font-family:'DM Sans',sans-serif!important;}
.dh-card-salary-row{display:flex!important;justify-content:space-between!important;align-items:baseline!important;border-top:1px solid #e5e2de!important;padding-top:14px!important;margin-top:2px!important;}
.dh-card-salary-row .avg .label{font-size:11px!important;color:#777!important;display:block!important;font-family:'DM Sans',sans-serif!important;}
.dh-card-salary-row .avg .value{font-family:'IBM Plex Mono',monospace!important;font-weight:600!important;font-size:17px!important;color:#2c2c2c!important;}
.dh-card-salary-row .band{font-family:'IBM Plex Mono',monospace!important;font-size:12px!important;color:#777!important;text-align:right!important;}

/* ── DRILL-DOWN PANEL ── */
.dh-panel-overlay{display:none!important;position:fixed!important;inset:0!important;background:rgba(44,44,44,0.45)!important;z-index:100000!important;align-items:center!important;justify-content:center!important;padding:20px!important;}
.dh-panel-overlay.open{display:flex!important;}
.dh-panel{background:#ffffff!important;border-radius:16px!important;max-width:480px!important;width:100%!important;max-height:85vh!important;overflow-y:auto!important;padding:36px!important;position:relative!important;box-shadow:0 20px 60px rgba(0,0,0,0.3)!important;font-family:'DM Sans',sans-serif!important;}
.dh-panel-close{position:absolute!important;top:16px!important;right:16px!important;background:#f9f7f4!important;border:none!important;width:32px!important;height:32px!important;border-radius:50%!important;font-size:18px!important;line-height:1!important;color:#555!important;cursor:pointer!important;}
.dh-panel-close:hover{background:#f0eee9!important;}
.dh-panel-eyebrow{font-size:11px!important;font-weight:600!important;letter-spacing:1px!important;text-transform:uppercase!important;color:#0077AA!important;margin-bottom:8px!important;}
.dh-panel h3{font-family:'DM Serif Display',serif!important;font-size:24px!important;font-weight:400!important;color:#2c2c2c!important;margin-bottom:18px!important;}
.dh-panel-row{display:flex!important;justify-content:space-between!important;padding:10px 0!important;border-bottom:1px solid #f0eee9!important;font-size:13px!important;}
.dh-panel-row .k{color:#777!important;}
.dh-panel-row .v{color:#2c2c2c!important;font-weight:500!important;text-align:right!important;}
.dh-panel-link{display:inline-block!important;margin-top:20px!important;background:#2c2c2c!important;color:#fff!important;padding:11px 20px!important;border-radius:8px!important;text-decoration:none!important;font-size:13px!important;font-weight:500!important;}

.dh-country-chip{display:inline-flex!important;align-items:center!important;gap:6px!important;margin-left:8px!important;font-size:11px!important;font-weight:600!important;color:#0077AA!important;background:#E3F6FF!important;padding:3px 10px!important;border-radius:20px!important;cursor:pointer!important;vertical-align:middle!important;font-family:'DM Sans',sans-serif!important;}
.dh-country-chip:hover{background:#c9ecff!important;}
.dh-dot.selected circle.core{fill-opacity:0.85!important;}

/* ── MAP (matches the live uob.cturtle.co / york.cturtle.co CourseAdvisor map) ── */
.dh-map-wrap{background:#F7F8FA!important;border-radius:20px!important;padding:44px!important;color:#2c2c2c!important;position:relative!important;overflow:hidden!important;}
.dh-map-wrap .dh-section-head h2{color:#2c2c2c!important;font-family:'DM Serif Display',serif!important;}
.dh-map-wrap .dh-section-head p{color:#555!important;font-family:'DM Sans',sans-serif!important;}
.dh-globe-frame{position:relative!important;width:100%!important;max-width:820px!important;margin:0 auto!important;}
.dh-globe-frame svg{width:100%!important;height:auto!important;display:block!important;}
.dh-geo-dot{opacity:0.6!important;}
.dh-arc{fill:none!important;stroke:#0092C7!important;}
.dh-dot{cursor:pointer!important;}
.dh-dot circle.core{fill:#00AEEF!important;fill-opacity:0.55!important;stroke:#0092C7!important;stroke-width:1!important;transition:fill-opacity .15s!important;}
.dh-dot.origin circle.core{fill-opacity:0.9!important;}
.dh-dot.dim circle.core{fill-opacity:0.12!important;}
.dh-dot:hover circle.core{fill-opacity:0.85!important;}
.dh-tooltip{position:absolute!important;background:#ffffff!important;color:#2c2c2c!important;padding:10px 14px!important;border-radius:8px!important;font-size:13px!important;box-shadow:0 8px 24px rgba(0,0,0,0.15)!important;border:1px solid #e5e2de!important;pointer-events:none!important;opacity:0!important;transform:translate(-50%,-115%)!important;transition:opacity .12s ease!important;white-space:nowrap!important;z-index:20!important;font-family:'DM Sans',sans-serif!important;}
.dh-tooltip.visible{opacity:1!important;}
.dh-tooltip strong{display:block!important;font-size:14px!important;}
.dh-tooltip .mono{color:#0077AA!important;display:block!important;}

/* ── CTA ── */
.dh-cta{text-align:center!important;background:#FFF3DC!important;border-radius:20px!important;padding:56px 32px!important;margin:0 auto 64px!important;max-width:1080px!important;}
.dh-cta h2{font-family:'DM Serif Display',serif!important;font-size:26px!important;font-weight:400!important;color:#2c2c2c!important;margin-bottom:12px!important;padding:0!important;}
.dh-cta p{color:#555!important;margin-bottom:24px!important;padding:0!important;font-family:'DM Sans',sans-serif!important;font-size:14px!important;}

/* ── CONTACT ── */
.ctp-contact{background:#f9f7f4!important;border-top:1px solid #e5e2de!important;padding:80px 60px!important;}
.ctp-contact-inner{max-width:1100px!important;margin:0 auto!important;display:grid!important;grid-template-columns:1fr 1.4fr!important;gap:80px!important;align-items:start!important;}
.ctp-form-wrap{background:#fff!important;border-radius:14px!important;padding:40px!important;border:1px solid #e5e2de!important;box-shadow:0 4px 20px rgba(0,0,0,0.06)!important;}
.ctp-form-wrap .wpcf7-form .wpcf7-field{margin-bottom:14px!important;padding:0!important;}
.ctp-form-wrap .wpcf7-form label.wpcf7-field-label{font-family:'DM Sans',sans-serif!important;font-size:12px!important;font-weight:500!important;color:#555!important;margin-bottom:5px!important;display:block!important;}
.ctp-form-wrap .wpcf7-form input[type=text],.ctp-form-wrap .wpcf7-form input[type=email],.ctp-form-wrap .wpcf7-form input[type=tel],.ctp-form-wrap .wpcf7-form select,.ctp-form-wrap .wpcf7-form textarea{font-family:'DM Sans',sans-serif!important;font-size:14px!important;color:#2c2c2c!important;padding:11px 14px!important;border:1.5px solid #e5e2de!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important;width:100%!important;-webkit-appearance:none!important;}
.ctp-form-wrap .wpcf7-form input:focus,.ctp-form-wrap .wpcf7-form textarea:focus{border-color:#F5A623!important;outline:none!important;}
.ctp-form-wrap .wpcf7-form textarea{min-height:100px!important;resize:vertical!important;}
.ctp-form-wrap .wpcf7-form button[type=submit],.ctp-form-wrap .wpcf7-form input[type=submit]{font-family:'DM Sans',sans-serif!important;font-size:15px!important;font-weight:500!important;background:#F5A623!important;color:#2c2c2c!important;border:none!important;padding:13px 28px!important;border-radius:8px!important;width:100%!important;cursor:pointer!important;}

/* ── FOOTER ── */
.ctp-footer{background:#fff!important;border-top:1px solid #e5e2de!important;padding:36px 60px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:16px!important;}

/* ── RESPONSIVE ── */
@media (max-width:900px){
  #ctp-nav{padding:0 20px!important;}
  #ctp-nav ul{display:none!important;}
  #ctp-nav-cta{display:none!important;}
  #ctp-ham{display:flex!important;}
  .dh-hero{padding:48px 20px 36px!important;}
  .dh-stats{gap:28px!important;}
  .dh-usp-grid{gap:12px!important;margin-bottom:28px!important;}
  .dh-usp-box{padding:18px 14px!important;}
  .dh-filter-bar{margin-top:-20px!important;padding:18px!important;}
  .dh-filter-field{min-width:140px!important;}
  .dh-section{padding:44px 20px!important;}
  .dh-map-wrap{padding:24px!important;}
  .dh-cta{padding:40px 22px!important;margin-bottom:44px!important;}
  .ctp-contact{padding:60px 20px!important;}
  .ctp-contact-inner{grid-template-columns:1fr!important;gap:36px!important;}
  .ctp-form-wrap{padding:28px 20px!important;}
  .ctp-footer{padding:28px 20px!important;flex-direction:column!important;align-items:flex-start!important;}
}
@media (min-width:901px){
  #ctp-ham{display:none!important;}
  #ctp-mob{display:none!important;}
  #ctp-nav-cta{display:inline-block!important;}
}
@media (max-width:480px){
  .dh-hero{padding:40px 16px 28px!important;}
  .dh-usp-grid{grid-template-columns:1fr!important;gap:10px!important;}
  .dh-stats{flex-direction:column!important;gap:16px!important;}
  .dh-filter-bar{flex-direction:column!important;}
  .dh-filter-field{min-width:100%!important;}
  .dh-filter-actions{width:100%!important;}
  .dh-filter-actions .dh-btn-primary{width:100%!important;}
}
