/* =========================================================
   TAWY GO PRE-FOOTER CTA — FULL EDITABLE BACKGROUND V1.2
========================================================= */

/* Full browser-width breakout even inside a boxed Elementor parent. */
.elementor-widget-tawygo-prefooter-cta{
    width:100vw !important;
    max-width:100vw !important;

    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;

    align-self:stretch !important;
}

.elementor-widget-tawygo-prefooter-cta > .elementor-widget-container{
    width:100% !important;
    max-width:none !important;
}

.tgcta{
    --tgcta-accent:#00A4E9;
    --tgcta-overlay-rgb:4,16,23;
    --tgcta-overlay-opacity:.34;
    --tgcta-left-dark:.78;
    --tgcta-gradient-reach:64%;
    --tgcta-bg-y:50%;

    position:relative;
    isolation:isolate;

    width:100%;
    max-width:none;

    min-height:650px;

    display:flex;
    align-items:center;

    overflow:hidden;

    background:#041017;
    color:#fff;
}

.tgcta,
.tgcta *,
.tgcta *::before,
.tgcta *::after{
    box-sizing:border-box;
}

/* =========================================================
   REAL IMAGE LAYER
   - rendered once
   - no repeat
   - no CSS background tiling
========================================================= */

.tgcta__bg-image{
    position:absolute;
    z-index:0;

    inset:0;

    width:100%;
    height:100%;

    display:block;

    object-fit:cover;
    object-position:50% var(--tgcta-bg-y);

    transform:scale(1);
    transform-origin:center;

    user-select:none;
    pointer-events:none;
}

/* =========================================================
   OVERLAYS
========================================================= */

/* Global cinematic tone + text-side readability gradient. */
.tgcta::before{
    content:"";

    position:absolute;
    z-index:1;

    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(var(--tgcta-overlay-rgb), var(--tgcta-left-dark)) 0%,
            rgba(var(--tgcta-overlay-rgb), calc(var(--tgcta-left-dark) * .92)) 24%,
            rgba(var(--tgcta-overlay-rgb), calc(var(--tgcta-left-dark) * .64)) 44%,
            rgba(var(--tgcta-overlay-rgb), var(--tgcta-overlay-opacity)) var(--tgcta-gradient-reach),
            rgba(var(--tgcta-overlay-rgb), calc(var(--tgcta-overlay-opacity) * .42)) 100%
        ),
        linear-gradient(
            180deg,
            rgba(0,0,0,.10) 0%,
            rgba(0,0,0,.01) 44%,
            rgba(0,0,0,.24) 100%
        );

    pointer-events:none;
}

/* Subtle accent line at the bottom. */
.tgcta::after{
    content:"";

    position:absolute;
    z-index:3;

    left:0;
    right:0;
    bottom:0;

    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent 3%,
            rgba(0,164,233,.20) 24%,
            var(--tgcta-accent) 56%,
            rgba(0,164,233,.16) 84%,
            transparent 97%
        );

    opacity:.62;

    pointer-events:none;
}

/* Optional decorative watermark. */
.tgcta__watermark{
    position:absolute;
    z-index:2;

    right:6%;
    top:50%;

    width:min(32vw,500px);
    height:auto;

    transform:translateY(-50%);

    opacity:.065;

    user-select:none;
    pointer-events:none;
}

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

.tgcta__inner{
    position:relative;
    z-index:4;

    width:min(1380px,92vw);
    max-width:1380px;

    margin:0 auto;

    padding:80px 70px;
}

.tgcta__content{
    width:100%;
    max-width:700px;
}

.tgcta__logo{
    display:block;

    width:min(340px,74%);
    height:auto;

    margin:0 0 31px;

    object-fit:contain;
    object-position:left center;

    filter:drop-shadow(0 8px 28px rgba(0,164,233,.10));
}

.tgcta__eyebrow{
    display:flex;
    align-items:center;
    gap:11px;

    margin-bottom:18px;

    color:rgba(255,255,255,.58);

    font-size:10px;
    line-height:1;
    font-weight:700;
    letter-spacing:2.2px;
}

.tgcta__eyebrow > span{
    display:block;

    width:31px;
    height:2px;

    border-radius:999px;

    background:var(--tgcta-accent);

    box-shadow:0 0 14px rgba(0,164,233,.42);
}

.tgcta__title{
    margin:0 !important;

    color:#fff;

    font-size:clamp(58px,5.3vw,96px);
    line-height:.92;
    letter-spacing:-4.8px;
    font-weight:600;

    text-shadow:0 9px 28px rgba(0,0,0,.18);
}

.tgcta__title > span{
    display:block;
}

.tgcta__title-accent{
    color:var(--tgcta-accent);
}

.tgcta__description{
    max-width:620px;

    margin:27px 0 0 !important;

    color:rgba(255,255,255,.72);

    font-size:17px;
    line-height:1.75;
    font-weight:400;

    text-shadow:0 5px 18px rgba(0,0,0,.18);
}

/* =========================================================
   ACTIONS
========================================================= */

.tgcta__actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;

    gap:13px;

    margin-top:31px;
}

.tgcta__contact{
    min-height:62px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    gap:15px;

    padding:10px 19px 10px 27px;

    border:1px solid rgba(255,255,255,.16);
    border-radius:999px;

    background:var(--tgcta-accent);
    color:#fff;

    text-decoration:none !important;

    font-size:16px;
    line-height:1;
    font-weight:650;

    box-shadow:
        0 16px 40px rgba(0,164,233,.25),
        inset 0 1px 0 rgba(255,255,255,.23);

    transition:
        transform .35s cubic-bezier(.16,1,.3,1),
        box-shadow .3s ease,
        filter .3s ease;
}

.tgcta__contact-icon{
    width:38px;
    height:38px;

    flex:0 0 38px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:rgba(255,255,255,.16);
}

.tgcta__contact-icon svg{
    width:14px;
    height:14px;

    fill:currentColor;
}

.tgcta__contact:hover{
    color:#fff;

    transform:translateY(-3px);

    filter:brightness(1.04);

    box-shadow:
        0 21px 46px rgba(0,164,233,.32),
        inset 0 1px 0 rgba(255,255,255,.26);
}

/* Store badges */
.tgcta__store{
    min-width:190px;
    min-height:62px;

    display:inline-flex;
    align-items:center;

    gap:12px;

    padding:8px 16px;

    border:1px solid rgba(255,255,255,.30);
    border-radius:12px;

    background:#050505;
    color:#fff;

    text-decoration:none !important;

    box-shadow:
        0 14px 34px rgba(0,0,0,.24),
        inset 0 1px 0 rgba(255,255,255,.06);

    transition:
        transform .35s cubic-bezier(.16,1,.3,1),
        border-color .3s ease,
        box-shadow .3s ease;
}

.tgcta__store:hover{
    color:#fff;

    transform:translateY(-3px);

    border-color:rgba(255,255,255,.62);

    box-shadow:0 20px 42px rgba(0,0,0,.34);
}

.tgcta__store-icon{
    width:32px;
    height:32px;

    flex:0 0 32px;

    display:grid;
    place-items:center;
}

.tgcta__store-icon svg{
    display:block;

    width:100%;
    height:100%;
}

.tgcta__store-icon--apple{
    color:#fff;
}

.tgcta__store-copy{
    display:block;

    line-height:1;
}

.tgcta__store-copy small{
    display:block;

    margin:0 0 4px;

    color:rgba(255,255,255,.86);

    font-size:9px;
    line-height:1;
    font-weight:400;
}

.tgcta__store-copy strong{
    display:block;

    color:#fff;

    font-size:18px;
    line-height:1;
    font-weight:550;
    letter-spacing:-.3px;
}

/* =========================================================
   FEATURES
========================================================= */

.tgcta__features{
    display:flex;
    align-items:center;
    flex-wrap:wrap;

    gap:0;

    margin-top:39px;
}

.tgcta__feature{
    position:relative;

    min-height:38px;

    display:flex;
    align-items:center;

    gap:10px;

    padding:0 24px;

    color:rgba(255,255,255,.74);
}

.tgcta__feature:first-child{
    padding-left:0;
}

.tgcta__feature:not(:last-child)::after{
    content:"";

    position:absolute;

    right:0;
    top:50%;

    width:1px;
    height:26px;

    transform:translateY(-50%);

    background:rgba(255,255,255,.18);
}

.tgcta__feature-icon{
    width:28px;
    height:28px;

    display:grid;
    place-items:center;

    color:var(--tgcta-accent);
}

.tgcta__feature-icon svg{
    width:21px;
    height:21px;

    fill:currentColor;
}

.tgcta__feature-text{
    max-width:125px;

    font-size:12px;
    line-height:1.28;
    font-weight:500;
}

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

@media(max-width:1024px){

    .elementor-widget-tawygo-prefooter-cta{
        width:100vw !important;
        max-width:100vw !important;
    }

    .tgcta__inner{
        width:min(92vw,1180px);

        padding:70px 48px;
    }

    .tgcta__content{
        max-width:610px;
    }

    .tgcta__logo{
        width:270px;
    }

    .tgcta__title{
        font-size:clamp(52px,7vw,76px);
        letter-spacing:-3.8px;
    }

    .tgcta__feature{
        padding:0 16px;
    }
}

@media(max-width:767px){

    .tgcta{
        align-items:flex-end;
    }

    .tgcta::before{
        background:
            linear-gradient(
                180deg,
                rgba(var(--tgcta-overlay-rgb), .14) 0%,
                rgba(var(--tgcta-overlay-rgb), .38) 27%,
                rgba(var(--tgcta-overlay-rgb), .82) 53%,
                rgba(var(--tgcta-overlay-rgb), .98) 82%,
                rgba(var(--tgcta-overlay-rgb), 1) 100%
            );
    }

    .tgcta__inner{
        width:90vw;

        padding:285px 0 52px;
    }

    .tgcta__content{
        max-width:100%;
    }

    .tgcta__logo{
        width:220px;

        margin-bottom:24px;
    }

    .tgcta__eyebrow{
        font-size:8px;
        letter-spacing:1.7px;
    }

    .tgcta__title{
        font-size:clamp(44px,13vw,62px);
        line-height:.94;
        letter-spacing:-3px;
    }

    .tgcta__description{
        margin-top:20px !important;

        font-size:14px;
        line-height:1.7;
    }

    .tgcta__actions{
        width:100%;

        display:grid;
        grid-template-columns:1fr 1fr;

        gap:9px;

        margin-top:26px;
    }

    .tgcta__contact{
        grid-column:1 / -1;

        width:100%;
        min-height:56px;

        justify-content:space-between;
    }

    .tgcta__store{
        width:100%;
        min-width:0;
        min-height:56px;

        padding:7px 10px;

        gap:8px;
    }

    .tgcta__store-icon{
        width:26px;
        height:26px;

        flex-basis:26px;
    }

    .tgcta__store-copy small{
        font-size:7px;
    }

    .tgcta__store-copy strong{
        font-size:13px;
    }

    .tgcta__features{
        display:grid;
        grid-template-columns:1fr 1fr;

        gap:13px 18px;

        margin-top:31px;
    }

    .tgcta__feature{
        min-height:30px;

        padding:0 !important;
    }

    .tgcta__feature::after{
        display:none;
    }

    .tgcta__feature-text{
        max-width:none;

        font-size:11px;
    }

    .tgcta__watermark{
        width:310px;

        right:-80px;
        top:25%;
    }
}

@media(max-width:390px){

    .tgcta__actions{
        grid-template-columns:1fr;
    }

    .tgcta__contact,
    .tgcta__store{
        grid-column:auto;
    }
}

@media(prefers-reduced-motion:reduce){

    .tgcta__contact,
    .tgcta__store{
        transition:none;
    }
}
