/* ============================================================
   ILZE Baltic — Auth Pages
   ============================================================ */

:root {
  --ilze-or: #f26f21;
  --ilze-bl: #2b5474;
  --ilze-bl-light: #e8f0f7;
  --ilze-brd: #dde3ea;
  --ilze-ibg: #f8fafc;
  --ilze-r: 8px;
}

/* ── Page ── */
.page-authentication #content-wrapper,
.page-customer-account #content-wrapper { background: #f4f6f9; }
.page-authentication #content,
.page-customer-account #content { max-width: 520px; margin: 2.5rem auto 3rem; padding: 0 1rem; }
.page-customer-account #content.card,
.page-authentication #content.card {
  background: transparent !important; border: none !important;
  box-shadow: none !important; padding: 0 !important;
}

/* ── Card ── */
.login-form, .register-form {
  background: #fff; border-radius: 14px;
  box-shadow: 0 4px 28px rgba(43,84,116,.11);
  padding: 2.5rem 2.75rem 2rem;
}

/* ── Links ── */
.register-form > p { text-align:center; margin-bottom:1.75rem; font-size:.9rem; color:#666; }
.register-form > p a, .no-account a { color:var(--ilze-or); font-weight:700; text-decoration:none; }
.register-form > p a:hover, .no-account a:hover { text-decoration:underline; }
.no-account { text-align:center; margin-top:.25rem; }
.no-account a { font-size:.9rem; font-weight:600; }
.login-form hr { border:none; border-top:1px solid #edf0f4; margin:1.75rem 0 1.25rem; }

/* ── Bootstrap row → stacked ── */
.login-form .form-group.row,
.register-form .form-group.row { display:block; margin-bottom:1.25rem; }
.login-form .form-group.row > [class*="col-"],
.register-form .form-group.row > [class*="col-"] { padding-left:0; padding-right:0; }

/* ── Labels ── */
.login-form .form-control-label,
.register-form .form-control-label {
  display:block; width:100%; text-align:left; padding:0 0 .4rem;
  font-size:.78rem; font-weight:700; color:var(--ilze-bl);
  letter-spacing:.05em; text-transform:uppercase;
}
.login-form .form-control-label.required::after,
.register-form .form-control-label.required::after { display:none; }
.form-control-label-empty { display:none; }
.field-req-star { color:var(--ilze-or); font-weight:700; margin-left:2px; }

/* ── Input column ── */
.login-form .js-input-column,
.register-form .js-input-column { width:100%; max-width:100%; flex:none; padding:0; }
.login-form .col-md-3.form-control-comment,
.register-form .col-md-3.form-control-comment { display:none; }
.login-form .form-control-comment,
.register-form .form-control-comment { font-size:.77rem; color:#aab; margin-top:.3rem; display:block; }

/* ── Inputs ── */
.login-form .form-control,
.register-form .form-control {
  width:100%; height:46px; border:1.5px solid var(--ilze-brd);
  border-radius:var(--ilze-r); padding:.55rem 1rem; font-size:.95rem;
  color:#222; background:var(--ilze-ibg);
  transition:border-color .2s, box-shadow .2s, background .2s;
  box-shadow:none; appearance:none; -webkit-appearance:none; box-sizing:border-box;
}
.login-form .form-control:focus,
.register-form .form-control:focus {
  border-color:var(--ilze-bl); background:#fff;
  box-shadow:0 0 0 3px rgba(43,84,116,.12); outline:none;
}

/* ── Password group ── */
.login-form .input-group, .register-form .input-group { display:flex; align-items:stretch; width:100%; }
.login-form .input-group .form-control,
.register-form .input-group .form-control {
  border-radius:var(--ilze-r) 0 0 var(--ilze-r); border-right:none;
  flex:1; appearance:none; -webkit-appearance:none;
}
.login-form .input-group-btn, .register-form .input-group-btn { display:flex; }
.login-form .btn-show-password, .register-form .btn-show-password {
  height:46px; width:46px; padding:0;
  border:1.5px solid var(--ilze-brd); border-left:none;
  border-radius:0 var(--ilze-r) var(--ilze-r) 0;
  background:var(--ilze-ibg); color:var(--ilze-bl);
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:background .2s, color .2s;
}
.login-form .btn-show-password:hover, .register-form .btn-show-password:hover { background:var(--ilze-bl); color:#fff; }
.login-form .btn-show-password svg, .register-form .btn-show-password svg { display:block; }

/* ── Select ── */
.login-form .form-control-select, .register-form .form-control-select {
  cursor:pointer; padding-right:2rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%232b5474' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right .75rem center;
  appearance:none; -webkit-appearance:none;
}

/* ── Gender pills ── */
.login-form .form-control-valign, .register-form .form-control-valign { display:flex; gap:8px; padding:0; }
.login-form .radio-inline, .register-form .radio-inline {
  flex:1; height:46px; border:1.5px solid var(--ilze-brd); border-radius:var(--ilze-r);
  background:var(--ilze-ibg); display:flex; align-items:center; justify-content:center;
  cursor:pointer; font-size:.9rem; color:#777;
  transition:border-color .15s, background .15s, color .15s; margin:0; padding:0; user-select:none;
}
.login-form .radio-inline:has(input:checked),
.register-form .radio-inline:has(input:checked) {
  border-color:var(--ilze-or); background:#fff4ee; color:var(--ilze-or); font-weight:700;
}
.login-form .custom-radio, .register-form .custom-radio { display:none; }

/* ── Firstname + Lastname row (JS-wrapped) ── */
.ilze-name-row {
  display: flex;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 1.25rem;
}
.ilze-name-row .form-group.row {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
.ilze-name-row .form-group.row > * {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.ilze-name-row .form-control-comment { font-size:.72rem !important; line-height:1.35 !important; }

/* ── Checkboxes ──
   Native appearance gets stripped by the base theme CSS elsewhere (that's
   what its own .cb-icon replacement relies on), so accent-color alone has
   nothing to paint onto — box ends up invisible, worst on mobile.
   Fix: fully hand-draw the box instead of depending on native rendering. */
.login-form .custom-checkbox label,
.register-form .custom-checkbox label {
  display:flex !important; align-items:flex-start; gap:.6rem;
  cursor:pointer; font-size:.85rem; color:#444; line-height:1.5; margin:0;
}
.login-form .custom-checkbox input[type="checkbox"],
.register-form .custom-checkbox input[type="checkbox"] {
  position:static !important; opacity:1 !important;
  appearance:none !important; -webkit-appearance:none !important; -moz-appearance:none !important;
  width:18px !important; height:18px !important;
  min-width:18px !important; max-width:18px !important;
  display:inline-block !important; visibility:visible !important;
  clip:unset !important; clip-path:unset !important;
  margin:2px 0 0 0 !important;
  border:1.5px solid var(--ilze-brd) !important;
  border-radius:4px !important;
  background-color:#fff !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  box-shadow:none !important;
  cursor:pointer; flex-shrink:0;
  -webkit-tap-highlight-color:transparent;
  transition:background-color .15s, border-color .15s;
}
.login-form .custom-checkbox input[type="checkbox"]:checked,
.register-form .custom-checkbox input[type="checkbox"]:checked {
  border-color:var(--ilze-or) !important;
  background-color:var(--ilze-or) !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1' stroke='%23fff' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.login-form .custom-checkbox input[type="checkbox"]:focus,
.register-form .custom-checkbox input[type="checkbox"]:focus {
  outline:none !important;
  box-shadow:0 0 0 3px rgba(43,84,116,.12) !important;
}
.login-form .custom-checkbox label .cb-icon,
.register-form .custom-checkbox label .cb-icon { display:none !important; }

/* Hide optin checkbox — default = not subscribed */
.register-form .form-group:has(input[name="optin"]) { display:none !important; }

/* ── Birthday picker ── */
.ilze-dob-picker { position:relative; }
.ilze-dob-display {
  width:100%; height:46px; border:1.5px solid var(--ilze-brd); border-radius:var(--ilze-r);
  background:var(--ilze-ibg); padding:0 1rem;
  display:flex; align-items:center; justify-content:space-between;
  cursor:pointer; user-select:none; box-sizing:border-box; transition:border-color .2s;
}
.ilze-dob-display:hover, .ilze-dob-display.open { border-color:var(--ilze-bl); }
.dob-text { font-size:.95rem; color:#222; }
.dob-text.ph { color:#aab; }
.ilze-dob-display svg { color:var(--ilze-bl); opacity:.55; flex-shrink:0; }
.ilze-dob-popup {
  position:absolute; top:calc(100% + 4px); left:0; right:0;
  background:#fff; border:1.5px solid var(--ilze-brd); border-radius:10px;
  box-shadow:0 6px 24px rgba(43,84,116,.16); z-index:200; overflow:hidden;
}
.dob-tabs { display:flex; border-bottom:1px solid var(--ilze-brd); }
.dob-tab {
  flex:1; height:36px; border:none; background:none;
  font-size:.72rem; font-weight:700; color:#999; cursor:pointer;
  text-transform:uppercase; letter-spacing:.06em;
  border-bottom:2px solid transparent; margin-bottom:-1px; transition:color .15s, border-color .15s;
}
.dob-tab.active { color:var(--ilze-bl); border-bottom-color:var(--ilze-or); }
.dob-view { display:none; padding:8px; }
.dob-view.active { display:grid; }
#dob-view-day   { grid-template-columns:repeat(7,1fr); gap:2px; }
#dob-view-month { grid-template-columns:repeat(3,1fr); gap:4px; }
#dob-view-year  { grid-template-columns:repeat(4,1fr); gap:2px; max-height:176px; overflow-y:auto; }
#dob-view-year::-webkit-scrollbar { width:4px; }
#dob-view-year::-webkit-scrollbar-thumb { background:var(--ilze-brd); border-radius:2px; }
.dob-cell {
  border:none; background:none; border-radius:6px; cursor:pointer; color:#333;
  transition:background .12s, color .12s; text-align:center;
  display:flex; align-items:center; justify-content:center; padding:0; line-height:1;
}
.dob-cell:hover { background:var(--ilze-bl-light); color:var(--ilze-bl); }
.dob-cell.selected { background:var(--ilze-or); color:#fff; font-weight:700; }
.dob-cell.selected:hover { background:var(--ilze-or); }
.day-cell   { height:30px; font-size:.82rem; }
.month-cell { height:40px; font-size:.78rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; padding:0 2px; }
.year-cell  { height:30px; font-size:.82rem; }

/* ── Submit ── */
.login-form .form-footer, .register-form .form-footer { margin-top:1.75rem; }
.login-form .form-footer .btn-primary,
.register-form .form-footer .btn-primary {
  display:block; width:100%; height:52px; background:var(--ilze-or); border:none;
  border-radius:var(--ilze-r); color:#fff; font-size:.95rem; font-weight:800;
  letter-spacing:.08em; text-transform:uppercase; cursor:pointer;
  transition:background .2s, transform .1s, box-shadow .2s;
  box-shadow:0 3px 12px rgba(242,111,33,.30);
}
.login-form .form-footer .btn-primary:hover,
.register-form .form-footer .btn-primary:hover { background:#d95e18; box-shadow:0 4px 18px rgba(242,111,33,.40); }
.login-form .form-footer .btn-primary:active,
.register-form .form-footer .btn-primary:active { transform:scale(.98); box-shadow:none; }

/* ── Errors ── */
.login-form .form-group.has-error .form-control,
.register-form .form-group.has-error .form-control { border-color:#e74c3c; background:#fff8f8; }
.login-form .alert.alert-danger,
.register-form .alert.alert-danger { border-radius:var(--ilze-r); font-size:.88rem; margin-bottom:1.25rem; }

/* ── Mobile ── */
@media (max-width:767px) {
  .page-authentication #content,
  .page-customer-account #content { padding:0 .5rem; margin:1rem auto 2rem; }
  .login-form, .register-form { padding:1.75rem 1.25rem 1.5rem; border-radius:10px; box-shadow:0 2px 16px rgba(43,84,116,.09); }
  .login-form .form-footer .btn-primary,
  .register-form .form-footer .btn-primary { height:50px; }
  .ilze-name-row { flex-direction:column; gap:0; }
  .ilze-name-row .form-group.row { margin-bottom:1.25rem !important; }
}

/* ── DIAGNOSTIC FIX: Bootstrap .row has margin: 0 -15px.
   In display:block context this extends elements 15px beyond
   the form's padding edge. Zero it out so all rows are equal. ── */
.register-form .form-group.row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ── Card margins — slightly less than viewport ── */
@media (max-width: 991px) {
  .page-authentication #content,
  .page-customer-account #content {
    padding: 0 1rem;
    max-width: 100%;
  }
  .login-form, .register-form {
    margin-left: 0;
    margin-right: 0;
  }
}
@media (max-width: 575px) {
  .page-authentication #content,
  .page-customer-account #content { padding: 0 1rem; }
  .login-form, .register-form {
    border-radius: 10px;
    padding: 1.75rem 1.25rem 1.5rem;
  }
}

/* ── Hide hint text under firstname/lastname ── */
.ilze-name-row .form-control-comment { display: none !important; }

/* ── Card width fix — visible margins on all screen sizes ── */
/* Remove the bad max-width:100% override, just add padding */
.page-authentication #content,
.page-customer-account #content {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}
@media (max-width: 575px) {
  .page-authentication #content,
  .page-customer-account #content {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    max-width: 100% !important;
  }
}

/* ── Password eye icon — force blue color ── */
.login-form .btn-show-password,
.register-form .btn-show-password {
  color: var(--ilze-bl) !important;
}
.login-form .btn-show-password svg,
.register-form .btn-show-password svg {
  stroke: var(--ilze-bl) !important;
  display: block;
}

/* ── Password toggle button — dual SVG icons ── */
.ilze-pw-toggle { position: relative; }
.ilze-pw-toggle svg {
  display: block;
  stroke: var(--ilze-bl);
}
.ilze-pw-toggle:hover svg { stroke: #fff; }

/* Eye open: show by default */
.ilze-pw-toggle .pw-icon-eye     { display: flex; align-items: center; justify-content: center; }
.ilze-pw-toggle .pw-icon-eye-off { display: none; }

/* Eye crossed: show when password is visible */
.ilze-pw-toggle.pw-visible .pw-icon-eye     { display: none; }
.ilze-pw-toggle.pw-visible .pw-icon-eye-off { display: flex; align-items: center; justify-content: center; }

/* ── Fix: PS theme may have global fill on SVG — force none on all icon sub-elements ── */
.ilze-pw-toggle svg path,
.ilze-pw-toggle svg circle,
.ilze-pw-toggle svg line,
.ilze-pw-toggle svg rect,
.ilze-pw-toggle svg polyline {
  fill: none !important;
  stroke: #2b5474 !important;
}
.ilze-pw-toggle:hover svg path,
.ilze-pw-toggle:hover svg circle,
.ilze-pw-toggle:hover svg line,
.ilze-pw-toggle:hover svg rect,
.ilze-pw-toggle:hover svg polyline {
  stroke: #fff !important;
}

/* ── Fix: button stays dark after tap on mobile ── */
.btn-show-password:focus,
.btn-show-password:active,
.btn-show-password:focus:active {
  background: var(--ilze-ibg) !important;
  color: var(--ilze-bl) !important;
  outline: none !important;
  box-shadow: none !important;
}
.btn-show-password:focus svg,
.btn-show-password:active svg {
  stroke: var(--ilze-bl) !important;
}

/* ── Password toggle — полная замена стилей ── */
.login-form .btn-show-password,
.register-form .btn-show-password,
.login-form .ilze-pw-toggle,
.register-form .ilze-pw-toggle {
  height: 46px !important;
  width: 46px !important;
  padding: 0 !important;
  border: 1.5px solid var(--ilze-brd) !important;
  border-left: none !important;
  border-radius: 0 var(--ilze-r) var(--ilze-r) 0 !important;
  background: var(--ilze-ibg) !important;
  color: var(--ilze-bl) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background .15s !important;
  box-shadow: none !important;
  outline: none !important;
}
.login-form .ilze-pw-toggle:hover,
.register-form .ilze-pw-toggle:hover,
.login-form .ilze-pw-toggle:focus,
.register-form .ilze-pw-toggle:focus,
.login-form .ilze-pw-toggle:active,
.register-form .ilze-pw-toggle:active {
  background: var(--ilze-bl-light) !important;
  color: var(--ilze-bl) !important;
}

/* Иконки — всегда синие */
.ilze-pw-toggle .pw-icon-eye svg,
.ilze-pw-toggle .pw-icon-eye-off svg {
  stroke: var(--ilze-bl) !important;
  display: block !important;
}
/* Когда пароль виден — иконка оранжевая */
.ilze-pw-toggle.pw-visible .pw-icon-eye-off svg {
  stroke: var(--ilze-or) !important;
}

/* Видимость иконок */
.ilze-pw-toggle .pw-icon-eye     { display: flex; align-items: center; justify-content: center; }
.ilze-pw-toggle .pw-icon-eye-off { display: none; }
.ilze-pw-toggle.pw-visible .pw-icon-eye     { display: none; }
.ilze-pw-toggle.pw-visible .pw-icon-eye-off { display: flex; align-items: center; justify-content: center; }

/* ── Password toggle: fix focus/active states ── */
.ilze-pw-toggle:focus,
.ilze-pw-toggle:active,
.ilze-pw-toggle:focus:not(:hover),
.ilze-pw-toggle:active:not(:hover) {
  background: var(--ilze-ibg) !important;
  color: var(--ilze-bl) !important;
  outline: none !important;
  box-shadow: none !important;
}
.ilze-pw-toggle:focus svg,
.ilze-pw-toggle:active svg {
  stroke: var(--ilze-bl) !important;
}
/* Hover: dark bg, white icon */
.ilze-pw-toggle:hover {
  background: var(--ilze-bl) !important;
}
.ilze-pw-toggle:hover svg {
  stroke: #fff !important;
}

/* ── Password button focus/active reset ── */
.login-form .btn-show-password:focus,
.login-form .btn-show-password:active,
.login-form .btn-show-password:focus:active,
.register-form .btn-show-password:focus,
.register-form .btn-show-password:active,
.register-form .btn-show-password:focus:active {
  background: var(--ilze-ibg) !important;
  color: var(--ilze-bl) !important;
  box-shadow: none !important;
  outline: none !important;
}
/* Hover: blue bg, white icon */
.login-form .btn-show-password:hover,
.register-form .btn-show-password:hover {
  background: var(--ilze-bl) !important;
  color: #fff !important;
  outline: none !important;
}

.login-form .btn-show-password:hover svg,
.register-form .btn-show-password:hover svg { stroke: #fff !important; }

.login-form .btn-show-password:focus svg,
.login-form .btn-show-password:active svg,
.register-form .btn-show-password:focus svg,
.register-form .btn-show-password:active svg { stroke: var(--ilze-bl) !important; }

/* ── Mobile: keep name fields side by side, matching gender buttons ── */
@media (max-width: 767px) {
  .ilze-name-row {
    flex-direction: row !important;
    gap: 8px !important;
    margin-bottom: 1.25rem !important;
  }
  .ilze-name-row .form-group.row {
    margin-bottom: 0 !important;
  }
}

/* ── Password button: no persistent focus/active background ── */
.login-form .btn-show-password:focus,
.login-form .btn-show-password:focus-visible,
.register-form .btn-show-password:focus,
.register-form .btn-show-password:focus-visible {
  background: var(--ilze-ibg) !important;
  box-shadow: none !important;
  outline: none !important;
}
.login-form .btn-show-password:focus svg,
.login-form .btn-show-password:focus-visible svg,
.register-form .btn-show-password:focus svg,
.register-form .btn-show-password:focus-visible svg {
  stroke: var(--ilze-bl) !important;
}

/* ── Password input-group: unified focus ring on the whole group ── */
.login-form .input-group:focus-within,
.register-form .input-group:focus-within {
  border-radius: var(--ilze-r);
  box-shadow: 0 0 0 3px rgba(43,84,116,.12);
}
/* Kill individual input focus outline inside group */
.login-form .input-group .form-control:focus,
.register-form .input-group .form-control:focus {
  box-shadow: none !important;
  outline: none !important;
  border-color: var(--ilze-bl) !important;
  border-right: none !important;
  background: #fff;
}
.login-form .input-group:focus-within .btn-show-password,
.register-form .input-group:focus-within .btn-show-password {
  border-color: var(--ilze-bl) !important;
}

/* ── Eye button: kill ALL focus/active states aggressively ── */
.btn-show-password.ilze-pw-toggle,
.btn-show-password.ilze-pw-toggle:link,
.btn-show-password.ilze-pw-toggle:visited,
.btn-show-password.ilze-pw-toggle:focus,
.btn-show-password.ilze-pw-toggle:focus-visible,
.btn-show-password.ilze-pw-toggle:focus-within,
.btn-show-password.ilze-pw-toggle:active,
.btn-show-password.ilze-pw-toggle.active,
.btn-show-password.ilze-pw-toggle.focus,
.btn-show-password.ilze-pw-toggle:active:focus {
  background: var(--ilze-ibg) !important;
  box-shadow: none !important;
  outline: none !important;
  border-color: var(--ilze-brd) !important;
}
.btn-show-password.ilze-pw-toggle:hover {
  background: var(--ilze-bl) !important;
  border-color: var(--ilze-bl) !important;
}

/* ── More horizontal space between card and screen edges ── */
@media (max-width: 767px) {
  .page-authentication #content,
  .page-customer-account #content {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }
}

/* ── Card horizontal margins — independent of #content padding ── */
@media (max-width: 991px) {
  .login-form, .register-form {
    margin-left: 1.25rem !important;
    margin-right: 1.25rem !important;
  }
}

/* ── Card margins — slightly wider ── */
@media (max-width: 991px) {
  .login-form, .register-form {
    margin-left: 0.75rem !important;
    margin-right: 0.75rem !important;
  }
}

/* ── Fix: PS JS adds .focus class to .js-parent-focus (.input-group)
   Classic theme has its own teal/blue rule for this — override it ── */
.login-form .js-parent-focus.focus,
.register-form .js-parent-focus.focus {
  box-shadow: 0 0 0 3px rgba(43, 84, 116, .12) !important;
}
.login-form .js-parent-focus.focus .form-control,
.register-form .js-parent-focus.focus .form-control {
  border-color: var(--ilze-bl) !important;
  box-shadow: none !important;
  outline: none !important;
}
.login-form .js-parent-focus.focus .btn-show-password,
.register-form .js-parent-focus.focus .btn-show-password {
  border-color: var(--ilze-bl) !important;
}

/* ── Fix: PS theme.js adds .focus class to .js-parent-focus on child focus
   Theme CSS has a rule for this with wrong color — override completely ── */
.login-form .input-group.focus,
.login-form .js-parent-focus.focus,
.register-form .input-group.focus,
.register-form .js-parent-focus.focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(43, 84, 116, .12) !important;
  border-radius: var(--ilze-r) !important;
}
.login-form .input-group.focus .form-control,
.register-form .input-group.focus .form-control {
  border-color: var(--ilze-bl) !important;
  border-right: none !important;
  box-shadow: none !important;
  outline: none !important;
}
.login-form .input-group.focus .ilze-pw-toggle,
.register-form .input-group.focus .ilze-pw-toggle {
  border-color: var(--ilze-bl) !important;
  box-shadow: none !important;
  outline: none !important;
}
/* Kill any other source of the teal/cyan outline */
.login-form .js-parent-focus.focus > *,
.register-form .js-parent-focus.focus > * {
  box-shadow: none !important;
  outline: none !important;
}





/* ── Checkbox content wrapper — normal inline flow, asterisk stays put ── */
.login-form .custom-checkbox label .cb-text,
.register-form .custom-checkbox label .cb-text {
  flex: 1;
  min-width: 0;
}
.login-form .custom-checkbox label .cb-text em,
.register-form .custom-checkbox label .cb-text em {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.8rem;
  color: #888;
  line-height: 1.5;
  font-style: italic;
}

/* ── Bulletproof asterisk — survive any extension/inline color override ── */
.field-req-star,
.field-req-star * {
  color: #f26f21 !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  font-style: normal !important;
}

/* ── Personal info page (identity) — same treatment as auth pages ── */
.page-identity #content-wrapper { background: #f4f6f9; }
.page-identity #content {
  max-width: 520px; margin: 2.5rem auto 3rem;
  padding-left: 1rem !important; padding-right: 1rem !important;
}
.page-identity #content.card {
  background: transparent !important; border: none !important;
  box-shadow: none !important; padding: 0 !important;
}
@media (max-width: 991px) {
  .page-identity #content { padding: 0 1rem; max-width: 100%; }
}
@media (max-width: 767px) {
  .page-identity #content { margin: 1rem auto 2rem; }
}
@media (max-width: 575px) {
  .page-identity #content {
    padding-left: 1rem !important; padding-right: 1rem !important;
    max-width: 100% !important;
  }
}
/* ── Address pages (address.tpl / addresses.tpl) — same treatment as identity ── */
.page-address #content-wrapper,
.page-addresses #content-wrapper { background: #f4f6f9; }

.page-address #content {
  max-width: 520px; margin: 2.5rem auto 3rem;
  padding-left: 1rem !important; padding-right: 1rem !important;
}
.page-address #content.card {
  background: transparent !important; border: none !important;
  box-shadow: none !important; padding: 0 !important;
}
.page-addresses #content {
  max-width: 900px; margin: 2.5rem auto 3rem;
  padding-left: 1rem !important; padding-right: 1rem !important;
}
.page-addresses #content.card {
  background: transparent !important; border: none !important;
  box-shadow: none !important; padding: 0 !important;
}
@media (max-width: 991px) {
  .page-address #content,
  .page-addresses #content { padding: 0 1rem; max-width: 100%; }
}
@media (max-width: 767px) {
  .page-address #content,
  .page-addresses #content { margin: 1rem auto 2rem; }
}
@media (max-width: 575px) {
  .page-address #content,
  .page-addresses #content {
    padding-left: 1rem !important; padding-right: 1rem !important;
    max-width: 100% !important;
  }
}

/* ── Address list — card grid ── */
.ilze-addr-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}
.ilze-addr-grid .alert { grid-column: 1 / -1; }

/* ── "Create new address" footer link ── */
.addresses-footer {
  text-align: center;
}
.addresses-footer a[data-link-action="add-address"] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1.5px dashed var(--ilze-brd);
  border-radius: var(--ilze-r);
  padding: 14px 24px;
  color: var(--ilze-bl);
  font-weight: 700;
  font-size: .9rem;
  text-decoration: none;
  transition: border-color .15s, color .15s, background .15s;
}
.addresses-footer a[data-link-action="add-address"]:hover {
  border-color: var(--ilze-or);
  color: var(--ilze-or);
  background: #fff8f4;
  text-decoration: none;
}
.addresses-footer a[data-link-action="add-address"] .material-icons {
  font-size: 20px;
}

/* ── Address card (block-address.tpl) ── */
.ilze-addr-grid .address {
  background: #fff;
  border: 1px solid var(--ilze-brd);
  border-radius: 14px;
  padding: 20px 20px 16px;
  display: flex;
  flex-direction: column;
  transition: border-color .15s, box-shadow .15s;
}
.ilze-addr-grid .address:hover {
  border-color: var(--ilze-or);
  box-shadow: 0 2px 12px rgba(242,111,33,.10);
}
.ilze-addr-grid .address-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.ilze-addr-grid .address-icon {
  width: 34px; height: 34px; border-radius: 9px;
  background: var(--ilze-bl-light);
  display: flex; align-items: center; justify-content: center;
  color: var(--ilze-bl); flex-shrink: 0;
}
.ilze-addr-grid .address h4 {
  margin: 0; font-size: .95rem; font-weight: 700; color: #1a2530;
}
.ilze-addr-grid .address-body { flex: 1; margin-bottom: 14px; }
.ilze-addr-grid .address-body address {
  font-style: normal; font-size: .85rem; line-height: 1.65; color: #667;
  margin: 0;
}
.ilze-addr-grid .address-footer {
  display: flex; align-items: center; gap: 8px;
  border-top: 1px solid #eef1f5; padding-top: 12px; margin-top: auto;
}
.ilze-addr-grid .address-action {
  display: flex; align-items: center; gap: 4px;
  font-size: .8rem; font-weight: 600; text-decoration: none;
  padding: 6px 10px; border-radius: 8px;
  transition: background .15s, color .15s;
}
.ilze-addr-grid .address-action .material-icons { font-size: 16px; }
.ilze-addr-grid .address-action-edit { color: var(--ilze-bl); }
.ilze-addr-grid .address-action-edit:hover { background: var(--ilze-bl-light); text-decoration: none; }
.ilze-addr-grid .address-action-delete { color: #b0384a; margin-left: auto; }
.ilze-addr-grid .address-action-delete:hover { background: #fdeef0; text-decoration: none; }

/* ================================================================
   psgdpr module — customerPersonalData.tpl
   ================================================================ */
#module-psgdpr-gdpr .psgdprinfo17 {
  background: #fff;
  border: 1px solid var(--ilze-brd);
  border-radius: 14px;
  padding: 24px 26px;
  margin-bottom: 16px;
  box-shadow: 0 2px 10px rgba(43,84,116,.05);
}
#module-psgdpr-gdpr .psgdprinfo17 h2 {
  font-size: .85rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
  color: var(--ilze-bl); margin: 0 0 10px;
}
#module-psgdpr-gdpr .psgdprinfo17 p {
  font-size: .88rem; line-height: 1.6; color: #555; margin: 0 0 16px;
}
#module-psgdpr-gdpr .psgdprinfo17 p a {
  color: var(--ilze-or); font-weight: 700; text-decoration: none;
}
#module-psgdpr-gdpr .psgdprinfo17 p a:hover { text-decoration: underline; }
#module-psgdpr-gdpr .psgdprinfo17:last-child p { margin-bottom: 0; }

#module-psgdpr-gdpr .psgdprgetdatabtn17 {
  display: block;
  width: 100%;
  height: 48px;
  border-radius: var(--ilze-r);
  border: none !important;
  color: #fff !important;
  font-size: .85rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-align: center;
  line-height: 48px;
  padding: 0 !important;
  margin: 0 0 10px !important;
  transition: background .2s, box-shadow .2s;
}
#module-psgdpr-gdpr .psgdprgetdatabtn17:last-of-type { margin-bottom: 0 !important; }
#module-psgdpr-gdpr #exportDataToCsv {
  background: var(--ilze-or) !important;
  box-shadow: 0 3px 12px rgba(242,111,33,.30);
}
#module-psgdpr-gdpr #exportDataToCsv:hover { background: #d95e18 !important; }
#module-psgdpr-gdpr #exportDataToPdf {
  background: var(--ilze-bl) !important;
  box-shadow: 0 3px 12px rgba(43,84,116,.25);
}
#module-psgdpr-gdpr #exportDataToPdf:hover { background: #1f4058 !important; }

@media (max-width: 767px) {
  #module-psgdpr-gdpr .psgdprinfo17 {
    padding: 18px 16px; border-radius: 10px;
  }
}
