/**
 * Flex CTA Shortcode Frontend Styles
 * Version: 1.1.12
 * 
 * Provides base styling for all three CTA variants.
 * Optimized for performance and minimal CSS footprint.
 * Responsive design with mobile-first approach.
 * 
 * @package Flex_CTA_Shortcode
 * @author Consultwebs
 * @since 1.0.0
 */

/* Base Styles */
.flex-cta {
  background-color: #FEFEFE;
  color: #000000;
  font-size: 18px;
  line-height: 27px;
  padding: 36px 30px;
  border-radius: 6px;
  position: relative;
  overflow: hidden;
  max-width: 790px;
  width: 100%;
  margin: 0 auto;
  margin-bottom: 30px;
}

.flex-cta .wrapper {
  position: relative;
}

.flex-cta a {
  white-space: nowrap;
}

.flex-cta a, 
.flex-cta a:hover {
  color: #000000;
  font-weight: 700;
  text-decoration: underline;
}

.flex-cta a[href^="tel:"] {
  text-decoration: none;
  white-space: nowrap;
}

/* Variant 1 */
.flex-cta-1 .wrapper {
  margin: 0 auto;
}

.flex-cta-1 .flex-cta__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 18px;
}

.flex-cta-1 span:first-child {
  position: relative;
  padding-left: 70px;
  max-width: 320px;
}

.flex-cta-1 span:first-child::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 54px;
  height: 54px;
  background-image: url('../images/icon-phone.svg');
  background-position: center;
  background-size: auto;
  background-repeat: no-repeat;
}

.flex-cta-1 a {
  font-family: Oswald;
  font-size: 36px;
  line-height: 32px;
}

.flex-cta.flex-cta-1 a:not([href^="tel:"]) {
  font-size: inherit;
}

/* Variant 2 */
.flex-cta-2 .wrapper {
  max-width: 495px;
  margin: 0 auto;
}

.flex-cta-2 .flex-cta__inner, 
.flex-cta-3 .flex-cta__inner {
  text-align: center;
  position: relative;
}

/* Variant 3 */
.flex-cta-3 .flex-cta__inner {
  max-width: fit-content;
  margin: 0 auto;
  padding-right: 55px;
}

.flex-cta-3 .flex-cta__inner::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 36px;
  height: 39px;
  background-image: url('../images/icon-link-arrow.svg');
  background-position: center;
  background-size: auto;
  background-repeat: no-repeat;
}

/* Responsive Styles */
@media (max-width: 1439px) and (min-width: 1200px) {
  .flex-cta-1 {
    font-size: 16px;
    line-height: 24px;
    padding: 30px 25px;
  }

  /* .flex-cta-1 span:first-child {
    max-width: 260px;
    padding-left: 60px;
  } */

  .flex-cta-1 a {
    font-size: 30px;
  }

  .flex-cta-1 .flex-cta__inner {
    gap: 15px;
  }
}

/* @media (max-width: 1199px) and (min-width: 992px), (max-width: 767px) { */
@media (max-width: 1399px) {
  .flex-cta-1 {
    max-width: 520px;
    text-align: center;
  }

  .flex-cta-1 span:first-child {
    padding-left: 0;
    padding-top: 70px;
  }

  .flex-cta-1 span:first-child::before {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }

  .flex-cta-1 .flex-cta__inner {
    flex-direction: column;
  }
}

@media (max-width: 500px) {
  .flex-cta a {
    white-space: normal;
  }

  .flex-cta-2 {
    padding: 35px;
  }

  .flex-cta-3 .flex-cta__inner {
    text-align: left;
    padding-right: 65px;
  }
}
