/*
 Theme Name:   Aperta Capital 
 Theme URI:    https://novelar.fr
 Description:  Thème Aperta Capital 2025
 Author:       Novelar
 Author URI:   https://novelar.fr
 Template:     hello-elementor
 Version:      1.0.0
*/
:root {
  /* Typographie */
  --font-size--small: clamp(14px, 0.9vw + 0.5rem, 17px);
  --font-size--body: clamp(12px, 1vw + 0.5rem, 15px);
  --font-size--medium: clamp(16px, 1.2vw + 0.5rem, 20px);
  --font-size--large: clamp(20px, 1.5vw + 0.5rem, 26px);
  --font-size--x-large: clamp(24px, 2vw + 0.5rem, 44px);
  --font-size--xx-large: clamp(32px, 3.5vw + 0.5rem, 60px);

  /* Ombres */
  --box-shadow: 0px 8px 20px 5px rgb(0 0 0 / 16%);
  --big-box-shadow: 0px 79px 145px -49px rgb(0 0 0 / 20%);

  /* Radius */
  --s-radius: 9px;
  --radius: clamp(12px, 1vw + 0.5rem, 28px);

  /* Spacing */
  --spacing: clamp(24px, 2vw + 1rem, 64px);
  --s-spacing: clamp(12px, 1.2vw + 0.5rem, 32px);

  /* Couleurs flèches */
  --e-n-carousel-arrow-normal-color: #000A35;
  --arrow-normal-color: #000A35;
}

/* Application globale */
.e-con,
body {
  --border-radius: 0;
  --container-default-padding-top: clamp(2rem, 8vw, 8rem);
  --container-default-padding-right: clamp(2rem, 8vw, 8rem);
  --container-default-padding-bottom: clamp(2rem, 8vw, 8rem);
  --container-default-padding-left: clamp(2rem, 8vw, 8rem);

  font-size: var(--font-size--body);
  font-style: normal;
  line-height: 175%;
}

.e-con.e-child {
    --container-default-padding-top: clamp(2rem, 4vw, 4rem);
  --container-default-padding-right: clamp(2rem, 4vw, 4rem);
  --container-default-padding-bottom: clamp(2rem, 4vw, 4rem);
  --container-default-padding-left: clamp(2rem, 4vw, 4rem);
}


* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
html {
    scroll-behavior: smooth;

}

h1 {font-size:var(--font-size--xx-large);}
h2 {font-size:var(--font-size--x-large);}
h3 {font-size:var(--font-size--large);letter-spacing: -0.02em;}
h4 {font-size:var(--font-size--medium);letter-spacing: -0.02em;}
h5 {font-size:var(---font-size--small);letter-spacing: -0.02em;}

blockquote {
    p {
    font-size:var(--font-size--small);
    text-transform: uppercase;
    }
    position: relative;
    margin:0;
    &:before {
        background:currentColor;
        position:absolute;
        content:"";
        left:calc(-1 * var(--s-spacing));
        height: 100%;
        width: 2px;
    }
}
.subheading {
    font-family: var(--e-global-typography-d04830a-font-family), Sans-serif;
    text-transform: var(--e-global-typography-d04830a-text-transform);
    letter-spacing: var(--e-global-typography-d04830a-letter-spacing);
    
}
.elementor-heading-title {
   line-height: 1.2;
}
p.elementor-heading-title {
   line-height: 1.75;
}
a {color:var(--e-global-color-primary);}

b, strong {
    color:var(--e-global-color-primary);
}
dd {margin-left:0;}

/* Header Style */
main {
    position: relative;
    margin-bottom: 0;
    padding-top: 100px;
}
body.header-white main,
body.header-black main{
    padding-top:0 !important;
} 

.heading-primary .elementor-heading-title,
.heading-secondary .elementor-heading-title,
.heading-accent .elementor-heading-title,
.heading-bleu .elementor-heading-title,
.accent-background{
    display: inline-block;
    padding:5px 10px;
    line-height: 1.2;
    box-shadow: inset 0 -3em 0 var(--e-global-color-accent);
    transition: box-shadow .3s ease-out;
    -webkit-transition: box-shadow .3s ease-out;
    min-width: 300px;

}
.accent-background{
        font-size: 2rem;
    letter-spacing: 0.45rem;
    color: var(--e-global-color-4504c48);
}
.heading-primary .elementor-heading-title{box-shadow:inset 0 -3em 0 var(--e-global-color-primary);}
.heading-secondary .elementor-heading-title{box-shadow:inset 0 -3em 0 var(--e-global-color-secondary);}
.accent-background, .heading-accent .elementor-heading-title{box-shadow:inset 0 -3em 0 var(--e-global-color-accent);}
.heading-bleu .elementor-heading-title{box-shadow:inset 0 -3em 0 #005F9D;}

h2.elementor-heading-title a:after,
h3.elementor-heading-title a:after  {
    content:">";
    padding:10px;
    transition: transform .3s ease-out;
    -webkit-transition: transform .3s ease-out;
   
    display: inline-block;

}

h2.elementor-heading-title a:hover::after,
h3.elementor-heading-title a:hover::after {
    transform:translateX(10px);
    -webkit-transform:translateX(10px);

}
.elementor-shape-rounded .elementor-icon {
    border-radius: var(--s-radius);
}
/*SHADOW BOX STYLE */
.shadow-normal.elementor-section{
    box-shadow: var(--box-shadow);
}
.shadow-normal > .elementor-element-populated,
.shadow-normal .swiper-slide-inner,
.shadow-normal.e-con{
    box-shadow: var(--box-shadow);
}
.shadow-big.elementor-section {
    box-shadow: var(--big-box-shadow);


}
.shadow-big > .elementor-element-populated,
.shadow-big.e-con,
.shadow-big .swiper-slide-inner{
    box-shadow: var(--big-box-shadow);
    border-radius: 0 0 0 var(--radius);
}

small {font-size:65%;}
.light {font-weight:200;}

h1 br + small {
  display: block;
}
b, strong {
    font-weight: bold;
}


::placeholder {
    color:#9B9B9B;
    font-size: 1rem;
    font-weight: var( --e-global-typography-text-font-weight );
}
input,button {
  outline:0;
}
button:active,button:focus {
    outline: none !important;
    border: none !important;
    background: none;
}
[type="search"] {
    appearance: none;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  display: none;
}

body .menu-item.button-header>a {
    margin-left: 15px;
    text-transform: initial;
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
    transition: all ease 0.3s;
    &:hover {
        background: none !important;
    }
}
.elementor-widget-button {
    flex-shrink: 0;
}

button.cmplz-accept-service,
button.elementor-button, 
input[type="button"], 
input[type="submit"], 
.button-header > a,
.elementor-widget-button .elementor-button{
    font-weight: bold;
    color: var( --e-global-color-primary );
    background-color:var( --e-global-color-accent );
    border-radius: 0 0 0 20px;
    position: relative;
    border:none;
    cursor: pointer;
    padding: 1rem 2rem;
    line-height: 1;
    font-weight: 400;
    .elementor-button-icon {
        transition: transform .3s ease-in-out;
    }
    &:hover {
        .elementor-button-icon {
            transform:translateX(8px);
        }
    }
}
.elementor-button.elementor-button-info,
.elementor-widget-button.elementor-button-info .elementor-button {
        background: var( --e-global-color-primary );
        color:#fff;

        svg {
            stroke:var( --e-global-color-accent );

        }
}

button.elementor-button,
.elementor-widget-button:not(.elementor-button-warning) .elementor-button {
    transition: all .3s ease-in-out;
    overflow: hidden;
    
    &:hover{
        border-radius: 0;
        color:#fff;
        -moz-box-shadow: inset 0 0 10px 50px var( --e-global-color-primary );
        -webkit-box-shadow: inset 0 0 10px 50px var( --e-global-color-primary );
        box-shadow: inset 0 0 10px 50px var( --e-global-color-primary );
    }
}
body .button-header > a,
.elementor-widget-button.elementor-button-danger .elementor-button,
.elementor-button.elementor-button-danger {
-moz-box-shadow: inset 0 0 0 2px var( --e-global-color-primary );
    -webkit-box-shadow: inset 0 0 0 2px var( --e-global-color-primary );
    box-shadow:         inset 0 0 0 2px var( --e-global-color-primary );
    color:var( --e-global-color-primary );
    background:transparent;
    &:before,&:after {
        display: none;
    }
    &:hover{
        background:transparent !important;
        color:#fff !important;
        -moz-box-shadow: inset 0 0 10px 50px var( --e-global-color-primary );
        -webkit-box-shadow: inset 0 0 10px 50px var( --e-global-color-primary );
        box-shadow: inset 0 0 10px 50pxvar( --e-global-color-primary );


    }
}
.header-white:not(.sticky) .button-header > a,
.elementor-widget-button.elementor-button-success .elementor-button,
.elementor-button.elementor-button-success {
-moz-box-shadow: inset 0 0 0 2px #fff;
    -webkit-box-shadow: inset 0 0 0 2px #fff;
    box-shadow:         inset 0 0 0 2px #fff;
    color:#fff;
    background:transparent;
    &:hover{
        background:transparent;
        color:var( --e-global-color-primary ) !important;
        -moz-box-shadow: inset 0 0 10px 50px #fff;
        -webkit-box-shadow: inset 0 0 10px 50px #fff;
        box-shadow: inset 0 0 10px 50px #fff;
    }
}

.elementor-element.elementor-button-warning {
    .elementor-button {
        padding: 0 0 0.75em 0;
        background: none;
        position: relative;
        &:after {
            content:"";
            position: absolute;
            bottom:0;
            left:0;
            width: 30px;
            height: 2px;
            background: var( --e-global-color-primary );
            transition: all .3s ease-in-out;
        }
        &:hover:after {
            width: 100%;
        }
    }

}



input[type=search].search-field {
    width: 0;
    border: none !important;
    background: none;
    padding: 0;
    opacity: 0;
    /* position: absolute; */
    /* right: 50px; */
    /* top: -8px; */
    /* left: 0; */
}
input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
    width: 100%;
    border: none;
    border-radius: var(--s-radius);
    padding: 0.5rem 1rem;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    box-shadow:inset 0 0 0 1px var(--e-global-color-a1b2ad8);
    min-height:50px;
        -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline:none;
}

select {
    border: 1px solid var(--wp--preset--color--grey);
    font-size: 0.9rem;
    padding-inline: 10px;
    padding-right: 2rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAUCAMAAACtdX32AAAAdVBMVEUAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhMdQaAAAAJ3RSTlMAAAECAwQGBwsOFBwkJTg5RUZ4eYCHkJefpaytrsXGy8zW3+Do8vNn0bsyAAAAYElEQVR42tXROwJDQAAA0Ymw1p9kiT+L5P5HVEi3qJn2lcPjtIuzUIJ/rhIGy762N3XaThqMN1ZPALsZPEzG1x8LrFL77DHBnEMxBewz0fJ6LyFHTPL7xhwzWYrJ9z22AqmQBV757MHfAAAAAElFTkSuQmCC);
    background-position: 100%;
    background-repeat: no-repeat;
}
.sib-default-btn:hover {
    background:#000;
}
.search-form.active input[type=search].search-field {
    outline: none;
    width: 200px;
    background: #fff;
    opacity: 1;
    /* line-height: 40px !important; */
    padding: 8px;
}
button.search-submit {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    float: right;
    padding:0 10px !important;
    font-size: 22px;
    line-height: 22px;
}

.elementor-button {
    padding:1rem 2rem;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    justify-content: center;
}
button.elementor-button {border:none;}


.tooltip {
    font-weight: 700;
    text-decoration: none;
    position: relative;
    display: inline-block;
    &:hover::before {
        opacity: 1;
        visibility: visible
    }
}

.tooltip:before {
    background: #fff;
    content: attr(data-text);
    top: 100%;
    transform: translateX(-50%) translateY(-100%);
    left: 50%;
    margin-left: 15px;
    width: 280px;
    padding: 1rem;
    font-weight: 400;
    border-radius: 10px;
    text-align: center;
    z-index: 5;
    opacity: 0;
    box-shadow: 5px 5px 25px rgb(0 0 0 / 20%);
    visibility: hidden;
    transition: 0.3s ease-in-out;
        position: absolute;
                top: 0;
        margin-left: 0;
        width: max-content;
}

.tooltip:hover:before {
    opacity: 1;
    visibility: visible
}

/*--------------------------------------------------------------
# ELEMENTOR WIDGETS 
--------------------------------------------------------------*/


/* FAQQ */
.e-n-accordion-item {
    .e-con.e-child {
        padding:1rem;
    }
}
/* SWIPER */

.header-swiper {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-end;
    margin-left:auto;
    margin-right:auto;
    margin-bottom: 1rem;
    width:100%;
        max-width: var(--content-width);
    .swiper-nav {
       margin-left: auto;
        display: flex;
        gap:var(--s-radius);
    }
}
.header-swiper + .swiper + .elementor-swiper-button,
.header-swiper + .swiper + .elementor-swiper-button + .elementor-swiper-button,
.header-swiper:has( + .swiper:not(.swiper-initialized)) .swiper-nav {
    display: none !important;
}



.elementor-widget-n-carousel.elementor-pagination-type-bullets {
    --e-n-carousel-swiper-pagination-size: 10px;
}
.elementor-swiper-button {
    width: 3rem;
    height: 3rem;
        display: flex;
    align-items: center;
    justify-content: center;
    background: var(--e-global-color-secondary);
    color:var(--e-global-color-primary);
    border-radius:var(--s-radius);
    padding:0;
    &:hover {
        background: var(--e-global-color-primary);
        color:#fff;
    }
    &.swiper-button-disabled {
        opacity: 0.2;
    }
    &.swiper-button-lock {
        display: none;
    }
}
/*
.e-widget-swiper:not(.elementor-element-edit-mode) .swiper { 
    .swiper-wrapper .swiper-slide {
            opacity: 0.5;
        }
}
*/
.elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-next, 
.elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-prev {
    svg {
        fill:none;
                width: 24px;
        height: 24px;
    }
    &:hover svg {
        fill:none;
    }
}
.e-widget-swiper .swiper {
    overflow:visible;
    &::before {
      content: '';
      position: absolute;
      top: -10%;
      left: -1000px;
      width: 1000px;
      height: 120%;
      background:linear-gradient(to right, #efefef 90%, rgba(239, 239, 239, 0) 100%); 
      z-index: 10;
    }


    .swiper-wrapper .swiper-slide {
            transition: all .3s ease;
            border-radius: 0 0 0 var(--radius);
            overflow: hidden;
            &:hover {
                box-shadow: var(--big-box-shadow);
            }
            &.swiper-slide-visible {
                opacity: 1;
            }
            .elementor-cta {
                display: flex;
            }
            > div {
                    transition: all .3s ease-in-out;
            }

    }
}
.background-black.e-widget-swiper .swiper{

    &:before {
        background:linear-gradient(to right, var( --e-global-color-primary ) 90%, #001C2C00 100%); 
    }
    .swiper-slide {
         overflow: visible;
        &:before {
            content:"";
            height: 300%;
            position: absolute;
            left:0;
            top:-100%;
            width: 1px;
            background: rgba(255,255,255,0.2);
        }
    }
}
.e-con-boxed .e-n-carousel {
    .e-con {
            border-radius: calc(var(--border-radius) / 2);
    }
}


.logo-swiper .swiper-wrapper{
        transition: all 0.3s linear;
        .swiper-slide {
            filter: grayscale(100%);
            &:hover {
                filter: grayscale(0);
            }
        }
}

/*
body .elementor-widget-loop-carousel .swiper-pagination-bullets,
body .elementor-widget-n-carousel .swiper-pagination-bullets,
.swiper-pagination {
    max-width: var(--content-width);
    width: calc(100% - var(--container-default-padding-left) - var(--container-default-padding-right));
    display: flex; 
    justify-content: center;
    .swiper-pagination-bullet {
        flex: 1; 
        height: 10px; 
        transition: all 0.3s;
        opacity:1;
        border-radius: 0;
        &.swiper-pagination-bullet-active {
            background: var(--e-global-color-accent);
        }
    }
}
*/
.elementor-widget-loop-carousel,
.elementor-widget-n-carousel {
    --dots-horizontal-position:0;
    --dots-horizontal-offset: 0px;
    --dots-horizontal-transform: 0%;
    --e-n-carousel-dots-vertical-offset:-10px;
    &.elementor-pagination-type-bullets {
        --e-n-carousel-swiper-pagination-size:8px;
        .swiper-pagination-bullet {  
            border-radius: 9px;
            transition:all 0.3s ease;
        }
        .swiper-pagination-bullet-active {  
            width: 50px;
        }

    }


}

/* TOGGLE ITEM ELEMENTOR */
body .elementor-toggle-item {
    background-color: #FAFAFA;
    border:1px solid #AAA9A9;
    padding:0.7rem;
    margin-bottom:0.7rem;
}
body .elementor-toggle .elementor-tab-title {
    border-bottom:none;
    color:var(--e-global-color-secondary);
    font-size:1.2rem;
    font-family: var( --e-global-typography-secondary-font-family ), Sans-serif;
    text-transform: var( --e-global-typography-secondary-text-transform );
    line-height: var( --e-global-typography-secondary-line-height );
    letter-spacing: var( --e-global-typography-secondary-letter-spacing );
    font-weight: normal;
}
/* WIDGET REVIEW */
body .elementor-widget-reviews {
    .swiper-slide {
        background: #fff;
        box-shadow: var(--big-box-shadow);
        padding:2em;
    }
    .elementor-testimonial__name {
        text-transform: uppercase;
        letter-spacing: 0.3rem;
        font-weight: 200;
        font-size: 1.2rem;
    }

     .elementor-testimonial__header {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap:10px;
    }
    .elementor-testimonial__text {
        font-size: 1rem;
    }
}

/* WIDGET CTA */
.elementor-cta {
    height:100%;
    border-radius:var(--radius);
    .elementor-cta__title {
        font-size:var(--font-size--medium);
    }
}

.e-loop-item {

        border-radius:var(--radius);
        transition:all 0.3s ease-in-out;
        background:var(--e-global-color-secondary);
        overflow:hidden;
        &:hover {
            /*box-shadow:var(--big-box-shadow);*/
        }
    
}

body .elementor-cta--skin-classic {
    height:100%;
    .elementor-cta__content {
        flex: 1;
        align-content: flex-start;
        background:var(--e-global-color-secondary);
    }
    a.elementor-cta {
        .elementor-cta__bg-wrapper:after {
            content: "\e9bc";
            font-size: 22px;
            font-family: 'novelar' !important;
            speak: never;
            font-style: normal;
            font-weight: normal;
            font-variant: normal;
            text-transform: none;
            line-height: 1;
            -webkit-font-smoothing: antialiased;
            position: absolute;
            right: 2rem;
            bottom: 2rem;
            z-index: 2;
            border-radius: var(--s-radius);
            background:#fff;
            color:var(--e-global-color-949c657);
            padding:0.75rem;
        }
    }
    
    .elementor-cta__bg-overlay {
        background:linear-gradient(0deg, var(--e-global-color-secondary) 0%, #e9ebf400 50%);
    }

    &.elementor-cta--layout-image-below {
        .elementor-cta__bg-overlay {
            background: linear-gradient(180deg, var(--e-global-color-secondary) 0%, #e9ebf400 50%);
        }
    }
}

/* WIDGET IMG */


[class*="aspect-ratio-"]{
    &:not(.aspect-ratio-none) {
        max-height: 80vh;
        img, video, picture {
            object-fit: cover;
            width: 100%;
            height: 100%;
        }
    }
    
}

.aspect-ratio-square {aspect-ratio: var(--wp--preset--aspect-ratio--square);}
.aspect-ratio-16-9 {aspect-ratio: var(--wp--preset--aspect-ratio--16-9);}
.aspect-ratio-4-3 {aspect-ratio: var(--wp--preset--aspect-ratio--4-3);}
.aspect-ratio-2-3 {aspect-ratio: var(--wp--preset--aspect-ratio--2-3);}
.aspect-ratio-9-16 {aspect-ratio: var(--wp--preset--aspect-ratio--9-16);}
.aspect-ratio-3-4 {aspect-ratio: var(--wp--preset--aspect-ratio--3-4);}
.aspect-ratio-3-2 {aspect-ratio: var(--wp--preset--aspect-ratio--3-2);}

@media only screen and (max-width:1024px ) {
    [class*="aspect-ratio-"].e-con {
        aspect-ratio:initial;
        max-height: initial;
    }
}


/*--------------------------------------------------------------
# RESPONSIVE
--------------------------------------------------------------*/
@media only screen and (max-width:1400px ) {

}
@media only screen and (max-width:1300px ) {
    .menu-desktop > .menu-item {
        margin:0;
    }
} 


@media only screen and (max-width:1230px ) {
    .search-form input[type=search].search-field {
        position: fixed;
        right: 0;
        top: 60px;
    }
    .search-form.active input[type=search].search-field {
        width: 100%;
    }
}
@media only screen and (max-width:1024px ) {
    .hide-on-med-and-down {display:none !important;}
    body .elementor-widget-reviews {
        .swiper-slide {
            padding:2em 1em;
        }
    }
   .elementor-swiper-button {
        width: 2rem;
        height: 2rem;
        :before, svg, i {
                font-size: 14px;
        }
   }
}

@media only screen and (max-width:767px ) {
    .hide-on-mobile {display: none;}
    small {
        font-size: 0.7em;
    }
    .page-content > .elementor > .e-parent > .e-con {
        /*--border-radius: 10px;*/
    }


}
