/*
Theme Name: Hello Elementor Child
Author: 
Description: Your description goes here
Version: 1.0
Template: hello-elementor

This is the child theme for Hello Elementor theme, generated with Generate Child Theme plugin by catchthemes.

(optional values you can add: Theme URI, Author URI, License, License URI, Tags, Text Domain)
*/

html {
	overflow-x: hidden !important;
}

.services-card:hover {
	cursor: pointer;
}

.services-card:hover .services-card-btn {
    background-color: #096932;
	color: #FFFFFF;
}

.home-card-btn {
	height: 0px !important;
	width: fit-content !important;
	padding: 20px 20px !important;
	gap: 10px !important;
}

.mfp-content #mobile-filter {
    background-color: #ffffff !important;
    padding: 30px !important;
    border-radius: 12px !important;
    max-width: 90% !important;
    margin: 0 auto !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3) !important;
    position: relative !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 999999 !important;
}

.mfp-bg {
    background: #0b0b0b !important;
    opacity: 0.8 !important;
}

#mobile-filter:not(.mfp-content #mobile-filter) {
    display: none !important;
}

#mobile-filter .elementor-widget-container {
    color: #333333 !important;
}

#mobile-filter h3, 
#mobile-filter label {
    color: #000000 !important
    margin-bottom: 10px !important;
    display: block !important;
    font-weight: bold !important;
}

#mobile-filter .elementor-widget {
    margin-bottom: 25px !important;
}

#mobile-filter .wpsw-range-slider-wrapper {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
    padding: 0 10px !important;
}

#mobile-filter .wpsw-range-slider-value {
    color: #333333 !important;
    font-size: 14px !important;
    margin-top: 5px !important;
}

/*@media (max-width: 767px) {
    .floating-filter-btn {
        position: fixed !important;
        right: 15px !important;
        bottom: 80px !important;
        z-index: 9999 !important;
        background-color: #0073aa !important;
        border-radius: 50% !important; 
        width: 55px !important;
        height: 55px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
        transition: transform 0.2s ease !important;
    }

    .floating-filter-btn svg,
    .floating-filter-btn i {
        fill: #ffffff !important;
        color: #ffffff !important;
        width: 26px !important;
        height: 26px !important;
    }

    .floating-filter-btn:active {
        transform: scale(0.92) !important;
    }
}

@media (max-width: 767px) {
    .floating-filter-btn {
        position: fixed !important;
        right: 0 !important;
        top: 40% !important;
        z-index: 9999 !important;
        
        background-color: #333333 !important;
        border-radius: 8px 0 0 8px !important;
        padding: 12px 8px !important;
        box-shadow: -2px 4px 10px rgba(0,0,0,0.2) !important;
    }
}*/

/* Trova il contenitore flexbox di Elementor che ospita direttamente la tabella */
div.e-con:has(> .scheda-dettaglio) {
    padding: 0px !important;
    padding-left: 0px !important;
    padding-right: 0px !important;
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

.new-product-btns .elementor-icon-box-title {
	margin-bottom: 0px !important;
}

.tab-dettaglio-usato {
	width: 100% !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border: 1px solid #66666659 !important; /* Bordo esterno nero */
	border-radius: 12px !important;       /* Angoli arrotondati */
	overflow: hidden !important;
	background: #ffffff !important;
	margin-bottom: 1.5rem !important;
}

.tab-dettaglio-usato td, .tab-dettaglio-usato td span {
	color: #000 !important;
	font-weight: 700 !important;
}

/* ==========================================
   1. DESKTOP (> 768px) - Tabella Bordata
   ========================================== */
@media screen and (min-width: 769px) {
  .tab-dettaglio table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #000000 !important; /* Bordo esterno nero */
    border-radius: 12px !important;       /* Angoli arrotondati */
    overflow: hidden !important;
    background: #ffffff !important;
    margin-bottom: 1.5rem !important;
  }

  .tab-dettaglio table th,
  .tab-dettaglio table td {
    padding: 12px 16px !important;
    border-bottom: 1px solid #e5e7eb !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
  }

  .tab-dettaglio table tr:last-child td {
    border-bottom: none !important;
  }

  .tab-dettaglio table td p,
  .tab-dettaglio table th p {
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* ==========================================
   2. MOBILE (< 768px) - Layout Card
   ========================================== */
@media screen and (max-width: 768px) {
  .tab-dettaglio table, 
  .tab-dettaglio table tbody {
    display: block !important;
    width: 100% !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  /* Nasconde la riga con i <th> (i titoli affiancati) */
  .tab-dettaglio table tr:first-child,
  .tab-dettaglio table th {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Ogni riga di dati a partire dalla seconda diventa una Card */
  .tab-dettaglio table tbody tr:nth-child(n+2) {
    display: block !important;
    width: 100% !important;
    margin-bottom: 20px !important;
    background: #ffffff !important;
    border: 1px solid #000000 !important; /* Bordo nero card */
    border-radius: 12px !important;
    padding: 12px 16px !important;
    box-sizing: border-box !important;
  }

  .tab-dettaglio table td p {
    margin: 0 !important;
    padding: 0 !important;
    display: inline !important;
  }

  /* Layout riga interna alla card (chiave a sinistra, valore a destra) */
  .tab-dettaglio table td {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    font-size: 14px !important;
  }

  .tab-dettaglio table td:last-child {
    border-bottom: none !important;
  }

  /* Etichetta dinamica recuperata da JS */
  .tab-dettaglio table td::before {
    content: attr(data-label);
    font-weight: bold;
    color: #111827;
    padding-right: 15px;
    text-align: left;
  }
}