/*
 Theme Name:   Astra Child
 Theme URI:    http://example.com/astra-child/
 Description:  Astra Child Theme
 Author:       Your Name
 Author URI:   http://example.com
 Template:     astra
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  astra-child
*/

html, body {
	max-width: 100% !important;
	overflow-x: hidden !important;
}
.header-main-layout-3 .ast-main-header-bar-alignment {
	padding:5px 10px;
	width: 100%;
	background: #1f3067;
	border-radius: 50px;
}
.wpcf7 form {
	position: relative;
	max-width: 700px;
	margin: 0 auto;
}
.wpcf7 input:not([type="submit"]), .wpcf7 select, .wpcf7 textarea {
	width: 100%;
	padding: .75em;
	margin-top: 10px;
	border: 1px solid #d2d2d2;
	border-radius: 50px;
}
.ast-single-post .entry-title, .page-title, h2 {
	font-size: 30px;
	font-size: 1.2rem;
	font-family: iransans-bold;
	margin-bottom: 20px;
	color: #1b6a94 !important;
	text-align: center;
}
.main-header-menu .menu-item:hover > .menu-link, .main-header-menu .menu-item:hover > .ast-menu-toggle, .main-header-menu .ast-masthead-custom-menu-items a:hover, .main-header-menu .menu-item.focus > .menu-link, .main-header-menu .menu-item.focus > .ast-menu-toggle, .main-header-menu .current-menu-item > .menu-link, .main-header-menu .current-menu-ancestor > .menu-link, .main-header-menu .current-menu-item > .ast-menu-toggle, .main-header-menu .current-menu-ancestor > .ast-menu-toggle {
	color: #111;
	background: #ffc107;
	border-radius: 50px;
}

.footer-adv-overlay {
	background-color: #10357d;
}

.ast-logo-title-inline .ast-site-identity {
	-js-display: inline-flex;
	display: flex;
	vertical-align: middle;
	align-items: center;
	padding:5px 0
}
.header-slag {color: #fff;text-align:right;font-size:0.9em}
.header-phone {
	color: #fff;
	font-size: 1.3em;
	line-height: 34px;
}
.main-header-menu li a::before {
	position: absolute;
	content: '';
	right: 0;
	top: calc(50% - 8px);
	width: 1px;
	height: 16px;
	background-color: rgba(0,0,0,.1);
}
.site-footer .widget-title {
	color: #fff !important;
	font-size: 1em;
	border-bottom: 3px solid rgba(255,255,255,0.2);
	padding-bottom: 18px;
	margin-bottom: 25px;
}
.alert-blue h3, h4 {
	text-align: center;
	color: #796e4b !important;
	line-height: 30px;
	font-size: 18px;
	margin-bottom: 20px;
}
.post-list-img a {
	color: #826918;
	line-height: 24px;
	padding-bottom: 3px;
	font-size: 13px;
}
.ast-header-breadcrumb {background:#f2f2f2}
.ast-single-post .entry-title, .page-title, h2 {
	font-size: 30px;
	font-size: 1.2rem;
	font-family: iransans-bold;
	margin-bottom: 20px;
	color: #1b6a94 !important;
}

.ast-separate-container .ast-article-post, .ast-separate-container .ast-article-single {
	background-color: #fff;
	border-bottom: 1px solid #eee;
	margin: 0;
	padding: 2em 2.5em;
}
.ast-separate-container {
	background-color: #fff;
}
.header-main-layout-1 .ast-main-header-bar-alignment {
	margin-left: auto;
}
.main-header-bar .main-header-bar-navigation {

	box-shadow: 0 3px 4px rgba(0,0,0,0.1);
	min-width: 300px;
	text-align: right;
}
.ast-right-sidebar #secondary {
	padding-right: 30px;
}
.sidebar-main {
    border-bottom: 0;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,.1);
    padding: 2em;
}
.ast-separate-container.ast-right-sidebar #primary, .ast-separate-container.ast-left-sidebar #primary {
	border: 0;
	float: left;
}
.ast-right-sidebar #secondary {
	padding-right: 0;
	padding-left: 20px;
}
.site-main img {border-radius:8px;}

.alert-blue {
	color: #fff;
	background-color: #1974b7;
	border-color: #1364a0;
	border-radius:8px;
}
.alert-blue h3, h4 {text-align:center;color:#fff;line-height:30px;font-size:18px}
.ast-separate-container.ast-right-sidebar #primary, .ast-separate-container.ast-right-sidebar #secondary {
	margin: 2em 0;
}
.blog-box {
    box-shadow: 0 4px 18px rgba(0,0,0,.1);
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 35px;
}
.site-title a, .site-title a:focus, .site-title a:hover, .site-title a:visited {
    color: #1f3067;
    font-size: 16px;
    font-family: iransans-bold;
    font-weight: normal;
    text-align: left;
    float: left;
}
.sidebar-main {
	box-shadow: 0 4px 12px rgba(0,0,0,.1) !important;
	background-image: linear-gradient(90deg,#ff 0%,#ff 21%,rgba(255,255,255,1) 89%,#ec 100%) !important;
	border: 2px solid #f4e5b5 !important;
	background: #fffaea;
	border-top-right-radius: 0 !important;
}
.blogElementTxt {
	background: #fff;
	border-radius: 10px;
	margin: 3px;
}
.sidebar-main {
	box-shadow: 0 4px 12px rgba(0,0,0,.1) !important;
	background-image: linear-gradient(90deg,#f4f0e3 1%,#fdf9ed 7%);
	border: 2px solid #f4e5b5 !important;
	border-top-right-radius: 0 !important;
}
@media (min-width:900px){
	.site-title {
    position: absolute;
    left: 20px;
}
.logo-area {width:100% !important;max-width:100% !important;}
.main-header-menu .menu-link, .ast-header-custom-item a {
	color: #fff;
}
	.sub-menu {
	min-width: 380px;
	padding: 10px;
	border-radius: 10px;
	box-shadow: 0 5px 10px #1c385b36;
	margin-top: 3px;
}
.sub-menu .menu-link {color:#111}
}
@media (max-width:800px){
	.site-title {
margin-right: auto !important;
}
	.header-main-layout-3 .ast-main-header-bar-alignment {
	padding:5px;
	background: transparent;
	border-radius: 0;
}
    .site-title {	margin-right: auto !important;}
    .ast-button-wrap .menu-toggle .menu-toggle-icon {	line-height: 1.2;	font-size: 1.4em;	color: #143578;}
    .main-header-bar .ast-container {	padding-right: 10px;	padding-left: 10px;background: #e0e0e0;margin-bottom: 10px;}
    .about-section {
            flex-direction: column;
    }
}


.navigation-mobile {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 96%;
    margin: 10px;
    height: 70px;
    background-color: #1F3067;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
}

@media screen and (min-width: 768px) {
  .navigation-mobile {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  #about-section .container {
    flex-direction: column;
  }
}

#primary ul {
        margin: 0 !important;
}

@media (min-width: 768px) {
  .navigation {
    display: none;
  }
}

.navigation-mobile ul {
  display: flex;
  list-style: none;
  width: 100%;
  margin: 0;
}

.navigation-mobile ul li {
  position: relative;
  width: 100%; /* Replaced var(--item-width) */
  height: 70px;
  z-index: 1;
}

.navigation-mobile ul li a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  height: 100%;
  text-align: center;
  font-weight: 500;
  text-decoration: none;
}

.navigation-mobile ul li a .icon {
  position: relative;
  display: block;
  font-size: 1.5rem;
  transition: transform 0.5s ease;
  color: #ffffff; /* Replaced var(--text-color) */
}

.navigation-mobile ul li.active a .icon {
  transform: translateY(-25px);
  font-weight: 600;
  color: #000;
}

.navigation-mobile ul li a .text {
  font-size: 0.75em;
  color: #ffffff; /* Replaced var(--text-color) */
}

.indicator {
  position: absolute;
  top: -50%;
  width: 70px; /* Replaced var(--indicator-width) */
  height: 65px; /* Replaced var(--indicator-width) */
  background-color: #FFC107; /* Replaced var(--primary-color) */
  border-radius: 50%;
  transition: transform 0.5s cubic-bezier(0.68, -0.55, 0.27, 1.55);
      right: 10%; /* Replaced calc((110px - 70px) / 2) */
  /* The --active-index variable MUST remain for the JavaScript to work */
  transform: translateX(calc(110px * var(--active-index, 0) * -1)); 
}


article {
    padding:0 !important;
}

.page-template-template-form-php {
    background: #ECEBEB;
}

.form-container {
    text-align: right;
    background: #FFFFFF;
    border-radius: 10px;
    margin-bottom: 50px;
}

.form-container form {
    padding: 25px;
}

.form-container h2 {
font-size: 22px;
text-align: center;
color: #2c3e50;
margin-bottom: 20px;
}


.form-row .form-group {
flex: 1;
min-width: 140px;
}

.form-group {
margin-bottom: 18px;
}

.form-group label {
display: block;
margin-bottom: 6px;
font-weight: 500;
color: #444;
}

.form-group textarea {
resize: vertical;
min-height: 70px;
}


.warranty-options {
display: flex;
gap: 20px;
flex-wrap: wrap;
margin-top: 8px;
}
.warranty-options label {
font-size: 14px;
display: flex;
align-items: center;
gap: 6px;
}

.form-actions {
display: flex;
justify-content: space-between;
gap: 15px;
margin: 25px 0 15px;
flex-wrap: wrap;
}

.icon-button {
flex: 1;
background-color: #eef3fc;
border: 1px solid #4a90e2;
color: #2d6cdf;
border-radius: 10px;
font-size: 16px;
padding: 12px;
cursor: pointer;
transition: background-color 0.3s, color 0.3s;
text-align: center;
}

.icon-button:hover {
background-color: #d0e3ff;
color: #1c4fb3;
}

.form-submit {
text-align: center;
}

.form-submit button:hover {
background-color: #3b7cc7;
}

@media (max-width: 540px) {
.form-row {
flex-direction: column;
}

.form-actions {
flex-direction: column;
}

.form-submit button {
width: 100%;
}
}

.input-with-button .input-wrapper {
position: relative;
display: flex;
}

.input-with-button .input-wrapper input,
.input-with-button .input-wrapper textarea {
padding-left: 40px;
padding-right: 12px;
width: 100%;
resize: vertical;
}

.inline-icon {
position: absolute;
left: 5px;
top: 50%;
transform: translateY(-50%);
background: #eef3fc;
border: 1px solid #4a90e2;
color: #2d6cdf;
font-size: 18px;
padding: 5px 10px;
border-radius: 8px;
cursor: pointer;
transition: 0.3s ease;
z-index: 2;
}

.inline-icon:hover {
background-color: #d0e3ff;
color: #1c4fb3;
}


.form-row {
display: flex;
gap: 15px;
flex-wrap: wrap;
}

.form-group {
margin-bottom: 20px;
flex: 1;
min-width: 180px;
}

label {
display: block;
margin-bottom: 6px;
font-weight: bold;
}

.required-label {
color: #d22;
font-size: 13px;
}

input,
select,
textarea {
    font-family: "IRANSans", Sans-serif;
width: 100%;
padding: 10px 14px;
border: 1px solid #ccc;
border-radius: 8px;
font-size: 14px;
box-sizing: border-box;
}

textarea {
resize: vertical;
}

.form-submit {
text-align: center;
margin-top: 20px;
}

.form-submit button:hover {
background-color: #3b7cd9;
}

#map-container {
display: none;
margin-top: 15px;
}

#map {
height: 320px;
width: 100%;
border-radius: 12px;
}

.map-toggle {
background-color: #eef3fc;
color: #2d6cdf;
padding: 10px 14px;
border: 1px solid #4a90e2;
border-radius: 8px;
cursor: pointer;
}

.map-toggle:hover {
background-color: #dce8ff;
}

.location-box {
border: 1px solid #e0e0e0;
border-radius: 8px;
overflow: hidden;
margin-bottom: 20px;
}

.map-box {
height: 220px;
}

.location-actions {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px;
background: #f9f9f9;
}

#my-location-btn {
    flex: 1 1 auto;
    padding: 8px 14px;
    font-size: 14px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
        background-color: transparent;
        color: #c36;
        border: 1px solid #c36;
}

#my-location-btn:hover {
    color:black;
}

#location-status {
    font-weight: 600;
font-size: 14px;
padding: 5px 10px;
border-radius: 6px;
background-color: #e8f0fe;
color: #2d6cdf;
transition: background-color 0.3s, color 0.3s;
}

.status.success {
background-color: #4caf50 !important;
color: white !important;
}


.leaflet-control-geocoder {
margin-top: 8px;
margin-right: 10px;
font-size: 13px;
z-index: 1000;
border: none !important;
}

.leaflet-control-geocoder-alternatives {
text-align: left;
border-top: 1px solid black;
}

@media (max-width: 600px) {
.form-row {
flex-direction: column;
}
}


.dropdown.open {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}


.dropdown-container .list-container.open {
display: block;
overflow-y: auto;
}

.form-group {
    flex: 1;
    min-width: 250px; 
    display: flex;
    flex-direction: column;
}

.form-group label,
.form-guarentee label {
    display: block;
    font-weight: 600;
    color: #555;
}

.leaflet-control-attribution {
    display:none;
}

.required-label {
    color: #aaa;
    font-weight: normal;
    font-size: 12px;
}

.list {
    padding: 10px;
    cursor: pointer;
}

.list:not(:last-child) {
    border-bottom: 1px solid #ddd;
}

.form-group input:focus,
.form-group textarea:focus {
    border-color: #007cba; 
    outline: none;
}

.validation-error {
    color: #dc3232; 
    font-size: 12px;
    margin-top: 5px;
    display: none;
}

.form-group input:invalid,
.form-group textarea:invalid {
    
}

.guarentee-row {
    margin-bottom: 15px;
}

.form-guarentee {
    width: 100%;
}

.radio-group {
    display: flex;
    gap: 20px;
    align-items: center;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #fff;
}

.radio-group label {
    display: flex;
    align-items: center;
    gap: 5px;
    font-weight: normal;
    margin-bottom: 0;
}

#map {
    width: 100%;
    height: 250px;
    background-color: #e9e9e9;
    margin-bottom: 10px;
    border-radius: 4px;
}

.location-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.location-actions button {
    background-color: #007cba;
    color: white;
    border: none;
    padding: 8px 12px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 13px;
}

.location-actions button img {
    display:none !important;
}

.location-actions button#clear-location-btn {
    background-color: #dc3232;
}

.status.success {
    color: #46b450;
}

.dropdown-container {
    position: relative;
}

.dropdown {
display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 10px 14px;
    font-size: 16px;
    background-color: #fff;
    border: 1px solid #ccc;
    appearance: none;
    outline: none;
    border-radius: 8px;
    cursor: pointer;
}

.dropdown::after {
    content: '▼';
    font-size: 12px;
}

.dropdown-container .list-container {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid #ccc;
    border-top: none;
    border-radius: 0 0 10px 10px;
    background-color: #fff;
    z-index: 9999;
    padding: 10px;
}

#deviceSearchBox, #brandSearchBox {
    width: 100%;
    padding: 8px;
    box-sizing: border-box;
    border: none;
    border-bottom: 1px solid #eee;
}

.form-submit {
    text-align: center;
    margin-top: 20px;
    margin-bottom: 20px;
}

.form-submit button {
    width: 100%;
    padding: 12px 25px;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s;
}

.wp-block-columns {
    gap: 13px;
}

#icons-services .wp-block-group__inner-container {
    display: flex
;
    flex-direction: column;
    gap: 10px;
}

h3 {
    font-size: 14px;
    margin-top: 25px;
    line-height: 1.4rem;
}

#messageBox {
    margin-top: 15px;
    font-weight: 600;
    text-align: center;
}

@media (max-width: 768px) {

    .form-row {
        flex-direction: column;
        gap: 0; 
    }
    
    .form-group {
        min-width: 100%; 
        margin-bottom: 20px;
    }
    
    .form-row .form-group:last-child {
        margin-bottom: 0;
    }

    .location-actions {
        flex-direction: column;
        align-items: stretch; 
        gap: 10px;
    }
    

    .form-submit button {
        width: 100%;
    }
    .form-row.no-stack {
        flex-direction: row; 
        gap: 15px;
    }
    #location-status {
        text-align:center;
    }
}
#ez-toc-container {
	display:none;
}