/**
 * Main Content Styles for Sher Agency Child Theme
 * 
 * @package SherAgency_Child
 * @version 1.0.0
 */

/* ======================================
   LAYOUT & STRUCTURE
   ====================================== */
.site-main {
    min-height: 50vh;
    padding: var(--space-8) 0;
}

.content-area {
    width: 100%;
}

.page-header {
    text-align: center;
    margin-bottom: var(--space-12);
    padding: 150px 0 var(--space-16) 0;
    background: #314F3F;
    color: #FFFBEA;
    position: relative;
    border-bottom: 3px solid #E2A422;
}

.page-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('/wp-content/uploads/2025/12/bg-overlay-4.jpg') no-repeat center center;
    background-size: cover;
    opacity: 0.3;
    z-index: 0;
}

.page-title {
    font-family: "Poiret One", sans-serif;
    font-size: 96px;
    font-style: normal;
    font-weight: 400;
    line-height: 110%;
    color: #FFFBEA;
    margin-bottom: var(--space-4);
    position: relative;
    z-index: 1;
}

.entry-title {
    font-family: "Poiret One", sans-serif;
    font-size: 96px;
    font-style: normal;
    font-weight: 400;
    line-height: 110%;
    color: #FFFBEA;
}

.page-description {
    font-size: var(--text-lg);
    opacity: 0.9;
    max-width: 600px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

/* ======================================
   CONTENT SECTIONS
   ====================================== */
.content-section {
    margin-bottom: var(--space-16);
}

.section-header {
    text-align: center;
    margin-bottom: var(--space-12);
}

.section-title {
    font-size: var(--text-4xl);
    font-weight: 600;
    margin-bottom: var(--space-4);
    position: relative;
    display: inline-block;
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: -var(--space-2);
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
    border-radius: var(--radius-full);
}

.section-subtitle {
    font-size: var(--text-lg);
    color: var(--gray-600);
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.7;
}

/* ======================================
   CARDS & PANELS
   ====================================== */
.card {
    background-color: var(--white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    overflow: hidden;
    transition: all var(--transition-normal);
    border: 1px solid var(--gray-200);
}

.card:hover {
    box-shadow: var(--shadow-xl);
    transform: translateY(-5px);
}

.card-header {
    padding: var(--space-6);
    border-bottom: 1px solid var(--gray-200);
    background-color: var(--gray-50);
}

.card-title {
    font-size: var(--text-xl);
    font-weight: 600;
    margin: 0;
    color: var(--gray-900);
}

.card-body {
    padding: var(--space-6);
}

.card-footer {
    padding: var(--space-4) var(--space-6);
    border-top: 1px solid var(--gray-200);
    background-color: var(--gray-50);
}

.card-image {
    width: 100%;
    height: 200px;
    object-fit: cover;
    transition: transform var(--transition-slow);
}

.card:hover .card-image {
    transform: scale(1.05);
}

/* ======================================
   GRID LAYOUTS
   ====================================== */
.grid-2 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--space-8);
}

.grid-3 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--space-6);
}

.grid-4 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-6);
}

/* ======================================
   HERO SECTIONS
   ====================================== */
.hero-section {
    padding: var(--space-20) 0;
    background: linear-gradient(135deg, var(--primary-color), var(--primary-dark));
    color: var(--white);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="white" stroke-width="0.5" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)" /></svg>');
}

.hero-content {
    position: relative;
    z-index: 1;
    max-width: 800px;
    margin: 0 auto;
}

.hero-title {
    font-size: var(--text-6xl);
    font-weight: 700;
    margin-bottom: var(--space-6);
    line-height: 1.1;
}

.hero-subtitle {
    font-size: var(--text-xl);
    margin-bottom: var(--space-8);
    opacity: 0.9;
    line-height: 1.6;
}

.hero-buttons {
    display: flex;
    gap: var(--space-4);
    justify-content: center;
    flex-wrap: wrap;
}

/* ======================================
   FEATURE SECTIONS
   ====================================== */
.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--space-8);
    margin-top: var(--space-12);
}

.feature-item {
    text-align: center;
    padding: var(--space-8);
    border-radius: var(--radius-lg);
    transition: all var(--transition-normal);
    border: 1px solid var(--gray-200);
}

.feature-item:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-5px);
    border-color: var(--primary-color);
}

.feature-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto var(--space-4);
    background: linear-gradient(135deg, var(--primary-color), var(--primary-light));
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-size: var(--text-3xl);
}

.feature-title {
    font-size: var(--text-xl);
    font-weight: 600;
    margin-bottom: var(--space-3);
    color: var(--gray-900);
}

.feature-description {
    color: var(--gray-600);
    line-height: 1.6;
}

/* ======================================
   TESTIMONIALS
   ====================================== */
.testimonials-section {
    background-color: var(--gray-50);
    padding: var(--space-16) 0;
}

.testimonial-item {
    background-color: var(--white);
    padding: var(--space-8);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    text-align: center;
    position: relative;
}

.testimonial-item::before {
    content: '"';
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 60px;
    color: var(--primary-color);
    font-family: serif;
    line-height: 1;
}

.testimonial-content {
    font-size: var(--text-lg);
    line-height: 1.7;
    margin-bottom: var(--space-6);
    color: var(--gray-700);
    font-style: italic;
}

.testimonial-author {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-4);
}

.testimonial-avatar {
    width: 60px;
    height: 60px;
    border-radius: var(--radius-full);
    object-fit: cover;
    border: 3px solid var(--primary-color);
}

.testimonial-info h4 {
    margin: 0;
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--gray-900);
}

.testimonial-info p {
    margin: 0;
    font-size: var(--text-sm);
    color: var(--gray-600);
}

.testimonial-slider .swiper-slide {
    height: auto;
    display: flex;
}

.testimonial-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 400px; /* Adjust this value based on your content */
}

.testimonial-text {
    flex: 1;
    display: flex;
    align-items: center;
	flex-wrap:Wrap;
}

.testimonial-footer {
    margin-top: auto;
}

/* ======================================
   CALL TO ACTION
   ====================================== */
.cta-section {
    background: linear-gradient(135deg, var(--secondary-color), var(--secondary-dark));
    color: var(--white);
    padding: var(--space-16) 0;
    text-align: center;
    position: relative;
}

.cta-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none"><path d="M1200,0H0V120L1200,20Z" fill="white" fill-opacity="0.1"/></svg>') no-repeat top center;
    background-size: cover;
}

.cta-content {
    position: relative;
    z-index: 1;
    max-width: 700px;
    margin: 0 auto;
}

.cta-title {
    font-size: var(--text-4xl);
    font-weight: 600;
    margin-bottom: var(--space-4);
}

.cta-subtitle {
    font-size: var(--text-lg);
    margin-bottom: var(--space-8);
    opacity: 0.9;
}

/* ======================================
   STATS SECTION
   ====================================== */
.stats-section {
    padding: var(--space-16) 0;
    background-color: var(--white);
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-8);
}

.stat-item {
    text-align: center;
    padding: var(--space-6);
}

.stat-number {
    font-size: var(--text-5xl);
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: var(--space-2);
    display: block;
}

.stat-label {
    font-size: var(--text-lg);
    color: var(--gray-700);
    font-weight: 500;
}

/* ======================================
   TEAM SECTION
   ====================================== */
.team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--space-8);
}

.team-member {
    text-align: center;
    background-color: var(--white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    transition: all var(--transition-normal);
}

.team-member:hover {
    box-shadow: var(--shadow-xl);
    transform: translateY(-5px);
}

.team-member-image {
    position: relative;
    overflow: hidden;
}

.team-member-image img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    transition: transform var(--transition-slow);
}

.team-member:hover .team-member-image img {
    transform: scale(1.1);
}

.team-member-info {
    padding: var(--space-6);
}

.team-member-name {
    font-size: var(--text-xl);
    font-weight: 600;
    margin-bottom: var(--space-2);
    color: var(--gray-900);
}

.team-member-position {
    color: var(--primary-color);
    font-weight: 500;
    margin-bottom: var(--space-3);
}

.team-member-bio {
    color: var(--gray-600);
    line-height: 1.6;
    margin-bottom: var(--space-4);
}

.team-member-social {
    display: flex;
    justify-content: center;
    gap: var(--space-3);
}

.team-member-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    background-color: var(--gray-100);
    color: var(--gray-600);
    border-radius: var(--radius-full);
    text-decoration: none;
    transition: all var(--transition-fast);
}

.team-member-social a:hover {
    background-color: var(--primary-color);
    color: var(--white);
}

/* ======================================
   RESPONSIVE DESIGN
   ====================================== */
@media (max-width: 768px) {
    .site-main {
        padding: var(--space-6) 0;
    }
    
    .page-header {
        padding: var(--space-12) 0;
    }
    
    .page-title {
        font-size: var(--text-4xl);
    }
    
    .hero-title {
        font-size: var(--text-4xl);
    }
    
    .hero-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .features-grid,
    .grid-2,
    .grid-3,
    .grid-4 {
        grid-template-columns: 1fr;
        gap: var(--space-6);
    }
    
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .section-title {
        font-size: var(--text-3xl);
    }
    
    .cta-title {
        font-size: var(--text-3xl);
    }
}

@media (max-width: 480px) {
    .stats-grid {
        grid-template-columns: 1fr;
    }
    
    .hero-title {
        font-size: var(--text-3xl);
    }
    
    .page-title {
        font-size: var(--text-3xl);
    }
}




/** Stats Counter **/
        /* Simulate Elementor structure */
      .stats-counter  .elementor-element {
            display: inline-block;
            margin: 20px;
            flex-shrink: 0;
        }

        .stats-counter {
            font-size: 64px;
            font-weight: bold;
            color: #ffa500;
            letter-spacing: -0.05em;
        }

        .stats-counter p {
            margin: 0;
            display: inline-flex;
            align-items: center;
            gap: 5px;
        }

        /* Counter animation styles */
        .counter-wrapper {
            display: inline-flex;
            gap: 0;
            overflow: visible;
            align-items: center;
        }

        .counter-number {
            display: inline-block;
            font-weight: inherit;
            line-height: 1;
            font-variant-numeric: tabular-nums;
            min-width: 1ch;
            text-align: center;
        }

        .counter-suffix {
            display: inline-block;
            vertical-align: middle;
            line-height: 1;
        }

        .description {
            color: rgba(255, 255, 255, 0.9);
            font-size: 18px;
            margin-top: 10px;
        }

        /* Stats Counter Responsive Design */
        @media (max-width: 768px) {
            .stats-counter .elementor-element {
                margin: 15px;
            }
            
            .stats-counter {
                font-size: 48px;
            }
            
            .description {
                font-size: 16px;
            }
        }

        @media (max-width: 480px) {
            .stats-counter .elementor-element {
                margin: 10px;
            }
            
            .stats-counter {
                font-size: 32px;
            }
            
            .description {
                font-size: 14px;
            }
        }




/* ======================================
   TESTIMONIALS DESIGN
   ====================================== */
.testimonial-section {
 
    padding: 0;
    width: 100%;
}

.testimonial-slider {
    max-width: 100%;
    margin: 0 auto;
    overflow: hidden;
}

.testimonial-card {
background: linear-gradient(rgba(255, 251, 234, 0.3), rgba(255, 251, 234, 0.3)), url('/wp-content/uploads/2025/12/bg-overlay-3.jpg') center center / cover no-repeat;
background-position:center;
	background-size:cover;
    border-radius: 3px;
    padding: 32px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    align-items: left;
    text-align: left;
    min-height: 450px;
    margin: 0 6px;
	position:relative;
}
.testimonial-cardss::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url('/wp-content/uploads/2025/12/bg-overlay-3.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.5; /* Adjust this to control image visibility */
  z-index: 0;
}


/* Star Rating */
.reviews-stars {
    display: flex;
    gap: 8px;
    margin-bottom: 30px;
    justify-content: flex-start;
}

.reviews-stars .star svg {
    width: 24px;
    height: 24px;
}

.reviews-stars .star path {
    fill: #F2B23D;
}

.reviews-stars .star:not(.is-filled) path {
    fill: #d4d4d4;
}

/* Testimonial Text */
.testimonial-text {
	padding:0;
	margin:0;
}
.testimonial-text h3 {
    font-family: "Poiret One", Sans-serif;
    font-size: 30px;
    font-weight: 600;
    line-height: 120%;
    color: #171717;
    margin: 0 0 16px 0;
    padding: 0;
}

.testimonial-text p {
	    font-family: "Outfit", Sans-serif;
    margin-bottom: 20px;
    font-size: 16px;
    font-weight: 400;
    color: #000;
    line-height: 150%;
}

/* Footer with Avatar and Meta */
.testimonial-footer {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: auto;
}

.testimonial-avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid #E2A422;
    flex-shrink: 0;
}

.testimonial-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.testimonial-meta {
    text-align: left;
}

.client-name {
    font-family: "Outfit", Sans-serif;
    font-size: 18px;
    font-weight: 400;
	font-weight:400;
    color: #241E1E;
    margin-bottom: 0;
}

.client-location {
    font-family: "Outfit", Sans-serif;
    font-size: 18px;
    font-weight: 400;
	font-weight:400;
    color: #2D2D2D;
    margin-bottom: 0;
}

/* Swiper Pagination */
.swiper-pagination {
    margin-top: 40px;
    position: relative;
}

.swiper-pagination-bullet {
    background-color: #d4d4d4;
    opacity: 1;
    width: 10px;
    height: 10px;
    margin: 0 6px;
}

.swiper-pagination-bullet-active {
    background-color: #F2B23D;
}

/* Navigation Buttons */
.testimonial-nav-container {
    display: flex;
    gap: 13px;
    justify-content: space-between;
    margin-top: 0;
	z-index:1;
	max-width:380px;
}

@media only screen and (max-width: 1024px) {
.testimonial-nav-container {
	margin:0 auto;
}	
	
}

.swiper-button-prev-testimonials,
.swiper-button-next-testimonials {
    max-width: 200px;
	width:100%;
    height: 51px;
	color: transparent !important;
    background-color: transparent;
    border: 1px solid #FFFBEA !important;
    border-radius: 50px; /* Rounded pill shape */
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
}

.swiper-button-prev-testimonials:hover,
.swiper-button-next-testimonials:hover {
    background-color: #E2A422;
    border-color: #FFFBEA;
  
}

.swiper-button-prev-testimonials:focus,
.swiper-button-next-testimonials:focus {
    background-color: #D74715;
    border-color: #FFFBEA;
  
}

.swiper-button-prev-testimonials.swiper-button-disabled,
.swiper-button-next-testimonials.swiper-button-disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

/* Arrow SVG styling */
.swiper-button-prev-testimonials svg,
.swiper-button-next-testimonials svg {
    width: 28px;
    height: 28px;
}

.swiper-button-prev-testimonials svg path,
.swiper-button-next-testimonials svg path {
    stroke: rgba(255, 255, 255, 0.9);
    transition: stroke 0.3s ease;
}

.swiper-button-prev-testimonials:hover svg path,
.swiper-button-next-testimonials:hover svg path {
   stroke:#241E1E;
}

.swiper-button-prev-testimonials:focus svg path,
.swiper-button-next-testimonials:focus svg path {
   stroke:#241E1E;
}
/* Responsive Design */
@media (max-width: 768px) {
    .testimonial-section {
        padding: 20px 0px 30px 0;
    }

    .testimonial-card {
        padding: 30px 25px;
        min-height: auto;
        margin: 0;
    }

    .testimonial-text {
        font-size: 22px;
    }

    .testimonial-text p {
        font-size: 14px;
    }

    .testimonial-avatar {
        width: 60px;
        height: 60px;
    }

    .client-name {
        font-size: 16px;
    }

    .client-location {
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .testimonial-text {
        font-size: 20px;
    }

    .testimonial-card {
        padding: 25px 20px;
    }

    .testimonial-footer {
        gap: 15px;
    }
}




/** GFORM **/
/* CSS Variables for easy style variants */
.gform_wrapper {
  /* Input Field Colors */
  --gform-input-border-default: #D6CAC0;
  --gform-input-border-focus: #57725A;
  --gform-input-border-filled: #8D8D8D;
  --gform-input-bg: #FFF;
  --gform-input-text: #241E1E;
  
  /* Submit Button Colors */
  --gform-submit-bg: #1A1A1A;
  --gform-submit-border: #241E1E;
  --gform-submit-text: #FFFBEA;
  
  /* Label Colors */
  --gform-label-color: #000;
  --gform-label-color-focus: #57725A;
  --gform-label-color-filled: #241E1E;
  --gform-label-size: 13px;
  --gform-label-weight: 500;
  --gform-label-spacing: 0.65px;
  --gform-label-transform: uppercase;
  
  /* Error Colors */
  --gform-error-color: #D74715;
  --gform-error-bg: #fff;
}

/* Alternate Style - Edit colors below as needed */
.gform-style-alt  .gform_wrapper{
  --gform-input-border-default: #000;
  --gform-input-border-focus: #57725A;
  --gform-input-border-filled: #8D8D8D;
  --gform-input-bg: #FFFBEA ;
  
  /* Alternate Label Styling */
  --gform-label-color: #241E1E;
  --gform-label-weight: 400;
  --gform-label-transform: none;
}

.gfield--type-submit .gform-button{
        font-family: "Outfit", Sans-serif;
padding: 12px 24px !important;
border: none;
background-color: transparent;
font-size: 18px;
font-weight:600;
font-style: normal;
line-height: 150%; /* 27px */
letter-spacing: 0.72px;
text-transform: uppercase;
color: var(--gform-submit-text);
/* Make the actual input fill the entire container so it's fully clickable */
width: 100% !important;
height: 100% !important;
position: absolute !important;
top: 0 !important;
left: 0 !important;
cursor: pointer !important;
z-index: 1 !important;
text-align: left !important;

}

.gfield--type-submit{
        font-family: "Outfit", Sans-serif;
  background-color: var(--gform-submit-bg) !important;
  border-color: var(--gform-submit-border) !important;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 24px !important;
  border-radius: 100px !important;
  position: relative !important; /* Added for absolute positioning of input */
  text-transform: uppercase;
  border: 1px solid transparent !important;
  cursor: pointer;
  transition: all 0.3s ease !important;
  text-decoration: none;
  white-space: nowrap;
  background-image: none !important;
  width: 100%;
  max-width: 100%; 
}

/* Arrow Icon After Submit Button */
.gfield--type-submit::after {
  content: '' !important;
  width: 24px;
  height: 24px;
  margin-left: auto;
  transition: transform 0.3s ease;
  display: inline-block;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12H19M19 12L12 5M19 12L12 19' stroke='%23FFFFFF' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
  pointer-events: none !important; /* Allow clicks to pass through to the input */
  z-index: 2 !important; /* Keep arrow visible above input */
}

/* Hover State */
.gfield--type-submit:hover {
  background-color: #F0A820 !important;
  border-color: #F0A820 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(240, 168, 32, 0.3) !important;
}

.gfield--type-submit:hover .gform-button {
  color: #1A1A1A !important;
}

.gfield--type-submit:hover::after {
  transform: translateX(4px);
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12H19M19 12L12 5M19 12L12 19' stroke='%231A1A1A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

/* Active/Focus State */
.gfield--type-submit:active,
.gfield--type-submit:focus {
  background-color: #E85D3C !important;
  border-color: #E85D3C !important;
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(232, 93, 60, 0.4) !important;
}

.gfield--type-submit:active .gform-button,
.gfield--type-submit:focus .gform-button {
  color: #FFFFFF !important;
}

.gfield--type-submit:active::after,
.gfield--type-submit:focus::after {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12H19M19 12L12 5M19 12L12 19' stroke='%23FFFFFF' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

/* Position the footer relative for absolute spinner */
.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer {
  position: relative !important;
}

/* Make the submit button container position relative for absolute spinner positioning */
.gform_wrapper .gfield--type-submit {
  position: relative !important;
}

/* Keep arrow visible during submission - text change provides feedback */

/* Desktop and Tablet - Submit button aligned right */
@media (min-width: 768px) {
  .gfield--type-submit {
    grid-column: 10 / -1 !important;
    width: auto !important;
    max-width: none !important;
    align-self: center !important;
  }
}

/* Mobile - Submit button full width */
@media (max-width: 767px) {
  .gfield--type-submit,
  .gfield--type-html {
    width: 100% !important;
    max-width: 100% !important;
    grid-column: 1 / -1 !important;
  }
}




#gform_1 .gform_footer {
    display:none;
}

/* Container Styling */
.gform_required_legend {
    display:none;
}


/* Field Labels - Default State */
.gform_wrapper .gfield_label {
  color: var(--gform-label-color) !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: var(--gform-label-size) !important;
  font-weight: var(--gform-label-weight) !important;
  text-transform: var(--gform-label-transform) !important;
  letter-spacing: var(--gform-label-spacing) !important;
  margin-bottom: 8px !important;
}

/* Required Asterisk */
.gform_wrapper .gfield_required {
  color: var(--gform-label-color);
  margin-left: 2px;
}

/* Label color when input is focused */
.gform_wrapper .gfield:focus-within .gfield_label {
  color: var(--gform-label-color-focus) !important;
}

.gform_wrapper .gfield:focus-within .gfield_required {
  color: var(--gform-label-color-focus) !important;
}

/* Label color when input is filled */
.gform_wrapper .gfield:has(input:not(:placeholder-shown)) .gfield_label,
.gform_wrapper .gfield:has(textarea:not(:placeholder-shown)) .gfield_label,
.gform_wrapper .gfield:has(select:not([value=""])) .gfield_label {
  color: var(--gform-label-color-filled) !important;
}

.gform_wrapper .gfield:has(input:not(:placeholder-shown)) .gfield_required,
.gform_wrapper .gfield:has(textarea:not(:placeholder-shown)) .gfield_required,
.gform_wrapper .gfield:has(select:not([value=""])) .gfield_required {
  color: var(--gform-label-color-filled) !important;
}

/* Error state overrides - must come after filled state */
.gform_wrapper .gfield_error .gfield_label,
.gform_wrapper .gfield_error:has(input:not(:placeholder-shown)) .gfield_label,
.gform_wrapper .gfield_error:has(textarea:not(:placeholder-shown)) .gfield_label {
  color: var(--gform-error-color) !important;
}

.gform_wrapper .gfield_error .gfield_required,
.gform_wrapper .gfield_error:has(input:not(:placeholder-shown)) .gfield_required,
.gform_wrapper .gfield_error:has(textarea:not(:placeholder-shown)) .gfield_required {
  color: var(--gform-error-color) !important;
}

/* All Input Fields & Select - Default State */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="number"],
.gform_wrapper textarea,
.gform_wrapper select {
  width: 100%;
  height: 48px;
  padding: 12px 16px;
  font-family: 'Outfit', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 150%;
  color: var(--gform-input-text);
  border: 1px solid var(--gform-input-border-default) !important;
  border-radius: 4px;
  background: var(--gform-input-bg);
  transition: border-color 0.3s ease;
  box-sizing: border-box;
  outline: none;
}

/* Textarea specific height */
.gform_wrapper textarea {
  height: auto;
  min-height: 96px;
}

/* Placeholder Text */
.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder {
  color: var(--gform-input-text);
  opacity: 0.7;
}

/* Selected/Focus State */
.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="url"]:focus,
.gform_wrapper input[type="number"]:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
  border: 1px solid var(--gform-input-border-focus) !important;
  background: var(--gform-input-bg) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Filled State - When input has value */
.gform_wrapper input[type="text"]:not(:placeholder-shown),
.gform_wrapper input[type="email"]:not(:placeholder-shown),
.gform_wrapper input[type="tel"]:not(:placeholder-shown),
.gform_wrapper input[type="url"]:not(:placeholder-shown),
.gform_wrapper input[type="number"]:not(:placeholder-shown),
.gform_wrapper textarea:not(:placeholder-shown),
.gform_wrapper select:not([value=""]):valid {
  border: 1px solid var(--gform-input-border-filled) !important;
  background-color: var(--gform-input-bg) !important;
}

/* Maintain dropdown arrow for filled select fields */
.gform_wrapper select:not([value=""]):valid {
  background-image: url('/wp-content/uploads/2025/12/icon-arrow-down.svg') !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 24px 24px !important;
}

/* Select Dropdown Styling */
.gform_wrapper select,
.gform_wrapper .ginput_container select,
.gform_wrapper select.gfield_select,
.gform_wrapper .ginput_container_select select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-color: var(--gform-input-bg) !important;
  background-image: url('/wp-content/uploads/2025/12/icon-arrow-down.svg') !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 24px 24px !important;
  padding-right: 48px !important;
  cursor: pointer !important;
}

/* Select dropdown - maintain default border when not filled */
.gform_wrapper select:invalid,
.gform_wrapper select[value=""] {
  border: 1px solid #D6CAC0;
}

/* Error State Styling */
.gform_wrapper .gfield_error .gfield_label {
  color: var(--gform-error-color) !important;
}

.gform_wrapper .gfield_error input[type="text"],
.gform_wrapper .gfield_error input[type="email"],
.gform_wrapper .gfield_error input[type="tel"],
.gform_wrapper .gfield_error input[type="url"],
.gform_wrapper .gfield_error input[type="number"],
.gform_wrapper .gfield_error textarea,
.gform_wrapper .gfield_error select {
  border: 1px solid var(--gform-error-color) !important;
  background: var(--gform-error-bg) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12.8649 3.00017L22.3912 19.5002C22.6674 19.9785 22.5035 20.5901 22.0252 20.8662C21.8732 20.954 21.7007 21.0002 21.5252 21.0002H2.47266C1.92038 21.0002 1.47266 20.5525 1.47266 20.0002C1.47266 19.8246 1.51887 19.6522 1.60664 19.5002L11.1329 3.00017C11.409 2.52187 12.0206 2.358 12.4989 2.63414C12.6509 2.72191 12.7772 2.84815 12.8649 3.00017ZM10.9989 16.0002V18.0002H12.9989V16.0002H10.9989ZM10.9989 9.00017V14.0002H12.9989V9.00017H10.9989Z' fill='%23D74715'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 20px 20px !important;
  padding-right: 48px !important;
}

.gform_wrapper .gfield_error textarea {
  background-position: right 16px top 16px !important;
}

.gform_wrapper .gfield_error .gfield_required {
  color: var(--gform-error-color) !important;
}

.gform_wrapper .validation_message {
  display: none !important;
}

.gform_wrapper .gform_validation_errors {
  display: none !important;
}

.gform_wrapper .validation_error {
  color: var(--gform-error-color);
  font-family: 'Outfit', sans-serif;
  border-left: 3px solid var(--gform-error-color);
  padding: 12px 16px;
  margin-bottom: 16px;
  background: rgba(215, 71, 21, 0.05);
}

/* Field Container */
.gform_wrapper .gfield {
  margin-bottom: 20px;
}

/* Error State - Label */
.gform_wrapper .gfield_error .gfield_label {
  color: #D74715;
}

/* Error State - Input Fields */
.gform_wrapper .gfield_error input[type="text"],
.gform_wrapper .gfield_error input[type="email"],
.gform_wrapper .gfield_error input[type="tel"],
.gform_wrapper .gfield_error input[type="url"],
.gform_wrapper .gfield_error input[type="number"],
.gform_wrapper .gfield_error textarea,
.gform_wrapper .gfield_error select {
  border: 1px solid #D74715;
  background: #FFF;
}

/* Error State - Focus */
.gform_wrapper .gfield_error input:focus,
.gform_wrapper .gfield_error textarea:focus,
.gform_wrapper .gfield_error select:focus {
  border: 1px solid #D74715;
}

/* Validation Error Messages */
.gform_wrapper .gfield_error {
  background-color: transparent;
  border: none;
  padding: 0;
  margin-bottom: 20px;
}

.gform_wrapper .validation_message {
  color: #D74715;
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  margin-top: 6px;
  font-weight: 500;
}

/* Real-time phone validation message - Tooltip style */
.gform_wrapper .ginput_container {
  position: relative; /* Enable absolute positioning for tooltip */
}

.gform_wrapper .validation_message.phone-realtime,
.gform_wrapper .validation_message.realtime-error {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 0;
  right: 0;
  display: block !important;
  padding: 10px 14px;
  background: #D74715;
  color: #FFFFFF;
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  font-weight: 500;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(215, 71, 21, 0.25);
  z-index: 100;
  white-space: nowrap;
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.2s ease;
}

/* Only animate tooltips that are NOT hidden */
.gform_wrapper .validation_message.phone-realtime:not(.hidden),
.gform_wrapper .validation_message.realtime-error:not(.hidden) {
  animation: fadeInTooltip 0.3s ease;
}

/* Hide tooltip by default when field is not being hovered or when explicitly hidden */
.gform_wrapper .gfield_error:not(:hover) .validation_message.phone-realtime,
.gform_wrapper .gfield_error:not(:hover) .validation_message.realtime-error,
.gform_wrapper .validation_message.realtime-error.hidden {
  opacity: 0 !important;
  pointer-events: none;
  animation: none !important; /* Prevent any animation on hidden tooltips */
}

/* Show tooltip on hover of error field (override hidden class) */
.gform_wrapper .gfield_error:hover .validation_message.phone-realtime,
.gform_wrapper .gfield_error:hover .validation_message.realtime-error {
  opacity: 1 !important;
  pointer-events: none;
}

/* Tooltip arrow pointing down to the input */
.gform_wrapper .validation_message.phone-realtime::after,
.gform_wrapper .validation_message.realtime-error::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 20px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 8px 0 8px;
  border-color: #D74715 transparent transparent transparent;
}

@keyframes fadeInTooltip {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Enhanced phone field states for real-time validation */
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="text"].gfield_required_field,
.gform_wrapper textarea.gfield_required_field {
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Valid phone number state (10 digits) */
.gform_wrapper .gfield:not(.gfield_error) input[type="tel"]:not(:placeholder-shown) {
  border-color: var(--gform-input-border-filled) !important;
}

/* Error state for phone field with smooth transition */
.gform_wrapper .gfield_error input[type="tel"] {
  border-color: var(--gform-error-color) !important;
  animation: shakeError 0.4s ease;
}

@keyframes shakeError {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-4px); }
  75% { transform: translateX(4px); }
}

/* Error Icon - Using background image instead of pseudo-element */
.gform_wrapper .gfield_error input[type="text"],
.gform_wrapper .gfield_error input[type="email"],
.gform_wrapper .gfield_error input[type="tel"],
.gform_wrapper .gfield_error input[type="url"],
.gform_wrapper .gfield_error input[type="number"],
.gform_wrapper .gfield_error textarea {
  padding-right: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12.8649 3.00017L22.3912 19.5002C22.6674 19.9785 22.5035 20.5901 22.0252 20.8662C21.8732 20.954 21.7007 21.0002 21.5252 21.0002H2.47266C1.92038 21.0002 1.47266 20.5525 1.47266 20.0002C1.47266 19.8246 1.51887 19.6522 1.60664 19.5002L11.1329 3.00017C11.409 2.52187 12.0206 2.358 12.4989 2.63414C12.6509 2.72191 12.7772 2.84815 12.8649 3.00017ZM10.9989 16.0002V18.0002H12.9989V16.0002H10.9989ZM10.9989 9.00017V14.0002H12.9989V9.00017H10.9989Z' fill='%23D74715'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 20px 20px;
}

/* Position error icon at top-right for textarea */
.gform_wrapper .gfield_error textarea {
  background-position: right 12px top 16px;
}

	
	.ginput_container.ginput_container_consent {
    display: flex;
    align-items: center;
    gap: 10px;
}


/* Terms and Conditions Text */
.gform_wrapper .gfield_consent_label,
.gform_wrapper .ginput_container_consent label {
  font-family: 'Outfit', sans-serif;
  font-size: 16px;
  color: #241E1E;
  line-height: 150%;
}



/* Submit Button Container - Align to Right */
.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer {
  margin-top: 30px;
  padding: 0;
  text-align: right;
}

/* Remove Gravity Forms Default Styles */
.gform_wrapper ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.gform_wrapper li {
  list-style: none;
  margin: 0;
}

/* Remove default validation container styling */
.gform_wrapper .validation_error {
  display: none;
}

/* Responsive Design */
@media (max-width: 640px) {
  .gform_wrapper .gform_title {
    font-size: 24px;
  }
  
  .gform_wrapper .gform_footer,
  .gform_wrapper .gform_page_footer {
    text-align: center;
  }
}


.form-policy-link {
	border-bottom: 1px solid #171717;
	color:#171717;
	  transition:300ms;
}
.form-policy-link:hover {
	border-bottom: 1px solid transparent;
	color:#E2A422;
  transition:300ms;
	
}

.form-policy-linkhover {
	border-bottom: 1px solid #171717;

	color:#171717;
	
}






.form-policy-link {
	border-bottom: 1px solid #171717;
	color:#171717;
	  transition:300ms;
}
.form-policy-link:hover {
	border-bottom: 1px solid transparent;
	color:#E2A422;
  transition:300ms;
	
}

.form-policy-linkhover {
	border-bottom: 1px solid #171717;

	color:#171717;
	
}



.gform_wrapper.gravity-theme .gform_fields {
    grid-row-gap: 0 !important;
    grid-column-gap:24px !important;
}

@media only screen and (max-width: 767px) {
	
	.gfield--type-consent  {
	margin-bottom:20px !important;
} 
}



/* Hide the default Gravity Forms spinner */
.gform_wrapper .gform_ajax_spinner {
    display: none !important;
}

/* Or if it's the newer version with different markup */
.gform_wrapper .gform_spinner {
    display: none !important;
}

/* Hide default spinner */
.gform_wrapper .gform_ajax_spinner {
    display: none !important;
}

/* Custom loading state for button */
.gform_wrapper input[type="submit"].is-loading {
    position: relative;
    padding-right: 40px;
}

.gform_wrapper input[type="submit"].is-loading::after {
    content: "";
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    border: 2px solid #ffffff;
    border-radius: 50%;
    border-top-color: transparent;
    animation: spin 0.6s linear infinite;
    opacity:0 !important;
    visibility: hidden;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

.gform_wrapper .gform_footer *[src*="spinner"],
.gform_wrapper *[class*="spinner"] {
    display: none !important;
}
/* Reposition the spinner (example values, adjust as needed) */
body .gform_wrapper .gform_ajax_spinner,
body .gform_wrapper .gform-loader {
    margin-top: -5px;
    position: absolute;
    z-index: 9999;
    display:none !important;
}


.gform_wrapper.gravity-theme input:not([type=radio]):not([type=checkbox]):not([type=image]):not([type=file]) {
    line-height: normal !important;

}




/* ======================================
   DIAMOND DIVIDER ANIMATION
   ====================================== */

/* Initial state - hidden and zero width, starting from center */
.diamond-divider .elementor-divider-separator {
  width: 0;
  opacity: 0;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 1s ease-out, opacity 0.8s ease-out;
}

/* Animated state - full width and visible */
.diamond-divider.animate-in .elementor-divider-separator {
  opacity: 1;
  transform: scaleX(1);
}

/* Initial state for pseudo-elements (diamonds) */
.diamond-divider::before,
.diamond-divider::after {
  opacity: 0;
  transform: translateY(-50%) rotate(45deg) scale(0);
  transition: transform 1s ease-out, opacity 0.8s ease-out;
}

/* Animated state for pseudo-elements - rotate and scale in */
.diamond-divider.animate-in::before,
.diamond-divider.animate-in::after {
  opacity: 1;
  transform: translateY(-50%) rotate(405deg) scale(1);
}

/* ======================================
   DIVIDER LINE ANIMATION
   ====================================== */

/* Initial state - hidden and zero width, starting from center */
.divider-line .elementor-divider-separator {
  width: 0;
  opacity: 0;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 1s ease-out, opacity 0.8s ease-out;
}

/* Animated state - full width and visible */
.divider-line.animate-in .elementor-divider-separator {
  opacity: 1;
  transform: scaleX(1);
}

/* Initial state for pseudo-elements (if they exist) */
.divider-line::before,
.divider-line::after {
  opacity: 0;
  transform: translateY(-50%) rotate(45deg) scale(0);
  transition: transform 1s ease-out, opacity 0.8s ease-out;
}

/* Animated state for pseudo-elements - rotate and scale in */
.divider-line.animate-in::before,
.divider-line.animate-in::after {
  opacity: 1;
  transform: translateY(-50%) rotate(405deg) scale(1);
}


/** Contact **/

.grid-contact-link[href] .contact-link--item p {
    display:inline-flex;
}

.grid-contact-link[href]:hover .contact-link--item p {
    color: #E2A422;
    transition: 300ms;
}


/** Header Anchor **/
.elementor-item-anchor.elementor-item-active {
overflow:hidden;
}

.elementor-item-anchor.elementor-item-active:after {
display:none !important;
opacity: 0 !important;

}