:root {
  --app-field-height: 34px;
}

input.form-control,
input[type="color"].form-control,
input[type="date"].form-control,
input[type="datetime-local"].form-control,
input[type="datetime"].form-control,
input[type="email"].form-control,
input[type="file"].form-control,
input[type="month"].form-control,
input[type="number"].form-control,
input[type="password"].form-control,
input[type="search"].form-control,
input[type="tel"].form-control,
input[type="text"].form-control,
input[type="time"].form-control,
input[type="url"].form-control,
input[type="week"].form-control,
select.form-control,
.bootstrap-select > .dropdown-toggle,
.select2-container .select2-selection--single,
.input-group-addon,
.input-group-btn > .btn,
.bootstrap-select .bs-searchbox input.form-control,
.iti--allow-dropdown .iti__selected-country,
.iti--show-selected-dial-code .iti__selected-country,
.iti__selected-country-primary {
  height: var(--app-field-height) !important;
  min-height: var(--app-field-height) !important;
}

textarea.form-control,
.select2-container .select2-selection--multiple {
  min-height: var(--app-field-height) !important;
}

.bootstrap-select > .dropdown-toggle {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

.bootstrap-select .dropdown-toggle .filter-option,
.bootstrap-select .dropdown-toggle .filter-option-inner,
.bootstrap-select .dropdown-toggle .filter-option-inner-inner {
  line-height: 21px !important;
}

.select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 32px !important;
}

.select2-container .select2-selection--single .select2-selection__arrow {
  height: 34px !important;
}

.iti {
  width: 100%;
}

.iti input.form-control,
.iti input[type="tel"] {
  height: var(--app-field-height) !important;
  min-height: var(--app-field-height) !important;
}

.input-group-btn > .btn,
.iti--allow-dropdown .iti__selected-country,
.iti--show-selected-dial-code .iti__selected-country,
.iti__selected-country-primary,
.iti__selected-flag,
.iti__selected-dial-code {
  display: flex;
  align-items: center;
}

.input-group-btn > .btn {
  justify-content: center;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

.bootstrap-select .bs-searchbox input.form-control,
.input-group-addon,
.select2-container .select2-selection--single {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

.iti__selected-country-primary,
.iti__selected-dial-code {
  height: var(--app-field-height) !important;
  min-height: var(--app-field-height) !important;
  line-height: 1 !important;
}

.iti__flag-container {
  padding: 0 !important;
}

.iti__selected-flag {
  height: 100% !important;
}

ul.nav.navbar-nav.navbar-right > li:not([class]) {
  display: none !important;
}

ul.nav.navbar-nav.navbar-right > li:not([class]) > a {
  display: none !important;
}

/* Hide "+ New Subscription" button — subscriptions are managed via Module Manager */
a[href*="subscriptions/create"],
a[href*="subscriptions/create"].btn,
a[href$="/subscriptions/create"] {
  display: none !important;
}

/* Lumiere client portal/auth brand colors */
body.customers {
  --lumiere-accent: #b85c56;
  --lumiere-dark: #180b06;
  --lumiere-soft: #f7e8e5;
  --lumiere-paper: #fffdf9;
  --lumiere-line: #dfd7cf;
}

body.customers .btn-primary,
body.customers .btn-info,
body.customers .navbar-default .navbar-nav > li.customers-nav-item-login > a {
  background: var(--lumiere-accent) !important;
  border-color: var(--lumiere-accent) !important;
  color: #fff !important;
}

body.customers .btn-primary:hover,
body.customers .btn-primary:focus,
body.customers .btn-info:hover,
body.customers .btn-info:focus,
body.customers .navbar-default .navbar-nav > li.customers-nav-item-login > a:hover,
body.customers .navbar-default .navbar-nav > li.customers-nav-item-login > a:focus {
  background: var(--lumiere-dark) !important;
  border-color: var(--lumiere-dark) !important;
  color: #fff !important;
}

body.customers a,
body.customers .text-info,
body.customers .text-primary,
body.customers .lp-forgot,
body.customers .lp-tab:hover,
body.customers .lp-tab.active,
body.customers .lp-eyebrow,
body.customers .lp-staff-link a:hover {
  color: var(--lumiere-accent) !important;
}

body.customers input.form-control:focus,
body.customers input[type="email"]:focus,
body.customers input[type="password"]:focus,
body.customers input[type="text"]:focus,
body.customers select.form-control:focus,
body.customers textarea.form-control:focus,
body.customers .lp-field input:focus,
body.customers .lp-select-wrap select:focus {
  border-color: var(--lumiere-accent) !important;
  box-shadow: 0 0 0 3px rgba(184, 92, 86, .14) !important;
}

body.customers .checkbox-primary input[type="checkbox"]:checked + label:before,
body.customers .checkbox-info input[type="checkbox"]:checked + label:before,
body.customers .radio-primary input[type="radio"]:checked + label:before,
body.customers .radio-info input[type="radio"]:checked + label:before {
  background-color: var(--lumiere-accent) !important;
  border-color: var(--lumiere-accent) !important;
}

body.customers .radio-primary input[type="radio"] + label:after,
body.customers .radio-info input[type="radio"] + label:after {
  background-color: var(--lumiere-accent) !important;
}

body.customers .lp-tabs,
body.customers .navbar-default .navbar-nav > .active > a,
body.customers .navbar-default .navbar-nav > .active > a:focus,
body.customers .navbar-default .navbar-nav > .active > a:hover,
body.customers .navbar-default .navbar-nav > li > a:focus,
body.customers .navbar-default .navbar-nav > li > a:hover {
  background: var(--lumiere-soft) !important;
}

body.customers .lp-form-panel {
  background:
    radial-gradient(circle at 92% 8%, rgba(184, 92, 86, .08), transparent 28%),
    var(--lumiere-paper) !important;
}

body.customers .navbar-default .navbar-nav > li.customers-nav-item-account > a {
  background: var(--lumiere-accent) !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-weight: 700 !important;
}

body.customers .navbar-default .navbar-nav > li.customers-nav-item-account > a:hover,
body.customers .navbar-default .navbar-nav > li.customers-nav-item-account > a:focus {
  background: var(--lumiere-dark) !important;
  color: #fff !important;
}

body.customers .mwp-account-modal {
  align-items: center;
  display: none;
  inset: 0;
  justify-content: center;
  padding: 18px;
  position: fixed;
  z-index: 1000000;
}

body.customers .mwp-account-modal.is-open {
  display: flex;
}

body.customers .mwp-account-backdrop {
  background: rgba(24, 11, 6, .42);
  border: 0;
  inset: 0;
  position: absolute;
}

body.customers .mwp-account-dialog {
  animation: mwpAccountPop .22s ease both;
  background: var(--lumiere-paper);
  border: 1px solid var(--lumiere-line);
  border-radius: 18px;
  box-shadow: 0 28px 80px rgba(24, 11, 6, .24);
  color: var(--lumiere-dark);
  padding: 28px 22px 22px;
  position: relative;
  text-align: center;
  width: min(92vw, 360px);
}

body.customers .mwp-account-close {
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: #7c4a44;
  font-size: 22px;
  height: 34px;
  line-height: 1;
  position: absolute;
  right: 12px;
  top: 10px;
  width: 34px;
}

body.customers .mwp-account-close:hover {
  background: var(--lumiere-soft);
  color: var(--lumiere-dark);
}

body.customers .mwp-account-kicker {
  color: var(--lumiere-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  margin: 0 0 8px;
  text-transform: uppercase;
}

body.customers .mwp-account-dialog h2 {
  color: var(--lumiere-dark);
  font-size: 23px;
  line-height: 1.25;
  margin: 0 22px 18px;
}

body.customers .mwp-account-options {
  display: grid;
  gap: 10px;
}

body.customers .mwp-account-options a {
  align-items: center;
  background: #fff;
  border: 1px solid var(--lumiere-line);
  border-radius: 12px;
  color: var(--lumiere-dark) !important;
  display: flex;
  font-size: 15px;
  font-weight: 800;
  justify-content: center;
  min-height: 48px;
  text-decoration: none !important;
}

body.customers .mwp-account-options a:first-child {
  background: var(--lumiere-accent);
  border-color: var(--lumiere-accent);
  color: #fff !important;
}

body.customers .mwp-account-options a:hover,
body.customers .mwp-account-options a:focus {
  box-shadow: 0 10px 22px rgba(24, 11, 6, .12);
  transform: translateY(-1px);
}

body.mwp-account-lock {
  overflow: hidden;
}

@keyframes mwpAccountPop {
  from { opacity: 0; transform: translateY(12px) scale(.98); }
  to { opacity: 1; transform: none; }
}
