/* Sign in / Create account card + Google welcome step (inc/account-login.php, user-registration/myaccount/form-login.php) */
:root{
  --ta-navy:#001A37; --ta-blue:#003E83; --ta-red:#ca2127; --ta-red-d:#a91a1f;
  --ta-ink:#1f2733; --ta-muted:#5A6B7B; --ta-line:#E4EAF0; --ta-bg:#F3F6F9;
}

/* ---------- page chrome ---------- */
/* the "My Account" photo banner becomes a slim navy title strip */
body:has(.tmcauth) .banner-top{padding:0 !important; height:auto !important; min-height:0 !important; background:var(--ta-navy) !important; position:relative; overflow:hidden}
body:has(.tmcauth) .banner-top::before,body:has(.tmcauth) .banner-top::after{display:none !important}
body:has(.tmcauth) .banner-top .parallax{opacity:.18 !important; filter:grayscale(.2)}
body:has(.tmcauth) .banner-top .text-content{position:relative !important; inset:auto !important; transform:none !important; top:auto !important; bottom:auto !important;
  max-width:1120px; margin:0 auto !important; padding:22px 16px 20px !important; z-index:1}
body:has(.tmcauth) .banner-top .h1-style{font-size:30px !important; line-height:1.1 !important; margin:0 !important; color:#fff !important; padding:0 !important}
body:has(.tmcauth) .banner-top .text-content::after{content:""; display:block; width:40px; height:3px; background:var(--ta-red); border-radius:2px; margin-top:10px}
body:has(.tmcauth) .section-white{background:var(--ta-bg); padding:28px 16px 64px !important}
body:has(.tmcauth) .section-white > .container{max-width:1160px; width:100%; padding:0; margin:0 auto}

/* ---------- the card ---------- */
.tmcauth{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); max-width:1120px; margin:0 auto; min-height:660px;
  background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 24px 60px -24px rgba(0,26,55,.35), 0 2px 6px rgba(0,26,55,.06); color:var(--ta-ink)}
.tmcauth *,.tmcauth *::before,.tmcauth *::after{box-sizing:border-box}

/* left: photo + benefits */
.tmcauth__hero{position:relative; background-size:cover; background-position:center; color:#fff; display:flex}
.tmcauth__hero::before{content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,26,55,.25) 0%, rgba(0,26,55,.55) 40%, rgba(0,26,55,.94) 100%)}
.tmcauth__heroin{position:relative; display:flex; flex-direction:column; justify-content:flex-end; padding:44px 44px 36px; width:100%}
.tmcauth__brand{margin:0 0 auto; font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; opacity:.9;
  display:flex; align-items:center; gap:10px}
.tmcauth__brand::before{content:""; width:28px; height:3px; background:var(--ta-red); border-radius:2px}
.tmcauth__headline{margin:28px 0 22px; font-size:34px; line-height:1.15; font-weight:700; color:#fff; letter-spacing:-.01em; max-width:420px}
.tmcauth__perks{list-style:none; margin:0 0 26px; padding:0; display:grid; gap:14px}
.tmcauth__perks li{display:flex; gap:14px; align-items:flex-start; font-size:15px; line-height:1.45; color:rgba(255,255,255,.86); margin:0; padding:0}
.tmcauth__perks li::before{content:none}
.tmcauth__perks i{flex:0 0 34px; height:34px; border-radius:10px; display:grid; place-items:center; font-size:14px;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18); color:#fff}
.tmcauth__perks strong{color:#fff; font-weight:700}
.tmcauth__trust{margin:0; font-size:13px; color:rgba(255,255,255,.75); display:flex; align-items:center; gap:8px}

/* right: tabs + forms */
.tmcauth__panel{padding:36px 52px 40px; display:flex; flex-direction:column}
.tmcauth__tabs{display:grid; grid-template-columns:1fr 1fr; background:var(--ta-bg); border-radius:12px; padding:4px; margin:0 0 30px}
.tmcauth__tab{appearance:none; border:0; background:transparent; height:42px; border-radius:9px; font:inherit; font-size:14px; font-weight:700;
  color:var(--ta-muted); cursor:pointer; transition:background .15s,color .15s,box-shadow .15s}
.tmcauth__tab[aria-selected="true"]{background:#fff; color:var(--ta-navy); box-shadow:0 1px 3px rgba(0,26,55,.12)}
.tmcauth__tab:hover{color:var(--ta-navy)}
.tmcauth__title{font-size:28px !important; line-height:1.2 !important; font-weight:700 !important; color:var(--ta-navy) !important; margin:0 0 6px !important; text-transform:none !important; letter-spacing:-.01em}
.tmcauth__sub{margin:0 0 24px; color:var(--ta-muted); font-size:15px}

.tmcauth__google{display:flex; align-items:center; justify-content:center; gap:12px; width:100%; height:54px; border-radius:12px;
  border:1.5px solid #cfd8e3; background:#fff; color:var(--ta-ink) !important; font-size:16px; font-weight:700; text-decoration:none !important;
  transition:border-color .15s, box-shadow .15s, transform .05s}
.tmcauth__google:hover{border-color:var(--ta-blue); box-shadow:0 6px 18px -8px rgba(0,62,131,.45)}
.tmcauth__google:active{transform:translateY(1px)}
.tmcauth__google:focus-visible{outline:3px solid rgba(0,62,131,.35); outline-offset:2px}
.tmcauth__gnote{margin:10px 0 0; font-size:13px; color:var(--ta-muted); text-align:center}
.tmcauth__or{display:flex; align-items:center; gap:14px; margin:24px 0 18px; color:var(--ta-muted); font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase}
.tmcauth__or::before,.tmcauth__or::after{content:""; flex:1; height:1px; background:var(--ta-line)}

/* fields (login form + the registration form inside the card) */
.tmcauth .ur-frontend-form{border:0 !important; padding:0 !important; margin:0 !important; background:transparent !important; box-shadow:none !important; max-width:none !important}
.tmcauth .ur-form-row,.tmcauth .ur-form-grid{padding:0 !important; margin:0 !important; width:100% !important}
.tmcauth .user-registration-form-row,.tmcauth .ur-field-item,.tmcauth .form-row{margin:0 0 16px !important; padding:0 !important}
.tmcauth label,.tmcauth .ur-label{display:block; font-size:13px !important; font-weight:700 !important; color:var(--ta-navy) !important; margin:0 0 6px !important}
.tmcauth .ur-label .required,.tmcauth label .required{color:var(--ta-red)}
.tmcauth input[type=text],.tmcauth input[type=email],.tmcauth input[type=password],.tmcauth input[type=tel],.tmcauth input[type=number],.tmcauth select,.tmcauth textarea{
  width:100% !important; height:48px; border:1.5px solid #cfd8e3 !important; border-radius:10px !important; padding:0 14px !important;
  font-size:15px !important; color:var(--ta-ink) !important; background:#fff !important; box-shadow:none !important; transition:border-color .15s, box-shadow .15s}
.tmcauth textarea{height:auto; padding:12px 14px !important}
.tmcauth input:focus,.tmcauth select:focus,.tmcauth textarea:focus{border-color:var(--ta-blue) !important; box-shadow:0 0 0 3px rgba(0,62,131,.14) !important; outline:0}
.tmcauth .password-input-group{position:relative; display:block}
.tmcauth .password_preview{position:absolute; right:12px; top:50%; transform:translateY(-50%); color:var(--ta-muted)}
.tmcauth__row{display:flex !important; align-items:center; justify-content:space-between; gap:12px; margin:2px 0 20px !important}
.tmcauth__check{display:inline-flex !important; align-items:center; gap:8px; margin:0 !important; font-weight:600 !important; color:var(--ta-ink) !important; cursor:pointer}
.tmcauth__check input{width:16px; height:16px; accent-color:var(--ta-navy); margin:0}
.tmcauth__lost{font-size:13px; font-weight:600; color:var(--ta-blue) !important; text-decoration:none}
.tmcauth__lost:hover{text-decoration:underline}
.tmcauth .ur-submit-button,.tmcauth .ur-submit-button.button,.tmcauth button[type=submit]{
  width:100% !important; height:52px !important; border:0 !important; border-radius:12px !important; background:var(--ta-navy) !important; color:#fff !important;
  font-size:16px !important; font-weight:700 !important; letter-spacing:.01em; text-transform:none !important; cursor:pointer; transition:background .15s; margin:0 !important; padding:0 16px !important}
.tmcauth .ur-submit-button:hover,.tmcauth button[type=submit]:hover{background:var(--ta-blue) !important}
.tmcauth .ur-button-container{margin:8px 0 0 !important; padding:0 !important; width:100%}
.tmcauth__switch{margin:22px 0 0; text-align:center; font-size:14px; color:var(--ta-muted)}
.tmcauth__switch button{appearance:none; border:0; background:none; padding:0; font:inherit; font-weight:700; color:var(--ta-red); cursor:pointer}
.tmcauth__switch button:hover{text-decoration:underline}

/* registration form: two names side by side, tidy select/descriptions */
.tmcauth__reg .ur-frontend-form .ur-form-row{display:grid !important; grid-template-columns:1fr 1fr; column-gap:14px}
.tmcauth__reg .ur-frontend-form .ur-form-grid{display:contents}
.tmcauth__reg .ur-field-item.field-user_email,.tmcauth__reg .ur-field-item.field-user_pass,.tmcauth__reg .ur-field-item.field-user_confirm_password,
.tmcauth__reg .ur-field-item.field-phone,.tmcauth__reg .ur-field-item.field-select,.tmcauth__reg .ur-field-item.field-user_login,
.tmcauth__reg .ur-field-item.field-privacy_policy,.tmcauth__reg .ur-field-item.field-checkbox,.tmcauth__reg .ur-button-container{grid-column:1 / -1}
.tmcauth__reg .user-registration-password-hint,.tmcauth__reg .user-registration-password-strength{font-size:12px; color:var(--ta-muted)}
.tmcauth__reg .user-registration-register,.tmcauth__reg .ur-form-title{display:none}

/* notices */
.tmcauth__notices:empty{display:none}
.tmcauth .user-registration-error,.tmcauth .user-registration-message,.tmcauth .user-registration-info{
  border:0 !important; border-left:4px solid var(--ta-red) !important; background:#fdf1f1 !important; color:var(--ta-ink) !important;
  border-radius:10px !important; padding:12px 14px !important; margin:0 0 18px !important; font-size:14px; list-style:none}
.tmcauth .user-registration-message{border-left-color:var(--ta-blue) !important; background:#eef3fa !important}
.tmcauth .user-registration-error::before,.tmcauth .user-registration-message::before{display:none}

/* responsive: keep the Google button and the form above the fold */
@media (max-height:820px) and (min-width:961px){
  body:has(.tmcauth) .section-white{padding-top:20px !important}
  .tmcauth{min-height:0}
  .tmcauth__panel{padding:26px 48px 30px}
  .tmcauth__tabs{margin-bottom:20px}
  .tmcauth__sub{margin-bottom:18px}
  .tmcauth__heroin{padding:32px 40px 28px}
  .tmcauth__headline{font-size:28px; margin:20px 0 16px}
  .tmcauth__perks{gap:10px; margin-bottom:18px}
}
@media (max-width:960px){
  body:has(.tmcauth) .section-white{padding:16px 16px 40px !important}
  body:has(.tmcauth) .banner-top .text-content{padding:14px 16px 12px !important}
  body:has(.tmcauth) .banner-top .h1-style{font-size:22px !important}
  body:has(.tmcauth) .banner-top .text-content::after{margin-top:6px}
  .tmcauth{grid-template-columns:1fr; min-height:0}
  /* the photo becomes a slim strip */
  .tmcauth__hero{min-height:0; background-position:center 60%}
  .tmcauth__hero::before{background:linear-gradient(90deg, rgba(0,26,55,.92) 0%, rgba(0,26,55,.6) 100%)}
  .tmcauth__heroin{padding:16px 20px; justify-content:center}
  .tmcauth__brand{margin:0 0 4px; font-size:10px}
  .tmcauth__headline{font-size:18px; margin:0; max-width:none}
  .tmcauth__perks,.tmcauth__trust{display:none}
  .tmcauth__panel{padding:20px 20px 26px}
  .tmcauth__tabs{margin-bottom:18px}
  .tmcauth__title{font-size:23px !important}
  .tmcauth__sub{margin-bottom:16px; font-size:14px}
  .tmcauth__or{margin:18px 0 14px}
}
@media (max-width:480px){
  body:has(.tmcauth) .section-white{padding:0 !important}
  .tmcauth{border-radius:0; box-shadow:none}
  .tmcauth__hero{display:none}
  .tmcauth__panel{padding:16px 16px 28px}
  .tmcauth__tabs{margin-bottom:16px}
  .tmcauth__title{font-size:22px !important}
  .tmcauth__google{height:50px}
  .tmcauth .user-registration-form-row,.tmcauth .form-row{margin-bottom:12px !important}
  .tmcauth__reg .ur-frontend-form .ur-form-row{grid-template-columns:1fr}
}

/* lost / reset password pages (same page, no split card) */
body.tmc-auth .ur-frontend-form{max-width:480px; margin:0 auto; background:#fff; border:0; border-radius:18px;
  padding:36px 32px; box-shadow:0 24px 60px -24px rgba(0,26,55,.35)}

/* ====================== welcome step ====================== */
html.tmcwn-open{overflow:hidden}
.tmcwn{position:fixed; inset:0; z-index:100000; background:rgba(0,26,55,.62); backdrop-filter:blur(3px);
  display:flex; align-items:center; justify-content:center; padding:20px; overflow:auto; animation:tmcwnFade .2s ease-out}
.tmcwn *,.tmcwn *::before,.tmcwn *::after{box-sizing:border-box}
@keyframes tmcwnFade{from{opacity:0}to{opacity:1}}
@keyframes tmcwnUp{from{transform:translateY(16px); opacity:0}to{transform:none; opacity:1}}
.tmcwn__card{width:100%; max-width:580px; background:#fff; border-radius:20px; overflow:hidden; color:var(--ta-ink);
  box-shadow:0 30px 80px -20px rgba(0,0,0,.5); animation:tmcwnUp .25s ease-out; margin:auto}
.tmcwn__head{display:flex; gap:16px; align-items:center; padding:26px 30px; background:var(--ta-navy); color:#fff; position:relative}
.tmcwn__head::after{content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--ta-red)}
.tmcwn__head img,.tmcwn__mark{flex:0 0 56px; width:56px; height:56px; border-radius:50%; border:2px solid rgba(255,255,255,.85); object-fit:cover}
.tmcwn__mark{display:grid; place-items:center; background:var(--ta-blue); font-size:22px}
.tmcwn__eyebrow{margin:0 0 2px; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.7)}
.tmcwn__head h2{margin:0 0 4px !important; font-size:23px !important; line-height:1.2 !important; color:#fff !important; font-weight:700 !important; text-transform:none !important}
.tmcwn__sub{margin:0; font-size:14px; color:rgba(255,255,255,.82)}
.tmcwn__body{padding:26px 30px 6px}
.tmcwn__note{margin:0 0 18px; padding:10px 12px; border-radius:10px; background:#eef3fa; color:var(--ta-blue); font-size:13px; font-weight:600}
.tmcwn__label{display:block; margin:0 0 8px; padding:0; font-size:13px; font-weight:700; color:var(--ta-navy)}
.tmcwn__label span{color:var(--ta-red)}
.tmcwn__input,.tmcwn__select select{width:100%; height:48px; border:1.5px solid #cfd8e3; border-radius:10px; padding:0 14px; font-size:16px; color:var(--ta-ink); background:#fff; font-family:inherit}
.tmcwn__input:focus,.tmcwn__select select:focus{border-color:var(--ta-blue); box-shadow:0 0 0 3px rgba(0,62,131,.14); outline:0}
.tmcwn__input.is-err{border-color:var(--ta-red)}
.tmcwn__err{margin:6px 0 0; font-size:13px; color:var(--ta-red); font-weight:600}
.tmcwn__set{border:0; margin:20px 0 0; padding:0; min-width:0}
.tmcwn__set[hidden]{display:none}
.tmcwn__chips{display:grid; grid-template-columns:repeat(4,1fr); gap:8px}
.tmcwn__chip{position:relative; margin:0; cursor:pointer}
.tmcwn__chip input{position:absolute; opacity:0; pointer-events:none}
.tmcwn__chip span{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-height:48px; padding:8px 6px; text-align:center;
  border:1.5px solid #cfd8e3; border-radius:10px; font-size:13px; font-weight:700; color:var(--ta-ink); line-height:1.2; transition:all .12s}
.tmcwn__chips--4 .tmcwn__chip span{min-height:72px}
.tmcwn__chip span i{font-size:16px; color:var(--ta-blue)}
.tmcwn__chip:hover span{border-color:var(--ta-blue)}
.tmcwn__chip input:checked + span{border-color:var(--ta-navy); background:var(--ta-navy); color:#fff}
.tmcwn__chip input:checked + span i{color:#fff}
.tmcwn__chip input:focus-visible + span{box-shadow:0 0 0 3px rgba(0,62,131,.25)}
.tmcwn__body > .tmcwn__label[for=tmcwnBroker]{margin-top:20px}
.tmcwn__select{position:relative}
.tmcwn__select select{appearance:none; -webkit-appearance:none; padding-right:40px; cursor:pointer}
.tmcwn__select::after{content:"\f078"; font-family:"Font Awesome 5 Free"; font-weight:900; font-size:12px; position:absolute; right:16px; top:50%; transform:translateY(-50%); color:var(--ta-muted); pointer-events:none}
.tmcwn__fine{margin:18px 0 0; font-size:12px; line-height:1.5; color:var(--ta-muted)}
.tmcwn__foot{display:flex; justify-content:space-between; align-items:center; gap:12px; padding:20px 30px 26px}
.tmcwn__skip{appearance:none; border:0; background:none; padding:8px 0; font:inherit; font-size:14px; font-weight:600; color:var(--ta-muted); cursor:pointer}
.tmcwn__skip:hover{color:var(--ta-navy); text-decoration:underline}
.tmcwn__go{appearance:none; border:0; height:50px; padding:0 26px; border-radius:12px; background:var(--ta-red); color:#fff; font:inherit; font-size:16px; font-weight:700;
  display:inline-flex; align-items:center; gap:10px; cursor:pointer; transition:background .15s}
.tmcwn__go:hover{background:var(--ta-red-d)}
.tmcwn__go[disabled],.tmcwn__skip[disabled]{opacity:.55; cursor:not-allowed}
@media (max-width:560px){
  .tmcwn{padding:0; align-items:flex-end}
  .tmcwn__card{border-radius:20px 20px 0 0}
  .tmcwn__head,.tmcwn__body,.tmcwn__foot{padding-left:20px; padding-right:20px}
  .tmcwn__chips{grid-template-columns:repeat(2,1fr)}
}

.tmcwn-toast{position:fixed; left:50%; bottom:28px; transform:translateX(-50%); z-index:100001; background:var(--ta-navy); color:#fff; padding:14px 20px;
  border-radius:12px; font-size:15px; font-weight:600; box-shadow:0 16px 40px -12px rgba(0,0,0,.5); display:flex; gap:10px; align-items:center; transition:opacity .4s, transform .4s}
.tmcwn-toast i{color:#fff}
.tmcwn-toast.is-out{opacity:0; transform:translate(-50%,12px)}
