/* CSS Document */

/**
Theme Name: Astra Child
Template: astra
*/

:root {
  --ast-global-color-0: #F5C61C;
  --ast-global-color-1: #FDCF28;
  --ast-global-color-2: #2E3546;
  --ast-global-color-3: #283D70;
  --ast-global-color-4: #E0DDD5;
  --ast-global-color-5: #FFFFFF;
  --ast-global-color-6: #4C4C4C;
  --ast-global-color-7: #1A1A1A;
  --ast-global-color-8: #BDDCF2;
  --ast-global-color-9: #000000;
}

html {
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden;
}

/************ HERO TITLE ************/

.hero-title > .e-con-inner {
  max-width: 100% !important;
}
.elementor-widget-heading h1.elementor-heading-title {
  line-height: 1.2;
}

/************ BOUTONS MENUS (BODY) ************/

/* Style commun pour bouton et page Non-Current (ex. : /quebec/) */
.menu-btn a,
.menu-btn .elementor-widget-button a {
    background-color: transparent;
    color: var(--ast-global-color-3)!important;
    padding: 15px 30px!important;
    border: 1px solid var(--ast-global-color-3);
    display: inline-block;
    font-size: 16px;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0px;
}

.menu-btn a:hover,
.menu-btn .elementor-widget-button a:hover { 
    background-color: var(--ast-global-color-3);
    color: var(--ast-global-color-5)!important;
}

.menu-btn .hfe-nav-menu li {
    margin: 10px;
}

/* Bouton de la page courante */
.menu-btn .current-menu-item > a,
.menu-btn .current_page_item > a {
    pointer-events: none;
    cursor: default;
    background: transparent;
    border: 1px solid var(--ast-global-color-3)!important;
    color: var(--ast-global-color-3)!important;
    font-weight:600!important;
}

/* Enlever le focus clavier */
.menu-btn .current_page_item > a:focus {
    outline: none;
}

/************ MENUS ************/

/* =========================
   FIX ELEMENTOR EDIT MODE
============================ */

.elementor-editor-active .menu-options {
    display: none !important;
}

/* Pour cacher les sections du menu lors du chargement de la page */
html.js body:not(.elementor-editor-active) .menuDiv {
    display: none;
}

/* =========================
   WRAPPER STICKY
========================= */

.menu-sticky {
    width: 100%;
    text-align: center;
    background: transparent;
    z-index: 999;
}

.menu-fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #cdcdcd;
}

/* =========================
   DROPDOWN STYLE (COMME SELECT)
========================= */

.menu-dropdown {
    display: inline-block;
    position: relative;
}

/* bouton principal */
.menu-selected {
    background: var(--ast-global-color-3);
    border: 1px solid var(--ast-global-color-3);
    padding: 10px 40px 10px 15px;
    font-size: 14px;
    color: var(--ast-global-color-5);
    cursor: pointer;
    min-width: 320px;
    text-align: left;
    position: relative;
}

/* petite flèche */
.menu-selected:after {
    content: "";
    position: absolute;
    right: 12px;
    top: 50%;
    margin-top: -3px;
    border-width: 5px;
    border-style: solid;
    border-color: var(--ast-global-color-5) transparent transparent transparent;
}

/* dropdown */
.menu-options {
    position: absolute;
    left: 0;
    width: 100%;
    background: #ffffff;
    border: 1px solid #dcdcdc;
    border-top: none;
    display: none;
    z-index: 9999;
}

/* options */
.menu-option {
    padding: 10px 15px;
    font-size: 14px;
    cursor: pointer;
    text-align: left;
}

.menu-option:hover {
    background: #f5f5f5;
}

/* =========================
   CLEAN SPACER
========================= */

.menu-spacer {
    margin: 0;
    padding: 0;
}

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

@media (max-width: 768px) {

    .menu-selected {
        min-width: 320px;
        font-size: 16px;
    }

}

/************ BOUTONS ET ICÔNES HEADER ************/

[data-section*=section-fb-button-] .ast-builder-button-size-sm .ast-custom-button,
[data-section*=section-hb-button-] .ast-builder-button-size-sm .ast-custom-button {
  padding:10px 10px;
}

/* Empêcher les lettres d'un mot d'un bouton d'être sur 2 lignes */
.ast-custom-button,
#takeout,
#delivery {
    word-break: normal;
    overflow-wrap: normal;
}

/* Style commun */
a[aria-label="TAKEOUT"] .ast-custom-button,
a[aria-label="DELIVERY"] .ast-custom-button,
a[aria-label="EMPORTER"] .ast-custom-button,
a[aria-label="LIVRAISON"] .ast-custom-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* TAKEOUT - sac blanc */
a[aria-label="TAKEOUT"] .ast-custom-button::before,
a[aria-label="EMPORTER"] .ast-custom-button::before {
  content: "";
  display: inline-block;
  height: 12px;
  aspect-ratio: 1 / 1;
  background: url("https://auvieuxduluth.com/wp-content/uploads/custom-img/header-btn/bag-white.png") no-repeat center / contain;
}

/* TAKEOUT hover - sac bleu */
a[aria-label="TAKEOUT"]:hover .ast-custom-button::before,
a[aria-label="EMPORTER"]:hover .ast-custom-button::before {
  background: url("https://auvieuxduluth.com/wp-content/uploads/custom-img/header-btn/bag-283D70.png") no-repeat center / contain;
}


/* DELIVERY - D DoorDash blanc */
a[aria-label="DELIVERY"] .ast-custom-button::before,
a[aria-label="LIVRAISON"] .ast-custom-button::before {
  content: "";
  display: inline-block;
  height: 12px;
  width: 20px;
  background: url("https://auvieuxduluth.com/wp-content/uploads/custom-img/header-btn/d-doordash-white.png") no-repeat center / contain;
  transform: translateY(1px);
}

/* DELIVERY hover - D bleu */
a[aria-label="DELIVERY"]:hover .ast-custom-button::before,
a[aria-label="LIVRAISON"]:hover .ast-custom-button::before {
  background: url("https://auvieuxduluth.com/wp-content/uploads/custom-img/header-btn/d-doordash-283D70.png") no-repeat center / contain;
}

/************ MOBILE HEADER ************/
@media (max-width: 921px) {

  .ast-custom-button::before {
    filter: invert(1); /* blanc ? noir */
  }

  .ast-custom-button:hover::before {
    filter: invert(0); /* retour blanc */
  }

  /* Ajuster marges des boutons du Header d'Astra */
  div.ast-header-button-1,
  div.ast-header-button-2,
  div.ast-header-button-3,
  div.ast-header-button-4 {
    padding: 15px 20px 0px 20px!important;  
  }

  div.ast-header-button-2 {
    padding: 15px 20px 15px 20px!important; 
  }

}

/************ STYLE COMMUN FOOTER ************/

.link-legal a:hover { color: var(--ast-global-color-0)!important; }

#takeout,
#delivery {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/************ ICÔNES FOOTER ************/

#takeout:visited,
#takeout:focus,
#takeout:active,
#delivery:visited,
#delivery:focus,
#delivery:active,
#takeout:visited .elementor-button-text,
#takeout:focus .elementor-button-text,
#takeout:active .elementor-button-text,
#delivery:visited .elementor-button-text,
#delivery:focus .elementor-button-text,
#delivery:active .elementor-button-text {
  color: white !important;
}

/* TAKEOUT - sac blanc (par défaut) */
#takeout::before {
  content: "";
  display: inline-block;
  height: 12px;
  aspect-ratio: 1 / 1;
  background: url("https://auvieuxduluth.com/wp-content/uploads/custom-img/header-btn/bag-white.png") no-repeat center / contain;
}

/* DELIVERY - D DoorDash blanc (par défaut) */
#delivery::before {
  content: "";
  display: inline-block;
  height: 12px;
  width: 20px;
  background: url("https://auvieuxduluth.com/wp-content/uploads/custom-img/header-btn/d-doordash-white.png") no-repeat center / contain;
  transform: translateY(1px);
}

/************ HOVER FOOTER ************/
#takeout:hover::before {
  background-image: url("https://auvieuxduluth.com/wp-content/uploads/custom-img/header-btn/bag-283D70.png");
}

#delivery:hover::before {
  background-image: url("https://auvieuxduluth.com/wp-content/uploads/custom-img/header-btn/d-doordash-283D70.png");
}

/************ RESET APRÈS CLIC ************/
#takeout:focus,
#takeout:active,
#takeout:visited,
#delivery:focus,
#delivery:active,
#delivery:visited {
  background: transparent !important;
  box-shadow: none !important;
}

/* remet les icônes blanches après clic */
#takeout:focus::before,
#takeout:active::before,
#takeout:visited::before {
  background-image: url("https://auvieuxduluth.com/wp-content/uploads/custom-img/header-btn/bag-white.png");
}

#delivery:focus::before,
#delivery:active::before,
#delivery:visited::before {
  background-image: url("https://auvieuxduluth.com/wp-content/uploads/custom-img/header-btn/d-doordash-white.png");
}

/************ NEWSLETTERS CLIENTS ************/

.input-group {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.input-group input,
.input-group button {
    height: 40px;
    box-sizing: border-box;
    border: 1px solid var(--ast-global-color-3);
}

.input-group input {
    margin: 0;
    border: 1px solid var(--ast-global-color-3);
    border-radius: 0px;
    min-width : 260px;
}

.input-group button {
    margin: 0;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/************ NEWSLETTERS FRANCHISES ************/

.ci-form {
    width: 100%;
}

.ci-form fieldset {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.ci-form .ci-field {
    width: 100%;
    margin-bottom: 10px;
}

.ci-form label {
    display: block;
    margin-bottom: 5px;
}

.ci-form input[type="text"],
.ci-form input[type="email"] {
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: 46px;
    margin: 0;
    padding: 0 14px;
    box-sizing: border-box;

    border: 1px solid var(--ast-global-color-3);
    border-radius: 0;

    background-color: #fff !important;
    color: inherit;
    box-shadow: none !important;

    appearance: none;
    -webkit-appearance: none;
}

.ci-form input[type="text"]:focus,
.ci-form input[type="email"]:focus {
    background-color: #fff !important;
    outline: none;
    border-color: var(--ast-global-color-3);
    box-shadow: none !important;
}

.ci-form input[type="text"]:-webkit-autofill,
.ci-form input[type="email"]:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
    -webkit-text-fill-color: inherit;
}

.ci-form input.ci-submit {
    display: block;
    margin: 40px 0 0 !important;
}

.page-id-9052 .elementor-element-435f7a68,
.page-id-9134 .elementor-element-9118d1b {
    display:none;
}


/************ FORMULAIRE CONTACT ************/
.wpcf7-form-control.wpcf7-submit { border: 1px solid var(--ast-global-color-3); }

/*----------------------------------------------------------------------------------------------------------*/


/************ Galerie de photos en mosaïque ************/
.kat_gallery .gallery-icon img {
  width:100%; padding:10px;
}
#kat_gallery_1 { 
  column-count:3;
  column-gap:0;
    
}
#kat_gallery_1 figure.gallery-item {padding-bottom:0; }
.kat_gallery .gallery-icon a {
  display:block;
}


@media all and (max-width:767px) {
    #kat_gallery_1 { 
      column-count: 2;
  }
}


/************ POSTS / ARTICLES ************/

/* Posts Hero Full Bleed */
.hero-posts {
    position: relative;
    width: 100vw !important;
    max-width: 100vw !important;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.single-post .hero-posts {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

h2.wp-block-heading,
h2.widget-title {
    margin-bottom: 10px;
}

ul.wp-block-latest-posts__list li {
    margin: 0 !important;
}

.legal-posts {
    font-size: 10px;
    line-height: 12px;
}

/* Load More Button pour Posts */
.eael-load-more-button,
.eael-infinite-scroll-button,
button.eael-load-more-button {
    background: var(--ast-global-color-2) !important;
    color: #fff !important;
    margin-top: 40px !important;
    margin-bottom: 40px !important;
    padding: 14px 28px !important;
    border-radius: 0 !important;
}

.eael-load-more-button:hover,
.eael-infinite-scroll-button:hover,
button.eael-load-more-button:hover {
    background: #4c5772 !important;
}

/*****************************************
Fond blanc des archives et de la recherche
 *****************************************/
/* Ombre appliquée directement à la carte complète */
body.category article.ast-article-post {
    background-color: #ffffff;
    box-shadow: 0 6px 20px rgba(16, 24, 40, 0.05);
    overflow: hidden;
}

body.category div.ast-post-format- {
    margin-top: 0 !important;
}
body.category article.ast-article-post {
    margin-top: 60px;
}
.archive div#primary {
  margin-top: 40px;
}


/********************************
 * Page 404
 ********************************/
.error-404.not-found {
    padding-top: 200px;
    background: linear-gradient(
        180deg,
        var(--ast-global-color-2) 0%,
        var(--ast-global-color-2) 10%,
        #ffffff 40%,
        #ffffff 100%
    );
}
.error404.ast-separate-container #primary {
    margin-top: 0 !important;
    padding:0;
}
.error404 #content .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
}
@media (max-width: 768px) {
  .ast-separate-container .ast-404-layout-1, .ast-separate-container .no-results {
    padding: 0 40px!important;
  }
}
@media (max-width: 544px) {
  .ast-separate-container .ast-404-layout-1, .ast-separate-container .no-results {
    padding: 0 30px!important;
  }
}

/********************************
 * SEARCH PAGE
 ********************************/

/* HERO TITLE WIDTH */
.search .page-title {
    width: 80% !important;
    margin: auto;
}
div.ast-post-format- {
    margin-top:60px;
}

.search .ast-container {
    padding-left: 40px;
    padding-right: 40px;
}

.search div#primary {
    margin-top: 40px;
}

@media (max-width: 921px) {
  .ast-separate-container .ast-blog-layout-5-grid .post-content {
    padding-left: 30px;
  }
}
@media (max-width: 767px) {
  .search div#primary {
    margin-top:0;
    padding-left:30px;
    padding-right:30px;
  }
}


/********************************
 * SEARCH FORM
 ********************************/

.search-form {
    display: flex;
    align-items: stretch;
    width: 100% !important;
    max-width: 100% !important;
    gap: 0;
    border:none!important;
}

/* IMPORTANT pour Astra */
.search-form label {
    flex: 1 1 auto;
    width: 100%;
    margin: 0;
}

/* Page 404 */
div.ast-404-search div.widget.widget_search { max-width:600px!important; }
div.ast-404-search .widget_search .search-form input[type="submit"] { padding:0 12px; max-width: none; }


/* Search Menu secondaire */
div.astra-search-shortcode.search-custom-menu-item.inline.left {
    margin: 0 !important;
    width: 100%;
}

/* Search Input (gris) */
input.search-field {
    width: 100% !important;
    height: 54px;
    padding: 10px;
    border: 1px solid #dadada !important;
    border-radius: 0;
    background: #fafafa !important;
    color: #555 !important;
    box-sizing: border-box;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none;
    appearance: none;
}
input#search-field-sticky.search-field {
    border-right:none!important;
    
}
/* Button Submit (bleu) */
.ast-search-menu-icon .astra-search-icon {
    display: inline-block !important;
}
button.search-submit.normal-search {
    text-align: center !important;
    line-height: 54px !important;
    padding:0 12px;
    height: 54px;
    min-width: 54px;
    border: 1px solid #dadada!important;
    border-left:none!important;
    border-radius: 0;
    background: #fafafa !important;
    color: #243b7a !important;
    cursor: pointer;
    transition: all .25s ease;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none;
    appearance: none;
    letter-spacing: 0!important;
    font-weight: bold;
    font-size: 1rem;
}
/* Cet input est un bouton */
input.search-submit {
    border: 1px solid #dadada!important;
    border-left:none!important;
    border-radius: 0;
    background: #fafafa !important;
    height: 54px;
    color: #243b7a !important;
}

/* Hover inversé */
button.search-submit.normal-search:hover, input.search-submit:hover {
    background: #243b7a !important;
    border: 1px solid #243b7a!important;
    border-left:none!important;
    border-radius: 0;
    color: #fff !important;
}

/* Supprime contours focus Safari/iPhone */
input.search-field:focus,
input.search-field:active,
button.search-submit.normal-search:focus,
button.search-submit.normal-search:active
 {
    outline: none !important;
    box-shadow: none !important;
}

/********************************
 * PAGES RESTOS
 ********************************/

h1 span.small { font-size:20px;line-height: 24px; }

/* Bouton Directions */
div.wpsl-location-directions {
    margin-top: 30px!important;
    text-align: center;
    line-height: 16px;
    margin:0;
    border: 1px solid #243b7a!important;
}
div.wpsl-location-directions p { margin-bottom:0; }
div.wpsl-location-directions a { display:block; padding:10px; color: var(--ast-global-color-3)!important; }
div.wpsl-location-directions a:hover { color: #fff !important; background-color: #243b7a; }

/* Tableau des heures d'affaires */
table.wpsl-opening-hours { width: 100%!important;  }
table.wpsl-opening-hours tr, table.wpsl-opening-hours td { padding:0; }
table.wpsl-opening-hours td time { text-align:right; }

/* Bouton Pour emporter */
.fortakeout .elementor-button:focus:not(:hover) {
    background: transparent !important;
    color: #283D70 !important;
    border-color: #283D70 !important;
    box-shadow: none !important;
}

.fortakeout .elementor-button:focus:not(:hover) .elementor-button-text {
    color: #283D70 !important;
}

/********************************
 * STORE LOCATOR
 ********************************/
.wpsl-input label, #wpsl-radius label, #wpsl-category label { width:auto!important; min-width: 120px!important; }
#wpsl-search-input { margin-right:30px!important; }
#wpsl-search-wrap div { min-width:120px!important; }
.wpsl-dropdown { margin-right:16px!important; }
#wpsl-search-btn { padding: 9px 12px!important; font-size: 1rem; font-weight: 400; }
div.wpsl-location-directions {font-size:16px!important;}
.wpsl-opening-hours td:nth-child(2) { text-align: right; }

/********************************
 * Print
 ********************************/
@media print {


}

/************ Complianz - forcer l'affichage du bouton "gérer le consentement" après acceptation ************/
#cmplz-manage-consent,
.cmplz-manage-consent {
  right: 20px !important;
  bottom: -37px !important;
  z-index: 1000;
  position: fixed !important;
  top: auto !important;
  left: auto !important;
}

#cmplz-manage-consent:hover,
.cmplz-manage-consent:hover {
  bottom: 0px !important;
}

/* === reCAPTCHA invisible === */
.grecaptcha-badge{
    display: none !important;
}

/* === reCAPTCHA badge symétrique au bouton gotoTop === */
/* Activer le code css ci-dessous pour le rendre visible */
.grecaptcha-badge {
    /* Position symétrique */
    /*left: 20px !important;
    right: auto !important;
    bottom: 20px !important;*/

    /* Même largeur que gotoTop (AJUSTE si besoin) */
    /*width: 70px !important;
    overflow: hidden !important;*/

    /* On ne touche PAS à la hauteur */
    /*height: auto !important;*/

    /* Même sensation de bouton */
    /*border-radius: 6px !important;*/
    
    /* Animation en 2 temps */
    /*transform: scale(0.9);
    transform-origin: bottom left;
    transition: transform 180ms ease, width 260ms ease 180ms !important;
    z-index: 999999 !important;*/
}

/* Hover : expansion progressive */
.grecaptcha-badge:hover{
    /*transform: scale(1);
    width: 256px !important;*/
}
/* Fin du code css reCAPTCHA */