/*
 Theme Name:   Y.S Projects
 Theme URI:    https://connvisor.com
 Description:  Child Theme - Connvisor Digital
 Author:       Connvisor
 Author URI:   https://connvisor.com
 Template:     Divi
 Version:      1.0.0
*/

:root{
  --title-line-color: #961C1C;
  --title-line-thickness: 2px;
}

/*****Add any custom CSS below this line*****/
body {
  font-family: "assistant", sans-serif !important;
  background-color: #F9F7EE;
}
/**---BODY & GENERAL---**/
.et_pb_slides {background-color: #F9F7EE !important}
.et_pb_slide{border-radius: 15px}
/*.et_pb_slide_overlay_container {background: linear-gradient(179.39deg, rgba(44, 44, 44, 0) -4.23%, rgba(44, 44, 44, 0.482897) 34.64%, rgba(35, 35, 35, 0.9) 76.47%) !important; border-radius: 48px }*/
#et-top-navigation {padding-right: 0 !important; display: flex; justify-content: center; width: 100%}
#top-menu li.current-menu-item>a {color: var(--title-line-color)}
#top-menu li.current-menu-ancestor>a, #top-menu li.current-menu-item>a {color: var(--title-line-color)}
.nav ul li a:hover{border-bottom: 1px solid var(--title-line-color); background-color: rgba(0,0,0,0.2) !important}
header .container {display: flex; justify-content: space-between; align-items: center}
/*#contact_header {display: flex; align-items: center; background-color: #961C1C; color: #fff; border-radius: 4px; padding: 4px 6px;  }*/
#contact_header {
  display: inline-flex;            /* inline so it sizes to content nicely */
  align-items: center;
  gap: .5rem;                      /* space between icon and text */
  background-color: #961C1C;
  color: #fff;
  border-radius: 4px;
  padding: 8px;
  line-height: 1;                  /* avoid extra vertical space */
  position: absolute;
  left: 0;
}

#contact_header .icon {
  width: 1em;                      /* or 16px / 20px, as you prefer */
  height: 1em;
  display: block;                  /* remove baseline gap from images */
  flex: 0 0 auto;                  /* keep it at the size above */
}
#contact_header .label { min-width: 0; } /* lets long numbers wrap if needed */
.home .et_pb_slide_title {margin-bottom: 30px}
.home .et_pb_slider .et_pb_button_wrapper {margin-top: 30px}
.home-about .et_pb_column_0 {margin-top: 50px !important}
.home-about .company-decoration {position: absolute; left: -40px; bottom: -90px}
.et-pb-controllers {direction: ltr;}
.home .et_pb_slide_content p {max-width: 1200px; margin: auto; text-align: center;}
.custom-svg-wrapper {
  text-align: center;
  margin-bottom: 10px;
}
#custom-slider-svg {
  width: 80px;
  height: auto;
}

/* The title itself */


.header-absolute-line-right h2, .header-absolute-line-right h1, .header-absolute-line-small h4, .header-absolute-line-small-white h4{
  position: relative;
  display: inline-block;          /* makes the box hug the text width */
  margin: 0;                      /* adjust as you like */
}

/* The 440px line */
.header-absolute-line-right h2::after, .header-absolute-line-right h1::after, .header-absolute-line-small h4::after, .header-absolute-line-small-white h4::after{
  content: "";
  position: absolute;
  inset-inline-end: -9px;      /* = right in LTR, left in RTL */
  top: 100%;                      /* start at bottom of the text box */
  right: -190px; 
  margin-top: 5px;                /* 5px below the text */
  width: 440px;                   /* required width */
  height: var(--title-line-thickness);
  background: var(--title-line-color);
}
.header-absolute-line-right-light h2:after, .header-absolute-line-right-light h1:after, .header-absolute-line-small-white-light h4:after {background: #fff;}


.footer-form-decoration-line h3{position: relative; display: inline-block; margin: 0;}
.footer-form-decoration-line h3::after{
   content: "";
    position: absolute;
    inset-inline-end: -9px;      /* = right in LTR, left in RTL */
    top: 100%;                      /* start at bottom of the text box */
    margin-top: 5px;                /* 5px below the text */
    width: 300%;                   /* required width */
    height: 2px;
    background: #fff;
  
}
.header-absolute-line-center h2 {
  display: inline-block;  /* shrink to text width */
  position: relative;
  text-align: center; 
}

.header-absolute-line-center h2::after {
  content: "";
  position: absolute;
  top: 100%;             /* directly below text */
  left: 50%;             /* center align */
  margin-top: 5px;
  width: 440px;
  height: 2px;
  background: #961C1C;
  transform: translateX(-50%);  /* shift so it's centered */
}

.header-centered-line {
  position: relative;
  display: inline-block;     /* shrink-wrap to the text width */
  margin: 0;
  text-align: center;
  
}



.header-centered-line:after{
  content: "";
  position: absolute;
  top: 100%;                 /* right below the text */
  left: 50%;                 /* anchor the center */
  margin-top: 5px;           /* distance from the text */
  width: 80%;                /* 80% of text width */
  height: 2px;
  background: #fff;
  transform: translateX(-50%); /* center relative to text width */
}


.card .et_pb_button_module_wrapper { position: absolute; bottom: 5px}
.card .et_pb_button {padding-right: 0 !important;}
.card .et_pb_button::after{margin-right: .3rem}

.negative-right .card {position: relative; left: 15px;}
.negative-left .card {position: relative; right: 15px;}
.service-card{transition: box-shadow 0.3s ease;}
.service-card:hover {
  box-shadow: 0px 2px 18px 0px rgba(0, 0, 0, 0.3);
}
.service-card-light{transition: box-shadow 0.3s ease;}
.service-card-light:hover{box-shadow: 0px 2px 18px 0px rgba(255, 255, 255, 0.3);}

.decoration-dark-bottom-left {position: absolute; right: 0; top: 300px}
.decoration-light-bottom-right {position: absolute; left: 0; bottom: 300px}

.footer-contact {
  display: flex;
  flex-direction: column;
  gap: 8px; /* space between lines */
}

.footer-contact-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.footer-icon {
  width: 20px;
  height: 20px;
  display: block;
}

.footer-link,
.footer-text {
  color: #fff;      /* adjust based on footer bg */
  font-size: 14px;
  text-decoration: none;
}
.footer-link:hover {
  text-decoration: underline;
}
.contant-inner {margin-top: 50px;}
.d-flex {display: flex; justify-content: space-between}
.d-item {display: flex; justify-content: flex-start}

#contact-form-before-footer .et_pb_column {display: flex; align-items: center; flex-direction: column; justify-content: center}
.large-blurb-icon .et_pb_main_blurb_image {width: 60px}
/******** CONTACT FORM 7 **********/
.wpcf7-response-output {color: #fff;}
.light-form .wpcf7-response-output {color: #000;}
/* Container + rows */
.cf7-grid {
  display: grid;
  gap: 12px;
  direction: rtl; /* ensure RTL alignment */
}

/* 3-column row on desktop */
.cf7-row.cf7-row-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

/* Columns */
.cf7-col {
  display: flex;
  flex-direction: column;
}

/* Labels & inputs */
.cf7-grid label {
  font-weight: 600;
  margin-bottom: 4px;
  font-size: 16px;
  color: #fff;
}

.light-form .cf7-grid label {color: #000}

.cf7-input,
.cf7-textarea,
.cf7-grid input[type="text"],
.cf7-grid input[type="tel"],
.cf7-grid input[type="email"],
.cf7-grid textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  text-align: right;
  font-size: 18px;
  font-family: 'assistant', sans-serif;
}

/* Submit alignment */
.cf7-actions {
  display: flex;
  justify-content: flex-start; /* change to center/right if you prefer */
}

.cf7-actions input[type="submit"] {
  padding: 10px 20px;
  background: #fff;
  color: #000;
  border: 0;
  border-radius: 4px;
  cursor: pointer;
  font-size: 18px;
  font-family: 'assistant', sans-serif;
}
.light-form .cf7-actions input[type="submit"] {background: var(--title-line-color); color: #fff;}
.cf7-actions input[type="submit"]:hover {
  opacity: 0.9;
}
.our-customers .c-item {width: 200px; text-align: center; margin: 0 5px}
.our-customers img {max-height: 55px !important; width: auto !important; max-width: 100% !important}


/* Responsive: stack fields on smaller screens */
@media (max-width: 900px) {
  .cf7-row.cf7-row-3 {
    grid-template-columns: 1fr;
  }
}

/****************************/

#about-hero .et_pb_column {display: flex; align-items: center;}

.footer-widget {float: right; margin-left: 5.5%; margin-right: 0 !important}
.footer-widget:last-of-type {margin-left: 0 !important}
.et_pb_widget{float: right; width: 100%;}
.et_pb_gutters3.et_pb_footer_columns4 .footer-widget .fwidget {margin-bottom: 0px}
#footer-widgets .footer-widget li::before{border-width: 0 !important}
#footer-widgets .footer-widget li{padding: 0}
#footer-info {text-align: right !important; float: right}
.credit img {margin-left: 3px}
#contact-form-before-footer a {color: #fff !important}

@media only screen and (max-width: 992px){
  #contact_header {display: none;}
  .mobile-column-reverse {display: flex; flex-direction: column-reverse}
  .home-about .company-decoration {position: static;}
  .negative-right .card {position: static; }
  .negative-left .card {position: static;}
	#about-hero .et_pb_column {display: block;}
	.mobile-flex-column {flex-direction: column}
	.card .et_pb_button_module_wrapper {position: relative; bottom: 0;}

}