/* ===================================
   HEADER CAROUSEL
   ================================= */

/* Bandeau contact rouge */
.ap-contact-banner {
    background: var(--ast-global-color-1); /* Rouge Armoire Plus */
    color: var(--ast-global-color-4); /* Blanc */
    padding: 2px 0;
    font-size: 12px;
    font-weight: 500;
    position: relative;
}

.ap-contact-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    gap: 15px;
}

.ap-contact-text {
    font-weight: 500;
}

.ap-contact-links {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ap-phone-link,
.ap-service-link {
    color: var(--ast-global-color-4);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    transition: opacity 0.2s ease;
    padding: 2px 6px;
    border-radius: 3px;
}

.ap-phone-link:hover,
.ap-service-link:hover {
	color: var(--ast-global-color-4);
    text-decoration:underline;
    opacity: 0.9;
}

.ap-phone-icon {
    fill: currentColor;
    flex-shrink: 0;
}

.ap-separator {
    color: rgba(255, 255, 255, 0.7);
    font-weight: 300;
}

/* Carrousel de messages */
.ap-carousel-wrap {
    min-height: 44px;
    position: relative;
    overflow: hidden;
}

.ap-carousel-container {
    max-width: 1200px;
    margin: 0 auto;
    height: 44px;
    position: relative;
}

.ap-carousel-track {
    position: relative;
    width: 100%;
    height: 100%;
}

.ap-carousel-item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: translateY(8px);
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 0 20px;
}

.ap-carousel-item.active {
    opacity: 1;
    transform: translateY(0);
}

.ap-carousel-content {
    text-align: center;
    font-size: 14px;
    color: var(--ast-global-color-2);
    font-weight: 500;
    line-height: 1.3;
}

/* Éléments de style dans les messages */
.ap-highlight {
    color: var(--ast-global-color-7); /* Rouge foncé */
    font-weight: 700;
}

.ap-year {
    color: var(--ast-global-color-0); /* Bleu Armoire Plus */
    font-weight: 600;
}

.ap-link {
    color: var(--ast-global-color-7);
    text-decoration: underline;
    font-weight: 600;
    transition: color 0.2s ease;
}

.ap-link:hover {
    color: var(--ast-global-color-1);
    text-decoration: none;
}

.ap-star {
    color: #D53C9D;
    font-weight: bold;
    margin: 0 6px;
    animation: ap-twinkle 2s infinite;
}

@keyframes ap-twinkle {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

/* Pause animation au hover */
.ap-carousel-wrap:hover .ap-star {
    animation-play-state: paused;
}

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

@media (max-width: 768px) {
    .ap-contact-banner {
        padding: 6px 0;
        font-size: 12px;
    }
    .ap-contact-container {
        flex-direction: column;
        gap: 4px;
        padding: 0 15px;
		text-align: center;
    }
    
    .ap-contact-text {
        font-size: 12px;
        text-align: center;
		display:none;
    }
    
    .ap-contact-links {
        gap: 8px;
    }
    
    .ap-phone-link,
    .ap-service-link {
        font-size: 12px;
        font-weight: 700;
        padding: 0 12px;
    }
    
    .ap-carousel-wrap {
        min-height: 36px;
    }
    
    .ap-carousel-container {
        height: 38px;
    }
    
    .ap-carousel-content {
        font-size: 11px;
        padding: 0 10px;
        line-height: 1.2;
    }
    
    .ap-hide-mobile {
        display: none;
    }
    .ap-mobile-break {
        display: block;
    }
    .ap-star {
        margin: 0 2px;
        font-size: 10px;
    }
}

@media (max-width: 480px) {
    .ap-contact-banner {
        font-size: 12px;
        padding: 6px 0;
    }
    
    .ap-carousel-content {
        font-size: 11px;
        padding: 0 10px;
    }
}

/* ===================================
   OPTIMISATIONS PERFORMANCE
   ================================= */

.ap-carousel-wrap,
.ap-contact-banner {
    contain: layout style;
}

.ap-carousel-item {
    will-change: transform, opacity;
}

/* Préchargement optimisé */
.ap-carousel-wrap::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

/* ===================================
   FIN HEADER CAROUSEL
   ================================= */
/* Connexion */
.ast-header-account-link {
    display: flex !important;
    align-items: center;
    gap: 6px;
    padding: 7px 12px 6px 12px;
    border: 1px solid var(--ast-global-color-6);
    border-radius: 4px;
    transition: all 0.2s ease;
}

.ast-header-account-link:hover {
    background: var(--ast-global-color-5);
    border-color: var(--ast-global-color-1);
}
.ast-header-account-text {display:none!important;}

/* Rajout du bleu blanc rouge sous la 1ère ligne du header */
.ast-above-header.ast-above-header-bar::after{
    content: "";
    display: block;
    width: 100%;
    height: 4px;
    background: linear-gradient(to right,var(--ast-global-color-0),var(--ast-global-color-0) 30%,#fff 30%,#fff 70%,var(--ast-global-color-7) 70%,var(--ast-global-color-7));
	border-bottom: 1px solid #fafafa;
    border-top: 1px solid #fafafa;
}

/* Rectification de l'espacement des items du sous menu du megamenu */
#primary-site-navigation-desktop .astra-megamenu ul.sub-menu li a{padding : 0.5em 1em;}

/*  Breadcrumb  */
body .main-header-bar.ast-header-breadcrumb{padding-top: 5px; padding-bottom: 5px;font-size: 0.8rem;}

/* Bouton de doofinder */
form.dfd-searchbox input.sr-only{display:none!important;}

/* Bouton Panier */
.ast-site-header-cart-li  a div:first-child {border-radius:3px!important;}

/* Bouton Devis rapide */
.ast-header-button-1 a .ast-custom-button{ font-size:1rem;padding:9px 7px 6px 7px;}
.ast-header-button-1 a .ast-custom-button:before{  content: "";
  display: inline-block;
  width: 12px;
  height: auto;
  aspect-ratio: 15 / 20; 
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512' fill='%23ffffff'%3E%3Cpath d='M256 0v128h128L256 0zM288 256H96v64h192V256zM224 128L224 0H48C21.49 0 0 21.49 0 48v416C0 490.5 21.49 512 48 512h288c26.51 0 48-21.49 48-48V160h-127.1C238.3 160 224 145.7 224 128zM64 72C64 67.63 67.63 64 72 64h80C156.4 64 160 67.63 160 72v16C160 92.38 156.4 96 152 96h-80C67.63 96 64 92.38 64 88V72zM64 136C64 131.6 67.63 128 72 128h80C156.4 128 160 131.6 160 136v16C160 156.4 156.4 160 152 160h-80C67.63 160 64 156.4 64 152V136zM320 440c0 4.375-3.625 8-8 8h-80C227.6 448 224 444.4 224 440v-16c0-4.375 3.625-8 8-8h80c4.375 0 8 3.625 8 8V440zM320 240v96c0 8.875-7.125 16-16 16h-224C71.13 352 64 344.9 64 336v-96C64 231.1 71.13 224 80 224h224C312.9 224 320 231.1 320 240z'/%3E%3C/svg%3E");
  position:relative;
  top:-2px;
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 8px;
  vertical-align: middle;
}
@media (max-width: 995px) {
	.ast-header-button-1 a .ast-custom-button:before{display:none;}
	.ast-header-button-1 a .ast-custom-button{ font-size:0.9rem;padding:9px 3px 6px 3px!important;}
	.site-header-primary-section-right-center.site-header-section.ast-flex.ast-grid-right-center-section{display:none;}
	.ast-header-button-1{ padding:0!important ;}
}

/* Logo */
header .ast-site-identity{padding:0!important;}
@media (min-width: 544px) and (max-width: 921px)  {
    header .custom-logo-link img, .ast-header-break-point .site-logo-img .custom-mobile-logo-link img {
        max-width: 250px!important;
        width: 250px;
    }
/* PAnier */
.ast-desktop .ast-primary-header-bar .ast-header-woo-cart, .ast-desktop .ast-primary-header-bar .ast-header-edd-cart {line-height: 50px!important; min-height: 50px!important;}

/* Acces flottant au recap de la liste des articles dans le devis demande-de-devis */
.raq-info.empty-raq{display:none!important;}
#ast-desktop-header .widget_ywraq_mini_list_quote .raq-items-number-byme{font-weight:bold;text-decoration: none;font-size:10px;border-radius: 50%;padding: 2px 6px;background-color: var(--ast-global-color-1);color: #fff;	position:relative;	top: -20px;left: 10px;}
#ast-desktop-header .widget_ywraq_mini_list_quote{margin: 0;}
#ast-desktop-header .widget_ywraq_mini_list_quote .raq-info {padding:1px 2px;border:1px solid #4a4a4a;}
#ast-desktop-header .widget_ywraq_mini_list_quote .raq-info svg{position: relative;top: 2px;left: 10px;}

/* Menu */
button.ast-menu-toggle{box-shadow: none!important;}