/* Account-only layer: the original WooCommerce forms keep their native behaviour. */
html body.cas-account-refresh.woocommerce-account #content.site-content.fixed {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 42px 28px 80px !important;
  box-sizing: border-box !important;
}
body.cas-account-refresh #main {
  --cas-account-blue: #006fbe;
  --cas-account-ink: #16334d;
  --cas-account-muted: #60758a;
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}
body.cas-account-refresh #content #primary {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
body.cas-account-refresh #main .account-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.cas-account-refresh #main .account-content > .wp-block-columns:has(.wp-block-column:empty),
body.cas-account-refresh #main .account-content > p:empty { display: none !important; }
body.cas-account-refresh #main:has(.cas-account-intro) .page-title { display: none !important; }
body.cas-account-refresh #main .page-title {
  margin: 0 0 28px !important;
  color: var(--cas-account-ink) !important;
  font-size: 34px !important;
  line-height: 1.2 !important;
  text-align: left !important;
}
body.cas-account-refresh #main .account-content > .woocommerce {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}
body.cas-account-refresh #main .cas-account-intro {
  margin: 0 0 30px !important;
  padding: 0 !important;
  text-align: left;
}
body.cas-account-refresh #main .cas-account-eyebrow {
  display: block;
  margin: 0 0 10px;
  color: var(--cas-account-blue);
  font-size: 11px;
  line-height: 1.4;
  font-weight: 750;
  letter-spacing: .11em;
}
body.cas-account-refresh #main .cas-account-intro h1 {
  margin: 0 0 12px !important;
  color: var(--cas-account-ink) !important;
  font-size: clamp(28px, 3vw, 38px) !important;
  line-height: 1.15 !important;
  font-weight: 750 !important;
  letter-spacing: -.035em !important;
  text-align: left !important;
}
body.cas-account-refresh #main .cas-account-intro p {
  margin: 0 !important;
  color: var(--cas-account-muted) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}
body.cas-account-refresh #main #customer_login {
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
  align-items: start !important;
  gap: 24px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.cas-account-refresh #main #customer_login::before,
body.cas-account-refresh #main #customer_login::after { display: none !important; }
body.cas-account-refresh #main #customer_login > :is(.u-column1, .u-column2) {
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 30px !important;
  border: 1px solid #deE7ef !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 8px 30px rgba(29, 63, 91, .045) !important;
  box-sizing: border-box !important;
}
body.cas-account-refresh #main #customer_login > .u-column2 { border-top: 3px solid var(--cas-account-blue) !important; padding-top: 28px !important; }
body.cas-account-refresh #main #customer_login h2 {
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: var(--cas-account-ink) !important;
  font-size: 25px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: -.025em !important;
}
body.cas-account-refresh #main .cas-account-form-description {
  margin: 0 0 25px !important;
  color: var(--cas-account-muted) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}
body.cas-account-refresh #main #customer_login form {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 24px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.cas-account-refresh #main #customer_login .cas-account-form-description + form { margin-top: 0 !important; }
body.cas-account-refresh #main .woocommerce form .form-row {
  float: none !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
body.cas-account-refresh #main .woocommerce form .form-row label {
  display: block !important;
  margin: 0 0 7px !important;
  padding: 0 !important;
  color: #294359 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
}
body.cas-account-refresh #main .woocommerce .required { color: var(--cas-account-blue) !important; text-decoration: none !important; }
body.cas-account-refresh #main .woocommerce :is(input.input-text, textarea, select) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 48px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 11px 14px !important;
  border: 1px solid #ccdbe7 !important;
  border-radius: 10px !important;
  outline: none !important;
  background: #fbfdff !important;
  box-shadow: none !important;
  color: var(--cas-account-ink) !important;
  font-family: inherit !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  box-sizing: border-box !important;
  transition: border-color .15s, box-shadow .15s;
}
body.cas-account-refresh #main .woocommerce :is(input.input-text, textarea, select):focus {
  border-color: #268acb !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(0, 111, 190, .12) !important;
}
body.cas-account-refresh #main .woocommerce :is(input.input-text, textarea)::placeholder { color: #8292a1 !important; opacity: 1; }
body.cas-account-refresh #main .woocommerce .password-input { display: block !important; width: 100% !important; position: relative; }
body.cas-account-refresh #main .woocommerce .password-input input { padding-right: 48px !important; }
body.cas-account-refresh #main .woocommerce .show-password-input {
  top: 2px !important;
  right: 2px !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--cas-account-muted) !important;
  box-shadow: none !important;
  transform: none !important;
}
body.cas-account-refresh #main .woocommerce .show-password-input:focus-visible { outline: 2px solid var(--cas-account-blue) !important; outline-offset: -4px; }
body.cas-account-refresh #main .woocommerce form .form-row .woocommerce-form-login__rememberme {
  display: flex !important;
  align-items: center;
  gap: 9px;
  width: fit-content;
  margin: 2px 0 22px !important;
  font-weight: 400 !important;
  cursor: pointer;
}
body.cas-account-refresh #main .woocommerce-form-login__rememberme span { font-weight: 400 !important; }
body.cas-account-refresh #main .woocommerce input[type="checkbox"],
body.cas-account-refresh #main .woocommerce input[type="radio"] { accent-color: var(--cas-account-blue); }
body.cas-account-refresh #main .woocommerce-form-login__rememberme input {
  flex: 0 0 17px;
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
}
body.cas-account-refresh #main .woocommerce button[type="submit"],
body.cas-account-refresh #main .woocommerce a.button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 12px 20px !important;
  border: 1px solid var(--cas-account-blue) !important;
  border-radius: 10px !important;
  background: var(--cas-account-blue) !important;
  box-shadow: none !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 650 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition: background .15s, border-color .15s;
}
body.cas-account-refresh #main .woocommerce button[type="submit"]:hover,
body.cas-account-refresh #main .woocommerce a.button:hover { background: #005d9f !important; border-color: #005d9f !important; transform: none !important; }
body.cas-account-refresh #main .woocommerce :is(button[type="submit"], a):focus-visible { outline: 3px solid #70b9e9 !important; outline-offset: 3px; }
body.cas-account-refresh #main .woocommerce .lost_password { margin: 18px 0 0 !important; text-align: center; }
body.cas-account-refresh #main .woocommerce a:not(.button) { color: #006aad !important; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.cas-account-refresh #main .woocommerce .lost_password a { font-size: 14px !important; font-weight: 500 !important; }
body.cas-account-refresh #main .woocommerce form p:not(.form-row):not(.lost_password) { color: var(--cas-account-muted); font-size: 14px; line-height: 1.6; }
body.cas-account-refresh #main .woocommerce .woocommerce-privacy-policy-text p {
  margin: 16px 0 20px !important;
  padding: 0 !important;
  color: #64768a !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
}
body.cas-account-refresh #main .woocommerce form > .form-row:last-child { margin-bottom: 0 !important; }
body.cas-account-refresh #main .woocommerce fieldset {
  min-width: 0 !important;
  margin: 24px 0 !important;
  padding: 20px !important;
  border: 1px solid #dee7ef !important;
  border-radius: 12px !important;
}
body.cas-account-refresh #main .woocommerce legend { padding: 0 7px !important; color: var(--cas-account-ink) !important; font-size: 15px !important; font-weight: 650 !important; }
body.cas-account-refresh #main .woocommerce fieldset.cas-account-types {
  display: block !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
body.cas-account-refresh #main .cas-account-type-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
body.cas-account-refresh #main .cas-account-types legend { margin: 0 0 9px !important; padding: 0 !important; font-size: 13px !important; font-weight: 600 !important; }
body.cas-account-refresh #main .cas-account-types label {
  display: flex !important;
  align-items: center;
  gap: 9px;
  min-height: 57px;
  margin: 0 !important;
  padding: 12px !important;
  border: 1px solid #d4e0e9;
  border-radius: 10px;
  background: #fff;
  color: #40576b !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  cursor: pointer;
  box-sizing: border-box;
  transition: border-color .15s, background .15s;
}
body.cas-account-refresh #main .cas-account-types label:has(input:checked),
body.cas-account-refresh #main .cas-account-types label.is-selected { border-color: var(--cas-account-blue); background: #edf6fd; color: #005b99 !important; }
body.cas-account-refresh #main .cas-account-types label:focus-within { outline: 3px solid rgba(0,111,190,.18); outline-offset: 2px; }
body.cas-account-refresh #main .cas-account-types label input {
  position: static !important;
  display: block !important;
  flex: 0 0 17px;
  width: 17px !important;
  height: 17px !important;
  min-height: 0 !important;
  margin: 0 !important;
  opacity: 1 !important;
  clip: auto !important;
  clip-path: none !important;
}
body.cas-account-refresh #main .cas-account-types label span { display: block; min-width: 0; }
body.cas-account-refresh #main .cas-account-types label strong { display: block; color: inherit; font-size: 13px; line-height: 1.4; font-weight: 650; }
body.cas-account-refresh #main .cas-account-types label small { display: block; margin-top: 4px; color: #63778a; font-size: 11px; line-height: 1.4; font-weight: 400; }
body.cas-account-refresh #main .cas-company-fields { margin: 0; padding: 0; }
body.cas-account-refresh #main .cas-company-fields[hidden] { display: none !important; }
body.cas-account-refresh #main .cas-account-field-hint,
body.cas-account-refresh #main .cas-account-fields .description { display: block; margin: 6px 0 0; color: var(--cas-account-muted); font-size: 12px; line-height: 1.5; }
body.cas-account-refresh #main .woocommerce-notices-wrapper:empty { display: none !important; }
body.cas-account-refresh #main .woocommerce :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) {
  width: 100% !important;
  margin: 0 0 22px !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  box-sizing: border-box;
}
/* Account navigation appears only after authentication. */
body.cas-account-refresh #main .account-content > .woocommerce:has(> .woocommerce-MyAccount-navigation) {
  display: grid !important;
  grid-template-columns: 230px minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: start;
}
body.cas-account-refresh #main .account-content > .woocommerce > :is(.woocommerce-notices-wrapper, .cas-account-intro) { grid-column: 1 / -1; }
body.cas-account-refresh #main .account-content > .woocommerce:has(> .woocommerce-MyAccount-navigation) > .cas-account-intro { margin-bottom: 6px !important; }
body.cas-account-refresh #main .woocommerce-MyAccount-navigation {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 12px !important;
  border: 1px solid #dee7ef;
  border-radius: 16px;
  background: #fff;
  box-sizing: border-box;
}
body.cas-account-refresh #main .woocommerce-MyAccount-navigation ul { display: grid !important; gap: 4px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; list-style: none !important; }
body.cas-account-refresh #main .woocommerce-MyAccount-navigation ul::before,
body.cas-account-refresh #main .woocommerce-MyAccount-navigation ul::after { display: none !important; }
body.cas-account-refresh #main .woocommerce-MyAccount-navigation li { margin: 0 !important; border: 0 !important; }
body.cas-account-refresh #main .woocommerce-MyAccount-navigation li::before { display: none !important; }
body.cas-account-refresh #main .woocommerce-MyAccount-navigation a:not(.button) {
  display: flex !important;
  align-items: center;
  min-height: 46px !important;
  padding: 11px 12px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: #3c5368 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
body.cas-account-refresh #main .woocommerce-MyAccount-navigation :is(.is-active a:not(.button), a:not(.button):hover) { color: #0066ad !important; background: #edf6fd !important; }
body.cas-account-refresh #main .woocommerce-MyAccount-content {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 28px !important;
  border: 1px solid #dee7ef;
  border-radius: 16px;
  background: #fff;
  color: #40576b;
  font-size: 15px;
  line-height: 1.7;
  box-sizing: border-box;
}
body.cas-account-refresh #main .woocommerce-MyAccount-content :is(h2, h3) { color: var(--cas-account-ink); font-size: 22px; line-height: 1.3; font-weight: 650; }
body.cas-account-refresh #main .cas-account-summary {
  margin: 25px 0 0;
  padding: 23px;
  border: 1px solid #d8e7f2;
  border-radius: 12px;
  background: #f3f9fe;
}
body.cas-account-refresh #main .cas-account-summary .cas-account-eyebrow { margin-bottom: 8px; }
body.cas-account-refresh #main .cas-account-summary h2 { margin: 0 0 12px !important; font-size: 22px !important; }
body.cas-account-refresh #main .cas-account-summary p { margin: 0 0 16px; overflow-wrap: anywhere; }
body.cas-account-refresh #main .cas-account-summary a { font-size: 14px; font-weight: 600; }
body.cas-account-refresh #main .woocommerce-ResetPassword {
  width: 100% !important;
  max-width: 560px !important;
  margin: 0 auto !important;
  padding: 30px !important;
  border: 1px solid #dee7ef !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-sizing: border-box;
}
@media (max-width: 900px) {
  html body.cas-account-refresh.woocommerce-account #content.site-content.fixed { padding: 32px 22px 64px !important; }
  body.cas-account-refresh #main #customer_login { gap: 18px !important; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important; }
  body.cas-account-refresh #main #customer_login > :is(.u-column1, .u-column2) { padding: 24px !important; }
  body.cas-account-refresh #main #customer_login > .u-column2 { padding-top: 22px !important; }
  body.cas-account-refresh #main .cas-account-type-options { grid-template-columns: 1fr !important; }
  body.cas-account-refresh #main .account-content > .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: 200px minmax(0, 1fr) !important; gap: 18px !important; }
}
@media (max-width: 700px) {
  html body.cas-account-refresh.woocommerce-account #content.site-content.fixed { padding: 27px 16px 48px !important; }
  body.cas-account-refresh #main .cas-account-intro { margin-bottom: 24px !important; }
  body.cas-account-refresh #main .cas-account-intro h1 { font-size: 29px !important; }
  body.cas-account-refresh #main .cas-account-intro p { max-width: 340px; font-size: 14px !important; }
  body.cas-account-refresh #main #customer_login { grid-template-columns: minmax(0, 1fr) !important; gap: 20px !important; }
  body.cas-account-refresh #main #customer_login > :is(.u-column1, .u-column2) { padding: 23px 21px !important; border-radius: 16px !important; }
  body.cas-account-refresh #main #customer_login > .u-column2 { padding-top: 21px !important; }
  body.cas-account-refresh #main #customer_login h2 { font-size: 23px !important; }
  body.cas-account-refresh #main .cas-account-form-description { margin-bottom: 22px !important; font-size: 13px !important; }
  body.cas-account-refresh #main .cas-account-type-options { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
  body.cas-account-refresh #main .cas-account-types label { gap: 7px; padding: 10px !important; font-size: 12px !important; }
  body.cas-account-refresh #main .cas-account-types label strong { font-size: 12px; }
  body.cas-account-refresh #main .account-content > .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: minmax(0, 1fr) !important; gap: 20px !important; }
  body.cas-account-refresh #main .woocommerce-MyAccount-navigation ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.cas-account-refresh #main .woocommerce-MyAccount-content { padding: 21px !important; }
  body.cas-account-refresh #main .cas-account-summary { padding: 18px; }
  body.cas-account-refresh #main .cas-profile-details .cas-account-type-options { grid-template-columns: minmax(0, 1fr) !important; }
  body.cas-account-refresh #main .woocommerce-ResetPassword { padding: 23px 21px !important; }
}
@media (max-width: 350px) {
  html body.cas-account-refresh.woocommerce-account #content.site-content.fixed { padding-right: 12px !important; padding-left: 12px !important; }
  body.cas-account-refresh #main #customer_login > :is(.u-column1, .u-column2) { padding-right: 17px !important; padding-left: 17px !important; }
  body.cas-account-refresh #main .cas-account-type-options { grid-template-columns: minmax(0, 1fr) !important; }
  body.cas-account-refresh #main .cas-account-types label { min-height: 48px; font-size: 13px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.cas-account-refresh #main :is(input, button, a, label) { transition: none !important; }
}
