/* FINAL54 / PATCH23. Scope minimal : aucune modification des moteurs métier. */
:root{--vc23-gold:#b9945d;--vc23-cream:rgba(255,249,238,.70)}
/* #1 #2 #3 — 3 choix égaux, mots indivisibles, unique V en haut à droite. */
body #retrait .paylist{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;align-items:stretch!important}
body #retrait .paylist>label{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-width:0!important;min-height:74px!important;width:100%!important;max-width:100%!important;padding:12px 25px 12px 8px!important;box-sizing:border-box!important;font-size:clamp(11px,1vw,14px)!important;line-height:1.25!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;overflow:hidden!important;text-overflow:clip!important;flex-wrap:nowrap!important;text-align:center!important}
body #retrait .paylist>label .vc-mono-delivery-label,body #retrait .paylist>label .vc-mono-market-label{flex:1 1 auto!important;min-width:0!important;max-width:100%!important;white-space:normal!important;word-break:keep-all!important;overflow-wrap:normal!important;hyphens:none!important;text-align:center!important}
body #retrait .paylist>label .vc-mono-delivery-label b,body #retrait .paylist>label .vc-mono-market-label b{font-size:inherit!important;white-space:normal!important;word-break:keep-all!important;overflow-wrap:normal!important;hyphens:none!important}
body #retrait .paylist>label input[type=radio]{position:absolute!important;left:9px!important;top:50%!important;transform:translateY(-50%)!important;margin:0!important;flex:none!important}
body #retrait .paylist>label.is-selected::after,body #retrait .paylist>label:has(input:checked)::after{content:'✓'!important;position:absolute!important;top:5px!important;right:6px!important;left:auto!important;bottom:auto!important;transform:none!important;background:#fff!important;color:#14824a!important;border:1px solid #14824a!important;border-radius:50%!important;font-size:12px!important;line-height:17px!important;width:18px!important;height:18px!important;text-align:center!important;z-index:2!important}
body #retrait .paylist>label .vc-check,body #retrait .paylist>label .checkmark,body #retrait .paylist>label>[aria-hidden=true]:not(input){display:none!important}
body #retrait .paylist>label:has(input[value=home]){background-color:#b9e5dc!important;color:#244a45!important}
body #retrait .paylist>label:has(input[value=parcel]),body #retrait .paylist>label:has(input[value=shipping]),body #retrait .paylist>label:has(input[value=colis]){background-color:#f1c5cb!important;color:#663039!important}
/* #4 - bouton carte : seulement le bouton explicitement reconnu */
.vc23-map{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;aspect-ratio:1!important;display:inline-grid!important;place-items:center!important;padding:4px!important;border-radius:8px!important;font-size:0!important;line-height:0!important;vertical-align:middle!important}
.vc23-map svg{width:36px!important;height:36px!important;display:block!important;max-width:100%!important;max-height:100%!important}
/* #5 - selects collecte et marché */
#retrait #market,#retrait #marketTime{border:2px solid var(--vc23-gold)!important;box-shadow:none!important;border-radius:9px!important}
/* #6 #7 - typographie du titre 4 ; synthèse d'aide marchée */
.vc23-heading4{font-family:Georgia,'Times New Roman',serif!important;color:#8e0d12!important;font-weight:700!important;text-transform:none!important}
.vc23-market-help{display:block!important;background:#d8d2c1!important;border:1.5px solid var(--vc23-gold)!important;border-radius:7px!important;color:#24443e!important;font:600 13px/1.4 Georgia,'Times New Roman',serif!important;padding:7px 10px!important;margin:8px 0!important}
/* #8 - BOUTONS2 uniquement : fond 30 % transparent ; texture optionnelle depuis ADMIN/FOND */
button.vc23-boutons2{position:relative!important;isolation:isolate!important;background:transparent!important;background-image:none!important;overflow:hidden!important}
button.vc23-boutons2::before{content:''!important;position:absolute!important;inset:0!important;background-image:var(--vc23-buttonselect-image,none)!important;background-color:#f8ecd9!important;background-size:cover!important;background-position:center!important;opacity:.70!important;z-index:-1!important;pointer-events:none!important;border-radius:inherit!important}
button.vc23-boutons2:hover::before{opacity:.82!important}
/* #9 - palette des réseaux restaurée, à droite de PRÉCOMMANDER */
.vc-cheese-nav{display:flex!important;align-items:center!important;flex-wrap:wrap!important}
.vc-cheese-nav .vc3048-banner-social.vc45-nav-social{position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;margin-left:12px!important;align-self:center!important;display:inline-flex!important;gap:8px!important}
.vc3048-banner-social.vc45-nav-social .fb{background-color:#1877f2!important;color:white!important}
.vc3048-banner-social.vc45-nav-social .ig{background:radial-gradient(circle at 30% 110%,#ffdc80 0,#f77737 30%,#c13584 60%,#833ab4 85%,#5851db 100%)!important;color:white!important}
.vc3048-banner-social.vc45-nav-social .wa{background-color:#25d366!important;color:white!important}
.vc3048-banner-social.vc45-nav-social svg{fill:currentColor!important;color:white!important}
/* #10 PRESS = même aspect que les autres documents */
.vc3048-nav .vc3048-doc.vc23-press{background:#050505!important;border:1.5px solid #bfc3c7!important;color:#d9dde1!important;border-radius:13px!important;box-shadow:none!important}
/* #14 un seul secours racine, seulement si les onglets d'origine sont réellement absents */
#vc23RecoveredAdmin{margin:12px 0 18px;padding:12px;border:1px solid var(--vc23-gold);border-radius:12px;background:rgba(246,234,210,.7)}
#vc23RecoveredAdmin h3{margin:0 0 5px;color:#7e1818}#vc23RecoveredAdmin p{font-size:12px;margin:0 0 10px}
#vc23RecoveredAdmin .vc23-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(152px,1fr));gap:8px}
#vc23RecoveredAdmin .vc23-admin-grid button{min-height:40px;padding:8px 10px;white-space:normal;overflow-wrap:break-word}
#vc23ButtonselectAdmin{margin:18px 0;padding:14px;border:2px solid var(--vc23-gold);border-radius:10px;background:rgba(248,236,217,.8)}
#vc23ButtonselectAdmin input{max-width:350px;margin-right:9px}#vc23ButtonselectAdmin output{display:block;margin-top:8px}
/* #15 #16: les seuls contrôles flottants publics disparaissent quand ADMIN est visible */
body.vc23-admin-active .vc-mono-cart-launcher,body.vc23-admin-active .vc3048-fixed-cart,body.vc23-admin-active .vc-cart-badge,body.vc23-admin-active .vc-v3-tv,body.vc23-admin-active .vc87-tv,body.vc23-admin-active .vc-final-tv-mini,body.vc23-admin-active .w105-tv-public,body.vc23-admin-active .w106-tv-public{display:none!important;pointer-events:none!important}
/* #17 : drapeaux visibles, sans remplacer le mécanisme de changement de langue */
.vc3048-top-tools .vc3048-flag.vc23-flag{font-size:18px!important;line-height:1.25!important;font-family:'Segoe UI Emoji','Apple Color Emoji',sans-serif!important;color:inherit!important;opacity:1!important;visibility:visible!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:30px!important;min-height:28px!important}
@media(max-width:620px){body #retrait .paylist{grid-template-columns:1fr!important}body #retrait .paylist>label{min-height:52px!important;justify-content:center!important}#vc23RecoveredAdmin .vc23-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* PATCH27 — correctifs de géométrie ciblés : aucune règle globale sur .card / .btn */
#retrait .paylist{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr))!important;gap:8px!important;max-width:100%!important}
#retrait .paylist>label{box-sizing:border-box!important;width:100%!important;min-width:0!important;white-space:normal!important;overflow-wrap:normal!important;word-break:keep-all!important;hyphens:none!important;padding:9px 24px 9px 26px!important;text-align:center!important;font-size:clamp(12px,1.2vw,15px)!important}
#retrait .paylist>label b{white-space:normal!important;word-break:keep-all!important;overflow-wrap:normal!important}
#retrait .paylist>label input[type=radio]{left:6px!important;flex:none!important}
#plateaux .vc-v3-public-trays{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))!important;gap:12px!important}
#plateaux .vc-v3-public-tray{min-width:0!important;max-width:100%!important;overflow:hidden!important}
#plateaux .vc-v3-public-tray img{max-width:100%!important;object-fit:contain!important}
.vc3048-nav [data-vc10116-pro] {display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
.vc3048-nav [data-vc10116-pro] img.vc10118-pro-photo{display:block!important;object-fit:cover!important;object-position:center!important;max-width:100%!important;max-height:100%!important;margin:0 auto!important;visibility:visible!important;opacity:1!important}
#vc48Hub .vc48-toolbar #vc27SearchValidate{flex:none!important;white-space:nowrap!important}
#vc27SearchDocs{margin:8px 0;max-height:275px;overflow:auto}
#vc27SearchDocs .vc27-drive-hit{margin:3px 0;padding:8px 10px;border:1px solid #b9945d;border-radius:7px;background:#fffaf0;overflow-wrap:anywhere;color:#483023}
#vc27SearchDocs .vc27-drive-hit a{display:inline-block;margin-left:12px;text-decoration:underline;color:#751822}
@keyframes vc27-blink{0%,40%,80%{outline:3px solid #b2152e;box-shadow:0 0 0 5px rgba(193,143,59,.35)}20%,60%,100%{outline:3px solid transparent;box-shadow:none}}
#adminContent button.vc27-flash{animation:vc27-blink .5s linear 4!important}
@media(max-width:630px){#retrait .paylist{grid-template-columns:repeat(auto-fit,minmax(min(100%,132px),1fr))!important}#retrait .paylist>label{font-size:12px!important;padding:8px 20px 8px 22px!important}}

/* PATCH28 — restauration prioritaire de l'intégrité des libellés (PV #1-3 et #22).
   Choix en colonne unique dans le panneau étroit : aucune coupure par caractère,
   aucune concurrence entre cases de sélection. */
html body.vc-mono-ready #retrait .paylist{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;max-width:100%!important}
html body.vc-mono-ready #retrait .paylist>label{width:100%!important;max-width:100%!important;min-width:0!important;min-height:52px!important;height:auto!important;padding:10px 34px 10px 24px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;overflow:hidden!important;box-sizing:border-box!important;line-height:1.25!important}
html body.vc-mono-ready #retrait .vc-mono-market-label b,html body.vc-mono-ready #retrait .vc-mono-delivery-label b{font-size:clamp(13px,1.2vw,15px)!important;white-space:normal!important;overflow-wrap:normal!important;word-break:keep-all!important;hyphens:none!important}
html body.vc-mono-ready #retrait .paylist>label input[type=radio]{left:8px!important;top:50%!important;transform:translateY(-50%)!important}
html body.vc-mono-ready #retrait .paylist>label .vc-check,html body.vc-mono-ready #retrait .paylist>label .checkmark,html body.vc-mono-ready #retrait .paylist>label>[aria-hidden=true]:not(input){display:none!important}
html body.vc-mono-ready #retrait .paylist>label.is-selected::after,html body.vc-mono-ready #retrait .paylist>label:has(input[type=radio]:checked)::after{right:7px!important;top:5px!important;left:auto!important;bottom:auto!important;transform:none!important;width:18px!important;height:18px!important;line-height:18px!important;font-size:12px!important;content:'✓'!important}

/* FINAL61/PATCH31 — PV oral 08/10/2026. Aucun style global .btn, .card, admin. */
body.vc31-admin-active #vc87Tv,body.vc31-admin-active .vc87-tv,body.vc31-admin-active .vc-v3-tv,body.vc31-admin-active .vc-final-tv-mini,body.vc31-admin-active [id*="TvFloating"],body.vc31-admin-active [id*="tvFloating"]{display:none!important;visibility:hidden!important;pointer-events:none!important}
/* Groupe A strict : l'image occupe le cadre, une seule légende accessible sur hover/focus */
html body .vc3048-nav .vc3048-doc.vc31-doc-a{position:relative!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-width:90px!important;width:112px!important;height:88px!important;min-height:88px!important;max-height:88px!important;padding:5px!important;overflow:hidden!important;border:1.5px solid #b9945d!important;border-radius:12px!important;background:#090909!important;background-image:none!important;box-shadow:none!important}
html body .vc3048-nav .vc3048-doc.vc31-doc-a>img{display:block!important;position:static!important;width:auto!important;height:70px!important;max-width:100%!important;max-height:100%!important;margin:auto!important;object-fit:contain!important;object-position:center!important;visibility:visible!important;opacity:1!important}
html body .vc3048-nav .vc3048-doc.vc31-doc-a>.vc31-doc-title{position:absolute!important;inset:auto 3px 3px!important;z-index:3!important;width:calc(100% - 6px)!important;max-height:40px!important;margin:0!important;padding:3px!important;min-height:0!important;line-height:1.15!important;text-align:center!important;color:white!important;background:rgba(0,0,0,.80)!important;font-size:11px!important;font-weight:600!important;white-space:normal!important;overflow:hidden!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}
html body .vc3048-nav .vc3048-doc.vc31-doc-a:hover>.vc31-doc-title,html body .vc3048-nav .vc3048-doc.vc31-doc-a:focus-visible>.vc31-doc-title{opacity:1!important;visibility:visible!important}
/* Réseaux : positionnement déjà propriétaire PATCH14, restauration chromatique stricte. */
html body .vc-cheese-nav .vc3048-banner-social.vc31-social{position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;margin:0 0 0 12px!important;transform:none!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;filter:none!important;opacity:1!important}
html body .vc-cheese-nav .vc31-social .fb{background:#1877f2!important;filter:none!important;opacity:1!important}
html body .vc-cheese-nav .vc31-social .ig{background:linear-gradient(135deg,#833ab4,#c13584,#e1306c,#f77737,#fcaf45)!important;filter:none!important;opacity:1!important}
html body .vc-cheese-nav .vc31-social .wa{background:#25d366!important;filter:none!important;opacity:1!important}
html body .vc-cheese-nav .vc31-social svg{fill:#fff!important;color:#fff!important;filter:none!important;opacity:1!important}
/* Les drapeaux occupent entièrement leur bouton, sans liseré, aucun changement des handlers FR/EN. */
html body .vc3048-top-tools .vc3048-flag.vc31-flag{display:grid!important;place-items:center!important;width:30px!important;height:23px!important;min-width:30px!important;min-height:23px!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;line-height:1!important;font-size:24px!important;overflow:hidden!important;opacity:1!important}
html body #cheeses .vc31-stock{display:table!important;margin:4px auto!important;padding:2px 7px!important;border-radius:5px!important;background:rgba(255,255,255,.5)!important;color:#2c211b!important;font-weight:700!important}
html body .vc3048-info-modal-body.vc31-history-body{max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow-wrap:anywhere!important;word-break:normal!important;text-align:center!important}
html body .vc3048-info-modal-body.vc31-history-body img{display:block!important;max-width:100%!important;height:auto!important;margin:0 auto 10px!important}
html body .vc23-map{width:48px!important;height:48px!important;min-width:48px!important;max-width:48px!important;padding:3px!important;font-size:0!important;line-height:0!important;overflow:hidden!important}
html body .vc23-map svg{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important}
html body .vc31-collection-summary{text-align:center!important}
html body #addressBox.vc31-delivery-info{border:1.5px solid #b9945d!important;border-radius:8px!important;background:rgba(255,250,239,.73)!important;padding:12px!important;margin-block:12px!important}
html body #addressBox.vc31-delivery-info #deliverySlotBox{margin-top:10px!important}
html body #retrait .paylist>label:has(input[type=radio]:checked)::before{content:none!important}
/* Validation buttons: one physical background at 30% visible opacity. */
html body button.vc23-boutons2{border:1.5px solid #b9945d!important}
html body button.vc23-boutons2::before{background-image:var(--vc23-buttonselect-image,none)!important;opacity:.3!important;background-size:cover!important;background-position:center!important}
/* Informations B, seulement elements informatifs déjà présents (aucune modalité métier). */
html body .vc3048-info,html body .vc23-market-help{border:1.5px solid #b9945d!important;background-image:linear-gradient(rgba(255,255,255,.7),rgba(255,255,255,.7)),var(--vc31-information-image,none)!important;background-position:center!important;background-size:cover!important}
@media(max-width:650px){html body .vc3048-nav .vc3048-doc.vc31-doc-a{width:91px!important;min-width:0!important;height:75px!important;min-height:75px!important;max-height:75px!important}html body .vc3048-nav .vc3048-doc.vc31-doc-a>img{height:60px!important}html body .vc-cheese-nav .vc3048-banner-social.vc31-social{margin-left:8px!important;gap:4px!important}html body .vc23-map{width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important}}
html body .vc3048-top-tools #vcFr3048.vc31-flag{font-size:0!important;background-color:transparent!important;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2030%2020%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h30v20H0z%22%2F%3E%3Cpath%20fill%3D%22%23002395%22%20d%3D%22M0%200h10v20H0z%22%2F%3E%3Cpath%20fill%3D%22%23ED2939%22%20d%3D%22M20%200h10v20H20z%22%2F%3E%3C%2Fsvg%3E")!important;background-repeat:no-repeat!important;background-size:100% 100%!important;background-position:center!important}
html body .vc3048-top-tools #vcEn3048.vc31-flag{font-size:0!important;background-color:transparent!important;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2060%2040%22%3E%3Cpath%20fill%3D%22%23012169%22%20d%3D%22M0%200h60v40H0z%22%2F%3E%3Cpath%20stroke%3D%22%23fff%22%20stroke-width%3D%229%22%20d%3D%22M0%200l60%2040M60%200L0%2040%22%2F%3E%3Cpath%20stroke%3D%22%23C8102E%22%20stroke-width%3D%223%22%20d%3D%22M0%200l60%2040M60%200L0%2040%22%2F%3E%3Cpath%20stroke%3D%22%23fff%22%20stroke-width%3D%2213%22%20d%3D%22M30%200v40M0%2020h60%22%2F%3E%3Cpath%20stroke%3D%22%23C8102E%22%20stroke-width%3D%227%22%20d%3D%22M30%200v40M0%2020h60%22%2F%3E%3C%2Fsvg%3E")!important;background-repeat:no-repeat!important;background-size:100% 100%!important;background-position:center!important}

/* PATCH36 - icone carte fournie (fond transparent), label accessible conserve. */
button.vc36-map-icon, a.vc36-map-icon{font-size:0!important;position:relative!important;min-width:43px!important;min-height:43px!important;line-height:0!important}
button.vc36-map-icon::after,a.vc36-map-icon::after{content:''!important;display:block!important;width:32px!important;height:32px!important;background:url('vc36-map-pin.png') center/contain no-repeat!important;margin:auto!important}
/* La grille principale reste la seule source de fonds des six fromages. */
#cheeses .vc-v3-cheese-card>.vc45-cheese-bg-layer{display:block!important;visibility:visible!important;opacity:1!important;z-index:0!important}
