/* Pinnoydesign — bandeau de consentement cookies (voir cookies.js) */
.pd-cookie-banner{
  --pd-cookie-bg: var(--paper, #f6f1e6);
  --pd-cookie-bg-soft: var(--paper-warm, #efe6d3);
  --pd-cookie-ink: var(--ink, #1c1c1a);
  --pd-cookie-ink-soft: var(--ink-soft, #4a473e);
  --pd-cookie-line: var(--line, rgba(28,28,26,0.12));
  --pd-cookie-accent: var(--green-deep, #173226);
  --pd-cookie-brass: var(--brass, #c9a227);

  position: fixed;
  left: 20px;
  bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  /* laisse libre le coin bas-droit (bouton du chatbot) */
  width: min(540px, calc(100vw - 40px - 96px));
  max-height: calc(100vh - 40px);
  max-height: calc(100dvh - 40px);
  overflow: auto;
  z-index: 80; /* au-dessus du chatbot (60/61) */
  box-sizing: border-box;
  padding: 22px 22px 20px;
  background: var(--pd-cookie-bg);
  color: var(--pd-cookie-ink);
  border: 1px solid var(--pd-cookie-line);
  border-top: 3px solid var(--pd-cookie-brass);
  border-radius: 8px;
  box-shadow: 0 18px 50px rgba(0,0,0,0.22);
  font-family: 'Work Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 0.92rem;
  line-height: 1.5;
}
.pd-cookie-banner[hidden], .pd-cookie-view[hidden]{ display: none; }
.pd-cookie-banner:focus{ outline: none; }
.pd-cookie-banner:focus-visible{ outline: 2px solid var(--pd-cookie-brass); outline-offset: 3px; }
.pd-cookie-banner *{ box-sizing: border-box; }

.pd-cookie-title{
  font-family: 'Fraunces', Georgia, 'Times New Roman', serif;
  font-weight: 600;
  font-size: 1.15rem;
  letter-spacing: -0.01em;
  margin: 0 0 8px;
  color: var(--pd-cookie-ink);
}
.pd-cookie-title:focus{ outline: none; }
.pd-cookie-text{ margin: 0 0 16px; color: var(--pd-cookie-ink-soft); }
.pd-cookie-link{ color: var(--pd-cookie-ink); font-weight: 600; }

.pd-cookie-actions{ display: flex; flex-wrap: wrap; gap: 10px; }
/* Boutons d'importance visuelle égale (pas de « dark pattern ») */
.pd-cookie-btn{
  flex: 1 1 0;
  min-width: 120px;
  min-height: 44px;
  padding: 10px 16px;
  font: inherit;
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--paper, #f6f1e6);
  background: var(--pd-cookie-accent);
  border: 1px solid var(--pd-cookie-accent);
  border-radius: 4px;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease;
}
.pd-cookie-btn:hover{ background: var(--green-mid, #22462f); border-color: var(--green-mid, #22462f); }
.pd-cookie-btn:focus-visible{ outline: 2px solid var(--pd-cookie-brass); outline-offset: 2px; }

.pd-cookie-cats{ list-style: none; margin: 4px 0 16px; padding: 0; display: grid; gap: 10px; }
.pd-cookie-cat{
  background: var(--pd-cookie-bg-soft);
  border: 1px solid var(--pd-cookie-line);
  border-radius: 6px;
  padding: 12px 14px;
}
.pd-cookie-cat-head{ display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pd-cookie-cat-name{ font-weight: 600; color: var(--pd-cookie-ink); cursor: default; }
label.pd-cookie-cat-name{ cursor: pointer; }
.pd-cookie-cat-desc{ margin: 6px 0 0; color: var(--pd-cookie-ink-soft); font-size: 0.86rem; }
.pd-cookie-always{ font-size: 0.8rem; font-weight: 600; color: var(--pd-cookie-ink-soft); white-space: nowrap; }

/* Interrupteur */
.pd-cookie-switch{ position: relative; display: inline-block; width: 46px; height: 26px; flex-shrink: 0; }
.pd-cookie-switch input{
  position: absolute; inset: 0; width: 100%; height: 100%;
  margin: 0; opacity: 0; cursor: pointer; z-index: 1;
}
.pd-cookie-slider{
  position: absolute; inset: 0;
  background: var(--pd-cookie-line);
  border: 1px solid var(--pd-cookie-ink-soft);
  border-radius: 999px;
  transition: background .15s ease;
}
.pd-cookie-slider::after{
  content: ""; position: absolute; top: 3px; left: 3px;
  width: 18px; height: 18px; border-radius: 50%;
  background: var(--pd-cookie-ink-soft);
  transition: transform .15s ease, background .15s ease;
}
.pd-cookie-switch input:checked + .pd-cookie-slider{ background: var(--pd-cookie-accent); border-color: var(--pd-cookie-accent); }
.pd-cookie-switch input:checked + .pd-cookie-slider::after{ transform: translateX(20px); background: var(--pd-cookie-brass); }
.pd-cookie-switch input:focus-visible + .pd-cookie-slider{ outline: 2px solid var(--pd-cookie-brass); outline-offset: 2px; }

/* Lien « Gérer les cookies » dans le pied de page */
.pd-cookie-manage{
  background: none; border: 0; padding: 0; margin: 0;
  font: inherit; color: #c8d1c5; text-decoration: underline; cursor: pointer;
}
.pd-cookie-manage:hover{ color: var(--paper, #f6f1e6); }
.pd-cookie-manage:focus-visible{ outline: 2px solid var(--brass, #c9a227); outline-offset: 3px; }

/* Section « Cookies » des mentions légales */
.pd-cookie-policy{ margin-top: 56px; color: var(--ink-soft, #4a473e); font-size: 0.95rem; }
.pd-cookie-policy h2{ font-size: 1.5rem; color: var(--ink, #1c1c1a); margin: 0 0 12px; }
.pd-cookie-policy p{ margin: 0 0 16px; }
.pd-cookie-policy p strong{ color: var(--ink, #1c1c1a); }
.pd-cookie-policy .legal-grid{ margin: 0 0 22px; }
.pd-cookie-policy code{ font-size: 0.88em; }
.pd-cookie-manage.pd-cookie-manage-inline{ color: var(--ink, #1c1c1a); font-weight: 600; }
.pd-cookie-manage.pd-cookie-manage-inline:hover{ color: var(--brick, #a8452f); }

/* Mode sombre : boutons lisibles sur fond sombre */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .pd-cookie-btn{ border-color: var(--brass, #c9a227); }
  :root:not([data-theme="light"]) .pd-cookie-banner{ box-shadow: 0 18px 50px rgba(0,0,0,0.6); }
}
:root[data-theme="dark"] .pd-cookie-btn{ border-color: var(--brass, #c9a227); }

@media (max-width: 600px){
  .pd-cookie-banner{
    left: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    width: calc(100vw - 12px - 84px); /* coin bas-droit libre pour le chatbot */
    padding: 18px 16px 16px;
    font-size: 0.88rem;
  }
  .pd-cookie-actions{ flex-direction: column; }
  .pd-cookie-btn{ width: 100%; min-width: 0; flex: 0 0 auto; }
}

@media (prefers-reduced-motion: reduce){
  .pd-cookie-btn, .pd-cookie-slider, .pd-cookie-slider::after{ transition: none; }
}
