/* ==========================================================
 *  LANDING.CSS v1.0
 *  Grav Quark 2
 *  Hormozi Landing Framework
 = *========================================================= */


/* ==========================================================
 *  Design Tokens
 = *========================================================= */

:root {

    --landing-primary: #2563eb;
    --landing-primary-dark: #1d4ed8;

    --landing-radius: 18px;

    --landing-shadow:
    0 18px 50px rgba(15,23,42,.08);

    --landing-container: 1200px;

    --landing-section-space: 110px;

    --landing-bg: #ffffff;

    --landing-surface: #ffffff;

    --landing-surface-alt: #f8fafc;

    --landing-border: rgba(15,23,42,.08);

    --landing-text: #475569;

    --landing-secondary: #0f172a;

}


/* ==========================================================
 *  Dark Theme
 = *========================================================= */

:root[data-theme="dark"] {

    --landing-bg: #0f172a;

    --landing-surface: #182233;

    --landing-surface-alt: #111827;

    --landing-border: rgba(255,255,255,.08);

    --landing-text: #d1d5db;

    --landing-secondary: #ffffff;

    --landing-shadow:
    0 20px 55px rgba(0,0,0,.45);

}


/* ==========================================================
 *  Base
 = *========================================================= */

.landing-page {

    background: var(--landing-bg);

    color: var(--landing-text);

}


.landing-section {

    padding:

    var(--landing-section-space)

    0;

}


.landing-container {

    width:

    min(

        var(--landing-container),

        calc(100% - 48px)

    );

    margin-inline:auto;

}


img {

    max-width:100%;

    height:auto;

}


/* ==========================================================
 *  Typography
 = *========================================================= */

.section-eyebrow {

    display:inline-flex;

    align-items:center;

    gap:10px;

    margin-bottom:18px;

    padding:8px 18px;

    border-radius:999px;

    background:

    color-mix(

        in srgb,

        var(--landing-primary) 15%,

              transparent

    );

    color:

    var(--landing-primary);

    font-weight:700;

    font-size:.9rem;

}


.section-title {

    max-width:900px;

    margin-bottom:24px;

    font-size:

    clamp(

        2rem,

        4vw,

        3.5rem

    );

    line-height:1.1;

    color:

    var(--landing-secondary);

}


.section-intro {

    max-width:850px;

    margin-bottom:60px;

    color:

    var(--landing-text);

    font-size:1.15rem;

    line-height:1.8;

}


/* ==========================================================
 *  Buttons
 = *========================================================= */

.button,

.button-primary {

    display:inline-flex;

    align-items:center;

    justify-content:center;

    text-decoration:none;

    cursor:pointer;

    transition:.25s;

    border-radius:

    calc(

        var(--landing-radius) - 4px

    );

    font-weight:700;

}


.button-primary {

    background:

    var(--landing-primary);

    color:white;

}


.button-primary:hover {

    background:

    var(--landing-primary-dark);

    color:white;

    transform:

    translateY(-2px);

}


.button-xl {

    padding:

    20px 46px;

    font-size:

    1.1rem;

}


/* ==========================================================
 *  Hero
 = *========================================================= */

.hero {

    padding:

    80px 0 110px;

}


.hero-grid {

    display:grid;

    grid-template-columns:

    1.1fr

    .9fr;

    gap:70px;

    align-items:center;

}


.hero-title {

    margin-bottom:28px;

    font-size:

    clamp(

        2.8rem,

        5vw,

        4.8rem

    );

    line-height:1.05;

    color:

    var(--landing-secondary);

}


.hero-subtitle {

    margin-bottom:40px;

    font-size:1.2rem;

    line-height:1.8;

    color:

    var(--landing-text);

}


.hero-actions {

    display:flex;

    flex-wrap:wrap;

    gap:18px;

    margin-bottom:45px;

}


.hero-media {

    display:block;

    width:100%;

    border-radius:

    var(--landing-radius);

}


.hero-trust-list {

    display:flex;

    flex-wrap:wrap;

    gap:18px;

    padding:0;

    margin:0;

    list-style:none;

}


.hero-trust-list li {

    display:flex;

    align-items:center;

    gap:8px;

    color:

    var(--landing-text);

}


/* ==========================================================
 *  Proof Bar
 = *========================================================= */

.proof-bar {

    padding:

    90px 0;

}


.proof-bar__intro {

    max-width:760px;

    margin:

    0 auto 55px;

    text-align:center;

}


.proof-bar__title {

    color:

    var(--landing-secondary);

    font-size:

    clamp(

        1.8rem,

        3vw,

        2.5rem

    );

}


.proof-bar__grid {

    display:grid;

    grid-template-columns:

    repeat(

        4,

        1fr

    );

    gap:28px;

}


.proof-card {

    padding:36px;

    background:

    var(--landing-surface);

    border:

    1px solid

    var(--landing-border);

    border-radius:

    var(--landing-radius);

    box-shadow:

    var(--landing-shadow);

    text-align:center;

}


.proof-card__value {

    font-size:

    clamp(

        2rem,

        4vw,

        3rem

    );

    font-weight:800;

    color:

    var(--landing-primary);

}


.proof-card__label {

    margin-top:16px;

    color:

    var(--landing-text);

    line-height:1.6;

}


/* ==========================================================
 *  Responsive
 = *========================================================= */

@media (max-width:960px){

    .hero-grid{

        grid-template-columns:1fr;

    }

    .proof-bar__grid{

        grid-template-columns:

        repeat(2,1fr);

    }

}


@media (max-width:640px){

    .landing-section{

        padding:70px 0;

    }

    .hero{

        padding:60px 0 80px;

    }

    .proof-bar__grid{

        grid-template-columns:1fr;

    }

    .hero-actions{

        flex-direction:column;

    }

    .button,

    .button-primary{

        width:100%;

    }

}

/* ==========================================================
 *  Cost of Inaction
 = *========================================================= */

.cost {

    padding: var(--landing-section-space) 0;

}

.cost-grid {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 32px;

}

.cost-card {

    padding: 36px;

    background: var(--landing-surface);

    border: 1px solid var(--landing-border);

    border-left: 4px solid var(--landing-primary);

    border-radius: var(--landing-radius);

    box-shadow: var(--landing-shadow);

    transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;

}

.cost-card:hover {

    transform: translateY(-4px);

    box-shadow: 0 24px 60px rgba(0,0,0,.12);

}

:root[data-theme="dark"] .cost-card:hover {

    box-shadow: 0 24px 60px rgba(0,0,0,.45);

}

.cost-card__title {

    margin: 0 0 16px;

    color: var(--landing-secondary);

    font-size: 1.3rem;

    line-height: 1.3;

}

.cost-card__text {

    margin: 0;

    color: var(--landing-text);

    line-height: 1.8;

}



/* ==========================================================
 *  Unique Mechanism
 = *========================================================= */

.mechanism {

    padding: var(--landing-section-space) 0;

}

.mechanism-grid {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 32px;

}

.mechanism-card {

    position: relative;

    padding: 40px;

    background: var(--landing-surface);

    border: 1px solid var(--landing-border);

    border-radius: var(--landing-radius);

    box-shadow: var(--landing-shadow);

    overflow: hidden;

    transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;

}

.mechanism-card:hover {

    transform: translateY(-4px);

    box-shadow: 0 24px 60px rgba(0,0,0,.12);

}

:root[data-theme="dark"] .mechanism-card:hover {

    box-shadow: 0 24px 60px rgba(0,0,0,.45);

}

.mechanism-card::before {

    content: "";

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 4px;

    background: var(--landing-primary);

}

.mechanism-card__number {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 56px;

    height: 56px;

    margin-bottom: 24px;

    border-radius: 50%;

    background: var(--landing-primary);

    color: #ffffff;

    font-size: 1rem;

    font-weight: 700;

}

.mechanism-card h3 {

    margin: 0 0 16px;

    color: var(--landing-secondary);

    font-size: 1.4rem;

    line-height: 1.3;

}

.mechanism-card p {

    margin: 0;

    color: var(--landing-text);

    line-height: 1.8;

}



/* ==========================================================
 *  Shared spacing
 = *========================================================= */

.cost + .mechanism {

    padding-top: 20px;

}



/* ==========================================================
 *  Responsive
 = *========================================================= */

@media (max-width: 960px) {

    .cost-grid,

    .mechanism-grid {

        grid-template-columns: 1fr;

    }

}

@media (max-width: 640px) {

    .cost-card,

    .mechanism-card {

        padding: 28px;

    }

    .mechanism-card__number {

        width: 48px;

        height: 48px;

        margin-bottom: 20px;

    }

}

/* ==========================================================
 *  Offer Stack
 = *========================================================= */

.landing-section.offer-stack {
    padding: 80px 0;
    background-color: var(--offer-bg, transparent);
}

.offer-stack-list {
    max-width: 900px;
    margin: 40px auto;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.offer-card {
    background: var(--card-bg, #ffffff);
    border: 1px solid var(--card-border, #e5e7eb);
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.3s ease, border-color 0.3s ease;
}

.offer-card:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.08);
}

.offer-card-header {
    display: grid;
    grid-template-columns: 60px 1fr auto;
    align-items: start;
    gap: 20px;
}

@media (max-width: 768px) {
    .offer-card-header {
        grid-template-columns: 1fr;
    }
}

.offer-index {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--primary-color, #2563eb);
    background: var(--primary-light, #eff6ff);
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
}

.offer-heading h3 {
    margin: 0 0 4px 0;
    font-size: 1.25rem;
    color: var(--heading-color, #1f2937);
}

.offer-outcome {
    margin: 0;
    font-size: 0.95rem;
    color: var(--text-muted, #6b7280);
}

.offer-value {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--primary-color, #2563eb);
    white-space: nowrap;
    background: var(--primary-light, #eff6ff);
    padding: 6px 12px;
    border-radius: 20px;
    letter-spacing: 0.5px;
}

.offer-description {
    margin-top: 16px;
    color: var(--text-color, #4b5563);
    font-size: 0.95rem;
    line-height: 1.6;
}

.offer-description p {
    margin: 0;
}

.offer-features {
    list-style: none;
    padding: 0;
    margin: 20px 0 0 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 10px;
}

.offer-features li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.95rem;
    color: var(--text-color, #374151);
}

.feature-check {
    color: #10b981;
    font-weight: bold;
}


/* --- Csomag összesítő blokk (Ugyanolyan széles, háttér és box-shadow nélkül) --- */
.offer-summary {
    max-width: 900px;
    margin: 40px auto 16px auto;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 20px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    text-align: center;
}

.offer-total {
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--text-muted, #6b7280);
    font-weight: 600;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* Felcserélt betűméret: a teljes csomag értéke lett nagyobb (vagy a kért átrendezés szerint) */
.offer-total .value {
    text-decoration: none;
    color: var(--heading-color, #1f2937);
    font-weight: 800;
    font-size: 2.2rem;
    letter-spacing: normal;
    line-height: 1.2;
}

.offer-price {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

/* Label-ekről levéve a háttér, shadow, és a mai ár labelje alapértelmezett színt kapott (nem kék) */
.offer-total .label,
.offer-price .label {
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--text-muted, #6b7280);
    font-weight: 700;
    background: transparent;
    box-shadow: none;
    padding: 0;
}

/* Felcserélt betűméret: a mai ár mérete lett kisebb */
.offer-price .price {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--heading-color, #111827);
    line-height: 1.2;
}

.offer-price-note {
    text-align: center;
    font-size: 0.95rem;
    color: var(--text-muted, #6b7280);
    margin-bottom: 24px;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.offer-price-note p {
    margin: 0;
}


/* --- Sötét Mód (Dark Mode) Kezelés --- */
[data-theme="dark"] .offer-card,
.dark-mode .offer-card,
.dark .offer-card,
html.dark .offer-card {
    background: #1e293b;
    border-color: #334155;
}

[data-theme="dark"] .offer-heading h3,
.dark-mode .offer-heading h3,
.dark .offer-heading h3,
html.dark .offer-heading h3 {
    color: #f8fafc;
}

[data-theme="dark"] .offer-outcome,
.dark-mode .offer-outcome,
.dark .offer-outcome,
html.dark .offer-outcome {
    color: #94a3b8;
}

[data-theme="dark"] .offer-description,
.dark-mode .offer-description,
.dark .offer-description,
html.dark .offer-description {
    color: #cbd5e1;
}

[data-theme="dark"] .offer-index,
.dark-mode .offer-index,
.dark .offer-index,
html.dark .offer-index {
    background: rgba(37, 99, 235, 0.2);
    color: #60a5fa;
}

[data-theme="dark"] .offer-value,
.dark-mode .offer-value,
.dark .offer-value,
html.dark .offer-value {
    background: rgba(37, 99, 235, 0.25);
    color: #93c5fd;
}

[data-theme="dark"] .offer-features li,
.dark-mode .offer-features li,
.dark .offer-features li,
html.dark .offer-features li {
    color: #cbd5e1;
}

[data-theme="dark"] .offer-total .value,
.dark-mode .offer-total .value,
.dark .offer-total .value,
html.dark .offer-total .value {
    color: #f8fafc;
}

[data-theme="dark"] .offer-price .price,
.dark-mode .offer-price .price,
.dark .offer-price .price,
html.dark .offer-price .price {
    color: #f8fafc;
}

[data-theme="dark"] .offer-total .label,
[data-theme="dark"] .offer-price .label,
.dark-mode .offer-total .label,
.dark-mode .offer-price .label,
.dark .offer-total .label,
.dark .offer-price .label,
html.dark .offer-total .label,
html.dark .offer-price .label {
    color: #94a3b8;
    background: transparent;
    box-shadow: none;
}

[data-theme="dark"] .offer-price-note,
.dark-mode .offer-price-note,
.dark .offer-price-note,
html.dark .offer-price-note {
    color: #94a3b8;
}



/* ==========================================================
 *  Total Value
 = *========================================================= */

.offer-summary {

    margin-top: 50px;

    padding: 48px;

    background:
    linear-gradient(
        135deg,
        var(--landing-primary),
                    var(--landing-primary-dark)
    );

    border-radius: var(--landing-radius);

    color: white;

    text-align: center;

}

.offer-summary-label {

    font-size: 1rem;

    opacity: .9;

}

.offer-summary-value {

    margin: 12px 0;

    font-size:

    clamp(
        2.5rem,
        5vw,
        4.5rem
    );

    font-weight: 800;

}

.offer-summary-text {

    max-width: 760px;

    margin: auto;

    line-height: 1.8;

}

section.landing-section.offer-stack .offer-summary {
    max-width: 900px;
    margin: 40px auto 16px auto !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 20px 0 !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    text-align: center;
    color: inherit; /* Örökölje a normál szövegszínt */
}



/* ==========================================================
 *  CTA Panel
 = *========================================================= */

.offer-cta {

    margin-top: 60px;

    text-align: center;

}

.offer-cta .button-primary {

    min-width: 320px;

}

.offer-note {

    margin-top: 20px;

    font-size: .95rem;

    color: var(--landing-text);

}

/* ==========================================================
 *  FAQ section
 = *========================================================= */*

 .landing-section.faq {
     padding: 80px 0;
     background-color: var(--faq-bg, transparent);
 }

 .faq-list {
     max-width: 800px;
     margin: 40px auto 0;
     display: flex;
     flex-direction: column;
     gap: 16px;
 }

 .faq-item {
     background: var(--card-bg, #ffffff);
     border: 1px solid var(--card-border, #e5e7eb);
     border-radius: 12px;
     overflow: hidden;
     transition: border-color 0.3s ease, background-color 0.3s ease;
 }

 .faq-question {
     width: 100%;
     background: none;
     border: none;
     padding: 20px 24px;
     display: flex;
     justify-content: space-between;
     align-items: center;
     text-align: left;
     font-size: 1.1rem;
     font-weight: 600;
     color: var(--heading-color, #1f2937);
     cursor: pointer;
     transition: color 0.2s ease;
 }

 .faq-question:hover {
     color: var(--primary-color, #2563eb);
 }

 .faq-icon {
     font-size: 1.4rem;
     font-weight: 400;
     line-height: 1;
     color: var(--primary-color, #2563eb);
     flex-shrink: 0;
     margin-left: 16px;
 }

 /* A válasz alaphelyzetben rejtve van */
 .faq-answer {
     max-height: 0;
     overflow: hidden;
     padding: 0 24px;
     color: var(--text-color, #4b5563);
     font-size: 0.95rem;
     line-height: 1.6;
     transition: max-height 0.3s ease-in-out, padding 0.3s ease-in-out;
 }

 .faq-answer p {
     margin: 0 0 16px 0;
 }

 /* --- Nyitott állapot (.active osztály a JS-hez igazítva) --- */
 .faq-item.active .faq-answer {
     max-height: 500px;
     padding: 0 24px 20px 24px;
 }

 .faq-bottom {
     text-align: center;
     margin-top: 30px;
     color: var(--text-muted, #6b7280);
 }


 /* --- Sötét mód szabályok a FAQ-hoz --- */
 [data-theme="dark"] .faq-item,
.dark-mode .faq-item,
.dark .faq-item {
    background: #1e293b;
    border-color: #334155;
}

[data-theme="dark"] .faq-question,
.dark-mode .faq-question,
.dark .faq-question {
    color: #f8fafc;
}

[data-theme="dark"] .faq-answer,
.dark-mode .faq-answer,
.dark .faq-answer {
    color: #94a3b8;
}


/* ==========================================================
 *  Bonuses sextion
 = *========================================================= */*

 .landing-section.bonuses {
     padding: 80px 0;
     background-color: var(--bonuses-bg, var(--section-bg, #f9fafb));
     transition: background-color 0.3s ease;
 }

 .bonus-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
     gap: 30px;
     margin-top: 40px;
     margin-bottom: 40px;
 }

 .bonus-card {
     background: var(--card-bg, #ffffff);
     border: 1px solid var(--card-border, #e5e7eb);
     border-radius: 12px;
     padding: 30px;
     display: flex;
     flex-direction: column;
     justify-content: space-between;
     box-shadow: var(--card-shadow, 0 4px 6px -1px rgba(0, 0, 0, 0.05));
     transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.3s ease, border-color 0.3s ease;
 }

 .bonus-card:hover {
     transform: translateY(-4px);
     box-shadow: var(--card-hover-shadow, 0 10px 15px -3px rgba(0, 0, 0, 0.1));
 }

 .bonus-header {
     margin-bottom: 20px;
 }

 .bonus-label {
     display: inline-block;
     font-size: 0.75rem;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.05em;
     color: var(--primary-color, #2563eb);
     background-color: var(--primary-light, rgba(37, 99, 235, 0.1));
     padding: 4px 10px;
     border-radius: 20px;
     margin-bottom: 12px;
 }

 .bonus-card h3 {
     font-size: 1.25rem;
     font-weight: 700;
     color: var(--heading-color, #1f2937);
     line-height: 1.4;
     margin: 0;
 }

 .bonus-description {
     color: var(--text-color, #4b5563);
     font-size: 0.95rem;
     line-height: 1.6;
     margin-bottom: 20px;
 }

 .bonus-description p {
     margin: 0 0 10px 0;
 }

 .bonus-solves {
     background-color: var(--solves-bg, #f3f4f6);
     border-left: 4px solid var(--primary-color, #2563eb);
     padding: 12px 16px;
     border-radius: 0 8px 8px 0;
     font-size: 0.9rem;
     margin-bottom: 20px;
 }

 .bonus-solves strong {
     display: block;
     color: var(--heading-color, #1f2937);
     margin-bottom: 4px;
 }

 .bonus-solves p {
     margin: 0;
     color: var(--text-color, #4b5563);
 }

 .bonus-value {
     font-size: 0.9rem;
     color: var(--text-muted, #6b7280);
     border-top: 1px solid var(--card-border, #f3f4f6);
     padding-top: 16px;
     margin-top: auto;
     display: flex;
     justify-content: space-between;
     align-items: center;
 }

 .bonus-value span {
     font-weight: 700;
     color: var(--heading-color, #111827);
     font-size: 1.1rem;
 }

 .bonus-total {
     text-align: center;
     font-size: 1.1rem;
     color: var(--text-color, #374151);
     background: var(--card-bg, #ffffff);
     border: 2px dashed var(--card-border, #cbd5e1);
     border-radius: 8px;
     padding: 20px;
     margin: 30px 0;
 }

 .bonus-total strong {
     color: var(--primary-color, #2563eb);
     font-size: 1.3rem;
     margin-left: 8px;
 }

 .bonus-note {
     text-align: center;
     color: var(--text-muted, #6b7280);
     font-size: 0.9rem;
     margin-bottom: 30px;
 }


 /* --- Explicit Sötét Mód Szabályok (ha a sablonod ezt igényli) --- */
 /* Automatikus alkalmazkodás, ha a szülő elem vagy a body sötét osztályt/attribútumot kap */
 [data-theme="dark"] .landing-section.bonuses,
.dark-mode .landing-section.bonuses,
.dark .landing-section.bonuses {
    --bonuses-bg: #0f172a;
    --card-bg: #1e293b;
    --card-border: #334155;
    --heading-color: #f8fafc;
    --text-color: #94a3b8;
    --text-muted: #64748b;
    --solves-bg: #0f172a;
    --card-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3);
    --card-hover-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.4);
}


/* ==========================================================
 *  Responsive
 = *========================================================= */

@media (max-width:900px){

    .offer-card{

        grid-template-columns:1fr;

        text-align:center;

    }

    .offer-icon{

        margin:auto;

    }

    .offer-value{

        text-align:center;

    }

}

@media (max-width:640px){

    .offer-summary{

        padding:36px 24px;

    }

    .offer-cta .button-primary{

        width:100%;

        min-width:0;

    }

}
