/*
Theme Name: Advia Child
Theme URI: https://advia.keydesign.xyz/
Description: Financial & Business Consulting Elementor WordPress Theme
Author: Key-Design
Author URI: http://themeforest.net/user/Key-Design
Template: advia
Version: 1.0
License: Envato Standard License
License URI: https://themeforest.net/licenses/standard
Tags: one-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, custom-menu, featured-images, flexible-header, post-formats, sticky-post, translation-ready, rtl-language-support
Text Domain: advia-child
*/

/* ==========================================================================
   Custom Child Theme Styles
   ========================================================================== */

/* Add your custom styles here */

/* ==========================================================================
   CF7 Contact Form - Grid Style (RTL)
   ========================================================================== */

.cf7-contact-section .elementor-heading-title {
	font-size: 26px;
	font-weight: 700;
	line-height: 1.4;
	color: #1a1a1a;
	text-align: right;
}

/* The wpcf7-spinner is inserted by CF7 JS after the submit button.
   If it lands inside .cf7-row it becomes a 3rd grid item and breaks layout.
   Hide it at the form level before it can affect anything. */
.cf7-grid-form .wpcf7-spinner,
.wpcf7 .wpcf7-spinner {
	display: none !important;
	position: absolute !important;
}

/* Constrain the CF7 wrapper chain — target .wpcf7 directly since
   the Elementor widget class name varies by CF7 integration plugin */
.wpcf7 {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	box-sizing: border-box;
}

.wpcf7 form.wpcf7-form {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	box-sizing: border-box;
}

.cf7-grid-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
}

/* .cf7-row is the outer container.
   When autop is off: direct children (spans + submit) are the grid items.
   When autop wraps in <p>: the <p> is a grid item that spans all columns,
   then the <p> itself becomes the inner grid. Both cases work. */
.cf7-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	overflow: hidden;
}

/* CF7 autop wraps both fields in a single <p> tag.
   Make that <p> span the full row width, then become its own 2-column grid. */
.cf7-row > p {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	grid-column: 1 / -1;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
}

/* The <span> CF7 wraps each field in — must be block to fill the grid cell */
.cf7-row .wpcf7-form-control-wrap {
	display: block !important;
	width: 100% !important;
	overflow: hidden;
}

/* ---- Inputs ---- */
.cf7-row input[type="text"],
.cf7-row input[type="tel"],
.cf7-row input[type="email"] {
	width: 100% !important;
	height: 50px !important;
	padding: 0 16px !important;
	border: 1.5px solid #e0e0e0 !important;
	border-radius: 30px !important;
	background: #ffffff !important;
	color: #333 !important;
	font-size: 15px !important;
	text-align: right !important;
	direction: rtl !important;
	box-shadow: none !important;
	outline: none !important;
	transition: border-color 0.2s ease;
}

.cf7-row input[type="text"]:focus,
.cf7-row input[type="tel"]:focus,
.cf7-row input[type="email"]:focus {
	border-color: #3a7d5a !important;
}

.cf7-row input[type="text"]::placeholder,
.cf7-row input[type="tel"]::placeholder,
.cf7-row input[type="email"]::placeholder {
	color: #b5b5b5;
}

/* ---- Submit button ----
   The theme forces [type="submit"] to display:inline-flex with min-height only.
   Override to display:block with explicit height so it matches input height. */
.cf7-row input[type="submit"] {
	display: block !important;
	width: 100% !important;
	height: 50px !important;
	min-height: unset !important;
	padding: 0 16px !important;
	background-color: #0f6c5a !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 30px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	cursor: pointer;
	transition: background-color 0.2s ease;
	box-shadow: none !important;
}

.cf7-row input[type="submit"]:hover {
	background-color: #245940 !important;
}

/* Validation error */
.cf7-row .wpcf7-not-valid-tip {
	font-size: 12px;
	color: #c0392b;
	text-align: right;
	margin-top: 4px;
	display: block;
}

/* Mobile: single column — override both the outer row and the inner <p> grid */
@media (max-width: 767px) {
	.cf7-row {
		grid-template-columns: 1fr;
	}

	.cf7-row > p {
		grid-template-columns: 1fr !important;
	}

	/* KD Image Effect — always show overlay on mobile (no hover on touch screens) */
	.kd-widget-container .kd-image-effect.kd-anim-img--zoom-in::before {
		opacity: 1 !important;
	}

	.kd-image-effect__desc {
		display: none !important;
	}

	/* Page header — fixed height on mobile */
	.page-header.title-bar-text-center {
		height: 250px !important;
		display: flex;
		align-items: center;
	}

	/* Submenu items styling */
	.sub-menu > .menu-item a {
		font-weight: 400 !important;
		padding-right: 8px !important;
	}
}


.site-logo-wrapper .site-logo .primary-logo img{
   width: 100%;
   height: 60px;
}

.page-header.title-bar-text-center {
   height: 400px;
   display: flex;
   align-items: center;
}

/* ==========================================================================
   KD Image Effect — always show overlay, button, and description
   ========================================================================== */

/* Overlay — always visible */
.kd-widget-container .kd-image-effect.kd-anim-img--zoom-in::before {
	opacity: 1 !important;
}

/* Button */
.kd-image-effect .kd-button,
.kd-image-effect .keydesign-button,
.kd-image-effect a.button,
.kd-image-effect .btn {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	pointer-events: auto !important;
}

strong,b {
   font-weight: 700;
}

#header-cta {
   font-size: 14px;
}

div#header-container {
   display: flex;
   justify-content: space-between;
}

.w-100{
   width:100%;
}

/* ==========================================================================
   404 Error Page - Hebrew RTL
   ========================================================================== */

.block-error-404 {
	text-align: center;
	direction: rtl;
}

.block-error-404 .content {
	direction: rtl;
	text-align: center;
}

.block-error-404 h1 {
	color: #0f6c5a;
	font-size: 120px;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 20px;
}

.block-error-404 h3 {
	font-size: 32px;
	font-weight: 600;
	color: #1a1a1a;
	margin-bottom: 16px;
}

.block-error-404 p {
	font-size: 18px;
	color: #666;
	line-height: 1.6;
	max-width: 600px;
	margin: 0 auto 30px;
}

.error-404-buttons {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin-top: 30px;
	flex-wrap: nowrap;
}

.error-404-buttons .kd-widget-container {
	margin: 0;
	flex: 0 0 auto;
}

.error-404-buttons .kd-button-wrap {
	width: 200px;
}

.error-404-buttons .kd-button {
	direction: rtl;
	width: 100%;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 15px 30px;
	font-size: 16px;
	font-weight: 600;
	border-radius: 30px;
	transition: all 0.3s ease;
	text-decoration: none;
}

.error-404-buttons .kd-button__icon {
	display: none !important;
}

.error-404-buttons .error-404-btn-secondary {
	background-color: #ffffff !important;
	color: #000000 !important;
	border: 2px solid #000000 !important;
}

.error-404-buttons .error-404-btn-secondary:hover {
	background-color: #f5f5f5 !important;
}

@media (max-width: 767px) {
	.block-error-404 h1 {
		font-size: 80px;
	}
	
	.block-error-404 h3 {
		font-size: 24px;
	}
	
	.block-error-404 p {
		font-size: 16px;
	}
	
	.error-404-buttons {
		flex-direction: column;
		gap: 15px;
		width: 100%;
		padding: 0 20px;
	}
	
	.error-404-buttons .kd-widget-container {
		width: 100%;
	}
	
	.error-404-buttons .kd-button-wrap {
		width: 100%;
	}
	
	.error-404-buttons .kd-button {
		padding: 14px 20px;
		font-size: 15px;
	}
}