.htfc-event-page,.htfc-event-page *{box-sizing:border-box}.htfc-event-page{--blue:#0756d9;--deep:#151932;--ink:#171a34;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);height:calc(100svh - var(--wp-admin--admin-bar--height,0px));min-height:540px;overflow:hidden;background:#dfe9f4}.htfc-hero{position:relative;width:100%;height:100%;display:grid;place-items:center;padding:10px 16px;background-image:linear-gradient(rgba(255,255,255,.04),rgba(255,255,255,.04)),var(--htfc-bg);background-size:cover;background-position:center center;overflow:hidden}.htfc-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.03),rgba(255,255,255,.02));pointer-events:none}.htfc-poster-card{position:relative;z-index:1;width:min(940px,74vw,calc((100svh - var(--wp-admin--admin-bar--height,0px) - 24px)*1.12));max-height:calc(100% - 8px);padding:14px 44px 22px;border-radius:4px 4px 44px 44px;background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.78) 70%,rgba(255,255,255,.88));box-shadow:0 14px 42px rgba(17,47,90,.14);backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px)}.htfc-topline{display:grid;grid-template-columns:1fr 146px 1fr;align-items:center;gap:20px;margin-bottom:4px}.htfc-logo{width:146px;height:146px;object-fit:contain;justify-self:center}.htfc-sideword{display:grid;grid-template-rows:3px auto 3px;gap:9px;align-items:center}.htfc-sideword span{display:block;width:100%;height:3px;border-radius:99px;background:#0b52c9}.htfc-sideword b{text-align:center;font-size:14px;line-height:1;letter-spacing:.27em;white-space:nowrap;color:#1b1a2d}.htfc-poster-card h1{margin:0 auto 13px;color:#064bc1;text-align:center;font-family:Impact,"Arial Black",Haettenschweiler,sans-serif;font-size:clamp(42px,4.4vw,64px);line-height:.93;font-weight:900;letter-spacing:-.015em;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,255,255,.55)}.htfc-event-meta{width:min(590px,78%);margin:0 auto 10px}.htfc-meta-row{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;margin:7px 0;font-size:clamp(20px,2vw,28px);line-height:1.05}.htfc-meta-row strong{font-weight:900}.htfc-meta-row span:not(.htfc-meta-icon){font-weight:500}.htfc-meta-icon{display:grid;place-items:center;width:46px;height:46px;color:#0c59d9}.htfc-meta-icon svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.htfc-cost-banner{position:relative;display:block;width:min(610px,78%);margin:12px auto 10px;padding:10px 20px;border-radius:15px;background:linear-gradient(180deg,#1769e8,#0751c8);color:#fff;text-align:center;text-decoration:none;font-family:Impact,"Arial Black",Haettenschweiler,sans-serif;font-size:clamp(32px,3.8vw,48px);line-height:1.08;font-weight:900;letter-spacing:.02em;box-shadow:0 7px 18px rgba(5,77,193,.22);text-transform:uppercase}.htfc-cost-banner:before,.htfc-cost-banner:after{content:"";position:absolute;top:50%;width:40px;height:3px;background:#0c58d5;border-radius:4px;box-shadow:0 -14px 0 #0c58d5,0 14px 0 #0c58d5}.htfc-cost-banner:before{left:-58px;transform:translateY(-50%) rotate(24deg)}.htfc-cost-banner:after{right:-58px;transform:translateY(-50%) rotate(-24deg)}.htfc-cost-banner:hover{filter:brightness(1.04);transform:translateY(-1px)}.htfc-included-box{width:100%;padding:7px 14px 8px;border-radius:20px;background:rgba(255,255,255,.87)}.htfc-included-box h2{margin:0 0 5px;color:#0750c8;text-align:center;font-family:Impact,"Arial Black",Haettenschweiler,sans-serif;font-size:clamp(24px,2.7vw,34px);line-height:1;font-weight:900}.htfc-included-grid{display:grid;grid-template-columns:repeat(4,1fr)}.htfc-included-item{display:flex;min-height:82px;flex-direction:column;align-items:center;justify-content:center;padding:3px 10px;text-align:center;border-right:1px solid rgba(24,30,70,.38)}.htfc-included-item:last-child{border-right:0}.htfc-included-item strong{font-size:15px;line-height:1.03}.htfc-included-icon{display:block;width:43px;height:43px;margin-bottom:2px;color:#0756d9}.htfc-included-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.htfc-intro{max-width:690px;margin:8px auto 0;text-align:center;font-size:17px;line-height:1.24;font-weight:700}.htfc-intro:after{content:"";display:block;width:72%;height:3px;margin:9px auto 0;border-radius:10px;background:#0b56d7}
.htfc-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(5,16,39,.74);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.htfc-modal.is-open{display:flex}.htfc-modal-backdrop{position:absolute;inset:0;border:0;padding:0;margin:0;background:transparent;cursor:default}.htfc-modal-card{position:relative;z-index:2;width:min(900px,96vw);max-height:calc(100svh - 36px);overflow:auto;padding:22px;border-radius:22px;background:#f7f9fd;box-shadow:0 24px 70px rgba(0,0,0,.35)}.htfc-modal-close{position:absolute;right:14px;top:8px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:#1c2b50;text-decoration:none;font-size:34px;line-height:1;background:#fff;border:1px solid #d9e0ec}.htfc-register-head{display:flex;align-items:center;gap:16px;margin:0 44px 16px 0}.htfc-register-head img{width:76px;height:76px;object-fit:contain}.htfc-register-head span{color:#0756d9;font-size:11px;font-weight:900;letter-spacing:.17em}.htfc-register-head h2{margin:2px 0 2px;color:#10224f;font-size:28px}.htfc-register-head p{margin:0;color:#68738e;font-size:14px}.htfc-form{padding:20px;border:2px solid #0b56d7;border-radius:20px;background:#fff}.htfc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.htfc-field{display:flex;flex-direction:column;gap:5px}.htfc-field span{font-size:11px;font-weight:800;color:#283451}.htfc-field input,.htfc-field textarea{width:100%;border:1px solid #c6cee0;border-radius:8px;background:#fff;color:#1b2540;font:inherit;font-size:14px;outline:none}.htfc-field input{height:42px;padding:0 11px}.htfc-field textarea{padding:10px;resize:vertical}.htfc-field input:focus,.htfc-field textarea:focus{border-color:#0b56d7;box-shadow:0 0 0 3px rgba(11,86,215,.12)}.htfc-span-2{grid-column:1/-1}.htfc-submit{display:block;width:min(390px,100%);min-height:50px;margin:16px auto 0;border:0;border-radius:12px;background:linear-gradient(180deg,#1769e8,#044bc5);color:#fff;font-size:16px;font-weight:950;letter-spacing:.04em;cursor:pointer;box-shadow:0 8px 18px rgba(5,77,193,.22)}.htfc-submit:hover{filter:brightness(1.06);transform:translateY(-1px)}.htfc-notice{margin:0 0 14px;padding:14px 16px;border-radius:10px}.htfc-notice.success{border:1px solid #7cc68a;background:#edf9ef;color:#24562e}.htfc-notice.error{border:1px solid #d27c7c;background:#fff0f0;color:#7a2525}.htfc-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-height:790px) and (min-width:801px){.htfc-poster-card{width:min(820px,72vw,calc((100svh - var(--wp-admin--admin-bar--height,0px) - 18px)*1.13));padding:8px 34px 14px}.htfc-logo{width:116px;height:116px}.htfc-topline{grid-template-columns:1fr 116px 1fr;gap:14px}.htfc-sideword b{font-size:12px}.htfc-poster-card h1{font-size:44px;margin-bottom:8px}.htfc-event-meta{margin-bottom:6px}.htfc-meta-row{font-size:20px;margin:4px 0}.htfc-meta-icon{width:38px;height:38px}.htfc-meta-icon svg{width:34px;height:34px}.htfc-cost-banner{font-size:34px;padding:7px 18px;margin:8px auto}.htfc-included-item{min-height:68px}.htfc-included-icon{width:35px;height:35px}.htfc-included-item strong{font-size:13px}.htfc-included-box h2{font-size:24px}.htfc-intro{font-size:14px;margin-top:6px}.htfc-intro:after{margin-top:6px}}
@media(max-width:800px){.htfc-event-page{height:calc(100svh - var(--wp-admin--admin-bar--height,0px));min-height:0;overflow:hidden}.htfc-hero{min-height:0;height:100%;padding:6px;background-position:center}.htfc-poster-card{width:min(96vw,610px);max-height:calc(100% - 4px);padding:8px 14px 14px;border-radius:4px 4px 30px 30px}.htfc-topline{grid-template-columns:1fr 88px 1fr;gap:8px}.htfc-logo{width:88px;height:88px}.htfc-sideword{gap:5px}.htfc-sideword b{font-size:8px;letter-spacing:.16em}.htfc-sideword span{height:2px}.htfc-poster-card h1{font-size:clamp(30px,9vw,46px);margin:2px auto 12px}.htfc-event-meta{width:94%}.htfc-meta-row{grid-template-columns:40px 1fr;gap:8px;font-size:18px}.htfc-meta-icon{width:36px;height:36px}.htfc-meta-icon svg{width:34px;height:34px}.htfc-cost-banner{width:86%;font-size:clamp(26px,8vw,38px);padding:9px 8px}.htfc-cost-banner:before,.htfc-cost-banner:after{display:none}.htfc-included-box{padding:7px}.htfc-included-box h2{font-size:24px}.htfc-included-item{min-height:76px;padding:2px 5px}.htfc-included-item strong{font-size:11px}.htfc-included-icon{width:35px;height:35px}.htfc-intro{font-size:14px}.htfc-modal{padding:8px}.htfc-modal-card{max-height:calc(100svh - 16px);padding:16px 12px}.htfc-register-head{margin-right:38px}.htfc-register-head img{width:58px;height:58px}.htfc-register-head h2{font-size:22px}.htfc-form{padding:14px 10px}.htfc-form-grid{grid-template-columns:1fr;gap:10px}.htfc-span-2{grid-column:auto}}
@media(max-width:470px){.htfc-sideword b{font-size:6.5px}.htfc-logo{width:74px;height:74px}.htfc-topline{grid-template-columns:1fr 74px 1fr}.htfc-poster-card h1{font-size:30px}.htfc-meta-row{font-size:16px}.htfc-event-meta{width:100%}.htfc-included-item strong{font-size:10px}.htfc-intro{font-size:13px}}

/* v2.3.2 registration CTA + reliable modal interaction */
.htfc-cost-banner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer}
.htfc-cost-label{display:block;color:#fff;line-height:1}
.htfc-register-cta{display:block;margin-top:4px;color:#fff;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:clamp(10px,1vw,13px);font-weight:900;line-height:1;letter-spacing:.16em;text-transform:uppercase;opacity:.96}
.htfc-cost-banner:hover .htfc-register-cta,.htfc-cost-banner:focus-visible .htfc-register-cta{text-decoration:underline;text-underline-offset:3px}
.htfc-cost-banner:focus-visible{outline:4px solid rgba(255,255,255,.92);outline-offset:3px}
html.htfc-modal-open,body.htfc-modal-open{overflow:hidden!important}
.htfc-modal[aria-hidden="false"]{display:flex}
@media(max-height:790px) and (min-width:801px){.htfc-register-cta{font-size:10px;margin-top:3px}}
@media(max-width:800px){.htfc-register-cta{font-size:9px;letter-spacing:.12em;margin-top:3px}}

/* v2.3.3 - HTFC-aligned modal close button */
.htfc-modal-close{
  right:14px;
  top:8px;
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  box-sizing:border-box;
  color:#0b56d7;
  border:1px solid #c9d7f2;
  background:#fff;
  font-family:Arial,sans-serif;
  font-size:30px;
  font-weight:500;
  line-height:1;
  text-align:center;
  text-decoration:none;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.htfc-modal-close:hover,.htfc-modal-close:focus{
  color:#0b56d7;
  border-color:#0b56d7;
  background:#f7faff;
  transform:scale(1.06);
  box-shadow:0 4px 12px rgba(11,86,215,.16);
  outline:none;
}

/* v2.3.5 modal close alignment */
.htfc-modal-close span{display:block;line-height:1;transform:translateY(-1px);pointer-events:none}

/* v2.3.6 - modal close reliability */
.htfc-modal[hidden]{display:none!important}

/* v2.4.1: registration CTA hierarchy */
.htfc-register-cta{margin:0;color:#fff;font-family:Impact,"Arial Black",Haettenschweiler,sans-serif;font-size:clamp(30px,3.55vw,46px);font-weight:900;line-height:1;letter-spacing:.025em;text-transform:uppercase;opacity:1}
.htfc-cost-label{display:block;margin-top:5px;color:#fff;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:clamp(10px,1vw,14px);font-weight:900;line-height:1;letter-spacing:.12em;text-transform:uppercase;opacity:.96}
.htfc-cost-banner:hover .htfc-register-cta,.htfc-cost-banner:focus-visible .htfc-register-cta{text-decoration:underline;text-underline-offset:4px}
@media(max-height:790px) and (min-width:801px){.htfc-register-cta{font-size:32px}.htfc-cost-label{font-size:10px;margin-top:4px}}
@media(max-width:800px){.htfc-register-cta{font-size:clamp(24px,7vw,34px);letter-spacing:.02em}.htfc-cost-label{font-size:9px;letter-spacing:.1em;margin-top:4px}}


/* v2.4.2: prevent WordPress/theme button styles turning the full-screen modal backdrop green */
.htfc-modal{background:transparent!important}
.htfc-modal-backdrop,
.htfc-modal-backdrop:hover,
.htfc-modal-backdrop:focus,
.htfc-modal-backdrop:active{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:rgba(5,16,39,.74)!important;
  color:transparent!important;
  opacity:1!important;
  transform:none!important;
  filter:none!important;
  cursor:default!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}


/* v2.4.4: lock registration submit button to HTFC blue, overriding theme button colours */
.htfc-event-page .htfc-form button.htfc-submit,
.htfc-event-page .htfc-form input.htfc-submit,
.htfc-modal-card .htfc-form button.htfc-submit{
  background:#2b6edc!important;
  background-image:linear-gradient(180deg,#3b7ce4,#1f5fcf)!important;
  border:1px solid #1d59c2!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(24,79,175,.24)!important;
}
.htfc-event-page .htfc-form button.htfc-submit:hover,
.htfc-event-page .htfc-form button.htfc-submit:focus,
.htfc-event-page .htfc-form button.htfc-submit:active,
.htfc-modal-card .htfc-form button.htfc-submit:hover,
.htfc-modal-card .htfc-form button.htfc-submit:focus,
.htfc-modal-card .htfc-form button.htfc-submit:active{
  background:#1859c9!important;
  background-image:linear-gradient(180deg,#2b6edc,#1556c8)!important;
  border-color:#134eb7!important;
  color:#fff!important;
  filter:none!important;
}

/* v2.4.5 duplicate registration confirmation */
.htfc-duplicate-dialog{
  position:absolute!important;
  inset:0!important;
  z-index:100!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  background:rgba(7,27,66,.62)!important;
  backdrop-filter:blur(4px)!important;
  border-radius:inherit!important;
}
.htfc-duplicate-card{
  width:min(470px,100%)!important;
  background:#fff!important;
  border:2px solid #1260d8!important;
  border-radius:22px!important;
  box-shadow:0 22px 60px rgba(5,25,64,.28)!important;
  padding:26px!important;
  text-align:center!important;
  color:#13213d!important;
}
.htfc-duplicate-icon{
  width:46px!important;height:46px!important;margin:0 auto 12px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  border-radius:50%!important;background:#eaf2ff!important;color:#1260d8!important;
  font-size:27px!important;font-weight:900!important;
}
.htfc-duplicate-card h3{margin:0 0 8px!important;color:#123a7a!important;font-size:24px!important;}
.htfc-duplicate-card p{margin:0!important;font-size:16px!important;line-height:1.5!important;color:#40516f!important;}
.htfc-duplicate-actions{display:flex!important;gap:10px!important;justify-content:center!important;margin-top:22px!important;flex-wrap:wrap!important;}
.htfc-duplicate-actions button{
  min-width:150px!important;border-radius:12px!important;padding:11px 18px!important;
  font-weight:800!important;cursor:pointer!important;box-shadow:none!important;
}
.htfc-duplicate-back{background:#fff!important;color:#1260d8!important;border:1px solid #aac7ef!important;}
.htfc-duplicate-continue{background:#1260d8!important;color:#fff!important;border:1px solid #1260d8!important;}
.htfc-duplicate-continue:hover,.htfc-duplicate-continue:focus{background:#0e4fb4!important;border-color:#0e4fb4!important;color:#fff!important;}
.htfc-duplicate-back:hover,.htfc-duplicate-back:focus{background:#eef5ff!important;color:#0e4fb4!important;border-color:#1260d8!important;}
.htfc-field input.htfc-duplicate-field{border-color:#c72c41!important;box-shadow:0 0 0 3px rgba(199,44,65,.10)!important;}
.htfc-notice.warning{background:#fff8e7!important;border:1px solid #e4b74f!important;color:#654a08!important;}
@media(max-width:600px){.htfc-duplicate-actions{flex-direction:column-reverse!important}.htfc-duplicate-actions button{width:100%!important;}}


/* v2.4.7 - prevent WordPress/theme button styles from flashing the full-screen modal backdrop */
.htfc-modal-backdrop,
.htfc-modal-backdrop:hover,
.htfc-modal-backdrop:focus,
.htfc-modal-backdrop:focus-visible,
.htfc-modal-backdrop:active {
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
  opacity:1!important;
  outline:0!important;
  cursor:default!important;
}
