/* iTeachPlus Event Popup 1.2 — independent, strictly scoped XStore compatible UI. */
.itpr-page,.itpr-modal{--itpr-navy:#072f53;--itpr-ink:#16344d;--itpr-turquoise:#00a99b;--itpr-muted:#60758b;--itpr-border:#dae7eb;--itpr-soft:#f3f9fa;font-family:inherit;color:var(--itpr-ink);text-align:start;font-size:14px;line-height:1.5}
.itpr-page *,.itpr-modal *{box-sizing:border-box}
.itpr-page{background:radial-gradient(ellipse at 5% 10%,#d8f7f0 0%,transparent 48%),#f5f8fb;min-height:85vh;padding:30px 22px 84px;isolation:isolate}
.itpr-page-inner{max-width:1160px;margin-inline:auto}
.itpr-page-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 20px}
.itpr-back,.itpr-share{font-size:13px!important;font-weight:700!important;line-height:1.3!important;text-decoration:none!important;color:var(--itpr-navy)!important}
.itpr-share{background:#fff!important;border:1px solid #d4e4ea!important;border-radius:99px!important;padding:11px 16px!important;min-height:42px;cursor:pointer;box-shadow:0 5px 16px #0c456018!important}
.itpr-back:hover,.itpr-share:hover{color:#008d85!important}
/* Full-width information header above both columns */
.itpr-hero{position:relative;overflow:hidden;isolation:isolate;color:#fff;padding:clamp(24px,3.7vw,46px);background:linear-gradient(112deg,#082e52 0%,#063b61 55%,#078a8b 130%);border-radius:22px 22px 0 0}
.itpr-hero::after{content:"";position:absolute;border:1px solid #ffffff29;border-radius:50%;width:370px;height:370px;inset-inline-end:-105px;top:-230px;pointer-events:none;z-index:-1;box-shadow:0 0 0 70px #ffffff06}
.itpr-overline{display:inline-block;color:#8ff6df!important;text-transform:uppercase;letter-spacing:.12em;font-weight:800!important;font-size:11px!important}
.itpr-page .itpr-title,.itpr-modal .itpr-title{color:#fff!important;font-size:clamp(27px,3.3vw,42px)!important;font-weight:800!important;letter-spacing:-.025em;line-height:1.19!important;margin:10px 0 9px!important;text-transform:none!important;max-width:970px}
.itpr-lead{color:#e0f4ff!important;line-height:1.55!important;font-size:clamp(14px,1.35vw,17px)!important;margin:0 0 16px!important;max-width:940px}
.itpr-facts{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.itpr-fact{display:inline-flex;align-items:center;gap:7px;font-size:12px;line-height:1.35;font-weight:750;color:#efffff;background:#ffffff16;border:1px solid #ffffff48;border-radius:50px;padding:7px 11px;max-width:100%}
.itpr-fact svg{width:16px;height:16px;flex-shrink:0;fill:none;stroke:#9ef1de;stroke-width:1.8;stroke-linecap:round}
.itpr-description{max-width:1000px;color:#e4f2fa;font-size:13px;line-height:1.55;margin-top:10px}
.itpr-description p{margin:0 0 7px;color:inherit!important;font-size:inherit!important;line-height:inherit!important}
.itpr-description p:last-child{margin:0}
/* Equal-height poster & form under the header. */
.itpr-page-grid,.itpr-modal-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:stretch;gap:0;min-width:0;overflow:hidden;background:#fff;border:1px solid #e2ebee;border-top:0;border-radius:0 0 22px 22px;box-shadow:0 20px 55px #092c4a15}
.itpr-page-visual,.itpr-dialog-visual{min-width:0;min-height:100%;display:flex;align-items:stretch;justify-content:center;background:linear-gradient(145deg,#e5f8f6,#f3fafc 70%,#e8f1fb);padding:clamp(16px,2.8vw,32px)}
.itpr-poster{width:100%;display:flex;min-width:0;align-items:center;justify-content:center}
.itpr-poster--page,.itpr-poster--modal{flex:1 1 auto}
.itpr-poster-img{display:block!important;object-fit:contain!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:670px!important;margin:auto!important;border-radius:13px;filter:drop-shadow(0 9px 23px #07314a2a)}
.itpr-poster-empty{display:block;color:#60758b;font-weight:600;padding:40px 22px}
.itpr-page-content,.itpr-dialog-content{min-width:0;padding:clamp(18px,3vw,40px);display:flex;flex-direction:column;justify-content:center}
/* Form */
.itpr-form-card{background:#fff;border:0;box-shadow:none;border-radius:14px;padding:0;width:100%}
.itpr-form-eyebrow{color:#008d82;font-size:11px;font-weight:850;letter-spacing:.13em}
.itpr-form-heading h2,.itpr-page .itpr-form-heading h2,.itpr-modal .itpr-form-heading h2{margin:5px 0 5px!important;font-size:clamp(23px,2.2vw,30px)!important;line-height:1.25!important;font-weight:800!important;color:var(--itpr-navy)!important;text-transform:none!important}
.itpr-form-heading p{margin:0 0 18px!important;font-size:13px!important;line-height:1.65!important;color:var(--itpr-muted)!important}
.itpr-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}
.itpr-field{margin:0 0 12px;min-width:0}
.itpr-field>label{display:block!important;font-size:12px!important;font-weight:700!important;line-height:1.4!important;margin:0 0 5px!important;color:#18354b!important}
.itpr-field>label span{color:#d65252}
.itpr-registration-form .itpr-field input,.itpr-registration-form .itpr-field textarea,.itpr-registration-form .itpr-field select{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;height:43px!important;margin:0!important;background:#f8fbfd!important;border:1px solid #d4e2e9!important;border-radius:10px!important;color:#193a51!important;font-family:inherit!important;font-size:13px!important;font-weight:400!important;line-height:1.5!important;padding:9px 11px!important;text-align:start!important;box-shadow:none!important;outline:none!important;opacity:1!important}
.itpr-registration-form .itpr-field textarea{height:68px!important;min-height:68px!important;max-height:180px!important;resize:vertical!important}
.itpr-registration-form .itpr-field :is(input,select,textarea):focus{border-color:#08a89e!important;box-shadow:0 0 0 3px #04b4a21a!important}
.itpr-consent{display:flex!important;align-items:flex-start;gap:9px;font-size:11px!important;font-weight:400!important;line-height:1.5!important;margin:6px 0 15px!important;color:#5d6e7d!important;cursor:pointer}
.itpr-consent input[type=checkbox]{flex:0 0 16px;width:16px!important;height:16px!important;min-height:16px!important;margin:0!important;accent-color:#00a99b}
.itpr-consent a{color:#008b84!important;text-decoration:underline!important}
.itpr-submit{width:100%!important;min-height:47px!important;background:linear-gradient(110deg,#009b95,#00b3a6)!important;color:#fff!important;border:0!important;border-radius:11px!important;box-shadow:0 10px 20px #009c9532!important;font-size:14px!important;font-weight:800!important;line-height:1.25!important;display:flex!important;align-items:center;justify-content:center;gap:11px;cursor:pointer!important;text-transform:none!important;padding:12px 17px!important;transition:filter .15s ease}
.itpr-submit:hover{filter:brightness(.95)}.itpr-submit:disabled{opacity:.62;cursor:wait!important}
.itpr-submit svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.itpr-form-footnote{font-size:10px!important;color:#8195a2!important;text-align:center;line-height:1.5!important;margin:10px 0 0!important}
.itpr-hp{position:absolute!important;inset-inline-start:-99999px!important;top:-99999px!important;overflow:hidden;width:1px!important;height:1px!important}
.itpr-notice{padding:12px 14px;border-radius:10px;font-size:13px;line-height:1.6;margin:0 0 14px}
.itpr-notice--success{background:#e4f9f0;border:1px solid #b8eaca;color:#126447}.itpr-notice--error{background:#fff0ed;border:1px solid #f1c6bf;color:#a1382f}
.itpr-registration-form[hidden],.itpr-live-message[hidden]{display:none!important}
/* Modal is injected in the body before footer scripts; avoid theme z-index + stacking conflicts. */
html.itpr-modal-open,html.itpr-modal-open body{overflow:hidden!important}
#itpr-popup[hidden]{display:none!important}
#itpr-popup.itpr-modal{position:fixed!important;inset:0!important;z-index:2147483000!important;display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;width:100%!important;height:100%!important;padding:clamp(9px,2.5vh,22px)!important;margin:0!important;direction:inherit}
.itpr-overlay{position:absolute;inset:0;background:#051b30d9;backdrop-filter:blur(6px)}
.itpr-dialog{position:relative;display:block;width:min(1040px,100%);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;background:#fff;border-radius:20px;box-shadow:0 30px 110px #001828ae;isolation:isolate}
.itpr-modal .itpr-hero{border-radius:20px 20px 0 0;padding:21px 32px 18px;padding-inline-end:65px}
.itpr-modal .itpr-title{font-size:clamp(23px,2.5vw,31px)!important;margin:5px 0 6px!important}
.itpr-modal .itpr-lead{font-size:13px!important;margin:0 0 10px!important}
.itpr-modal .itpr-overline{font-size:10px!important}
.itpr-modal .itpr-facts{gap:7px;margin-bottom:5px}
.itpr-modal .itpr-fact{padding:5px 9px;font-size:11px}
.itpr-modal .itpr-description{font-size:12px;line-height:1.5;max-height:70px;overflow:auto;margin-top:6px}
.itpr-modal-grid{border:0;border-radius:0;box-shadow:none;grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr)}
.itpr-dialog-visual{padding:18px;min-height:430px}
.itpr-poster--modal .itpr-poster-img{max-height:610px!important}
.itpr-dialog-content{padding:18px 24px 22px;align-self:stretch}
.itpr-modal .itpr-form-heading h2{font-size:22px!important}
.itpr-modal .itpr-form-heading p{margin-bottom:12px!important}
.itpr-modal .itpr-field{margin-bottom:10px}
.itpr-modal .itpr-registration-form .itpr-field :is(input,select){height:39px!important}
.itpr-modal .itpr-registration-form .itpr-field textarea{height:60px!important;min-height:60px!important}
.itpr-modal .itpr-submit{min-height:43px!important}
.itpr-modal-link{margin:12px 0 0!important;text-align:center;font-size:12px!important;font-weight:700}
.itpr-modal-link a{color:#008d8b!important;text-decoration:none!important}
.itpr-modal-link a:hover{text-decoration:underline!important}
.itpr-close{position:sticky!important;float:right;z-index:10;top:10px;inset-inline-end:0;margin:10px 12px -54px 0!important;border:0!important;border-radius:50%!important;width:37px!important;height:37px!important;min-height:37px!important;background:#ffffffec!important;color:#102f48!important;font:500 28px/1 Arial,sans-serif!important;box-shadow:0 3px 9px #0d314a3b!important;padding:0!important;display:grid!important;place-items:center;cursor:pointer!important}
.itpr-close:hover{background:#e3fbf6!important}
@media(min-width:851px){.itpr-page-grid{min-height:600px}.itpr-page-visual{min-height:600px}.itpr-dialog-visual{min-height:580px}}
@media(max-width:850px){.itpr-page-grid,.itpr-modal-grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)}.itpr-modal .itpr-hero{padding:18px 24px 17px;padding-inline-end:55px}.itpr-dialog-visual{min-height:460px;padding:12px}.itpr-dialog-content{padding:16px}}
@media(max-width:650px){.itpr-page{padding:14px 11px 50px}.itpr-hero{padding:23px 20px;border-radius:16px 16px 0 0}.itpr-page-grid,.itpr-modal-grid{grid-template-columns:1fr;border-radius:0 0 16px 16px}.itpr-page-visual{min-height:0;padding:18px}.itpr-poster--page .itpr-poster-img{max-height:430px!important;max-width:320px!important}.itpr-page-content{padding:20px 18px 24px}.itpr-page .itpr-title{font-size:28px!important}.itpr-dialog{border-radius:15px;max-height:calc(100dvh - 14px)}#itpr-popup.itpr-modal{padding:7px!important}.itpr-modal .itpr-hero{border-radius:15px 15px 0 0;padding:18px 15px 13px;padding-inline-end:53px}.itpr-modal .itpr-title{font-size:21px!important}.itpr-modal .itpr-description{display:none}.itpr-modal .itpr-facts{margin-bottom:0}.itpr-dialog-visual{min-height:0;padding:12px}.itpr-poster--modal .itpr-poster-img{max-height:245px!important;width:auto!important;max-width:100%!important}.itpr-dialog-content{padding:16px 17px 21px}.itpr-close{top:6px;margin:8px 8px -46px 0!important}.itpr-page .itpr-facts{gap:6px}}
@media(max-width:430px){.itpr-field-row{grid-template-columns:1fr;gap:0}.itpr-page-top{margin:0 0 13px}.itpr-poster--modal .itpr-poster-img{max-height:195px!important}.itpr-modal .itpr-hero{padding-bottom:12px}.itpr-modal .itpr-lead{font-size:12px!important}.itpr-modal .itpr-fact{font-size:10px!important}.itpr-modal .itpr-form-heading h2{font-size:21px!important}}
@media(prefers-reduced-motion:reduce){.itpr-submit{transition:none}}
/* The hidden attribute must beat modal display:flex, including XStore overrides. */
#itpr-popup.itpr-modal[hidden]{display:none!important}
