/* AB3D Consent : styles repris du site (boutons style.css 266-301, fenêtre ab3d-tools, bouton icône Mélia).
   Refus neutre : bouton « Annuler » de ab3d-tools (class-ab3d-tk-account-delete.php, .ab3d-tk-acc-cancel : fond #fff, bordure #e8e8e8, survol #f5f5f5 / #d8d8d8), texte #6f6f6f du guide de style.
   Voile du style centré : rgba(43,43,43,.55) de la fenêtre ab3d-tools (.ab3d-tk-acc-modal-back). */
.ab3d-consent-root{font-family:'Lato',Helvetica,Arial,sans-serif;font-size:14px;line-height:1.6;color:#2B2B2B}
.ab3d-consent-root *{box-sizing:border-box}
.ab3d-consent-root a{color:#A85A12;font-weight:600;text-decoration:underline}
.ab3d-consent-root a:hover{color:#FD9644}
.ab3d-consent-root :focus-visible{outline:2px solid #A85A12;outline-offset:2px}
.ab3d-consent-root .ab3d-consent-banner:focus,.ab3d-consent-root .ab3d-consent-banner:focus-visible{outline:none}
:where(.ab3d-consent-root) p{margin:0}
/* 1er niveau : visible seulement tant qu'aucun choix n'est fait (pas de flash, rien sans JavaScript) */
.ab3d-consent-banner{display:none;position:fixed;left:8px;right:8px;bottom:calc(96px + env(safe-area-inset-bottom,0px));max-height:calc(100vh - 112px);max-height:calc(100dvh - 112px);overflow:auto;z-index:2147482990;background:#fff;border:1px solid #E8E8E8;border-radius:14px;box-shadow:0 18px 40px rgba(43,43,43,.13);padding:20px 18px}
html[data-ab3d-consent="ask"] .ab3d-consent-banner{display:block}
.ab3d-consent-title{font-family:'Raleway',Helvetica,Arial,sans-serif;font-size:20px;font-weight:600;margin:0 0 8px}
/* Marge réservée à la croix : seulement si elle est affichée */
.ab3d-consent-root[data-ab3d-close="1"] .ab3d-consent-title{margin-right:52px}
.ab3d-consent-text{margin:0 0 16px}
.ab3d-consent-test{margin:0 0 16px;padding:10px 14px;background:#fff7ec;border:1px solid #f0c887;border-left:4px solid #fd9644;border-radius:8px;color:#8a5a1b;font-size:13.5px}
.ab3d-consent-actions{display:flex;flex-direction:column;gap:10px}
/* Boutons : Lato 20/600, 50px mini, rayon 8px. Pas de « -btn » dans les noms (règle du thème). */
.ab3d-consent-root .ab3d-consent-b{display:inline-flex;align-items:center;justify-content:center;min-height:50px;margin:0;padding:10px 20px;font-family:'Lato',Helvetica,Arial,sans-serif;font-size:20px;font-weight:600;line-height:1.25;text-align:center;cursor:pointer;border:1.5px solid transparent;border-radius:8px;box-shadow:none;text-shadow:none;transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.ab3d-consent-root .ab3d-consent-b1{background:#FD9644;color:#fff;border-color:#FD9644}
.ab3d-consent-root .ab3d-consent-b1:hover,.ab3d-consent-root .ab3d-consent-b1:focus{background:#FAD7A0;color:#2B2B2B;border-color:#FAD7A0}
.ab3d-consent-root .ab3d-consent-b2{background:#FAD7A0;color:#2B2B2B;border-color:#FAD7A0}
.ab3d-consent-root .ab3d-consent-b2:hover,.ab3d-consent-root .ab3d-consent-b2:focus{background:#FFF7EC;color:#A85A12;border-color:#FD9644}
/* Refus neutre (réglage refuse_style = neutral) : plus petit, blanc, bordure grise, texte gris (5,0:1 sur blanc) */
.ab3d-consent-root .ab3d-consent-b3{min-height:38px;padding:6px 14px;font-size:14px;font-weight:400;background:#fff;color:#6F6F6F;border-color:#E8E8E8}
.ab3d-consent-root .ab3d-consent-b3:hover,.ab3d-consent-root .ab3d-consent-b3:focus{background:#f5f5f5;color:#6F6F6F;border-color:#d8d8d8;font-weight:400 !important}
/* Refus en lien (refuse_style = link) : bouton HTML habillé en lien gris souligné (règle des liens du site) */
.ab3d-consent-root .ab3d-consent-lk{align-self:center;min-height:0;margin:0;padding:4px 8px;font-family:'Lato',Helvetica,Arial,sans-serif;font-size:13.5px;font-weight:400;line-height:1.4;color:#6F6F6F;background:transparent;border:0;box-shadow:none;text-decoration:underline;cursor:pointer}
.ab3d-consent-root .ab3d-consent-lk:hover,.ab3d-consent-root .ab3d-consent-lk:focus{color:#2B2B2B;background:transparent;font-weight:400 !important}
/* Boutons ronds (× et bouton flottant) : le rayon doit battre button{border-radius:8px !important} du thème */
.ab3d-consent-root .ab3d-consent-x,.ab3d-consent-root .ab3d-consent-x:hover,.ab3d-consent-root .ab3d-consent-x:focus,
.ab3d-consent-root .ab3d-consent-float,.ab3d-consent-root .ab3d-consent-float:hover,.ab3d-consent-root .ab3d-consent-float:focus{border-radius:50% !important}
.ab3d-consent-root .ab3d-consent-x,.ab3d-consent-root .ab3d-consent-float{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;color:#6F6F6F;background:transparent;border:0;box-shadow:none;cursor:pointer;transition:background-color .15s ease,color .15s ease}
.ab3d-consent-root .ab3d-consent-x:hover,.ab3d-consent-root .ab3d-consent-float:hover{color:#2B2B2B;background:#FFF7EC}
.ab3d-consent-root .ab3d-consent-x{position:absolute;top:8px;right:8px}
.ab3d-consent-root .ab3d-consent-float{display:none;position:fixed;left:18px;bottom:18px;z-index:2147482990;background:#fff;border:1px solid #E8E8E8;box-shadow:0 18px 40px rgba(43,43,43,.13)}
html[data-ab3d-consent="ok"] .ab3d-consent-root .ab3d-consent-float{display:inline-flex}
/* 2e niveau */
.ab3d-consent-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483002;display:flex;align-items:center;justify-content:center;padding:16px}
.ab3d-consent-modal[hidden]{display:none !important}
.ab3d-consent-back{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(43,43,43,.55)}
.ab3d-consent-box{position:relative;width:640px;max-width:100%;max-height:90vh;max-height:90dvh;overflow:auto;background:#fff;border:1px solid #E8E8E8;border-radius:14px;box-shadow:0 18px 40px rgba(43,43,43,.13);padding:26px 28px}
.ab3d-consent-mtitle{margin:0 52px 12px 0;font-family:'Raleway',Helvetica,Arial,sans-serif;font-size:20px;font-weight:600;color:#2B2B2B}
.ab3d-consent-cat{padding:12px 0;border-top:1px solid #E8E8E8}
.ab3d-consent-row{display:flex;align-items:center;gap:10px;font-weight:600}
/* Cases à cocher : style des cases du site (style.css, « Cases à cocher … style personnalisé orange », paiement et connexion) */
.ab3d-consent-root .ab3d-consent-row input[type="checkbox"]{-webkit-appearance:none !important;appearance:none !important;width:18px !important;height:18px !important;min-width:18px !important;min-height:18px !important;max-width:18px !important;max-height:18px !important;box-sizing:border-box !important;margin:0;padding:0 !important;border:1.5px solid #cdd2d8;border-radius:5px;background-color:#fff;display:inline-block;vertical-align:middle;position:relative;cursor:pointer;transition:border-color .15s,background-color .15s;box-shadow:none;flex:0 0 auto}
.ab3d-consent-root .ab3d-consent-row input[type="checkbox"]:checked{background-color:#fd9644 !important;border-color:#fd9644 !important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.4l2.8 2.8L12.5 5' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;background-position:center center !important;background-repeat:no-repeat !important;background-size:11px 11px !important}
.ab3d-consent-root .ab3d-consent-row input[type="checkbox"]:focus-visible{box-shadow:0 0 0 3px rgba(253,150,68,.25)}
/* Case « Fonctionnels » : toujours cochée, non modifiable (le site n'a pas d'état désactivé : même case, estompée) */
.ab3d-consent-root .ab3d-consent-row input[type="checkbox"]:disabled{opacity:.55;cursor:default}
.ab3d-consent-always{margin-left:auto;font-weight:400;font-size:13.5px;color:#6f6f6f}
.ab3d-consent-desc{margin:4px 0 0 28px;font-size:13.5px;color:#6f6f6f;line-height:1.6}
.ab3d-consent-modal .ab3d-consent-actions{align-items:center;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;margin:22px 0 0}
.ab3d-consent-banner[hidden]{display:none !important}
body.ab3d-consent-locked{overflow:hidden}
/* Style centré (layout = center) : fenêtre modale au milieu, voile non cliquable derrière */
.ab3d-consent-veil{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483001;background:rgba(43,43,43,.55)}
html[data-ab3d-consent="ask"][data-ab3d-ui] .ab3d-consent-veil{display:block}
.ab3d-consent-root[data-ab3d-layout="center"] .ab3d-consent-banner{top:50%;left:50%;right:auto;bottom:auto;width:520px;max-width:calc(100% - 32px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);transform:translate(-50%,-50%);z-index:2147483001;padding:26px 28px}
/* Sans ab3d-consent.js (lent, bloqué, en erreur) : ni voile ni fenêtre centrale, la page reste utilisable */
html:not([data-ab3d-ui]) .ab3d-consent-root[data-ab3d-layout="center"] .ab3d-consent-banner{display:none !important}
html[data-ab3d-consent="ask"] .ab3d-consent-root[data-ab3d-layout="center"] .ab3d-consent-back{background:transparent} /* le voile du 1er niveau suffit : pas de double assombrissement */
@media (min-width:701px){
  .ab3d-consent-banner{left:16px;right:auto;bottom:16px;width:440px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px)}
  .ab3d-consent-banner .ab3d-consent-actions{display:grid;grid-template-columns:1fr 1fr}
  .ab3d-consent-banner .ab3d-consent-b2{grid-column:1 / 3}
  /* Refus neutre ou en lien : « Tout accepter » seul sur sa ligne, pleine largeur */
  .ab3d-consent-root:not([data-ab3d-refuse="same"]) .ab3d-consent-banner .ab3d-consent-actions{display:flex;flex-direction:column}
}
/* Barre (layout = bar), à toutes les largeurs : collée tout en bas, pleine largeur. Mélia et le mini-panier sont décalés au-dessus (voir plus bas). */
.ab3d-consent-root[data-ab3d-layout="bar"] .ab3d-consent-banner{left:0;right:0;bottom:0;width:auto;z-index:2147483001;max-width:none;max-height:80vh;max-height:80dvh;padding:22px max(18px,calc((100% - 640px) / 2)) calc(22px + env(safe-area-inset-bottom,0px));border-width:1px 0 0;border-radius:14px 14px 0 0;box-shadow:0 -8px 24px rgba(43,43,43,.10)}
.ab3d-consent-root[data-ab3d-layout="bar"] .ab3d-consent-banner .ab3d-consent-actions{display:flex;flex-direction:column}
/* Dès 1100 px : barre deux fois plus haute, contenu centré (1200 px utiles) ; texte à gauche, boutons empilés à droite */
@media (min-width:1100px){
  .ab3d-consent-root[data-ab3d-layout="bar"] .ab3d-consent-banner{min-height:270px;padding:40px max(48px,calc((100% - 1200px) / 2)) calc(40px + env(safe-area-inset-bottom,0px));border-radius:0}
  html[data-ab3d-consent="ask"] .ab3d-consent-root[data-ab3d-layout="bar"] .ab3d-consent-banner{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:1fr auto auto auto 1fr;column-gap:64px;align-items:center}
  .ab3d-consent-root[data-ab3d-layout="bar"] .ab3d-consent-title{grid-area:2 / 1;font-size:24px;margin:0 0 12px}
  .ab3d-consent-root[data-ab3d-layout="bar"] .ab3d-consent-test{grid-area:3 / 1;max-width:760px;margin:0 0 12px}
  .ab3d-consent-root[data-ab3d-layout="bar"] .ab3d-consent-text{grid-area:4 / 1;max-width:760px;margin:0;font-size:16px;line-height:1.6}
  .ab3d-consent-root[data-ab3d-layout="bar"] .ab3d-consent-banner .ab3d-consent-actions{grid-area:1 / 2 / 6 / 3;gap:12px;width:300px}
  .ab3d-consent-root[data-ab3d-layout="bar"] .ab3d-consent-banner .ab3d-consent-b1:first-child{min-height:54px}
}
/* Barre affichée : Mélia et le bouton flottant du mini-panier passent au-dessus (hauteur posée par ab3d-consent.js) */
html[data-ab3d-consent-bar] .ab3d-me-root{bottom:calc(var(--ab3d-consent-bar-h,0px) + 16px) !important;--ab3dme-lb:calc(var(--ab3d-consent-bar-h,0px) + 16px)}
html[data-ab3d-consent-bar] .ab3d-me-root .ab3d-me-panel{min-height:0 !important}
@media (max-height:480px){.ab3d-consent-root[data-ab3d-layout="bar"] .ab3d-consent-banner{max-height:60vh;max-height:60dvh}}
html[data-ab3d-consent-bar] .ab3d-mc-float{bottom:calc(var(--ab3d-consent-bar-h,0px) + 18px) !important}
@media (max-width:700px){
  .ab3d-consent-box{padding:20px 18px;border-radius:12px}
  .ab3d-consent-modal .ab3d-consent-actions{flex-direction:column;align-items:stretch}
}
@media (pointer:coarse),(max-width:700px){
  .ab3d-consent-root .ab3d-consent-b3,.ab3d-consent-root .ab3d-consent-lk{min-height:44px}
}
@media print{.ab3d-consent-root{display:none !important}}
@media (forced-colors:active){
  .ab3d-consent-root .ab3d-consent-row input[type="checkbox"]{-webkit-appearance:auto !important;appearance:auto !important}
  .ab3d-consent-banner,.ab3d-consent-box,.ab3d-consent-root .ab3d-consent-b,.ab3d-consent-root .ab3d-consent-float{border:1px solid CanvasText}
}
