/*
Theme Name: Hello Elementor Child
Theme URI: https://webitekt.com
Author: Lea @ WEBITEKT
Author URI: https://webitekt.com
Description: Child theme for Hello Elementor developed by Lea at WEBITEKT.
Version: 1.0.0
Template: hello-elementor
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: custom-theme, child-theme, hello-elementor
Text Domain: hello-elementor-child
*/

/* =========================================================
   Brand tokens (Rutka / WEBITEKT)
   ========================================================= */
:root {
  --bk-primary: #333333;
  --bk-text: #7A7A7A;
  --bk-white: #ffffff;

  --bk-purple: #9161D6;
  --bk-purple-soft: #E1CFFB;
  --bk-purple-line: #D7BDFD;

  --bk-gray: #F3F3F3;
  --bk-gray-bg: #F9F9F9;
  --bk-line-gray: rgba(0, 0, 0, 0.08);
}

/* =========================================================
   Contact Form 7 styling
   Targets: .wpcf7 inside Elementor/ElementsKit
   ========================================================= */

/* Form container (nice card) */
.ekit-form .wpcf7 form.wpcf7-form,
.wpcf7 form.wpcf7-form{
  background: linear-gradient(180deg, rgba(225,207,251,.55), rgba(249,249,249,.95));
  border: 1px solid var(--bk-purple-line);
  border-radius: 18px;
  padding: 22px 18px;
  box-shadow: 0 10px 26px rgba(0,0,0,.10);
}

/* spacing between fields */
.wpcf7 form.wpcf7-form p{
  margin: 0 0 14px;
}

/* labels */
.wpcf7 form.wpcf7-form label{
  display: block;
  font-weight: 700;
  letter-spacing: .2px;
  color: var(--bk-primary);
  margin: 0 0 8px;
}

/* inputs + textarea + select */
.wpcf7 form.wpcf7-form .wpcf7-form-control-wrap{
  display: block;
}

.wpcf7 form.wpcf7-form input[type="text"],
.wpcf7 form.wpcf7-form input[type="email"],
.wpcf7 form.wpcf7-form input[type="tel"],
.wpcf7 form.wpcf7-form input[type="url"],
.wpcf7 form.wpcf7-form input[type="number"],
.wpcf7 form.wpcf7-form select,
.wpcf7 form.wpcf7-form textarea{
  width: 100%;
  box-sizing: border-box;

  background: rgba(255,255,255,.92);
  border: 1px solid var(--bk-line-gray);
  border-radius: 14px;

  padding: 12px 14px;
  font-size: 16px;
  color: var(--bk-primary);

  transition: border-color 160ms ease, box-shadow 160ms ease;
}

/* placeholder */
.wpcf7 form.wpcf7-form ::placeholder{
  color: rgba(122,122,122,.85);
}

/* focus states (purple glow) */
.wpcf7 form.wpcf7-form input:focus,
.wpcf7 form.wpcf7-form select:focus,
.wpcf7 form.wpcf7-form textarea:focus{
  outline: none;
  border-color: var(--bk-purple);
  box-shadow: 0 0 0 4px rgba(145,97,214,.18);
}

/* textarea */
.wpcf7 form.wpcf7-form textarea{
  min-height: 140px;
  resize: vertical;
}

/* checkboxes/radios */
.wpcf7 form.wpcf7-form input[type="checkbox"],
.wpcf7 form.wpcf7-form input[type="radio"]{
  accent-color: var(--bk-purple);
}

/* submit button */
.wpcf7 form.wpcf7-form input[type="submit"],
.wpcf7 form.wpcf7-form button[type="submit"]{
  width: 100%;
  border: 0;
  border-radius: 14px;

  padding: 13px 16px;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;

  background: var(--bk-purple);
  color: var(--bk-white);

  cursor: pointer;
  box-shadow: 0 10px 22px rgba(145,97,214,.25);
  transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
}

.wpcf7 form.wpcf7-form input[type="submit"]:hover,
.wpcf7 form.wpcf7-form button[type="submit"]:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(145,97,214,.30);
  filter: brightness(1.02);
}

/* reduced motion */
@media (prefers-reduced-motion: reduce){
  .wpcf7 form.wpcf7-form input,
  .wpcf7 form.wpcf7-form select,
  .wpcf7 form.wpcf7-form textarea,
  .wpcf7 form.wpcf7-form input[type="submit"],
  .wpcf7 form.wpcf7-form button[type="submit"]{
    transition: none;
  }
}

/* CF7 validation messages */
.wpcf7 form.wpcf7-form .wpcf7-not-valid{
  border-color: #d63638 !important;
  box-shadow: 0 0 0 4px rgba(214,54,56,.12) !important;
}

.wpcf7 form.wpcf7-form .wpcf7-not-valid-tip{
  margin-top: 6px;
  font-size: 13px;
  color: #d63638;
}

.wpcf7 form.wpcf7-form .wpcf7-response-output{
  margin: 14px 0 0;
  border-radius: 14px;
  padding: 12px 14px;
  border: 1px solid var(--bk-line-gray);
  background: rgba(255,255,255,.85);
  color: var(--bk-primary);
}

/* loading spinner alignment */
.wpcf7 form.wpcf7-form .wpcf7-spinner{
  margin-left: 10px;
}

/* Mobile polish */
@media (max-width: 767px){
  .ekit-form .wpcf7 form.wpcf7-form,
  .wpcf7 form.wpcf7-form{
    padding: 18px 14px;
    border-radius: 16px;
  }
}

/* =========================================================
   Mobile only: prevent left-right scroll without breaking layout
   ========================================================= */
@media (max-width: 767px){
  html, body{
    overflow-x: hidden !important;
    width: 100% !important;
  }

  img, video, iframe, svg{
    max-width: 100% !important;
    height: auto !important;
  }

  table{
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  pre, code{
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }

  .elementor-section,
  .e-con{
    max-width: 100% !important;
  }
}
