/*
Theme Name:   Astra Child – Texas Parking Services
Theme URI:    https://texasparkingservidev.com
Description:  Child theme of Astra for Texas Parking Services.
Author:       Denis Buka
Template:     astra
Version:      1.0.2
Text Domain:  astra-child
*/

/* Custom styles go below this line. */

/* ==========================================================
   Header (Elementor Theme Builder)
   ========================================================== */

/* Top bar links (phone / Request Service) */
body .elementor-location-header .e-paragraph-base a {
	color: #ffffff;
	text-decoration: none;
}
body .elementor-location-header .e-paragraph-base a:hover {
	text-decoration: underline;
}

/* Social icons in the top bar and footer: centre the icon inside its link
   (by default the SVG sits on the text baseline, a few px low). */
.elementor-location-header .e-svg-base,
.elementor-location-footer .e-svg-base {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	line-height: 0;
	vertical-align: middle;
}
.elementor-location-header .e-svg-base svg,
.elementor-location-footer .e-svg-base svg {
	display: block;
}

/* Main menu – desktop */
.elementor-location-header .elementor-nav-menu--main .elementor-item {
	font-family: "Noto Sans", "PT Sans", Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 40px;
	color: #1a80b6;
	fill: #1a80b6;
	padding: 0;
	margin-right: 31px;
}
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu > li:last-child > .elementor-item {
	margin-right: 0;
}
.elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main .elementor-item:focus,
.elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-location-header .elementor-nav-menu--main .elementor-item.highlighted {
	color: #1a80b6;
	fill: #1a80b6;
}
/* Blue line above the current / hovered item */
.elementor-location-header .elementor-nav-menu--main .elementor-item:before {
	background-color: #1a80b6;
	height: 3px;
	top: 0;
}
.elementor-location-header .elementor-nav-menu--main .sub-arrow {
	display: none;
}

/* Dropdowns */
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu--dropdown {
	min-width: 170px !important;
	background-color: #f2efef;
	border-top: 3px solid #1a80b6;
	box-shadow: none;
}
.elementor-location-header .elementor-nav-menu--dropdown a,
.elementor-location-header .elementor-nav-menu--dropdown a.elementor-sub-item {
	font-family: "PT Sans", Arial, Helvetica, sans-serif;
	font-size: 13px;
	line-height: 19px;
	color: #333333;
	background-color: transparent;
	padding: 7px 20px;
	border-bottom: 1px solid #dcdada;
	border-left: 0;
}
.elementor-location-header .elementor-nav-menu--dropdown a:hover,
.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item-active,
.elementor-location-header .elementor-nav-menu--dropdown a.highlighted {
	color: #1a80b6;
	background-color: #ffffff;
}

/* Header search box (Elementor Pro Search Form) */
.elementor-location-header .elementor-search-form__container ,
.tps-search .elementor-search-form__container {
	min-height: 29px !important;
	height: 29px;
	border: 1px solid #d2d2d2 !important;
	border-radius: 0 !important;
	background-color: #ffffff !important;
	overflow: hidden;
}
.elementor-location-header .elementor-search-form__container:focus-within ,
.tps-search .elementor-search-form__container:focus-within {
	border-color: #1a80b6 !important;
}
.elementor-location-header .elementor-search-form__input ,
.tps-search .elementor-search-form__input {
	height: 27px !important;
	min-height: 0 !important;
	padding: 0 12px !important;
	font-family: "PT Sans", Arial, Helvetica, sans-serif;
	font-size: 13px !important;
	color: #747474 !important;
	background: transparent !important;
}
.elementor-location-header .elementor-search-form__input::placeholder ,
.tps-search .elementor-search-form__input::placeholder {
	color: #aaa9a9;
	opacity: 1;
}
.elementor-location-header .elementor-search-form__submit ,
.tps-search .elementor-search-form__submit {
	width: 29px !important;
	min-width: 29px !important;
	height: 27px !important;
	padding: 0 !important;
	background-color: #000000 !important;
	color: #ffffff !important;
	font-size: 12px !important;
}
.elementor-location-header .elementor-search-form__submit:hover ,
.tps-search .elementor-search-form__submit:hover {
	background-color: #1a80b6 !important;
}
@media (max-width: 767px) {
	.elementor-location-header .elementor-widget-search-form {
		width: 100% !important;
		max-width: 320px;
	}
}

/* Mobile / tablet menu */
.elementor-location-header .elementor-menu-toggle {
	color: #1a80b6;
	background-color: transparent;
	font-size: 24px;
}
.elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container {
	background-color: #ffffff;
	border-top: 3px solid #1a80b6;
}

/* Menu spacing + pointer colour (override Elementor defaults) */
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu > li {
	margin-right: 31px;
}
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu > li:last-child {
	margin-right: 0;
}
/* Keep top-level menu links the same size in every state (Elementor adds 13px padding on hover/focus) */
.elementor-location-header .elementor-nav-menu--main .elementor-item,
.elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main .elementor-item:focus,
.elementor-location-header .elementor-nav-menu--main .elementor-item.highlighted {
	padding: 0 !important;
}
.elementor-location-header .elementor-nav-menu--main .elementor-item:before,
.elementor-location-header .elementor-nav-menu--main .elementor-item:after {
	background-color: #1a80b6 !important;
}

/* ==========================================================
   Footer (Elementor Theme Builder)
   ========================================================== */
body .elementor-location-footer .e-paragraph-base a {
	color: #bfbfbf;
	text-decoration: none;
}
body .elementor-location-footer .e-paragraph-base a:hover {
	color: #ffffff;
}


/* ==========================================================
   Pages – full width (Elementor builds the layout)
   ========================================================== */
body.page .site-content > .ast-container,
body.search .site-content > .ast-container {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
	margin-left: 0;
	margin-right: 0;
}
body.page #primary,
body.page .site-main,
body.search #primary,
body.search .site-main {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding: 0;
	width: 100%;
}

/* ==========================================================
   Page content – links and lists
   ========================================================== */
.elementor-location-single .e-paragraph-base a,
.elementor-location-single .e-heading-base a,
.elementor-page .e-paragraph-base a,
.elementor-page .e-heading-base a {
	color: #1a80b6;
	text-decoration: none;
}
.elementor-location-single .e-paragraph-base a:hover,
.elementor-page .e-paragraph-base a:hover,
.elementor-location-single .e-heading-base a:hover,
.elementor-page .e-heading-base a:hover {
	text-decoration: underline;
}
.elementor .e-paragraph-base ul,
.elementor .e-paragraph-base ol {
	margin: 0 0 0 1.4em;
	padding: 0;
}
.elementor .e-paragraph-base li {
	margin-bottom: 4px;
}
.elementor .e-paragraph-base li ul {
	margin-top: 4px;
}


/* ==========================================================
   Boxed content inside full-width sections
   Sections with the Elementor global class "tps-boxed" keep a
   full-width background, while their content is centred and
   limited to --tps-content-width. Change the width here.
   ========================================================== */
:root {
	--tps-content-width: 1200px;
}
.elementor .tps-boxed {
	padding-left: max(30px, calc((100% - var(--tps-content-width)) / 2)) !important;
	padding-right: max(30px, calc((100% - var(--tps-content-width)) / 2)) !important;
}
@media (max-width: 767px) {
	.elementor .tps-boxed {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}
}


/* ==========================================================
   Home – client logo carousel (Elementor Pro Image Carousel)
   Logos are cropped to their artwork, shown at one height and
   their natural width, with an equal gap between them (the gap
   is set in functions.php). Arrows sit outside the logos.
   ========================================================== */
.tps-logo-carousel {
	width: 100%;
}
.tps-logo-carousel .swiper-slide {
	width: auto !important;
	height: 70px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.tps-logo-carousel .swiper-slide-inner,
.tps-logo-carousel .swiper-slide figure {
	margin: 0;
	height: 100%;
	display: flex;
	align-items: center;
}
.tps-logo-carousel .swiper-slide-image {
	width: auto !important;
	max-width: none !important;
	height: 70px !important;
	object-fit: contain;
	margin: 0;
}
.tps-logo-carousel .elementor-swiper-button {
	color: #1a80b6;
	font-size: 22px;
	opacity: 0.85;
	transition: opacity 0.2s;
}
.tps-logo-carousel .elementor-swiper-button:hover {
	opacity: 1;
}
.tps-logo-carousel .elementor-swiper-button svg {
	fill: #1a80b6;
}
@media (max-width: 767px) {
	.tps-logo-carousel .swiper-slide,
	.tps-logo-carousel .swiper-slide-image {
		height: 50px !important;
	}
}


/* ==========================================================
   Home – market flip boxes (Elementor Pro Flip Box)
   Five boxes share the row equally; they wrap on smaller screens.
   ========================================================== */
.elementor .tps-flip {
	flex: 1 1 0;
	min-width: 180px;
}
.tps-flip .elementor-flip-box__back .elementor-flip-box__layer__description {
	margin-bottom: 0;
}
@media (max-width: 1024px) {
	.elementor .tps-flip {
		flex: 1 1 calc(33.333% - 20px);
	}
}
@media (max-width: 767px) {
	.elementor .tps-flip {
		flex: 1 1 100%;
	}
}


/* ==========================================================
   Search results (Elementor Theme Builder "search-results")
   ========================================================== */
.tps-search {
	width: 100% !important;
}
/* Results without a featured image: hide the empty image slot */
.elementor-location-archive img.e-image-base:not([src]),
.elementor-location-archive img.e-image-base[src=""] {
	display: none !important;
}
