/*
 Theme Name:   Shayan Roofing Child
 Theme URI:    http://example.com/shayan-roofing-child
 Description:   Child theme for Hello Elementor — custom styles for Shayan-Roofing site
 Author:        Rocky
 Author URI:    http://example.com
 Template:      shayan-roofing
 Version:       1.0.0
 Text Domain:   shayan-roofing-child
*/

/* ===== GEIST FONT FAMILY ===== */

/* Thin 100 */
@font-face {
    font-family: "Geist";
    src: url("../shayan-roofing-child/assets/fonts/Geist-Thin.woff2") format("woff2"),
         url("../shayan-roofing-child/assets/fonts/Geist-Thin.woff") format("woff");
    font-weight: 100;
}

/* ExtraLight 200 */
@font-face {
    font-family: "Geist";
    src: url("../shayan-roofing-child/assets/fonts/Geist-ExtraLight.woff2") format("woff2"),
         url("../shayan-roofing-child/assets/fonts/Geist-ExtraLight.woff") format("woff");
    font-weight: 200;
}

/* Light 300 */
@font-face {
    font-family: "Geist";
    src: url("../shayan-roofing-child/assets/fonts/Geist-Light.woff2") format("woff2"),
         url("../shayan-roofing-child/assets/fonts/Geist-Light.woff") format("woff");
    font-weight: 300;
}

/* Regular 400 */
@font-face {
    font-family: "Geist";
    src: url("../shayan-roofing-child/assets/fonts/Geist-Regular.woff2") format("woff2"),
         url("../shayan-roofing-child/assets/fonts/Geist-Regular.woff") format("woff");
    font-weight: 400;
}

/* Medium 500 */
@font-face {
    font-family: "Geist";
    src: url("../shayan-roofing-child/assets/fonts/Geist-Medium.woff2") format("woff2"),
         url("../shayan-roofing-child/assets/fonts/Geist-Medium.woff") format("woff");
    font-weight: 500;
}

/* SemiBold 600 */
@font-face {
    font-family: "Geist";
    src: url("../shayan-roofing-child/assets/fonts/Geist-SemiBold.woff2") format("woff2"),
         url("../shayan-roofing-child/assets/fonts/Geist-SemiBold.woff") format("woff");
    font-weight: 600;
}

/* Bold 700 */
@font-face {
    font-family: "Geist";
    src: url("../shayan-roofing-child/assets/fonts/Geist-Bold.woff2") format("woff2"),
         url("../shayan-roofing-child/assets/fonts/Geist-Bold.woff") format("woff");
    font-weight: 700;
}

/* ExtraBold 800 */
@font-face {
    font-family: "Geist";
    src: url("../shayan-roofing-child/assets/fonts/Geist-ExtraBold.woff2") format("woff2"),
         url("../shayan-roofing-child/assets/fonts/Geist-ExtraBold.woff") format("woff");
    font-weight: 800;
}

/* Black 900 */
@font-face {
    font-family: "Geist";
    src: url("../shayan-roofing-child/assets/fonts/Geist-Black.woff2") format("woff2"),
         url("../shayan-roofing-child/assets/fonts/Geist-Black.woff") format("woff");
    font-weight: 900;
}

/* ===== END GEIST FONT ===== */

body {
    font-family: "Geist", sans-serif !important;
}
header {
    background: transparent !important;
    position: absolute !important;
	width: 100%;
}
.banner-home {
    position: relative;
}
.banner-content {
    position: absolute;
    bottom: 5rem;
    z-index: 9;
}
.elementor-widget-image-carousel .swiper .swiper-slide figure {
    line-height: 0;
}

/* SERVICES GRID */
.rocky-services-grid {
    display: grid;
    gap: 30px;
}

.rocky-services-grid.columns-2 { grid-template-columns: repeat(2, 1fr); }
.rocky-services-grid.columns-3 { grid-template-columns: repeat(3, 1fr); }
.rocky-services-grid.columns-4 { grid-template-columns: repeat(4, 1fr); }
.rocky-services-grid.columns-5 { grid-template-columns: repeat(5, 1fr); }
.rocky-services-grid.columns-6 { grid-template-columns: repeat(6, 1fr); }

.rocky-service-card {
    background: #fff;
    border: 1px solid #ddd;
    padding: 40px 20px;
    transition: .3s;
}
.rocky-service-card h3 {
    font-size: 24px;
    font-weight: 500;
}
.rocky-service-card:hover {
    transform: translateY(-5px);
    border-color: #d50000;
}

.rocky-service-img {
    width: 100%;
    border-radius: 8px;
    margin-bottom: 10px;
}

.rocky-btn {
    color: #d50000;
    font-weight: 600;
    text-decoration: none;
}
.rocky-service-card p {
    font-weight: 100;
    font-size: 20px;
}
.rocky-service-card a.rocky-btn {
    display: none;
}
.rocky-service-card a.rocky-card-link {
    text-decoration: none;
    color: #000;
}
.rocky-service-card {
    position: relative;
}
.rocky-service-card:before {
    content: '';
    position: absolute;
    background: #C5141A;
    width: 50px;
    height: 50px;
    bottom: 0;
    right: 0;
    border-radius: 50px 0px 0px 0px;
}

/*Fetuared Services Post */

/* ===== SERVICE TAB CARD ===== */

.rocky-service-card {
    background: #ffffff;
    display: flex;
    align-items: stretch;
    max-width: 100%;
    box-shadow: 0 25px 60px rgba(0,0,0,0.25);
}

/* LEFT IMAGE */
.rocky-service-image {
    width: 45%;
}

.rocky-service-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* RIGHT CONTENT */
.rocky-service-content {
    width: 55%;
    padding: 45px;
}

.rocky-service-content h3 {
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 16px;
    color: #111;
}
.fetured-services .e-n-tabs.e-activated button:before {
    content: '';
    position: absolute;
    width: 35px;
    height: 35px;
    right: -35px;
}

.rocky-service-content p {
    font-size: 20px;
    line-height: 1.7;
    color: #555;
    margin-bottom: 22px;
}

/* BUTTON */
.rocky-btn {
    background: #d62828;
    color: #fff;
    padding: 12px 22px;
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
}

.rocky-btn:hover {
    background: #b81f1f;
}

/* MOBILE */
@media (max-width: 991px) {
    .rocky-service-card {
        flex-direction: column;
    }

    .rocky-service-image,
    .rocky-service-content {
        width: 100%;
    }
}

/* IMPORTANT: tab title must be relative */
.e-n-tabs .e-n-tab-title {
    position: relative;
}

/* ACTIVE TAB BACKGROUND */
.e-n-tabs .e-n-tab-title[aria-selected="true"] {
    background: #60d27a; /* active bg color */
}

/* TRIANGLE ARROW */
.e-n-tabs .e-n-tab-title[aria-selected="true"]::after {
    content: "";
    position: absolute;
    right: -16px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 16px solid transparent;
    border-bottom: 16px solid transparent;
    border-left: 16px solid #ffffff;
}

.rocky-service-content ul {
    padding-left: 1.5rem;
	color: #C5141A;
	font-size: 16px;
}
.service-tab-content a.rocky-btn {
    display: unset;
    text-decoration: none;
    font-weight: 400;
    font-size: 24px;
    border-radius: 5px;
    padding-left: 30px;
    padding-right: 30px;
    float: left;
    color: #fff;
}
.featured-services {
    position: relative;
    overflow: hidden;
}
.featured-services {
    position: relative;
    overflow: hidden;
}

/* FINAL TUNED OVERLAY */
.featured-services::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        /* base dark blue layer */
        linear-gradient(
            90deg,
            rgba(7, 24, 38, 0.96) 0%,
            rgba(7, 24, 38, 0.90) 35%,
            rgba(7, 24, 38, 0.80) 60%,
            rgba(7, 24, 38, 0.75) 100%
        ),
        /* subtle diagonal depth (VERY LIGHT) */
        linear-gradient(
            135deg,
            rgba(0, 0, 0, 0.25) 0%,
            rgba(0, 0, 0, 0.05) 55%,
            rgba(0, 0, 0, 0.0) 100%
        );
    z-index: 1;
}

/* CONTENT ABOVE OVERLAY */
.featured-services > .elementor-container {
    position: relative;
    z-index: 2;
}

/*gallery*/

.gallry-slider .elementor-image-carousel-wrapper .swiper-slide img.swiper-slide-image {
    width: 100%;
    height: 600px;
    object-fit: cover;
}
.follow-us-button {
    background: #C5141A;
    border-radius: 5px;
    width: fit-content;
    margin: 0 auto;
	padding-left: 40px;
    padding-right: 40px;
}
.follow-us-button p {
    line-height: normal;
    color: #fff;
}

.rocky-contact-form .form-field {
    position: relative;
    margin-bottom: 15px;
}
.rocky-contact-form input, .rocky-contact-form textarea {
    width: 100%;
    padding: 14px 45px 14px 15px !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    background: transparent;
    color: #fff;
    font-size: 14px;
    border-radius: 6px !important;
    outline: none;
}
.rocky-contact-form textarea {
	
}
.contact-from-red {
    padding: 2.5rem;
	margin-left: 7rem;
}
.rocky-contact-form textarea {
    min-height: 50px;
    height: 52px;
}
/* PLACEHOLDER */
.rocky-contact-form ::placeholder {
    color: rgba(255,255,255,0.85);
}
/* ICON BASE */
.rocky-contact-form .form-field::after {
    content: "";
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    opacity: 0.9;
    background-size: contain;
    background-repeat: no-repeat;
}

/* ICONS (SVG via CSS) */
.icon-user::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 24 24'%3E%3Cpath d='M12 12c2.7 0 5-2.3 5-5s-2.3-5-5-5-5 2.3-5 5 2.3 5 5 5zm0 2c-3.3 0-10 1.7-10 5v3h20v-3c0-3.3-6.7-5-10-5z'/%3E%3C/svg%3E");
}

.icon-email::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
}

.icon-message::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h16v12H5.2L4 17.2V4zm0-2c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2H4z'/%3E%3C/svg%3E");
}

.rocky-contact-form input[type="submit"] {
    width: auto;
    background: #0b2a3c;
    border: none !important;
    padding: 12px 22px !important;
    color: #fff;
    font-weight: 400;
    font-size: 20px;
    border-radius: 6px;
    cursor: pointer;
}
.rocky-contact-form input[type="submit"]:hover {
    background: #081f2e;
}

/* RESPONSIVE */
@media (max-width: 480px) {
    .rocky-contact-form {
        padding: 25px;
    }
}

.rocky-testimonial-slider {
    overflow: hidden;
    padding: 10px 0 40px;
}
/*
.testimonial-card {
    background: #fff;
    border-radius: 16px;
    padding: 28px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.06);
    height: 100%;
} */
.testimonial-card .testi-cont {
	padding: 20px 20px;
	border: 1px solid #EEEEEE;
	border-radius: 16px;
}
.testimonial-stars {
    color: #f5a623;
    font-size: 18px;
    margin-bottom: 14px;
}
.testimonial-stars span.active {
    opacity: 1;
}

.testimonial-text {
    color: #8A8A8A;
    font-size: 16px;
	font-weight: 400;
}

.testimonial-author {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 22px;
}

.testimonial-avatar img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.testimonial-name strong {
    font-size: 28px;
    color: #111;
}
.testimonial-designation {
    color: #8A8A8A;
    font-size: 16px;
	font-weight: 400;
}


.rocky-blog-slider {
    padding: 10px 0 50px;
}

.blog-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    /*box-shadow: 0 8px 25px rgba(0,0,0,.08); */
    height: 100%;
	border-width: 1px;
	border-style: solid;
    border-color: #E1E1E1;
}

.blog-image img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
}

.blog-content {
    padding: 22px;
}

.blog-date {
    font-size: 14px;
    color: #9a9a9a;
    margin-bottom: 8px;
    font-weight: 300;
}

.blog-title {
    font-size: 21px;
    margin: 0 0 10px;
    line-height: 1.3;
}

.blog-title a {
    color: #111;
    text-decoration: none !important;
}

.blog-title a:hover {
    color: #c50000;
}
.blog-content a.blog-read-more {
    font-size: 15px;
    text-decoration: none;
}
.blog-excerpt {
    font-size: 14px;
    color: #000;
    line-height: 1.6;
    margin-bottom: 14px;
    font-weight: 300;
}

.blog-read-more {
    font-size: 14px;
    font-weight: 600;
    color: #111;
    text-decoration: none;
}

.blog-read-more:hover {
    color: #c50000;
}

.swiper-pagination-bullet {
    background: #c50000;
    opacity: .3;
}

.swiper-pagination-bullet-active {
    opacity: 1;
}

.footer-gallery .gallery img {
    margin: 0px;
}
@media (min-width: 768px) {
    .elementor-image-gallery .gallery-columns-2 .gallery-item {
        max-width: 35% !important;
    }
}
.banner-home figure.swiper-slide-inner .swiper-slide-image {
    width: 100%;
}
.fetured-services .rocky-service-card {
    height: 515px;
}
footer .elementor-element-5168b59 .fooet-menu .hfe-nav-menu ul.hfe-nav-menu {
    list-style: disc !important;
    list-style-type: disc !important;
    opacity: unset !important;
    color: #fff;
}
footer .elementor-element-5168b59 .fooet-menu .hfe-nav-menu ul.hfe-nav-menu li a:marker {
	unicode-bidi: isolate;
    font-variant-numeric: tabular-nums;
    text-transform: none;
    text-indent: 0px !important;
    text-align: start !important;
    text-align-last: auto !important;
}

/*Responsive ------------------*/

@media screen and (max-width: 1710px) {
	.heder-container {
		max-width: 95%;
		margin: 0 auto;
	}
	.heder-container .left-logo-hed {
		width: 35%;
	}
	header.elementor-element-4545eb1 {
		padding-bottom: 0;
	}
}

@media screen and (max-width: 1600px) {
	.container-xy {
		max-width: 90%;
		margin: 0 auto;
	}
	.boc-colms .elementor-element-ae1f75b {
		gap: 1.5rem;
	}
	.contact-from-red {
		margin-left: 5.7rem;
	}
	.featured-services .e-n-tabs-heading button {
		padding: 15px 20px;
	}
	.cliek-button a.elementor-button, .service-tab-content a.rocky-btn {
		font-size: 18px !important;
	}
	.service-tab-content a.rocky-btn {
		padding: 10px 25px;
	}
	.boc-colms .elementor-image-box-title {
		font-size: 20px !important;
	}
	.gallry-slider .elementor-image-carousel-wrapper .swiper-slide img.swiper-slide-image {
		height: 450px !important;
	}
}

@media screen and (max-width: 1440px) {
	.right-menu-hed ul.hfe-nav-menu a.hfe-menu-item {
		font-size: 13px !important;
		padding: 10px 8px !important;
	}
	.right-menu-hed .elementor-element-0f6e9fb a.elementor-button {
		padding: 12px 20px 13px 20px !important;
	}
	.container-py {
		max-width: 90%;
		margin: 0 auto;
	}
	.elementor-widget-n-tabs .e-n-tab-title-text {
		font-size: 15px;
	}
	.heder-container .hfe-site-logo img.hfe-site-logo-img {
		width: 120px;
	}
	header.elementor-element-4545eb1 {
		padding-bottom: 8px;
	} 
	.rocky-service-card h3 {
		font-size: 20px;
	}
	.rocky-service-card p {
		font-size: 15px;
	}
	.just-p p {
		font-size: 15px;
	}
	.boc-colms p.elementor-image-box-description {
		font-size: 15px !important;
	}
	.boc-colms {
		--padding-top: 6rem !important;
		--padding-bottom: 4rem !important;
	}
	.rocky-contact-form input[type="submit"] {
		font-size: 15px;
	}
	.home-cnt-full {
		margin-top: 3rem;
	}
	.home-cnt-full .elementor-element-ddc98da {
		padding-top: 3rem;
	}
	.testimonial-name strong {
		font-size: 15px !important;
	}
	.contact-from-red {
        margin-left: 4.7rem;
    }
	.home-cnt-full {
		background-size: 30% 100% !important;
	}
	.testimonial-text p, .testimonial-designation {
		font-size: 14px;
	}
	.contact-from-red p {
		font-size: 14px;
	}
	.banner-content .elementor-heading-title {
		font-size: 42px !important;
	}
	.banner-content p {
		font-size: 24px;
	}
	.banner-content a.elementor-button {
		font-size: 16px !important;
		padding: 12px 25px 12px 25px !important;
	}
	.featured-services {
		padding-top: 3rem !important;
		padding-bottom: 3rem;
	}
	.elementor-element-e66a1ed {
		margin-bottom: 0rem !important;
	}
	.rocky-service-card p, .just-p p, .fetured-services .rocky-service-content ul {
        font-size: 15px;
    }
	.rocky-service-card {
		align-items: center;
	}
	.cliek-button a.elementor-button, .service-tab-content a.rocky-btn {
        font-size: 15px !important;
    }
	.follow-us-button p {
		font-size: 15px;
	}
	.follow-us-button a.elementor-icon {
		font-size: 15px;
	}
	.follow-us-button .elementor-social-icon {
		height: 15px !important;
	}
	.follow-us-button {
		gap: 0.5rem;
	}
	.gallry-slider .elementor-image-carousel-wrapper .swiper-slide img.swiper-slide-image {
        height: 380px !important;
    }
	.home-cnt-full {
        margin-top: 1rem;
    }
	.elementor-element-ddc98da {
		padding-bottom: 2rem;
	}
	.contact-from-red {
		margin-left: 4rem;
		padding: 2rem;
	}
	.elementor-element-e9e7d42 {
		padding: 3rem 0;
	}
	.blog-date {
		font-size: 11px;
	}
	.elementor-element-6b7d90d p {
		font-size: 14px;
	}
	footer p {
		font-size: 15px !important;
	}
	footer .hfe-nav-menu a.hfe-menu-item {
		font-size: 15px !important;
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}


} 
@media screen and (max-width: 1280px) {
	
	.right-menu-hed ul.hfe-nav-menu a.hfe-menu-item {
        font-size: 13px !important;
        padding: 8px 5px !important;
    }
	.elementor-element-7fd749a p.elementor-image-box-description {
		font-size: 18px !important;
	}
	.heder-container .hfe-site-logo img.hfe-site-logo-img {
        width: 100px;
    }
	.fetured-services .rocky-service-card {
		padding: 20px 20px;
	}
	.elementor-widget-n-tabs .e-n-tab-title-text {
        font-size: 14px;
        line-height: normal;
    }
	.rocky-service-card p {
		margin-bottom: 0.5rem;
	}
	.elementor-element-2876997 {
		padding: 4rem 0;
	}
	.boc-colms .elementor-image-box-title {
        font-size: 16px !important;
    }
	.rocky-services-grid.columns-3 {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 768px) {
	.rocky-services-grid.columns-4 {
		grid-template-columns: repeat(2, 1fr);
	}
	.heder-container .hfe-site-logo img.hfe-site-logo-img {
        width: 65px;
    }
	.mobile-0menu {
		padding: 5px 0;
	}
	.banner-content {
		position: absolute;
		bottom: 1rem;
		z-index: 9;
	}
	.banner-content .elementor-heading-title {
        font-size: 32px !important;
    }
	.banner-content p {
        font-size: 15px;
    }
	.banner-content a.elementor-button {
        font-size: 14px !important;
        padding: 10px 20px 10px 20px !important;
    }
	.elementor-14 .elementor-element.elementor-element-caf8eeb .elementor-heading-title {
		font-size: 32px !important;
	}
	.elementor-element-6b739a2 {
		display: inherit;
		flex-direction: column-reverse !important;
	}
	.fetured-services .rocky-service-card {
		height: unset;
	}
	.fetured-services .rocky-service-card .rocky-service-image img {
		height: 250px;
	}
	.fetured-services .rocky-service-card .rocky-service-content {
		padding: 1rem 0;
	}
	.boc-colms .elementor-element-ae1f75b > * {
		width: 25%;   /* 4 columns */
	}
	.boc-colms .elementor-element-ae1f75b {
		display: flex;
		flex-wrap: wrap;
		grid-template-columns: repeat(2, 1fr);
		gap: 1rem;
	}
	.contact-from-red {
        margin-left: 2.5rem;
        padding: 2rem;
    }
	.swiper-pagination {
		position: unset !important;
	}
}

@media screen and (max-width: 668px) {
	.mobile-0menu .elementor-element-9faee9b {
		gap: 0;
	}
	.mobile-0menu .elementor-element-9faee9b .elementor-element-bfd68ed {
		width: unset;
	}
	.e-n-tabs .e-n-tab-title[aria-selected="true"]::after {
		bottom: 0;
	}
	.fetured-services .e-n-tabs.e-activated button:before {
		
	}
	.elementor-element-ac2e3e5 {
		background-image: unset !important;
	}
	.contact-from-red {
        margin-left: 0;
        padding: 2rem;
    }
	.elementor-element-aec464f {
		max-width: 90% !important;
		margin: 0 auto;
	}
	body header {
		position: unset !important;
		background-color: #1B415D ! IMPORTANT;
	}
	.banner-content .elementor-heading-title {
        font-size: 24px !important;
    }
	.rocky-services-grid.columns-4 {
        grid-template-columns: repeat(1, 1fr);
    }
	.rocky-contact-form {
        padding: 0px;
    }
	.gallery figure.gallery-item {
		width: auto;
	}
	.rocky-services-grid.columns-3 {
		grid-template-columns: repeat(1, 1fr);
	}
	
}
@media screen and (max-width: 480px) {
	.rocky-contact-form {
        padding: 0px !important;
    }
	.inner-page-banner {
		padding-top: 6rem;
		padding-bottom: 6rem;
	}
	.banner-content p {
        font-size: 13px;
    }
}



footer .elementor-element-5168b59 .fooet-menu .hfe-nav-menu ul.hfe-nav-menu a.hfe-menu-item:before {
    content: '•';
    opacity: unset !important;
    background: transparent !important;
    font-size: 20px;
    position: absolute;
    left: 0;
}
.services-page img.rocky-service-img {
    display: none;
}