/*** General CSS ***/

/*-------------- ghost -----------*/

body{
	background-color: #fbf8f1;
}

#sp-main-body {
	padding: 50px 0;
}

a {
	color: #407f7f;
}

#sp-header .logo {
	height: auto;
}

/* --- Styles Généraux pour les Titres --- */

h1, h2, h3 {
    font-family: 'Georgia', serif;
    color: #383838;
    margin-top: 0.5em;
    margin-bottom: 1em;
    line-height: 1.2;
}

h1 {
    font-size: 1.8em;
    color: #005615;
    border-bottom: 2px solid #D4D8BC;
    font-weight: 700;
    text-transform: capitalize;
}

/* --- Style Spécifique H2 (Sous-titres de Section, Catégories) --- */

h2 {
    font-size: 1.4em;
    color: #5C622C;
    font-weight: 600;
    padding-left: 10px;
    border-left: 4px solid #F0C42F;
}

/* --- Style Spécifique H3 (Titres de Blocs, Caractéristiques) --- */

h3 {
    font-size: 1.2em;
    color: #797C6C; 
    font-style: italic;
    font-weight: 500;
}


.sp-megamenu-parent > li.active > a, .sp-megamenu-parent > li.active:hover > a, .sp-megamenu-parent > li:hover > a {
	color: #407f7f!important;
}

.logoImg img{
	margin-bottom: 15px;
}

.g-recaptcha{
	overflow: hidden;
}

.sppb-icons-group-list li a {
	display: inline-block;
	position: relative;
}

.sppb-icons-label-text.right {
	display: block;
	position: absolute;
	bottom: -25px;
	left: 50%;
	transform: translateX(-50%);
}

.page-header {
    text-align: center;
}

.page-header h1 {
    font-family: 'Playfair Display', serif;
    font-size: 2rem;
    color: #407f7f;
    text-align: center !important;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
    margin: 50px 0;
    padding: 10px;
    border-bottom: 2px solid #074742 ;
    display: inline-block;
    transition: transform 0.3s ease, color 0.3s ease;
}



.page-header h1:hover {
    color: #e74c3c;
    transform: scale(1.05);
}

.page-content h2 {
    font-family: 'Roboto', sans-serif;
    font-size: 1.5rem;
    color: #2c3e50;
    text-align: center;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
    margin: 30px 0;
    padding: 5px;
    border-bottom: 1px solid #3498db;
    transition: color 0.3s ease;
}


.flip-box-inner h2{
	-moz-box-shadow : 2px 2px 4px #b5a49f;
	-webkit-box-shadow : 2px 2px 4px #b5a49f;
	box-shadow : 2px 2px 4px #b5a49f;
	border:1px solid #E1D5E2;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	-khtml-border-radius: 15px;
	background: rgba(64, 127, 127, 0.9);
	padding: 10px;
	color: #fff;
}

.bouton_flip:hover{
	color: #187CB7;
	background: #fff;
}

#sp-bottom {
	background-color: #407f7f!important;
}

#sp-bottom .sp-module ul > li > a, #sp-footer a {
	color: #fff!important;
}

#sp-bottom .sp-module ul > li > a:hover, #sp-footer a:hover  {
	color: #000!important;
}

#sp-footer {
	background-color: #074742!important;
}

#modvisform114autoriselbl {
	float: none;
	width: 90%;
	display: inline-block;
	font-size: 12px;
}

#field5 {
	float: left;
	margin: 12px 8px 0 0;
}

#about .sppb-row {
	align-items: center;
}

/* =======================================
                    Boutique
   ======================================= */
.orderby-displaynumber {
	display: none;
}

/*
   1. BASE ET CONTENEUR GLOBAL
 */

.browse-view .row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 20px 0;
    align-items: stretch; 
	justify-content: space-around;
}

.row .clear {
    display: none;
}

/* =======================================
   2. CARTE PRODUIT (.product)
   ======================================= */

.product {
    width: 40%; 
    box-sizing: border-box;
    max-width: 400px;
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s, box-shadow 0.3s;
}

.product:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.spacer.product-container {
    padding: 15px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.vertical-separator {
    border-right: none !important;
}

/* =======================================
   3. TYPOGRAPHIE ET PRIX
   ======================================= */

.vm-product-descr-container-1 h2 {
    font-size: 1.25em;
    font-weight: 600;
    margin: 5px 0 10px 0;
	text-align: center;
}

.vm-product-descr-container-1 h2 a {
    color: #2F4F4F; 
    text-decoration: none;
    transition: color 0.2s;
}

.vm-product-descr-container-1 h2 a:hover {
    color: #B8860B;
}

/* Prix */
.product-price .PricesalesPrice {
    font-size: 1.3em;
    font-weight: bold;
    color: #B8860B;
	text-align: center;
}

.product-price .vm-price-desc {
    font-weight: normal;
    color: #666;
    font-size: 0.8em;
}

.price-crossed {
    text-decoration: line-through;
    color: #aaa;
    font-size: 0.9em;
}

/* Description rapide */
.product_s_desc {
    font-size: 0.9em;
    color: #555;
    margin-bottom: 10px;
}

.category-view .browse-view .product_s_desc, ..category-view .product_s_desc p {
    display: none;
}

.vmshipment_name{
	display: none;
}

/* Ciblage spécifique du titre dans le formulaire */
.form-validate h1 {
    background-color: #fff9f0;     
    border-left: 5px solid #d4a017;
    color: #4a4a4a;                
    font-family: 'Segoe UI', Roboto, sans-serif;
    font-size: 1.1rem;                 
    line-height: 1.6;
    padding: 20px 25px;
    margin: 20px 0;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    text-align: left;    
	text-transform: initial;
}

.form-validate h1 strong {
    font-weight: 600;
}

.form-validate h1 a {
    color: #d4a017;
    text-decoration: underline;
    font-weight: bold;
}

.vm-shipment-header-select{
	display: none;
}

/* Container principal */
.billto-shipto {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 20px;
    font-family: Arial, sans-serif;
}

/* Colonnes Gauche et Droite */
.billto-shipto .width50 {
    flex: 1;
    min-width: 300px; /* Force le passage à la ligne sur mobile */
    background: #fdfdfd;
    border: 1px solid #eee;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

/* Titres des sections (Détails de facturation / expédition) */
.billto-shipto .width50 > span:first-child {
    display: block;
    font-weight: bold;
    font-size: 1.1rem;
    color: #333;
    border-bottom: 2px solid #d4a017; /* Rappel doré huile d'olive */
    padding-bottom: 10px;
    margin-bottom: 15px;
    text-transform: uppercase;
}

/* Bloc d'adresse (output-billto) */
.output-billto {
    line-height: 1.8;
    color: #555;
    margin-bottom: 15px;
}

/* Style des valeurs individuelles */
.values {
    display: inline-block;
    margin-right: 5px;
}

/* Spécifique pour l'adresse mail et les CGV */
.vm2-email, .vm2-agreed {
    font-style: italic;
    color: #777;
    font-size: 0.9rem;
}

/* Bouton Modifier / Editer */
a.details {
    display: inline-block;
    background-color: #d4a017;
    color: #fff !important;
    padding: 8px 15px;
    border-radius: 4px;
    text-decoration: none;
    font-size: 0.85rem;
    transition: background 0.3s ease;
    margin-top: 10px;
}

a.details:hover {
    background-color: #b88a12;
    text-decoration: none;
}

/* Nettoyage des anciens flottants */
.floatleft {
    float: none !important; 
}
.clear {
    clear: both;
}

/* Responsive : ajustement pour tablettes */
@media (max-width: 768px) {
    .billto-shipto {
        flex-direction: column;
    }
}

/* =======================================
   4. IMAGE ET BOUTONS
   ======================================= */

/* Image */
.vm-product-media-container {
    text-align: center;
    margin-bottom: 15px;
}

.vm-product-media-container img {
    max-width: 100%;
    height: auto;
    border-radius: 8px; 
    margin: 0 auto;
    display: block;
    transition: transform 0.4s ease-in-out, filter 0.4s ease-in-out, box-shadow 0.4s ease-in-out;
    filter: brightness(0.95) saturate(1.05); 
}

.vm-product-media-container img:hover {
    transform: scale(1.05); 
    filter: brightness(1.1) saturate(1.2); 
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); 
}

/* Zone Prix et Ajout au Panier */
.vm3pr-2, .vm3pr-0 {
    margin-top: auto;
}

.product form {
    display: block;
    width: 100%;
}

/* Bouton Ajouter au panier */
.addtocart-button input[type="submit"] {
    background-color: #3A623A;
    color: white;
    padding: 10px 15px;
    border: none;
    border-radius: 5px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.2s;
    width: 100%; 
    margin-top: 10px;
}

.addtocart-button input[type="submit"]:hover {
    background-color: #2F4F4F;
}

/* Bouton Détails */
.vm-details-button a {
    display: block;
    text-align: center;
    padding: 8px 15px;
    margin-top: 10px;
    border: 1px solid #B8860B;
    color: #B8860B;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.2s, color 0.2s;
}

.vm-details-button a:hover {
    background-color: #B8860B;
    color: white;
}

/* ==========================================================
   OPTIMISATION DU PANIER (QUANTITÉ ET BOUTONS)
   ========================================================== */

.addtocart-bar {
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	display: flex;
	justify-content: center;
}

/* =======================================
   2. CHAMP DE QUANTITÉ (Quantity Input)
   ======================================= */
.quantity-box {
    flex-shrink: 0;
}

.quantity-input {
    width: 50px !important;
    height: 35px;
    text-align: center;
    margin-left: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 0 5px;
    box-sizing: border-box;
}

/* =======================================
   3. CONTENEUR DES BOUTONS PLUS/MOINS
   ======================================= */
.quantity-controls {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
}

/* =======================================
   4. STYLE DES BOUTONS PLUS/MOINS
   ======================================= */
.quantity-controls.quantity-plus,
.quantity-controls.quantity-minus {
    color: transparent; 
    font-size: 0; 
    display: block;
    width: 20px;
    height: 18px;
    padding: 0;
    margin: 0;
    line-height: 0.5;
    background-color: #f8f8f8;
    border: 1px solid #ccc;
    cursor: pointer;
    text-align: center;
    font-weight: bold;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 80%;
}

.quantity-controls.quantity-plus {
    border-radius: 4px 4px 0 0; 
    /* Symbole PLUS (+) en SVG */
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23333' d='M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z'/%3E%3C/svg%3E");
}

.quantity-controls.quantity-minus {
    border-radius: 0 0 4px 4px; 
    border-top: none; 
    /* Symbole MOINS (-) en SVG */
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23333' d='M19 13H5v-2h14v2z'/%3E%3C/svg%3E");
}

/* 5. Bouton Ajouter au panier */
.addtocart-button {
    display: block;
    margin: 0 auto 10px;
}

/* =======================================
   PAGE PRODUIT
   ======================================= */

.vm-product-container {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    align-items: center;
}

/* Conteneur Média (Image) */
.productdetails .vm-product-media-container {
    flex: 0 0 40%; 
    max-width: 40%;
}

/* Conteneur Détails (Prix, Acheter) */
.vm-product-details-container {
    flex: 1; 
    min-width: 300px;
}

.main-image img {
    max-width: 100%;
    height: auto;
    display: block;
}

.product-short-description {
    margin-bottom: 20px;
    padding: 15px;
    border-left: 5px solid #F0C42F;
    background-color: #f9f9f9;
}

.product-description {
    clear: both;
    padding-top: 20px;
    border-top: 1px solid #ccc;
}
.product-description .title {
    font-weight: bold;
    font-size: 1.2em;
    display: block;
    margin-bottom: 10px;
}

.spacer-buy-area .PricesalesPrice {
	text-align: left;
	margin-bottom: 25px;
}

/* ====================================================================
   1. STYLES GÉNÉRAUX & DESKTOP (Modernisation du Tableau)
   ==================================================================== */

.vm-fieldset-pricelist {
    padding: 0;
    border: none;
    margin: 20px 0;
}

.cart-summary {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    margin-bottom: 30px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    border-radius: 8px;
    overflow: hidden;
}

/* En-têtes (Thead) */
.cart-summary th {
	background-color: #f7f7f7;
	color: #333;
	font-weight: 600;
	padding: 15px 10px;
	text-align: left;
	border-bottom: 2px solid #ddd;
	text-transform: uppercase;
	font-size: 0.9em;
	vertical-align: middle;
	display: table-cell;
	min-width: 150px;
}

/* Lignes de produit */
.cart-summary tr.sectiontableentry1, 
.cart-summary tr.sectiontableentry2 {
    background-color: white;
    transition: background-color 0.3s;
}
.cart-summary tr.sectiontableentry1:hover, 
.cart-summary tr.sectiontableentry2:hover {
    background-color: #f0fff0;
}

/* Cellules de données */
.cart-summary td {
    padding: 15px 10px;
    border-bottom: 1px solid #eee;
    vertical-align: middle;
}

/* Colonne Nom du produit */
.vm-cart-item-name {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 500;
}
.cart-images img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 4px;
}

/* Prix */
.vm-cart-item-basicprice,
.vm-cart-item-total {
    font-weight: bold;
    color: #005615;
    font-size: 1.1em;
}
.line-through {
    text-decoration: line-through;
    color: #999;
    font-size: 0.9em;
    font-weight: normal;
    display: block;
}

/* Quantité et boutons */
.quantite {
    display: flex;
    align-items: center;
    gap: 5px;
}
.quantity-input {
    width: 40px;
    padding: 5px;
    text-align: center;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.vmicon {
    border: none;
    cursor: pointer;
    padding: 8px;
    border-radius: 4px;
    transition: background-color 0.3s;
}
.vm2-add_quantity_cart {
    background-color: #f0c42f;
    color: #333;
}
.vm2-remove_from_cart {
    background-color: #ffcccc; 
    color: #cc0000;
}

/* Total et Sommaire (Pied de tableau) */
.cart-summary tr:last-child strong {
    font-size: 1.3em;
    color: #cc0000;
}
.cart-summary tr:last-child td {
    border-bottom: none;
    padding-top: 20px;
}

/* Style commun pour tous les boutons d'action du panier */
.bouton-panier {
    padding: 8px 10px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1.1em;
    height: 36px;
    width: 36px;
    display: inline-flex!important; 
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    display: inline-block;
}

.vmicon.vm2-add_quantity_cart,
.vmicon.vm2-remove_from_cart {
    display: none !important;
}

/* Bouton de Mise à Jour (fa-redo) */
.bouton-panier-maj {
    background-color: #f0c42f;
    color: #333;
}

.bouton-panier-maj:hover {
    background-color: #e0b020;
    transform: scale(1.05);
}

/* Bouton de Suppression (fa-trash-alt) */
.bouton-panier-supprimer {
    background-color: #d9534f;
    color: white;
    margin-left: 5px;
}

.bouton-panier-supprimer:hover {
    background-color: #c9302c;
    transform: scale(1.05);
}

/* ====================================================================
   Ajouter au panier info
   ==================================================================== */

#fancybox-outer {
    z-index: 10000; 
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    border-radius: 8px;
    overflow: hidden;
}

#fancybox-content {
    background: #ffffff;
    padding: 20px 30px;
    box-sizing: border-box;
    font-family: Arial, sans-serif;
}

#fancybox-content h4 {
    color: #005615;
    font-size: 1em;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 0px;
    padding-bottom: 0px;
    border-bottom: 1px solid #eee;
    text-align: center;
}

/* ====================================================================
   2. Boutons d'Action (Responsive)
   ==================================================================== */

/* Conteneur des boutons */
#fancybox-content > div:last-child {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 15px;
    padding-top: 10px;
}

.vm-btn {
    text-decoration: none;
    padding: 10px 18px;
    border-radius: 6px;
    font-weight: bold;
    font-size: 1em;
    text-align: center;
    transition: background-color 0.2s, color 0.2s;
    flex-grow: 1; 
}


.vm-btn-primary.showcart {
    background-color: #f0c42f;
    color: #333;
    margin-left: 10px;
}

.vm-btn-primary.showcart:hover {
    background-color: #e0b020;
    color: #333;
}


.vm-btn-secondary.continue_link {
    background-color: #f4f4f4;
    color: #555;
    border: 1px solid #ddd;
}

.vm-btn-secondary.continue_link:hover {
    background-color: #e8e8e8;
    color: #333;
}

/* ====================================================================
   3. RESPONSIVE (Petits Écrans)
   ==================================================================== */

@media (max-width: 450px) {
    
    /* Empilement des boutons */
    #fancybox-content > div:last-child {
        flex-direction: column;
        gap: 15px;
    }
    
    .vm-btn {
        width: 100%; 
        margin-left: 0 !important;
    }
    
    #fancybox-content h4 {
        font-size: 1.1em;
    }
}

/* ====================================================================
   4. Fermeture de la Boîte
   ==================================================================== */

#fancybox-close {
	background-color: #d9534f;
	color: white;
	font-size: 18px;
	width: 28px;
	height: 28px;
	text-align: center;
	line-height: 28px;
	border-radius: 50%;
	top: 3px;
	right: 3px;
	opacity: 1 !important;
	display: block;
} 

/* ====================================================================
   1. Paiement
   ==================================================================== */

.vm-payment-plugin-single {
    margin-bottom: 12px;
    position: relative;
    display: flex;
    align-items: center;
}


.vm-payment-plugin-single input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
}

.vm-payment-plugin-single label {
    display: block;
    cursor: pointer;
    border: 2px solid #ccc;
    border-radius: 8px;
    padding: 5px; 
    width: 100%;
    transition: all 0.2s ease-in-out;
}


.vm-payment-plugin-single input[type="radio"]:checked + label {
    border-color: #005615; 
    background-color: #f0fff0;
    box-shadow: 0 0 5px rgba(0, 86, 21, 0.2);
}

/* ====================================================================
   2. Alignement du Contenu du Label (Logo + Texte)
   ==================================================================== */

.vmpayment {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 5px;
}

.vmCartPaymentLogo {
    flex-shrink: 0;
    line-height: 0;
}

.vmCartPaymentLogo img {
    max-height: 40px;
    width: auto;
    display: block;
    margin-top: 5px;
}

.vmpayment_name {
    flex-grow: 1;
    font-size: 1em;
    font-weight: 500;
    color: #333;
}

/* ====================================================================
   3. RESPONSIVE (Mobile : Empilement)
   ==================================================================== */

@media screen and (max-width: 600px) {
    
    .vmpayment {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }

    .vmCartPaymentLogo img {
        max-height: 30px;
    }

    .vmpayment_name {
        font-size: 0.9em;
    }
}

/* ====================================================================
   1. Mise en forme du Mode de Paiement ACTUELLEMENT SÉLECTIONNÉ
   ==================================================================== */

td[colspan="4"] {
    vertical-align: top;
    padding: 20px;
}


td[colspan="4"] > h3 {
    font-size: 0.9em;
    color: #333;
    border-bottom: 2px solid #f0c42f;
    padding-bottom: 5px;
    margin-bottom: 15px;

}

/
td[colspan="4"] > .vmCartPaymentLogo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 15px;
    border: 2px solid #005615;
    border-radius: 8px;
    background-color: #f0fff0;
    margin-bottom: 20px;
    font-weight: 600;
}

td[colspan="4"] > .vmCartPaymentLogo img {
    max-height: 40px;
    width: auto;
}

td[colspan="4"] > br {
    display: none;
}

.vm-payment-header-selected {
    font-size: 1em !important;
    font-style: italic;
    color: #666;
    border-bottom: none !important;
    margin-top: 10px;
    margin-bottom: 10px;
    text-transform: none;
    font-weight: 400;
}


/* ====================================================================
   2. paiement choisi
   ==================================================================== */

.vm-payment-shipment-select {
    border: none;
    padding: 0;
    margin: 0;
    width: 100%;
}


.vm-payment-plugin-single {
    margin-bottom: 12px;
    position: relative;
    display: flex;
    align-items: center;
}

.vm-payment-plugin-single input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
}

.vm-payment-plugin-single label {
    display: block;
    cursor: pointer;
    border: 2px solid #ccc;
    border-radius: 8px;
    padding: 5px;
    width: 100%;
    transition: all 0.2s ease-in-out;
}

.vm-payment-plugin-single input[type="radio"]:checked + label {
    border-color: #005615;
    background-color: #f0fff0;
    box-shadow: 0 0 5px rgba(0, 86, 21, 0.2);
}

.vmpayment {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 5px;
}

.vmCartPaymentLogo img {
    max-height: 40px;
    width: auto;
    display: block;
    margin-top: 5px;
}

/* ====================================================================
   3. RESPONSIVE (Mobile : Empilement)
   ==================================================================== */

@media screen and (max-width: 600px) {
    
    td[colspan="4"] {
        padding: 10px;
    }
    
    .vmpayment {
        flex-direction: column; 
        align-items: flex-start;
        gap: 5px;
    }

    td[colspan="4"] > .vmCartPaymentLogo {
        flex-direction: column; 
        align-items: flex-start;
        gap: 5px;
    }
    
    td[colspan="4"] > .vmCartPaymentLogo img {
        max-height: 30px;
    }

    .vmpayment_name {
        font-size: 0.9em;
    }
}

.vm-row-payment-summary {
    border-top: 1px solid #ddd;
}

.vm-row-payment-summary .vm-summary-info {
    padding: 15px 10px;
    vertical-align: top;
    text-align: left;
}

.vm-selected-payment-header h3 {
    font-size: 1.1em;
    color: #444;
    margin: 0 0 5px 0;
    padding: 0;
}

.vm-payment-name-selected {
    display: block;
    font-weight: 600;
    color: #005615;
    margin-bottom: 10px;
}

.vm-edit-link {
    display: block;
    color: #007bff;
    text-decoration: none;
    font-size: 0.9em;
}

.vm-cart-summary-tax,
.vm-cart-summary-discount,
.vm-cart-summary-total {
    text-align: right;
    font-weight: 600;
    padding: 15px 10px;
}

/* ===================================================================
                     Boutons commander
======================================================================*/
.checkout-button-top {
    display: block;
    text-align: center;
    margin: 20px 0 30px 0;
}

.checkout-button-top #checkoutFormSubmit, .vm-button-correct {
    border: none;
    cursor: pointer;
    background-color: #3A623A;
    color: white;
    font-size: 1.25em;
    font-weight: bold;
    text-transform: uppercase;
    padding: 15px 30px;
    border-radius: 8px;
    display: inline-block;
    width: 80%;
    max-width: 400px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    transition: background-color 0.3s ease, box-shadow 0.3s ease, transform 0.1s;
}

.vm-button-correct{
	font-size: 0.9em;
	width: 20%;
}

.checkout-button-top #checkoutFormSubmit:hover, .vm-button-correct:hover {
    background-color: #2F4F4F;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);
    transform: translateY(-2px);
}

.checkout-button-top #checkoutFormSubmit:active {
    transform: translateY(0);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    background-color: #005615;
}

.checkout-button-top #checkoutFormSubmit span {
    display: inline-block;
}

/* ==========================================================
   FORMULAIRE D'ADRESSE ANONYME (#userForm)
   Cible : components/com_virtuemart/views/user/tmpl/edit_address.php
   ========================================================== */

/* Structure du formulaire principal */
#userForm {
    margin-top: 20px;
    padding: 30px;
    background-color: #f7f7f7;
    border: 1px solid #ddd;
    border-radius: 10px;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.05);
}

/* Titre principal de la page (h1) */
.checkout-view h1 {
    font-size: 2em;
    color: #2F4F4F;
    margin-bottom: 20px;
    text-align: center;
}

/* Fieldset/Section Title (h2) */
#userForm fieldset h2 {
    font-size: 1.5em;
    color: #B8860B; /* Or Olive pour le titre de section */
    border-bottom: 2px solid #eee;
    padding-bottom: 10px;
    margin-bottom: 30px;
    font-weight: 700;
}

/* Style des champs (issus de loadTemplate('userfields')) */
/* Nous supposons que le template 'userfields' contient des DIVs ou des P pour chaque champ */
#userForm input[type="text"],
#userForm input[type="email"],
#userForm input[type="password"],
#userForm select,
#userForm textarea {
    width: 100%;
    max-width: 400px; /* Limite la largeur des champs pour la lisibilité */
    padding: 12px;
    margin-top: 5px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-sizing: border-box;
    font-size: 1em;
    transition: border-color 0.3s, box-shadow 0.3s;
    background-color: #ffffff;
}

#userForm input:focus,
#userForm select:focus,
#userForm textarea:focus {
    border-color: #3A623A;
    box-shadow: 0 0 5px rgba(58, 98, 58, 0.2);
    outline: none;
}

/* Captcha wrapper */
#recaptcha_wrapper {
    margin-top: 25px;
    padding: 15px;
    border: 1px dashed #ccc;
    border-radius: 6px;
    background-color: #fff;
}
.userfields_info {
    font-size: 0.9em;
    color: #666;
    display: block;
    margin-bottom: 10px;
}

/* Conteneur des boutons de contrôle */
.control-buttons {
    display: flex;
    flex-wrap: wrap; /* Gère le responsive */
    gap: 15px;
    align-items: center;
    justify-content: flex-start; /* Aligner à gauche */
    margin-top: 40px;
    padding-top: 20px;
    border-top: 1px solid #ddd;
}

/* Texte d'information sur l'enregistrement/invité */
.control-buttons .reg_text {
    flex-basis: 100%; /* Prend toute la ligne */
    margin-bottom: 10px;
    font-size: 1.1em;
    font-weight: 500;
    color: #3A623A;
    padding: 10px 0;
}

/* Style de base des boutons */
.control-buttons button {
    height: 48px;
    padding: 0 25px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: bold;
    font-size: 1em;
    transition: all 0.2s ease-in-out;
}

/* Boutons d'action positive (Enregistrement, Sauvegarde, Commande en Invité) */
/* Cible : .vm-button-correct (qui est le style par défaut si on n'est PAS en checkout/ST) */
.control-buttons button.vm-button-correct,
.control-buttons button[name="register"] {
    background-color: #3A623A; /* Vert Olive Fort */
    color: white;
    text-transform: uppercase;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.control-buttons button.vm-button-correct:hover,
.control-buttons button[name="register"]:hover {
    background-color: #2F4F4F;
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
}

/* Bouton "Checkout as Guest" (Action secondaire importante) */
.control-buttons button[name="save"] {
    background-color: #f0c42f; /* Jaune/Doré */
    color: #333;
    font-weight: 600;
}
.control-buttons button[name="save"]:hover {
    background-color: #e0b020;
    transform: translateY(-1px);
}

/* Bouton d'Annulation (Action neutre/négative) */
.control-buttons button.default,
.control-buttons button[type="reset"] {
    background-color: #ddd;
    color: #555;
    font-weight: 500;
}
.control-buttons button.default:hover,
.control-buttons button[type="reset"]:hover {
    background-color: #ccc;
    color: #333;
}

/* ====================================================================
   2. MEDIA QUERY (Mobile : max-width: 768px)
   ==================================================================== */
@media screen and (max-width: 768px) {
    
    .cart-summary thead {
        display: none;
    }

    .cart-summary, 
    .cart-summary tbody, 
    .cart-summary tr, 
    .cart-summary td {
        display: block;
        width: 100%;
    }

    .cart-summary tr {
        margin-bottom: 20px;
        border: 1px solid #ddd;
        border-radius: 8px;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
        padding: 10px 0;
    }

    .cart-summary td {
        text-align: right;
        padding: 8px 15px;
        border-bottom: none;
        position: relative;
    }

    .cart-summary td::before {
        content: attr(data-label);
        float: left;
        font-weight: 600;
        text-transform: uppercase;
        color: #777;
        font-size: 0.9em;
    }

    .vm-cart-item-name {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        padding-bottom: 15px;
        border-bottom: 1px solid #eee;
    }
    .vm-cart-item-name a {
        font-size: 1.1em;
        font-weight: bold;
    }
    .vm-cart-item-name::before {
        display: none;
    }


    .cart-summary tr[class*="sectiontableentry"]:nth-last-child(1),
    .cart-summary tr[class*="sectiontableentry"]:nth-last-child(2),
    .cart-summary tr[class*="sectiontableentry"]:nth-last-child(3) {
        display: table-row; 
    }

    .cart-summary tr[class*="sectiontableentry"] td {
        display: table-cell;
        text-align: right;
        width: auto;
    }
    
}
/* =======================================
   5. MEDIA QUERIES (RESPONSIVE)
   ======================================= */

/* Tablette et petits ordinateurs (2 produits par ligne) */
@media (min-width: 600px) {
    .productdetails .product {
        /* Calcule 50% de la largeur moins la moitié de l'espace (gap) 
        width: calc(50% - 10px); */
    }
}

/* Ordinateurs de bureau (3 ou 4 produits par ligne) */
@media (min-width: 992px) {

}

@media screen and (max-width: 768px) {

    /* panier*/
    table.cart-summary, 
    table.cart-summary tbody, 
    table.cart-summary tr, 
    table.cart-summary td {
        display: block !important;
        width: 100% !important;
        float: none !important;
    }
	
	table.cart-summary .no-mobile, #cart-view .no-mobile{
		display: none!important;
	}
	
    table.cart-summary th {
        display: none !important;
    }

    table.cart-summary tr.sectiontableentry1, 
    table.cart-summary tr.sectiontableentry2 {
        border: 1px solid #ccc;
        margin-bottom: 15px;
        padding: 10px;
        background: #fff;
    }

	table.cart-summary td[data-label].vm-cart-item-name {
		text-align: center !important;
		padding: 0 !important;
	}
		
    table.cart-summary td[data-label] {
        text-align: right !important;
        padding-left: 50% !important;
        position: relative;
        border-bottom: 1px solid #eee;
    }

    table.cart-summary td[data-label]::before {
        content: attr(data-label);
        position: absolute;
        left: 10px;
        width: 45%;
        text-align: left;
        font-weight: bold;
        color: #d4a017; /* Votre couleur dorée */
    }

    /* 6. Nettoyage des lignes de total (on cache les cellules vides) */
    table.cart-summary td:not([data-label]) {
 
    }
    
    /* On ré-affiche quand même la cellule qui contient le montant total */
    table.cart-summary tr.sectiontableentry2 td:last-child,
    table.cart-summary tr.sectiontableentry1 td:last-child {
        display: block !important;
        text-align: right !important;
        background: #fdf5e6;
        font-weight: bold;
    }

    /* Style des cellules */
    .cart-summary td {
        text-align: right !important; /* On aligne les valeurs à droite */
        padding: 8px 5px;
        position: relative;
        border-bottom: 1px solid #f0f0f0;
        min-height: 35px;
    }

    /* On insère le libellé (Nom, Réf, Quantité) à gauche via le data-label */
    .cart-summary td[data-label]::before {
        content: attr(data-label);
        float: left;
        font-weight: bold;
        text-transform: uppercase;
        font-size: 0.75rem;
        color: #666;
    }

    /* Cas spécifique de l'image et du nom du produit */
    .vm-cart-item-name {
        text-align: center !important;
        background: #f9f9f9;
        margin: -10px -10px 10px -10px;
        padding: 15px !important;
        border-radius: 8px 8px 0 0;
    }

    .vm-cart-item-name img {
        display: block;
        margin: 0 auto 10px;
        max-width: 150px;
        height: auto;
		width: 100%;
    }

    /* Gestion des lignes de total (qui ont des colspan) */
    .cart-summary td[colspan] {
        text-align: right !important;
        font-weight: bold;
        border: none;
    }

    /* On cache les colonnes vides ou les espaces de séparation inutiles sur mobile */
    .cart-summary td[colspan="4"] {
        display: none;
    }

    /* Amélioration visuelle des boutons de quantité */
    .quantite {
        display: flex;
        justify-content: flex-end;
        gap: 5px;
    }
    
    .quantity-input {
        height: 30px;
        border: 1px solid #ccc;
        text-align: center;
    }

    /* Section livraison et paiement */
    .vm-summary-info, .vm-shipment-select {
        text-align: left !important;
    }
    
    .vm-shipment-plugin-single label {
        display: block;
        padding: 10px;
        background: #eee;
        margin-top: 5px;
        border-radius: 4px;
    }
	/*--------------------------------------------------------*/
	.browseCategoryImage{
		display: none;
	}
}
/*-------------------------------------*/

body {
    line-height: 1.9em;
    color: #333;
}
a:hover, a:focus, a:active {
    color: #4943ac;
}

/*** Header Area ***/
/* Header Menu */
#sp-header {
    top: 0;
    background: rgba(255, 255,255, 0.8);
}
#sp-header.header-sticky {
    position: fixed;
    top: 0;
    padding: 0;
  	background: rgba(255, 255,255, 0.8);
  	box-shadow: 0 0 4px 0 rgb(0 0 0 / 10%);
}
body:not(.home) #sp-header {
    background: rgba(255, 255,255, 0.8);
    position: static;
}
body:not(.home) #sp-header.header-sticky {
    position: fixed;    
}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item>a {
    color: #252525;
  	font-size: 14px !important;
    font-weight: 400 !important;
    padding: 10px 0;
}
.sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span {
    text-transform: capitalize;
    position: relative;
    color: #c25056;
}
.sp-megamenu-parent>li.active>a {
    font-weight: 600;
}

/* Canvas Menu */
.offcanvas-menu .offcanvas-inner .menu-child > li a {
    padding: 12px 10px !important;
    border-bottom: 1px solid rgba(197, 153, 153, 0.21);
    display: inherit;
}
.offcanvas-menu .offcanvas-inner ul.menu>li>a, .offcanvas-menu .offcanvas-inner ul.menu>li>span {
    font-size: 15px;
    font-weight: 500;
}
.burger-icon>span {
    background-color: #000;
}
.offcanvas-menu > .align-items-center {
    background: #fff;
}
.offcanvas-active .burger-icon>span, #modal-menu-toggler.active .burger-icon>span {
    background-color: #fff;
}

/*** Block Styles ***/
/* Button */
.btn,
.btn.btn-default,
.slider-btn a,
#modvisform114autoriselbl {
	float: none;
	width: 90%;
	display: inline-block;
	font-size: 12px;
}

.bouton{
	font-size: 14px;
	background: #004941 none repeat scroll 0 0;
	border: 1px solid #e1d5e2;
	border-radius: 6px;
	box-shadow: 2px 2px 4px #b5a49f;
	padding: 3px 8px !important;
	display: inline-block;
	color: #fff;
	transition: background-color 2s;
}

/* Slider */
#slider {
  	margin-top: -90px !important;
}
.slider .sppb-col-md-3 {
    background: rgba(3, 19, 34, 0.39);
}
.slider .sppb-row > div:nth-child(2) {
    z-index: 999;
} 


/* Dirived */
.dirived {
    margin: 0 auto;
}

/* Title */
.title {
    max-width: 700px;
    margin: 0 auto;
}
.title h3 {
    font-size: 43px;
    line-height: 45px;
    margin-bottom: 20px;
}
.title h6 {
    font-size: 19px;
    font-weight: 400;
    line-height: 1.2em;
    color: #000;
    font-style: italic;
}
.title p {
    color: #000;
}

/* SEARCH FORM */
.about-search {
    box-shadow: 0px 0px 20px 0px rgb(0 0 0 / 20%)!important;
    padding: 30px 25px 40px 25px;
}
#sr-checkavailability-form-130 .action {
    text-align: center;
    margin-top: 30px;
}
.search-hotel {
    z-index: 2!important;
}
.search-hotel .sppb-row-container {
    background: #fff;
    position: absolute;
    left: 0;
    right: 0;
    top: -70px;
    padding: 10px 20px 20px;
}
.search-hotel .action .btn-block {
    padding: 13px 25px;
    color: #fff;
    margin-top: -14px;
}
.search-hotel .checkin_module,
.search-hotel .checkout_module {
    height: 50px;
    line-height: 40px;
    border-radius:  0;
}
.search-hotel .checkin_module i,
.search-hotel .checkout_module i {
    margin-top: 12px;
}
.search-hotel .search-item label {
    color: #fff;
    font-size: 15px;
    font-weight: 700;
}
.search-hotel .reset {
    padding: 16px 45px;
}
.search-hotel button.primary i {
    font-size: 20px;
}
fieldset .row-fluid {
    float: left;
    width: 100%;
    margin-right: 0%;
}
fieldset .row-fluid:nth-child(4) {
    clear: left;
}
fieldset .row-fluid .row-fluid {
    width: 100%;
}
#coupon_code_check {
    padding: 8px 30px;
    display: inline-block;
    margin-top: 10px;
}

/* About */
.about-right-column {
    padding: 150px 40px 40px 40px;

}
.about-right-column:before {
    content: "";
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 80%;
    background-color: transparent;
    background-image: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.85) 100%);
    display: inline-block;
    position: absolute;
}
.about-title h4 {
    font-size: 43px;
    font-weight: 500;
    margin-bottom: 16px;
    text-transform: capitalize;
}
.about-title h6 {
    color: #000000;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2em;
}

/* Locations */
.locations-colum {
    border: 1px solid;
}
.locations-colum:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    display: inline-block;
    background-image: linear-gradient(180deg, rgba(255,255,255,0.16) 36%, #000000 100%);
}
.locations-colum .title-small {
    color: #ffffff;
    font-size: 17px;
}

/* Our */
.our {
    position: relative;
}
.our:before {
    content: "";
    top: 0;
    width: 100%;
    height: 110px;
    position: absolute;
    display: inline-block;
    background: #fff;
    left: 0;
    right: 0;
}
.our-colum-img {
    min-height: 300px;
}
.our-item {
    padding: 70px 20px;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #c19b77;
    background: #FFFAF2;
    padding: 70px 20px;
}
.our-item h4 {
    font-size: 36px;
    padding: 20px 0;
    position: relative;
    margin-top: 35px;
}
.our-item h4:before,
.our-item h4:after {
    content: "";
    position: absolute;
    display: inline-block;
    width: 90px;
    height: 1px;
    background: #000;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}
.our-item h4:after {
    top: inherit;
    bottom: 0;
}
.our-item:hover h4:before {
    transform: translateX(-15px);
}
.our-item:hover h4:after {
    transform: translateX(15px);
}

/* Discover */
.discover-column-left:after {
    position: absolute;
    display: inline-block;
    content: "";
    bottom: 0;
    width: 100%;
    height: 40%;
    margin: 0px 0px 0px 0px;
    padding: 50px 75px 25px 75px;
    background-color: transparent;
    background-image: linear-gradient(
180deg
, rgba(0,0,0,0) 0%, rgba(0,0,0,0.9) 100%);
}

/* Testimonial */
.quotes {
    opacity: .4;
}
.leaves {
    position: relative;
    margin-top: -20px;
}
.testimonital-social ul {
    padding-left: 0;
}
.testimonital-social ul li {
    list-style: none;
    display: inline-block;
}
.testimonital-social ul li a {
    display: inline-block;
    width: 50px;
    height: 50px;
    border-radius: 50%;
}
.testimonital-social ul li a:hover {
    background: #222 !important;
}
.testimonital-social ul li a em {
    font-size: 0;
}
.testimonital-social ul li a em:before {
    font-size: 20px;
    color: #fff;
    padding: 17px;
    line-height: 50px;
}

/* Together */
.together h1 span {
    line-height: 100px;
    font-size: 70px;
}

/* Offer */
.offer .sppb-row img {
    box-shadow: 25px 0px 60px rgba(0, 0, 0,0.3);
    -moz-box-shadow: 25px 0px 60px rgba(0, 0, 0,0.3);
    -webkit-box-shadow: 25px 0px 60px rgba(0, 0, 0,0.3);
    border-radius: 3px 3px 3px 3px;
    -moz-border-radius: 3px 3px 3px 3px;
    -webkit-border-radius: 3px 3px 3px 3px;
}
.offer-left {
    margin-left: -10%;
    width: 110%;
}
.offer-right {
    margin-top: 100px;
    margin-left: -70px;
    z-index: -1;
    width: 110%;
}

/* Project */
.title-content h2 {
    font-size: 60px;
    line-height: 55px;
    font-weight: 700;
    color: rgb(0, 22, 89);
    letter-spacing: -2px;
    margin-bottom: 25px;
}
.title-content p {
    font-size: 18px;
    line-height: 26px;
    font-weight: 400;
    color: rgb(86, 89, 105);
}
.project-img img {
    height: 667px;
}
.project-img-pen {
    position: absolute;
    bottom: 48px;
    right: 20px;
}

/* Contact */
.contact-content a {
	font-size: 30px;
	font-weight: 900;
	text-decoration: none;
	display: inline-block;
}

.contact-content .sppb-icon .sppb-icon-container > i {
	color: #c25056 !important;
}

/* Images */
.images {
    background-image: linear-gradient(180deg, #ffffff 0%, #fffaf2 100%);
}
.images-colum .clearfix {
    float: left;
    width: 20%;
}
.images-colum .clearfix img {
    opacity: 0.75;
    filter: brightness( 99% ) contrast( 100% ) saturate( 0% ) blur( 0px ) hue-rotate( 0deg);
}
.images-colum .clearfix:hover img {
    opacity: 1;
    cursor: pointer;
    filter: brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg);
}

/* Ser */
.ser-item {
    border: 1px solid;
}

/* Menu */
.menu-colum, .lt-menu-colum > .sppb-column-overlay {
    border-radius: 20px;
}
.menu-img {
    margin-top: -50px;
    margin-bottom: -50px;
    padding: 0px 50px;
}
.menu-colum .lt-menu-img {
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}
.menu-colum:hover .lt-menu-img {
    transform: translateY(8px);
}
.menu .lt-title img {
    max-width: 150px;
}
.menu-price {
    float: left;
    width: 30%;
    text-align: right;
}
.menu-content {
    width: 70%;
    float: left;
}
h4.menu-title {
    margin: 0;
    font-size: 16px;
    color: #000;
}
p.menu-text {
    color: #000;
    font-size: 15px;
}
.menu-price h2 {
    font-size: 30px;
    font-weight: 900;
    color: #c16000;
}
.menu-right {
    width: 100%;
    padding: 0px 0;
    float: left;
}

/* Blog */
.jmm-item .jmm-image.mod-article-image {
  	overflow: hidden;
}
.jmm-image.mod-article-image img {
  	transform: scale(1);
  	-webkit-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
}
.jmm-item:hover .jmm-image.mod-article-image img {
  	transform: scale(1.12);
  	filter: grayscale(100%);
}
.jmm-text {
    padding: 21px 20px 32px 20px;
    background: #f5f5f5;
}
.jm-category-module.default .mod-article-image {
    margin-bottom: 0px;
}

/* Bottom */
#sp-bottom {
    padding: 60px 0 30px;
}

/* Footer Copyright */
#sp-footer {
    text-align: center;
}
#sp-footer {
    display: inline-block;
    width: 100%;
}
#sp-footer .container-inner {
    border-top: none;
}



/* General color defination
Color value depend on preset color that picking on template settings > Presets
*/

:root {
  --background-color: currentColor;
  --background: currentColor;
  --text-color: currentColor;
}
.page-item.active .page-link, .btn,
.slider-item .sppb-btn-success, .sp-simpleportfolio .sp-simpleportfolio-item .sp-simpleportfolio-info:hover,
.sp-simpleportfolio .sp-simpleportfolio-item .sp-simpleportfolio-overlay-wrapper .sp-simpleportfolio-overlay, .sp-simpleportfolio .sp-simpleportfolio-filter>ul>li.active>a, .testimonital-social ul li a, .wizard ul li.active .badge, .room-grid .tariff-value {
 	background-color: var(--background-color) !important;
}
.article-list .article .readmore a:hover, .article-list .article .readmore a:active, .article-list .article .article-header h2 a:hover,
.slider-title h3, .about-title h4, .title h3, .our-item h4, .contact-content i, #sp-bottom a, .amenities-icon i, .ser-colum h3,
.roomtype_name h4, .roomtype_more_desc i, .asset-name h1, .asset-contact i, .availability-search h3, 
.tariff-button .tariff_type, .wizard ul li.active, div.availability-calendar table tr th {
  	color: var(--text-color) !important; 
}
.btn.btn-primary:hover, .locations-colum, .ser-item, .wizard-style .active .badge:before, .wizard-style .active .badge:after,
div.availability-calendar table tr th {
  	border-color: var(--text-color) !important;
}
.service-column .clearfix {
    border-top-color: var(--text-color) !important;
}

/*-------------- mobile ----------------------*/
.logo-image-phone {
height: auto!important;
}

.offcanvas-menu .offcanvas-inner ul.menu > li.menu-parent > a > .menu-toggler::after, .offcanvas-menu .offcanvas-inner ul.menu > li.menu-parent > .menu-separator > .menu-toggler::after {
	font-size: 34px;
	color: red;
}

/*** Responsive Layout ***/
/* Tablet Landscape Layout */
@media (min-width: 1400px) {
    .sppb-row-container {
      	max-width: 1320px;
    }
}

/* Mobile Standard Layout */
@media (max-width: 768px) {
	#sp-header, #sp-header .logo {
        height: 70px;
    }
  	#sp-footer p {
  		text-align: center;
	}
  	body #sp-header {
      	padding: 0;
        background: #fff;
	}
  	.testimonial-item .sppb-media .pull-left, .testimonial-item .sppb-media .pull-right {
    	width: 100% !important;
	}
  	.testimonial-item .sppb-media-body {
        margin: 0 0 30px 0;
        top: 0px;
        left: 0;
	}
	#sppb-addon-1619480581062 .sppb-addon-title {
		font-size: 15px!important;
		line-height: 15px!important;
		letter-spacing: inherit!important;
	}
	
	.h3, h3 {
	font-size: 15px;
	}
	
	.contact-content a {
	font-size: 20px;
	}

	.page-header h1 {
	font-size: 28px!important;
	margin: 5px 0;
	}
	
	.page-content h2 {
	margin: 0px;
	}
	
	#sp-main-body {
	padding: 50px 0;
	}
	
	.product {
	width: 100%;
	}
	
	.article-details img
	{width: 100%!important;
	}
	
	ul.sigFreeClassic li.sigFreeThumb a.sigFreeLink, ul.sigFreeClassic li.sigFreeThumb a.sigFreeLink:hover {
	float: none; 
	background-color: #fff;
	width: 100% !important;
	height: auto !important;
	}
	
	ul.sigFreeClassic li.sigFreeThumb {
	float: none;
	}
	
	ul.sigFreeClassic li.sigFreeThumb a.sigFreeLink img.sigFreeImg, ul.sigFreeClassic li.sigFreeThumb a.sigFreeLink:hover img.sigFreeImg {
	width: 100% !important;
	}
}

/* Mobile Small Resolution */
@media (max-width: 480px) {
  	.event-tag .sppb-tab-content ul li {
    	width: 100%;
	}
}