/**
Theme Name: Vivement Lundi !
Author: Alexandre Ionoff
Author URI: https://www.alexionoff.fr/
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: vivement-lundi
Template: astra
*/


/***************************************************/
/******************* Variables  ********************/

html {
    --red: #CA1D17;
    --black: #171717;
    --grey: #F5F3F3;
}


/***************************************************/
/************** Menu Header ***************/
/***************************************************/
.menu-toggle .mobile-menu-toggle-icon .ast-menu-svg {
    display: none;
}
.menu-toggle .mobile-menu-toggle-icon::after {
    content: url("data:image/svg+xml,%3Csvg width='40' height='23' viewBox='0 0 40 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline y1='1.5' x2='40' y2='1.5' stroke='%23CA1D17' stroke-width='3'/%3E%3Cline y1='11.5' x2='40' y2='11.5' stroke='%23CA1D17' stroke-width='3'/%3E%3Cline x1='15' y1='21.5' x2='40' y2='21.5' stroke='%23CA1D17' stroke-width='3'/%3E%3C/svg%3E%0A");
    width: 40px;
    height: 40px;
}
.menu-toggle:hover .mobile-menu-toggle-icon::after {
    content: url("data:image/svg+xml,%3Csvg width='40' height='23' viewBox='0 0 40 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline y1='1.5' x2='40' y2='1.5' stroke='%23171717' stroke-width='3'/%3E%3Cline y1='11.5' x2='40' y2='11.5' stroke='%23171717' stroke-width='3'/%3E%3Cline x1='15' y1='21.5' x2='40' y2='21.5' stroke='%23171717' stroke-width='3'/%3E%3C/svg%3E%0A");
}

.elementor-button-wrapper .elementor-button:hover, .elementor-button-wrapper .elementor-button:focus {
  border: none !important;
  border-color: transparent !important;
}
.elementor-button .elementor-align-icon-right {
    transform: translateX(0);
    transition: transform 0.3s ease-in-out;
}
.elementor-button:hover .elementor-align-icon-right {
    transform: translateX(15px);
    transition: transform 0.3s ease-in-out;
}
.elementor-button:hover .elementor-button-text {
    color: var(--black);
    transition: all 0.3s ease-in-out;
}
.elementor-button:hover .elementor-button-icon svg circle {
    stroke: var(--black);
    transition: stroke 0.3s ease-in-out;
}
.elementor-button:hover .elementor-button-icon svg path {
    fill: var(--black);
    transition: fill 0.3s ease-in-out;
}
.ast-social-color-type-custom .ast-builder-social-element {
    background-color: var(--red);
    transition: background-color 0.3s ease-in-out;
}
.ast-social-color-type-custom .ast-builder-social-element:hover {
    background-color: var(--black);
    transition: background-color 0.3s ease-in-out;
}

.ast-theme-transparent-header [data-section="section-header-mobile-trigger"] .ast-button-wrap .ast-mobile-menu-trigger-fill {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: transparent 2px solid;
}
.ast-theme-transparent-header [data-section="section-header-mobile-trigger"] .ast-button-wrap .ast-mobile-menu-trigger-fill:hover {
  border: 2px solid var(--black) !important;
  transition: border 0.3s ease-in-out;
}



/* Menu Mon compte */
.ast-desktop .ast-account-nav-menu {
  top: 16px;
  padding: 15px 10px;
}
.ast-desktop .ast-primary-header-bar .main-header-menu.ast-account-nav-menu > .menu-item {
  line-height: 1em;
  font-size: 0.9em;
}
#ast-site-header-cart .widget_shopping_cart .mini_cart_item {
  border-bottom: none;
  margin: 15px 0;
}

@media (max-width: 768px) {
  #astra-mobile-cart-drawer .widget_shopping_cart .mini_cart_item {
    border-bottom: none;
    margin: 15px 0;
  }
}

/* Masquer le bouton Commande */
.ast-site-header-cart .widget_shopping_cart .buttons .button.checkout,
.astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart__buttons .button.checkout {
  display: none;
}


/***************************************************/
/******************** Menu Mobile ******************/
/***************************************************/
@media (max-width: 768px) {
  .ast-theme-transparent-header #masthead .site-logo-img .transparent-custom-logo .astra-logo-svg {
    width: 150px;
    height: 70px;
    margin-right: 20px;
  }
  .ast-cart-menu-wrap .count {
    font-size: 0.6em;
  }
  .site-header-section > * {
    padding: 0 5px;
  }
}

/***************************************************/
/************* WP Grid Next Prev Button ************/
/***************************************************/
.wpgb-grid-5 .wpgb-prev-button,
.wpgb-grid-5 .wpgb-next-button {
    border: 2px solid var(--red) !important;
    border-radius: 50% !important;
    cursor: inherit;
}

.wpgb-grid-5 .wpgb-prev-button:hover,
.wpgb-grid-5 .wpgb-next-button:hover {
    color: var(--black);
    border: 2px solid var(--black) !important;
    transition: color 0.3s ease-in-out, border 0.3s ease-in-out;
}

/***************************************************/
/**************** WP Grid Pagination ***************/
/***************************************************/
.wp-grid-builder .wpgb-facet .wpgb-pagination li {
  width: 48px;
  height: 48px;
  border: 2px solid var(--red);
  border-radius: 50%;
  transition: all 0.3s ease-in-out;
}
.wp-grid-builder .wpgb-facet .wpgb-pagination li:hover {
  border: 2px solid var(--black);
}
.wp-grid-builder .wpgb-facet .wpgb-pagination li a,
.wp-grid-builder .wpgb-facet .wpgb-pagination li a[aria-current] {
  color: var(--red);
  line-height: 40px;
  font-size: 16px;
}
.wp-grid-builder .wpgb-facet .wpgb-pagination li:hover a,
.wp-grid-builder .wpgb-facet .wpgb-pagination li a:focus,
.wp-grid-builder .wpgb-facet .wpgb-pagination li:hover a[aria-current] {
  color: var(--black);
}


/***************************************************/
/**************** WP Grid Right Click **************/
/***************************************************/
.wp-grid-builder .wpgb-card-media-thumbnail a, .wp-grid-builder.wpgb-enabled .wpgb-card-layer-link {
  pointer-events: auto !important;
}



/***************************************************/
/****************** Menu Fullscreen ****************/
/***************************************************/
.ast-mobile-popup-drawer .ast-mobile-popup-header {
    justify-content: space-between;
}
.ast-mobile-popup-drawer .ast-mobile-popup-header .menu-toggle-close {
  position: fixed;
  top: 20px;
  right: 20px;
}

.ast-mobile-popup-drawer .ast-mobile-popup-header::before {
    content: "";
    width: 243px;
    height: 67px;
    background: url("img/logo-vivement-lundi-white.svg") no-repeat;
    background-size: contain;
    margin-left: 20px;
    margin-top: 20px;
}
@media (max-width: 768px) {
    .ast-mobile-popup-drawer .ast-mobile-popup-header::before {
        width: 150px;
        height: 41px;
        margin-top: 17px;
    }
    .ast-mobile-popup-drawer.active .ast-desktop-popup-content, .ast-mobile-popup-drawer.active .ast-mobile-popup-content {
        margin-top: 30px;
    }
}
.ast-mobile-popup-drawer .ast-mobile-popup-inner {
    background-image: url("img/bg-fullscreen.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* Close icon */
.ast-mobile-popup-drawer .ast-mobile-popup-header .menu-toggle-close {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  font-size: 0.7em;
  border: 2px solid #ffffff;
}
.ast-mobile-popup-drawer .ast-mobile-popup-header .menu-toggle-close:hover {
  color: var(--black);
  border: 2px solid var(--black);
  transition: all 0.3s ease-in-out;
}

/***************************************************/
/***************** Scroll to top *******************/
/***************************************************/

#ast-scroll-top {
  font-size: 1.5rem;
  border-radius: 50%;
}
#ast-scroll-top:hover {
  color: var(--red);
  background-color: transparent;
  border: 2px var(--red) solid;
  transition: all 0.3s ease-in-out;
}

/***************************************************/
/********************* Footer **********************/
/***************************************************/

footer .astra-widget-social-profiles-inner li > a .ast-widget-icon {
  margin-right: 0;
}

footer #astra-widget-social-profiles-3 .astra-widget-social-profiles-inner.inline li > a {
  border-radius: 50%;
  margin-left: 8.5px;
  margin-right: 8.5px;
}
footer #astra-widget-social-profiles-3 .astra-widget-social-profiles-inner.inline li > a:first-child {
  margin-left: 0;
}

/***************************************************/
/**************** Custom Scrollbar *****************/
/***************************************************/

/* Works on Firefox */
* {
  scrollbar-width: auto;
  scrollbar-color: var(--red) var(--black) ;
}

/* Works on Chrome, Edge, and Safari */
*::-webkit-scrollbar {
  width: 16px;
}

*::-webkit-scrollbar-track {
  background: var(--black);
}

*::-webkit-scrollbar-thumb {
  background-color: var(--red);
  border-radius: 16px;
  border: 3px solid var(--black);
}


/***************************************************/
/************** Attract Hover Effect ***************/
/**************************************************
.attract-hover-easing {
    transition: all 0.3s cubic-bezier(0.250, 0.460, 0.450, 0.940);
}

/***************************************************/
/************** Custom Cursor Effect ***************/
/***************************************************/

/* General
html {
    cursor: url("data:image/svg+xml,%3Csvg height='6' width='6' viewBox='0 0 8 8' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='4' cy='4' fill='%23CA1D17' r='4'/%3E%3C/svg%3E") 3 3, auto;
    transition: cursor 0.3s ease-in-out;
}
a, button {
    cursor: url("data:image/svg+xml,%3Csvg height='12' width='12' viewBox='0 0 8 8' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='4' cy='4' fill='%23CA1D17' r='4'/%3E%3C/svg%3E") 3 3, auto;
    transition: cursor 0.3s ease-in-out;
}

.ast-mobile-popup-drawer {
  cursor: url("data:image/svg+xml,%3Csvg height='6' width='6' viewBox='0 0 8 8' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='4' cy='4' fill='%23eee' r='4'/%3E%3C/svg%3E") 3 3, auto;
  transition: cursor 0.3s ease-in-out;
}
.ast-mobile-popup-drawer a, .ast-mobile-popup-drawer button {
  cursor: url("data:image/svg+xml,%3Csvg height='12' width='12' viewBox='0 0 8 8' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='4' cy='4' fill='%23eee' r='4'/%3E%3C/svg%3E") 3 3, auto;
  transition: cursor 0.3s ease-in-out;
}

.wp-grid-builder .wpgb-card-media-thumbnail a, .wp-grid-builder.wpgb-enabled .wpgb-card-layer-link {
  pointer-events: auto !important;
  border-radius: 10px;
}


/* Cursor Script 1 
.cursor {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: var(--width);
  height: var(--height);
  transform: translate(calc(var(--x) - var(--width) / 2), calc(var(--y) - var(--height) / 2));
  transition: 150ms width cubic-bezier(0.39, 0.575, 0.565, 1),
              150ms height cubic-bezier(0.39, 0.575, 0.565, 1),
              150ms transform cubic-bezier(0.39, 0.575, 0.565, 1);
  z-index: 1;
  pointer-events: none;
  will-change: transform;
}
@media (pointer: fine) {
  .cursor {
    display: block;
  }
}


.cursor::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: var(--radius);
  border: 2px solid var(--red);
  opacity: var(--scale);
  transform: scale(var(--scale));
  transition: 300ms opacity cubic-bezier(0.39, 0.575, 0.565, 1),
              300ms transform cubic-bezier(0.39, 0.575, 0.565, 1),
              150ms border-radius cubic-bezier(0.39, 0.575, 0.565, 1);

}
*/

/*
@keyframes cursorAnim {
  0% {
    transform: scale(1);
  }
  60% {
    transform: scale(1);
  }
  80% {
    transform: scale(1.3);
  }
  100% {
    transform: scale(1);
  }
}

html:not(html:hover) .cursor::after {
  opacity: 0;
  transform: scale(0);
}


/*** Modifications Fiche Film Portfolio Décembre 2025 ***/
.fiche-technique-colonne-texte {
  padding: 0 0 0 7px !important;
  font-size: 14px;
}
.fiche-technique-colonne-texte-bonus {
  padding: 0;
}
.fiche-technique-colonne .elementor-column-gap-default > .elementor-column.fiche-technique-colonne-texte-bonus > .elementor-element-populated {
  padding: 7px 4px;
}
.fiche-technique-colonne-texte-bonus p {
  margin-bottom: 0.3em;
}