/* FINAL40 PATCH9 — stabilisation UI/photos/fonds/ergonomie */
:root{--vc40-cream:#f7efe3;--vc40-cream-2:#fbf6ee;--vc40-brown:#3b2a22;--vc40-red:#971b22;--vc40-red-strong:#a3131c;--vc40-gold:#c7a76a;--vc40-teal:#6d938e;--vc40-shadow:0 10px 22px rgba(0,0,0,.10)}

/* Neutraliser les cadres fantômes/masques vides */
.vc40-hidden-mask{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}

/* Boutons et CTA : couleurs stables */
.vc40-solid-cream{background:var(--vc40-cream)!important;color:var(--vc40-brown)!important;border:1.4px solid var(--vc40-gold)!important;text-shadow:none!important;opacity:1!important;box-shadow:0 4px 10px rgba(0,0,0,.06)!important}
.vc40-solid-red{background:var(--vc40-red)!important;color:#fff!important;border:1.4px solid var(--vc40-gold)!important;text-shadow:none!important;opacity:1!important;box-shadow:0 5px 12px rgba(105,19,24,.18)!important}
.vc40-solid-gold{background:var(--vc40-gold)!important;color:#231b18!important;border:1.4px solid var(--vc40-gold)!important;text-shadow:none!important;opacity:1!important}
.vc40-solid-teal{background:var(--vc40-teal)!important;color:#fff!important;border:1.4px solid var(--vc40-gold)!important;text-shadow:none!important;opacity:1!important}

#checkout,#sendOrder,#vcV3CartValidate,.vc-v3-cart-validate{background:var(--vc40-red)!important;color:#fff!important;border:1.4px solid var(--vc40-gold)!important;opacity:1!important;text-shadow:none!important}
#checkout:disabled,#sendOrder:disabled,#vcV3CartValidate:disabled,.vc-v3-cart-validate:disabled{background:var(--vc40-red)!important;color:#fff!important;opacity:.75!important}
#vc37FormationToggle{background:var(--vc40-gold)!important;color:#231b18!important;border-color:var(--vc40-gold)!important}

/* Titres */
#clientPage .title,#clientPage>main h1,#clientPage>main h2,#clientPage>main h3,#fromages>h3,#cheesesTitle,.vc38-blood-title{color:var(--vc40-red-strong)!important;text-shadow:0 1px 1px rgba(0,0,0,.18)!important}
#clientPage > main h2,#fromages>h3{font-size:clamp(38px,4.3vw,64px)!important;line-height:1.03!important}

/* Cadres fromage : gabarit validé, moins haut, boutons bien placés */
#cheeses .vc-v3-cheese-card,.cheese.vc-v3-cheese-card{padding:16px 18px 14px!important;border-color:var(--vc40-gold)!important;border-radius:18px!important;min-height:0!important;box-shadow:var(--vc40-shadow)!important;background-color:#e8ddc9!important;overflow:hidden!important}
#cheeses .vc-v3-cheese-photo-frame{display:flex!important;align-items:center!important;justify-content:center!important;min-height:0!important;height:auto!important;margin:0 auto 8px!important;background:transparent!important;border:0!important;box-shadow:none!important}
#cheeses .vc-v3-cheese-photo{display:block!important;max-width:min(360px,84%)!important;max-height:290px!important;width:auto!important;height:auto!important;object-fit:contain!important;image-rendering:auto!important;filter:drop-shadow(0 4px 10px rgba(0,0,0,.12))}
#cheeses .name{font-size:clamp(28px,3vw,52px)!important;line-height:1.02!important;text-align:center!important;color:#fff!important;text-shadow:0 2px 5px rgba(0,0,0,.26)!important}
#cheeses .v38-stock{margin-top:4px!important;font-size:clamp(18px,1.5vw,28px)!important;line-height:1.1!important;text-align:center!important;color:#fff!important;text-shadow:0 1px 4px rgba(0,0,0,.25)!important}
#cheeses .v38-qty{display:flex!important;align-items:center!important;justify-content:center!important;gap:16px!important;margin-top:10px!important;margin-bottom:6px!important}
#cheeses .v38-qty button{width:52px!important;height:52px!important;border-radius:10px!important;background:rgba(255,255,255,.52)!important;color:#3a2a22!important;border:1.4px solid var(--vc40-gold)!important;font-size:34px!important;line-height:1!important}
#cheeses .v38-qty .qty{min-width:24px!important;text-align:center!important;font-size:28px!important;color:#fff!important;font-weight:700!important;text-shadow:0 1px 3px rgba(0,0,0,.22)!important}
#cheeses .trash{margin-top:8px!important}
#cheeses .vc-v3-info-actions{display:grid!important;grid-template-columns:300px 1fr!important;gap:14px!important;align-items:stretch!important;margin-top:10px!important}
#cheeses .vc-v3-info-btn,#cheeses .vc-v3-saveurs-btn,#cheeses .vc-d21-taste-btn,#cheeses .icon{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;min-height:66px!important;height:66px!important;padding:8px 14px!important;border:1.4px solid var(--vc40-gold)!important;border-radius:18px!important;background:rgba(255,255,255,.92)!important;color:#4e2d22!important;text-shadow:none!important;box-sizing:border-box!important;white-space:normal!important;overflow:hidden!important}
#cheeses .vc-v3-info-btn span,#cheeses .vc-v3-saveurs-btn span,#cheeses .vc-d21-taste-btn span,#cheeses .icon span{display:block!important;flex:1!important;text-align:left!important;font-size:23px!important;line-height:1.08!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
#cheeses .vc-v3-info-btn-photo,#cheeses .vc-v3-saveurs-btn img,#cheeses .vc-d21-taste-btn img,#cheeses .icon img{width:42px!important;height:42px!important;object-fit:contain!important;border-radius:10px!important;background:#fff!important;flex:0 0 42px!important}
#cheeses .small{display:none!important}

/* Livraison / collecte / envoi : aucun texte coupé */
#retrait .paylist{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;align-items:stretch!important}
#retrait .paylist label{min-width:0!important;width:auto!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;padding:12px 14px!important;border-radius:16px!important;line-height:1.18!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;overflow:visible!important;text-overflow:clip!important;font-size:clamp(15px,1.06vw,19px)!important;box-sizing:border-box!important}
#retrait .paylist label input{flex:0 0 auto!important}
#panier .vc-mono-logistics strong{display:block!important}
#panier .vc39-market-period{display:block!important;text-align:center!important;font-weight:700!important;margin-top:4px!important}

/* Bloc d’aide lisible, non superposé */
.vc40-readable-note{display:block!important;background:rgba(255,255,255,.78)!important;color:#402e28!important;padding:10px 12px!important;border-radius:12px!important;border:1px solid rgba(199,167,106,.72)!important;text-shadow:none!important;box-shadow:0 4px 12px rgba(0,0,0,.05)!important;backdrop-filter:none!important}

/* Profil personne / entreprise */
#vc1020ProfileExtras .vc1020-profile-tabs{display:none!important}
#vc40ProfileTypeRow{display:flex;flex-wrap:wrap;gap:18px;margin:2px 0 10px;align-items:center}
#vc40ProfileTypeRow label{display:inline-flex;align-items:center;gap:8px;color:#3e2c24;font-weight:700}
#vc40ProfileTypeRow input[type="radio"]{width:15px;height:15px;accent-color:#8f1b16}
#vc1020ProfileExtras .vc1020-billing-row{display:flex!important;align-items:center!important;gap:8px!important;font-size:14px!important}
#vc1020ProfileExtras .vc1020-billing-row input{width:15px!important;height:15px!important;accent-color:#8f1b16}

/* Formation : overlay + fenêtre flottante */
#vc40TrainingDetailOverlay{position:fixed;inset:0;display:none;align-items:flex-start;justify-content:center;padding:36px 18px;z-index:190500;background:rgba(18,12,9,.28)}
#vc40TrainingDetailOverlay.open{display:flex}
#vc40TrainingDetail{position:relative;width:min(1080px,96vw);max-height:86vh;overflow:auto;border:1.5px solid var(--vc40-gold);border-radius:20px;background:rgba(255,249,240,.92);box-shadow:0 28px 90px rgba(0,0,0,.26);color:#2f211c}
#vc40TrainingDetail.vc40-draggable{cursor:grab}
#vc40TrainingDetail.vc40-dragging{cursor:grabbing}
#vc40TrainingDetail .vc40-inner{position:relative;padding:22px 24px 24px}
#vc40TrainingDetail .vc40-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.5;border-radius:20px;pointer-events:none}
#vc40TrainingDetail .vc40-content{position:relative;z-index:1;background:rgba(255,255,255,.82);border:1px solid rgba(199,167,106,.72);border-radius:18px;padding:18px}
#vc40TrainingDetail .vc40-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}
#vc40TrainingDetail .vc40-title{font-size:clamp(30px,3vw,48px);line-height:1.04;color:#7f151b;font-weight:700}
#vc40TrainingDetail .vc40-meta{font-size:20px;line-height:1.3;color:#3a2d27;margin-top:4px}
#vc40TrainingDetail .vc40-body{font-size:18px;line-height:1.5;color:#2d241f;white-space:pre-wrap}
#vc40TrainingDetail .vc40-docs{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-top:16px}
#vc40TrainingDetail .vc40-doc{display:block;text-decoration:none;color:#2d241f;background:rgba(255,255,255,.94);border:1px solid rgba(199,167,106,.8);border-radius:14px;padding:10px}
#vc40TrainingDetail .vc40-doc img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:#fff}
#vc40TrainingDetail .vc40-doc .vc40-label{margin-top:8px;text-align:center;font-weight:700}

/* Panier/logistique : ligne 2 centrée uniquement sur le moment */
#panier .vc40-market-moment{display:block;text-align:center;font-weight:700}

/* Social / entête */
.vc40-social-round{background:rgba(255,255,255,.20)!important;border-color:var(--vc40-gold)!important;color:#fff!important}

/* Responsive */
@media (max-width:900px){
  #cheeses .vc-v3-cheese-photo{max-width:min(92%,320px)!important;max-height:250px!important}
  #cheeses .vc-v3-info-actions{grid-template-columns:1fr 1fr!important;gap:10px!important}
  #cheeses .vc-v3-info-btn span,#cheeses .vc-v3-saveurs-btn span,#cheeses .vc-d21-taste-btn span,#cheeses .icon span{font-size:17px!important}
  #retrait .paylist{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  #retrait .paylist label{padding:10px 8px!important;font-size:12px!important;line-height:1.15!important}
}
@media (max-width:720px){
  #cheeses .vc-v3-info-actions{grid-template-columns:1fr!important}
  #cheeses .vc-v3-cheese-card{padding:14px 12px!important}
  #cheeses .name{font-size:clamp(24px,8vw,38px)!important}
  #cheeses .v38-stock{font-size:clamp(16px,5.2vw,22px)!important}
  #retrait .paylist{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #retrait .paylist label{font-size:11px!important}
  #vc40TrainingDetail .vc40-inner{padding:12px}
  #vc40TrainingDetail .vc40-content{padding:12px}
}
