/*
Theme Name:   Somentra Child
Theme URI:    https://themeforest.net/user/greatives
Description:  Somentra Child Theme
Version:      2.1.0
Author:       Greatives Team
Author URI:   https://greatives.eu
Template:     impeka
*/


/* ==========================================
=! header
------------------------------------------ */

/* --- top bar --- */
.grve-top-bar-row {
	
	& .grve-left-area {
		flex: unset !important;
	}
	
	& .top-bar-phone {
		font-weight: 500 !important;
	}
}

/* --- nav --- */
.grve-menu li.current-menu-item a span {
	border-bottom: 1px var(--wp--preset--color--primary-1) solid;
}


/* ==========================================
=! footer
------------------------------------------ */

/* --- overrides --- */
#grve-footer .grve-widget-area .grve-container {
	border-bottom: none;
}

.widget, .widgets {
	margin-bottom: 0.8em;
}

.widget.widget_nav_menu li {
	margin-bottom: 0;
}
	
/* size & layout */

.grve-footer-column:first-child {
	padding-right: 40px !important;
	
}
.grve-footer-column:nth-child(2) {
	padding-inline: 40px !important;
}
.grve-footer-column:nth-child(3) {
	padding-left: 40px !important;
}

.grve-footer-column:nth-child(n+3) {
	display: flex;
	flex-direction: column;
	justify-content: center;
}


/* --- custom borders / alignment --- */

/* apply borders, minus the height of the first element */
.grve-widget-area .grve-footer-column:nth-child(-n+2)::after {
	content: "";
	width: 1px;
	height: calc(100% - calc(20px + 0.8em)); /* element height + bottom padding */
	display: block;
	position: absolute;
	background-color: #6d6e71;
	right: 0;
	bottom: 0;
}

/*.menu-services-container{
	margin-top:-5px;
}*/

.grve-widget-area .grve-footer-row  {
	
	/* type */
	& .wp-block-heading {
		font-size: 15px;
		font-weight: 500;	
		line-height: 20px;
	}
	
	& .footer-title--secondary {
		color: var(--wp--preset--color--primary-2) !important;	
	}
	
	& .grve-widget:has(.footer-title--secondary) {
		margin-bottom: 0 !important;
	}
		
	& #menu-services{
		line-height:20px;
	}
	
	/* social icon(s) */
	& .grve-social.grve-icon-type ul {
		justify-content: center;
	}
	
	& .grve-social.grve-icon-type a:hover {
		transform: none;
		background: var(--wp--preset--color--primary-1);
	}
		
	& .grve-social.grve-icon-type a:hover .grve-icon {
		color: #fff !important;
	}	
}


/* --- bottom bar / area --- */



/*  overrides */
#grve-footer .grve-footer-column.grve-footer-column-1-2 {
	width: 80%;
}

/* styles */
.grve-footer-bar-section {
	
	& .grve-copyright {
		font-size: 11px;
		line-height:14px;
	}
	
	& .grve-copyright strong {
		line-height:20px;
	}
}


/* ==========================================
=! home
------------------------------------------ */

/* --- overrides --- */
body.home #grve-main-content .grve-main-content-wrapper {
	padding-top: 0;
}

/* --- hero --- */
.home-hero--angled {
	
	& .grve-section, .grve-row {
		min-height: 50vh;
		background-color: var(--wp--preset--color--primary-1);
	}
	
	& .grve-bg-image {
		background-position: center top;
		/*background-size: 120%;*/
	}
	
	& .grve-column .grve-column-content {
		display: flex;
		height: 100%;
		align-content: center;
		align-items: center;
		justify-content: center;
		z-index: 999;
		position: relative;
	}
	
	& .grve-row.grve-columns-gap-default .grve-column:nth-child(2)::before {
		position: absolute;
		z-index: 1;
		content: "";
		left: -20%;
		top: 0;
		height: 100%;
		width: 30%;
		background-color: var(--wp--preset--color--primary-1);
		-webkit-transform: skewX(-10deg);
		-moz-transform: skewX(-10deg);
		-ms-transform: skewX(-10deg);
		transform: skewX(-10deg);
	}
	
	& .grve-text {
		color: white;
		font-weight: 500;
	}
}

.row-icons h3{
	margin-bottom:0 !important;
}

.grve-carousel.insta-carousel{
	
	& .grve-carousel-item-wrapper{
	 	aspect-ratio: 1 / 1; /* This ensures the container is always square */
  		overflow: hidden; /* Hides any part of the image that goes outside the container */
		
	}
	
	& .grve-post-content{
		z-index:-10;
	}
	
	& .grve-bg-white{
		opacity:0;
	}
	
	& article:hover .grve-bg-white{
		opacity:30%;
	}
}

.grve-carousel.insta-carousel .grve-hover-item.grve-hover-style-1.hover .grve-thumbnail::before, .grve-post-item.grve-style-3:hover .grve-background-wrapper .grve-bg-image::before{
	content:'';
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(-50%, -50%);
	width:100px;
	height:100px;
	z-index:4;
	opacity:.75 !important;
	background: url(https://irenesdrycleaning.com.au/wp-content/uploads/2025/11/ico-irenes-white.svg) center center no-repeat !important;

	/*background: url(https://irenesdrycleaning.com.au/wp-content/uploads/2025/09/ico-insta-white.svg) center center no-repeat !important;*/
}



.services-carousel, .services-grid{
	& .grve-hover-item.grve-hover-style-1, .grve-carousel-item-wrapper{
		background: var(--wp--preset--color--primary-3);
		transition: background .1s ease-in;
	} 
	
	& .grve-content-inner{
		padding: 10px 30px 30px;
		min-height:140px;
	}
	
	
	& .grve-title{
		color: #58595b !important;
	}
	
	
	& .grve-image-hover:hover img{
		filter: grayscale(60%) !important;
	}

	
	& .grve-hover-item.grve-hover-style-1.hover{
		
	
		
		& .grve-thumbnail img{
		transform: none !important;
		}

	}
	
}

.blog-grid{
	
	& article{
		padding-block: 0 !important;
	}
	
	& .grve-post-item.grve-style-1:hover .grve-post-media .grve-thumbnail, & .grve-post-item.grve-style-1:hover .grve-post-media{
		transform: none !important;
	}
	
	& .grve-post-item.grve-style-1 .grve-post-media:hover img{
		filter: grayscale(60%);
	}
	& .grve-post-item.grve-style-1 .grve-post-title:hover{
		color: var(--wp--preset--color--primary-1);
	}
	 & .grve-post-content{
		padding: 30px;
		min-height: 140px;
		 background: var(--wp--preset--color--primary-3);
  	 }
	
	& .grve-post-item-inner{
		 background: var(--wp--preset--color--primary-3);
	}
	& .grve-post-media{
		margin-bottom:0 !important;
		
		& .grve-thumbnail{
			aspect-ratio: 1 / 1;
		}
		
		& img{
			object-fit: cover;
		}
	}
}

.follow-box{
	display: flex;
	flex-direction: row;
	align-items: center;

	
	& a{
		display: inline-flex;
		gap:5px;
	}
	
	& .grve-box-title{
		color: var(--wp--preset--color--primary-1);
	}
	
	& .grve-box-content{
		margin-top:0 !important;
		text-transform: uppercase;
		font-weight: 600;
		font-size:18px;
		letter-spacing:1px;
		color: var(--wp--preset--color--primary-6);
	}
}

.map-spacer .grve-column-link{
	width:100% !important;
	height:100% !important;
	display:block;
	min-height:30vh;
}

/* ==========================================
=! blog
------------------------------------------ */

.single-post{
	
	& .grve-post-comments, .grve-post-author{
		display:none;
	}
	
	& .grve-post-simple-title-wrapper{
		margin-bottom:0;
	}

	
}

/* ==========================================
=! components
------------------------------------------ */

/* --- service features --- */


	

.service-feature-box {
	
	display:flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
		
	
	/* image size overrides */
	& .grve-thumbnail {
		padding-top: 0 !important;
	}
	
	& .grve-thumbnail-wrapper img:not(.grve-dummy-image):not(.grve-image-from-url) {
		position: relative !important;
		width: auto; /* sets icon size */
		min-height: auto;
	}
	
	&.grve-media-box.grve-style-1 .grve-box-content {
		margin-top: 1em;
	}
	
	/* border */
	& .grve-box-title::after {
		content: "";
		width: 100%;
		height: 1px;
		display: block;
		margin-top: 10px;
		background-color: var(--wp--preset--color--primary-2);
	}		
}

.service-feature-icon {
	
	/* image size overrides */
	& .grve-thumbnail {
		padding-top: 0 !important;
	}
	
	&:hover a h3{
		color: var(--wp--preset--color--primary-1) !important;
	}
	
	&:hover a img{
		filter: brightness(0) saturate(100%) invert(22%) sepia(47%) saturate(3667%) hue-rotate(290deg) brightness(95%) contrast(88%);
	}
	
	& .grve-thumbnail-wrapper img:not(.grve-dummy-image):not(.grve-image-from-url) {
		position: relative !important;
		/* width: 50px;  sets icon size */
		height:70px;
		min-height: auto;
		margin: auto;
	}
	
	&.grve-media-box.grve-style-1 .grve-box-content {
		margin-top: 1em;
	}	
} 

/* ==========================================
=! portfolio - services
------------------------------------------ */


#grve-sidebar ul#menu-services{
	display: flex;
	flex-direction: column;
	gap:10px;
	margin-top:5px;
}


#grve-sidebar ul#menu-services li.current-menu-item a{
		background-color: var(--wp--preset--color--primary-1);
		color:#fff;
		
		&::after{
			filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(76deg) brightness(100%) contrast(101%);
		}
}
#grve-sidebar ul#menu-services li a{
	display:flex;
	flex-direction: row;
	line-height: normal;
	padding: 15px;
	font-size:15px;
	line-height:22px;
	background-color: var(--wp--preset--color--primary-3);
	align-items: center;
	justify-content: space-between;
	
	
	&::after{
		content: '';
		background: url(https://irenesdrycleaning.com.au/wp-content/uploads/2025/09/ico-arrow.svg) no-repeat;
		width:10px;
		height:18px;
		background-size:contain;
		
	}
	
	&:hover{
		background-color: var(--wp--preset--color--primary-1);
		color:#fff;
		
		&::after{
			filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(76deg) brightness(100%) contrast(101%);
		}
	}
}

.service-inner-padding{
	padding-inline: 40px;
}

/* ==========================================
=! Irene’s Slider
------------------------------------------ */
.irenes-slider-item-block {
    display: flex;
    width: 100%;
    position: relative;
    overflow: hidden;
}
.grve-image-wrapper {
    flex: 0 0 57%;
}
.ks-text-wrapper {
    flex: 0 0 43%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    text-align: right;
    /* height: 100%; */
    background: #0F9ADB; 
    padding: 30px;
    position: relative;
    color: #fff;
}
.grve-image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
}
.ks-text-wrapper::before {
    content: "";
    position: absolute;
    left: -10%;
    top: 0;
    width: 200px;
    height: 100%;
    background: inherit;
    transform: skewX(-10deg);
    transform-origin: center;
    z-index: 0;
}
.ks-text-wrapper > * {
    position: relative;
    z-index: 1;
}
.ks-text-inner {
    padding-right: calc((100vw - 1170px) / 2);
}


/* ==========================================
=! responsive
------------------------------------------ */

@media (min-width:1201px){
	.grve-widget-area .grve-footer-column:first-child {
		width:23% !important;
	}

	.grve-widget-area .grve-footer-column:nth-child(2) {
		width:27% !important;
	}
	
	#block-21{
		margin-top: calc(5px + 0.8em);
	}
}

@media (max-width:1200px){
	.grve-footer-column:nth-child(3) {
		padding-left: 15px !important;
	}
	.grve-widget-area .grve-footer-column:nth-child(-n+2)::after{
		display:none;
	}
}

@media (max-width:1023px){
	
	.grve-footer-column:first-child {
		margin: auto;
	}
	
	.grve-header-row{
		flex-flow: row-reverse wrap;
	}
	
	#grve-top-bar .grve-top-bar-row{
		flex-direction:row;
	}
	
	#grve-top-bar .grve-top-bar-row .grve-left-area, #grve-header .grve-right-area{
    	justify-content: flex-start;
  	}
	
	#grve-top-bar .grve-top-bar-row .grve-right-area {
    	justify-content: flex-end;
  	}
	
	.grve-header-row{
		
		& .grve-left-area{
			padding-left:18px;
		}
		
		& .grve-right-area{
			padding-left:18px;
		}
	}
	
}

@media (max-width:810px){
	.grve-left-area strong, .grve-left-area span{
		display:none;
	}

}

@media (min-width:768px) and (max-width:1200px){
	.grve-footer-row{
		
		& .grve-footer-column-1-4{
			width:50% !important;
		}
	}
}

@media (min-width:768px) and (max-width:1023px){
	.single-portfolio #grve-content.grve-with-sidebar #grve-sidebar{
		width:25%;
		float:left;
		padding-top: 72px !important;
	}
	.single-portfolio #grve-content.grve-left-sidebar #grve-main-content {
  		float: right;
		width:75%;
		padding-left:30px;
	}
	.single-portfolio #grve-content.grve-left-sidebar .grve-content-wrapper{
		max-width: unset !important;
	}
}

@media (min-width:768px){
	
	.single-portfolio .#grve-sidebar ul#menu-services{
		max-width:270px;
	}
	
	.single-post{
	
		& article.type-post{
			display: grid;
			grid-template-columns: 30% 70%;
			max-width: 1170px;
    		width: calc( 100% - 7.500rem );
			margin:auto;
		}
		
		& #grve-single-media .grve-container, & #grve-single-content .grve-container{
			width:100%;
		}
		
		& #grve-single-content .grve-container{
			padding-left:30px;
			padding-right:30px;
		}
	
	}
	


}

@media (max-width:768px){
	
	.irenes-slider-item-block{
			flex-direction:column;
		
	
		
		& .ks-text-wrapper{
			min-height:220px;
		}
	
	}
	
	.ks-text-wrapper::before{
		width:100%;
		transform: skewy(10deg);
		left:0;
		top:-50px;
	}
	
	.ks-text-wrapper{
		text-align:center;
		align-items: center;
	}
	
	
}





@media (max-width:767px){
	
	
	
	
	
	/* footer */
	
	.grve-footer-row{
		
		margin-left:0 !important;
		margin-right:0 !important;
		
		& .grve-footer-column-1-4:first-child, .grve-footer-column-1-4:nth-child(2){
			width:50% !important;
		}
		
		& .grve-footer-column-1-4:nth-child(2)::before{
			content: "";
			width: 1px;
			height: 98%; /* element height + bottom padding */
			display: block;
			position: absolute;
			background-color: #6d6e71;
			left: -30px;
			bottom: 0;
		}
		
		& .grve-footer-column-1-4:nth-child(3){
			display: grid;
			grid-template-columns: 110px 190px;
			grid-column-gap:20px;
			grid-row-gap: 0;
			align-items: center;
		}
		
		
		
		& #block-21{
			grid-row: span 2;
			
			& img{
				height:110px !important;
			}
		}
		
		
		& #block-22, #block-18{
			grid-column-start:2;
			
		
			& .wp-block-heading{
				max-width: unset !important;
				
				
			}
		}
		
	
		
		& .wp-block-heading{
			max-width: 110px;
		}
	}
	
	.grve-footer-column, .grve-footer-column:nth-child(2), .grve-footer-column:nth-child(3), .grve-footer-column:first-child  {
		padding: 0 !important;
	}
	
	.grve-widget-area .grve-footer-column:nth-child(-n+2)::after {
		display: none;
	}
	
	.single-portfolio{
	
		& #grve-content.grve-left-sidebar .grve-content-wrapper, & .grve-container{
			max-width: unset !important;
		}
		
		& #grve-main-content .grve-main-content-wrapper{
			padding-top: 30px;
			padding-bottom:0;
		}
		
		& #grve-content.grve-with-sidebar #grve-sidebar{
			padding-top:0 !important;
		}
		
		& .service-inner-padding:not(.grve-headings-white){
			padding-inline:0;
		}
		& .service-inner-padding{
			padding-inline: 20px;
		}
		& .service-inner-padding.grve-headings-white .grve-row-inner{

			& .grve-column-3-4{
				width:75%;
			}
			
			& .grve-column-1-4{
				width:25%;
			}
			
			& h2{
				font-size:24px !important;
			}
		}
	}
	
	
}

@media (max-width:536px){
	
	.grve-footer-row .grve-footer-column-1-4:nth-child(2)::before{
		display:none !important;
	}
}