/*
 * Fidar responsive repair 2.5.22.194
 * Narrow/tablet/laptop-only corrections based on the supplied live-page captures.
 * The original large-monitor design (1920px and wider) is deliberately untouched.
 */

/* ------------------------------------------------------------
   FOOTER: preserve the three-column desktop composition without
   fixed pixel tracks that overflow or push the About column off-canvas.
   Scoped to the actual footer widget/container used by this site.
------------------------------------------------------------ */
@media (max-width: 1919px) {
  body .elementor-element-552c507:has(.elementor-widget-fidar-footer),
  body .elementor-element-552c507:has(.elementor-widget-fidar-footer) > .elementor-widget-fidar-footer,
  body .elementor-element-552c507 .elementor-widget-fidar-footer,
  body .elementor-element-552c507 .elementor-widget-fidar-footer > .elementor-widget-container,
  body .elementor-element-552c507 .fidar-footer--ai,
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__inner {
    box-sizing: border-box !important;
    inline-size: 100% !important;
    min-inline-size: 0 !important;
    max-inline-size: 100% !important;
    block-size: auto !important;
    min-block-size: 0 !important;
    max-block-size: none !important;
    overflow: visible !important;
    float: none !important;
    clear: both !important;
  }

  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__inner {
    width: calc(100% - clamp(32px, 6vw, 80px)) !important;
    margin-inline: auto !important;
    padding: clamp(42px, 5vw, 68px) 0 clamp(38px, 4vw, 58px) !important;
    transform: none !important;
  }

  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__ai-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.55fr) minmax(0, .78fr) minmax(0, 1fr) !important;
    grid-template-areas: none !important;
    gap: clamp(14px, 2vw, 28px) !important;
    align-items: start !important;
    justify-content: stretch !important;
    inline-size: 100% !important;
    min-inline-size: 0 !important;
    min-block-size: 0 !important;
    direction: rtl !important;
    transform: none !important;
  }

  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__form-column,
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__contact-column,
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__about-column {
    position: relative !important;
    inset: auto !important;
    float: none !important;
    box-sizing: border-box !important;
    inline-size: auto !important;
    min-inline-size: 0 !important;
    max-inline-size: 100% !important;
    block-size: auto !important;
    min-block-size: 0 !important;
    max-block-size: none !important;
    margin: 0 !important;
    transform: none !important;
  }

  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__form,
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__embedded-form,
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__embedded-form form,
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__embedded-form .wpcf7-form,
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__embedded-form .wpforms-form {
    box-sizing: border-box !important;
    inline-size: 100% !important;
    min-inline-size: 0 !important;
    max-inline-size: 100% !important;
    margin: 0 !important;
    transform: none !important;
  }

  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__form-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    inline-size: 100% !important;
    min-inline-size: 0 !important;
    block-size: auto !important;
    margin: 0 !important;
  }

  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__form-row > input,
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__form > textarea,
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__embedded-form input:not([type="hidden"]):not([type="submit"]),
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__embedded-form textarea,
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__embedded-form select {
    box-sizing: border-box !important;
    inline-size: 100% !important;
    min-inline-size: 0 !important;
    max-inline-size: 100% !important;
    max-block-size: none !important;
  }

  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__about-column {
    padding-inline: clamp(12px, 2vw, 30px) 0 !important;
    overflow-wrap: anywhere !important;
  }

  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__about-column::before {
    inset-block: 8px 4px !important;
    inset-inline-start: 0 !important;
    inset-inline-end: auto !important;
    inline-size: 1px !important;
    block-size: auto !important;
  }

  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__about-text,
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__contact-copy,
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__contact-copy * {
    max-inline-size: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    transform: none !important;
  }
}

/* Tablet / compact laptop: two-column footer, About spans a full row. */
@media (min-width: 768px) and (max-width: 1100px) {
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__ai-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr) !important;
    grid-template-areas: "form contact" "about about" !important;
    row-gap: 34px !important;
  }
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__form-column { grid-area: form !important; }
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__contact-column { grid-area: contact !important; }
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__about-column {
    grid-area: about !important;
    padding: 28px 0 0 !important;
    border-top: 1px solid rgba(190,199,206,.48) !important;
  }
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__about-column::before { display: none !important; }
}

/* Phones: true single-column flow; no fixed heights or absolutely positioned submit. */
@media (max-width: 767px) {
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__inner {
    width: calc(100% - 32px) !important;
    padding: 34px 0 40px !important;
  }
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__ai-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
  }
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__form-column,
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__contact-column,
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__about-column {
    order: initial !important;
    inline-size: 100% !important;
    max-inline-size: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    transform: none !important;
  }
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__form {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    height: auto !important;
    min-height: 0 !important;
  }
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__form-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__form button[type="submit"] {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    align-self: flex-start !important;
    inline-size: max-content !important;
    min-inline-size: 0 !important;
    max-inline-size: 100% !important;
    block-size: auto !important;
    min-block-size: 44px !important;
    margin: 0 !important;
    white-space: normal !important;
  }
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__about-column::before { display: none !important; }
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__about-text { text-align: right !important; }
}

@media (max-width: 380px) {
  body .elementor-element-552c507 .fidar-footer--ai .fidar-footer__form-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* ------------------------------------------------------------
   SERVICE WORKFLOW — responsive layout correction.
   The original 1440px artwork is intentionally untouched at >=1440px.
   At compact desktop widths, split the available width into two real
   columns and keep all four steps inside their own left-hand track.
------------------------------------------------------------ */
@media (min-width: 1024px) and (max-width: 1439px) {
  .elementor-widget-fidar-service-workflow .fidar-service-workflow-editable {
    position: relative !important;
    height: auto !important;
    min-height: 370px !important;
    padding: 22px 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  .elementor-widget-fidar-service-workflow .fidar-service-workflow__inner {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 330px !important;
    direction: ltr !important;
    box-sizing: border-box !important;
  }

  /* Right-hand copy: normal document flow, so paragraphs can grow. */
  .elementor-widget-fidar-service-workflow .fidar-service-workflow__intro {
    position: relative !important;
    inset: auto 3.2% auto auto !important;
    width: 33.8% !important;
    height: auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    direction: rtl !important;
    box-sizing: border-box !important;
  }

  .elementor-widget-fidar-service-workflow .fidar-service-workflow__heading,
  .elementor-widget-fidar-service-workflow .fidar-service-workflow__subtitle,
  .elementor-widget-fidar-service-workflow .fidar-service-workflow__description,
  .elementor-widget-fidar-service-workflow .fidar-service-workflow__button {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    transform: none !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }

  .elementor-widget-fidar-service-workflow .fidar-service-workflow__heading {
    font-size: clamp(23px, 2.15vw, 31px) !important;
    line-height: 1.35 !important;
  }
  .elementor-widget-fidar-service-workflow .fidar-service-workflow__subtitle:empty {
    display: none !important;
  }
  .elementor-widget-fidar-service-workflow .fidar-service-workflow__subtitle {
    font-size: clamp(19px, 1.9vw, 27px) !important;
    line-height: 1.35 !important;
  }
  .elementor-widget-fidar-service-workflow .fidar-service-workflow__description {
    font-size: clamp(15px, 1.42vw, 20px) !important;
    font-weight: 300 !important;
    line-height: 1.75 !important;
    text-align: right !important;
    overflow-wrap: anywhere !important;
  }
  .elementor-widget-fidar-service-workflow .fidar-service-workflow__description p {
    margin: 0 0 9px !important;
  }
  .elementor-widget-fidar-service-workflow .fidar-service-workflow__button {
    display: inline-flex !important;
    align-self: flex-start !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 12px 22px !important;
    font-size: clamp(15px, 1.35vw, 19px) !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    margin-top: 4px !important;
  }

  /* Left-hand steps: a four-column grid constrained to its own 62% track. */
  .elementor-widget-fidar-service-workflow .fidar-service-workflow__steps {
    position: absolute !important;
    top: 0 !important;
    right: auto !important;
    bottom: auto !important;
    left: 0 !important;
    width: 62% !important;
    height: 100% !important;
    min-height: 300px !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: 0 !important;
    padding: 48px 0 12px !important;
    direction: ltr !important;
    box-sizing: border-box !important;
  }

  .elementor-widget-fidar-service-workflow .fidar-service-workflow__step,
  .elementor-widget-fidar-service-workflow .fidar-service-workflow__step:nth-child(n) {
    position: relative !important;
    inset: auto !important;
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  .elementor-widget-fidar-service-workflow .fidar-service-workflow__glow {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    flex: 0 0 auto !important;
    width: clamp(86px, 9.2vw, 132px) !important;
    height: clamp(86px, 9.2vw, 132px) !important;
    max-width: 100% !important;
    background-size: contain !important;
  }
  .elementor-widget-fidar-service-workflow .fidar-service-workflow__step-image {
    inset: 20% !important;
    width: 60% !important;
    height: 60% !important;
  }
  .elementor-widget-fidar-service-workflow .fidar-service-workflow__number {
    top: 10% !important;
    left: 10% !important;
    font-size: clamp(20px, 2.1vw, 30px) !important;
  }
  .elementor-widget-fidar-service-workflow .fidar-service-workflow__step-title,
  .elementor-widget-fidar-service-workflow .fidar-service-workflow__step:nth-child(n) .fidar-service-workflow__step-title {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    font-size: clamp(13px, 1.35vw, 19px) !important;
    line-height: 1.45 !important;
    text-align: center !important;
    overflow-wrap: anywhere !important;
  }
  .elementor-widget-fidar-service-workflow .fidar-service-workflow__step:not(:last-child)::after {
    top: clamp(43px, 4.6vw, 66px) !important;
    left: calc(50% + clamp(43px, 4.6vw, 66px)) !important;
    width: calc(100% - clamp(86px, 9.2vw, 132px)) !important;
    max-width: none !important;
  }
  .elementor-widget-fidar-service-workflow .fidar-service-workflow__number-mobile {
    display: none !important;
  }
}


/* ------------------------------------------------------------
   HOMEPAGE PORTFOLIO WIDGET ONLY
   Restored from responsive repair 2.5.22.194.
   All other responsive fixes remain from 2.5.22.197.
------------------------------------------------------------ */
@media (max-width: 1439px) {
  .elementor-widget-fidar-portfolio {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .elementor-widget-fidar-portfolio .fidar-portfolio__layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) !important;
    gap: clamp(14px, 2vw, 28px) !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }
  .elementor-widget-fidar-portfolio .fidar-portfolio__preview,
  .elementor-widget-fidar-portfolio .fidar-portfolio__side,
  .elementor-widget-fidar-portfolio .fidar-portfolio__grid {
    position: relative !important;
    inset: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
  }
  .elementor-widget-fidar-portfolio .fidar-portfolio__preview {
    min-height: clamp(280px, 34vw, 460px) !important;
  }
  .elementor-widget-fidar-portfolio .fidar-portfolio__preview-link {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: inherit !important;
  }
  .elementor-widget-fidar-portfolio .fidar-portfolio__preview-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: inherit !important;
    object-fit: cover !important;
  }
  .elementor-widget-fidar-portfolio .fidar-portfolio__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(125px, auto) !important;
    gap: clamp(10px, 1.5vw, 18px) !important;
    align-content: start !important;
  }
  .elementor-widget-fidar-portfolio .fidar-portfolio__card {
    min-width: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 125px !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
  }
  .elementor-widget-fidar-portfolio .fidar-portfolio__image {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: clamp(90px, 10vw, 145px) !important;
    object-fit: cover !important;
  }
}

@media (min-width: 768px) and (max-width: 1100px) {
  .elementor-widget-fidar-portfolio .fidar-portfolio__layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, .9fr) !important;
  }
  .elementor-widget-fidar-portfolio .fidar-portfolio__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 768px) and (max-width: 900px) {
  .elementor-widget-fidar-portfolio .fidar-portfolio__layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .elementor-widget-fidar-portfolio .fidar-portfolio__preview {
    min-height: 300px !important;
  }
}

@media (max-width: 767px) {
  .elementor-widget-fidar-portfolio .fidar-portfolio__layout {
    display: flex !important;
    flex-direction: column !important;
  }
  .elementor-widget-fidar-portfolio .fidar-portfolio__preview {
    min-height: 220px !important;
  }
  .elementor-widget-fidar-portfolio .fidar-portfolio__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
