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

/* Remove default underlines from all links */
a, .elementor a {
    text-decoration: none !important;
}
 


@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');
 
 
/* ============================================================
   BASE RESET
   ============================================================ */
 
*, *::before, *::after {
  box-sizing: border-box !important;
}
 
 
/* ============================================================
   GLOBAL TOKENS
   ============================================================ */
 
:root {
  --color-accent:       #e44e25;
  --color-accent-hover: #c73d1a;
  --color-black:        #000000;
  --color-white:        #ffffff;
  --color-border:       #e5e5e5;
  --color-placeholder:  #9c9c9c;
  --color-error:        #dc3232;
  --font-primary:       'Poppins', sans-serif;
}
 
 
/* ============================================================
   GLOBAL — BASE ELEMENTS
   ============================================================ */
 
b,
strong {
  font-weight: 600;
}
 
a {
    color: #7a7a7a;
}
 
a:hover {
  color: #ffffff;
}
 
 
/* ============================================================
   GLOBAL TYPOGRAPHY — DESKTOP (≥ 1024px)
   ============================================================ */
 
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-primary) !important;
  font-weight: 600 !important;
}
 
h1 {
  font-size: 80px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.03em !important;
}
 
h2 {
  font-size: 54px !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
}
 
h3 {
  font-size: 36px !important;
  line-height: 1.25 !important;
  letter-spacing: -0.015em !important;
}
 
h4 {
  font-size: 26px !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
}
 
h5 {
  font-size: 20px !important;
  line-height: 1.35 !important;
  letter-spacing: -0.005em !important;
}
 
h6 {
  font-size: 17px !important;
  line-height: 1.4 !important;
  letter-spacing: 0em !important;
}
 
body,
p,
li,
td,
th,
input,
textarea,
select,
button {
  font-family: var(--font-primary) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
}
 
p {
  margin: 0 0 1em !important;
}
 
/* Utility sizes */
.text-xs   { font-size: 12px !important; }
.text-sm   { font-size: 14px !important; }
.text-base { font-size: 18px !important; }
.text-lg   { font-size: 20px !important; }
.text-xl   { font-size: 24px !important; }
 
 
/* ============================================================
   GLOBAL TYPOGRAPHY — TABLET (≤ 1023px)
   ============================================================ */
 
@media (max-width: 1023px) {
 
  h1 { font-size: 52px !important;  line-height: 1.15 !important; letter-spacing: -0.03em !important; }
  h2 { font-size: 42px !important;  line-height: 1.2 !important;  letter-spacing: -0.02em !important; }
  h3 { font-size: 29px !important;  line-height: 1.25 !important; letter-spacing: -0.015em !important; }
  h4 { font-size: 22px !important;  line-height: 1.3 !important;  letter-spacing: -0.01em !important; }
  h5 { font-size: 19px !important;  line-height: 1.35 !important; letter-spacing: -0.005em !important; }
  h6 { font-size: 16px !important;  line-height: 1.4 !important;  letter-spacing: 0em !important; }
 
  body, p, li, td, th,
  input, textarea, select, button {
    font-size: 16px !important;
  }
}
 
 
/* ============================================================
   GLOBAL TYPOGRAPHY — MOBILE (≤ 767px)
   ============================================================ */
 
@media (max-width: 767px) {
 
  h1 {
    font-size: 38px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em !important;
  }
 
  h2 {
    font-size: 32px !important;
    line-height: 1.25 !important;
    letter-spacing: -0.015em !important;
  }
 
  h3 { font-size: 24px !important; line-height: 1.3 !important;  letter-spacing: -0.01em !important; }
  h4 { font-size: 20px !important; line-height: 1.35 !important; letter-spacing: -0.005em !important; }
  h5 { font-size: 17px !important; line-height: 1.4 !important;  letter-spacing: 0em !important; }
  h6 { font-size: 15px !important; line-height: 1.45 !important; letter-spacing: 0.005em !important; }
 
  body, p, li, td, th,
  input, textarea, select, button {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }
}
 
 
/* ============================================================
   GLOBAL TYPOGRAPHY — SMALL MOBILE (≤ 390px)
   ============================================================ */
 
@media (max-width: 390px) {
 
  h1 { font-size: 32px !important; line-height: 1.2 !important;  letter-spacing: -0.02em !important; }
  h2 { font-size: 27px !important; line-height: 1.25 !important; letter-spacing: -0.015em !important; }
  h3 { font-size: 21px !important; line-height: 1.3 !important;  letter-spacing: -0.01em !important; }
  h4 { font-size: 18px !important; line-height: 1.35 !important; letter-spacing: -0.005em !important; }
  h5 { font-size: 15px !important; line-height: 1.4 !important;  letter-spacing: 0em !important; }
  h6 { font-size: 15px !important; line-height: 1.45 !important; letter-spacing: 0.005em !important; }
 
  body, p, li, td, th,
  input, textarea, select, button {
    font-size: 14px !important;
  }
}
 
/* ============================================================
   BLOG SECTION (.blog-sct)
   ============================================================ */
 
.blog-sct img {
  border-radius: 10px !important;
  width: 100% !important;
  margin-top: 50px !important;
}
 
.blog-sct h1 { font-size: 46px; line-height: 1.15; }
.blog-sct h2 { font-size: 32px; line-height: 1.25; padding-top: 20px; }
.blog-sct h3 { font-size: 24px; line-height: 1.3;  padding-top: 20px; }
.blog-sct h4 { font-size: 19px; line-height: 1.35; }
.blog-sct h5 { font-size: 15px; line-height: 1.4;  }
.blog-sct h6 { font-size: 13px; line-height: 1.4; text-transform: uppercase; letter-spacing: 0.06em; }
.blog-sct p  { font-size: 16px; line-height: 1.75; }
 
/* Inherit weight from heading, not from <strong> */
.blog-sct h2 strong {
  font-weight: inherit;
  font-style: inherit;
}
 
/* Blog — Tablet (≤ 1024px) */
@media (max-width: 1024px) {
  .blog-sct h1 { font-size: 37px; }
  .blog-sct h2 { font-size: 27px; }
  .blog-sct h3 { font-size: 20px; }
  .blog-sct h4 { font-size: 17px; }
  .blog-sct h5 { font-size: 14px; }
  .blog-sct h6 { font-size: 13px; }
  .blog-sct p  { font-size: 15px; }
}
 
/* Blog — Mobile (≤ 767px) */
@media (max-width: 767px) {
  .blog-sct h1 { font-size: 28px; }
  .blog-sct h2 { font-size: 22px; }
  .blog-sct h3 { font-size: 18px; }
  .blog-sct h4 { font-size: 15px; }
  .blog-sct h5 { font-size: 14px; }
  .blog-sct h6 { font-size: 12px; }
  .blog-sct p  { font-size: 15px; }
}
 
/* Blog — Small Mobile (≤ 480px) */
@media (max-width: 480px) {
  .blog-sct h1 { font-size: 24px; }
  .blog-sct h2 { font-size: 19px; }
  .blog-sct h3 { font-size: 16px; }
  .blog-sct h4 { font-size: 14px; }
  .blog-sct h5 { font-size: 13px; }
  .blog-sct h6 { font-size: 12px; }
  .blog-sct p  { font-size: 14px; }
}
 
/* ============================================================
   CONTACT FORM LAYOUT
   ============================================================ */
 
.form-row {
  display: flex;
  justify-content: center;
  margin-bottom: 0 !important;
}
 
.form-item {
  box-sizing: border-box;
  padding: 10px !important;
}
 
.form-item.form-col-6 {
  width: 49.7%;
  display: inline-block;
}
 
.form-item.form-full {
  width: 100%;
  padding: 10px 18px;
}
 
.form-item.form-full.btn {
  display: flex;
  flex-direction: column;
}
 
.form-item.btn.center {
  display: flex;
  flex-direction: column;
  align-items: center;
}
 
.form-item.btn.left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
 
.form-item.btn.right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
 
.form-item.btn.full > input {
  width: 100%;
}
 
@media screen and (max-width: 768px) {
  .form-row             { flex-direction: column; }
  .form-item.form-col-6 { width: 100%; }
}
 
 
/* ============================================================
   CONTACT FORM — INPUTS
   ============================================================ */
 
input[type="number"],
input[type="text"],
input[type="date"],
textarea,
select,
option,
.wpcf7 input[type="email"] {
  border-radius: 0 !important;
  border: none !important;
  border-bottom: solid 2px var(--color-border) !important;
  padding: 10px 0 !important;
  font-size: 18px !important;
  font-weight: 200 !important;
  color: var(--color-black) !important;
  transition: all 0.3s !important;
}
 
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: none !important;
}
 
input::placeholder,
textarea::placeholder {
  color: var(--color-placeholder);
  opacity: 0.5;
}
 
label {
  line-height: 29px;
  padding: 0;
  font-size: 16px;
}
 
 
/* ============================================================
   CONTACT FORM — SUBMIT BUTTON
   ============================================================ */
 
input.wpcf7-form-control.wpcf7-submit.has-spinner.cf-submit {
  width: 100% !important;
  padding: 15px 30px !important;
  border: 1px solid var(--color-black) !important;
  border-radius: 0 !important;
  background-color: var(--color-black);
  color: var(--color-white);
  font-size: 12px !important;
}
 
input.wpcf7-form-control.wpcf7-submit.has-spinner.cf-submit:hover {
  background-color: var(--color-black);
  color: var(--color-white);
}
 
.form-item.form-full.btn.left {
  text-align: center;
}
 
 
/* ============================================================
   CONTACT FORM — SELECTS, DATE, SPECIAL INPUTS
   ============================================================ */
 
select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required.cf-subject,
select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required.cf-space,
input.wpcf7-form-control.wpcf7-date.wpcf7-validates-as-date {
  height: 48px;
}
 
input.wpcf7-form-control.wpcf7-date.wpcf7-validates-as-date {
  padding: 0.3rem 1rem !important;
  border: none;
  border-bottom: 1px solid !important;
  border-radius: 0 !important;
}
 
input.wpcf7-form-control.wpcf7-number.wpcf7-validates-as-number {
  border: none;
}
 
 
/* ============================================================
   CONTACT FORM — VALIDATION & RESPONSE
   ============================================================ */
 
.wpcf7-not-valid-tip {
  color: var(--color-error);
  font-size: 15px;
  font-weight: 100;
  display: block;
  line-height: 30px;
}
 
.wpcf7 form .wpcf7-response-output {
  margin: 0 0.5em 3em;
  padding: 0.2em 1em;
  border: 2px solid #00a0d2;
}
 
.contact-section form.wpcf7-form.init {
  font-family: 'dashicons';
}