/*
Theme Name: Starter_Flexible
Theme URI: https://underscores.me/
Author: Cyberscope
Author URI: http://www.cyberscope.fr
Description: Un super thème optimisé par les meilleurs intés du monde.
Version: 4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: starter-theme
Tags:

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

Starter_Flexible is based on Underscores http://underscores.me/, (C) 2012-2015 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
*/
*,
*::before,
*::after {
    margin: 0;padding:0;
    box-sizing: border-box;
}
html {scroll-behavior: smooth;}
section {scroll-margin-top: min(10em,15vw);}
html.lenis, html.lenis body {height: auto;}
.lenis.lenis-smooth {scroll-behavior: auto !important;}
.lenis.lenis-smooth [data-lenis-prevent] {overscroll-behavior: contain;}
.lenis.lenis-stopped {overflow: hidden;}
.is-scrolling iframe {pointer-events: none;}
body {
    &.is-loading { overflow: hidden;}
    & #site-wrapper {
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.5s ease;
        &:is(.is-ready &) {
            opacity: 1;
            visibility: visible;
        }
    }
    & .textUp,
    & .textCharSpace,
    & .textUpInfinity > span,
    & .textFadetoRight,
    & .textEffectBlure {
        visibility: hidden;
    }
    & .loader-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: flex;
        z-index: 10000; 
        overflow: hidden;
        align-items: center;
        justify-content: center;
        will-change: transform;
        background-color: var(--cNavyAlpha);
        & .loader-content {
            width: 280px;
            height: 64px;
            will-change: transform;
            & .loader-logo {
                will-change: transform;
                & path {
                    fill-opacity: 0;
                    stroke-width: 1px;
                    stroke: var(--cLWhite);
                    will-change: transform;
                    &:is(.path-orange ) {stroke: #FF6011;}
                }
            } 
        }
    }
    & img,
    & video,
    & canvas,
    & svg {
        height: auto;
        display: block;
        max-width: 100%;
    }
    & button {
        background: none;
        border: none;
        padding: 0;
    }
    & img {
        width: 100%;
        height: 100%;
        max-width: 100%;
        object-fit: contain;
    }
    & picture {
        position: relative;
        height: 100%;
        display: block;
        overflow: hidden;
        & img {
            object-fit: cover;
            max-width: inherit;
        }
    }
    
    & :focus {
        outline: none;
    }
    & [class^="text"] {
        width: 100%;
        display: flex;
        flex-direction: column;
        row-gap: clamp(min(1em,5vw),2.2vw,40px);
        &.text-center {
            text-align: center;
            align-items: center;
        }
        &.text-right {
            text-align: right;
            align-items: flex-end;
        }
        & * {margin-block: 0;}
    }
    & button.btn {cursor: pointer;}
    
    & .wrapper-tag {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }
    & .arrow {
        position: relative;
        width: 0;
        height: 0;
        margin: 0;
        outline: 0;
        z-index: 2;
        top: initial;
        right: inherit;
        font-size: 0;
        left: initial;
        flex: 0 0 auto;
        bottom: inherit;
        cursor: pointer;
        overflow: hidden;
        aspect-ratio: 1/1;
        color: currentColor;
        transition: all .3s;
        display: inline-block;
        border-radius: 0 .8rem;
        background-color: transparent;
        border: 1px solid currentColor;
        padding: clamp(min(15px,4vw),0.99vw,19px);
        /* color: var(--cLDarkGray); */
        &.rotate-45 {rotate: -45deg;}
        &.swiper-button-lock {display: none;}
        &::after,
        &::before {
            position: absolute;
            inset: 30%;
            content: "";
            display: block;
            transition: inherit;
            pointer-events: none;
            background-color: currentColor;
            -webkit-mask: url(assets/images/arrow.svg) center / contain no-repeat;
            mask: url(assets/images/arrow.svg) center / contain no-repeat;
        }
        &::after {
            opacity: 0;
            translate: -100% 0;
        }
        &.slick-disabled,
        &.swiper-button-disabled {
            opacity: .2;
            pointer-events: none;
        }
        &.prev {
            transform: rotate(-180deg)
        }
        &:is(a:hover &,
        a.overlay:hover &,
        a.overlay:hover ~ &,
        a.overlay:hover ~ * &),
        &:hover {
            color: var(--cLAccentYellow);
            background-color: var(--cLPrimaryBlue);
            border-color: var(--cLPrimaryBlue);
        }
        &:is(a:hover &,
        a.overlay:hover &,
        a.overlay:hover ~ &,
        a.overlay:hover ~ * &)::before,
        &:hover::before {
            translate: 100% 0;
            opacity: 0
        }
        &:is(a:hover &,
        a.overlay:hover &,
        a.overlay:hover ~ &,
        a.overlay:hover ~ * &)::after,
        &:hover::after {
            opacity: 1;
            translate: 0 0;
        }
    }
    /* Container */
    & main {
        max-width: 100vw;
        overflow-x: clip;
    }
    & [style^="--w:"] {width: var(--w);}
    & [class^="container"] {
        margin-inline: auto;
        padding-block: var(--ct-pad);
        &.container {width: var(--ct);}
        &.container-xl {width: var(--ct-xl);}
        &:is(header &) {padding-block: 1em;}
        &.container-auto {
            width: min(1920px, 100vw);
        }
    }
    & .row,
    & .flex {
        display: flex;
        flex-wrap: wrap;
        row-gap: min(2rem, 10vw);
        &.items-center {align-items: center;}
        &.space-between { justify-content: space-between; }
        &.direction-reverse { flex-direction: row-reverse; }
        &.direction-column {
            flex-wrap: nowrap;
            flex-direction: column;
            row-gap: clamp(min(2em,5vw),2.344vw,2.5em);
        }
        @media screen and (width<700px) {
            &.direction-reverse {
                flex-direction: column-reverse;
            }
        }
    }
    & section {position: relative;}
    & .overlay {
        position: absolute;
        inset: 0;
        z-index: 2;
        font-size: 0;
        &:has(:is(.arrow, .plus)) {
            padding: min(15px, 6vw);
            display: flex;
            align-items: flex-start;
            justify-content: flex-end;
            & .arrow {
                rotate: -45deg;
                color: currentColor;
            }
        }
        &:has( .play) {
            display: flex;
            align-items: center;
            justify-content: center;
            & .play {
                color: var(--cLRedVivid);
                &::before {padding: min(3rem, 10vw);}
            }
        }
    }
    & .cliping {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        clip-path: inset(0rem round 0rem);
        background-color: var(--cLPrimaryBlue);
        & img {
            position: absolute;
            inset: 0;
            object-fit: cover;
            &:is(.cliping.filter &) {
                opacity: .6;
                filter: brightness(.7);
            }
        }
        &~*:not(:has( .title-hiden)) {
            position: relative;
            z-index: 1;
            color: var(--cLWhite);
        }
    }
    & .rs {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        column-gap: min(.8em, 5vw);

        & a[style^="--icn-"] {
            font-size: 0;
            column-gap: 0;
            flex: 0 0 auto;
            color: currentColor;
            transition: all .3s;
            background-color: transparent;
            /* border: 2px solid currentColor; */

            &::before,
            &::after {padding: clamp(min(.5rem,4vw),0.67vw,0.8rem);}
            &:hover {color: var(--cLPrimaryBlue);}
        }
    }
    & [style^="--image"]::before {
        position: relative;
        content: "";
        display: block;
        flex: 0 0 auto;
        transition: initial;
        pointer-events: none;
        padding: min(2rem, 5vw);
        background: var(--image) center / contain no-repeat;
    }
    & .pagination {
        position: relative;
        gap: 1em;
        display: flex;
        justify-content: center;
    }
    /* & .bg-cLDarkBlack {
        color: var(--cLWhite);
        background-color: var(--cLDarkBlack);
    } */
    & [class*="crop-"] {
        &::before {
            position: absolute;
            inset: 0;
            content: "";
            pointer-events: none;
            clip-path: inset(0 round 0);
        }
        & [class^="container"] {position: relative;}
        @media screen and (width >= 1200px) {
            &::before {
                inset: 0 max(.2em,2vw);
                clip-path: inset(1em 0 1em round 1em 0 1em 0);
            }
        }
    }
    & .crop-cLDarkBlack {
        color: var(--cLWhite);
        &::before {background-color: var(--cLDarkBlack);}
    }
    & .crop-cLLightGray {
        &::before {background-color: var(--cLLightGray);}
    }
    & .crop-radial-cLPrimaryBlue-cLDarkBlue {
        color: var(--cLWhite);
        &::before {background: radial-gradient(50% 334.78% at 50% 50%, var(--cLPrimaryBlue) 0%, var(--cLDarkBlue) 100%);}
    }
    /* Other blocs */
    .swiper-wrapper:not(:has( .swiper-slide)) {
        display: flex;
        width: max-content;
    }

     & .open-nav {
        position: relative;
        z-index: 2;
        height: 28px;
        display: flex;
        row-gap: 8px;
        cursor: pointer;
        transition: .2s;
        width: max-content;
        align-items: center;
        color: var(--cLWhite);
        flex-direction: column;
        justify-content: center;
        &:has( input:checked) {
            row-gap: 0;
            transform: rotate(45deg);
            color: var(--cLPrimaryBlue);
        }
        & span {
            width: 1.8rem;
            height: 0.15rem;
            line-height: 0;
            transition: all .3s;
            border-radius: 1rem;
            pointer-events: none;
            background: currentColor;
            transform-origin: 55% center;
            &:is(.open-nav:has( input:checked) &):nth-child(2) {display: none;}
            &:is(.open-nav:has( input:checked) &):nth-child(1) {
                transform: translate(-.1rem,.2rem) rotate(90deg);
            }
        }
        @media screen and (width >= 1200px) {
            & {color: var(--cLWhite);}
        }
    }
    /* form */
    & input {
        &:not(:is(.qty-value,[type="radio"],[type="checkbox"],[type="submit"],[type=image],[type=file])) {
            width:100%;
            line-height: 1
        }

        &:is([type="radio"],[type="checkbox"]) {
            margin: 0;
            outline: none;
            flex: 0 0 auto;
            width: min(1.5rem, 6vw);
            height: min(1.5rem, 6vw);
            accent-color: var(--cLPrimaryBlue);
            &[type="checkbox"] {box-shadow: inset 0 0 0 1px var(--cLPrimaryBlue);}

            &[type="radio"]: not(:checked) {
                appearance:none;
                border-radius: 2rem;
                border: 1px solid var(--cLPrimaryBlue);
            }
        }

        &[type="date"] {
            position: relative;
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none
        }

    }
    & form {
        & :is(.gform_button,.fl-button,[type="submit"]) {
            --br-sp: min(.6875em, 3vw);
            position: relative;
            overflow: hidden;
            white-space: nowrap;
            transition: all .3s;
            border: none !important;
            text-transform: initial;
            display: block !important;
            line-height: 1 ! important;
            font-weight: 700 !important;
            font-size: var(--fs16) !important;
            background: transparent !important;
            font-family: "poppins", sans-serif;
            border-radius: 0 0 0 .5em !important;
            color: var(--cLPrimaryBlue) !important;
            padding: var(--br-sp) min(1em,5vw) !important;
            border: 1px solid var(--cLDarkBlack) !important;
            clip-path: polygon(100% var(--br-sp), 100% 100%, 0% 100%, 0% 0%, calc(100% - var(--br-sp)) 0%, calc(100% - var(--br-sp)) var(--br-sp));
            &::before {
                position: absolute;
                inset: 0;
                z-index: -1;
                content: "";
                display: block;
                transition: all .3s;
                clip-path: circle(0% at 0 100%);
                background-color: var(--cLPrimaryBlue);
            }
            &:hover {
                color: var(--cLWhite) ! important;
                border-color: var(--cLPrimaryBlue) ! important;
                clip-path: polygon(100% 0, 100% 100%, 0% 100%, 0% 0%, 100% 0%, 100% 0);
                &::before {clip-path: circle(145% at 0 100%)}
            }
            & * {
                font: inherit;
                color: inherit ! important;
            }
        }
    }

    & input:not(:is(.qty-value,[type="radio"],[type="checkbox"],[type="button"],[type="submit"],[type="image"],[type="file"])),& select,& textarea {
        width: 100%;
        border: none;
        outline: none;
        border-radius: 0;
        font-size: var(--fs16);
        height: min(50px, 13vw);
        padding: min(0.7em, 2vw) 0;
        background-color:transparent;
        border-bottom: 1px solid currentColor;
        &:is([multiple="multiple"]) {height: auto}

        &::-webkit-input-placeholder {
            font: inherit;
            text-align: left;
            color: hsl(from currentColor h s l / 0.4);
        }

        &::-moz-placeholder {
            font: inherit;
            text-align: left;
            color: hsl(from currentColor h s l / 0.4);
        }

        &::-ms-input-placeholder {
            font: inherit;
            text-align: left;
            color: hsl(from currentColor h s l / 0.4);
        }
        
        &::placeholder {
            font: inherit;
            text-align: left;
            color: hsl(from currentColor h s l / 0.4);
        }

        &:is(textarea) {
            width: 100%;
            resize: none;
            font-family: inherit;
            height: min(80px, 20vw)!important
        }
    }

    & :is(.fl-contact-form-label,label:not(:is([class],:has(input[type="radio"])))) {
        font-weight: 700;
        font-size: var(--fs18);
    }
    [type="radio"], [type="checkbox"] {
        margin: 0;
        outline: none;
        flex: 0 0 auto;
        width: min(1.5rem, 6vw);
        height: min(1.5rem, 6vw);
        background-color: var(--cLWhite);
        accent-color: var(--cLPrimaryBlue);
    }
    [type="checkbox"] {box-shadow: inset 0 0 0 1px var(--cLPrimaryBlue)}
    [type="radio"]:not(:checked) {
        appearance: none;
        border-radius: 2rem;
        border: 1px solid var(--cLPrimaryBlue)
    }
    /* sections dynamique */
    & :is(.crop-cLDarkBlack:not(.sc9) + .crop-cLDarkBlack:not(.sc9),.xxxxx + .xxxxx)>[class^="container"]:not(*~*),
    & section:not(:is([class*=bg-],.sc1,[class*="crop-"], *:has( .cliping)))+ :is(section, footer):not(:is([class*=bg-],.sc1,[class*="crop-"], *:has( .cliping)))>[class^="container"]:not(*~*) {padding-top: 0;}
    /* sectios */
    & section {
        &:is(main > section:first-child) {padding-top: calc(var(--ct-pad)*2);}
    }
    & .cardA {
        position: relative;
        width: 430px;
        overflow: hidden;
        aspect-ratio: 1/1;
        border-radius: 1em 0;
        & picture {
            position: relative;
            &::after {
                position: absolute;
                inset: 0;
                content: '';
                mix-blend-mode: color;
                background-color: var(--th,var(--cLDarkBlack));
            }
        }
        & .nbr {line-height: 1;}
        & .arrow {
            transition: all .3s;
            &:not(.cardA:hover &) {opacity: 0;}
        }
        & .text {
            position: absolute;
            inset: 0;
            padding: min(2em,5vw);
            row-gap: min(1em,4vw);
            justify-content: flex-end;
            color: var(--th-cl,var(--cLWhite));
            &:not(.cardA:has( picture) &) {
                background-color: var(--th,var(--cLDarkBlack));
                &::before {
                    position: absolute;
                    inset: 0;
                    content: '';
                    background-color: hsl(from currentColor h s l / 0.15);
                    mask: url(/wp-content/uploads/2026/10/favicone-Simaco.svg) right top / clamp(min(5em,17vw),7vw,7em) no-repeat;
                }
            }
        }
    }
    & .ct-swiper.wrapper-slie-cardA {
        position: relative;
        padding-left: 0;
        filter: drop-shadow(10px -10px 24px hsl(from var(--cLDarkGray) h s l/0.1));
        & .swiper {
            overflow: visible;
            clip-path: inset(0 calc((100vw - var(--ct-xl)) / -2) 0 0 round 0);
        }
        & .pagination {
            margin-top: clamp(min(2em,5vw),2.344vw,2.5em);
            @media screen and (width >= 1200px) {
                & {
                    position: absolute;
                    top: 50%;
                    left: 0;
                    height: 0;
                    row-gap: .5em;
                    margin-top: 0;
                    align-items: center;
                    flex-direction: column;
                }
            }   
        }
        @media screen and (width >= 1200px) {
            & {
                padding-left: clamp(min(3em,7vw),5vw,6em);
            }
        }
    }
    & .scban {
        & .cliping {
            & img {filter: brightness(.5);}
        }
        & [class^="container"] {
            & .breadcrumb {
                display: flex;
                font-weight: 400;
                font-size: var(--fs14);
                text-transform: uppercase;
                & li {
                    &:not(:first-child) {
                        display: flex;
                        &::before {
                            position: relative;
                            content: '';
                            padding: 0.25em;
                            margin-inline: .5em;
                            background-color: var(--cLPrimaryBlue);
                            mask: url(/wp-content/themes/Simaco/assets/images/arrow-left.svg) center/contain no-repeat;
                        }
                    }
                }
            }
        }
    }

    
}
@media screen and (width >= 1200px) {
    & .mob {display: none !important;}
}
@media screen and (width < 1200px) {
    & .desk {display: none !important;}
}