/* ═══════════════════════════════════════════════════
   VS08 Circuits — Frontend Styles
   Design: Luxury editorial, matching vs08-theme
   Fonts: Playfair Display + Outfit
   Colors: Turquoise #59b7b7, Navy #0f2424, Warm #f9f6f0
   ═══════════════════════════════════════════════════ */

/* ── HERO ── */
.vc-hero { position:relative; height:72vh; min-height:520px; display:flex; align-items:flex-end; background-size:cover; background-position:center; }
.vc-hero-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(15,36,36,.95) 0%, rgba(15,36,36,.35) 55%, transparent 100%); }
.vc-hero-content { position:relative; z-index:2; padding:0 80px 60px; width:100%; }
.vc-hero-dest { display:inline-flex; align-items:center; gap:8px; background:rgba(89,183,183,.2); border:1px solid rgba(89,183,183,.35); color:#7ecece; padding:5px 14px; border-radius:100px; font-size:12px; font-weight:700; font-family:'Outfit',sans-serif; margin-bottom:14px; }
.vc-hero h1 { font-size:clamp(30px,4.5vw,54px); color:#fff; font-family:'Playfair Display',serif; line-height:1.1; margin-bottom:18px; max-width:760px; }
.vc-hero-meta { display:flex; gap:10px; flex-wrap:wrap; }
.vc-meta-chip { display:flex; align-items:center; gap:6px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.15); padding:6px 14px; border-radius:100px; font-size:12px; font-weight:600; color:#fff; font-family:'Outfit',sans-serif; }
.vc-badge { position:absolute; top:24px; left:80px; z-index:3; background:#e8724a; color:#fff; padding:6px 16px; border-radius:100px; font-size:12px; font-weight:700; font-family:'Outfit',sans-serif; letter-spacing:.5px; }

/* ── LAYOUT ── */
.vc-page { background:#f9f6f0; padding:50px 0 80px; }
.vc-inner { max-width:1400px; margin:0 auto; padding:0 80px; display:grid; grid-template-columns:1fr 400px; gap:40px; align-items:start; }

/* ── GALLERY MOSAIC ── */
.vc-gallery { display:grid; grid-template-columns:2fr 1fr; grid-template-rows:220px 220px; gap:8px; border-radius:18px; overflow:hidden; margin-bottom:28px; }
.vc-gal-item { overflow:hidden; cursor:pointer; position:relative; }
.vc-gal-item img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.vc-gal-item:hover img { transform:scale(1.06); }
.vc-gal-item:first-child { grid-row:span 2; }
.vc-gal-more { position:absolute; inset:0; background:rgba(15,36,36,.6); display:flex; align-items:center; justify-content:center; color:#fff; font-family:'Outfit',sans-serif; font-size:13px; font-weight:700; }

/* ── SECTIONS ── */
.vc-section { background:#fff; border-radius:18px; padding:28px; margin-bottom:18px; box-shadow:0 2px 10px rgba(0,0,0,.05); }
.vc-section-title { font-size:20px; font-weight:700; color:#0f2424; font-family:'Playfair Display',serif; margin-bottom:16px; display:flex; align-items:center; gap:8px; }

/* Points forts */
.vc-highlights { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:12px; margin-top:18px; }
.vc-hl { background:#edf8f8; border-radius:12px; padding:14px; text-align:center; }
.vc-hl-icon { font-size:22px; margin-bottom:6px; }
.vc-hl-val { font-family:'Playfair Display',serif; font-size:20px; font-weight:700; color:#3d9a9a; }
.vc-hl-lbl { font-size:10px; color:#6b7280; text-transform:uppercase; letter-spacing:1px; font-family:'Outfit',sans-serif; }

/* Description */
.vc-desc p { font-size:15px; color:#4a5568; line-height:1.8; font-family:'Outfit',sans-serif; margin-bottom:12px; }

/* ── ITINERARY TIMELINE ── */
.vc-itinerary { position:relative; }
.vc-day { border-left:2px solid #edf8f8; padding-left:20px; margin-bottom:24px; position:relative; cursor:pointer; }
.vc-day::before { content:''; position:absolute; left:-7px; top:6px; width:12px; height:12px; border-radius:50%; background:#59b7b7; border:3px solid #edf8f8; transition:all .3s; }
.vc-day:hover::before { transform:scale(1.3); box-shadow:0 0 0 4px rgba(89,183,183,.2); }
.vc-day:last-child { margin-bottom:0; }
.vc-day-header { display:flex; align-items:center; gap:12px; }
.vc-day-num { font-size:10px; font-weight:700; color:#59b7b7; text-transform:uppercase; letter-spacing:1.5px; font-family:'Outfit',sans-serif; flex-shrink:0; min-width:50px; }
.vc-day-title { font-size:16px; font-weight:700; color:#0f2424; font-family:'Playfair Display',serif; }
.vc-day-toggle { margin-left:auto; font-size:18px; color:#bbb; transition:transform .3s; }
.vc-day-body { margin-top:10px; display:none; }
.vc-day.open .vc-day-body { display:block; }
.vc-day.open .vc-day-toggle { transform:rotate(180deg); }
.vc-day-desc { font-size:13px; color:#6b7280; line-height:1.65; font-family:'Outfit',sans-serif; margin-bottom:10px; }
.vc-day-info { display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; }
.vc-day-info-item { display:flex; align-items:center; gap:5px; font-size:12px; color:#4a5568; font-family:'Outfit',sans-serif; background:#f9f6f0; padding:4px 10px; border-radius:100px; }
.vc-day-image { margin-top:12px; border-radius:12px; overflow:hidden; max-height:200px; }
.vc-day-image img { width:100%; height:200px; object-fit:cover; }
.vc-day-tags { display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
.vc-day-tag { background:#edf8f8; color:#3d9a9a; font-size:11px; padding:3px 9px; border-radius:100px; font-family:'Outfit',sans-serif; }

/* ── INCLUS / NON INCLUS ── */
.vc-inclus-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.vc-inclus-col h4 { font-size:14px; font-weight:700; color:#0f2424; margin-bottom:10px; font-family:'Outfit',sans-serif; }
.vc-inclus-list { list-style:none; padding:0; margin:0; }
.vc-inclus-list li { font-size:13px; color:#4a5568; font-family:'Outfit',sans-serif; display:flex; align-items:flex-start; gap:8px; line-height:1.5; margin-bottom:6px; }
.vc-inclus-list li .vc-check { color:#2d8a5a; font-weight:700; flex-shrink:0; }
.vc-inclus-list li .vc-cross { color:#dc2626; font-weight:700; flex-shrink:0; }

/* ── HOTELS LIST ── */
.vc-hotels-list { display:flex; flex-direction:column; gap:10px; }
.vc-hotel-card { display:flex; align-items:center; gap:14px; background:#f9f6f0; border-radius:12px; padding:14px; }
.vc-hotel-icon { font-size:24px; }
.vc-hotel-info { flex:1; }
.vc-hotel-name { font-size:14px; font-weight:700; color:#0f2424; font-family:'Playfair Display',serif; }
.vc-hotel-detail { font-size:12px; color:#6b7280; font-family:'Outfit',sans-serif; }
.vc-hotel-stars { color:#e8a948; font-size:12px; }
.vc-hotel-nights { background:#edf8f8; color:#3d9a9a; font-size:11px; font-weight:700; padding:4px 10px; border-radius:100px; font-family:'Outfit',sans-serif; white-space:nowrap; }

/* ── PRACTICAL INFO (repliables, 1 ligne = titre, déplier pour voir) ── */
.vc-practical-grid { display:grid; grid-template-columns:1fr; gap:10px; }
.vc-practical-card { background:#f9f6f0; border-radius:12px; overflow:hidden; border:1px solid rgba(0,0,0,.06); }
.vc-practical-card-header { width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 16px; background:transparent; border:none; cursor:pointer; font-family:'Outfit',sans-serif; text-align:left; transition:background .2s; line-height:1.3; }
.vc-practical-card-header:hover { background:rgba(89,183,183,.08); }
.vc-practical-card-header:focus { outline:2px solid #59b7b7; outline-offset:2px; }
.vc-practical-card-title { font-size:13px; font-weight:700; color:#0f2424; margin:0; }
.vc-practical-card-toggle { font-size:14px; color:#59b7b7; transition:transform .25s ease; flex-shrink:0; }
.vc-practical-card.open .vc-practical-card-toggle { transform:rotate(180deg); }
.vc-practical-card-body { padding:0 16px 14px; }
.vc-practical-card-body[hidden] { display:none !important; }
.vc-practical-card-body p { font-size:13px; color:#6b7280; line-height:1.6; font-family:'Outfit',sans-serif; margin:0; white-space:pre-line; padding-top:4px; }

/* ═══ CALCULATOR STICKY SIDEBAR ═══ */
.vc-calc-col { position:sticky; top:90px; display:flex; flex-direction:column; gap:16px; max-height:calc(100vh - 100px); overflow-y:auto; scrollbar-width:thin; scrollbar-color:#ddd transparent; }
.vc-calc-col::-webkit-scrollbar { width:5px; }
.vc-calc-col::-webkit-scrollbar-thumb { background:#ccc; border-radius:10px; }
.vc-calc-card { background:#fff; border-radius:22px; padding:28px; box-shadow:0 8px 40px rgba(0,0,0,.1); }
.vc-calc-title { font-family:'Playfair Display',serif; font-size:19px; font-weight:700; color:#0f2424; margin-bottom:4px; }
.vc-calc-sub { font-size:12px; color:#6b7280; font-family:'Outfit',sans-serif; margin-bottom:20px; }
.vc-field { margin-bottom:14px; }
.vc-field label { display:block; font-size:10px; font-weight:700; color:#1a3a3a; text-transform:uppercase; letter-spacing:1px; margin-bottom:5px; font-family:'Outfit',sans-serif; }
.vc-field select, .vc-field input { width:100%; border:1.5px solid #e5e7eb; border-radius:10px; padding:10px 12px; font-size:13px; font-family:'Outfit',sans-serif; color:#0f2424; background:#fafafa; outline:none; transition:border-color .2s; -webkit-appearance:none; box-sizing:border-box; }
.vc-field select:focus, .vc-field input:focus { border-color:#59b7b7; }
.vc-field-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.vc-required-dot { color:#e8724a; font-weight:700; }

/* Rooms section */
.vc-rooms-section { margin:14px 0; }
.vc-room-card { background:#f9f6f0; border-radius:10px; padding:12px; margin-bottom:8px; }
.vc-room-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.vc-room-title { font-size:12px; font-weight:700; color:#0f2424; font-family:'Outfit',sans-serif; }
.vc-room-remove { background:none; border:none; color:#dc2626; cursor:pointer; font-size:14px; }

/* Price result */
.vc-price-result { background:#f9f6f0; border-radius:14px; padding:18px; margin:16px 0; }
.vc-price-lines { margin-bottom:12px; }
.vc-price-line { display:flex; justify-content:space-between; padding:4px 0; font-size:12px; font-family:'Outfit',sans-serif; color:#4a5568; border-bottom:1px solid #ede9e0; }
.vc-price-line:last-child { border-bottom:none; }
/* Détail des lignes tarifaires dans la calc card */
.vc-debug-lines { margin-bottom:8px; border:1px solid #e8e4dc; border-radius:10px; padding:8px 10px; background:#fafaf8; }
.vc-debug-line { display:flex; justify-content:space-between; align-items:baseline; padding:4px 0; font-size:11px; font-family:'Outfit',sans-serif; color:#4a5568; border-bottom:1px solid #ede9e0; gap:8px; }
.vc-debug-line:last-child { border-bottom:none; }
.vc-debug-label { flex:1; color:#374151; font-size:11px; }
.vc-debug-detail { color:#9ca3af; font-size:10px; display:block; }
.vc-debug-val { font-weight:600; color:#0f2424; white-space:nowrap; font-size:12px; }
.vc-price-total { display:flex; justify-content:space-between; align-items:baseline; padding:12px 0 0; border-top:2px solid #0f2424; }
.vc-price-total-label { font-size:11px; color:#6b7280; text-transform:uppercase; letter-spacing:1px; font-family:'Outfit',sans-serif; }
.vc-price-total-val { font-family:'Playfair Display',serif; font-size:28px; font-weight:700; color:#0f2424; }
.vc-price-pp { font-size:12px; color:#6b7280; font-family:'Outfit',sans-serif; text-align:right; margin-top:2px; }
.vc-acompte-line { display:flex; justify-content:space-between; padding:8px 0 0; font-size:12px; font-family:'Outfit',sans-serif; color:#e8724a; }

/* CTA Button */
.vc-cta-btn { display:block; width:100%; padding:16px; background:linear-gradient(135deg,#59b7b7,#3d9a9a); color:#fff; border:none; border-radius:14px; font-family:'Outfit',sans-serif; font-size:15px; font-weight:700; cursor:pointer; text-align:center; transition:all .3s; letter-spacing:.3px; text-decoration:none; margin-top:16px; }
.vc-cta-btn:hover { background:linear-gradient(135deg,#4aa8a8,#2d8a8a); transform:translateY(-1px); box-shadow:0 6px 20px rgba(89,183,183,.35); }
.vc-cta-btn:disabled { opacity:.5; cursor:not-allowed; }

/* Contact CTA */
.vc-contact-card { background:linear-gradient(135deg,#0f2424,#1a4a4a); border-radius:18px; padding:24px; text-align:center; }
.vc-contact-card h3 { color:#fff; font-family:'Playfair Display',serif; font-size:16px; margin:0 0 8px; }
.vc-contact-card p { color:rgba(255,255,255,.6); font-size:12px; font-family:'Outfit',sans-serif; margin:0 0 14px; }
.vc-contact-phone { display:inline-flex; align-items:center; gap:8px; color:#7ecece; font-family:'Outfit',sans-serif; font-size:15px; font-weight:700; text-decoration:none; }
.vc-contact-phone:hover { color:#fff; }

/* ═══ VOL STATUS ═══ */
.vc-vol-status { font-size:11px; padding:6px 10px; border-radius:8px; font-family:'Outfit',sans-serif; margin-top:5px; display:none; }
.vc-vol-status.loading { background:#fff3e8; color:#b85c1a; display:block; }
.vc-vol-status.loaded { background:#e8f8f0; color:#2d8a5a; display:block; }
.vc-vol-status.error { background:#fee2e2; color:#dc2626; display:block; }

/* ═══ DATE STEP ═══ */
.vc-date-hint { font-size:12px; color:#6b7280; margin:6px 0 0; font-style:italic; font-family:'Outfit',sans-serif; }
.vc-step-date:not(.vc-date-active) .vc-date-hint { display:block !important; }
.vc-step-date.vc-date-active .vc-date-hint { display:none !important; }
.vc-calc-hint { background:#edf8f8; border:1px solid rgba(89,183,183,.25); border-radius:10px; padding:10px 12px; font-size:12px; color:#1a3a3a; margin-bottom:18px; font-family:'Outfit',sans-serif; }

/* ═══ PRICE LOADING ═══ */
.vc-price-loading { text-align:center; padding:14px; color:#9ca3af; font-family:'Outfit',sans-serif; font-size:13px; }

/* ═══ REASSURANCE (bloc type voyages golf) ═══ */
.vc-reassurance { border-top:1px solid #f0f0f0; margin-top:14px; padding-top:12px; display:flex; flex-direction:column; gap:8px; }
.vc-reass { font-size:11px; color:#6b7280; font-family:'Outfit',sans-serif; display:flex; gap:7px; align-items:flex-start; line-height:1.4; }
.vc-reass-icon { flex-shrink:0; font-size:13px; }

/* ═══ ACTIONS — menu 1 bouton par ligne ═══ */
.vc-actions-card { display:flex; flex-direction:column; gap:7px; margin-top:16px; }
.vc-action-btn { display:flex; align-items:center; justify-content:center; gap:7px; padding:10px 16px; border-radius:10px; font-size:12px; font-weight:700; font-family:'Outfit',sans-serif; cursor:pointer; border:none; text-decoration:none; transition:all .2s; width:100%; box-sizing:border-box; }
.vc-action-print { background:#e7e078; color:#0f2424; }
.vc-action-print:hover { background:#d4cc55; }
.vc-action-mail { background:#59b7b7; color:#fff; }
.vc-action-mail:hover { background:#3d9a9a; }
.vc-action-pdf { background:#e87460; color:#fff; }
.vc-action-pdf:hover { background:#c4503c; }
.vc-action-msg { background:#6366f1; color:#fff; }
.vc-action-msg:hover { background:#4f46e5; }

/* ═══ DEVIS PERSONNALISÉ (bloc type voyages golf) ═══ */
.vc-devis-card { background:linear-gradient(145deg,#0f2424,#1a4a3a); border-radius:18px; padding:22px; text-align:center; margin-top:16px; }
.vc-devis-card h3 { font-family:'Playfair Display',serif; font-size:16px; color:#fff; margin:8px 0 8px; }
.vc-devis-card p { font-size:12px; color:rgba(255,255,255,.65); margin:0 0 16px; line-height:1.55; font-family:'Outfit',sans-serif; }
.vc-devis-btn { display:flex; align-items:center; justify-content:center; gap:8px; background:#e8724a; color:#fff; border:none; padding:13px 20px; border-radius:11px; font-size:13px; font-weight:700; font-family:'Outfit',sans-serif; cursor:pointer; text-decoration:none; transition:all .2s; width:100%; box-sizing:border-box; }
.vc-devis-btn:hover { background:#d4603c; transform:translateY(-2px); }

/* ═══ OPTIONS SECTION — Premium Cards ═══ */
.vc-options-grid { display:flex; flex-direction:column; gap:10px; }
.vc-option-card {
    display:flex; align-items:center; gap:14px;
    background:#fff; border:1.5px solid #e5e7eb; border-radius:14px;
    padding:16px 18px; transition:all .3s;
}
.vc-option-card:hover { border-color:#b7dfdf; box-shadow:0 2px 12px rgba(89,183,183,.08); }
.vc-option-card.selected { border-color:#59b7b7; background:#f0fafa; }
.vc-option-icon {
    width:40px; height:40px; border-radius:10px;
    background:linear-gradient(135deg,#edf8f8,#d4f0f0);
    display:flex; align-items:center; justify-content:center;
    font-size:18px; flex-shrink:0;
}
.vc-option-card.selected .vc-option-icon { background:linear-gradient(135deg,#59b7b7,#3d9a9a); }
.vc-option-info { flex:1; }
.vc-option-name { font-size:14px; font-weight:700; color:#0f2424; font-family:'Outfit',sans-serif; }
.vc-option-price { font-size:12px; color:#59b7b7; font-weight:600; font-family:'Outfit',sans-serif; margin-top:2px; }

/* Toggle switch */
.vc-option-toggle { position:relative; display:inline-block; width:44px; height:24px; flex-shrink:0; cursor:pointer; }
.vc-option-toggle input { opacity:0; width:0; height:0; }
.vc-option-slider {
    position:absolute; inset:0; background:#e0e0e0; border-radius:24px;
    transition:all .3s;
}
.vc-option-slider::before {
    content:''; position:absolute; width:18px; height:18px;
    left:3px; bottom:3px; background:#fff; border-radius:50%;
    transition:all .3s; box-shadow:0 1px 3px rgba(0,0,0,.15);
}
.vc-option-toggle input:checked + .vc-option-slider { background:linear-gradient(135deg,#59b7b7,#3d9a9a); }
.vc-option-toggle input:checked + .vc-option-slider::before { transform:translateX(20px); }

/* ═══ LIGHTBOX ═══ */
.vc-lightbox { position:fixed; inset:0; z-index:99999; background:rgba(0,0,0,.92); display:none; align-items:center; justify-content:center; }
.vc-lightbox.active { display:flex; }
.vc-lightbox img { max-width:90vw; max-height:85vh; border-radius:12px; }
.vc-lightbox-close { position:absolute; top:20px; right:24px; color:#fff; font-size:32px; cursor:pointer; background:none; border:none; }
.vc-lightbox-nav { position:absolute; top:50%; transform:translateY(-50%); color:#fff; font-size:40px; cursor:pointer; background:rgba(255,255,255,.1); border:none; border-radius:50%; width:50px; height:50px; display:flex; align-items:center; justify-content:center; }
.vc-lightbox-prev { left:20px; }
.vc-lightbox-next { right:20px; }

/* ═══ RESPONSIVE ═══ */
@media (max-width:1024px) {
    .vc-inner { grid-template-columns:1fr; padding:0 24px; }
    .vc-hero-content { padding:0 24px 40px; }
    .vc-badge { left:24px; }
    .vc-calc-col { position:static; }
    .vc-gallery { grid-template-rows:180px 180px; }
    .vc-inclus-grid { grid-template-columns:1fr; }
    .vc-practical-grid { grid-template-columns:1fr; }
}
@media (max-width:640px) {
    .vc-hero { height:55vh; min-height:400px; }
    .vc-hero-content { padding:0 16px 32px; }
    .vc-badge { left:16px; top:16px; }
    .vc-gallery { grid-template-columns:1fr; grid-template-rows:200px; }
    .vc-gal-item:first-child { grid-row:span 1; }
    .vc-gal-item:nth-child(n+2) { display:none; }
    .vc-gal-item:nth-child(2) { display:block; }
    .vc-hero-meta { gap:6px; }
    .vc-meta-chip { font-size:11px; padding:4px 10px; }
    .vc-section { padding:20px; border-radius:14px; }
    .vc-highlights { grid-template-columns:1fr 1fr; }
    .vc-day-header { flex-direction:column; align-items:flex-start; gap:4px; }
    .vc-inner { padding:0 14px; }
    .vc-field-row { grid-template-columns:1fr; }
}
@media (max-width:480px) {
    .vc-hero { height:45vh; min-height:320px; }
    .vc-calc-card { padding:20px; border-radius:16px; }
    .vc-price-total-val { font-size:22px; }
    .vc-section { margin-bottom:16px; }
}

/* ═══ CHECKOUT — Récap WooCommerce ═══ */
.vs08c-woo-recap { font-family:'Outfit',sans-serif; }
.vs08c-woo-recap h3,
.vs08c-woo-recap h4 { font-family:'Playfair Display',serif; margin:12px 0 8px; color:#0f2424; }
.vs08c-woo-recap h3 { font-size:18px; border-bottom:2px solid #59b7b7; padding-bottom:8px; }
.vs08c-woo-recap h4 { font-size:14px; color:#59b7b7; text-transform:uppercase; letter-spacing:.5px; border-top:1px solid #e8e4dc; padding-top:12px; }
.vs08c-woo-recap table { width:100%; border-collapse:collapse; margin-bottom:12px; }
.vs08c-woo-recap td { padding:6px 8px; font-size:13px; vertical-align:top; border-bottom:1px solid #f0ece4; }
.vs08c-woo-recap td:first-child { color:#6b7280; }
.vs08c-woo-recap td:last-child { text-align:right; font-weight:600; white-space:nowrap; color:#0f2424; }
.vs08c-woo-recap small { font-size:11px; display:block; font-weight:400; color:#9ca3af; }

/* ═══ PRINT — éléments visibles uniquement à l'impression ═══ */
.vc-print-header,
.vc-print-footer { display:none; }

/* ═══ IMPRESSION / PDF — circuit propre ═══ */
@media print {
    /* ── En-tête de marque ── */
    .vc-print-header { display:flex !important; align-items:center; justify-content:space-between; padding:12px 30px; border-bottom:2px solid #59b7b7; margin-bottom:0; }
    .vc-print-logo { height:36px; width:auto; }
    .vc-print-header-right { display:flex; flex-direction:column; align-items:flex-end; gap:2px; font-family:'Outfit', Arial, sans-serif; font-size:10px; color:#6b7280; }
    /* ── Pied de page de marque ── */
    .vc-print-footer { display:flex !important; flex-direction:column; align-items:center; gap:2px; padding:14px 30px 8px; border-top:1px solid #ddd; margin-top:16px; font-family:'Outfit', Arial, sans-serif; font-size:9px; color:#9ca3af; text-align:center; }
    /* Force couleurs */
    * { -webkit-print-color-adjust:exact !important; print-color-adjust:exact !important; }

    /* ── Masquer tout ce qui est inutile en print ── */
    .vc-calc-col,
    .vc-actions-card,
    .vc-devis-card,
    .vc-reassurance,
    .vc-badge,
    .vc-cta-btn,
    .vc-day-toggle,
    .vc-practical-card-toggle,
    .vc-option-toggle,
    .vc-option-slider,
    .vc-lightbox,
    .vc-gal-more,
    .no-print,
    /* Thème header / footer / admin bar */
    #wpadminbar,
    .header, #header, .nav-bar, .announce, .mega-nav,
    footer, .ft, .site-footer, #colophon
    { display:none !important; visibility:hidden !important; height:0 !important; overflow:hidden !important; }

    /* ── Reset page ── */
    html, body { background:#fff !important; color:#1a1a1a !important; margin:0 !important; padding:0 !important; font-family:'Outfit', Arial, sans-serif !important; font-size:12px !important; line-height:1.5 !important; }
    a { color:inherit !important; text-decoration:none !important; }

    /* ── Hero compact avec image ── */
    .vc-hero { min-height:180px !important; height:180px !important; page-break-after:avoid; }
    .vc-hero-overlay { background:linear-gradient(to top, rgba(15,36,36,.85) 0%, rgba(15,36,36,.2) 60%, transparent 100%) !important; }
    .vc-hero-content { padding:0 30px 20px !important; }
    .vc-hero h1 { font-size:24px !important; margin-bottom:10px !important; }
    .vc-hero-dest { font-size:11px !important; margin-bottom:8px !important; padding:3px 10px !important; }
    .vc-hero-meta { gap:6px !important; }
    .vc-meta-chip { font-size:10px !important; padding:3px 8px !important; background:rgba(255,255,255,.15) !important; border-color:rgba(255,255,255,.2) !important; }

    /* ── Layout : 1 colonne, pas de sidebar ── */
    .vc-page { background:#fff !important; padding:0 !important; }
    .vc-inner { display:block !important; padding:0 30px !important; max-width:100% !important; }
    .vc-main { max-width:100% !important; width:100% !important; }

    /* ── Gallery : 1 seule image, petite ── */
    .vc-gallery { display:block !important; margin-bottom:16px !important; }
    .vc-gal-item { display:none !important; }
    .vc-gal-item:first-child { display:block !important; border-radius:10px !important; overflow:hidden !important; height:160px !important; }
    .vc-gal-item:first-child img { height:160px !important; object-fit:cover !important; }

    /* ── Sections propres ── */
    .vc-section { box-shadow:none !important; border:none !important; border-bottom:1px solid #e0e0e0 !important; border-radius:0 !important; padding:16px 0 !important; margin-bottom:0 !important; page-break-inside:avoid; }
    .vc-section-title { font-size:15px !important; margin-bottom:10px !important; color:#0f2424 !important; }
    .vc-desc p { font-size:12px !important; line-height:1.6 !important; margin-bottom:8px !important; color:#333 !important; }

    /* ── Points forts ── */
    .vc-highlights { gap:8px !important; margin-top:10px !important; }
    .vc-hl { padding:8px !important; background:#f5f5f5 !important; border:1px solid #e0e0e0 !important; }
    .vc-hl-icon { font-size:16px !important; margin-bottom:2px !important; }
    .vc-hl-val { font-size:15px !important; }
    .vc-hl-lbl { font-size:8px !important; }

    /* ── Itinéraire : tout déplié ── */
    .vc-day-body { display:block !important; visibility:visible !important; }
    .vc-day { page-break-inside:avoid; margin-bottom:12px !important; padding-left:14px !important; }
    .vc-day::before { width:8px !important; height:8px !important; left:-5px !important; top:5px !important; }
    .vc-day-header { gap:8px !important; }
    .vc-day-num { font-size:9px !important; min-width:40px !important; }
    .vc-day-title { font-size:13px !important; }
    .vc-day-desc { font-size:11px !important; line-height:1.5 !important; }
    .vc-day-info { gap:6px !important; }
    .vc-day-info-item { font-size:10px !important; padding:2px 6px !important; }
    .vc-day-image { max-height:120px !important; margin-top:8px !important; }
    .vc-day-image img { height:120px !important; }
    .vc-day-tags { margin-top:4px !important; }
    .vc-day-tag { font-size:9px !important; padding:2px 6px !important; }

    /* ── Options : afficher sans toggle ── */
    .vc-option-card { border:1px solid #e0e0e0 !important; border-radius:8px !important; padding:10px 12px !important; page-break-inside:avoid; }
    .vc-option-icon { width:28px !important; height:28px !important; font-size:14px !important; border-radius:6px !important; }
    .vc-option-name { font-size:12px !important; }
    .vc-option-price { font-size:11px !important; color:#333 !important; }

    /* ── Hôtels ── */
    .vc-hotel-card { padding:10px !important; border:1px solid #e0e0e0 !important; border-radius:8px !important; page-break-inside:avoid; background:#fafafa !important; }
    .vc-hotel-name { font-size:12px !important; }
    .vc-hotel-detail { font-size:10px !important; }
    .vc-hotel-nights { font-size:9px !important; padding:2px 6px !important; }

    /* ── Inclus / Non inclus ── */
    .vc-inclus-grid { gap:12px !important; }
    .vc-inclus-col h4 { font-size:12px !important; margin-bottom:6px !important; }
    .vc-inclus-list li { font-size:11px !important; margin-bottom:3px !important; }

    /* ── Infos pratiques : tout déplié ── */
    .vc-practical-card { border:1px solid #e0e0e0 !important; border-radius:8px !important; page-break-inside:avoid; background:#fafafa !important; }
    .vc-practical-card-header { cursor:default !important; padding:8px 12px !important; }
    .vc-practical-card-title { font-size:12px !important; }
    .vc-practical-card-body,
    .vc-practical-card-body[hidden] { display:block !important; visibility:visible !important; padding:4px 12px 10px !important; }
    .vc-practical-card-body p { font-size:11px !important; line-height:1.5 !important; color:#333 !important; }

    /* ── Conditions d'annulation ── */
    .vc-section:last-child { border-bottom:none !important; }
}
