/*
Theme Name: Facem Curatenie Child
Theme URI: https://www.facem-curatenie.ro/
Description: Tema copil Divi pentru reorganizarea și corectarea site-ului Facem Curatenie.
Author: Facem Curatenie
Template: Divi
Requires at least: 6.0
Requires PHP: 7.4
Version: 1.0.46
Text Domain: facem-curatenie-child
*/

:root {
  --fc-blue: #0c71c3;
  --fc-blue-dark: #075a9d;
  --fc-accent: #f5b51b;
  --fc-button-bg: #e09900;
  --fc-button-bg-hover: #c88900;
  --fc-button-color: #fff;
  --fc-button-radius: 0;
  --fc-ink: #1f2937;
  --fc-muted: #5f6b7a;
  --fc-line: #dce3ea;
  --fc-soft: #f6f8fb;
  --fc-radius: 14px;
  --fc-shadow: 0 12px 34px rgba(24, 49, 83, 0.09);
}

/* Keep Divi icon fonts on the current site origin. The child stylesheet loads
   after the parent stylesheet and uses paths relative to the installed themes. */
@font-face {
  font-family: "ETmodules";
  font-display: block;
  font-style: normal;
  font-weight: 400;
  src: url("../Divi/core/admin/fonts/modules/all/modules.eot");
  src: url("../Divi/core/admin/fonts/modules/all/modules.eot?#iefix") format("embedded-opentype"),
       url("../Divi/core/admin/fonts/modules/all/modules.woff") format("woff"),
       url("../Divi/core/admin/fonts/modules/all/modules.ttf") format("truetype"),
       url("../Divi/core/admin/fonts/modules/all/modules.svg#ETmodules") format("svg");
}

/* Keep Font Awesome files on the current site origin to avoid stale absolute
   URLs in generated Divi CSS after a migration or cache rebuild. */
@font-face {
  font-family: "FontAwesome";
  font-display: block;
  font-style: normal;
  font-weight: 900;
  src: url("../Divi/core/admin/fonts/fontawesome/fa-solid-900.eot");
  src: url("../Divi/core/admin/fonts/fontawesome/fa-solid-900.eot?#iefix") format("embedded-opentype"),
       url("../Divi/core/admin/fonts/fontawesome/fa-solid-900.woff2") format("woff2"),
       url("../Divi/core/admin/fonts/fontawesome/fa-solid-900.woff") format("woff"),
       url("../Divi/core/admin/fonts/fontawesome/fa-solid-900.ttf") format("truetype"),
       url("../Divi/core/admin/fonts/fontawesome/fa-solid-900.svg#fontawesome") format("svg");
}

@font-face {
  font-family: "FontAwesome";
  font-display: block;
  font-style: normal;
  font-weight: 400;
  src: url("../Divi/core/admin/fonts/fontawesome/fa-regular-400.eot");
  src: url("../Divi/core/admin/fonts/fontawesome/fa-regular-400.eot?#iefix") format("embedded-opentype"),
       url("../Divi/core/admin/fonts/fontawesome/fa-regular-400.woff2") format("woff2"),
       url("../Divi/core/admin/fonts/fontawesome/fa-regular-400.woff") format("woff"),
       url("../Divi/core/admin/fonts/fontawesome/fa-regular-400.ttf") format("truetype"),
       url("../Divi/core/admin/fonts/fontawesome/fa-regular-400.svg#fontawesome") format("svg");
}

.fc-redesign-home {
  color: var(--fc-ink);
}

/* About page: keep the original content while bringing its legacy shortcode
   CTA into the same visual system as the site's primary buttons. */
body.fc-about-page .entry-content .small-button.smallorange {
  background: var(--fc-button-bg) !important;
  border: 0 !important;
  border-radius: var(--fc-button-radius) !important;
  box-shadow: none !important;
  color: var(--fc-button-color) !important;
  display: inline-block;
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
  padding: 6px 20px !important;
  text-shadow: none !important;
}

body.fc-about-page .entry-content .small-button.smallorange:hover,
body.fc-about-page .entry-content .small-button.smallorange:focus {
  background: var(--fc-button-bg-hover) !important;
  color: var(--fc-button-color) !important;
}

body.fc-about-page .fc-about-careers-card {
  align-items: center;
  background: var(--fc-soft);
  border: 1px solid var(--fc-line);
  border-left: 5px solid var(--fc-blue);
  border-radius: var(--fc-radius);
  box-shadow: var(--fc-shadow);
  box-sizing: border-box;
  display: flex;
  gap: 30px;
  justify-content: space-between;
  margin: 42px 0 12px;
  padding: 30px 32px;
}

body.fc-about-page .fc-about-careers-copy {
  flex: 1 1 auto;
}

body.fc-about-page .fc-about-careers-kicker {
  color: var(--fc-blue);
  display: block;
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4;
  margin-bottom: 7px;
}

body.fc-about-page .fc-about-careers-card h2 {
  color: var(--fc-ink);
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif;
  font-size: 27px;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 9px;
  padding: 0;
}

body.fc-about-page .fc-about-careers-card p {
  color: var(--fc-muted);
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  margin: 0;
  padding: 0;
}

body.fc-about-page .fc-about-careers-button {
  background: var(--fc-button-bg);
  border: 0;
  border-radius: var(--fc-button-radius);
  color: var(--fc-button-color) !important;
  display: inline-flex;
  flex: 0 0 auto;
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif;
  font-size: 18px;
  font-weight: 600;
  justify-content: center;
  line-height: 1.4;
  min-width: 145px;
  padding: 13px 25px;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

body.fc-about-page .fc-about-careers-button:hover,
body.fc-about-page .fc-about-careers-button:focus {
  background: var(--fc-button-bg-hover);
  color: var(--fc-button-color) !important;
  transform: translateY(-1px);
}

@media (max-width: 767px) {
  body.fc-about-page .fc-about-careers-card {
    align-items: flex-start;
    flex-direction: column;
    gap: 22px;
    padding: 25px 22px;
  }

  body.fc-about-page .fc-about-careers-card h2 {
    font-size: 24px;
  }

  body.fc-about-page .fc-about-careers-button {
    width: 100%;
  }
}

/* Sector 1–6 pages: reuse the homepage card language for the existing
   service and benefit grids without changing their copy or destinations. */
.fc-sector-card-row {
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 26px !important;
}

.fc-sector-card-row .fc-sector-card.et_pb_column {
  background: #fff !important;
  border-color: var(--fc-line) !important;
  border-radius: var(--fc-radius) !important;
  border-style: solid !important;
  border-width: 1px !important;
  box-shadow: var(--fc-shadow) !important;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 24px !important;
}

.fc-sector-card-row .fc-sector-service-card .et_pb_image {
  border-radius: 10px;
  margin-bottom: 18px !important;
  overflow: hidden;
}

.fc-sector-card-row .fc-sector-service-card .et_pb_image_wrap,
.fc-sector-card-row .fc-sector-service-card .et_pb_image_wrap img {
  display: block;
  width: 100%;
}

.fc-sector-card-row .fc-sector-service-card .et_pb_image_wrap img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.fc-sector-card-row .fc-sector-service-card .et_pb_text {
  flex: 1 1 auto;
}

.fc-sector-card-row .fc-sector-card h3,
.fc-sector-card-row .fc-sector-card h3 * {
  color: var(--fc-blue-dark) !important;
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif;
  font-size: 21px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

.fc-sector-card-row .fc-sector-card p,
.fc-sector-card-row .fc-sector-card li {
  color: var(--fc-ink) !important;
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

.fc-sector-card-row .fc-sector-service-card .et_pb_button_module_wrapper {
  margin-top: auto !important;
  padding-top: 18px;
  text-align: center;
}

.fc-sector-card-row .fc-sector-service-card .et_pb_button {
  background: var(--fc-button-bg) !important;
  border: 0 !important;
  border-radius: var(--fc-button-radius) !important;
  color: var(--fc-button-color) !important;
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  padding: 10px 20px !important;
}

.fc-sector-card-row .fc-sector-service-card .et_pb_button:hover,
.fc-sector-card-row .fc-sector-service-card .et_pb_button:focus {
  background: var(--fc-button-bg-hover) !important;
  color: var(--fc-button-color) !important;
}

.fc-sector-card-row .fc-sector-benefit-card {
  justify-content: flex-start;
  min-height: 280px;
}

.fc-sector-card-row .fc-sector-benefit-card .et_pb_icon {
  margin-bottom: 14px !important;
  text-align: center;
}

.fc-sector-card-row .fc-sector-benefit-card .et-pb-icon {
  color: var(--fc-ink) !important;
  font-size: 50px !important;
}

.fc-sector-card-row .fc-sector-benefit-card p:first-child strong {
  color: var(--fc-ink);
  display: block;
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif;
  font-size: 18px;
  line-height: 1.45;
  margin-bottom: 10px;
  text-align: center;
}

@media (max-width: 980px) {
  .fc-sector-card-row {
    display: block;
  }

  .fc-sector-card-row .fc-sector-card.et_pb_column {
    margin-bottom: 22px !important;
    min-height: 0;
  }
}

/* The optimized Divi critical CSS omits its desktop sidebar rules when this
   child theme is active. Restore the original layout only on About page. */
@media (min-width: 981px) {
  body.fc-about-page.et_right_sidebar #left-area {
    float: left;
    padding-right: 5.5%;
  }

  body.fc-about-page.et_right_sidebar #sidebar {
    box-sizing: border-box;
    float: left;
    padding-left: 30px;
    width: 20.875%;
  }

  body.fc-about-page.et_right_sidebar #main-content .container::before {
    right: 20.875% !important;
  }
}

.fc-redesign-home .et_pb_section_0 {
  background-color: var(--fc-blue) !important;
}

.fc-redesign-home .et_pb_section_0 h1,
.fc-redesign-home .et_pb_section_0 p {
  color: #fff !important;
}

body.et-tb-has-footer #footer-bottom .et-social-icons {
  display: none !important;
}

.fc-section,
.fc-service-page-enhancement {
  padding-top: 72px;
  padding-bottom: 72px;
}

.fc-section-soft,
.fc-reasons,
.fc-how-it-works,
.fc-service-page-enhancement {
  background: var(--fc-soft) !important;
}

.fc-section-title h2,
.fc-section-title h3 {
  color: var(--fc-ink) !important;
  font-weight: 700;
  line-height: 1.2;
}

.fc-stats-strip {
  background: #fff;
  border: 1px solid var(--fc-line);
  border-radius: var(--fc-radius);
  box-shadow: var(--fc-shadow);
  margin-top: -34px;
  padding: 20px 26px !important;
  position: relative;
  z-index: 2;
}

.fc-stats-strip .percent-value,
.fc-stats-strip .percent-sign,
.fc-stats-strip .title {
  color: var(--fc-blue) !important;
}

.fc-stats-strip .title {
  font-size: 23px !important;
  line-height: 23px !important;
}

.fc-service-groups,
.fc-card-grid,
.fc-price-cards,
.fc-results-grid,
.fc-client-logos,
.fc-contact-panel,
.fc-about-panel {
  align-items: stretch;
}

.fc-service-groups .et_pb_column,
.fc-card-grid .et_pb_column,
.fc-price-cards .et_pb_column,
.fc-contact-panel .et_pb_column,
.fc-about-panel .et_pb_column,
.fc-footer-grid .et_pb_column {
  background: #fff;
  border: 1px solid var(--fc-line);
  border-radius: var(--fc-radius);
  box-shadow: var(--fc-shadow);
  padding: 28px !important;
}

/* Global Theme Builder footer: imported modules inherited dark body and
   heading colors, making several lines unreadable on the dark background. */
.et-l--footer .fc-footer-grid h1,
.et-l--footer .fc-footer-grid h2,
.et-l--footer .fc-footer-grid h3,
.et-l--footer .fc-footer-grid h4,
.et-l--footer .fc-footer-grid h5,
.et-l--footer .fc-footer-grid h6,
.et-l--footer .fc-footer-grid h1 *,
.et-l--footer .fc-footer-grid h2 *,
.et-l--footer .fc-footer-grid h3 *,
.et-l--footer .fc-footer-grid h4 *,
.et-l--footer .fc-footer-grid h5 *,
.et-l--footer .fc-footer-grid h6 * {
  color: #fff !important;
}

.et-l--footer .fc-footer-grid h3,
.et-l--footer .fc-footer-grid h3 * {
  font-weight: 700 !important;
}

.et-l--footer .fc-footer-grid p,
.et-l--footer .fc-footer-grid p *,
.et-l--footer .fc-footer-grid li,
.et-l--footer .fc-footer-grid li *,
.et-l--footer .fc-footer-grid span {
  color: #dbe5ee !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

.et-l--footer .fc-footer-grid a,
.et-l--footer .fc-footer-grid a * {
  color: #fff !important;
}

.et-l--footer .fc-footer-grid a:hover,
.et-l--footer .fc-footer-grid a:focus,
.et-l--footer .fc-footer-grid a:hover *,
.et-l--footer .fc-footer-grid a:focus * {
  color: #72c5ff !important;
}

.et-l--footer .fc-footer-grid .et_pb_image_wrap {
  background: #fff;
  border-radius: 8px;
  padding: 8px 12px;
}

.et-l--footer .fc-footer-grid .et_pb_code_inner > img {
  background: #fff;
  border-radius: 8px;
  padding: 8px 12px;
}

.et-l--footer .fc-footer-bottom,
.et-l--footer .fc-footer-bottom p,
.et-l--footer .fc-footer-bottom p *,
.et-l--footer .fc-footer-bottom span {
  color: #cbd5e1 !important;
}

.et-l--footer .fc-footer-bottom a,
.et-l--footer .fc-footer-bottom a * {
  color: #72c5ff !important;
}

.et-l--footer .fc-footer-bottom a:hover,
.et-l--footer .fc-footer-bottom a:focus {
  color: #fff !important;
}

.et-l--footer .fc-legal-pending {
  color: #cbd5e1 !important;
  opacity: 1 !important;
}

.fc-service-groups h3,
.fc-price-cards h3,
.fc-contact-panel h2,
.fc-contact-panel h3,
.fc-about-panel h2,
.fc-about-panel h3 {
  color: var(--fc-blue-dark);
}

.fc-service-list {
  list-style: none !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
}

.fc-service-list li {
  border-top: 1px solid var(--fc-line);
  margin: 0;
}

.fc-service-list a {
  color: var(--fc-ink);
  display: flex;
  font-weight: 600;
  justify-content: space-between;
  padding: 14px 2px;
  text-decoration: none;
}

.fc-service-list a::after {
  color: var(--fc-blue);
  content: "→";
}

.fc-service-list a:hover,
.fc-service-list a:focus {
  color: var(--fc-blue);
}

/* One restrained, solid-circle marker across the ten service pages. */
body.fc-service-page .entry-content .et_pb_text_inner ul {
  list-style: disc outside !important;
  margin-left: 0 !important;
  padding-left: 1.35em !important;
}

body.fc-service-page .entry-content .et_pb_text_inner ul > li {
  list-style: disc outside !important;
  padding-left: 0.2em;
}

body.fc-service-page .entry-content .et_pb_text_inner ul > li::marker {
  color: var(--fc-ink);
  font-size: 0.78em;
}

body.fc-service-page .entry-content .et_pb_text_inner ul > li::before {
  content: none !important;
  display: none !important;
}

body.fc-service-page .entry-content .fc-text-bullet {
  color: var(--fc-ink);
  display: inline-block;
  font-size: 0.62em;
  line-height: 1;
  margin-right: 0.62em;
  transform: translateY(-0.12em);
}

/* Service-page tariff cards use the same visual system as /preturi/. */
body.fc-service-page .fc-service-price-card-row,
body.fc-service-page .fc-service-outline-card-row {
  align-items: stretch;
  display: flex;
  margin-bottom: 24px;
}

body.fc-service-page .fc-service-price-card-row > .et_pb_column,
body.fc-service-page .fc-service-outline-card-row > .et_pb_column {
  display: flex;
  flex-direction: column;
}

body.fc-service-page .fc-service-price-card,
body.fc-service-page .fc-service-outline-card {
  background: #fff !important;
  border: 1px solid var(--fc-line) !important;
  border-radius: var(--fc-radius) !important;
  box-shadow: var(--fc-shadow) !important;
  flex: 1 1 auto;
  height: 100%;
  margin-bottom: 0 !important;
  padding: 26px !important;
  width: 100%;
}

body.fc-service-page .fc-service-price-card,
body.fc-service-page .fc-service-price-card p,
body.fc-service-page .fc-service-price-card p *,
body.fc-service-page .fc-service-price-card li,
body.fc-service-page .fc-service-price-card li *,
body.fc-service-page .fc-service-outline-card,
body.fc-service-page .fc-service-outline-card p,
body.fc-service-page .fc-service-outline-card p *,
body.fc-service-page .fc-service-outline-card li,
body.fc-service-page .fc-service-outline-card li * {
  color: var(--fc-ink) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
}

body.fc-service-page .fc-service-price-card h2,
body.fc-service-page .fc-service-price-card h2 *,
body.fc-service-page .fc-service-price-card h3,
body.fc-service-page .fc-service-price-card h3 *,
body.fc-service-page .fc-service-outline-card h2,
body.fc-service-page .fc-service-outline-card h2 *,
body.fc-service-page .fc-service-outline-card h3,
body.fc-service-page .fc-service-outline-card h3 * {
  color: var(--fc-ink) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.35;
  margin-bottom: 16px;
  text-align: left;
}

body.fc-service-page .fc-service-price-card ul,
body.fc-service-page .fc-service-outline-card ul {
  line-height: 1.7;
  margin: 0;
  padding-bottom: 0;
  padding-left: 1.35em !important;
  text-align: left;
}

body.fc-service-page .fc-service-price-card li,
body.fc-service-page .fc-service-outline-card li {
  margin-bottom: 7px;
}

.fc-how-it-works .et_pb_column,
.fc-steps .et_pb_column {
  background: #fff;
  border: 1px solid var(--fc-line);
  border-radius: var(--fc-radius);
  box-shadow: var(--fc-shadow);
  padding: 26px !important;
}

.fc-step-number {
  align-items: center;
  background: var(--fc-blue);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-size: 18px;
  font-weight: 700;
  height: 42px;
  justify-content: center;
  margin-bottom: 14px;
  width: 42px;
}

.fc-reasons,
.fc-reasons h2,
.fc-reasons h3,
.fc-reasons p,
.fc-reasons .et-pb-icon {
  color: var(--fc-ink) !important;
}

/* Keep the six benefit icons visually secondary to their headings. Divi's
   original 96px size overwhelms the cards at desktop widths. */
.fc-reasons .et-pb-icon {
  font-size: 64px !important;
  line-height: 1 !important;
}

/* Divi prints the original title color after the child stylesheet. Keep the
   reasons heading readable inside its white card. */
.et-l--post .fc-reasons .et_pb_text h2 {
  color: var(--fc-ink) !important;
}

.fc-reasons .et_pb_column {
  background: #fff;
  border: 1px solid var(--fc-line);
  border-radius: var(--fc-radius);
  box-shadow: var(--fc-shadow);
  padding: 26px !important;
}

/* The final reasons-row is only a CTA; it should sit directly on the section
   background instead of looking like an additional empty card. */
.fc-reasons > .et_pb_row:last-child > .et_pb_column {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0 !important;
}

/* The six reasons live in two Divi rows. A fluid minimum keeps every card the
   same height across both rows without forcing excess empty space on mobile. */
@media (min-width: 981px) {
  .fc-reasons .et_pb_column_1_3 {
    min-height: clamp(570px, calc(1469px - 70.2vw), 780px);
  }
}

.fc-price-cards .et_pb_column {
  text-align: center;
}

/* Pricing page: preserve every original Divi text module while arranging the
   long tariff list into compact, readable and consistently aligned groups. */
body.fc-prices-page .fc-prices-intro {
  padding-bottom: 24px !important;
  padding-top: 0 !important;
}

body.fc-prices-page .fc-prices-intro .et_pb_text {
  margin: 0 auto;
  max-width: 920px;
  text-align: center;
}

body.fc-prices-page .fc-prices-intro h1 {
  color: var(--fc-ink);
  font-size: 30px;
  font-weight: 400;
  line-height: 1;
  margin-bottom: 18px;
}

body.fc-prices-page .fc-prices-intro p {
  color: var(--fc-muted);
  font-size: 18px;
  line-height: 1.75;
}

body.fc-prices-page .fc-prices-content {
  background: var(--fc-soft) !important;
  padding-bottom: 76px;
  padding-top: 64px;
}

body.fc-prices-page .fc-prices-content .et_pb_row {
  max-width: 1080px;
}

body.fc-prices-page .fc-prices-category {
  background: var(--fc-blue);
  border: 1px solid rgba(7, 90, 157, 0.2);
  border-radius: 10px;
  box-shadow: 0 7px 20px rgba(24, 49, 83, 0.08);
  margin-bottom: 24px;
  margin-top: 46px;
  padding: 16px 72px !important;
  position: relative;
  text-align: center;
}

body.fc-prices-page .fc-prices-category[role="button"] {
  cursor: pointer;
  user-select: none;
}

body.fc-prices-page .fc-prices-toggle-icon {
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 50%;
  color: #fff;
  display: flex;
  font-size: 23px;
  font-weight: 400;
  height: 34px;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  visibility: visible !important;
  width: 34px;
  z-index: 2;
}

body.fc-prices-page .fc-prices-category[role="button"]:focus-visible {
  outline: 3px solid var(--fc-accent);
  outline-offset: 4px;
}

body.fc-prices-page .fc-prices-panel[hidden] {
  display: none !important;
}

body.fc-prices-page .fc-prices-category:first-of-type {
  margin-top: 24px;
}

body.fc-prices-page .fc-prices-category h2,
body.fc-prices-page .fc-prices-category h3,
body.fc-prices-page .fc-prices-category p {
  color: #fff !important;
}

body.fc-prices-page .fc-prices-category h2 {
  font-size: clamp(25px, 2.4vw, 31px);
  line-height: 1.25;
  margin-bottom: 5px;
  padding-bottom: 0;
  text-align: center;
}

body.fc-prices-page .fc-prices-category p {
  font-size: 16px;
  line-height: 1.5;
  margin: 0;
  text-align: center;
}

body.fc-prices-page .fc-prices-subheading {
  margin-bottom: 22px;
  padding: 12px 0 4px !important;
  text-align: center;
}

body.fc-prices-page .fc-prices-subheading h2 {
  color: var(--fc-blue-dark);
  font-size: clamp(23px, 2.2vw, 29px);
  font-weight: 700;
  line-height: 1.25;
  margin: 0;
  text-align: center;
}

body.fc-prices-page .fc-prices-card-row {
  align-items: stretch;
  display: flex;
  margin-bottom: 24px;
  padding: 0 !important;
}

body.fc-prices-page .fc-prices-card-row > .et_pb_column {
  display: flex;
  flex-direction: column;
}

body.fc-prices-page .fc-prices-card-row .et_pb_text.et_pb_bg_layout_dark {
  background: #fff !important;
  border: 1px solid var(--fc-line);
  border-radius: var(--fc-radius);
  box-shadow: var(--fc-shadow);
  height: 100%;
  margin-bottom: 0;
  padding: 26px !important;
  width: 100%;
}

body.fc-prices-page .fc-prices-card-row .et_pb_text h3,
body.fc-prices-page .fc-prices-card-row .et_pb_text h3 * {
  color: var(--fc-ink) !important;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
  margin-bottom: 16px;
  text-align: left;
}

body.fc-prices-page .fc-prices-card-row .et_pb_text p,
body.fc-prices-page .fc-prices-card-row .et_pb_text p *,
body.fc-prices-page .fc-prices-card-row .et_pb_text li,
body.fc-prices-page .fc-prices-card-row .et_pb_text li * {
  color: var(--fc-ink) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
}

body.fc-prices-page .fc-prices-card-row .et_pb_text ul {
  line-height: 1.7;
  margin-left: auto;
  margin-right: auto;
  max-width: 520px;
  padding-bottom: 0;
  padding-left: 20px;
  text-align: left;
}

body.fc-prices-page .fc-prices-card-row .et_pb_text li {
  margin-bottom: 7px;
}

body.fc-prices-page .fc-prices-card-row .et_pb_text.et_pb_bg_layout_light {
  background: #fff8e8;
  border: 0;
  border-left: 4px solid var(--fc-accent);
  border-radius: 8px;
  box-shadow: none;
  height: auto;
  margin-top: 14px;
  padding: 16px 18px !important;
}

/* Home-cleaning offers: use the same card system as the pricing page while
   preserving every original package, price and note. */
body.fc-home-service-page .fc-home-offer-heading-row {
  margin-bottom: 22px;
  padding: 12px 0 4px !important;
}

body.fc-home-service-page .fc-home-offer-heading-row h2 {
  color: var(--fc-blue-dark) !important;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.25;
  margin: 0;
  text-align: center;
}

body.fc-home-service-page .fc-home-offer-card-row {
  align-items: stretch;
  display: flex;
  margin-bottom: 24px;
  padding: 0 !important;
}

body.fc-home-service-page .fc-home-offer-card-row > .et_pb_column {
  display: flex;
  flex-direction: column;
}

body.fc-home-service-page .fc-home-offer-card-row .et_pb_text.et_pb_bg_layout_dark {
  background: #fff !important;
  border: 1px solid var(--fc-line);
  border-radius: var(--fc-radius);
  box-shadow: var(--fc-shadow);
  flex: 1 1 auto;
  margin-bottom: 0;
  padding: 26px !important;
  width: 100%;
}

body.fc-home-service-page .fc-home-offer-card-row .et_pb_text h3,
body.fc-home-service-page .fc-home-offer-card-row .et_pb_text h3 * {
  color: var(--fc-ink) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.35;
  margin-bottom: 16px;
  text-align: left;
}

body.fc-home-service-page .fc-home-offer-card-row .et_pb_text p,
body.fc-home-service-page .fc-home-offer-card-row .et_pb_text p *,
body.fc-home-service-page .fc-home-offer-card-row .et_pb_text li,
body.fc-home-service-page .fc-home-offer-card-row .et_pb_text li * {
  color: var(--fc-ink) !important;
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
}

body.fc-home-service-page .fc-home-offer-card-row .et_pb_text ul {
  line-height: 1.7;
  padding-bottom: 0;
  padding-left: 20px;
  text-align: left;
}

body.fc-home-service-page .fc-home-offer-card-row .et_pb_text li {
  margin-bottom: 7px;
}

body.fc-home-service-page .fc-home-offer-card-row .et_pb_text.et_pb_bg_layout_light {
  background: #fff8e8;
  border: 0;
  border-left: 4px solid var(--fc-accent);
  border-radius: 8px;
  box-shadow: none;
  flex: 0 0 auto;
  margin-top: 14px;
  padding: 16px 18px !important;
}

body.fc-prices-page .fc-prices-note-row {
  background: #fff8e8;
  border-left: 4px solid var(--fc-accent);
  border-radius: 10px;
  margin-bottom: 28px;
  padding: 20px 24px !important;
  text-align: center;
}

body.fc-prices-page .fc-prices-note-row .et_pb_text {
  margin-bottom: 18px;
}

body.fc-prices-page .fc-prices-action-row {
  padding-bottom: 18px !important;
  padding-top: 8px !important;
}

body.fc-prices-page .fc-prices-action-row .et_pb_button {
  background: var(--fc-button-bg) !important;
  border: 0 !important;
  border-radius: var(--fc-button-radius) !important;
  color: var(--fc-button-color) !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
  padding: 6px 20px !important;
  position: relative;
  transition: background-color 0.2s ease, padding 0.2s ease !important;
}

body.fc-prices-page .fc-prices-action-row .et_pb_button::after {
  color: var(--fc-button-color) !important;
  font-size: 28px !important;
  line-height: 1 !important;
  margin-left: 0 !important;
  position: absolute;
  right: 16px !important;
  top: 50%;
  transform: translateY(-50%);
}

body.fc-prices-page .fc-prices-action-row .et_pb_button:hover,
body.fc-prices-page .fc-prices-action-row .et_pb_button:focus {
  background: #48c78c !important;
  border-color: #48c78c !important;
  color: var(--fc-button-color) !important;
  padding: 6px 52px 6px 20px !important;
}

body.fc-prices-page .fc-prices-action-row .et_pb_button:hover::after,
body.fc-prices-page .fc-prices-action-row .et_pb_button:focus::after {
  margin-left: 0 !important;
  opacity: 1;
}

body.fc-prices-page .fc-prices-location {
  background: var(--fc-soft);
  border: 1px solid var(--fc-line);
  border-radius: var(--fc-radius);
  box-shadow: var(--fc-shadow);
  margin-top: 44px;
  padding: 30px !important;
}

body.fc-prices-page .fc-prices-location h2 {
  color: var(--fc-ink);
  font-weight: 700;
  text-align: center;
}

body.fc-prices-page .fc-prices-location iframe {
  border-radius: 10px;
  display: block;
}

/* The imported Divi modules still carry white body text from the former blue
   layout. Card backgrounds are now white, so keep the accommodation labels
   dark while preserving the gold price accent in the following paragraph. */
.fc-price-cards .et_pb_text_inner > p:first-child,
.fc-price-cards .et_pb_text_inner > p:first-child * {
  color: var(--fc-blue-dark) !important;
}

.fc-results-grid img,
.fc-client-logos img {
  border-radius: var(--fc-radius);
}

.fc-results-grid img {
  box-shadow: var(--fc-shadow);
}

.fc-client-logos .et_pb_image_wrap {
  align-items: center;
  background: #fff;
  border: 1px solid var(--fc-line);
  border-radius: 12px;
  display: flex;
  justify-content: center;
  min-height: 130px;
  padding: 20px;
}

/* The first imported logo row still has Divi's legacy entrance-animation
   classes. If the animation initializer stalls, loaded images can remain at
   opacity:0. Brand logos should be static and immediately visible. */
.fc-client-logos .et_pb_image.et-waypoint,
.fc-client-logos .et_pb_image.et-animated {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Office-cleaning hero: the imported Divi entrance animation could leave the
   image loaded but invisible. Keep this specific image static and visible. */
body.fc-office-page img[src*="Servicii-de-curatenie-birouri"] {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

body.fc-office-page .et_pb_image:has(img[src*="Servicii-de-curatenie-birouri"]) {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}

.fc-client-logos img {
  max-height: 76px;
  object-fit: contain;
  width: auto;
}

.fc-reviews {
  background: #fff;
  border: 1px solid var(--fc-line);
  border-radius: var(--fc-radius);
  box-shadow: var(--fc-shadow);
  padding: 28px !important;
}

.fc-reviews .ti-review-item:nth-child(n+4),
.fc-reviews [class*="review-item"]:nth-child(n+4) {
  display: none !important;
}

.fc-cta-row {
  align-items: center;
  background: linear-gradient(135deg, var(--fc-blue-dark), var(--fc-blue));
  border-radius: var(--fc-radius);
  box-shadow: var(--fc-shadow);
  padding: 26px !important;
}

.fc-cta-row h2,
.fc-cta-row h3,
.fc-cta-row p {
  color: #fff !important;
}

.fc-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

.fc-cta-actions a,
.fc-button {
  background: var(--fc-button-bg) !important;
  border: 0 !important;
  border-radius: var(--fc-button-radius) !important;
  color: var(--fc-button-color) !important;
  display: inline-block;
  font-weight: 500 !important;
  line-height: 1.7 !important;
  padding: 6px 20px !important;
  text-decoration: none !important;
}

.fc-cta-actions a:not(.fc-button-secondary):hover,
.fc-cta-actions a:not(.fc-button-secondary):focus,
.fc-button:hover,
.fc-button:focus {
  background: var(--fc-button-bg-hover) !important;
  color: var(--fc-button-color) !important;
}

.fc-cta-actions a.fc-button-secondary {
  background: transparent !important;
  border-color: #fff !important;
  border-style: solid !important;
  border-width: 2px !important;
  color: #fff !important;
  padding: 4px 18px !important;
}

@media (min-width: 981px) {
  /* Divi normally pushes the navigation to the bottom with padding-top.
     Use the full header height and center the complete menu group instead. */
  #main-header .container {
    height: 75px;
  }

  #et-top-navigation {
    align-items: center;
    display: flex !important;
    height: 75px;
    padding-top: 0 !important;
  }

  /* Keep the dropdown glyph on the same visual line as “Servicii”. */
  #top-menu > li.menu-item-has-children > a::after {
    line-height: 1 !important;
    /* Divi gives menu links 10px top / 15px bottom padding, so their text
       baseline sits slightly above the geometric center of the anchor. */
    top: calc(50% - 3px) !important;
    transform: translateY(-50%);
  }

  /* The header CTA has its own compact button geometry. It must not inherit
     the larger card CTA spacing above. */
  #top-menu > li.menu-cta {
    align-items: center;
    display: inline-flex !important;
    height: 42px;
    vertical-align: top;
  }

  #top-menu > li.menu-cta > a {
    align-items: center;
    background: #e09900 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #fff !important;
    display: inline-flex !important;
    font-weight: 700 !important;
    height: 40px;
    justify-content: center;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 20px !important;
  }

  #top-menu > li.menu-cta > a:hover,
  #top-menu > li.menu-cta > a:focus {
    background: #c88900 !important;
    color: #fff !important;
    opacity: 1 !important;
  }
}

.mega-menu-parent-3 > .sub-menu {
  border-radius: 0 0 var(--fc-radius) var(--fc-radius);
  box-shadow: var(--fc-shadow) !important;
}

.mega-menu-parent-3 > .sub-menu > li > a {
  color: var(--fc-blue-dark) !important;
  font-size: 15px !important;
}

.mobile_nav .select_page,
#et_mobile_nav_menu .select_page {
  display: none !important;
}

.fc-contact-details {
  list-style: none !important;
  margin: 18px 0 !important;
  padding: 0 !important;
}

.fc-contact-details li {
  border-bottom: 1px solid var(--fc-line);
  padding: 11px 0;
}

.fc-form-note {
  background: #eef6fd;
  border-left: 4px solid var(--fc-blue);
  margin-bottom: 18px;
  padding: 14px 16px;
}

.wpforms-container .wpforms-field {
  padding: 9px 0 !important;
}

.wpforms-container input,
.wpforms-container select,
.wpforms-container textarea {
  border: 1px solid #cfd8e3 !important;
  border-radius: 8px !important;
}

.wpforms-container button[type="submit"] {
  background: var(--fc-blue) !important;
  border: 0 !important;
  border-radius: 9px !important;
  color: #fff !important;
  font-weight: 700 !important;
  padding: 14px 22px !important;
}

/* Estimate form: visually align WPForms with the site's card and CTA
   system without changing the form fields, copy, links or behaviour. */
body.fc-estimate-page #main-content {
  background: var(--fc-soft);
}

body.fc-estimate-page .entry-content {
  padding: 58px 0 72px;
}

body.fc-estimate-page .entry-content > p:first-child {
  color: var(--fc-muted);
  font-size: 18px;
  line-height: 1.75;
  margin: 0 0 30px;
  max-width: none;
  text-align: left;
}

body.fc-estimate-page .wpforms-container {
  background: #fff !important;
  border: 1px solid var(--fc-line) !important;
  border-radius: var(--fc-radius) !important;
  box-shadow: var(--fc-shadow) !important;
  margin: 0 auto !important;
  max-width: 820px;
  padding: 30px 34px 34px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

body.fc-estimate-page .wpforms-container .wpforms-field {
  padding: 10px 0 !important;
}

body.fc-estimate-page .wpforms-container .wpforms-field-label,
body.fc-estimate-page .wpforms-container .wpforms-field-label-inline,
body.fc-estimate-page .wpforms-container .wpforms-field-sublabel,
body.fc-estimate-page .wpforms-container legend {
  color: var(--fc-ink) !important;
}

body.fc-estimate-page .wpforms-container .wpforms-field-label,
body.fc-estimate-page .wpforms-container legend {
  font-size: 16px !important;
  font-weight: 600 !important;
  margin-bottom: 7px !important;
}

body.fc-estimate-page .wpforms-container input[type="text"],
body.fc-estimate-page .wpforms-container input[type="email"],
body.fc-estimate-page .wpforms-container input[type="tel"],
body.fc-estimate-page .wpforms-container input[type="number"],
body.fc-estimate-page .wpforms-container select,
body.fc-estimate-page .wpforms-container textarea {
  background: #fff !important;
  border: 1px solid #cfd8e3 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  color: var(--fc-ink) !important;
  font-size: 16px !important;
  min-height: 48px;
  padding: 11px 13px !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.fc-estimate-page .wpforms-container textarea {
  min-height: 130px;
  resize: vertical;
}

body.fc-estimate-page .wpforms-container .wpforms-field-row,
body.fc-estimate-page .wpforms-container .wpforms-field-medium,
body.fc-estimate-page .wpforms-container input.wpforms-field-medium,
body.fc-estimate-page .wpforms-container select.wpforms-field-medium,
body.fc-estimate-page .wpforms-container textarea.wpforms-field-medium {
  max-width: none !important;
  width: 100% !important;
}

body.fc-estimate-page .wpforms-container .wpforms-field-container,
body.fc-estimate-page .wpforms-container .wpforms-field {
  box-sizing: border-box !important;
  width: 100% !important;
}

body.fc-estimate-page .wpforms-container .iti,
body.fc-estimate-page .wpforms-container .wpforms-field-phone .iti {
  width: 100% !important;
}

body.fc-estimate-page .wpforms-container .iti input[type="tel"],
body.fc-estimate-page .wpforms-container .wpforms-field-phone input[type="tel"] {
  padding-left: 58px !important;
}

body.fc-estimate-page .wpforms-container input:focus,
body.fc-estimate-page .wpforms-container select:focus,
body.fc-estimate-page .wpforms-container textarea:focus {
  border-color: var(--fc-blue) !important;
  box-shadow: 0 0 0 3px rgba(12, 113, 195, 0.14) !important;
  outline: 0 !important;
}

body.fc-estimate-page .wpforms-container input::placeholder,
body.fc-estimate-page .wpforms-container textarea::placeholder {
  color: #8793a3 !important;
  opacity: 1;
}

body.fc-estimate-page .wpforms-container .wpforms-field-checkbox {
  background: #f8fafc;
  border: 1px solid var(--fc-line);
  border-radius: 8px;
  margin-top: 10px;
  padding: 15px 16px !important;
}

body.fc-estimate-page .wpforms-container .wpforms-field-checkbox a {
  color: var(--fc-blue) !important;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.fc-estimate-page .wpforms-container .wpforms-submit-container {
  padding-top: 20px !important;
  text-align: center;
}

body.fc-estimate-page .wpforms-container button[type="submit"] {
  background: var(--fc-button-bg) !important;
  border: 0 !important;
  border-radius: var(--fc-button-radius) !important;
  box-shadow: none !important;
  color: var(--fc-button-color) !important;
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  min-height: 50px;
  padding: 12px 28px !important;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

body.fc-estimate-page .wpforms-container button[type="submit"]:hover,
body.fc-estimate-page .wpforms-container button[type="submit"]:focus {
  background: var(--fc-button-bg-hover) !important;
  color: var(--fc-button-color) !important;
  transform: translateY(-1px);
}

body.fc-estimate-page .wpforms-container .wpforms-error,
body.fc-estimate-page .wpforms-container label.wpforms-error {
  color: #b42318 !important;
}

@media (max-width: 767px) {
  body.fc-estimate-page .entry-content {
    padding: 38px 0 52px;
  }

  body.fc-estimate-page .entry-content > p:first-child {
    font-size: 16px;
    text-align: left;
  }

  body.fc-estimate-page .wpforms-container {
    padding: 22px 18px 26px !important;
  }

  body.fc-estimate-page .wpforms-container button[type="submit"] {
    width: 100%;
  }
}

/* Contact page: retain the original information hierarchy while using the
   same restrained card, field and CTA system as the Estimate form. */
body.fc-contact-page #main-content {
  background: #fff;
}

body.fc-contact-page .fc-contact-intro-section,
body.fc-contact-page .fc-contact-details-section,
body.fc-contact-page .fc-contact-form-section {
  padding: 56px 0 !important;
}

body.fc-contact-page .fc-contact-intro-section {
  border-bottom: 1px solid var(--fc-line);
}

body.fc-contact-page .fc-contact-intro-section .et_pb_row,
body.fc-contact-page .fc-contact-details-section .et_pb_row {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 960px !important;
  width: 90% !important;
}

body.fc-contact-page .fc-contact-intro,
body.fc-contact-page .fc-contact-section-heading {
  text-align: left !important;
}

body.fc-contact-page .fc-contact-intro h1 {
  color: var(--fc-ink);
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 16px;
}

body.fc-contact-page .fc-contact-intro p {
  color: var(--fc-muted);
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif;
  font-size: 17px;
  line-height: 1.7;
  margin: 0;
  max-width: 900px;
}

body.fc-contact-page .fc-contact-details-section {
  background: var(--fc-soft) !important;
}

body.fc-contact-page .fc-contact-section-heading,
body.fc-contact-page .fc-contact-form-heading {
  margin-bottom: 30px;
}

body.fc-contact-page .fc-contact-section-heading > span,
body.fc-contact-page .fc-contact-form-heading > span,
body.fc-contact-page .fc-contact-info-card__label {
  color: var(--fc-blue);
  display: block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4;
}

body.fc-contact-page .fc-contact-section-heading h2,
body.fc-contact-page .fc-contact-form-heading h2 {
  color: var(--fc-ink);
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  margin: 8px 0 10px;
}

body.fc-contact-page .fc-contact-section-heading p,
body.fc-contact-page .fc-contact-form-heading p {
  color: var(--fc-muted);
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  margin: 0;
}

body.fc-contact-page .fc-contact-info-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.fc-contact-page .fc-contact-info-card {
  background: #fff;
  border: 1px solid var(--fc-line);
  border-radius: var(--fc-radius);
  box-shadow: var(--fc-shadow);
  box-sizing: border-box;
  min-height: 190px;
  padding: 28px 26px;
  position: relative;
}

body.fc-contact-page .fc-contact-info-card::before {
  background: var(--fc-blue);
  border-radius: var(--fc-radius) var(--fc-radius) 0 0;
  content: "";
  height: 4px;
  left: -1px;
  position: absolute;
  right: -1px;
  top: -1px;
}

body.fc-contact-page .fc-contact-info-card h3 {
  color: var(--fc-ink);
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  margin: 12px 0 14px;
}

body.fc-contact-page .fc-contact-info-card p,
body.fc-contact-page .fc-contact-info-card a {
  color: var(--fc-muted);
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif;
  font-size: 16px;
  line-height: 1.75;
}

body.fc-contact-page .fc-contact-info-card a {
  text-decoration: none;
}

body.fc-contact-page .fc-contact-info-card a:hover,
body.fc-contact-page .fc-contact-info-card a:focus {
  color: var(--fc-blue);
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.fc-contact-page .fc-contact-form-section {
  background: #fff !important;
}

body.fc-contact-page .fc-contact-form-row {
  max-width: 760px !important;
  width: 90% !important;
}

body.fc-contact-page .fc-contact-form-card {
  background: #fff;
  border: 1px solid var(--fc-line);
  border-radius: var(--fc-radius);
  box-shadow: var(--fc-shadow);
  box-sizing: border-box;
  padding: 30px 32px 34px !important;
}

body.fc-contact-page .fc-contact-form-card .wpforms-container {
  --wpforms-field-size-input-height: 50px;
  --wpforms-field-size-font-size: 16px;
  --wpforms-field-size-line-height: 1.4;
  --wpforms-label-size-font-size: 16px;
  --wpforms-label-size-line-height: 1.4;
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

body.fc-contact-page .fc-contact-form-card .wpforms-container .wpforms-field {
  box-sizing: border-box !important;
  padding: 10px 0 !important;
  width: 100% !important;
}

body.fc-contact-page .fc-contact-form-card .wpforms-container .wpforms-field-label,
body.fc-contact-page .fc-contact-form-card .wpforms-container .wpforms-field-label-inline,
body.fc-contact-page .fc-contact-form-card .wpforms-container .wpforms-field-sublabel,
body.fc-contact-page .fc-contact-form-card .wpforms-container legend {
  color: var(--fc-ink) !important;
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif !important;
  text-shadow: none !important;
}

body.fc-contact-page .fc-contact-form-card .wpforms-container .wpforms-field-label,
body.fc-contact-page .fc-contact-form-card .wpforms-container legend {
  display: block !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  height: auto !important;
  letter-spacing: normal !important;
  line-height: 1.4 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  position: static !important;
  transform: none !important;
}

body.fc-contact-page .fc-contact-form-card .wpforms-container fieldset {
  border: 0 !important;
  margin: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
}

body.fc-contact-page .fc-contact-form-card .wpforms-container input[type="text"],
body.fc-contact-page .fc-contact-form-card .wpforms-container input[type="email"],
body.fc-contact-page .fc-contact-form-card .wpforms-container input[type="tel"],
body.fc-contact-page .fc-contact-form-card .wpforms-container input[type="number"],
body.fc-contact-page .fc-contact-form-card .wpforms-container select,
body.fc-contact-page .fc-contact-form-card .wpforms-container textarea {
  background: #fff !important;
  border: 1px solid #cfd8e3 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  color: var(--fc-ink) !important;
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  min-height: 48px;
  padding: 11px 13px !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.fc-contact-page .fc-contact-form-card .wpforms-container input[type="text"],
body.fc-contact-page .fc-contact-form-card .wpforms-container input[type="email"],
body.fc-contact-page .fc-contact-form-card .wpforms-container input[type="tel"],
body.fc-contact-page .fc-contact-form-card .wpforms-container input[type="number"] {
  height: 50px !important;
}

body.fc-contact-page .fc-contact-form-card .wpforms-container select {
  height: 50px !important;
  line-height: 1.3 !important;
  padding: 0 44px 0 14px !important;
  text-indent: 0 !important;
}

body.fc-contact-page .fc-contact-form-card .wpforms-container select option {
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif;
  font-size: 16px;
  line-height: 1.4;
}

body.fc-contact-page .fc-contact-form-card .wpforms-container textarea {
  height: 140px !important;
  line-height: 1.55 !important;
  min-height: 140px !important;
  overflow: auto !important;
  padding: 12px 14px !important;
  resize: vertical;
}

/* WPForms injects the anti-spam field's hiding rule with JavaScript. Keep it
   hidden immediately so its generated label cannot overlap another field. */
body.fc-contact-page .fc-contact-form-card .wpforms-container .wpforms-field-hp {
  display: block !important;
  height: 1px !important;
  left: -10000px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  top: auto !important;
  width: 1px !important;
  z-index: -1000 !important;
}

body.fc-contact-page .fc-contact-form-card .wpforms-container .wpforms-field-hp input,
body.fc-contact-page .fc-contact-form-card .wpforms-container .wpforms-field-hp label {
  visibility: hidden !important;
}

body.fc-contact-page .fc-contact-form-card .wpforms-container .wpforms-field-row,
body.fc-contact-page .fc-contact-form-card .wpforms-container .wpforms-field-medium,
body.fc-contact-page .fc-contact-form-card .wpforms-container input.wpforms-field-medium,
body.fc-contact-page .fc-contact-form-card .wpforms-container select.wpforms-field-medium,
body.fc-contact-page .fc-contact-form-card .wpforms-container textarea.wpforms-field-medium,
body.fc-contact-page .fc-contact-form-card .wpforms-container .wpforms-field-container {
  max-width: none !important;
  width: 100% !important;
}

body.fc-contact-page .fc-contact-form-card .wpforms-container .iti,
body.fc-contact-page .fc-contact-form-card .wpforms-container .wpforms-field-phone .iti {
  width: 100% !important;
}

body.fc-contact-page .fc-contact-form-card .wpforms-container .iti input[type="tel"],
body.fc-contact-page .fc-contact-form-card .wpforms-container .wpforms-field-phone input[type="tel"] {
  padding-left: 58px !important;
}

body.fc-contact-page .fc-contact-form-card .wpforms-container input:focus,
body.fc-contact-page .fc-contact-form-card .wpforms-container select:focus,
body.fc-contact-page .fc-contact-form-card .wpforms-container textarea:focus {
  border-color: var(--fc-blue) !important;
  box-shadow: 0 0 0 3px rgba(12, 113, 195, 0.14) !important;
  outline: 0 !important;
}

body.fc-contact-page .fc-contact-form-card .wpforms-container input::placeholder,
body.fc-contact-page .fc-contact-form-card .wpforms-container textarea::placeholder {
  color: #8793a3 !important;
  opacity: 1;
}

body.fc-contact-page .fc-contact-form-card .wpforms-container .wpforms-field-checkbox {
  background: #f8fafc;
  border: 1px solid var(--fc-line);
  border-radius: 8px;
  margin-top: 10px;
  padding: 15px 16px !important;
}

body.fc-contact-page .fc-contact-form-card .wpforms-container .wpforms-field-checkbox a {
  color: var(--fc-blue) !important;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.fc-contact-page .fc-contact-form-card .wpforms-container .wpforms-submit-container {
  padding-top: 20px !important;
  text-align: center;
}

body.fc-contact-page .fc-contact-form-card .wpforms-container button[type="submit"] {
  background: var(--fc-button-bg) !important;
  border: 0 !important;
  border-radius: var(--fc-button-radius) !important;
  box-shadow: none !important;
  color: var(--fc-button-color) !important;
  font-family: "Montserrat", Helvetica, Arial, Lucida, sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  min-height: 50px;
  padding: 12px 28px !important;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

body.fc-contact-page .fc-contact-form-card .wpforms-container button[type="submit"]:hover,
body.fc-contact-page .fc-contact-form-card .wpforms-container button[type="submit"]:focus {
  background: var(--fc-button-bg-hover) !important;
  color: var(--fc-button-color) !important;
  transform: translateY(-1px);
}

body.fc-contact-page .fc-contact-form-card .wpforms-container .wpforms-error,
body.fc-contact-page .fc-contact-form-card .wpforms-container label.wpforms-error {
  color: #b42318 !important;
}

/* The existing hero image on the block-stairs page used a Divi entrance
   animation and could remain hidden when the animation initializer stalled. */
body.fc-stairs-page .fc-stairs-hero-image,
body.fc-stairs-page .fc-stairs-hero-image .et_pb_image_wrap,
body.fc-stairs-page .fc-stairs-hero-image img {
  display: block !important;
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

body.fc-stairs-page .fc-stairs-hero-image img {
  height: auto;
  margin: 0 auto;
  max-width: 100%;
}

@media (max-width: 980px) {
  body.fc-contact-page .fc-contact-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  body.fc-contact-page .fc-contact-intro-section,
  body.fc-contact-page .fc-contact-details-section,
  body.fc-contact-page .fc-contact-form-section {
    padding: 44px 0 !important;
  }

  body.fc-contact-page .fc-contact-info-grid {
    grid-template-columns: 1fr;
  }

  body.fc-contact-page .fc-contact-intro h1 {
    font-size: 34px;
  }

  body.fc-contact-page .fc-contact-section-heading h2,
  body.fc-contact-page .fc-contact-form-heading h2 {
    font-size: 27px;
  }

  body.fc-contact-page .fc-contact-info-card {
    min-height: 0;
    padding: 25px 22px;
  }

  body.fc-contact-page .fc-contact-form-card {
    padding: 24px 18px 26px !important;
  }

  body.fc-contact-page .fc-contact-form-card .wpforms-container button[type="submit"] {
    width: 100%;
  }
}

.fc-footer-grid a {
  color: #fff;
}

.fc-footer-grid ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.fc-footer-grid li {
  margin-bottom: 9px;
}

.fc-footer-grid .et_pb_column {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.15);
  box-shadow: none;
}

/* Keep the four global footer cards aligned to the tallest card on desktop. */
@media (min-width: 981px) {
  .et-l--footer .fc-footer-grid {
    align-items: stretch;
    display: flex;
  }

  .et-l--footer .fc-footer-grid > .et_pb_column {
    float: none;
  }
}

.fc-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  font-size: 13px;
  padding-top: 18px;
}

.fc-blog-cta {
  background: var(--fc-soft);
  border: 1px solid var(--fc-line);
  border-radius: var(--fc-radius);
  margin: 42px 0 18px;
  padding: 26px;
}

.fc-blog-cta h2 {
  color: var(--fc-blue-dark);
  font-size: 25px;
  margin-bottom: 8px;
}

.fc-legal-pending {
  opacity: 0.75;
}

@media (max-width: 980px) {
  .fc-section,
  .fc-service-page-enhancement {
    padding-top: 54px;
    padding-bottom: 54px;
  }

  .fc-stats-strip {
    margin-top: -20px;
  }

  #mobile_menu > li.menu-cta > a {
    background: #e09900 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #fff !important;
    margin-top: 8px;
    text-align: center;
  }

  .fc-service-groups .et_pb_column,
  .fc-card-grid .et_pb_column,
  .fc-price-cards .et_pb_column,
  .fc-how-it-works .et_pb_column,
  .fc-steps .et_pb_column,
  .fc-footer-grid .et_pb_column {
    margin-bottom: 20px !important;
  }

  body.fc-prices-page .fc-prices-card-row {
    display: block;
    margin-bottom: 0;
  }

  body.fc-prices-page .fc-prices-card-row > .et_pb_column {
    display: block;
  }

  body.fc-prices-page .fc-prices-card-row .et_pb_text.et_pb_bg_layout_dark {
    height: auto;
    margin-bottom: 20px;
  }

  body.fc-home-service-page .fc-home-offer-card-row {
    display: block;
    margin-bottom: 0;
  }

  body.fc-home-service-page .fc-home-offer-card-row > .et_pb_column {
    display: block;
  }

  body.fc-home-service-page .fc-home-offer-card-row .et_pb_text.et_pb_bg_layout_dark {
    margin-bottom: 20px;
  }

  body.fc-service-page .fc-service-price-card-row,
  body.fc-service-page .fc-service-outline-card-row {
    display: block;
    margin-bottom: 0;
  }

  body.fc-service-page .fc-service-price-card-row > .et_pb_column,
  body.fc-service-page .fc-service-outline-card-row > .et_pb_column {
    display: block;
  }

  body.fc-service-page .fc-service-price-card,
  body.fc-service-page .fc-service-outline-card {
    height: auto;
    margin-bottom: 20px !important;
  }
}

@media (max-width: 767px) {
  body.fc-prices-page .fc-prices-content {
    padding-bottom: 52px;
    padding-top: 42px;
  }

  body.fc-prices-page .fc-prices-category {
    margin-top: 34px;
    padding: 16px 58px !important;
  }

  body.fc-prices-page .fc-prices-toggle-icon {
    height: 30px;
    right: 16px;
    width: 30px;
  }

  body.fc-prices-page .fc-prices-card-row .et_pb_text.et_pb_bg_layout_dark,
  body.fc-home-service-page .fc-home-offer-card-row .et_pb_text.et_pb_bg_layout_dark,
  body.fc-service-page .fc-service-price-card,
  body.fc-service-page .fc-service-outline-card,
  body.fc-prices-page .fc-prices-location {
    padding: 22px !important;
  }

  .fc-reasons .et-pb-icon {
    font-size: 56px !important;
  }

  .fc-cta-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .fc-cta-actions a {
    text-align: center;
  }

  .fc-stats-strip {
    padding: 14px !important;
  }
}

@media print {
  body.fc-prices-page .fc-prices-panel[hidden] {
    display: block !important;
  }
}
