/*
Theme Name: 2Lips Elementor Child
Description: Style wizualne 2Lips dla motywu Hello Elementor.
Author: 2Lips
Template: hello-elementor
Version: 1.0.0
Text Domain: 2lips-elementor
*/

:root {
  --ew2-green: #31584f;
  --ew2-green-dark: #23463f;
  --ew2-green-black: #17332e;
  --ew2-rust: #bd5935;
  --ew2-rust-dark: #9f4327;
  --ew2-mint: #9ad5c6;
  --ew2-cream: #f5f0e8;
  --ew2-paper: #fbfaf7;
  --ew2-ink: #25332f;
  --ew2-muted: #65706c;
  --ew2-line: #d9ddd7;
}

body { color: var(--ew2-ink); font-family: "Poppins", Arial, sans-serif; }
.elementor h1, .elementor h2, .elementor h3 { color: inherit; font-family: "Poppins", Arial, sans-serif; letter-spacing: -0.035em; }
.elementor h1 { font-weight: 800; }
.elementor h2 { font-weight: 700; }
.ew2-label p { margin: 0 0 14px; color: var(--ew2-rust); font-size: 12px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.ew2-lead { max-width: 680px; color: var(--ew2-muted); font-size: 18px; }
.ew2-row { gap: 70px; align-items: center; }
.ew2-content-section, .ew2-soft-section, .ew2-green-section, .ew2-quote-section { padding: 105px 24px; }
.ew2-content-section { background: var(--ew2-paper); }
.ew2-soft-section { background: #e5ece8; }
.ew2-green-section { background: var(--ew2-green); color: #fff; }
.ew2-green-section p { color: rgba(255,255,255,.72); }
.ew2-light-divider .elementor-divider-separator { border-color: rgba(255,255,255,.22) !important; }

.ew2-photo-hero {
  min-height: 670px;
  padding: 100px 24px 150px;
  justify-content: center;
  color: #fff;
  background: linear-gradient(90deg,rgba(25,60,52,.84),rgba(25,60,52,.26)), url("https://englishwith2lips.nl/wp-content/uploads/2026/07/englishwith2lips.jpg") center 54%/cover no-repeat;
}
.ew2-photo-title .elementor-heading-title { max-width: 820px; color: #fff; font-size: clamp(48px,5.5vw,78px); line-height: 1; }
.ew2-photo-lead { color: rgba(255,255,255,.87); font-size: 19px; }
.ew2-button-row { width: auto; gap: 16px; align-items: center; }
.ew2-primary-button .elementor-button, .ew2-light-button .elementor-button, .ew2-header-button .elementor-button { border-radius: 30px; padding: 16px 25px; font-size: 13px; font-weight: 700; text-transform: uppercase; }
.ew2-primary-button .elementor-button { background: var(--ew2-rust); color: #fff; }
.ew2-primary-button .elementor-button:hover { background: var(--ew2-rust-dark); }
.ew2-light-button .elementor-button { background: #fff; color: var(--ew2-green-dark); }
.ew2-secondary-button .elementor-button { padding: 10px 0; border-radius: 0; border-bottom: 1px solid currentColor; background: transparent; color: #fff; }
.ew2-text-button .elementor-button { padding: 7px 0; border-radius: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--ew2-rust); font-size: 12px; font-weight: 700; text-transform: uppercase; }

.ew2-offer-section { position: relative; z-index: 2; margin-top: -80px; padding: 0 24px 110px; }
.ew2-card-row { gap: 0; align-items: stretch; box-shadow: 0 22px 50px rgba(23,51,46,.12); }
.ew2-offer-card { min-height: 390px; padding: 45px 36px; align-items: center; justify-content: center; text-align: center; background: #fff; }
.ew2-offer-card-2 { background: var(--ew2-green); color: #fff; }
.ew2-offer-card-2 p { color: rgba(255,255,255,.72); }
.ew2-offer-card-3 { background: #eef2ef; }
.ew2-card-title .elementor-heading-title { font-size: 25px; }

.ew2-about-section { background: var(--ew2-green-dark); color: #fff; }
.ew2-about-section .ew2-row { gap: 0; align-items: stretch; }
.ew2-about-media, .ew2-about-copy { min-height: 650px; }
.ew2-about-media .elementor-widget-image, .ew2-about-media .elementor-widget-container, .ew2-cover-image, .ew2-cover-image .elementor-widget-container { height: 100%; }
.ew2-cover-image img { width: 100%; height: 650px; object-fit: cover; }
.ew2-about-copy { padding: 85px 70px; justify-content: center; }
.ew2-about-copy p { color: rgba(255,255,255,.72); }
.ew2-business-section { padding: 110px 24px; background: #fff; }
.ew2-service-panel { min-height: 390px; padding: 50px; justify-content: center; border-left: 8px solid var(--ew2-green); background: var(--ew2-cream); }
.ew2-service-list p { margin: 0; padding: 13px 0; border-bottom: 1px solid rgba(49,88,79,.2); color: var(--ew2-green-dark); font-size: 21px; font-weight: 600; }
.ew2-finance-strip { padding: 80px 24px; background: #e5ece8; }
.ew2-review-section { padding: 100px 24px; background: var(--ew2-cream); }
.ew2-quote-box { padding: 45px; background: #fff; box-shadow: 0 15px 45px rgba(35,70,63,.1); }
.ew2-quote blockquote, .ew2-large-quote blockquote, .ew2-review-text blockquote { margin: 0 0 20px; color: var(--ew2-ink); font-size: 22px; font-style: normal; line-height: 1.55; }
.ew2-final-section { padding: 95px 24px; background: var(--ew2-rust); color: #fff; }
.ew2-final-section .ew2-label p { color: #ffd3c1; }

.ew2-hero { padding: 80px 24px; color: #fff; background: var(--ew2-green-dark); }
.ew2-hero-title .elementor-heading-title { color: #fff; font-size: clamp(44px,4.8vw,68px); line-height: 1.03; }
.ew2-hero .ew2-lead { color: rgba(255,255,255,.78); }
.ew2-hero-media { min-height: 540px; }
.ew2-hero-image, .ew2-hero-image .elementor-widget-container { height: 100%; }
.ew2-hero-image img { width: 100%; height: 540px; object-fit: cover; }
.ew2-hero-about .ew2-hero-image img { object-position: center 20%; }
.ew2-list-row { gap: 35px; padding: 22px 0; align-items: start; }
.ew2-index p { color: var(--ew2-rust); font-size: 13px; font-weight: 700; }
.ew2-dark-panel { padding: 40px; background: var(--ew2-green-dark); color: #fff; }
.ew2-big-number .elementor-heading-title { color: #fff; font-size: 50px; }
.ew2-check-list ul { margin: 0; padding-left: 1.2em; }
.ew2-check-list li { margin-bottom: 13px; }
.ew2-facts p { padding: 13px 0; border-bottom: 1px solid rgba(49,88,79,.2); }
.ew2-quote-section { background: var(--ew2-cream); }
.ew2-large-quote { max-width: 880px; margin: 0 auto; }
.ew2-large-quote blockquote { font-size: 31px; }
.ew2-note { padding: 35px; border-left: 6px solid var(--ew2-rust); background: var(--ew2-cream); color: var(--ew2-ink); }
.ew2-simple-hero { padding: 105px 24px; text-align: center; background: var(--ew2-cream); }
.ew2-simple-hero .ew2-lead { margin: 0 auto; }
.ew2-page-title .elementor-heading-title { font-size: clamp(44px,5vw,68px); }
.ew2-quote-mark p { margin: 0; color: var(--ew2-rust); font-size: 55px; line-height: .8; }
.ew2-review-name { color: var(--ew2-muted); font-size: 13px; }
.ew2-contact-section { padding: 90px 24px; background: var(--ew2-green-black); color: #fff; }
.ew2-contact-intro .ew2-lead { color: rgba(255,255,255,.7); }
.ew2-form-panel { padding: 42px; border-top: 7px solid var(--ew2-rust); background: #fff; color: var(--ew2-ink); }

.ew2-header { padding: 10px 24px; background: #fff; }
.ew2-header-row { min-height: 90px; gap: 25px; align-items: center; }
.ew2-logo img { width: 78px; }
.ew2-main-menu { justify-content: center; }
.ew2-header-button .elementor-button { background: transparent; color: var(--ew2-green); border: 1px solid var(--ew2-green); }
.ew2-footer { padding: 55px 24px; background: var(--ew2-green-black); color: #fff; }
.ew2-footer a { color: rgba(255,255,255,.75); }
.ew2-footer-logo img { width: 70px; }

@media (max-width: 1024px) {
  .ew2-row { gap: 40px; }
  .ew2-card-row { flex-direction: column; }
  .ew2-offer-card { width: 100% !important; min-height: 300px; }
  .ew2-about-section .ew2-row { flex-direction: column; }
  .ew2-about-media, .ew2-about-copy { width: 100% !important; min-height: auto; }
  .ew2-header-row { flex-wrap: wrap; }
}

@media (max-width: 767px) {
  .ew2-row { flex-direction: column; gap: 28px; }
  .ew2-row > .e-con { width: 100% !important; }
  .ew2-photo-hero { min-height: 620px; padding-top: 80px; }
  .ew2-photo-title .elementor-heading-title { font-size: 44px; }
  .ew2-offer-section { margin-top: -45px; padding-bottom: 75px; }
  .ew2-about-copy { padding: 65px 24px; }
  .ew2-cover-image img { height: 500px; }
  .ew2-content-section, .ew2-soft-section, .ew2-green-section, .ew2-quote-section { padding: 70px 20px; }
  .ew2-hero { padding: 65px 20px; }
  .ew2-hero-title .elementor-heading-title { font-size: 42px; }
  .ew2-hero-media, .ew2-hero-image img { min-height: 440px; height: 440px; }
  .ew2-list-row { flex-direction: column; gap: 6px; }
  .ew2-list-row > .e-con { width: 100% !important; }
  .ew2-form-panel { padding: 30px 20px; }
}
