/* =============================================================================
   CSS VARIABLES
   ============================================================================= */

:root {
    --color-body: #F5F1E9; /* Light creme */
    --border-radius: 12px;
    --color-font-one: #181715;
    --color-font-three:#181715;
    --color-font-five:#181715;
    --color-font-black:#181715;
    --color-three: #181715;
    --color-four: #181715;
    --color-five: #181715;
    --color-seven: #181715;
}

body .is-partial-color:not(.is-partial-dark) {
    --color-font-four: #181715;
    --color-font-six: #181715;
}

.dark-mode .is-partial-color:not(.is-partial-dark) {
    --color-font-five: #181715;
    --color-four: #181715;
    --color-body: #181715;
}

@media (prefers-color-scheme:dark) {
    .auto-dark-mode .is-partial-color:not(.is-partial-dark) {
        --color-font-five: #181715;
        --color-four: #181715;
        --color-body: #181715;
    }
}

.dark-mode,
.is-partial-dark {
    --color-font-one: #F5F1E9;
    --color-font-two: #CB2D24;
    --color-font-three: #F5F1E9;
    --color-font-four: #CB2D24;
    --color-font-five: #F5F1E9;
    --color-font-six: #CB2D24;
    --color-one: #B72920;
    --color-two: #B72920;
    --color-three: #F5F1E9;
    --color-four: #F5F1E9;
    --color-five: #F5F1E9;
    --color-six: #CB2D24;
    --color-seven: #F5F1E9;
    --color-eight: #B72920;
    --color-nine: #A2241D;
    --color-ten: #A2241D;
    --color-eleven: #97221B;
    --color-twelve: #B72920;
    --color-thirteen: #B72920;
    --color-fourteen: #B72920;
    --color-white: #F5F1E9;
    --color-body: #CB2D24;
    --color-body-partial: #CB2D24;
    --color-border-one: #D55750;
    --color-border-two: #D55750;
    --color-border-three: #DA7A73;
    --opacity-one: .5;
    --opacity-two: .9;
}



.hero-section {
    position: relative;
    overflow: hidden;

    /* Ensure content sits above the background character */
    > * {
        position: relative;
        z-index: 1;
    }

    /* Add drop shadow to hero text for readability over character */
    .item-title,
    .item-title a,
    .item-excerpt,
    .global-subtitle-title {
        text-shadow: 2px 2px 4px #CB2D24,
                     -1px -1px 3px #CB2D24,
                     1px 1px 5px rgba(203, 45, 36, 0.5);
    }

    /* Character background in pseudo element */
    &::before {
        content: '';
        position: absolute;
        bottom: -100px;
        left: -200px;
        width: 30vw;
        height: 100%;
        z-index: 0;
        background-image: url('../img/mr-robot.png');
        background-repeat: no-repeat;
        background-size: contain;
        background-position: bottom left;
        pointer-events: none;
        rotate: 25deg;

        /* Large screens: keep contained to panel height, half off left edge */
        @media (max-width: 3000px) {
            width: 30vw;
            left: -100px;
        }

        /* Medium-large screens: start shrinking and moving further off */
        @media (max-width: 2000px) {
            width: 30vw;
            left: -80px;
            bottom: -310px;
            rotate: 25deg;
        }

        /* Laptop screens: shrink more and move further off */
        @media (max-width: 1600px) {
            bottom: -340px;
            left: -50px;


        }

        /* Smaller laptop: continue shrinking and moving further off, peaking over bottom */
        @media (max-width: 1480px) {
            left: 50px;
            bottom: -340px;
            width: 400px;
        }
    }

    /* Smaller laptop: add padding for peaking character */
    @media (max-width: 2000px) {
        padding-bottom: 100px;
    }

     @media (max-width: 1600px) {
        padding-bottom: 120px;
    }
}


/* =============================================================================
   CUSTOM PAGE BLOCKS (Signin, Signup, Subscribe, Contact)
   ============================================================================= */

.custom-wrap {
    overflow: hidden;
}

.custom-image.global-bg-image {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    background-image: url('../img/mr-robot.png');
    background-size: contain;
    background-position: 0px bottom;

    @media (max-width: 2400px) {
        background-position: -200px bottom;
    }

    @media (max-width: 1600px) {
        background-position: -300px bottom;
    }

    @media (max-width: 1200px) {
        top: 400px;
        background-position: left 100%;
        background-size: 50vw;
        rotate: 25deg;
    }

    @media (max-width: 1024px) {
        display: block;
    }
}

.custom-container {
    position: relative;
    z-index: 1;
    align-items: flex-end;
    overflow: hidden;

    .global-question {
        text-align: left;
    }

    /* Text stroke for visibility over background image */
    .custom-title,
    .global-question {
        -webkit-text-stroke: 1px var(--color-six);
        paint-order: stroke fill;
    }

    @media (max-width: 2000px) {
        padding-left: 400px;
    }

    @media (max-width: 1480px) {
        padding-left: 600px;
    }

    @media (max-width: 1200px) {
        padding-left: 0;
    }
}

.custom-content,
.custom-logo-wrap {
    width: 100%;

    .global-button {
        background-color: var(--color-thirteen);
    }

    input {
        border-radius: var(--border-radius);
    }

    @media (max-width: 768px) {
        margin: 0 auto 10vh;
    }
}

/* =============================================================================
   COLOR OVERRIDES
   ============================================================================= */

.loop-subtitle {
    .global-title {
        --color-font-two:#CB2D24;
        color: var(--color-font-two);
    }
}

.post-share-wrap {
    a {
        --color-one: #CB2D24;
        --color-two: #D0453C;
        --color-fourteen: #B72920;
        --color-font-one: #F5F1E9;
    }
}

.comments-section {
    --color-fourteen: #F5F1E9;
}

/* =============================================================================
   LAYOUT & VISIBILITY
   ============================================================================= */

/* .global-authors,
.post-meta-content a {
    display: none;
} */
.featured-section .global-authors, .loop-section .global-authors, .special-section .global-authors {
    display: none;
}


.featured-section {
    .item.is-featured .item-image {
        border: solid var(--color-border-one) 1px;
    }
}

.post-header-image .global-image{
        border: solid var(--color-border-one) 1px;
}

/* =============================================================================
   FORMS & BUTTONS
   ============================================================================= */

.subscribe-form,
.global-button {
    border-radius: var(--border-radius);
}

/* =============================================================================
   CONTENT BLOCKS
   ============================================================================= */

.kg-card {
    --color-border-one: #F5F1E9;
    --color-border-two: #F5F1E9;
    --color-border-three: #F5F1E9;
}

.kg-product-card-container {
    background: #F5F1E9;
    color: var(--color-six);
}

.membership-switch,
.membership-switch::before,
.membership-switch-button {
    border-radius: var(--border-radius);
}

.membership-card-price .currency-code {
    font-family: var(--font-family-three);
    font-size: 2rem;
    font-weight: var(--font-weight-three-regular);
}

@media (max-width: 1024px) {
    .membership-card-price .currency-code {
        font-size: 1.8rem;
    }
}

@media (max-width: 480px) {
    .membership-card-price .currency-code {
        font-size: 1.6rem;
    }
}



.gh-portal-triggerbtn-container{
    border-radius: 10px !important;
}


.faq-section a, .post-content a{
    color: #B72920;
    text-decoration: underline;
}

.post-content {
    h2,
    h2 a,
   .members-cta h2 {
        --color-font-two:#CB2D24;
        color: var(--color-font-two);
    }

    /* Card buttons */
    .kg-button-card .kg-btn,
    .kg-product-card .kg-product-card-button,
    .kg-header-card .kg-header-card-button,
    .kg-cta-card .kg-cta-button {
        border-radius: var(--border-radius);
    }

    /* Product cards */
    .kg-card.kg-product-card {
        width: calc(50% - 12px);
        display: inline-flex;
        margin-right: 24px;

       

        @media (max-width: 768px) {
            width: auto;
            vertical-align: top;
            margin-bottom: 36px;
            margin-top: 0;

            &:first-of-type {
                margin-top: 0;
            }
        }
    }

    .kg-product-card{
        /* Default: all product cards have right margin */
        margin-right: 24px;

        /* Every product card that immediately follows another product card has no right margin */
        /* This creates alternating pattern: margin, no-margin, margin, no-margin for consecutive cards */
        .kg-product-card + & {
            margin-right: 0;
        }

        /* Every 3rd consecutive product card restores margin */
        .kg-product-card + .kg-product-card + & {
            margin-right: 24px;
        }

        /* Every 4th consecutive product card removes margin */
        .kg-product-card + .kg-product-card + .kg-product-card + & {
            margin-right: 0;
        }

        /* Every 5th consecutive product card restores margin */
        .kg-product-card + .kg-product-card + .kg-product-card + .kg-product-card + & {
            margin-right: 24px;
        }

        /* Every 6th consecutive product card removes margin */
        .kg-product-card + .kg-product-card + .kg-product-card + .kg-product-card + .kg-product-card + & {
            margin-right: 0;
        }

        &:first-of-type {
            margin-top: 0;
        }

        /* Mobile: remove all right margins */
        @media (max-width: 768px) {
            margin-right: 0 !important;
        }
    }

    .kg-product-card-title-container {
        grid-column: 1 / -1;
        margin: 0;
    }

    .kg-product-card-image {
        grid-column: 1;
        grid-row: 2;
        width: 64px;
        height: 64px;
        object-fit: cover;
        margin: 0;
    }

    .kg-product-card img {
        border-radius: var(--border-radius);
    }

    .kg-product-card-description {
        grid-column: 2;
        grid-row: 2;
        margin: 0;
        text-align: left;
        align-self: start;
    }

    .kg-product-card-container {
        display: grid;
        grid-template-columns: 64px 1fr;
        grid-template-rows: auto auto;
        gap: 12px 16px;
        width: 100%;
    }

    .kg-product-card-button {
        background-color: var(--color-six);
    }

    .kg-card {
        margin-top: 12px;
    }
}

/* =============================================================================
   FUNDING COUNTER
   ============================================================================= */

.post-header-funding {

    width: 100%;
}

.funding-counter-content {
    text-align: center;
    margin: 5px auto 20px auto;


}




     /* --color-font-one: #F5F1E9;
    --color-font-two: #CB2D24;
    --color-font-three: #F5F1E9;
    --color-font-four: #CB2D24;
    --color-font-five: #F5F1E9;
    --color-font-six: #CB2D24;
    --color-one: #B72920;
    --color-two: #B72920;
    --color-three: #F5F1E9;
    --color-four: #F5F1E9;
    --color-five: #F5F1E9;
    --color-six: #CB2D24;
    --color-seven: #F5F1E9;
    --color-eight: #B72920;
    --color-nine: #A2241D;
    --color-ten: #A2241D;
    --color-eleven: #97221B;
    --color-twelve: #B72920;
    --color-thirteen: #B72920;
    --color-fourteen: #B72920;
    --color-white: #F5F1E9;
    --color-body: #CB2D24;
    --color-body-partial: #CB2D24;
    --color-border-one: #D55750;
    --color-border-two: #D55750;
    --color-border-three: #DA7A73;
    --opacity-one: .5;
    --opacity-two: .9; 
    */


.funding-bar-container {
    margin: 0;
}

.funding-bar {
    width: 100%;
    height: 50px;
    background-color: #F5F1E9;
    border-radius: var(--border-radius);
    overflow: visible;
    position: relative;
}

.funding-bar-fill {
    height: 100%;
    background-color: #CB2D24;
    width: 0%;
    transition: width 0.3s ease-out;
    border-radius: var(--border-radius);
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.funding-bar-fill.is-zero {
    background-color: #F5F1E9;
}

.funding-bar-fill.is-zero .funding-message {
    color: #F5F1E9;
}

.funding-bar-fill.is-funded {
    background-color: #6ECB24;
}

.funding-amount {
    font-family: var(--font-family-two);
    font-weight: var(--font-weight-two-bold);
    line-height: 1.3;
    color: var(--color-white);
    font-size: 1.8rem;
    white-space: nowrap;
}

.funding-message {
    font-family: var(--font-family-two);
    font-weight: var(--font-weight-two-bold);
    line-height: 1.3;
    color: var(--color-white);
    font-size: 1.8rem;
    white-space: nowrap;
    text-align: center;
}

.currency {
    font-size: 1.4rem;
    color: var(--color-white);
    font-weight: var(--font-weight-two-bold);
}

.current-amount {
    font-size: 2rem;
    color: var(--color-white);
    font-weight: var(--font-weight-two-bold);
}

.funding-period {
    font-size: 1.4rem;
    color: var(--color-white);
    font-weight: var(--font-weight-two-bold);
}

.funding-period.is-newline {
    display: block;
    font-size: 60%;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .funding-bar {
        height: 45px;
    }
}

@media (max-width: 480px) {
    .funding-bar {
        height: 40px;
    }
}

/* =============================================================================
   RESPONSIVE LOGO
   ============================================================================= */

/* Ensure only one logo shows at a time */
.logo-mobile,
.logo-desktop {
    font-size: 0;
    line-height: 0;
}

.logo-mobile img,
.logo-desktop img {
    display: block;
}

/* Hide desktop logo on mobile, show stacked logo */
@media (max-width: 768px) {
    .header-logo a.logo-desktop,
    .footer-logo a.logo-desktop,
    .custom-logo a.logo-desktop {
        display: none !important;
    }
    .header-logo a.logo-mobile,
    .footer-logo a.logo-mobile,
    .custom-logo a.logo-mobile {
        display: inline-block;
    }
}

/* Hide mobile logo on desktop, show horizontal logo */
@media (min-width: 769px) {
    .header-logo a.logo-mobile,
    .footer-logo a.logo-mobile,
    .custom-logo a.logo-mobile {
        display: none !important;
    }
    .header-logo a.logo-desktop,
    .footer-logo a.logo-desktop,
    .custom-logo a.logo-desktop {
        display: inline-block;
    }
}
