
/*
Yama Website Content Repair V4 FINAL
IMPORTANT FIX:
Previous generic [class*="-hero"] selectors also matched
ya-home-hero__label, ya-home-hero__button, etc.
That created the giant vertical pills seen on mobile.
V4 uses ONLY explicit section-level selectors.
*/

:root{
    --ya-v4-navy:#061525;
    --ya-v4-navy-2:#0b2b4b;
    --ya-v4-blue:#174a7c;
    --ya-v4-accent:#2f80ed;
    --ya-v4-accent-soft:#8fc7ff;
}

html,body{
    max-width:100%;
    overflow-x:hidden;
}

.ya-page-content,
.ya-home-content{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow-x:hidden!important;
}

/* =========================================================
   HOMEPAGE HERO — DARK BLUE, VIDEO, NORMAL DIMENSIONS
========================================================= */

section.ya-home-hero{
    --ya-accent:var(--ya-v4-accent)!important;
    --ya-accent-light:var(--ya-v4-accent-soft)!important;

    min-height:clamp(540px,64vh,625px)!important;
    background-color:var(--ya-v4-navy)!important;
}

section.ya-home-hero::before{
    background:
        radial-gradient(circle at 18% 45%,rgba(47,128,237,.16),transparent 42%),
        linear-gradient(
            90deg,
            rgba(3,13,25,.97) 0%,
            rgba(6,21,37,.91) 44%,
            rgba(11,43,75,.68) 75%,
            rgba(7,24,42,.42) 100%
        )!important;
}

.ya-home-hero__video{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    min-height:0!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    object-fit:cover!important;
    object-position:center!important;
}

/* Reset ONLY homepage hero children that V3 accidentally stretched. */
.ya-home-hero__container,
.ya-home-hero__content,
.ya-home-hero__label,
.ya-home-hero__title,
.ya-home-hero__highlight,
.ya-home-hero__description,
.ya-home-hero__buttons,
.ya-home-hero__button{
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
}

/* Label */
.ya-home-hero__label{
    display:inline-flex!important;
    width:auto!important;
    max-width:100%!important;
    margin:0 0 14px!important;
    padding:6px 12px!important;
    border-radius:999px!important;
    line-height:1.2!important;
    white-space:normal!important;
}

/* Title/description */
.ya-home-hero__title{
    margin:0 0 15px!important;
}
.ya-home-hero__description{
    margin:0 0 23px!important;
}

/* Buttons */
.ya-home-hero__buttons{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:auto!important;
    max-width:100%!important;
    gap:9px!important;
}

.ya-home-hero__button{
    display:inline-flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:center!important;

    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:40px!important;
    height:auto!important;

    margin:0!important;
    padding:9px 16px!important;

    border-radius:999px!important;

    font-size:12.5px!important;
    line-height:1.2!important;
    font-weight:800!important;
    white-space:nowrap!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
}

.ya-home-hero__button--primary{
    background:#fff!important;
    border:1px solid #fff!important;
    color:var(--ya-v4-navy)!important;
}

.ya-home-hero__button--secondary{
    background:rgba(255,255,255,.08)!important;
    border:1px solid rgba(255,255,255,.24)!important;
    color:#fff!important;
}

/* =========================================================
   OTHER PAGE HEROES — ONLY SECTION ELEMENTS
========================================================= */

section.ya-services-hero,
section.ya-contact-hero,
section.ya-solutions-hero,
section.ya-about-hero,
section.ya-devis-hero,
section.ya-privacy-hero,
section.ya-legal-hero,
section.ya-terms-hero{
    min-height:clamp(540px,64vh,625px)!important;
}

/* Safe reset for common hero child components if an earlier repair CSS cached. */
.ya-services-hero [class*="__label"],
.ya-services-hero [class*="__title"],
.ya-services-hero [class*="__description"],
.ya-services-hero [class*="__buttons"],
.ya-services-hero [class*="__button"],
.ya-contact-hero [class*="__label"],
.ya-contact-hero [class*="__title"],
.ya-contact-hero [class*="__description"],
.ya-contact-hero [class*="__buttons"],
.ya-contact-hero [class*="__button"],
.ya-solutions-hero [class*="__label"],
.ya-solutions-hero [class*="__title"],
.ya-solutions-hero [class*="__description"],
.ya-solutions-hero [class*="__buttons"],
.ya-solutions-hero [class*="__button"],
.ya-about-hero [class*="__label"],
.ya-about-hero [class*="__title"],
.ya-about-hero [class*="__description"],
.ya-about-hero [class*="__buttons"],
.ya-about-hero [class*="__button"],
.ya-devis-hero [class*="__label"],
.ya-devis-hero [class*="__title"],
.ya-devis-hero [class*="__description"],
.ya-devis-hero [class*="__buttons"],
.ya-devis-hero [class*="__button"]{
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
}

/* Common page hero button groups */
.ya-services-hero [class*="__buttons"],
.ya-contact-hero [class*="__buttons"],
.ya-solutions-hero [class*="__buttons"],
.ya-about-hero [class*="__buttons"],
.ya-devis-hero [class*="__buttons"]{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:10px!important;
    width:auto!important;
}

/* Common page hero links/buttons */
.ya-services-hero a[class*="button"],
.ya-services-hero a[class*="btn"],
.ya-contact-hero a[class*="button"],
.ya-contact-hero a[class*="btn"],
.ya-solutions-hero a[class*="button"],
.ya-solutions-hero a[class*="btn"],
.ya-about-hero a[class*="button"],
.ya-about-hero a[class*="btn"],
.ya-devis-hero a[class*="button"],
.ya-devis-hero a[class*="btn"]{
    display:inline-flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    min-height:42px!important;
    height:auto!important;
    padding:10px 18px!important;
    border-radius:999px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    writing-mode:horizontal-tb!important;
}

/* =========================================================
   HOMEPAGE GREEN -> DARK BLUE ACCENTS
   Scoped to known homepage service classes only.
========================================================= */

.ya-home-content .ya-home-services{
    --ya-srv-dark:var(--ya-v4-navy)!important;
    --ya-srv-primary:var(--ya-v4-blue)!important;
    --ya-srv-accent:var(--ya-v4-accent)!important;
    --ya-srv-accent-light:var(--ya-v4-accent-soft)!important;

    background:
        radial-gradient(circle at 8% 15%,rgba(47,128,237,.10),transparent 29%),
        radial-gradient(circle at 91% 13%,rgba(23,74,124,.10),transparent 31%),
        linear-gradient(135deg,#f7faff 0%,#fff 48%,#eef4fb 100%)!important;
}

.ya-home-content .ya-srv-card::before{
    background:
        radial-gradient(circle at 18% 14%,rgba(143,199,255,.16),transparent 29%),
        linear-gradient(145deg,#061525,#0b2b4b)!important;
}

.ya-home-content .ya-srv-badge::before{
    background:var(--ya-v4-accent)!important;
    box-shadow:0 0 0 6px rgba(47,128,237,.10)!important;
}

/* =========================================================
   CARD IMAGES + CLICKABILITY
========================================================= */

.ya-srv-media,
.ya-services-overview-media,
.ya-core-service-media{
    overflow:hidden!important;
    background:linear-gradient(145deg,#eef4fb,#fff)!important;
}

.ya-srv-media img,
.ya-services-overview-media img,
.ya-core-service-media img{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    display:block!important;
    object-fit:cover!important;
    object-position:center!important;
}

.ya-srv-card[data-ya-card-url],
.ya-services-overview-card[data-ya-card-url],
.ya-core-service-card[data-ya-card-url]{
    cursor:pointer!important;
}

/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

    section.ya-home-hero{
        min-height:540px!important;
        padding:
            calc(110px + env(safe-area-inset-top))
            18px
            48px!important;
    }

    section.ya-services-hero,
    section.ya-contact-hero,
    section.ya-solutions-hero,
    section.ya-about-hero,
    section.ya-devis-hero,
    section.ya-privacy-hero,
    section.ya-legal-hero,
    section.ya-terms-hero{
        min-height:520px!important;
    }

    .ya-home-hero__video{
        object-position:62% center!important;
    }

    .ya-home-hero__title{
        font-size:31px!important;
        line-height:1.08!important;
    }

    .ya-home-hero__description{
        font-size:14px!important;
        line-height:1.58!important;
    }

    .ya-home-hero__buttons{
        flex-direction:row!important;
        gap:8px!important;
    }

    .ya-home-hero__button{
        min-height:38px!important;
        padding:8px 14px!important;
        font-size:12px!important;
    }

    .ya-page-content [class*="grid"],
    .ya-home-content [class*="grid"]{
        grid-template-columns:1fr!important;
    }

    .ya-page-content [class*="tech-grid"],
    .ya-home-content [class*="tech-grid"],
    .ya-page-content [class*="logo-grid"],
    .ya-home-content [class*="logo-grid"],
    .ya-page-content [class*="logos-grid"],
    .ya-home-content [class*="logos-grid"]{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

@media(max-width:420px){
    section.ya-home-hero{
        min-height:520px!important;
        padding:
            calc(104px + env(safe-area-inset-top))
            16px
            42px!important;
    }

    .ya-home-hero__title{
        font-size:29px!important;
    }

    .ya-home-hero__buttons{
        flex-wrap:wrap!important;
    }
}

.ya-v4-broken-image{
    object-fit:contain!important;
    padding:28px!important;
    background:linear-gradient(135deg,#eef4fb,#fff)!important;
}
