/*
 Theme Name:   Astra Child - AETHER Academy
 Template:     astra
 Version:      1.3.2
*/

/* 1. VARIABLES & RESET */
:root {
    --primary-blue: #6d889d;
    --primary-blue-dark: #536c80;
    --primary-brown: #8a6558;
    --primary-brown-dark: #705147;
    --bg-light: #fdfcf9;
    --bg-grey: #f4f5f6;
    --text-dark: #222;
    --text-gray: #666;
    --border-color: #e5e5e5;
    --container-width: 1920px!important;
    --font-sans: 'Inter', sans-serif;
    --font-serif: 'Playfair Display', serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: var(--font-sans);
    color: var(--text-dark);
    background-color: #fff;
    line-height: 1.6;
}

h1, h2, h3, .serif { font-family: var(--font-serif); font-weight: 500; }

.container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 80px;
}

section.section-container{
    padding-left: 80px;
    padding-right: 80px;
}

/* Override Astra's container */
.ast-container { max-width: 1920px !important; padding: 0 !important; }
.site-content .ast-container { padding: 0 !important; }

a { text-decoration: none; color: inherit; transition: color 0.3s ease; }

/* 2. BUTTONS & LINKS */
.btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 24px; border-radius: 30px; font-size: 14px; font-weight: 500; cursor: pointer; transition: all 0.3s ease; border: 1px solid transparent; }
.btn-blue { background-color: var(--primary-blue); color: #f3f9ff; }
.btn-blue:hover { background-color: #dfeef7; color: #184a75; border-color: #184a75; }

.calendar-booking-buttons {
    gap: 1rem;
    width: 100%;
    flex: 1 1 50%;
}

.calendar-booking-buttons .btn {
    width: 100%;
    min-height: 56px;
    padding: 14px 18px;
    font-size: 15px;
    line-height: 1.4;
    text-align: center;
}
.btn-brown { background-color: var(--primary-brown); color: white; }
.btn-brown:hover { background-color: var(--primary-brown-dark); }
.btn-outline { border-color: var(--primary-blue); color: var(--primary-blue); background: transparent; }
.btn-outline:hover { background: var(--bg-grey); }
.btn-link { color: var(--primary-blue); font-size: 14px; font-weight: 500; display: inline-flex; align-items: center; gap: 8px; }
.btn-link-brown { color: var(--primary-brown); }

/* 3. HEADER */
.main-header-aether { padding: 20px 0; border-bottom: 1px solid var(--border-color); background: white; position: sticky; top: 0; z-index: 1000; }
.header-content { display: flex; justify-content: space-between; align-items: center; max-width: var(--container-width); margin: 0 auto; padding: 0 80px; }
.logo { display: flex; flex-direction: column; align-items: center; }
.logo-title { font-family: var(--font-serif); font-size: 24px; letter-spacing: 2px; font-weight: 600; line-height: 1; }
.logo-subtitle { font-size: 10px; letter-spacing: 4px; color: var(--text-gray); }
.nav-links { display: flex; gap: 30px; font-size: 14px; font-weight: 500; }
.nav-actions { display: flex; align-items: center; gap: 20px; font-size: 14px; }
.icon-link { display: flex; align-items: center; gap: 8px; font-weight: 500; }
.icon-fa { font-size: 18px; }
.mobile-menu-toggle { display: none; }
.mobile-menu-toggle i { font-size: 22px; }
.mobile-nav { display: none; }

/* 4. SECTIONS & LAYOUT */
.hero { background-color: var(--bg-light); padding: 80px 0; overflow: hidden; }
.hero-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.hero-content { flex: 1; max-width: 550px; }
.hero h1 { font-size: 56px; line-height: 1.1; margin-bottom: 20px; }
.hero h1 .serif { color: var(--primary-blue); font-style: italic; }
.hero p { font-size: 16px; color: var(--text-gray); margin-bottom: 30px; max-width: 400px; }
.hero-features { display: flex; gap: 30px; margin-top: 50px; }
.hero-feature { display: flex; align-items: flex-start; gap: 12px; }
.hero-feature-icon { width: 72px; height: 72px; display: flex; align-items: center; justify-content: center;}
.hero-feature-text h4 { font-size: 13px; margin-bottom: 2px; }
.hero-feature-text p { font-size: 11px; margin: 0; color: var(--text-gray); }
.hero-image { flex: 1; display: flex; justify-content: flex-end; }
.placeholder-image { max-width: 100%; height: auto; border-radius: 20px; object-fit: cover; }

.about-section { padding: 80px 0; }
.about-inner { display: flex; gap: 60px; align-items: center; }
.about-text { flex: 1; max-width: 450px; }
.about-text h2 { font-size: 32px; margin-bottom: 20px; }
.about-text h2 .serif { color: var(--primary-blue); }
.about-text p { font-size: 14px; color: var(--text-gray); margin-bottom: 15px; }
.about-process { flex: 1.5; display: flex; align-items: center; justify-content: space-between; }
.process-step { display: flex; flex-direction: column; align-items: center; text-align: center; }
.process-icon { width: 84px; height: 84px; display: flex; align-items: center; justify-content: center; margin-bottom: 10px; }
.process-step h4 { font-size: 14px; margin-bottom: 4px; }
.process-step p { font-size: 11px; color: var(--text-gray);}
.process-arrow { color: var(--text-gray); font-size: 24px; }

.benefits-section { padding: 60px 0; background: var(--bg-light); }
.benefits-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 30px; text-align: center; }
.benefit-card { background: white; padding: 30px; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.02); border: 1px solid #f0f0f0; display: flex; flex-direction: column; align-items: center; }
.benefit-icon { width: 50px; height: 50px; margin-bottom: 15px; }
.benefit-icon img { width: 100%; height: 100%; }
.benefit-card h4 { font-size: 16px; margin-bottom: 10px; }
.benefit-card p { font-size: 13px; color: var(--text-gray); }

.stats-banner { background: var(--primary-blue); color: white; padding: 50px 0; }
.stats-banner .container {
    display: flex;
    justify-content: space-around;
    align-items: center;
    text-align: center;
    flex-wrap: wrap;
}
.stat-item h3 { font-size: 24px; font-weight: 600; margin-bottom: 5px; }
.stat-item p { font-size: 13px; opacity: 0.9; }

.courses-preview { background: #eef2f4; padding: 80px 0; }
.courses-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.courses-text { max-width: 400px; }
.courses-text h2 { font-size: 32px; margin-bottom: 15px; }
.courses-text p { font-size: 14px; color: var(--text-gray); margin-bottom: 25px; }
.courses-img { width: 500px; height: 300px; object-fit: cover;  overflow: visible;}

.split-section { padding: 60px 0; }
.split-section .container { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.split-box { border-radius: 20px; padding: 50px; position: relative; overflow: hidden; }
.cert-box { background: var(--bg-light); border: 1px solid var(--border-color); }
.ebook-box { background: var(--primary-blue); color: white; }
.split-box h2 { font-size: 28px; margin-bottom: 15px; }
.cert-box h2 { color: var(--primary-brown); }
.split-box p { font-size: 14px; margin-bottom: 25px; line-height: 1.6; }
.cert-box p { color: var(--text-gray); }
.ebook-form { display: flex; gap: 10px; margin-top: 30px; position: relative; z-index: 2; }
.ebook-form input { padding: 12px 20px; border-radius: 30px; border: none; flex: 1; font-size: 14px; font-family: inherit; }
.split-img-placeholder { position: absolute; right: 20px; bottom: -20px; width: 200px; height: auto; box-shadow: -5px 5px 20px rgba(0,0,0,0.1); border-radius: 5px; }

.events-section { padding: 60px 0; }
.section-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 40px; }
.section-header h2 { font-size: 28px; margin-bottom: 10px; }
.section-header p { font-size: 14px; color: var(--text-gray); }
.events-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.event-card { border: 1px solid var(--border-color); border-radius: 12px; display: flex; padding: 20px; align-items: center; gap: 20px; width: 100%; min-width: 0; }
.event-date { background: #eef2f4; border-radius: 8px; min-width: 60px; height: 70px; display: flex; flex-direction: column; align-items: center; justify-content: center; font-weight: 600; }
.event-date span:first-child { font-size: 24px; line-height: 1; }
.event-date span:last-child { font-size: 10px; text-transform: uppercase; letter-spacing: 1px;}
.event-details { flex: 1; min-width: 0; }
.event-type { font-size: 10px; font-weight: 600; color: var(--text-gray); margin-bottom: 5px; letter-spacing: 1px;}
.event-details h4 { font-size: 15px; line-height: 1.5; margin-bottom: 5px; overflow-wrap: anywhere; word-break: break-word; }
.event-time { font-size: 12px; color: var(--text-gray); overflow-wrap: anywhere; }
.event-action { margin-left: auto; }

.blog-section { padding: 60px 0; background: var(--bg-light); }
.blog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(600px, 1fr)); gap: 30px; }
.blog-card { display: flex; gap: 15px; align-items: flex-start; background: white; border: 1px solid var(--border-color); border-radius: 12px; padding: 16px; }
.blog-image-link { flex-shrink: 0; }
.blog-img { width: 120px; height: 120px; border-radius: 12px; object-fit: cover; }
.blog-details { flex: 1; min-width: 0; }
.blog-details h4 { font-size: 15px; margin-bottom: 8px; line-height: 1.4; }
.blog-details h4 a { color: inherit; text-decoration: none; }
.blog-excerpt { font-size: 12px; line-height: 1.6; color: var(--text-gray); margin: 0 0 12px; }
.blog-meta { display: flex; gap: 15px; font-size: 11px; color: var(--text-gray); margin-bottom: 15px; flex-wrap: wrap; }

.testimonials-section { padding: 60px 0; }
.testimonials-inner { display: flex; gap: 40px; align-items: center; }
.testi-stats { background: var(--primary-blue); color: white; padding: 40px; border-radius: 16px; text-align: center; min-width: 300px; }
.testi-stats h2 { font-size: 48px; margin-bottom: 10px; }
.testi-stats p { font-size: 12px; margin-bottom: 20px; opacity: 0.9; }
.testi-content { flex: 1; padding: 40px; background: var(--bg-light); border-radius: 16px; position: relative; }
.testi-quote { font-size: 20px; font-style: italic; margin-bottom: 20px; font-family: var(--font-serif); }
.testi-author { font-size: 14px; font-weight: 600; }
.testi-nav { position: absolute; right: 40px; bottom: 40px; display: flex; gap: 10px; }
.nav-btn { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--border-color); background: white; display: flex; align-items: center; justify-content: center; cursor: pointer; }

.mentoring-showcase { padding: 80px 0; background: linear-gradient(180deg, #fff 0%, #f7f5f2 100%); }
.mentoring-header { align-items: end; }
.mentoring-header h2 { font-size: 42px; margin-bottom: 10px; }
.mentoring-header p { max-width: 560px; font-size: 15px; color: var(--text-gray); }
.mentoring-showcase-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin-top: 30px; }
.mentoring-showcase-card {
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 18px;
    padding: 22px 18px 20px;
    box-shadow: 0 10px 24px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
}
.mentor-mini-header { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.mentor-mini-avatar { width: 68px; height: 68px; object-fit: cover; border-radius: 50%; border: 2px solid rgba(109,136,157,0.2); }
.mentor-mini-name { font-size: 14px; font-weight: 700; color: var(--text-dark); letter-spacing: 0.04em; }
.mentor-mini-role { font-size: 11px; line-height: 1.5; color: var(--primary-brown); text-transform: uppercase; letter-spacing: 0.08em; margin-top: 4px; }
.mentoring-showcase-card p {
    font-size: 14px;
    line-height: 1.7;
    color: var(--text-gray);
    margin-bottom: 20px;
    flex: 1;
}
.mentoring-showcase-card .btn { margin-top: auto; }

.faq-section { padding: 60px 0; background: var(--bg-light); }
.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; }
.faq-item-wrapper { padding: 20px 0; border-bottom: 1px solid var(--border-color); }
.faq-question { display: flex; justify-content: space-between; align-items: center; font-size: 15px; font-weight: 500; cursor: pointer; }
.faq-question:hover { color: var(--primary-blue); }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.5s ease-out, padding-top 0.5s ease-out; font-size: 14px; color: var(--text-gray); padding-top: 0; }
.faq-answer.is-open { padding-top: 15px; max-height: 200px; }
.faq-toggle { font-size: 24px; font-weight: 300; transition: transform 0.3s ease; }
.faq-item-wrapper.is-open .faq-toggle { transform: rotate(45deg); }

.site-footer { background: #f4f5f6; padding: 60px 0 30px; font-size: 13px; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 2fr; gap: 30px; margin-bottom: 50px; }
.footer-col h4 { font-size: 14px; font-weight: 600; margin-bottom: 20px; }
.footer-col ul { list-style: none; }
.footer-col ul li { margin-bottom: 10px; color: var(--text-gray); }
.social-icons { display: flex; gap: 15px; margin-top: 20px; }
.social-icons img { width: 24px; height: 24px; }
.newsletter-form { display: flex; margin-top: 15px; }
.newsletter-form input { padding: 10px 15px; border: 1px solid var(--border-color); border-radius: 20px 0 0 20px; flex: 1; }
.newsletter-form button { background: var(--primary-blue); color: white; border: none; padding: 0 20px; border-radius: 0 20px 20px 0; cursor: pointer; }
.footer-bottom { text-align: center; padding-top: 20px; border-top: 1px solid #e0e0e0; color: var(--text-gray); font-size: 12px; }

.animate-on-scroll { opacity: 0; transform: translateY(20px); transition: opacity 0.6s ease-out, transform 0.6s ease-out; }
.animate-on-scroll.is-visible { opacity: 1; transform: translateY(0); }

/* 16. MOBILE & RESPONSIVE STYLES */
.mobile-nav {
    display: none;
    flex-direction: column;
    background: white;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    border-bottom: 1px solid var(--border-color);
    padding: 20px;
}
.mobile-nav.is-open { display: flex; }
.mobile-nav a { padding: 10px 20px; font-weight: 500; }

/* Tablety (do 1024px) */
@media (max-width: 1024px) {
    .container, .header-content { padding: 0 40px; }
    section.section-container { padding-left: 40px; padding-right: 40px; }

    .hero h1 { font-size: 48px; }
    .benefits-grid { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
    .events-grid { grid-template-columns: 1fr; }
    .mentoring-showcase-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .faq-grid { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .hero-inner, .about-inner, .testimonials-inner { flex-direction: column; text-align: center; gap: 0}
    .hero-content, .about-text { max-width: 100%; }
    .mentoring-header{flex-direction: column}
}

/* Telefony komórkowe (do 768px) */
@media (max-width: 768px) {
    .container, .header-content { padding: 0 20px; }
    section.section-container { padding-left: 20px; padding-right: 20px; }

    .main-header-aether .nav-links, .main-header-aether .nav-actions .btn, .main-header-aether .nav-actions .icon-link:not(:first-child) {
        display: none;
    }
    .mobile-menu-toggle {
        display: block;
        cursor: pointer;
    }

    .hero h1 { font-size: 36px; }
    .hero p { font-size: 14px; }
    .hero-features { flex-direction: column; align-items: center; }

    .benefits-grid, .blog-grid, .mentoring-showcase-grid { grid-template-columns: 1fr; }
    .calendar-booking-buttons { grid-template-columns: 1fr; }
    .home-contact-layout { grid-template-columns: 1fr!important; padding: 28px 20px!important; }

    /* POPRAWKA: Jedna kolumna na telefonach */
    .events-grid, .split-section .container {
        grid-template-columns: 1fr;
    }

    .about-process { flex-direction: column; gap: 20px; }
    .process-arrow { display: none; }

    .courses-inner { flex-direction: column; padding: 30px; }
    .courses-img { width: 100%; height: auto; }

    .split-box { padding: 30px; }
    .split-img-placeholder { display: none; }

    .testimonials-inner { padding: 20px; }
    .testi-stats { min-width: unset; width: 100%; }
    .testi-content { padding: 20px; }
    .testi-nav { position: static; justify-content: center; margin-top: 20px; }

    .footer-grid { grid-template-columns: 1fr; text-align: center; }
    .logo { align-items: center; }
    .social-icons { justify-content: center; }
}

/* MENTORING PAGE REDONE */
.mentoring-page {
    background: #fff;
}

.mentoring-hero {
    background: linear-gradient(180deg, #f9f7f4 0%, #ffffff 100%);
    padding: 80px 0;
}

.mentoring-hero-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
}

.mentoring-hero-copy {
    flex: 1;
    max-width: 620px;
}

.mentoring-hero-copy h1 {
    font-size: 58px;
    line-height: 1.02;
    margin-bottom: 18px;
    letter-spacing: -0.05em;
}

.mentoring-hero-copy .lead {
    font-size: 22px;
    line-height: 1.4;
    color: var(--text-dark);
    margin-bottom: 18px;
    font-weight: 500;
}

.mentoring-hero-copy p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--text-gray);
    margin-bottom: 12px;
}

.question {
    font-size: 26px !important;
    line-height: 1.3 !important;
    color: var(--primary-blue) !important;
    font-family: var(--font-serif);
    margin: 18px 0 !important;
}

.mentoring-hero-actions {
    margin-top: 28px;
}

.mentoring-hero-visual {
    flex: 1;
    display: flex;
    justify-content: center;
}

.mentor-spotlight {
    width: min(100%, 520px);
    background: linear-gradient(180deg, rgba(109,136,157,0.12), rgba(138,101,88,0.08));
    border: 1px solid rgba(109,136,157,0.15);
    border-radius: 24px;
    padding: 40px 36px;
    box-shadow: 0 24px 50px rgba(0,0,0,0.06);
}

.spotlight-label {
    display: inline-block;
    margin-bottom: 12px;
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--primary-blue-dark);
    font-weight: 700;
}

.mentor-spotlight p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--text-dark);
}

.mentoring-intro,
.mentoring-mentors,
.mentoring-booking,
.mentoring-final {
    padding: 80px 0;
}

.mentoring-intro-inner,
.mentoring-final-inner,
.booking-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
}

.mentoring-final-inner{
    gap: 0!important;
}

.mentoring-intro-copy,
.final-copy {
    flex: 1.3;
}

.mentoring-intro-copy h2,
.section-heading h2,
.booking-copy h2,
.final-copy h2 {
    font-size: 42px;
    line-height: 1.1;
    margin-bottom: 20px;
}

.mentoring-intro-copy p,
.booking-copy p,
.final-copy p {
    font-size: 15px;
    line-height: 1.8;
    color: var(--text-gray);
    margin-bottom: 16px;
}

.mentoring-intro-box {
    flex: 0 0 360px;
    background: var(--bg-light);
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 32px 24px;
}

.mentoring-intro-box p,
.mentoring-intro-box strong {
    font-size: 18px;
    line-height: 1.6;
}

.mentoring-intro-box strong {
    display: block;
    margin-top: 20px;
    color: var(--primary-blue-dark);
    font-family: var(--font-serif);
}

.section-heading {
    margin-bottom: 36px;
}

.mentor-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.mentor-card {
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 18px;
    padding: 26px 22px;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    box-shadow: 0 8px 20px rgba(0,0,0,0.02);
}

.mentor-header {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 18px;
}

.mentor-photo {
    width: 92px;
    height: 92px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid rgba(109,136,157,0.2);
    background: var(--bg-light);
    box-shadow: 0 10px 22px rgba(0,0,0,0.08);
    flex-shrink: 0;
}

.mentor-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mentor-heading {
    flex: 1;
}

.mentor-topline {
    margin-bottom: 6px;
}

.mentor-name {
    display: inline-block;
    font-size: 12px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--primary-brown);
}

.mentor-card h3 {
    font-size: 22px;
    margin-bottom: 0;
    line-height: 1.2;
}

.mentor-card p {
    font-size: 14px;
    line-height: 1.7;
    color: var(--text-gray);
    margin-bottom: 12px;
}

.mentor-note {
    margin-top: auto;
    padding-top: 8px;
    color: var(--text-dark) !important;
    font-weight: 500;
}

.mentor-card .btn {
    margin-top: 18px;
    align-self: flex-start;
}

.booking-box {
    background: var(--bg-light);
    border: 1px solid var(--border-color);
    border-radius: 28px;
    padding: 42px 52px;
}

.booking-copy {
    flex: 1 1 50%;
    max-width: 50%;
}

.calendar-placeholder {
    flex: 1;
    min-height: 220px;
    background: #fff;
    border: 1px dashed rgba(109,136,157,0.5);
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-blue-dark);
    font-size: 14px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-align: center;
    padding: 20px;
}

.mentoring-final-inner {
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 24px;
    padding: 42px 56px;
}

.home-contact-cta {
    padding: 0 0 90px;
}

.home-contact-layout {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 40px;
    align-items: center;
    background: #f9f8f6;
    border: 1px solid var(--border-color);
    border-radius: 28px;
    padding: 42px 52px;
    margin-top: 32px;
}

.home-contact-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.home-contact-header {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 18px;
}

.home-contact-icon {
    width: 58px;
    height: 58px;
    min-width: 58px;
    background: var(--primary-blue);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 24px rgba(109,136,157,0.18);
}

.home-contact-icon svg {
    width: 26px;
    height: 26px;
    stroke: #fff;
    stroke-width: 2;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.home-contact-copy h2 {
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.1;
    margin: 0;
}

.home-contact-copy p {
    font-size: 15px;
    line-height: 1.8;
    color: var(--text-gray);
    margin: 0 0 12px;
}

.home-contact-copy .home-contact-lead {
    font-size: 18px;
    color: var(--text-dark);
    font-weight: 500;
}

.home-contact-form-section {
    background-color: #fff;
    border: 1px solid var(--border-color);
    border-radius: 24px;
    padding: 30px 28px;
}

.home-contact-form-section h3 {
    font-size: 28px;
    margin-bottom: 15px;
}

.home-contact-form-section > p {
    font-size: 14px;
    color: var(--text-gray);
    margin-bottom: 20px;
}

.home-contact-form-section .wpcf7 {
    width: 100%;
}

.home-contact-form-section form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.home-contact-form-section .wpcf7-form p {
    margin: 0;
}

.home-contact-form-section input,
.home-contact-form-section textarea,
.home-contact-form-section select {
    width: 100%;
    border: 1px solid #cfd9e1;
    border-radius: 14px;
    padding: 12px 14px;
    font-size: 14px;
    background: #fff;
    color: var(--text-dark);
    font-family: inherit;
}

.home-contact-form-section textarea {
    min-height: 120px;
    resize: vertical;
}

.home-contact-form-section .wpcf7-submit {
    width: auto;
    align-self: flex-start;
    background-color: var(--primary-blue);
    color: #fff;
    border: none;
    border-radius: 30px;
    padding: 12px 24px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.home-contact-form-section .wpcf7-submit:hover {
    background-color: #dfeef7;
    color: #184a75;
}

.home-contact-form-section .security-notice {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
    color: var(--text-gray);
    font-size: 13px;
    line-height: 1.6;
}

.home-contact-form-section .security-notice img {
    width: 30px;
    height: 30px;
    object-fit: contain;
}

.final-action {
    display: flex;
    justify-content: flex-end;
}

@media (max-width: 1024px) {
    .mentoring-hero-inner,
    .mentoring-intro-inner,
    .mentoring-final-inner,
    .booking-box {
        flex-direction: column;
        text-align: center;
    }

    .mentoring-hero-copy,
    .mentoring-intro-copy,
    .booking-copy,
    .final-copy {
        max-width: 100%;
    }

    .mentoring-intro-box {
        width: 100%;
        max-width: 480px;
    }

    .mentor-grid {
        grid-template-columns: 1fr;
    }

    .final-action {
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .mentoring-hero-copy h1,
    .mentoring-intro-copy h2,
    .section-heading h2,
    .booking-copy h2,
    .final-copy h2 {
        font-size: 36px;
    }

    .mentoring-hero {
        padding: 60px 0;
    }

    .mentoring-hero-copy .lead {
        font-size: 18px;
    }

    .question {
        font-size: 20px !important;
    }

    .mentoring-intro-box {
        flex-basis: auto;
    }

    .booking-box,
    .mentoring-final-inner {
        padding: 28px 20px;
    }
}
