/* v401: Open House Islamabad form page only. */
.th-oh{background:#f7f8fa;color:#101828}
.th-oh *{box-sizing:border-box}
.th-oh-section{padding:72px 0 84px}
.th-oh-wrap{width:min(760px,calc(100% - 36px));margin:0 auto}
.th-oh-card{overflow:hidden;border:1px solid #e5e7eb;border-radius:28px;background:#fff;box-shadow:0 22px 60px rgba(15,23,42,.09)}
.th-oh-card:before{content:"";display:block;height:7px;background:#ef2f33}
.th-oh-head{padding:38px 40px 24px;text-align:center}
.th-oh-head h1{margin:0 0 12px;color:#071a36;font-size:clamp(34px,5vw,50px);line-height:1.05;letter-spacing:-.04em}
.th-oh-date{margin:0 0 12px;color:#ef2f33;font-weight:800;font-size:17px}
.th-oh-intro{max-width:570px;margin:0 auto;color:#667085;font-size:16px;line-height:1.65}
.th-oh-form{padding:14px 40px 40px}
.th-oh-field{margin:0 0 22px}
.th-oh-field>label,.th-oh-days legend{display:block;margin:0 0 9px;color:#101828;font-size:15px;font-weight:800}
.th-oh-field>label span,.th-oh-days legend span{margin-left:3px;color:#ef2f33}
.th-oh-field input[type="text"],.th-oh-field input[type="tel"],.th-oh-field input[type="email"],.th-oh-field select{width:100%;min-height:54px;padding:0 16px;border:1px solid #d0d5dd;border-radius:14px;background:#fff;color:#101828;font:inherit;outline:none;transition:border-color .18s ease,box-shadow .18s ease}
.th-oh-field select{appearance:auto}
.th-oh-field input:focus,.th-oh-field select:focus{border-color:#ef2f33;box-shadow:0 0 0 4px rgba(239,47,51,.10)}
.th-oh-field input::placeholder{color:#98a2b3}
.th-oh-days{padding:0;border:0}
.th-oh-radio{display:flex!important;align-items:center;gap:12px;margin:0 0 10px!important;padding:15px 16px;border:1px solid #e4e7ec;border-radius:14px;background:#fff;cursor:pointer;font-weight:650!important;transition:border-color .18s ease,background .18s ease}
.th-oh-radio:hover{border-color:#f6a4a7;background:#fff9f9}
.th-oh-radio input{width:18px;height:18px;accent-color:#ef2f33}
.th-oh-radio:has(input:checked){border-color:#ef2f33;background:#fff5f5}
.th-oh-submit{display:flex;width:100%;min-height:56px;align-items:center;justify-content:center;border:0;border-radius:15px;background:#ef2f33;color:#fff;font:inherit;font-weight:850;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}
.th-oh-submit:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(239,47,51,.22)}
.th-oh-submit:disabled{cursor:wait;opacity:.65;transform:none;box-shadow:none}
.th-oh-status{min-height:22px;margin-top:14px;text-align:center;color:#667085;font-size:14px;line-height:1.5}
.th-oh-status.ok{color:#067647}
.th-oh-status.err{color:#b42318}
.th-oh-field.has-error input,.th-oh-field.has-error select,.th-oh-days.has-error .th-oh-radio{border-color:#d92d20}
.th-oh-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
@media(max-width:640px){
  .th-oh-section{padding:42px 0 62px}
  .th-oh-wrap{width:min(100% - 24px,760px)}
  .th-oh-card{border-radius:22px}
  .th-oh-head{padding:30px 22px 20px}
  .th-oh-form{padding:12px 22px 30px}
  .th-oh-date{font-size:15px}
}

.th-oh-thanks-card{max-width:680px;margin:0 auto}
.th-oh-success{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;border-radius:50%;background:#ecfdf3;color:#067647;font-size:30px;font-weight:900}

.th-oh-location{margin:0 auto 14px;max-width:620px;color:#475467;font-size:14.5px;line-height:1.6}
.th-oh-location p{margin:3px 0}
.th-oh-location a{color:#ef2f33;font-weight:800;text-decoration:none}
.th-oh-location a:hover{text-decoration:underline}


/* v411: event details on the Open House Islamabad thank-you page. */
.th-oh-thanks-details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:26px auto 0;
  max-width:590px;
  text-align:left;
}
.th-oh-thanks-details>div{
  padding:16px 17px;
  border:1px solid #e4e7ec;
  border-radius:14px;
  background:#f8fafc;
}
.th-oh-thanks-details__wide{grid-column:1 / -1}
.th-oh-thanks-details span{
  display:block;
  margin-bottom:5px;
  color:#ef2f33;
  font-size:12px;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.th-oh-thanks-details strong{
  display:block;
  color:#101828;
  font-size:14px;
  line-height:1.55;
}
.th-oh-thanks-details a{
  color:#ef2f33;
  text-decoration:none;
}
.th-oh-thanks-details a:hover{text-decoration:underline}
@media(max-width:640px){
  .th-oh-thanks-details{grid-template-columns:1fr}
  .th-oh-thanks-details__wide{grid-column:auto}
}


/* v448: duplicate-registration popup, scoped to the Islamabad Open House only. */
html.th-oh-modal-open{overflow:hidden}
.th-oh-duplicate-modal[hidden]{display:none!important}
.th-oh-duplicate-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:24px;opacity:0;transition:opacity .18s ease}
.th-oh-duplicate-modal.is-open{opacity:1}
.th-oh-duplicate-modal__backdrop{position:absolute;inset:0;background:rgba(7,26,54,.58);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.th-oh-duplicate-modal__dialog{position:relative;width:min(440px,100%);padding:34px 32px 30px;border:1px solid #f1d5d6;border-radius:24px;background:#fff;box-shadow:0 30px 80px rgba(7,26,54,.24);text-align:center;transform:translateY(10px) scale(.985);transition:transform .18s ease}
.th-oh-duplicate-modal.is-open .th-oh-duplicate-modal__dialog{transform:translateY(0) scale(1)}
.th-oh-duplicate-modal__icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border-radius:50%;background:#fff1f1;color:#ef2f33;font-size:29px;font-weight:900;line-height:1}
.th-oh-duplicate-modal__dialog h2{margin:0 0 10px;color:#071a36;font-size:27px;line-height:1.18;letter-spacing:-.025em}
.th-oh-duplicate-modal__dialog p{margin:0 auto 22px;max-width:350px;color:#667085;font-size:15px;line-height:1.65}
.th-oh-duplicate-modal__button{min-width:132px;min-height:48px;padding:0 24px;border:0;border-radius:13px;background:#ef2f33;color:#fff;font:inherit;font-weight:850;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.th-oh-duplicate-modal__button:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(239,47,51,.22)}
.th-oh-duplicate-modal__button:focus-visible{outline:3px solid rgba(239,47,51,.25);outline-offset:3px}
@media(max-width:520px){
  .th-oh-duplicate-modal{padding:18px}
  .th-oh-duplicate-modal__dialog{padding:30px 22px 25px;border-radius:20px}
  .th-oh-duplicate-modal__dialog h2{font-size:24px}
}
