/*
Theme Name: Themify Ultra Child RNST
Description: A child theme of Themify Ultra
Template: themify-ultra
Author: DDM3 (dd@ddm3.com)
*/

/* ============================================================
   00 — RESET / GLOBAL FIXES
   ============================================================ */

/* Petits points gris sur iPhone */
.tf_lazy:after,
.tf_lazy:before {
    display: none;
}

/* Verrouillage horizontal sans casser Woo */
html { overflow-x: clip; }
body { overflow-x: clip; }

/* Box model OK */
*, *::before, *::after { box-sizing: border-box; }

/* Médias responsives (safe) */
img, iframe, video { max-width: 100%; height: auto; }
table { max-width: 100%; }


/* ============================================================
   10 — NAVIGATION MOBILE (Themify Ultra)
   ============================================================ */

/* Ouverture forcée des sous-menus mobiles */
.mobile-menu-module .sub-menu {
    display: block !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Supprimer les flèches des sous-menus */
.mobile-menu-module ul a > i.toggle-menu {
    display: none;
}

/* Fond du menu mobile */
.mobile-menu-slide.module-menu.right {
    background-image: url("https://rnst-propagandart.com/wp-content/uploads/2025/12/fond-menu.jpg") !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-color: #000 !important;
}

/* Supprimer overlays/flous du menu mobile */
.mobile-menu-slide.module-menu.right::before,
.mobile-menu-slide.module-menu.right::after {
    display: none !important;
}

/* Trait sous “Contactez-nous” */
.mobile-menu-slide.module-menu.right #menu-item-1207::after {
    content: "";
    display: block;
    height: 1px;
    background: #000;
    margin: 10px 20px 0 20px;
}

/* Trait sous “Contactez-nous” (sous-menu, décalé à gauche) */
.mobile-menu-slide.module-menu.right #menu-item-1211::after {
    content: "";
    display: block;
    height: 1px;
    background: #000;
    margin: 10px 30px 0 10px; /* gauche -10px / droite +10px */
}

/* Sous-menus décalés vers la droite */
.mobile-menu-slide.module-menu.right .sub-menu a {
    padding-left: 30px !important;
}

/* Réduire l’interligne des sous-menus uniquement */
.mobile-menu-module .sub-menu li a {
    line-height: 1.2 !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}

/* Logo au sommet du menu vertical */
.mobile-menu-slide.module-menu.right .nav::before {
    content: "";
    display: block;
    width: 200px;
    height: 200px;
    margin: -40px auto 20px; /* ⬅️ 20px d’espace en dessous */
    background-image: url("https://rnst-propagandart.com/wp-content/uploads/2025/12/logo-rnst-menu.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    position: relative;
    left: 10%;
    transform: translateX(-30%);
}

/* Flou sur ouverture du menu mobile */
.body-overlay {
    backdrop-filter: blur(2px) !important;
    background: rgba(0,0,0,0.15) !important;
    opacity: 1 !important;
}

/* Desktop : voile noir 50% sans flou */
@media (min-width: 768px) {
    .body-overlay {
        backdrop-filter: none !important;
        background: rgba(0,0,0,0.5) !important;
    }
}

/* Téléphone : menu plus étroit (-140px) */
@media (max-width: 767px) {
    .mobile-menu-slide.module-menu.right {
        width: calc(100% - 140px) !important;
    }
}



/* ============================================================
   20 — LANGUES (TranslatePress)
   ============================================================ */

/* Masquer drapeaux */
.trp-flag-image,
.trp-flag,
.trp-language-switcher .trp-flag-image {
    display: none !important;
}

/* Ligne horizontale des langues */
.tp-inline-switcher ul {
    display: flex !important;
    gap: 12px;
    flex-wrap: wrap;
}

/* Espacement réduit sous HOME */
.mobile-menu-module .nav > li#menu-item-1212 {
    margin-bottom: 4px !important;
}

/* Bloc des langues aligné avec sous-menus */
.menu-item-langues {
    margin-top: -2px !important;
    margin-bottom: 10px !important;
    padding-left: 39px !important;
}

/* Ligne des codes langue */
.menu-item-langues .langs-inline {
    display: flex;
    justify-content: flex-start;
    gap: 8px;
    line-height: 1;
}

/* Style des liens langue */
.menu-item-langues a {
    text-transform: uppercase;
    font-size: 16px;
    font-weight: 400;
    color: #292929 !important;
    padding: 0 !important;
    transition: color 0.15s ease;
}

.menu-item-langues a:hover {
    color: #5c5c5c !important;
}



/* ============================================================
   30 — BOUTON PRODUIT (RUPTURE DE STOCK)
   ============================================================ */

/* Bouton “Dites-moi quand le produit sera disponible” */
input.cwg_popup_submit,
.cwg_popup_submit[type="submit"],
input[type="submit"].cwg_popup_submit {
    border-radius: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}



//* ============================================================
   40 - POPUP BACK IN STOCK — VERSION NETTE & MODERNE
   ============================================================ */

/* ----- POPUP GLOBAL (SweetAlert2 container) ----- */

.swal2-html-container,
.swal2-actions {
    padding: 0 !important;
    margin: 0 !important;
}

.swal2-popup {
    padding: 50px 0px 0px 20px !important;  /* top | right | bottom | left */
    border-radius: 5px !important;

    /* couleur + image dans UNE seule déclaration */
    background: #ffffff url("https://rnst-propagandart.com/wp-content/uploads/2025/12/fond-pop-up-2.jpg")
                center / cover no-repeat !important;

    max-width: 520px !important;
    width: 90% !important;
    box-shadow: 0 0 40px rgba(0,0,0,0.4) !important;
}

/* Supprimer toutes les bordures / outlines / filets bleus */
.swal2-popup,
.swal2-popup * {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* ----- BOUTON DE FERMETURE (croix ronde noire) ----- */
.swal2-close {
    background: #000 !important;
    color: #fff !important;
    border-radius: 50% !important;
    width: 36px !important;
    height: 36px !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    cursor: pointer !important;
    transition: 0.25s ease-in-out;
}

.swal2-close:hover {
    background: #666 !important;
    color: #fff !important;
}

/* ----- SUPPRESSION DU VIEUX HEADER BLEU ----- */
.cwginstock-panel-heading {
    display: none !important;
}

/* ----- TEXTE D’INTRO PERSONNALISÉ ----- */
.cwgintro {
    font-size: 17px !important;
    line-height: 1.5 !important;
    text-align: center !important;
    margin-bottom: 25px !important;
    color: #444 !important;
    padding: 0 10px !important;
}

/* ----- STRUCTURE INTERNE ----- */
.cwginstock-panel-body {
    padding: 0 10px 20px !important;
}

.cwginstock-panel-body .col-md-12,
.cwginstock-panel-body .form-group {
    max-width: 420px !important;
    margin: 0 auto !important;
}

/* ----- MASQUER LE CHAMP DU NOM ----- */
.cwgstock_name {
    display: none !important;
}

/* ----- CHAMP EMAIL ----- */
.cwgstock_email {
    width: 100% !important;
    padding: 14px !important;
    margin-bottom: 15px !important;
    border: 1px solid #ccc !important;
    background: #fff !important;
    border-radius: 0 !important;
    font-size: 16px !important;
    text-align: center !important;
}

/* Focus sans bordure bleue */
.cwgstock_email:focus {
    border-color: #000 !important;
    outline: none !important;
    box-shadow: none !important;
}

/* ----- BOUTON “Prévenez-moi” ----- */
.cwgstock_button {
    width: 100% !important;
    background: #000 !important;
    color: #fff !important;
    padding: 16px !important;
    border-radius: 0 !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    margin-top: 10px !important;
}

.cwgstock_button:hover {
    background: #333 !important;
}

/* ----- SUPPRESSION COMPLÈTE DU CHAMP QUANTITÉ ----- */
.add_quantity_field,
p:has(.add_quantity_field) {
    display: none !important;
}

/* ----- Suppression des bordures Bootstrap ----- */
.panel,
.panel-primary,
.panel-heading,
.panel-body {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* ----- Couleur du message de confirmation ----- */
.cwginstocksuccess {
    color: #d35400 !important; /* orange brûlé */
}

/* ============================================================
   50 - SELECTEUR QUANTITE ET BOUTON PANIER MASQUÉ SI VARIATION = ZERO
   ============================================================ */

   /* Masque le bouton lorsque la variation est indisponible */
   .single_add_to_cart_button.disabled,
   .single_add_to_cart_button.wc-variation-is-unavailable,
   .woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button {
       display: none !important;
   }

   /* Masque le conteneur de bouton si Woo l'ajoute */
   .woocommerce-variation-add-to-cart-disabled {
       display: none !important;
   }

   /* Masque la quantité si variation indisponible */
   .woocommerce-variation-add-to-cart-disabled .quantity,
   .single_variation_wrap .woocommerce-variation-add-to-cart-disabled .quantity {
       display: none !important;
   }

   /* Bloc quantité (le conteneur) */
   .woocommerce div.product form.cart .quantity {
       width: auto !important;
   }


   /* ============================================================
   60 - MISE EN FORME DU SELECTEUR DE TAILLES & PANIER
   ============================================================ */

/* Affichage vertical : label puis select */
.variations tr,
.variations th,
.variations td {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: left !important;
}

/* ============================================================
   FORCE LE SELECTEUR DE TAILLES (Themify Ultra override total)
   ============================================================ */

/* Le wrapper généré par Themify */
.variations td.value,
.variations td.value .select-wrapper,
.variations td.value .tf_field,
.variations td.value .tf_field-select {
    width: auto !important;
    max-width: 120px !important;  /* ← largeur max du bloc */
    display: block !important;
}

/* Le VRAI select */

/* Sélecteur de variations (adultes, enfants, autres)
REGLAGE DE LARGEUR DU SELECTEUR 3 LIGNES PLUS BAS */
.variations td.value select {
    margin-top: 15px !important;
    width: 160px !important;
    padding: 10px 14px !important;
    height: 48px !important;

    border-radius: 0 !important;
    background-color: #fff !important;
    font-size: 16px !important;
    box-sizing: border-box !important;

    -webkit-appearance: none !important;
    appearance: none !important;
}

/* Annule le border-radius du WRAPPER (celui qui te cassait tout) */
.variations td.value .select-wrapper,
.variations td.value .tf_field,
.variations td.value .tf_field-select {
    border-radius: 0 !important;
}

/* Annule la flèche arrondie de Themify */
.variations td.value .select-wrapper:after,
.variations td.value .tf_field-select:after {
    border-radius: 0 !important;
}

/* Même hauteur pour le champ quantité */
.quantity input.qty {
    height: 48px !important;
    padding: 10px 14px !important;
    border-radius: 0 !important;
    font-size: 16px;
    box-sizing: border-box;
}

/* Même hauteur pour le bouton "Ajouter au panier" */
.single_add_to_cart_button {
    height: 48px !important;
    line-height: 48px !important;
    display: flex !important;

}


/* ============================================================
   ALIGNER QUANTITÉ + BOUTON PANIER SUR UNE LIGNE
   ============================================================ */

.woocommerce-variation-add-to-cart {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important; /* espace entre quantité et bouton */
}

/* Empêche tout déplacement du bouton au survol */
.single_add_to_cart_button,
.single_add_to_cart_button:hover,
.single_add_to_cart_button:focus {
    padding: 0 25px !important;
    height: 48px !important;
    line-height: 48px !important;
    border-width: 1px !important;    /* Fixe la bordure */
    transform: none !important;       /* empêche les micro translations */
    top: 0 !important;                /* empêche le décalage vertical */
}


/* Aligne parfaitement le bouton sur l’axe horizontal */
.single_add_to_cart_button {
    display: flex !important;
    align-items: center !important;
}

/* Boutons WooCommerce carrés */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.add_to_cart_button,
.woocommerce .added_to_cart,
.woocommerce ul.products li.product .button {
    border-radius: 0 !important;
}

/* Aligner à droite les intitulés dans Informations complémentaires
.woocommerce table.shop_attributes th {
    text-align: right !important;
}*/

/* Enlever l’italique dans les valeurs du tableau WooCommerce */
.woocommerce table.shop_attributes td {
    font-style: normal !important;
}

/* ============================================================
 Annule tous les arrondis sur les images
   ============================================================ */

img,
.wp-post-image,
.woocommerce img,
.woocommerce ul.products li.product img,
.woocommerce div.product div.images img,
.woocommerce div.product div.summary .woocommerce-product-gallery__wrapper img,
.woocommerce div.product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img,
.product img,
.related img,
.upsells img,
.cross-sells img {
    border-radius: 0 !important;
}

/* Annule aussi les arrondis sur les conteneurs, Themify les utilise beaucoup */
.woocommerce-product-gallery__image,
.woocommerce-product-gallery__wrapper,
.woocommerce ul.products li.product a img,
.module-image,
.module-image img,
.tb_image_wrap,
.tb_image_wrap img {
    border-radius: 0 !important;
}

/* Supprime les coins arrondis appliqués par Themify sur les hover */
.woocommerce ul.products li.product .post-image,
.woocommerce ul.products li.product .post-image img,
.post-image,
.post-image img {
    border-radius: 0 !important;
}

/* Masquer TOUTES les variations dans le panier */
.woocommerce-cart dl.variation {
    display: none !important;
}

/* ============================================================
 Annule tous les arrondis sur les champs de commande
   ============================================================ */

/* Inputs WooCommerce checkout */
.woocommerce-checkout .woocommerce-input-wrapper input,
.woocommerce-checkout .woocommerce-input-wrapper textarea {
  border-radius: 0 !important;
}

/* Select (pays, etc. – Select2) */
.woocommerce-checkout .select2-selection {
  border-radius: 0 !important;
}

/* Checkbox & radios (optionnel, cohérence visuelle) */
.woocommerce-checkout input[type="checkbox"],
.woocommerce-checkout input[type="radio"] {
  border-radius: 0 !important;
}

/* Centrage vertical du pays (Select2) */
.woocommerce-checkout .select2-selection--single {
  display: flex !important;
  align-items: center !important;
}

/* Sécurité : texte bien aligné */
.woocommerce-checkout .select2-selection__rendered {
  line-height: normal !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Aligner verticalement le bloc "Notes de commande" avec la colonne gauche */

/* État normal (pas d'adresse différente) */
.woocommerce-checkout .woocommerce-additional-fields {
  margin-top: 14px;
}


/* Mon compte – champs carrés */
.woocommerce-account input,
.woocommerce-account textarea,
.woocommerce-account select {
  border-radius: 0 !important;
}

/* Champ mot de passe + bouton œil */
.woocommerce-account .password-input,
.woocommerce-account .password-input input,
.woocommerce-account .show-password-input {
  border-radius: 0 !important;
}

/* Boutons (se connecter / s’inscrire) */
.woocommerce-account button,
.woocommerce-account .button {
  border-radius: 0 !important;
}

.woocommerce-account * {
  border-radius: 0 !important;
}



/* Mon compte – colonnes login / inscription même hauteur */
.woocommerce-account .u-columns {
  display: flex;
  align-items: stretch;
  gap: 40px; /* espace entre les blocs */
}

.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
  display: flex;
  flex-direction: column;
}

/* Les cartes internes prennent toute la hauteur */
.woocommerce-account .u-column1 > *,
.woocommerce-account .u-column2 > * {
  flex-grow: 1;
}

/* Cache le mini panier vertical mais il faut surtout le .JS pour le lien */

.tbp_slide_cart { display: none !important; }


/* Limiter le titre produit à 1 ligne avec "..." */
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* ================================
   MINI MENU CATÉGORIES – TEXTE
   WooCommerce / Themify
   (hors home)
================================ */

body:not(.home) #tb_592o38 {
    width: 100% !important;
    max-width: 100% !important;
}

/* Liste des catégories */
body:not(.home) #tb_592o38 ul.loops-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 20px 10px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Items */
body:not(.home) #tb_592o38 li.product-category {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    float: none !important;
    text-align: left !important;
}

/* Supprimer les images */
body:not(.home) #tb_592o38 img {
    display: none !important;
}

/* Titres */
body:not(.home) #tb_592o38 h3 {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 18px;
    font-weight: 400;
    white-space: nowrap;
    display: inline;
    color: #5c5c5c !important; /* gris par défaut */
}

/* Supprimer "Non classé" */
body:not(.home) #tb_592o38 li.product-category:has(a[href*="non-classe"]),
body:not(.home) #tb_592o38 li.product-category.non-classe,
body:not(.home) #tb_592o38 li.product-category.uncategorized {
    display: none !important;
}

/* Catégorie active = noire */
body:not(.home).term-adultes #tb_592o38 a[href*="/adultes/"] h3,
body:not(.home).term-kids #tb_592o38 a[href*="/kids/"] h3 {
    color: #000 !important;
    font-weight: 600;
}


/* Masquer le bouton "Afficher tous les produits" UNIQUEMENT sur /boutique */
body.post-type-archive-product
.module-buttons a[href*="/boutique"] {
    display: none !important;
}

/* ================================
PARTIE EXPEDITION DU PANIER
================================ */
/* Resserre toute la zone expédition */
.woocommerce-shipping-totals td {
    padding-top: 6px !important;
    padding-bottom: 26px !important;
}

/* Liste des méthodes */
ul.woocommerce-shipping-methods {
    margin: 20 !important;
    padding: 0 !important;
}

ul.woocommerce-shipping-methods li {
    margin: 4px 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
}

/* Aligne icône + texte */
ul.woocommerce-shipping-methods label {
    display: flex !important;
    align-items: center;
    gap: 28px;
}



/* Texte secondaireLes options de livraison
seront mises à jour lors de la commande.*/
.woocommerce-shipping-destination {
    margin-top: 4px !important;
    line-height: 1.0;
    font-size: 12px;
}


/* Panier – supprimer les logos Colissimo */
.woocommerce-shipping-methods img.lpc_shipping_icon {
    display: none !important;
}

/* Aligner radio + texte sur une seule ligne */
.woocommerce-shipping-methods li {
    display: flex;
    align-items: top;
    gap: 8px;
    margin-bottom: 6px;
}

/* Radio propre */
.woocommerce-shipping-methods input[type="radio"] {
    margin: 0;
}

/* Supprimer le retour à la ligne forcé*/
.woocommerce-shipping-methods label br {
    display: none;
}

/* Label plus compact */
.woocommerce-shipping-methods label {
    line-height: 1.2;
}

/*EPUISE DANS LISTE TAILLES*/
.woocommerce-variation-select option:disabled {
    color: #999;
}
