/* 
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 */

/* Hero section — add CSS class "hero-section" to the Elementor section */
.hero-section {
  position: relative !important;
  overflow: hidden !important;
}

/* Neutralise Elementor wrappers so absolute positioning reaches the section */
.hero-section > .elementor-container,
.hero-section .elementor-row,
.hero-section .elementor-column,
.hero-section .elementor-widget-wrap,
.hero-section .elementor-widget-html,
.hero-section .elementor-widget-container {
  position: static !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
}

/* The media wrapper — covers the full section */
.hero-media {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Video and fallbacks fill the wrapper */
.hero-video,
.hero-fallback {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%!important;
  object-fit: cover;
  object-position: center center;
}

/* Fallbacks hidden by default, JS shows the right one on video end */
.hero-fallback {
  display: none;
  object-position: bottom;
}

@media (max-width: 767px) {
  .hero-section {
    min-height: 50vh;
  }
}

/* Sticky header */
.elementor-sticky--active {
  background-color: #ffffff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

/* Hamburger menu */
.kr-hamburger {
  cursor: pointer;
  display: inline-flex;
}

/* lines */
.kr-hamburger .line {
  stroke: #1d1d1b;
  stroke-width: 1.5; /* slightly thicker for 65px */
  stroke-linecap: round;

  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.25s ease;

  transform-origin: 50% 50%;
}

/* ===== OPEN STATE (PERFECTLY CENTERED) ===== */

/* center is y = 50 */
/* top is 30 → needs +20 */
/* bottom is 70 → needs -20 */

.kr-hamburger.open .top {
  transform: translateY(20px) rotate(45deg);
}

.kr-hamburger.open .middle {
  opacity: 0;
}

.kr-hamburger.open .bottom {
  transform: translateY(-20px) rotate(-45deg);
}

/* Contact form 7 */
/* ===== WRAPPER (important for scoping) ===== */
.wpcf7 .cf7-grid-2 {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

.wpcf7 .cf7-col {
  width: calc(50% - 12px);
}

.wpcf7 .cf7-full {
  margin-top: 20px;
}

/* ===== INPUTS ===== */
.wpcf7 .cf7-grid-2 input,
.wpcf7 .cf7-full input {
  width: 100%;
  border: none;
  border-bottom: 1px solid #1d1d1b;
  padding: 8px 0;
  background: transparent;
  color: #1d1d1b;
  font-size: 15px;
  outline: none;
  box-shadow: none;
  transition: border-color 0.2s ease;
}

/* Remove Elementor input styles */
.wpcf7 input:focus,
.wpcf7 input:hover {
  box-shadow: none;
}

/* Placeholder */
.wpcf7 .cf7-grid-2 input::placeholder,
.wpcf7 .cf7-full input::placeholder {
  color: #1d1d1b;
  opacity: 0.6;
}

/* Focus */
.wpcf7 .cf7-grid-2 input:focus,
.wpcf7 .cf7-full input:focus {
  border-bottom: 1px solid #db061e;
}

/* ===== SUBMIT WRAPPER ===== */
.wpcf7 .cf7-submit {
  margin-top: 30px;
}

/* ===== BUTTON RESET (kills Elementor styles) ===== */
.wpcf7 .cf7-btn {
  all: unset;
  display: inline-flex;
  align-items: center;
  gap: 10px;

  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 600;

  color: #1d1d1b;
  border: 1px solid #1d1d1b;

  padding: 10px;
  cursor: pointer;

  transition: all 0.25s ease;
}

/* Ensure it's clickable after all:unset */
.wpcf7 .cf7-btn {
  display: inline-flex;
}

/* Text */
.wpcf7 .cf7-btn-text {
  color: inherit;
}

/* Icon */
.wpcf7 .cf7-btn-icon svg {
  display: block;
  transition: transform 0.25s ease;
}

.wpcf7 .cf7-btn-icon svg path {
  fill: #db061e;
  transition: fill 0.25s ease;
}

/* ===== HOVER (overrides Elementor safely) ===== */
.wpcf7 .cf7-btn:hover,
.wpcf7 .cf7-btn:focus {
  background-color: #db061e;
  border-color: #db061e;
  color: #ffffff;
}

/* Icon hover */
.wpcf7 .cf7-btn:hover .cf7-btn-icon svg path,
.wpcf7 .cf7-btn:focus .cf7-btn-icon svg path {
  fill: #ffffff;
}

/* Arrow animation */
.wpcf7 .cf7-btn:hover .cf7-btn-icon svg {
  transform: translateX(4px);
}

/* Active */
.wpcf7 .cf7-btn:active {
  transform: translateY(1px);
}

/* ===== MOBILE ===== */
@media (max-width: 768px) {
  .wpcf7 .cf7-col {
    width: 100%;
  }
}
