/**
Theme Name: Otora
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: otora
Template: astra
*/

body.single-product .ast-article-single {
    display: none !important;
}

body.single-product #content .ast-container,
body.single-product #content .ast-container .content-area,
body.single-product #content .ast-container .content-area .site-main,
body.single-product #content .ast-container .content-area .site-main .ast-woocommerce-container {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
}

/* HEADER */
body.single-product header.site-header {
    width: 100%;
    background: transparent;
    position: absolute;
}

body.single-product header.site-header .menu-toggle {
    background: transparent;
}

body.single-product header.site-header .menu-toggle svg {
    fill: #d6fd12 !important;
}

body.single-product header.site-header .menu-item .ast-menu-toggle {
    background: transparent;
}

body.single-product header.site-header .custom-logo-link img {
    max-width: 150px;
}

body header button,
body header button:focus,
body header button:active,
.ast-menu-toggle {
    outline: none !important;
    -webkit-tap-highlight-color: transparent;
}

/* ____________________________*/
#product-page {
    width: 100%;
    background: #000000;
}

.custom-product-page {
    max-width: 2400px;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    background: #000000;
    color: #f9f9f9;
    font-family: 'Instrument Sans', Sans-serif;
}

.custom-product-page p {
    color: #f9f9f9;
}

.custom-product-page h1 {
    color: #f9f9f9;
    font-family: 'CyGrotesk-GrandBold', Sans-serif;
}

.custom-product-page h2,
.custom-product-page h3,
.custom-product-page h5,
.custom-product-page h6 {
    font-family: 'KIONA', Sans-serif;
    font-weight: 100;
}

.custom-product-page .content-product {
    color: #f9f9f9;
}

/* ===========================================
    =   GALLERY
============================================ */
.custom-product-page .gallery {
    position: relative;
}

/* Main */
#product-swiper .swiper-slide {
    width: 100%;
    aspect-ratio: 16 / 9;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

#product-swiper .swiper-slide a {
    display: block;
    width: 100%;
    height: 100%;
}

#product-swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* thumbs */
#slider-thumbs {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    z-index: 1;
    width: 100%;
    overflow: visible;
}

.splide__slide img {
    vertical-align: bottom;
    border-radius: 5px;
    border: 1px solid rgba(0, 0, 0, 0.3);
    cursor: pointer;
    transition: all 0.2s;
}

.splide__slide.active {
    transform: scale(1.2);
    z-index: 10;
}

body .splide__list {
    padding: 25px 0 10px !important;
}

#thumbnail-slider .splide__track {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* glightbox */
.gslide-image img {
    border-radius: 7px;
}

.glightbox-button-hidden {
    display: none !important;
}

.goverlay {
    background: rgba(0, 0, 0, 0.7) !important;
}

/* Bandeau d'informations */
.product-banner {
    /*font-size: 11px;*/
    padding: 13px 20px;
    box-sizing: border-box;
    color: #000;
    background: #d6fd14;
}

.product-banner .banner-item {
    display: flex;
    align-items: center;
    padding: 5px 30px 5px 0;
    box-sizing: border-box;
}

.product-banner .banner-item > svg {
    width: auto;
    height: 22px;
    margin-right: 5px;
}

.product-banner .banner-item > span:first-of-type {
    margin-right: 5px;
    text-transform: uppercase;
}

.product-banner .banner-item > span:last-of-type {
    font-weight: 600;
    text-transform: uppercase;
}

.product-banner a {
    /*font-size: 1rem;*/
}
/* ===========================================
    =   MAIN IMAGE
============================================ */
#main-img img:not(#logo-img) {
    width: 100%;
    display: block;
    object-fit: cover;
    height: 100%;
}

#logo-img {
    position: absolute;
}
/* ===========================================
    =   DETAILS
============================================ */
.custom-product-page .product-details {
    padding: 0 20px;
    box-sizing: border-box;
}

.custom-product-page .product-details header h1 {
    padding: 20px 0 0;
    margin: 0;
    text-transform: capitalize;
}

.custom-product-page .product-details header h2 {
    color: #fff;
}

.custom-product-page .product-details header .price {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.custom-product-page .product-details header .price > span {
    display: inline-block;
    color: #fff;
    border-radius: 10px;
    font-weight: bold;
    margin: 20px 20px 20px 0;
    /*font-size: 1rem;*/
    font-family: 'CyGrotesk-GrandBold', Sans-serif;
}

.custom-product-page .product-details header .tva {
    display: block;
    margin-top: 35px;
    margin-bottom: 0;
    font-weight: 200;
    color: #fff;
    /* font-size: 1rem;*/
}

.custom-product-page .product-details header .short-description {
    /*line-height: 1.6;*/
    color: #fff;
    padding: 30px 0 0;
    display: block;
    font-family: 'Instrument Sans', Sans-serif;
}

.custom-product-page .product-features {
    margin-bottom: 40px;
    box-sizing: border-box;
}

.custom-product-page .product-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.custom-product-page .product-features li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    text-transform: uppercase;
    height: 70px;
    font-weight: 100;
    /*font-size: 11px;*/
}

.custom-product-page .product-features li:last-child {
    display: block;
    border-bottom: none;
    font-weight: 500;
    font-style: italic;
    height: auto;
    padding: 20px 0 40px;
    box-sizing: border-box;
}

.custom-product-page .product-features li:last-child > div {
    /*line-height: normal;*/
}

.custom-product-page .product-features .feature-value {
    flex: 1;
    text-align: right;
    font-weight: 500;
}

.custom-product-page .product-features .feature-icon {
    width: 25px;
    margin-right: 10px;
}

.custom-product-page .product-features .feature-icon svg {
    width: 100%;
    height: auto;
}

.color-circles {
    display: flex;
    gap: 5px;
    margin-top: 5px;
    justify-content: flex-end;
}

.color-circle {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: inline-block;
    border: 1px solid #ccc;
}

.btn-call {
    background-color: var(--e-global-color-accent);
    font-size: 12px;
    font-weight: bold;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
    fill: var(--e-global-color-primary);
    color: var(--e-global-color-primary);
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
    text-transform: capitalize;
    transition: all 0.3s;
}

.btn-call:hover {
    transform: scale(1.1);
}

.btns {
    text-align: center;
}

#btns-bottom {
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
}
/* ======================================================
    =   DESCRIPTION / OPTIONS / ENTRETIENS
======================================================= */
.detail {
    box-sizing: border-box;
    padding: 30px 20px;
}

.detail > div {
    max-width: 1200px;
    margin: auto;
}

.detail p {
    margin: 0;
}

.detail h2 {
    text-transform: capitalize;
    margin-bottom: 20px;
    font-family: 'CyGrotesk-GrandBold', Sans-serif;
    color: #fff;
}

.detail .content {
    /*line-height: 1.6;*/
    font-family: 'Instrument Sans', Sans-serif;
}

/* ======================================================
    =   MODAL DE RAPPEL
======================================================= */
/* Modale pleine largeur avec fade-in/out */
#modal-call {
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.9);
    opacity: 0;
    pointer-events: none; /* désactive les clics quand invisible */
    transition: opacity 0.5s ease;
}

#modal-call.show {
    opacity: 1;
    pointer-events: auto; /* réactive les clics */
}

/* Contenu de la modale */
#modal-call .modal-content.modal-fullwidth {
    margin: 0;
    width: 100%;
    height: auto;
    padding: 20px;
    box-sizing: border-box;
}

#modal-call .modal-body {
    background-color: #fff;
    width: 100%;
    max-width: 1200px;
    height: auto;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
}

/* Image à gauche */
#modal-call .modal-image {
    display: none;
}

/* Formulaire à droite */
#modal-call .modal-form {
    padding: 40px 30px;
    overflow-y: auto;
    box-sizing: border-box;
}

#modal-call .modal-form h2 {
    margin-bottom: 25px;
    color: #403e3e;
    text-transform: lowercase;
}

#modal-call .modal-form h2::first-letter {
    text-transform: uppercase;
}

/* Formulaire */
#modal-call .form-group {
    margin-bottom: 15px;
}

#modal-call .form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    color: #403e3e;
    /*font-size: 1rem;*/
}

#modal-call .form-group input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #999;
    border-radius: 6px;
    /*font-size: 15px;*/
    transition: border-color 0.2s, box-shadow 0.2s;
}

#modal-call .form-group input:focus {
    border-color: #0073aa;
    box-shadow: 0 0 5px rgba(0, 115, 170, 0.3);
    outline: none;
}

#modal-call .btn-submit {
    display: block;
    width: 100%;
    padding: 12px;
    background-color: #d6fd14;
    color: #333;
    border: none;
    border-radius: 6px;
    /*font-size: 16px;*/
    cursor: pointer;
    transition: background-color 0.2s;
    font-family: 'Instrument Sans', Sans-serif;
}

#modal-call .btn-submit:hover {
    background-color: #c4e711;
}

#modal-call input {
    width: 100%;
    padding: 10px 15px;
    border: 1px solid #ccc;
    border-radius: 8px;
    background-color: #fdfdfd;
    transition: all 0.3s ease;
    outline: none;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);
}

#modal-call::placeholder {
    color: #aaa;
    font-style: italic;
}

#modal-call input:hover {
    border-color: #999;
}

/* Bouton fermer */
#modal-call .close {
    position: absolute;
    top: 15px;
    right: 20px;
    /*font-size: 30px;*/
    font-weight: bold;
    color: #000;
    cursor: pointer;
    transition: color 0.2s;
}

#modal-call .close:hover {
    color: #0073aa;
}

/* Message */
#modal-call #form-message {
    margin-top: 15px;
    /*font-size: 14px;*/
    text-align: center;
}

/* ===================================================
    = NOS ENGAGEMENTS
 ====================================================*/
#our-commitments {
    background-color: #000;
    text-align: center;
    padding: 0 20px 20px;
    box-sizing: border-box;
}

#our-commitments > div {
    margin: auto;
}

#our-commitments h3 {
    color: #fff;
    text-align: center;
    font-family: 'CyGrotesk-GrandBold', Sans-serif;
    /*font-size: 15px;*/
    margin: 20px 0 30px;
    padding: 0;
    text-transform: lowercase;
}

#our-commitments h3::first-letter {
    text-transform: uppercase;
}

#our-commitments > div > div {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 0;
    color: #fff;
    /*font-size: 11px;*/
}

#our-commitments > div > div > div {
    padding: 20px 0;
    box-sizing: border-box;
    display: flex;
    flex-flow: column;
    align-items: center;
    text-align: left;
    width: 50%;
    padding: 20px 0;
    text-align: center;
}

#our-commitments > div > div > div img {
    width: 40px;
    height: auto;
    margin-bottom: 15px;
}

/* Responsive */
@media (min-width: 576px) {
    .btns {
        text-align: center;
    }
}
@media (min-width: 768px) {
    /* MODAL DE RAPPEL */
    #modal-call .modal-body {
        display: flex;
    }

    /* Contenu de la modale */
    #modal-call .modal-content.modal-fullwidth {
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    /* Image à gauche */
    #modal-call .modal-image {
        flex: 1 1 50%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #modal-call .modal-image img {
        width: 100%;
        object-fit: cover;
        height: 700px;
    }

    /* Formulaire à droite */
    #modal-call .modal-form {
        flex: 1 1 50%;
    }

    .product-banner {
        /*font-size: 15px;*/
        padding: 13px 40px;
    }

    .detail {
        padding: 40px;
    }

    .custom-product-page .product-details {
        padding: 0 40px;
    }

    .custom-product-page .product-features li {
        /*font-size: 15px;*/
    }

    #our-commitments > div > div > div {
        flex-flow: column;
        width: 32%;
        padding: 20px 0;
        text-align: center;
    }

    #our-commitments > div > div > div img {
        height: 50px;
        width: auto;
        margin-right: 0;
        margin-bottom: 15px;
    }

    .btn-call {
        font-size: 16px;
    }
}

@media (min-width: 992px) {
    body.single-product header.site-header {
        width: 100%;
        background: #000000;
        position: relative;
    }

    body.single-product header.site-header .ast-primary-header-bar {
        background: #000000;
    }

    body.single-product header.site-header .sub-menu {
        background: #222222;
    }

    /* _____________________________________ */
    .custom-product-page {
        padding: 40px 0;
    }

    .custom-product-page .content-product {
        display: flex;
        gap: 30px;
        max-width: 100%;
        align-items: stretch;
        color: #f9f9f9;
    }

    /* MAIN IMAGE */
    #main-img {
        position: relative;
        width: 55%;
    }

    #main-img > div:not(.product-banner) {
        /*position: absolute;*/
        width: 100%;
        height: 50%;
    }

    #main-img > div:not(.product-banner) > a {
        display: flex;
        align-items: center;
        justify-content: center;
        display: block;
        width: 100%;
        height: 100%;
    }

    /*  DETAILS */
    .custom-product-page .product-details {
        width: 45%;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        padding: 0 40px 0 10px;
    }

    .custom-product-page .product-details header h1 {
        padding: 0;
    }

    .detail h2 {
        text-transform: lowercase;
    }

    #our-commitments {
        padding: 40px;
    }

    .detail h2::first-letter {
        text-transform: uppercase;
    }

    /* thumbs */
    body .splide__list {
        padding: 25px 0 !important;
    }

    .custom-product-page .product-features ul {
        max-height: 350px;
        overflow: auto;
        margin-bottom: 40px;
        padding-right: 20px;
        box-sizing: border-box;
        overflow-y: auto;

        /* Firefox */
        scrollbar-width: thin;
        scrollbar-color: #7a7a7a #000; /* thumb | track */
    }

    /* ----- Scrollbar ----- */
    /* Chrome / Edge / Safari / Opera */
    .custom-product-page .product-features ul::-webkit-scrollbar {
        width: 8px;
    }

    .custom-product-page .product-features ul::-webkit-scrollbar-track {
        background: #000; /* couleur rail */
        border-radius: 4px;
    }

    .custom-product-page .product-features ul::-webkit-scrollbar-thumb {
        background: #7a7a7a; /* couleur du curseur */
        border-radius: 4px;
    }

    .custom-product-page .product-features ul::-webkit-scrollbar-thumb:hover {
        background: #555; /* couleur au survol */
    }

    .splide__slide img {
        border-radius: 15px;
    }

    /* Bandeau d'informations */
    .product-banner {
        position: absolute;
        bottom: 0;
        width: 100%;
        padding: 13px 10px;
        /*font-size: 1rem;*/
    }

    /*.custom-product-page .product-features li {
        font-size: 1rem;
    }

    .custom-product-page .product-details header .price {
        font-size: 1.2rem;
    }

    .custom-product-page .product-details header .tva {
        font-size: 1.2rem;
    }*/

    #our-commitments > div > div {
        gap: 56px;
        justify-content: space-between;
        flex-wrap: nowrap;
    }

    #our-commitments > div > div > div {
        flex: 1;
    }

    .btn-call {
        font-size: 20px;
        padding-bottom: 12px;
    }
}

@media (min-width: 1200px) {
    /* Bandeau d'informations */
    .product-banner {
        display: flex;
        width: 100%;
        flex-flow: row wrap;
        justify-content: center;
        position: absolute;
        bottom: 0;
    }

    /*  DETAILS */
    .bottom-product {
        display: flex;
        flex-flow: row nowrap;
        gap: 10%;
        margin-top: 60px;
    }

    .bottom-product > div {
        width: 45%;
    }

    #main-img {
        width: 55%;
    }

    .custom-product-page .product-details {
        width: 50%;
        padding: 0 40px 0 20px;
    }

    .custom-product-page .product-features ul {
        overflow: visible;
        max-height: none;
    }

    .custom-product-page .product-features ul::-webkit-scrollbar {
        display: none;
    }

    /*.custom-product-page .product-details header .price {
        font-size: 1.4rem;
    }*/

    /*.custom-product-page .product-details header .tva {
        font-size: 1.4rem;
    }*/
}
@media (min-width: 1400px) {
    #main-img {
        width: 50%;
    }

    .custom-product-page .product-details {
        width: 50%;
        padding: 0 40px;
    }

    .custom-product-page .product-features li {
        height: 80px;
    }
}

/* Masquer le bouton Ajouter au panier */
.uael-woo-product-wrapper .add_to_cart_button {
    display: none !important;
}

/* Masquer les étoiles de notation */
.uael-woo-product-wrapper .star-rating {
    display: none !important;
}

/* Masquer les notes texte (optionnel) */
.uael-woo-product-wrapper .review-rating {
    display: none !important;
}
/* correction bug page liste des produits */
.elementor-element-65916b4c {
    flex-wrap: nowrap;
}


@media (max-width: 921px) {
	.ast-mobile-header-content,
	.ast-main-header-bar-alignment,
	.main-header-bar-navigation,
  	.main-header-bar-navigation.toggle-on {
    	display: block !important;
  	}
	
	.ast-mobile-header-wrap .ast-mobile-header-content {
		background-color: transparent !important;
	}
	
	.ast-mobile-header-content,
	.ast-main-header-bar-alignment,
	.main-header-bar-navigation {
		transform: translateX(100%) !important;
		transform-origin: top;
		opacity: 1;
		overflow: hidden;
		transition: transform .25s ease, opacity .2s ease;
	  }

	 .ast-main-header-nav-open .ast-mobile-header-content,
	 .ast-main-header-bar-alignment,
	 .main-header-bar-navigation.toggle-on {
		transform: translateX(0) !important;
		opacity: 1;
	 }
	
	/* .ast-main-header-nav-open .ast-mobile-header-content {}  */
	
	.elementor-2023 .elementor-element.elementor-element-z24243n:not(.elementor-motion-effects-element-type-background), .elementor-2023 .elementor-element.elementor-element-z24243n > .elementor-motion-effects-container > .elementor-motion-effects-layer {
		height: 100dvh;
	}
	
	.elementor-widget-container p {
		font-size: 14px;
		line-height: 18px;
	}

}



