.elementor-2000 .elementor-element.elementor-element-54cebf8{--display:flex;}.elementor-2000 .elementor-element.elementor-element-54cebf8:not(.elementor-motion-effects-element-type-background), .elementor-2000 .elementor-element.elementor-element-54cebf8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F5F4F2;}.elementor-2000 .elementor-element.elementor-element-22eea90{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;border-style:solid;--border-style:solid;border-width:0px 0px 3px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:3px;--border-left-width:0px;border-color:var( --e-global-color-secondary );--border-color:var( --e-global-color-secondary );--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-2000 .elementor-element.elementor-element-22eea90:not(.elementor-motion-effects-element-type-background), .elementor-2000 .elementor-element.elementor-element-22eea90 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2000 .elementor-element.elementor-element-fb8d119 .elementor-heading-title{font-family:"Century Old Style", Sans-serif;font-size:26px;font-weight:400;color:#FFFCFC;}.elementor-2000 .elementor-element.elementor-element-d26240d{padding:0px 0px 0px 0px;}.elementor-2000 .elementor-element.elementor-element-d26240d .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:15px;font-weight:300;line-height:25px;color:#FFFCFC;}.elementor-2000 .elementor-element.elementor-element-09d3741{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-2000 .elementor-element.elementor-element-09d3741.e-con{--align-self:center;}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2000 .elementor-element.elementor-element-91fe218{--display:flex;--padding-top:20px;--padding-bottom:0px;--padding-left:20px;--padding-right:0px;}.elementor-2000 .elementor-element.elementor-element-61f5226{padding:20px 0px 0px 0px;text-align:start;}.elementor-2000 .elementor-element.elementor-element-61f5226 .elementor-heading-title{font-family:"Century Old Style", Sans-serif;font-size:30px;font-weight:600;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );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-2000 .elementor-element.elementor-element-0c9c7db{width:var( --container-widget-width, 69% );max-width:69%;--container-widget-width:69%;--container-widget-flex-grow:0;text-align:start;font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;}.elementor-2000 .elementor-element.elementor-element-0c9c7db.elementor-element{--align-self:flex-start;}.elementor-2000 .elementor-element.elementor-element-6cccf6e{--display:flex;--padding-top:20px;--padding-bottom:0px;--padding-left:20px;--padding-right:0px;}.elementor-2000 .elementor-element.elementor-element-40b75ce{padding:20px 0px 0px 0px;text-align:start;}.elementor-2000 .elementor-element.elementor-element-40b75ce .elementor-heading-title{font-family:"Century Old Style", Sans-serif;font-size:30px;font-weight:600;}.elementor-2000 .elementor-element.elementor-element-4e94a4d{width:var( --container-widget-width, 69% );max-width:69%;--container-widget-width:69%;--container-widget-flex-grow:0;text-align:start;font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;}.elementor-2000 .elementor-element.elementor-element-4e94a4d.elementor-element{--align-self:flex-start;}.elementor-2000 .elementor-element.elementor-element-66f75d6{--n-tabs-heading-justify-content:initial;--n-tabs-title-width:100%;--n-tabs-title-height:initial;--n-tabs-title-align-items:flex-start;--n-tabs-title-flex-grow:1;--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;padding:0px 0px 0px 0px;--n-tabs-title-justify-content:flex-start;--n-tabs-title-text-align:start;--n-tabs-title-gap:0px;--n-tabs-gap:0px;--n-tabs-title-border-radius:8px 8px 8px 8px;--n-tabs-title-padding-top:15px;--n-tabs-title-padding-right:20px;--n-tabs-title-padding-bottom:16px;--n-tabs-title-padding-left:20px;--n-tabs-title-color:var( --e-global-color-primary );--n-tabs-title-color-active:#FFFFFF;}.elementor-2000 .elementor-element.elementor-element-66f75d6 > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:#FFFFFF;}.elementor-2000 .elementor-element.elementor-element-66f75d6.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-secondary );border-style:solid;border-width:1px 1px 1px 1px;border-color:#4040403D;}.elementor-2000 .elementor-element.elementor-element-66f75d6.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-2000 .elementor-element.elementor-element-66f75d6.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-secondary );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-secondary );}.elementor-2000 .elementor-element.elementor-element-66f75d6.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:not( :hover ){border-style:solid;border-width:1px 1px 1px 1px;border-color:#4040403D;}.elementor-2000 .elementor-element.elementor-element-fb832ab{--display:flex;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-2000 .elementor-element.elementor-element-09d3741{--width:85%;}}/* Start custom CSS for shortcode, class: .elementor-element-05d6e0d *//* =====================================================
   Redstone SERVICE REPORT form - extra styles
   Load AFTER form-redstone.css (it re-uses the base styles)
   Root: <div class="form-redstone report-redstone">
   ===================================================== */

/* ---------- Textareas a bit shorter than form 1 ---------- */
.report-redstone .textarea-redstone { height: 76px; }

/* ---------- Intro text ---------- */
.report-redstone .intro-narrow-redstone { max-width: 520px; }

/* ---------- Service ticket box ---------- */
.report-redstone .ticket-redstone { position: relative; }
.report-redstone .ticket-box-redstone {
  display: flex;
  align-items: center;
  height: 56px;
  padding: 0 138px 0 13px;
  font-family: "DM Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--muted-redstone);
  background-color: var(--field-bg-redstone);
  border: 1px solid var(--border-redstone);
  border-radius: 8px;
}
.report-redstone .pill-redstone {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  padding: 5px 11px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #2f7d4f;
  background: #dff0e3;
  border-radius: 999px;
}

/* ---------- Eyebrow labels (UNIT 1, PARTS FOR THIS UNIT) ---------- */
.report-redstone .eyebrow-redstone {
  font-size: 13px;
  font-weight: 700;
  line-height: 18px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #444444;
}

/* ---------- Unit card ---------- */
.report-redstone .unit-redstone {
  margin: 0 0 14px;
  padding: 14px 12px 14px;
  background: #f4f3f1;
  border: 1px solid var(--border-redstone);
  border-radius: 8px;
}
.report-redstone .unit-head-redstone {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.report-redstone .unit-redstone .input-redstone,
.report-redstone .unit-redstone .select-redstone {
  background-color: #faf9f8;
}
.report-redstone .unit-redstone .input-redstone:focus,
.report-redstone .unit-redstone .select-redstone:focus { background-color: #fff; }

.report-redstone .parts-title-redstone {
  margin: 4px 0 12px;
  padding-top: 16px;
  border-top: 1px solid #dedbd7;
  color: #666666;
}

/* ---------- Tables (parts + labor) ---------- */
.report-redstone .table-wrap-redstone { width: 100%; overflow-x: auto; }
.report-redstone .table-labor-redstone { margin-bottom: 0; }
.report-redstone .table-wrap-redstone:has(.table-labor-redstone) { margin-bottom: 18px; }
.report-redstone .table-redstone {
  width: 100%;
  min-width: 580px;
  margin: 0;
  border-collapse: collapse;
  border: 1px solid #d6d3cf;
  background: transparent;
}
.report-redstone .table-redstone th,
.report-redstone .table-redstone td {
  padding: 10px 12px;
  text-align: left;
  vertical-align: middle;
  border: 1px solid #d6d3cf;
}
.report-redstone .table-redstone th {
  padding: 13px 12px;
  font-size: 15px;
  font-weight: 700;
  line-height: 18px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #444444;
  background: #f4f3f1;
}
.report-redstone .table-redstone .wpcf7-form-control-wrap { display: block; }

/* inputs inside tables are smaller */
.report-redstone .table-redstone input.input-redstone,
.report-redstone .table-redstone select.select-redstone {
  height: 36px;
  padding: 0 10px;
}
.report-redstone .table-redstone select.select-redstone { padding-right: 28px; }

/* parts table: grey cells, white inputs */
.report-redstone .table-parts-redstone td { background: #f4f3f1; }
.report-redstone .table-parts-redstone input.input-redstone,
.report-redstone .table-parts-redstone select.select-redstone { background-color: #ffffff; }
.report-redstone .table-parts-redstone input[type="number"] {
  text-align: center;
  -moz-appearance: textfield;
}
.report-redstone .table-parts-redstone input[type="number"]::-webkit-outer-spin-button,
.report-redstone .table-parts-redstone input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.report-redstone .c-desc-redstone { width: 40%; }
.report-redstone .c-num-redstone { width: 24%; }
.report-redstone .c-qty-redstone { width: 10%; }
.report-redstone .c-status-redstone { width: 26%; }
/* labor table: white cells, grey inputs */
.report-redstone .table-labor-redstone td { background: #ffffff; }
.report-redstone .l-tech-redstone { width: 25%; }
.report-redstone .l-date-redstone { width: 22%; }
.report-redstone .l-hours-redstone { width: 13%; }
.report-redstone .l-type-redstone { width: 22%; }
.report-redstone .l-bill-redstone { width: 18%; }


/* ---------- Submit aligned to the right ---------- */
.report-redstone .submit-wrap-redstone.end-redstone { justify-content: flex-end; margin-top: 4px; }

@media (max-width: 560px) {
  .report-redstone .submit-wrap-redstone.end-redstone { justify-content: stretch; }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-05d6e0d *//* =====================================================
   Redstone SERVICE REPORT form - extra styles
   Load AFTER form-redstone.css (it re-uses the base styles)
   Root: <div class="form-redstone report-redstone">
   ===================================================== */

/* ---------- Textareas a bit shorter than form 1 ---------- */
.report-redstone .textarea-redstone { height: 76px; }

/* ---------- Intro text ---------- */
.report-redstone .intro-narrow-redstone { max-width: 520px; }

/* ---------- Service ticket box ---------- */
.report-redstone .ticket-redstone { position: relative; }
.report-redstone .ticket-box-redstone {
  display: flex;
  align-items: center;
  height: 56px;
  padding: 0 138px 0 13px;
  font-family: "DM Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--muted-redstone);
  background-color: var(--field-bg-redstone);
  border: 1px solid var(--border-redstone);
  border-radius: 8px;
}
.report-redstone .pill-redstone {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  padding: 5px 11px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #2f7d4f;
  background: #dff0e3;
  border-radius: 999px;
}

/* ---------- Eyebrow labels (UNIT 1, PARTS FOR THIS UNIT) ---------- */
.report-redstone .eyebrow-redstone {
  font-size: 13px;
  font-weight: 700;
  line-height: 18px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #444444;
}

/* ---------- Unit card ---------- */
.report-redstone .unit-redstone {
  margin: 0 0 14px;
  padding: 14px 12px 14px;
  background: #f4f3f1;
  border: 1px solid var(--border-redstone);
  border-radius: 8px;
}
.report-redstone .unit-head-redstone {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.report-redstone .unit-redstone .input-redstone,
.report-redstone .unit-redstone .select-redstone {
  background-color: #faf9f8;
}
.report-redstone .unit-redstone .input-redstone:focus,
.report-redstone .unit-redstone .select-redstone:focus { background-color: #fff; }

.report-redstone .parts-title-redstone {
  margin: 4px 0 12px;
  padding-top: 16px;
  border-top: 1px solid #dedbd7;
  color: #666666;
}

/* ---------- Tables (parts + labor) ---------- */
.report-redstone .table-wrap-redstone { width: 100%; overflow-x: auto; }
.report-redstone .table-labor-redstone { margin-bottom: 0; }
.report-redstone .table-wrap-redstone:has(.table-labor-redstone) { margin-bottom: 18px; }
.report-redstone .table-redstone {
  width: 100%;
  min-width: 580px;
  margin: 0;
  border-collapse: collapse;
  border: 1px solid #d6d3cf;
  background: transparent;
}
.report-redstone .table-redstone th,
.report-redstone .table-redstone td {
  padding: 10px 12px;
  text-align: left;
  vertical-align: middle;
  border: 1px solid #d6d3cf;
}
.report-redstone .table-redstone th {
  padding: 13px 12px;
  font-size: 15px;
  font-weight: 700;
  line-height: 18px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #444444;
  background: #f4f3f1;
}
.report-redstone .table-redstone .wpcf7-form-control-wrap { display: block; }

/* inputs inside tables are smaller */
.report-redstone .table-redstone input.input-redstone,
.report-redstone .table-redstone select.select-redstone {
  height: 36px;
  padding: 0 10px;
}
.report-redstone .table-redstone select.select-redstone { padding-right: 28px; }

/* parts table: grey cells, white inputs */
.report-redstone .table-parts-redstone td { background: #f4f3f1; }
.report-redstone .table-parts-redstone input.input-redstone,
.report-redstone .table-parts-redstone select.select-redstone { background-color: #ffffff; }
.report-redstone .table-parts-redstone input[type="number"] {
  text-align: center;
  -moz-appearance: textfield;
}
.report-redstone .table-parts-redstone input[type="number"]::-webkit-outer-spin-button,
.report-redstone .table-parts-redstone input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.report-redstone .c-desc-redstone { width: 40%; }
.report-redstone .c-num-redstone { width: 24%; }
.report-redstone .c-qty-redstone { width: 10%; }
.report-redstone .c-status-redstone { width: 26%; }
/* labor table: white cells, grey inputs */
.report-redstone .table-labor-redstone td { background: #ffffff; }
.report-redstone .l-tech-redstone { width: 25%; }
.report-redstone .l-date-redstone { width: 22%; }
.report-redstone .l-hours-redstone { width: 13%; }
.report-redstone .l-type-redstone { width: 22%; }
.report-redstone .l-bill-redstone { width: 18%; }


/* ---------- Submit aligned to the right ---------- */
.report-redstone .submit-wrap-redstone.end-redstone { justify-content: flex-end; margin-top: 4px; }

@media (max-width: 560px) {
  .report-redstone .submit-wrap-redstone.end-redstone { justify-content: stretch; }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-05d6e0d *//* =====================================================
   Redstone SERVICE REPORT form - extra styles
   Load AFTER form-redstone.css (it re-uses the base styles)
   Root: <div class="form-redstone report-redstone">
   ===================================================== */

/* ---------- Textareas a bit shorter than form 1 ---------- */
.report-redstone .textarea-redstone { height: 76px; }

/* ---------- Intro text ---------- */
.report-redstone .intro-narrow-redstone { max-width: 520px; }

/* ---------- Service ticket box ---------- */
.report-redstone .ticket-redstone { position: relative; }
.report-redstone .ticket-box-redstone {
  display: flex;
  align-items: center;
  height: 56px;
  padding: 0 138px 0 13px;
  font-family: "DM Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--muted-redstone);
  background-color: var(--field-bg-redstone);
  border: 1px solid var(--border-redstone);
  border-radius: 8px;
}
.report-redstone .pill-redstone {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  padding: 5px 11px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #2f7d4f;
  background: #dff0e3;
  border-radius: 999px;
}

/* ---------- Eyebrow labels (UNIT 1, PARTS FOR THIS UNIT) ---------- */
.report-redstone .eyebrow-redstone {
  font-size: 13px;
  font-weight: 700;
  line-height: 18px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #444444;
}

/* ---------- Unit card ---------- */
.report-redstone .unit-redstone {
  margin: 0 0 14px;
  padding: 14px 12px 14px;
  background: #f4f3f1;
  border: 1px solid var(--border-redstone);
  border-radius: 8px;
}
.report-redstone .unit-head-redstone {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.report-redstone .unit-redstone .input-redstone,
.report-redstone .unit-redstone .select-redstone {
  background-color: #faf9f8;
}
.report-redstone .unit-redstone .input-redstone:focus,
.report-redstone .unit-redstone .select-redstone:focus { background-color: #fff; }

.report-redstone .parts-title-redstone {
  margin: 4px 0 12px;
  padding-top: 16px;
  border-top: 1px solid #dedbd7;
  color: #666666;
}

/* ---------- Tables (parts + labor) ---------- */
.report-redstone .table-wrap-redstone { width: 100%; overflow-x: auto; }
.report-redstone .table-labor-redstone { margin-bottom: 0; }
.report-redstone .table-wrap-redstone:has(.table-labor-redstone) { margin-bottom: 18px; }
.report-redstone .table-redstone {
  width: 100%;
  min-width: 580px;
  margin: 0;
  border-collapse: collapse;
  border: 1px solid #d6d3cf;
  background: transparent;
}
.report-redstone .table-redstone th,
.report-redstone .table-redstone td {
  padding: 10px 12px;
  text-align: left;
  vertical-align: middle;
  border: 1px solid #d6d3cf;
}
.report-redstone .table-redstone th {
  padding: 13px 12px;
  font-size: 15px;
  font-weight: 700;
  line-height: 18px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #444444;
  background: #f4f3f1;
}
.report-redstone .table-redstone .wpcf7-form-control-wrap { display: block; }

/* inputs inside tables are smaller */
.report-redstone .table-redstone input.input-redstone,
.report-redstone .table-redstone select.select-redstone {
  height: 36px;
  padding: 0 10px;
}
.report-redstone .table-redstone select.select-redstone { padding-right: 28px; }

/* parts table: grey cells, white inputs */
.report-redstone .table-parts-redstone td { background: #f4f3f1; }
.report-redstone .table-parts-redstone input.input-redstone,
.report-redstone .table-parts-redstone select.select-redstone { background-color: #ffffff; }
.report-redstone .table-parts-redstone input[type="number"] {
  text-align: center;
  -moz-appearance: textfield;
}
.report-redstone .table-parts-redstone input[type="number"]::-webkit-outer-spin-button,
.report-redstone .table-parts-redstone input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.report-redstone .c-desc-redstone { width: 40%; }
.report-redstone .c-num-redstone { width: 24%; }
.report-redstone .c-qty-redstone { width: 10%; }
.report-redstone .c-status-redstone { width: 26%; }
/* labor table: white cells, grey inputs */
.report-redstone .table-labor-redstone td { background: #ffffff; }
.report-redstone .l-tech-redstone { width: 25%; }
.report-redstone .l-date-redstone { width: 22%; }
.report-redstone .l-hours-redstone { width: 13%; }
.report-redstone .l-type-redstone { width: 22%; }
.report-redstone .l-bill-redstone { width: 18%; }


/* ---------- Submit aligned to the right ---------- */
.report-redstone .submit-wrap-redstone.end-redstone { justify-content: flex-end; margin-top: 4px; }

@media (max-width: 560px) {
  .report-redstone .submit-wrap-redstone.end-redstone { justify-content: stretch; }
}/* End custom CSS */
/* Start custom CSS */.tabcont {
    display: flex !important;
    flex-direction: column;
    align-items: baseline;
}
.tabcont strong {
    font-family: "Century Old Style", Sans-serif;
    font-size: 22px;
}
.tabcont span {
    font-family: "DM Sans", Sans-serif;
}


/* =====================================================
   Redstone warranty form (Contact Form 7)
   All classes use the -redstone suffix
   ===================================================== */
input.wpcf7-form-control.wpcf7-file.file-redstone {
    border-radius: unset !important;
}
.form-redstone {
  --card-redstone: #ffffff;
  --field-bg-redstone: #f4f3f1;
  --border-redstone: #e2e0dc;
  --text-redstone: #222222;
  --muted-redstone: #777777;
  --red-redstone: #b01e23;
  --notice-redstone: #fbe4e4;

  width: 100%;
  max-width: 1015px;
  margin: 0 auto;
  font-family: "DM Sans", Sans-serif;
  font-size: 16px;
  line-height: 1.4;
  color: var(--text-redstone);
}
.form-redstone *,
.form-redstone *::before,
.form-redstone *::after { box-sizing: border-box; }

/* Safety net: CF7 autop output (<br>, <p>) can never affect layout */
.form-redstone br { display: none !important; }
.form-redstone p { margin: 0; padding: 0; }
.form-redstone p:empty { display: none; }

/* ---------- Section cards ---------- */
.section-redstone {
  min-width: 0;
  margin: 0 0 36px;
  padding: 20px 21px 10px;
  background: var(--card-redstone);
  border: 1px solid var(--border-redstone);
  border-radius: 12px;
}
.legend-redstone {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0 0 0 4px;
  padding: 0 6px;
  background: transparent;
  line-height: 1.2;
}
.step-redstone {
  font-size: 12px;
  font-weight: 700;
  color: var(--red-redstone);
}
.title-redstone {
  font-family: "Century Old Style", Sans-serif;
  font-size: 27px;
  font-weight: 700;
  color: var(--text-redstone);
}

/* ---------- Grid (3 equal columns, 20px gap, top aligned) ---------- */
.grid-redstone {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 19px;
  align-items: start;
  margin-bottom: 18px;
}

/* ---------- Field wrapper, label, hint ---------- */
.field-redstone { min-width: 0; margin-bottom: 18px; }
.grid-redstone > .field-redstone { margin-bottom: 0; }

.label-redstone {
  display: block;
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 700;
  line-height: 17px;
  color: var(--text-redstone);
}
.label-redstone.has-hint-redstone { margin-bottom: 4px; }
.req-redstone { color: var(--red-redstone); font-weight: 700; }

.hint-redstone {
  display: block;
  margin: 0 0 5px;
  font-size: 15px;
  line-height: 20px;
  color: var(--muted-redstone);
}
.intro-redstone {
  margin: 0 0 18px;
  padding-top: 4px;
  font-size: 17px;
  line-height: 24px;
  color: var(--muted-redstone);
}

/* ---------- Inputs / selects / textarea ---------- */
.form-redstone .wpcf7-form-control-wrap { display: block; }

.input-redstone,
.select-redstone,
.textarea-redstone {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0 13px;
  font: inherit;
  font-size: 16px;
  color: var(--text-redstone);
  background-color: var(--field-bg-redstone);
  border: 1px solid var(--border-redstone);
  border-radius: 8px;
  outline: 0;
  transition: border-color .15s, background-color .15s;
}
.input-redstone { height: 44px; }
.select-redstone {
  height: 46px;
  padding-right: 34px;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%23222' stroke-width='1.8'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
}
.textarea-redstone {
  height: 115px;
  padding: 11px 13px;
  line-height: 16px;
  resize: vertical;
}
.input-redstone:focus,
.select-redstone:focus,
.textarea-redstone:focus {
  background-color: #fff;
  border-color: var(--red-redstone);
}

/* ---------- Radios & checkboxes ---------- */
.form-redstone input[type="radio"],
.form-redstone input[type="checkbox"] {
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  margin: 0;
  accent-color: var(--red-redstone);
}
.form-redstone .wpcf7-list-item { display: inline-block; margin: 0; }
.form-redstone .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  font-size: 19px;
  line-height: 18px;
  cursor: pointer;
}

/* radio rows (inline) */
.radio-redstone {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin-top: 8px;
}

/* issue checklist: 3 columns, row-major order */
.checks-wrap-redstone { margin-bottom: 20px; }
.checks-wrap-redstone .check-redstone {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 19px;
}
.checks-wrap-redstone .wpcf7-list-item { display: block; }
.checks-wrap-redstone .wpcf7-list-item label { align-items: flex-start; gap: 12px; }
.checks-wrap-redstone input[type="checkbox"] { margin-top: 2px; width: 14px; height: 14px; }

/* ---------- Notice box ---------- */
.notice-redstone {
  margin: 0 0 18px;
  padding: 12px 15px;
  font-size: 17px;
  line-height: 27px;
  color: #333;
  background: var(--notice-redstone);
  border-radius: 8px;
}

/* ---------- Upload dropzone ---------- */
.dropzone-redstone {
  margin-bottom: 18px;
  padding: 22px 16px 20px;
  text-align: center;
  border: 2px dashed #d0cecb;
  border-radius: 8px;
}
.drop-title-redstone {
  display: block;
  margin-bottom: 4px;
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
  color: #555;
}
.drop-text-redstone {
  display: block;
  margin-bottom: 10px;
  font-size: 17px;
  line-height: 24px;
  color: var(--muted-redstone);
}
.file-redstone {
  font-size: 17px;
  color: var(--muted-redstone);
}
.file-redstone::file-body.elementor-page-2000-button {
  margin-right: 6px;
  padding: 5px 9px;
  font: inherit;
  font-size: 17px;
  color: #000;
  background: #efefef;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
}

/* ---------- Consent ---------- */
.consent-redstone { margin: 20px 0 0; }
.consent-redstone .wpcf7-list-item label {
  align-items: flex-start;
  gap: 8px;
  font-size: 18px;
  line-height: 16px;
}
.consent-redstone input[type="checkbox"] { margin-top: 1px; width: 15px; height: 15px; }

/* ---------- Submit ---------- */
.submit-wrap-redstone {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: -10px 0 0;
}
.btn-redstone {
  min-width: 180px;
  height: 48px;
  padding: 0 34px;
  font: inherit;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background: var(--red-redstone);
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color .15s;
}
.btn-redstone:hover { background: #8f171b; }

/* ---------- CF7 messages ---------- */
.form-redstone .wpcf7-not-valid { border-color: var(--red-redstone); }
.form-redstone .wpcf7-not-valid-tip { margin-top: 4px; font-size: 13px; color: var(--red-redstone); }
.form-redstone .wpcf7-response-output { margin: 16px 0 0; padding: 12px 14px; border-radius: 8px; }
.form-redstone .wpcf7-spinner { margin: 0 0 0 12px; }

/* ---------- Responsive ---------- */
@media (max-width: 860px) {
  .grid-redstone { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 18px; }
  .checks-wrap-redstone .check-redstone { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .grid-redstone { grid-template-columns: 1fr; }
  .checks-wrap-redstone .check-redstone { grid-template-columns: 1fr; }
  .title-redstone { font-size: 23px; }
  .btn-redstone { width: 100%; }
  .submit-wrap-redstone { flex-direction: column; align-items: stretch; }
  .note-redstone { text-align: center; }
}

/* ---------- Reply note above submit ---------- */
.note-redstone {
  margin: 0;
  font-size: 15px;
  line-height: 20px;
  color: var(--muted-redstone);
}

/* ---------- No outline anywhere ---------- */
.form-redstone *,
.form-redstone *:focus,
.form-redstone *:focus-visible,
.form-redstone *:active { outline: none !important; }

/* ---------- All spans 16px (step number + section title excluded) ---------- */
.form-redstone span:not(.step-redstone):not(.title-redstone) { font-size: 16px; }

/* ---------- Theme override guard: light border + 8px radius on every field ---------- */
.form-redstone input.input-redstone,
.form-redstone select.select-redstone,
.form-redstone textarea.textarea-redstone {
  border: 1px solid var(--border-redstone) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  outline: none !important;
}
.form-redstone input.input-redstone:focus,
.form-redstone select.select-redstone:focus,
.form-redstone textarea.textarea-redstone:focus {
  border-color: var(--red-redstone) !important;
}
.form-redstone input.file-redstone { border: 0 !important; border-radius: 8px !important; box-shadow: none !important; }
.form-redstone .btn-redstone,
.form-redstone input.btn-redstone { border: 0 !important; border-radius: 8px !important; box-shadow: none !important; }

/* ---------- Font family everywhere in the form ---------- */
.form-redstone,
.form-redstone input,
.form-redstone select,
.form-redstone textarea,
.form-redstone button,
.form-redstone label,
.form-redstone legend,
.form-redstone span,
.form-redstone .file-redstone::file-body.elementor-page-2000-button {
  font-family: "DM Sans", Sans-serif;
}

/* ---------- Legend (section titles) font ---------- */
.form-redstone legend.legend-redstone,
.form-redstone legend.legend-redstone span {
  font-family: "Century Old Style", Sans-serif;
}

/* ---------- Everything except the legend: 15px ---------- */
.form-redstone,
.form-redstone input,
.form-redstone select,
.form-redstone textarea,
.form-redstone button,
.form-redstone label,
.form-redstone .wpcf7-list-item label,
.form-redstone .wpcf7-list-item-label,
.form-redstone .hint-redstone,
.form-redstone .intro-redstone,
.form-redstone .notice-redstone,
.form-redstone .drop-title-redstone,
.form-redstone .drop-text-redstone,
.form-redstone .file-redstone,
.form-redstone .file-redstone::file-body.elementor-page-2000-button,
.form-redstone .note-redstone,
.form-redstone .consent-redstone .wpcf7-list-item label,
.form-redstone .wpcf7-not-valid-tip,
.form-redstone .wpcf7-response-output,
.form-redstone span:not(.step-redstone):not(.title-redstone) {
  font-size: 15px !important;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Century Old Style';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://redstonewindowsanddoors.com/wp-content/uploads/2026/09/CenturyOldStyleStd-Bold.ttf') format('truetype');
}
/* End Custom Fonts CSS */