/**
 * Bliss Hair Designs — scoped Forminator form styling.
 */

html.bliss-modal-active,
html.bliss-modal-active body {
  overflow: hidden;
}

/* -------------------------------------------------------------------------- */
/* Appointment modal — explicit opaque layers (no Tailwind dependency)          */
/* -------------------------------------------------------------------------- */

.bliss-appointment-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 99999;
  isolation: isolate;
}

.bliss-appointment-modal.is-open {
  display: block;
}

.bliss-appointment-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.68);
}

.bliss-appointment-modal-dialog {
  position: fixed;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2.5rem 1rem;
  overflow-y: auto;
  pointer-events: none;
}

.bliss-appointment-modal-panel {
  position: relative;
  width: 100%;
  max-width: 48rem;
  pointer-events: auto;
  overflow: hidden;
  border-radius: 4px;
  background-color: #f5ebd8;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
}

.bliss-appointment-modal-header {
  position: relative;
  padding: 2rem 1.5rem;
  text-align: center;
  color: #f5f0e8;
  background: linear-gradient(135deg, oklch(0.16 0.06 305), oklch(0.28 0.13 310));
}

@media (min-width: 768px) {
  .bliss-appointment-modal-header {
    padding: 2.5rem 2.5rem;
  }
}

.bliss-appointment-modal-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
}

.bliss-appointment-modal-close:hover {
  color: #f5f0e8;
}

.bliss-appointment-modal-accent {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  max-width: 20rem;
  margin: 0 auto 1rem;
}

.bliss-appointment-modal-accent-line {
  display: block;
  flex: 1;
  height: 1px;
  background-color: rgba(201, 162, 39, 0.4);
}

.bliss-appointment-modal-eyebrow {
  margin: 0;
  font-family: "Pinyon Script", cursive;
  font-size: 1.5rem;
  color: #c9a227;
}

.bliss-appointment-modal-title {
  margin: 0;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.875rem, 4vw, 2.25rem);
  line-height: 1.2;
  font-weight: 600;
}

.bliss-appointment-modal-body {
  background-color: #f5ebd8;
  padding: 2rem 1.5rem;
}

@media (min-width: 768px) {
  .bliss-appointment-modal-body {
    padding: 2.5rem;
  }
}

.bliss-appointment-modal-helper {
  margin: 1.25rem 0 0;
  font-size: 0.75rem;
  line-height: 1.5;
  color: rgba(74, 64, 56, 0.7);
  text-align: left;
}

.bliss-appointment-form-modal,
.bliss-appointment-form-modal .forminator-ui,
.bliss-appointment-form-modal .forminator-custom-form {
  background-color: #f5ebd8 !important;
}

.bliss-forminator-shell .forminator-ui.forminator-custom-form {
  margin: 0;
  padding: 0;
}

.bliss-forminator-shell .forminator-row {
  margin-bottom: 1rem;
}

.bliss-forminator-shell .forminator-row:last-child {
  margin-bottom: 0;
}

.bliss-forminator-shell .forminator-col {
  padding: 0 0.5rem;
}

.bliss-forminator-shell .forminator-field {
  margin-bottom: 0;
}

.bliss-forminator-shell .forminator-label {
  display: block;
  margin-bottom: 0.375rem;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.bliss-forminator-shell .forminator-required {
  color: var(--gold);
}

.bliss-forminator-shell .forminator-input,
.bliss-forminator-shell .forminator-textarea,
.bliss-forminator-shell .forminator-select,
.bliss-forminator-shell .forminator-input input,
.bliss-forminator-shell .forminator-input select,
.bliss-forminator-shell .forminator-input textarea {
  width: 100%;
  border-radius: 4px;
  font-size: 0.875rem;
  line-height: 1.4;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.bliss-forminator-shell .forminator-button-submit {
  width: 100%;
  margin-top: 0.5rem;
  border: 0;
  border-radius: 4px;
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  color: var(--ink);
  font-family: var(--font-display), serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 0.95rem 1.5rem;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(201, 162, 39, 0.25);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bliss-forminator-shell .forminator-button-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(201, 162, 39, 0.35);
}

.bliss-forminator-shell .forminator-response-message {
  margin-top: 1rem;
  font-size: 0.875rem;
}

/* Appointment modal — cream body */
.bliss-appointment-form-modal .forminator-label {
  color: #2f2a26;
}

.bliss-appointment-form-modal .forminator-input,
.bliss-appointment-form-modal .forminator-textarea,
.bliss-appointment-form-modal .forminator-select,
.bliss-appointment-form-modal .forminator-input input,
.bliss-appointment-form-modal .forminator-input select,
.bliss-appointment-form-modal .forminator-input textarea {
  background: #fff;
  border: 1px solid rgba(47, 42, 38, 0.15);
  color: #2f2a26;
  padding: 0.75rem 1rem;
}

.bliss-appointment-form-modal .forminator-input input::placeholder,
.bliss-appointment-form-modal .forminator-input textarea::placeholder {
  color: rgba(47, 42, 38, 0.45);
}

.bliss-appointment-form-modal .forminator-input input:focus,
.bliss-appointment-form-modal .forminator-input select:focus,
.bliss-appointment-form-modal .forminator-input textarea:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 1px rgba(201, 162, 39, 0.35);
}

.bliss-appointment-form-modal .forminator-button-submit {
  width: auto;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

@media (min-width: 640px) {
  .bliss-appointment-form-modal .forminator-button-submit {
    float: right;
    clear: both;
  }
}

/* Inline appointment forms — dark card */
.bliss-appointment-form-inline .forminator-label {
  color: var(--gold);
}

.bliss-appointment-form-inline .forminator-input,
.bliss-appointment-form-inline .forminator-textarea,
.bliss-appointment-form-inline .forminator-select,
.bliss-appointment-form-inline .forminator-input input,
.bliss-appointment-form-inline .forminator-input select,
.bliss-appointment-form-inline .forminator-input textarea {
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(201, 162, 39, 0.25);
  color: var(--champagne);
  padding: 0.75rem 1rem;
}

.bliss-appointment-form-inline .forminator-input input::placeholder,
.bliss-appointment-form-inline .forminator-input textarea::placeholder {
  color: rgba(245, 240, 232, 0.4);
}

.bliss-appointment-form-inline .forminator-input input:focus,
.bliss-appointment-form-inline .forminator-input select:focus,
.bliss-appointment-form-inline .forminator-input textarea:focus {
  outline: none;
  border-color: var(--gold);
}

.bliss-appointment-form-inline .forminator-response-message {
  color: var(--champagne);
}

/* Contact inquiry form */
.bliss-contact-form .forminator-label {
  color: var(--gold);
}

.bliss-contact-form .forminator-input,
.bliss-contact-form .forminator-textarea,
.bliss-contact-form .forminator-select,
.bliss-contact-form .forminator-input input,
.bliss-contact-form .forminator-input select,
.bliss-contact-form .forminator-input textarea {
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(201, 162, 39, 0.25);
  color: var(--champagne);
  padding: 0.75rem 1rem;
}

.bliss-contact-form .forminator-input input::placeholder,
.bliss-contact-form .forminator-input textarea::placeholder {
  color: rgba(245, 240, 232, 0.4);
}

.bliss-contact-form .forminator-input input:focus,
.bliss-contact-form .forminator-input select:focus,
.bliss-contact-form .forminator-input textarea:focus {
  outline: none;
  border-color: var(--gold);
}

.bliss-contact-form .forminator-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.bliss-contact-form .forminator-radio label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: rgba(245, 240, 232, 0.85);
  font-size: 0.875rem;
  text-transform: none;
  letter-spacing: normal;
  font-weight: 400;
}

.bliss-contact-form .forminator-radio input[type="radio"] {
  accent-color: var(--gold);
  width: 1rem;
  height: 1rem;
}

.bliss-contact-form .forminator-response-message {
  color: var(--champagne);
}

/* Footer newsletter — compact pill */
.bliss-newsletter-form .forminator-ui.forminator-custom-form {
  width: 100%;
}

.bliss-newsletter-form .forminator-row,
.bliss-newsletter-form .forminator-col,
.bliss-newsletter-form .forminator-field {
  margin: 0;
  padding: 0;
}

.bliss-newsletter-form .forminator-label,
.bliss-newsletter-form .forminator-description,
.bliss-newsletter-form .forminator-field--label {
  display: none !important;
}

.bliss-newsletter-form .forminator-row-inner {
  display: flex;
  align-items: stretch;
}

.bliss-newsletter-form .forminator-input input {
  flex: 1;
  min-width: 0;
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(201, 162, 39, 0.3);
  border-right: 0;
  border-radius: 4px 0 0 4px;
  color: var(--champagne);
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
}

.bliss-newsletter-form .forminator-input input::placeholder {
  color: rgba(245, 240, 232, 0.55);
}

.bliss-newsletter-form .forminator-input input:focus {
  outline: none;
  border-color: var(--gold);
}

.bliss-newsletter-form .forminator-button-submit {
  width: auto;
  margin: 0;
  border-radius: 0 4px 4px 0;
  padding: 0 1.25rem;
  min-width: 3rem;
  font-size: 0;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.bliss-newsletter-form .forminator-button-submit::before {
  content: "\f1d8";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 0.95rem;
  color: var(--ink);
}

.bliss-newsletter-form .forminator-response-message {
  margin-top: 0.75rem;
  color: var(--champagne);
  font-size: 0.75rem;
}

@media (max-width: 639px) {
  .bliss-forminator-shell .forminator-col {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}


/* span.select2-selection__placeholder {
    color: white !important;
}
 */
.forminator-ui#forminator-module-18.forminator-design--default .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] .select2-selection__rendered {
    color: white ;
}


.forminator-ui#forminator-module-18.forminator-design--default .forminator-button-submit{
	    color: oklch(12% .02 300);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    align-items: center;
    font-size: 0.78rem;
    font-weight: 600;
    display: inline-flex;
    position: relative;
    background: var(--gradient-gold);
    border-width: 1px;
    border-style: solid;
    border-color: oklch(0.78 0.13 85 / 0.6);
    border-image: none;
    gap: 0.6rem;
    padding: 0.95rem 1.75rem;
    transition: transform 0.35s, box-shadow 0.35s;
    overflow: hidden;
}
.forminator-ui#forminator-module-19.forminator-design--default .forminator-button-submit{
		    color: oklch(12% .02 300);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    align-items: center;
    font-size: 0.78rem;
    font-weight: 600;
    display: inline-flex;
    position: relative;
    background: var(--gradient-gold);
    border-width: 1px;
    border-style: solid;
    border-color: oklch(0.78 0.13 85 / 0.6);
    border-image: none;
    gap: 0.6rem;
    padding: 0.95rem 1.75rem;
    transition: transform 0.35s, box-shadow 0.35s;
    overflow: hidden;
}

.forminator-ui#forminator-module-19.forminator-design--default select.forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] .select2-selection__rendered{
color:white;
}

.forminator-ui#forminator-module-20.forminator-design--default .forminator-button-submit{
			    color: oklch(12% .02 300);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    align-items: center;
    font-size: 0.78rem;
    font-weight: 600;
    display: inline-flex;
    position: relative;
    background: var(--gradient-gold);
    border-width: 1px;
    border-style: solid;
    border-color: oklch(0.78 0.13 85 / 0.6);
    border-image: none;
    gap: 0.6rem;
/*     padding: 0.95rem 1.75rem; */
    transition: transform 0.35s, box-shadow 0.35s;
    overflow: hidden;
}

#forminator-module-20{
    display: flex;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
}
/* 
.forminator-ui#forminator-module-18.forminator-design--default .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] .select2-selection__rendered {
    color: white !important;
}


.forminator-ui#forminator-module-18.forminator-design--default .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"]:hover {
    background:none !important;
}


.forminator-ui#forminator-module-18.forminator-design--default .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"]:focus{
 background:none !important;
} */