/* ==========================================================
   EV Location — CSS Fiche Produit (pages véhicule uniquement)
   Chargé via wp_enqueue_style, mis en cache par le navigateur.
   ========================================================== */

/* ── Centrage contenu produit ── */
.ct-container { max-width:1200px !important; margin-left:auto !important; margin-right:auto !important; padding-left:20px !important; padding-right:20px !important; box-sizing:border-box !important; }

/* ── Fix débordement badges .carac ── */
.carac { white-space:normal !important; overflow-wrap:break-word !important; word-break:break-word !important; }

/* ── Reset conflits CSS images galerie ── */
.woocommerce-product-gallery .ct-media-container,
.woocommerce-product-gallery .ct-media-container img,
.flexy-item .ct-media-container,
.flexy-item .ct-media-container img {
    width:100% !important;
    height:auto !important;
    aspect-ratio:4/3 !important;
    object-fit:cover !important;
}
.flexy-pills .ct-media-container,
.flexy-pills .ct-media-container img {
    width:80px !important;
    height:60px !important;
    aspect-ratio:4/3 !important;
    object-fit:cover !important;
}

/* ── Layout galerie + résumé ── */
.product-entry-wrapper { display:flex !important; flex-wrap:wrap !important; gap:40px !important; align-items:flex-start !important; width:100% !important; }
#ezo-gallery-wrap { flex:1 !important; min-width:280px !important; max-width:55% !important; display:flex !important; flex-direction:column !important; gap:8px !important; }
#ezo-gallery-wrap .woocommerce-product-gallery { flex:none !important; max-width:100% !important; width:100% !important; min-width:0 !important; }
.entry-summary { flex:1 !important; min-width:280px !important; }
@media(max-width:768px) { #ezo-gallery-wrap { max-width:100% !important; } }

/* ── Sections onglets & avis ── */
.woocommerce-tabs { max-width:1200px !important; margin-left:auto !important; margin-right:auto !important; padding-left:20px !important; padding-right:20px !important; box-sizing:border-box !important; }
.woocommerce-tabs ul.tabs { padding-left:0 !important; }
.woocommerce-Tabs-panel { padding-left:0 !important; padding-right:0 !important; }
#ezo-reviews { max-width:1200px; margin-left:auto !important; margin-right:auto !important; padding-left:20px; padding-right:20px; box-sizing:border-box; }

/* ── Sélecteur de dates ── */
.ezo-product-box{background:#fbfbfb;padding:24px;border-radius:12px;margin-bottom:20px;border:1px solid #eaeaea;}
.ezo-box-title{margin-top:0;margin-bottom:20px;font-weight:800;display:flex;align-items:center;font-size:18px;color:#121214;}
.vb-tooltip-wrap{position:relative;margin-left:10px;display:inline-block;}
.vb-info-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:var(--ezo-primary);color:#fff;border-radius:50%;font-size:11px;font-weight:bold;font-style:italic;cursor:help;}
.vb-tooltip-content{visibility:hidden;width:280px;background:#333;color:#fff;text-align:left;border-radius:6px;padding:12px;position:absolute;z-index:100;bottom:135%;left:50%;margin-left:-140px;font-size:13px;line-height:1.4;opacity:0;transition:opacity .3s;pointer-events:none;}
.vb-tooltip-content::after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#333 transparent transparent transparent;}
.vb-tooltip-wrap:hover .vb-tooltip-content{visibility:visible;opacity:1;}
.ezo-turo-box{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px;}
.ezo-turo-col{flex:1;min-width:200px;display:flex;flex-direction:column;text-align:left;}
.ezo-turo-label{font-size:14px;font-weight:700;margin-bottom:8px;color:#121214;}
.ezo-turo-inputs{display:flex;border:1px solid #d9d9d9;border-radius:8px;overflow:hidden;background:#fff;}
.ezo-turo-inputs:focus-within{border-color:var(--ezo-primary);}
.ezo-turo-wrap{position:relative;flex:1;border-right:1px solid #eee;}
.ezo-turo-wrap:last-child{border-right:none;}
.ezo-turo-input,.ezo-turo-select{width:100%;padding:14px 35px 14px 14px !important;border:none !important;font-size:15px !important;font-weight:500 !important;color:#121214 !important;background:transparent !important;cursor:pointer;outline:none !important;appearance:none !important;height:48px;}
.ezo-chevron{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;pointer-events:none;fill:#121214;}

/* ── Calendrier Flatpickr (jours réservés) ── */
.flatpickr-day.ezo-booked-day{position:relative;color:var(--ezo-danger) !important;background:rgba(214,54,56,.06) !important;border-color:transparent !important;cursor:not-allowed !important;}
.ezo-booked-day .ezo-booked-bar{position:absolute;top:50%;left:15%;width:70%;height:2px;background:var(--ezo-danger);transform:translateY(-50%) rotate(-25deg);border-radius:2px;opacity:.85;pointer-events:none;}
.ezo-calendar-number{position:relative;z-index:1;}
.flatpickr-day{height:46px !important;line-height:1.3 !important;padding-top:5px !important;}
.ezo-day-price-tag{display:block;font-size:9px;font-weight:700;color:var(--ezo-primary);line-height:1;margin-top:1px;}
