/* ========================================================
   Quote request form ("Solicită ofertă")
   Used by the global popup and the /contacte-catering page.
   ======================================================== */
.amaris-quote-form {
  margin: 0;
  color-scheme: dark; /* native date/time pickers render dark */
}

/* ---- Popup shell ---------------------------------------------------------
   The transplanted Elementor popup paints a cream card (#FCF7F4) with a
   #1A1A1A frame. Repaint it in the site's dark palette so the form reads the
   same here as on /contacte-catering. */
.elementor-61008 .elementor-element-64f5e1b8 {
  background-color: #121315 !important;
}

.elementor-61008 .elementor-element-64f5e1b8 > .elementor-shape-top .elementor-shape-fill {
  fill: #121315 !important;
}

.elementor-61008 .elementor-element-8144c3c > .elementor-widget-wrap {
  background-color: #191e24 !important;
}

/* Elementor paints the lightbox wrapper cream (#FCF7F4) with a white border,
   which showed as a light ring around the dark card. Its `max-height: 100%` /
   `overflow: visible` rules also fight the inline geometry the handler sets,
   which left the form clipped — the submit button fell outside the card and
   on short viewports could not be scrolled to at all. */
#elementor-popup-modal-61008 .dialog-widget-content,
#elementor-popup-modal-61008 .dialog-message {
  background-color: #121315 !important;
  background-image: none !important;
  border-color: transparent !important;
}

#elementor-popup-modal-61008 .dialog-widget-content {
  max-height: calc(100vh - 32px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
}

#elementor-popup-modal-61008 .dialog-message {
  max-height: none !important;
  overflow: visible !important;
}

/* The popup column keeps Elementor's light scheme (`scheme_default`), whose text
   colour is dark; repaint the inherited text too, or the heading disappears. */
.elementor-61008 .sc_item_title_text,
.elementor-61008 .sc_item_title_text * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Homepage "Solicitați o ofertă" and /catering-la-cheie (page 62227) keep their
   original light `scheme_default` / `scheme_brown_default` columns — cream
   (#FCF7F4) with dark text. We only repainted the popup and /contacte-catering
   dark, so nothing to override here. */

/* ========================================================
   Light variant — the form's original WordPress look.
   Used by the homepage column, the service sidebars and
   /catering-la-cheie; the popup and /contacte-catering stay dark.
   ======================================================== */
.amaris-quote-form--light {
  color-scheme: light; /* native date/time pickers follow the light fields */
}

.amaris-quote-form--light .amaris-input,
.amaris-quote-form--light .amaris-textarea {
  background: #ffffff !important;
  border-color: rgba(0, 0, 0, 0.14) !important;
  color: #1f1f1f !important;
  border-radius: 12px !important;
  padding: 11px 14px !important;
  font-size: 14.5px !important;
}

.amaris-quote-form--light .amaris-input::placeholder,
.amaris-quote-form--light .amaris-textarea::placeholder {
  color: #9a9a9a !important;
}

.amaris-quote-form--light .amaris-input:hover,
.amaris-quote-form--light .amaris-textarea:hover {
  border-color: rgba(0, 0, 0, 0.28) !important;
}

.amaris-quote-form--light .amaris-input:focus,
.amaris-quote-form--light .amaris-textarea:focus {
  background: #ffffff !important;
  border-color: #585fba !important;
  box-shadow: 0 0 0 3px rgba(88, 95, 186, 0.18) !important;
}

.amaris-quote-form--light .amaris-form-group label,
.amaris-quote-form--light .amaris-services-title {
  color: #3a3a3a;
}

.amaris-quote-form--light .amaris-chip-label {
  background: #ffffff;
  border-color: rgba(0, 0, 0, 0.14);
  color: #4a4a4a;
}

.amaris-quote-form--light .amaris-service-chip:hover .amaris-chip-label {
  border-color: rgba(168, 68, 106, 0.5);
  color: #1f1f1f;
}

.amaris-quote-form--light .amaris-service-chip input:checked + .amaris-chip-label {
  background: #383e5b;
  border-color: #383e5b;
  color: #ffffff;
  box-shadow: none;
}

.amaris-quote-form--light .amaris-check {
  background: #ffffff;
  border-color: rgba(0, 0, 0, 0.28);
}

.amaris-quote-form--light .amaris-accept-text {
  color: #5a5a5a;
}

.amaris-quote-form--light .amaris-accept-text a {
  color: #a8446a;
}

.amaris-quote-form--light .amaris-form-error {
  background: rgba(229, 57, 53, 0.07);
  border-color: rgba(229, 57, 53, 0.35);
  color: #b3261e;
}

.amaris-quote-form--light .amaris-quote-success__icon,
.amaris-quote-success.amaris-quote-form--light .amaris-quote-success__icon {
  color: #2e7d32;
}

.amaris-quote-form--light .amaris-quote-success h4,
.amaris-quote-success.amaris-quote-form--light h4 {
  color: #1f1f1f !important;
}

.amaris-quote-form--light .amaris-quote-success p,
.amaris-quote-success.amaris-quote-form--light p {
  color: #5a5a5a;
}

.amaris-quote-success.amaris-quote-form--light .amaris-quote-again {
  border-color: rgba(0, 0, 0, 0.18);
  color: #383e5b;
}

.amaris-quote-success.amaris-quote-form--light .amaris-quote-again:hover {
  background: #383e5b;
  border-color: #383e5b;
  color: #ffffff;
}

/* ---- Compact layout ------------------------------------------------------
   The form has eight fields from the client's document, where the CF7 it
   replaced had three. Used by the light mounts (so the form does not dwarf the
   neighbouring content) and by the popup, where the un-tightened form did not
   fit and the submit button fell outside the viewport. */
.amaris-quote-form--compact .amaris-form-grid {
  gap: 10px;
  margin-bottom: 10px;
}

.amaris-quote-form--compact .amaris-form-group {
  gap: 5px;
}

/* email and location no longer span the row: three grid rows instead of four */
.amaris-quote-form--compact .amaris-form-group.full-width {
  grid-column: auto;
}

.amaris-quote-form--compact .amaris-form-group label,
.amaris-quote-form--compact .amaris-services-title {
  font-size: 12.5px;
  /* the theme's label line-height is ~2.3em and inflates every row */
  line-height: 1.3;
}

.amaris-quote-form--compact .amaris-services-title {
  margin-bottom: 7px;
}

.amaris-quote-form--compact .amaris-textarea {
  height: 82px !important;
  min-height: 82px !important;
}

.amaris-quote-form--compact .amaris-services-section {
  margin: 2px 0 10px;
}

.amaris-quote-form--compact .amaris-services-chips {
  gap: 6px;
}

.amaris-quote-form--compact .amaris-chip-label {
  padding: 6px 12px;
  font-size: 12.5px;
  line-height: 1.2;
}

.amaris-quote-form--compact .amaris-accept-row {
  margin: 10px 0 12px;
}

.amaris-quote-form--compact .amaris-submit-btn {
  padding: 12px 24px;
  border-radius: 14px;
  font-size: 15px !important;
}

/* The service pages mount the form straight into the dark "Contactați-ne"
   sidebar widget, which has no surface of its own — the cream card lives on the
   widget so it also wraps the heading, and the light-scheme heading is repainted
   dark. */
.sidebar .widget_text:has(.amaris-quote-form--light) {
  background: #fcf7f4;
  border-radius: 20px;
  padding: 22px 20px;
}

.sidebar .widget_text:has(.amaris-quote-form--light) .widget_title {
  color: #1f1f1f !important;
}

/* ---- Homepage offer block: Elementor spacer budget -----------------------
   The block is framed by `sc_height_huge` spacers (120px each) which, on top of
   the form, made the section much taller than the "Contacte / Aflați cum
   beneficiați colaborând cu noi" column beside it. */
.elementor-52467 .elementor-element-063df93 .elementor-spacer-inner,
.elementor-52467 .elementor-element-048712c .elementor-spacer-inner {
  height: 44px !important;
}

.elementor-52467 .elementor-element-2d34145 .elementor-spacer-inner {
  height: 24px !important;
}

.elementor-52467 .elementor-element-1b14bc7 .elementor-spacer-inner,
.elementor-52467 .elementor-element-b91c8bb .elementor-spacer-inner {
  height: 12px !important;
}

.elementor-52467 .elementor-element-f8ecf02 .elementor-spacer-inner {
  height: 8px !important;
}

.elementor-52467 .elementor-element-733afcc .elementor-spacer-inner {
  height: 14px !important;
}

.elementor-52467 .elementor-element-2854f07 .elementor-spacer-inner {
  height: 10px !important;
}

/* Form Styles */
.amaris-form-card h3 {
  font-family: "Nunito", sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 6px !important;
}

.amaris-form-card p.form-desc {
  font-size: 14px;
  color: #8b9098;
  margin: 0 0 28px;
}

.amaris-form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-bottom: 18px;
}

@media (max-width: 640px) {
  .amaris-form-grid {
    grid-template-columns: 1fr;
  }
}

/* The "Contactați-ne" sidebar widget on the service pages is only ~330px wide. */
.sidebar .amaris-form-grid {
  grid-template-columns: 1fr !important;
}

.amaris-form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.amaris-form-group.full-width {
  grid-column: 1 / -1;
}

.amaris-form-group label {
  font-size: 13px;
  font-weight: 600;
  color: #ced2d9;
  letter-spacing: 0.01em;
}

.amaris-form-group label .req {
  color: #d17596;
  margin-left: 3px;
}

.amaris-input,
.amaris-textarea {
  width: 100% !important;
  box-sizing: border-box !important;
  background: rgba(18, 19, 21, 0.8) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 14px !important;
  padding: 13px 16px !important;
  color: #ffffff !important;
  font-family: "Nunito", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  transition: all 0.25s ease !important;
  outline: none !important;
}

.amaris-input:hover,
.amaris-textarea:hover {
  border-color: rgba(255, 255, 255, 0.2) !important;
}

.amaris-input:focus,
.amaris-textarea:focus {
  border-color: #585fba !important;
  background: rgba(18, 19, 21, 1) !important;
  box-shadow: 0 0 0 3px rgba(88, 95, 186, 0.25) !important;
}

.amaris-textarea {
  resize: vertical;
  min-height: 130px;
}

/* Service Pills Checklist */
.amaris-services-section {
  margin: 10px 0 24px;
}

.amaris-services-title {
  font-size: 13px;
  font-weight: 600;
  color: #ced2d9;
  margin-bottom: 12px;
}

.amaris-services-title .req {
  color: #d17596;
  margin-left: 3px;
}

.amaris-services-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.amaris-service-chip {
  position: relative;
  cursor: pointer;
  user-select: none;
}

.amaris-service-chip input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.amaris-chip-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #b5b9c2;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.2s ease;
}

.amaris-service-chip input:checked + .amaris-chip-label {
  background: rgba(56, 62, 91, 0.7);
  border-color: #585fba;
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(56, 62, 91, 0.3);
}

.amaris-service-chip:hover .amaris-chip-label {
  border-color: rgba(209, 117, 150, 0.4);
  color: #ffffff;
}

/* Acceptance Checkbox
   The theme absolutely-positions native checkboxes and paints its own glyph,
   which disappears on the dark card. Hide the real input (it stays focusable and
   the label toggles it) and draw the box + tick ourselves. */
.amaris-accept-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 16px 0 28px;
}

.amaris-accept-row input[type="checkbox"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  pointer-events: none !important;
}

.amaris-accept-text {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  /* the theme reserves left padding for its own checkbox glyph */
  padding: 0 !important;
  margin: 0 !important;
  font-size: 13px;
  color: #9aa0ab;
  line-height: 1.5;
  cursor: pointer;
}

/* The theme paints its own checkbox box on label pseudo-elements. */
.amaris-accept-text::before,
.amaris-accept-text::after {
  content: none !important;
  display: none !important;
}

.amaris-check {
  display: block;
  position: relative;
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  border-radius: 5px;
  border: 1.5px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.06);
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.amaris-accept-row input[type="checkbox"]:checked + .amaris-accept-text .amaris-check {
  background-color: #585fba;
  border-color: #6f79d4;
}

.amaris-accept-row input[type="checkbox"]:checked + .amaris-accept-text .amaris-check::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 9px;
  border-right: 2.2px solid #ffffff;
  border-bottom: 2.2px solid #ffffff;
  transform: rotate(45deg);
}

.amaris-accept-row input[type="checkbox"]:focus-visible + .amaris-accept-text .amaris-check {
  outline: 2px solid #7f88e0;
  outline-offset: 2px;
}

.amaris-accept-text a {
  color: #d17596;
  text-decoration: underline;
}

/* Submit CTA */
.amaris-submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 16px 32px;
  border-radius: 16px;
  background: #383e5b !important;
  color: #ffffff !important;
  font-family: "Nunito", sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 8px 24px rgba(56, 62, 91, 0.4);
}

.amaris-submit-btn:hover {
  background: #585fba !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(88, 95, 186, 0.45);
}

.amaris-submit-btn:active {
  transform: translateY(0);
}

.amaris-submit-btn:disabled {
  opacity: 0.65;
  cursor: default;
  transform: none;
}

.amaris-submit-btn.is-success {
  background: #2e7d32 !important;
  border-color: #4caf50 !important;
  box-shadow: 0 8px 24px rgba(46, 125, 50, 0.4) !important;
}

/* Honeypot — hidden from people, still in the DOM for bots */
.amaris-quote-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Validation / transport errors */
.amaris-form-error {
  margin: 0 0 16px;
  padding: 11px 14px;
  border-radius: 12px;
  background: rgba(229, 57, 53, 0.12);
  border: 1px solid rgba(229, 57, 53, 0.4);
  color: #ff9c99;
  font-size: 13.5px;
  line-height: 1.45;
}

/* Success panel */
.amaris-quote-success {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  padding: 28px 10px 8px;
}

.amaris-quote-success__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: rgba(46, 125, 50, 0.16);
  border: 1px solid rgba(76, 175, 80, 0.5);
  color: #6fcf73;
  font-size: 26px;
  margin-bottom: 4px;
}

.amaris-quote-success h4 {
  font-family: "Nunito", sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 !important;
}

.amaris-quote-success p {
  font-size: 14px;
  color: #9aa0ab;
  line-height: 1.55;
  margin: 0;
  max-width: 380px;
}

.amaris-quote-again {
  margin-top: 14px;
  padding: 11px 22px;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: transparent;
  color: #c9cdd6;
  font-family: "Nunito", sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.amaris-quote-again:hover {
  background: #383e5b;
  border-color: #585fba;
  color: #ffffff;
}

/* Cloudflare Turnstile widget (rendered by QuoteForm when the site key is set). */
.amaris-quote-turnstile {
  display: flex;
  justify-content: flex-start;
  margin: 2px 0 0;
  min-height: 65px;
}
.amaris-quote-form--compact .amaris-quote-turnstile {
  transform-origin: left center;
  margin-bottom: -8px;
}
