/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* Hide Google Map Canvas */
/*
.acf-google-map .canvas {
  display: none !important;
}
*/

/* Hide Dashboard Loueur Icon */
svg.wcv-icon.wcv-icon-dashboard-icon {
  display: none;
}

/* Hide Dashboard Welcome Message */
.wcvendors-pro-dashboard-wrapper .wcv-heading.wcv-dashboard-welcome-message,
.wcvendors-pro-dashboard-wrapper .wcv-store-setup-steps-wrapper {
  display: none !important ;
}

/* Hide Product Type */
/* https://wp-clicknvan.local/vendor_dashboard/product/edit/ */
.wcv-product-type {
  display: none !important;
}

.wcv-product-accordion.persons_tab,
.wcv-product-accordion.resources_tab {
  display: none !important;
}

/* FacetWP Booking Search */

/* FacetWP Template Grid */
.facetwp-template {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 25px;
  margin-top: 30px;
}

/* Van Card */
.van-card {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.van-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
}

/* Image */
.van-image {
  position: relative;
  padding-top: 66.67%;
  overflow: hidden;
  background: #f5f5f5;
}

.van-image a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.van-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Content */
.van-content {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.van-title {
  margin: 0 0 10px;
  font-size: 1.25rem;
  line-height: 1.3;
}

.van-title a {
  color: #333;
  text-decoration: none;
}

.van-title a:hover {
  color: #0073aa;
}

.van-vendor,
.van-location {
  color: #666;
  font-size: 0.9rem;
  margin-bottom: 8px;
}

.van-vendor i,
.van-location i {
  margin-right: 5px;
  color: #999;
}

/* Specs */
.van-specs {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin: 15px 0;
  padding: 15px 0;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  flex: 1;
}

.spec-item {
  display: flex;
  align-items: center;
  color: #555;
  font-size: 0.9rem;
}

.spec-item i {
  margin-right: 5px;
  color: #0073aa;
}

/* Footer */
.van-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
}

.van-price {
  display: flex;
  align-items: baseline;
  gap: 5px;
}

.van-price .from,
.van-price .per {
  font-size: 0.85rem;
  color: #666;
}

.van-price .price {
  font-size: 1.4rem;
  font-weight: bold;
  color: #0073aa;
}

.btn-view {
  background: #0073aa;
  color: white !important;
  padding: 8px 20px;
  border-radius: 5px;
  text-decoration: none !important;
  font-size: 0.9rem;
  transition: all 0.2s;
}

.btn-view:hover {
  background: #005a87;
  transform: translateY(-1px);
}

/* Responsive */
@media (max-width: 768px) {
  .facetwp-template {
    grid-template-columns: 1fr;
  }

  .van-footer {
    flex-direction: column;
    gap: 10px;
    align-items: stretch;
  }

  .btn-view {
    text-align: center;
    width: 100%;
  }
}

/* Loading */
.facetwp-loading .facetwp-template {
  opacity: 0.5;
}

/* No results */
.facetwp-template:empty::after {
  content: "Aucun van disponible selon vos critères. Essayez d'élargir votre recherche (lieu, dates).";
  display: block;
  text-align: center;
  padding: 60px 20px;
  color: #666;
  font-size: 1.1rem;
  grid-column: 1 / -1;
}

/* Pager */
.facetwp-pager {
  margin-top: 40px;
  text-align: center;
}

.facetwp-pager a,
.facetwp-pager span {
  display: inline-block;
  padding: 8px 15px;
  margin: 0 3px;
  background: #f5f5f5;
  color: #333;
  text-decoration: none;
  border-radius: 5px;
  transition: all 0.2s;
}

.facetwp-pager a:hover,
.facetwp-pager .active {
  background: #0073aa;
  color: white;
}

/* CSS dashboard loueurs pros - Masquer tous les champs booking */

/* 1. Masquer le champ "Affichage Du Calendrier" - déjà fait */
div.control-group:has(#_wc_booking_calendar_display_mode),
#_wc_booking_calendar_display_mode,
.control-group:has(select[name="_wc_booking_calendar_display_mode"]),
div.control-group:nth-child(30) {
  display: none !important;
}

/* 2. Masquer le champ "Activer Le Calendrier ?" - déjà fait */
label.wcv-checkbox-container {
  display: none !important;
}

/* 3. Masquer "Durée De Réservation" */
div.control-group:has(#_wc_booking_duration_type),
#_wc_booking_duration_type,
select[name="_wc_booking_duration_type"] {
  display: none !important;
}

/* 4. Masquer "Durée Minimale" */
div.control-group:has(#_wc_booking_duration),
#_wc_booking_duration,
input[name="_wc_booking_duration"] {
  display: none !important;
}

/* 5. Masquer "Durée Maximale" - champ numéro 30 dans vos images */
div.control-group:has(input[type="number"][value="30"]) {
  display: none !important;
}

/* 6. Masquer "Unité de durée" */
div.control-group:has(#_wc_booking_duration_unit),
#_wc_booking_duration_unit,
select[name="_wc_booking_duration_unit"] {
  display: none !important;
}

/* 7. Masquer "Nombre Maximal De Réservations Par Bloc" */
div.control-group:has(#_wc_booking_qty),
#_wc_booking_qty,
input[name="_wc_booking_qty"] {
  display: none !important;
}

/* 8. Masquer "Durée Minimale De Location" */
div.control-group:has([for="_wc_booking_min_date"]) {
  display: none !important;
}

/* 9. Masquer "Toutes Les Dates" */
div.control-group:has(#_wc_booking_default_date_availability),
#_wc_booking_default_date_availability,
select[name="_wc_booking_default_date_availability"] {
  display: none !important;
}

/* 10. Masquer "Appliquer La Règle" */
div.control-group:has(#_wc_booking_check_availability_against),
#_wc_booking_check_availability_against,
select[name="_wc_booking_check_availability_against"] {
  display: none !important;
}

/* 11. Masquer "Coût De Base" */
div.control-group:has(#_wc_booking_cost),
#_wc_booking_cost,
input[name="_wc_booking_cost"] {
  display: none !important;
}

/* 12. Masquer "Afficher Le Coût" */
div.control-group:has(#_wc_display_cost),
#_wc_display_cost,
input[name="_wc_display_cost"] {
  display: none !important;
}

/* Cart Empty Page Styling */
.woocommerce-cart-form .cart-empty,
.woocommerce .cart-empty,
.cart-empty.woocommerce-info {
  background-color: #f8f9fa !important;
  border: 1px solid #e9ecef !important;
  color: #6c757d !important;
  padding: 20px !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  text-align: center !important;
  margin: 40px 0 !important;
}

/* Elementor Pro Cart Widget Empty State */
.elementor-widget-woocommerce-cart .wc-empty-cart-message,
.elementor-widget-woocommerce-cart .cart-empty {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Force display of empty cart content */
.woocommerce-cart .wc-empty-cart-message {
  display: block !important;
}

/* Alternative par texte du label si les sélecteurs ci-dessus ne fonctionnent pas */
div.control-group:has(label[for="_wc_booking_duration_type"]),
div.control-group:has(label[for="_wc_booking_duration"]),
div.control-group:has(label[for="_wc_booking_duration_unit"]),
div.control-group:has(label[for="_wc_booking_qty"]),
div.control-group:has(label[for="_wc_booking_default_date_availability"]),
div.control-group:has(label[for="_wc_booking_check_availability_against"]),
div.control-group:has(label[for="_wc_booking_cost"]),
div.control-group:has(label[for="_wc_display_cost"]) {
  display: none !important;
}

/* Nettoyage des espaces pour éviter les trous */
.control-group + .control-group {
  margin-top: 15px !important;
}

/* Cacher le conteneur complet des notices WooCommerce */
.woocommerce-notices-wrapper {
  display: none !important;
}

/* Alternative - cacher juste les messages dans le wrapper */
.woocommerce-notices-wrapper .woocommerce-message {
  display: none !important;
}

/* Version ultra-spécifique */
div.woocommerce-notices-wrapper div.woocommerce-message {
  display: none !important;
}

/* ====================================================================
   DISABLE SHIPPING ELEMENTS
   ==================================================================== */

/* Hide all shipping related elements in cart */
.cart-shipping,
.woocommerce-shipping-calculator,
.shipping-calculator-form,
.woocommerce-cart-form .actions .coupon,
#shipping_method,
.shipping_address,
tr.shipping,
.woocommerce-shipping-totals,
.wc-shipping-zone,
.shipping-methods {
  display: none !important;
}

/* Hide shipping in checkout */
.woocommerce-shipping-fields,
.checkout-shipping,
.ship-to-different-address,
#ship-to-different-address-checkbox,
.shipping_address,
.woocommerce-shipping-methods,
.wc-shipping-table {
  display: none !important;
}

/* Hide shipping in order review */
.order-total .shipping,
.cart_totals .shipping,
.woocommerce-checkout-review-order .shipping {
  display: none !important;
}

/* Hide shipping in admin/vendor forms */
.shipping_product_data,
.wcv-product-shipping,
#shipping.tabs-content,
.woocommerce_options_panel.shipping_tab_options {
  display: none !important;
}

/* Hide "Ship to a different address" completely */
h3#ship-to-different-address,
label.woocommerce-form__label-for-checkbox {
  display: none !important;
}

/* Clean up spacing after hidden elements */
.woocommerce-cart-form__contents tr:has(.shipping) + tr,
.cart_totals tr:has(.shipping) + tr {
  border-top: none;
}

/* Style pour le bouton Réserver page produit */
.wc-bookings-booking-form-button.single_add_to_cart_button.button.alt {
  background-color: #63ab45 !important;
  width: 100% !important;
  border: none !important;
  color: white !important;
  padding: 12px 16px !important;
  font-size: 16px !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  transition: background-color 0.3s ease !important;
}

/* Effet hover pour le bouton */
.wc-bookings-booking-form-button.single_add_to_cart_button.button.alt:hover {
  background-color: #5a9a3e !important;
}

/* Alternative si le sélecteur ci-dessus ne fonctionne pas */
button[name="single_add_to_cart_button"] {
  background-color: #63ab45 !important;
  width: 100% !important;
  border: none !important;
  color: white !important;
  padding: 12px 16px !important;
  font-size: 16px !important;
  border-radius: 4px !important;
  cursor: pointer !important;
}

button[name="single_add_to_cart_button"]:hover {
  background-color: #5a9a3e !important;
}

/* Hide "Leave a feedback" button */
a.woocommerce-button.button.leave_feedback {
  display: none !important;
}

/* Hide "Downloads" in My Account */
li.woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--downloads {
  display: none !important;
}

/* Hide "Bookings" in My Account */
li.woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--bookings {
  display: none !important;
}

/* Hide "Become a vendor" in My Account */
li.woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--become-a-vendor {
  display: none !important;
}

/* Hide "Disponibilité" in Product Edit */
.wcv-product-accordion.availability_tab {
  /* display: none !important; */
}

/* Hide all product accordions */
.wcv-grid .wcv-product-accordion.hide_if_grouped {
  /* display: none !important; */
}

/* Hide Google Map Title and Canvas */
.acf-google-map .title,
.acf-google-map .canvas {
  display: none !important;
}

.acf-google-map .canvas,
.wcv-vehicle-field-google_map .acf-google-map {
  height: auto !important;
}



/* Masquer uniquement le titre "Général" dans WC Vendors */
.wcv-accordion-title[data-tab="general"] {
    display: none !important;
}

/* Version plus spécifique si nécessaire */
div.wcv-accordion-title.active[data-tab="general"] {
    display: none !important;
}













/* === CSS POUR MASQUER DES ÉLÉMENTS SPÉCIFIQUES === */

/* Masquer le titre "Disponibilité" dans WC Vendors */
.wcv-accordion-title[data-tab="availability"] {
    display: none !important;
}

/* Version plus spécifique si nécessaire */
div.wcv-accordion-title.active[data-tab="availability"] {
    display: none !important;
}

/* Masquer le séparateur desktop */
div[style*="height: 1px"][style*="background: #D5D4DC"].wcv_desktop {
    display: none !important;
}

/* Alternative plus simple pour le séparateur */
.wcv_desktop {
    display: none !important;
}

/* 5. Classes conditionnelles spécifiques */
.hide-mobile {
    display: none !important;
}

.hide-desktop {
    display: block !important;
}

.hide-tablet {
    display: block !important;
}

/* === RESPONSIVE HIDING === */
@media (max-width: 767px) {
    .hide-mobile {
        display: none !important;
    }
    .show-mobile {
        display: block !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .hide-tablet {
        display: none !important;
    }
    .show-tablet {
        display: block !important;
    }
}

@media (min-width: 1025px) {
    .hide-desktop {
        display: none !important;
    }
    .show-desktop {
        display: block !important;
    }
}

/* === POUR VOS ÉLÉMENTS SPÉCIFIQUES === */

/* Cacher les sections d'accordéon */
.wcv-product-accordion.hide-section {
    display: none !important;
}

/* Cacher le contenu des onglets */
.tabs-content.hide-all {
    display: none !important;
}

/* Cacher les éléments de formulaire */
.control-group.hidden,
.control.hidden {
    display: none !important;
}

/* Cacher selon les conditions de réservation */
.hide_if_booking,
.hide_if_accommodation-booking,
.hide_if_grouped,
.hide_if_external,
.hide_if_variable,
.hide_if_simple {
    display: none !important;
}

/* Afficher selon les conditions */
.show_if_booking,
.show_if_accommodation-booking {
    display: block !important;
}

/* === ANIMATIONS POUR MASQUER/AFFICHER === */
.fade-out {
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.fade-in {
    opacity: 1;
    transition: opacity 0.3s ease;
    pointer-events: auto;
}

.slide-up {
    transform: translateY(-100%);
    transition: transform 0.3s ease;
}

.slide-down {
    transform: translateY(100%);
    transition: transform 0.3s ease;
}

.scale-out {
    transform: scale(0);
    transition: transform 0.3s ease;
    transform-origin: center;
}

/* === UTILITAIRES SUPPLÉMENTAIRES === */

/* Cacher le texte mais garder l'élément pour les icônes */
.text-hide {
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
}

/* Cacher le débordement */
.overflow-hidden {
    overflow: hidden !important;
}

/* Cacher les scrollbars */
.no-scrollbar {
    -ms-overflow-style: none !important;
    scrollbar-width: none !important;
}

.no-scrollbar::-webkit-scrollbar {
    display: none !important;
}

/* === CLASSES JAVASCRIPT FRIENDLY === */
.js-hide {
    display: none !important;
}

.js-show {
    display: block !important;
}

.js-toggle-hide {
    transition: all 0.3s ease;
}

.js-toggle-hide.hidden {
    opacity: 0;
    transform: translateY(-10px);
    pointer-events: none;
}




/* Style pour la pagination active FacetWP */
.facetwp-page.active {
    background-color: #5a9a3e !important;
    color: white !important;
    border-color: #5a9a3e !important;
}

/* Plus spécifique au cas où */
.facetwp-pager .facetwp-page.active {
    background-color: #5a9a3e !important;
    color: white !important;
    border-color: #5a9a3e !important;
}

/* Version encore plus spécifique */
.facetwp-pager a.facetwp-page.first.active {
    background-color: #5a9a3e !important;
    color: white !important;
    border-color: #5a9a3e !important;
}


.payment-explanation {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}




/* Layout par défaut (desktop/tablette) */
.wcv-vehicle-tabs-nav {
  display: flex !important;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

/* Style des boutons */
.wcv-vehicle-tabs-nav .wcv-vehicle-tab-btn {
  white-space: nowrap;
  padding: 10px 14px;
  border-radius: 8px;
}

/* Empilement en mobile */
@media (max-width: 768px) {
  .wcv-vehicle-tabs-nav {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px;
  }
  .wcv-vehicle-tabs-nav .wcv-vehicle-tab-btn {
    width: 100% !important;
    display: block !important;
    text-align: left;
  }
}

/* Au cas où certains boutons existent hors du wrapper (fallback mobile) */
@media (max-width: 768px) {
  .wcv-vehicle-tab-btn {
    width: 100% !important;
    display: block !important;
  }
}


/* Cache complètement le bloc + supprime l'espace */
#clicknvan-payment-info {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}





