/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

@font-face {
    font-family: 'Fb Absoluti Heb';
    src: url('fonts/FbAbsolutiHeb-Regular.eot');
    src: url('fonts/FbAbsolutiHeb-Regular.eot?#iefix') format('embedded-opentype'),
        url('fonts/FbAbsolutiHeb-Regular.woff2') format('woff2'),
        url('fonts/FbAbsolutiHeb-Regular.woff') format('woff'),
        url('fonts/FbAbsolutiHeb-Regular.ttf') format('truetype'),
        url('fonts/FbAbsolutiHeb-Regular.svg#FbAbsolutiHeb-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Fb Absoluti Heb';
    src: url('fonts/FbAbsolutiHeb-Medium.eot');
    src: url('fonts/FbAbsolutiHeb-Medium.eot?#iefix') format('embedded-opentype'),
        url('fonts/FbAbsolutiHeb-Medium.woff2') format('woff2'),
        url('fonts/FbAbsolutiHeb-Medium.woff') format('woff'),
        url('fonts/FbAbsolutiHeb-Medium.ttf') format('truetype'),
        url('fonts/FbAbsolutiHeb-Medium.svg#FbAbsolutiHeb-Medium') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Fb Absoluti Heb';
    src: url('fonts/FbAbsolutiHeb-Bold.eot');
    src: url('fonts/FbAbsolutiHeb-Bold.eot?#iefix') format('embedded-opentype'),
        url('fonts/FbAbsolutiHeb-Bold.woff2') format('woff2'),
        url('fonts/FbAbsolutiHeb-Bold.woff') format('woff'),
        url('fonts/FbAbsolutiHeb-Bold.ttf') format('truetype'),
        url('fonts/FbAbsolutiHeb-Bold.svg#FbAbsolutiHeb-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Fb Absoluti Heb';
    src: url('fonts/FbAbsolutiHeb-ExtraLight.eot');
    src: url('fonts/FbAbsolutiHeb-ExtraLight.eot?#iefix') format('embedded-opentype'),
        url('fonts/FbAbsolutiHeb-ExtraLight.woff2') format('woff2'),
        url('fonts/FbAbsolutiHeb-ExtraLight.woff') format('woff'),
        url('fonts/FbAbsolutiHeb-ExtraLight.ttf') format('truetype'),
        url('fonts/FbAbsolutiHeb-ExtraLight.svg#FbAbsolutiHeb-ExtraLight') format('svg');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}
body, h1, h2, h3, h4, h5, h6, p, a, span, div {font-family: 'Fb Absoluti Heb', inter !important;}
.font-normal{font-weight: normal;}
.font-200 {font-weight: 200;}
.font-500 {font-weight: 500;}
.font-bold { font-weight: bold;}
.swiper:not(.swiper-initialized) { opacity: 0; }
header,
header#masthead { position: sticky !important; top: 0; z-index: 9999 !important; backdrop-filter: blur(6px); }

@media(max-width: 767.98px) {
    .prod-shadow-filter { filter: drop-shadow(0px 0px 63.9px #2B7FFF33); }
}

/* Our work shortcode style ->> */
.prod-our-work-video-wrapper { border-radius: 16px; overflow: hidden; position: relative; border: 1px solid #27272A; }
.prod-our-work-video-wrapper:after { content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 50%; background: linear-gradient(180deg, rgba(9, 9, 11, 0) 0%, #09090B 100%); }
.prod-our-work-video-wrapper video { display: block; object-fit: cover; object-position: top center; }
.prod-our-work-video-wrapper .prod-our-work-video-control { display: block; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 100%; z-index: 1; }
.prod-our-work-video-wrapper .prod-our-work-video-control .btn-pause { display: none; }
.prod-our-work-video-wrapper .prod-our-work-video-control button { border: none; background: rgba(0, 0, 0, 0.5); padding: 20px; border-radius: 50%; opacity: 0; }
.prod-our-work-video-wrapper:hover .prod-our-work-video-control button { opacity: 0.8; }
.prod-our-work-video-wrapper .prod-our-work-video-control button:hover { background: rgba(0, 0, 0, 0.8); }
.prod-our-work-video-wrapper .prod-our-work-video-control button svg { display: block; color: #ffffff; }
.prod-our-work-video-wrapper .prod-our-work-video-control button svg path,
.prod-our-work-video-wrapper .prod-our-work-video-control button svg rect { fill: #ffffff; }
.prod-our-work-video-wrapper .prod-our-work-video-control button > * { pointer-events: none; }
.prod-our-works .swiper-wrapper{ transition-timing-function: linear !important; }

.prod-video-pop { position: fixed; top: 0; left: 0; width: 100%; height: 100%; display: none; justify-content: center; z-index: 99999; background: rgba(0, 0, 0, 0.65); backdrop-filter: blur(8px); }
.prod-video-pop .prod-video-pop-wrap { display: flex; flex-wrap: wrap; align-items: center; padding: 2rem 0; height: 100%; width: 100%; justify-content: center; overflow: auto; }
.prod-video-pop video { display: block; max-width: 500px; object-fit: cover; max-height: calc(100dvh - 4rem); border-radius: 8px; }
.prod-video-pop video:fullscreen { object-fit: contain; }
.prod-video-pop .prod-video-item { display: block; max-width: 500px; width: 100%; }
.prod-video-pop .close-video-modal { position: absolute; top: 30px; right: 50px; padding: 0; border: none; background: transparent !important; }
.prod-video-pop .close-video-modal svg { pointer-events: none; display: block; }

@media(max-width: 767.98px) {
    .prod-video-pop .prod-video-pop-wrap { padding-left: 20px; padding-right: 20px; }
}
@media(max-width: 640.98px) {
    .prod-video-pop .close-video-modal { top: 10px; right: 10px; }
}
/* <<- Our work shortcode style */

/* User testimonial style ->> */
.prod-user-testimonials .user-card { background: linear-gradient(150deg, rgba(24, 24, 27, 0.7) 7.74%, rgba(0, 0, 0, 0.9) 92.26%); padding: 25px; border-radius: 16px; border: 1px solid rgba(39, 39, 42, 0.5); display: flex; flex-wrap: wrap; flex-direction: column; height: 100%; }
.prod-user-testimonials .swiper-slide { height: auto; }
.prod-user-testimonials .user-card .user-info { margin-top: auto; position: relative; padding-right: 46px; }
.prod-user-testimonials .user-card .user-rating { display: flex; flex-wrap: wrap; gap: 10px;    justify-content: end; }
.prod-user-testimonials .user-card .user-description { margin-top: 10px; margin-bottom: 7px; }
.prod-user-testimonials .user-card .user-description p { font-weight: 400; font-size: 14px; line-height: 23px; letter-spacing: 0px; color: #D4D4D8; margin-bottom: 16px; }
.prod-user-testimonials .user-card .user-description p:last-child { margin-bottom: 0; }
.prod-user-testimonials .user-card .user-info .user-name { font-weight: 400; font-size: 14px; line-height: 20px; letter-spacing: 0px; text-align: right; color: #FFFFFF; margin: 0; }
.prod-user-testimonials .user-card .user-info .user-designation { font-weight: 400; font-size: 12px; line-height: 16px; letter-spacing: 0px; text-align: right; color: #9F9FA9; margin: 0; }
.prod-user-testimonials .user-card .user-info .user-name-initial { position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 36px; height: 36px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; background: linear-gradient(135deg, rgba(43, 127, 255, 0.2) 0%, rgba(21, 93, 252, 0.1) 100%); border: 1px solid #2B7FFF40; border-radius: 50%; font-weight: 400; font-size: 12px; line-height: 16px; letter-spacing: 0px; text-align: right; color: #2B7FFF; }
.user-slider-controls { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 16px; margin-top: 10px; }
.user-slider-controls > div { position: relative; bottom: initial !important; top: initial !important; left: initial !important; right: initial !important; margin: 0 !important; }
.user-slider-controls .swiper-pagination { width: auto !important; }
.user-slider-controls .swiper-pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) { background: #27272ACC; border: 1px solid #27272AE5; transition: all 0.3s ease-in-out; }
.user-slider-controls .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active { width: 24px; border-radius: 99px; background: linear-gradient(90deg, #2B7FFF 0%, #51A2FF 100%); transition: all 0.3s ease-in-out; }
.user-slider-controls [class*="swiper-button"] svg { fill: none; width: 8px; }
.user-slider-controls [class*="swiper-button"] { width: 40px; height: 40px; padding: 11px; background: #27272A80; border: 1px solid #27272ACC; border-radius: 50%; }
.user-slider-controls .swiper-button-next svg { transform: scale(-1); margin-left: -3px; }
.user-slider-controls .swiper-button-prev svg { margin-left: 3px; }
/* <<- User testimonial style */

/* Contact form 7 style ->> */
.custom-cf7-form {    direction: rtl;  background:#09090B; border: 1px solid #27272A; border-radius: 24px; padding: 40px; max-width: 760px; margin: 0 auto; }
.custom-cf7-form .cf7-row { display: flex; gap: 20px; margin-bottom: 20px; }
.custom-cf7-form .cf7-row-full .cf7-field { width: 100%; }
.custom-cf7-form .cf7-field { flex: 1; display: flex; flex-direction: column;}
.custom-cf7-form .cf7-field label { display: block; text-align: right; color: #ffffff; font-size: 14px; font-weight: 400; margin-bottom: 8px; color: #D4D4D8; }

/* Style the actual CF7 inputs (works once you add the shortcodes) */
.custom-cf7-form input[type="email"] { font-family: sans-serif !important; }
.custom-cf7-form input[type="text"],
.custom-cf7-form input[type="email"],
.custom-cf7-form input[type="tel"],
.custom-cf7-form input[type="url"],
.custom-cf7-form input[type="number"],
.custom-cf7-form textarea { width: 100%; background: #00000066; border: 1px solid #141414; border-radius: 12px; padding: 14px 16px; color: #ffffff; font-size: 15px; font-family: inherit; text-align: right; direction: rtl; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; box-sizing: border-box; }
.custom-cf7-form textarea { min-height: 120px; resize: vertical; height: 120px; }
.custom-cf7-form input::placeholder,
.custom-cf7-form textarea::placeholder { color: #5a5a5a; }
.custom-cf7-form input:focus,
.custom-cf7-form textarea:focus { border-color: #2B7FFF; box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15); }

/* CF7 wraps fields in <span class="wpcf7-form-control-wrap"> — make it block */
.custom-cf7-form .wpcf7-form-control-wrap { display: block; width: 100%; }

/* Submit button */
.custom-cf7-form .cf7-submit-wrap { margin-top: 8px; }
.custom-cf7-form input[type="submit"],
.custom-cf7-form .wpcf7-submit { width: 100%; background: #2B7FFF; color: #ffffff; border: none; border-radius: 10px; padding: 16px; font-size: 16px; font-weight: 500; font-family: inherit; cursor: pointer; transition: background 0.2s ease, transform 0.1s ease; }
.custom-cf7-form input[type="submit"]:active,
.custom-cf7-form .wpcf7-submit:active { transform: translateY(1px); }

/* CF7 validation messages */
.custom-cf7-form .wpcf7-not-valid-tip { color: #ff6b6b; font-size: 13px; margin-top: 6px; text-align: right; }
.custom-cf7-form + .wpcf7-response-output { border-radius: 8px; margin: 16px 0 0; padding: 12px 16px; font-size: 14px; text-align: right; border-color: #2B7FFF !important; color: #ffffff; }

/* CF7 sometimes wraps everything in <p> tags — neutralize spacing */
.custom-cf7-form p { margin: 0; }

/* Responsive */
@media (max-width: 767px) {
  .custom-cf7-form { padding: 40px 16px; border-radius: 24px; }
	.custom-cf7-form .cf7-row { flex-direction: column; gap: 20px;}
}
/* <<- Contact form 7 style */

/* FAQ accordion ->> */
.prod-faq details { border: 1px solid #27272A; background: #09090B; border-radius: 16px; }
.prod-faq details[open],
.prod-faq details:hover { border-color: #192647; background: #050910; }
.prod-faq details summary { padding: 22px 24px !important; }
.prod-faq details .e-n-accordion-item-title-icon .e-closed,
.prod-faq details .e-n-accordion-item-title-icon .e-opened { width: 32px; height: 32px; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid; }
.prod-faq details .e-n-accordion-item-title-icon .e-closed svg,
.prod-faq details .e-n-accordion-item-title-icon .e-opened svg { display: block; width: 12px; height: 12px; }
.prod-faq details .e-n-accordion-item-title-icon .e-opened svg path,
.prod-faq details:hover .e-n-accordion-item-title-icon .e-closed svg path { fill: #2B7FFF; }
.prod-faq details .e-n-accordion-item-title-icon .e-closed { border-color: #FFFFFF14; background: #0A0A0A; }
.prod-faq details .e-n-accordion-item-title-icon .e-opened { border-color: #192647; background: #111623; }
/* <<- FAQ accordion */


/* Our team slider css ->> */
.prod-member-card { position: relative; border-radius: 16px; overflow: hidden; }
.prod-member-card img { display: block; max-width: 100%; aspect-ratio: 2 / 2.5; object-fit: cover; object-position: top center; }
.prod-member-card .member-info { position: absolute; bottom: 0; left: 0; width: 100%; background: rgba(255, 255, 255, 0.04); backdrop-filter: blur(6px); text-align: center; padding: 10px; }
.prod-member-card .member-info h2 { margin: 0; color: #ffffff; font-size: 20px; font-weight: 500; margin-bottom: 4px; }
.prod-member-card .member-content { white-space: nowrap; display: block; overflow: hidden; color: #ffffff; text-overflow: ellipsis; max-width: 100%; width: 100%; }
.prod-member-card .member-content p { display: inline-block; vertical-align: top; margin: 0; }
.prod-member-card .member-term { position: absolute; top: 15px; left: 20px; z-index: 1; color: #ffffff; padding: 5px 12px; line-height: 1; display: block; border-radius: 7px; }
.prod-our-team .swiper-wrapper{ transition-timing-function: linear !important; }
/* <<- Our team slider css */