/*======================================
Theme Name: Mobytic
Theme URI: https://divicake.com/
Description: Divi Child Theme
Version: 1.0
Author: Mobytic
Author URI: https://mobytic.com/
Template: Divi
======================================*/


/* You can add your own CSS styles here. Use !important to overwrite styles if needed. */

* {
	--mb-color-rose: #e40d7e;
}

.postid-3054.woocommerce.woocommerce-page .et_pb_wc_price {
	display: none !important;
}

.postid-3054.woocommerce.woocommerce-page .woocommerce-Price-amount.amount {
	font-family: 'Inter', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 600;
    color: #e40d7e !important;
	font-size: 26px;
}

.et-db #et-boc .et-l .et_pb_wc_add_to_cart_0_tb_body form.cart .variations td.value span:after {
	display: none !important;
}

.woocommerce-notices-wrapper .woocommerce-message[role="alert"] {
	background-color: var(--mb-color-rose);
}

.woocommerce-notices-wrapper .woocommerce-message[role="alert"] .button.wc-forward {
	border-radius: 100px;
	color: var(--mb-color-rose);
}

.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-checkout .wc-block-components-checkout-place-order-button {
	border-radius: 100px;
	background-color: var(--mb-color-rose);
	color: #fff;
}












/* Menu Divi en vertical (sidebar) */


#page-container #sidebar-filter-menu #menu-menu-sidebar {
  display: flex ;
  flex-direction: column ;
  align-items: flex-start ;
	width: 100%;
}

#page-container #sidebar-filter-menu #menu-menu-sidebar>li {
  width: 100%;
}


.mb-cat-left-column {
	z-index: 3;
}

@media screen and (max-width: 981px) {
	#mobile_menu2 {
		height: 40vh;
		overflow-y: scroll;
		overflow-x: hidden;
	}
	
	#sidebar-filter-menu .et_pb_menu__wrap,
	#sidebar-filter-menu .et_mobile_nav_menu {
		width: 100%;
	}
	
	
	#sidebar-filter-menu .mobile_nav {
	  display: flex;
	  align-items: center;
	  gap: 14px; /* espace entre "Filtres" et l'icône */
	  width: 100%;
	  justify-content: space-between;
	}

	/* Texte "Filtres" */
	#sidebar-filter-menu .mobile_nav::before {
	  content: "Filtres";
	  font-weight: 700;
	  font-size: 16px;
	  color: #222;
	  white-space: nowrap;
	}

	/* Bouton menu */
	#sidebar-filter-menu .mobile_nav .mobile_menu_bar {
	  width: auto;
	  height: auto;
	  border: none;          /* enlève le rond */
	  border-radius: 0;      /* enlève l'arrondi */
	  background: transparent;
	  padding: 0;
	  margin: 0;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  box-shadow: none;
	}
	
	#sidebar-filter-menu .mobile_nav .mobile_menu_bar::before {
	  color: var(--mb-color-rose) !important;
	}

	/* Menu déroulant */
	#sidebar-filter-menu .mobile_nav .et_mobile_menu {
	  width: 100%;
	  margin-top: 12px;
		border-color: var(--mb-color-rose) !important;
	}
}
































/* =========================================================
   VITRINES DE COLMAR - FICHE COMMERÇANT
   Infos pratiques compactes + réseaux + galerie adaptive
========================================================= */


/* =========================================================
   BLOC INFOS PRATIQUES COMPACT
   Adresse / téléphone / site / email
========================================================= */

.vdc-practical-info,
.vdc-practical-info--compact {
    max-width: 430px;
    width: 100%;
}

.vdc-practical-info--compact {
    margin: 0;
    padding: 0;
}

.vdc-contact-list {
    display: grid;
    gap: 9px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.vdc-contact-list li {
    display: flex;
    align-items: flex-start;
    gap: 28px;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 16px;
	font-family: 'Inter', Helvetica, Arial, Lucida, sans-serif;
	font-weight: bold;
    line-height: 1.45;
    color: #565656;
}

.vdc-contact-list a {
    color: #565656;
    text-decoration: none;
    transition: color 0.2s ease;
}

.vdc-contact-list a:hover {
    color: #f5057f;
}

.vdc-contact-list__icon {
    width: 26px !important;
    min-width: 26px !important;
    max-width: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
    max-height: 26px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #f5057f !important;
    line-height: 1 !important;
    margin-top: 1px;
    overflow: hidden;
}

.vdc-contact-list__icon svg {
    width: 26px !important;
    min-width: 26px !important;
    max-width: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
    max-height: 26px !important;
    display: block !important;
    fill: currentColor !important;
}


/* =========================================================
   RÉSEAUX SOCIAUX
   Icônes uniquement, alignées les unes à côté des autres
========================================================= */

.vdc-info-socials,
.vdc-social-icons {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
    width: auto !important;
    max-width: 100% !important;
}

.vdc-info-socials .vdc-social-icon,
.vdc-social-icons .vdc-social-icon {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    flex: 0 0 38px !important;
    border-radius: 999px !important;
    background: #f5057f !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    line-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    box-shadow: none;
    transition:
        transform 0.2s ease,
        background-color 0.2s ease,
        box-shadow 0.2s ease;
}

.vdc-info-socials .vdc-social-icon svg,
.vdc-social-icons .vdc-social-icon svg {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    display: block !important;
    fill: currentColor !important;
}

.vdc-info-socials .vdc-social-icon:hover,
.vdc-social-icons .vdc-social-icon:hover {
    transform: translateY(-2px);
    background: #d90070 !important;
    box-shadow: 0 8px 18px rgba(245, 5, 127, 0.22);
}


/* Sécurité anti-SVG énormes dans Divi */
.vdc-practical-info svg,
.vdc-practical-info--compact svg,
.vdc-social-icons svg,
.vdc-info-socials svg {
    max-width: 18px !important;
    max-height: 18px !important;
}


/* =========================================================
   ANCIENS ÉLÉMENTS À MASQUER SI ENCORE PRÉSENTS
   À utiliser seulement si tes anciens modules Divi restent affichés
========================================================= */

/*
.vdc-old-hours,
.vdc-old-intro,
.vdc-old-social-text {
    display: none !important;
}
*/


/* =========================================================
   GALERIE ADAPTIVE
========================================================= */

.vdc-gallery-section {
    max-width: 1120px;
    margin: 70px auto;
    padding: 0 24px;
}

.vdc-gallery-section h2 {
    margin: 0 0 34px;
    font-size: 28px;
    line-height: 1.25;
    font-weight: 700;
    color: #222;
}

.vdc-gallery-section h2 span {
    color: #f5057f;
}

.vdc-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: start;
}

.vdc-gallery-item {
    overflow: hidden;
    border-radius: 4px;
    background: #f7f7f7;
}

.vdc-gallery-item img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}

.vdc-gallery-item iframe {
    width: 100%;
    aspect-ratio: 9 / 16;
    height: auto;
    min-height: 420px;
    display: block;
    border: 0;
}

.vdc-gallery-item--video {
    background: #000;
}


/* Si une seule image ou vidéo */
.vdc-gallery-count-1 .vdc-gallery-grid {
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: 1fr;
}


/* Si deux médias seulement */
.vdc-gallery-count-2 .vdc-gallery-grid {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}


/* Sur desktop, une vidéo verticale prend plus de hauteur */
@media screen and (min-width: 981px) {
    .vdc-gallery-item--video {
        grid-row: span 2;
    }
}


/* =========================================================
   RESPONSIVE TABLETTE
========================================================= */

@media screen and (max-width: 980px) {
    .vdc-practical-info,
    .vdc-practical-info--compact {
        max-width: none;
    }

    .vdc-gallery-section {
        margin: 55px auto;
    }

    .vdc-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vdc-gallery-item iframe {
        min-height: 360px;
    }
}


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

@media screen and (max-width: 600px) {
    .vdc-contact-list {
        gap: 8px;
    }

    .vdc-contact-list li {
        font-size: 13px;
    }

    .vdc-info-socials,
    .vdc-social-icons {
        gap: 7px !important;
        margin-top: 12px !important;
    }

    .vdc-info-socials .vdc-social-icon,
    .vdc-social-icons .vdc-social-icon {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
        flex-basis: 38px !important;
    }

    .vdc-info-socials .vdc-social-icon svg,
    .vdc-social-icons .vdc-social-icon svg {
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        min-height: 30px !important;
        max-height: 30px !important;
    }

    .vdc-gallery-section {
        margin: 45px auto;
        padding: 0 20px;
    }

    .vdc-gallery-section h2 {
        font-size: 23px;
        margin-bottom: 24px;
    }

    .vdc-gallery-grid,
    .vdc-gallery-count-2 .vdc-gallery-grid {
        grid-template-columns: 1fr;
    }

    .vdc-gallery-item iframe {
        min-height: 440px;
    }
}































/* =========================================================
   GALERIE MASONRY PLEINE LARGEUR
========================================================= */

.vdc-gallery-section--masonry {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.vdc-gallery-inner {
    width: 100%;
    max-width: none;
    margin: 0 auto;
}

.vdc-gallery-masonry {
    column-count: 4;
    column-gap: 24px;
    width: 100%;
}

.vdc-masonry-item {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0 0 24px;
    break-inside: avoid;
    overflow: hidden;
    border-radius: 14px;
    background: #f7f7f7;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
}

.vdc-masonry-media {
    width: 100%;
    display: block;
}

.vdc-masonry-img,
.vdc-masonry-media img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: cover;
}

.vdc-masonry-item--video iframe {
    width: 100% !important;
    min-height: 520px;
    aspect-ratio: 9 / 16;
    display: block;
    border: 0;
}

.vdc-lightbox-open {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
}

.vdc-lightbox-open::after {
    content: "Voir";
    position: absolute;
    right: 14px;
    bottom: 14px;
    padding: 8px 13px;
    border-radius: 999px;
    background: rgba(245, 5, 127, 0.92);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.vdc-masonry-item:hover .vdc-lightbox-open::after {
    opacity: 1;
    transform: translateY(0);
}

.vdc-masonry-item:hover .vdc-masonry-img,
.vdc-masonry-item:hover .vdc-masonry-media img {
    transform: scale(1.035);
}

.vdc-masonry-img,
.vdc-masonry-media img {
    transition: transform 0.25s ease;
}


/* =========================================================
   LIGHTBOX / SLIDER
========================================================= */

body.vdc-lightbox-is-open {
    overflow: hidden;
}

.vdc-lightbox {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 70px 90px;
    background: rgba(12, 12, 12, 0.92);
    box-sizing: border-box;
}

.vdc-lightbox[aria-hidden="false"] {
    display: flex;
}

.vdc-lightbox-stage {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vdc-lightbox-stage img {
    max-width: 100%;
    max-height: calc(100vh - 140px);
    width: auto;
    height: auto;
    display: block;
    border-radius: 12px;
    box-shadow: 0 20px 70px rgba(0, 0, 0, 0.35);
}

.vdc-lightbox-stage iframe {
    width: min(420px, 90vw) !important;
    height: min(80vh, 760px) !important;
    display: block;
    border: 0;
    border-radius: 12px;
    background: #000;
    box-shadow: 0 20px 70px rgba(0, 0, 0, 0.35);
}

.vdc-lightbox-close {
    position: fixed;
    top: 22px;
    right: 28px;
    z-index: 10;
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 999px;
    background: #fff;
    color: #222;
    font-size: 34px;
    line-height: 42px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vdc-lightbox-close:hover {
    background: #f5057f;
    color: #fff;
}
/* =========================================================
   FIX CENTRAGE BOUTONS PREV / NEXT LIGHTBOX
========================================================= */

.vdc-lightbox-nav {
    width: 54px !important;
    height: 54px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #222 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;

    box-sizing: border-box !important;
    cursor: pointer;
}

.vdc-lightbox-nav::before {
    content: "";
    width: 12px;
    height: 12px;
    display: block;
    border-top: 3px solid currentColor;
    border-right: 3px solid currentColor;
    box-sizing: border-box;
}

/* Flèche précédente */
.vdc-lightbox-prev::before {
    transform: rotate(-135deg);
    margin-left: 4px;
}

/* Flèche suivante */
.vdc-lightbox-next::before {
    transform: rotate(45deg);
    margin-right: 4px;
}

/* Sécurité si Divi ajoute un ::after */
.vdc-lightbox-nav::after {
    display: none !important;
    content: none !important;
}

.vdc-lightbox-nav:hover {
    background: #f5057f !important;
    color: #fff !important;
}

.vdc-lightbox-counter {
    position: fixed;
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%);
    padding: 7px 13px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
}


/* =========================================================
   RESPONSIVE GALERIE
========================================================= */

@media screen and (max-width: 1280px) {
    .vdc-gallery-masonry {
        column-count: 3;
    }
}

@media screen and (max-width: 980px) {
    .vdc-gallery-section--masonry {
        margin: 0;
        padding: 0;
    }

    .vdc-gallery-masonry {
        column-count: 2;
        column-gap: 18px;
    }

    .vdc-masonry-item {
        margin-bottom: 18px;
        border-radius: 12px;
    }

    .vdc-masonry-item--video iframe {
        min-height: 440px;
    }

    .vdc-lightbox {
        padding: 64px 24px;
    }

    .vdc-lightbox-nav {
        width: 44px;
        height: 44px;
        font-size: 38px;
    }

    .vdc-lightbox-prev {
        left: 14px;
    }

    .vdc-lightbox-next {
        right: 14px;
    }

    .vdc-lightbox-close {
        top: 16px;
        right: 16px;
        width: 42px;
        height: 42px;
        font-size: 30px;
    }
}

@media screen and (max-width: 600px) {
    .vdc-gallery-section--masonry {
        margin: 0;
        padding: 0;
    }

    .vdc-gallery-title {
        font-size: 23px !important;
        margin-bottom: 24px !important;
    }

    .vdc-gallery-masonry {
        column-count: 2;
    }

    .vdc-masonry-item {
        margin-bottom: 16px;
    }

    .vdc-lightbox {
        padding: 58px 14px;
    }

    .vdc-lightbox-stage {
        max-height: calc(100vh - 120px);
    }

    .vdc-lightbox-stage img {
        max-height: calc(100vh - 120px);
    }

    .vdc-lightbox-stage iframe {
        width: 92vw !important;
        height: 78vh !important;
    }

    .vdc-lightbox-nav {
        top: auto;
        bottom: 18px;
        transform: none;
        width: 42px;
        height: 42px;
        font-size: 34px;
    }

    .vdc-lightbox-prev {
        left: 18px;
    }

    .vdc-lightbox-next {
        right: 18px;
    }

    .vdc-lightbox-counter {
        bottom: 26px;
    }
}





/* =========================================================
   FIX LIGHTBOX AU-DESSUS DU HEADER DIVI
========================================================= */

html.vdc-lightbox-is-open,
body.vdc-lightbox-is-open {
    overflow: hidden !important;
}

/* Lightbox au-dessus de tout */
.vdc-lightbox {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483647 !important;
}

.vdc-lightbox[aria-hidden="false"] {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 2147483647 !important;
}

/* On masque vraiment le header Divi pendant la lightbox */
html.vdc-lightbox-is-open #main-header,
html.vdc-lightbox-is-open #top-header,
html.vdc-lightbox-is-open .et-l--header,
html.vdc-lightbox-is-open .et_pb_section--fixed,
html.vdc-lightbox-is-open .et_pb_sticky,
html.vdc-lightbox-is-open header,
body.vdc-lightbox-is-open #main-header,
body.vdc-lightbox-is-open #top-header,
body.vdc-lightbox-is-open .et-l--header,
body.vdc-lightbox-is-open .et_pb_section--fixed,
body.vdc-lightbox-is-open .et_pb_sticky,
body.vdc-lightbox-is-open header {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}


























.pagination.clearfix {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-top: 40px;
}

.pagination.clearfix .alignleft,
.pagination.clearfix .alignright {
    float: none !important;
    width: auto !important;
}

/* Divi met "suivantes" dans alignleft : on l'envoie à droite */
.pagination.clearfix .alignleft {
    order: 2;
    margin-left: auto;
    text-align: right;
}

/* Divi met "précédentes" dans alignright : on l'envoie à gauche */
.pagination.clearfix .alignright {
    order: 1;
    margin-right: auto;
    text-align: left;
}

.pagination.clearfix a {
    color: #ff1493;
    text-decoration: none;
    font-weight: 400;
}

.pagination.clearfix a:hover {
    text-decoration: underline;
}









.et_pb_search .et_pb_icon {
	cursor: pointer;
	transition:
		transform 0.25s ease,
		opacity 0.25s ease;
}

.et_pb_search .et_pb_icon:hover {
	opacity: 0.75;
}

.et_pb_search .et_pb_icon:hover .et-pb-icon {
	transform: scale(1.15);
	color: #000;
}

.et_pb_search .et_pb_icon:active {
	transform: scale(0.95);
}

.et_pb_search .et_pb_icon:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}