.elementor-10425 .elementor-element.elementor-element-e734c28{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:4em;--padding-bottom:4em;--padding-left:0em;--padding-right:0em;}.elementor-10425 .elementor-element.elementor-element-7f69d5a8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-10425 .elementor-element.elementor-element-45101bcd{text-align:center;}.elementor-10425 .elementor-element.elementor-element-45101bcd .elementor-heading-title{font-family:"Raleway", Sans-serif;font-size:40px;font-weight:700;line-height:1.2em;color:var( --e-global-color-text );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-10425 .elementor-element.elementor-element-357eb056{text-align:center;}.elementor-10425 .elementor-element.elementor-element-67c7badb.elementor-element{--align-self:center;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-10425 .elementor-element.elementor-element-45101bcd .elementor-heading-title{font-size:22px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}/* Start custom CSS for shortcode, class: .elementor-element-67c7badb */.fd-quote {
  --fd-bg: #17191E;
  --fd-field: #22252B;
  --fd-line: #4A4F57;
  --fd-text: #F5F1E8;
  --fd-muted: #CFC8B8;
  --fd-hint: #8A8F98;
  --fd-accent: #F07A4B;
  --fd-accent-hover: #F59268;
  --fd-error: #FF9C78;

  box-sizing: border-box;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  background: var(--fd-bg);
  color: var(--fd-text);
  border-radius: 12px;
  padding: 44px 48px 40px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  font-family: "Source Sans 3", ui-sans-serif, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.4;
}

.fd-quote *,
.fd-quote *::before,
.fd-quote *::after { box-sizing: border-box; }

/* CF7 auto-inserts <p> and <br>; neutralise them inside the form */
.fd-quote p { margin: 0; }
.fd-quote br { display: none; }
.fd-quote .fd-row > p:empty { display: none; }

/* ---------- Heading ---------- */
.fd-quote .fd-title {
  margin: 0;
  font-size: 36px;
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--fd-text);
  text-align: center;
  margin-bottom:20px;
}

/* ---------- Layout ---------- */
.fd-quote .fd-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.fd-quote .fd-row {
  display: grid;
  gap: 20px;
  align-items: start;
}

/* Name | Phone | Email */
.fd-quote .fd-row-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Product | Size or type | Quality — Quantity wraps to the next line when needed */
.fd-quote .fd-row-4 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Conditional groups: when visible, their fields sit directly in the row grid.
   Hidden groups keep the plugin's inline display:none. */
.fd-quote .fd-row [data-id^="group-"]:not([style*="none"]) {
  display: contents !important;
}

/* ---------- Labels ---------- */
.fd-quote label {
  font-size: 16px;
  font-weight: 600;
  color: var(--fd-text);
}
.fd-quote .fd-req { color: var(--fd-accent); }

/* ---------- Fields ---------- */
.fd-quote .wpcf7-form-control-wrap { display: block; width: 100%; }

.fd-quote input[type="text"],
.fd-quote input[type="tel"],
.fd-quote input[type="email"],
.fd-quote input[type="number"],
.fd-quote select,
.fd-quote textarea {
  width: 100%;
  height: 52px;
  margin: 0;
  padding: 0 16px;
  background-color: var(--fd-field);
  color: var(--fd-text);
  border: 1px solid var(--fd-line);
  border-radius: 6px;
  font: inherit;
  font-size: 17px;
  box-shadow: none;
  transition: border-color 0.15s ease;
}

.fd-quote textarea {
  height: auto;
  min-height: 104px;
  padding: 14px 16px;
  resize: vertical;
  line-height: 1.5;
}

.fd-quote ::placeholder { color: var(--fd-hint); opacity: 1; }

/* Custom select arrow; long option text truncates cleanly */
.fd-quote select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 44px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none' stroke='%23F5F1E8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 14px 9px;
}
.fd-quote select option { background: var(--fd-field); color: var(--fd-text); }

/* Hide number spinners for a cleaner field */
.fd-quote input[type="number"]::-webkit-outer-spin-button,
.fd-quote input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.fd-quote input[type="number"] { -moz-appearance: textfield; }

.fd-quote input:hover,
.fd-quote select:hover,
.fd-quote textarea:hover { border-color: #6B7079; }

.fd-quote input:focus,
.fd-quote select:focus,
.fd-quote textarea:focus {
  outline: 2px solid var(--fd-accent);
  outline-offset: 1px;
  border-color: var(--fd-accent);
}

/* ---------- Bottom row: note left, button right ---------- */
.fd-quote .fd-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.fd-quote .fd-actions > p:not(.fd-note) {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
}

.fd-quote .fd-submit,
.fd-quote input[type="submit"] {
  width: 320px;
  max-width: 100%;
  height: 60px;
  margin: 0;
  border: 0;
  border-radius: 6px;
  background: var(--fd-accent);
  color: #17191E;
  font-family: inherit;
  font-size: 19px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.fd-quote .fd-submit:hover { background: var(--fd-accent-hover); }
.fd-quote .fd-submit:focus-visible { outline: 2px solid var(--fd-text); outline-offset: 3px; }
.fd-quote .fd-submit:disabled { opacity: 0.6; cursor: wait; }

/* CF7 spinner sits beside the button */
.fd-quote .wpcf7-spinner {
  margin: 0 0 0 12px;
  background-color: var(--fd-muted);
}

.fd-quote .fd-note {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 14px;
  color: var(--fd-muted);
}
.fd-quote .fd-note a { color: var(--fd-text); text-decoration: underline; text-underline-offset: 3px; }
.fd-quote .fd-note a:hover { color: var(--fd-accent); }

/* ---------- Validation & responses ---------- */
.fd-quote .wpcf7-not-valid {
  border-color: var(--fd-error) !important;
}
.fd-quote .wpcf7-not-valid-tip {
  display: block;
  margin-top: 6px;
  font-size: 14px;
  color: var(--fd-error);
}

.wpcf7 form .wpcf7-response-output {
  max-width: 1200px;
  margin: 16px auto 0;
  padding: 14px 16px;
  border-radius: 6px;
  border: 1px solid #4A4F57;
  background: #22252B;
  color: #F5F1E8;
  font-family: "Source Sans 3", ui-sans-serif, sans-serif;
  font-size: 15px;
}
.wpcf7 form.sent .wpcf7-response-output { border-color: #6FBF8E; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output { border-color: #FF9C78; }

/* ---------- Tablet ---------- */
@media (max-width: 960px) {
  .fd-quote { padding: 36px 32px 32px; }
  .fd-quote .fd-row-3,
  .fd-quote .fd-row-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Mobile ---------- */
@media (max-width: 600px) {
  .fd-quote { padding: 28px 20px 24px; border-radius: 10px; gap: 20px; }
  .fd-quote .fd-title { font-size: 28px; }
  .fd-quote .fd-row-3,
  .fd-quote .fd-row-4 { grid-template-columns: 1fr; }
  .fd-quote .fd-actions { flex-direction: column-reverse; align-items: stretch; }
  .fd-quote .fd-submit,
  .fd-quote input[type="submit"] { width: 100%; }
  .fd-quote .fd-note { text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .fd-quote * { transition: none !important; }
}/* End custom CSS */