/* Evolia Foundation — cookie banner and settings dialog (uses the tokens defined in style.css) */
html.cc-locked,html.cc-locked body{overflow:hidden}

.cc-banner,.cc-panel{
  background:var(--paper);color:var(--ink);
  font-family:"Merriweather Sans",-apple-system,Segoe UI,sans-serif;font-size:14.5px;line-height:1.6;font-weight:300;
}
.cc-banner{
  position:fixed;z-index:80;left:24px;bottom:24px;width:min(540px,calc(100vw - 48px));
  padding:26px 28px 24px;border-top:2px solid var(--cyan);
  box-shadow:0 18px 50px rgba(8,20,31,.35),0 0 0 1px rgba(16,36,54,.08);
  opacity:0;transform:translateY(24px);
  transition:opacity .35s ease,transform .45s cubic-bezier(.2,.7,.2,1);
}
.cc-banner.is-visible{opacity:1;transform:none}
.cc-title{
  font-family:"Merriweather",Georgia,serif;font-weight:300;font-size:20px;line-height:1.3;letter-spacing:-.01em;
  margin:0 0 10px;padding-right:36px;max-width:none;
}
.cc-text{margin:0 0 20px;max-width:none}
.cc-banner a,.cc-panel a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--cyan)}
.cc-banner a:hover,.cc-panel a:hover{color:var(--cyan)}

.cc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.cc-btn{
  flex:1 1 140px;min-height:44px;padding:10px 18px;cursor:pointer;
  font:inherit;font-size:14.5px;font-weight:500;
  color:var(--paper);background:var(--ink);border:1px solid var(--ink);
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.cc-btn:hover{background:var(--cyan);border-color:var(--cyan);color:#fff}
.cc-btn-line{background:none;color:var(--ink)}
.cc-link{
  flex:0 0 auto;min-height:44px;padding:0 6px;margin-left:4px;cursor:pointer;
  font:inherit;font-weight:500;color:var(--ink);background:none;border:0;
  text-decoration:underline;text-decoration-color:var(--cyan);text-underline-offset:5px;text-decoration-thickness:1px;
}
.cc-link:hover{color:var(--cyan)}
.cc-close{
  position:absolute;top:10px;right:10px;width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  color:var(--olive);background:none;border:0;cursor:pointer;
}
.cc-close:hover{color:var(--ink)}

/* settings dialog */
.cc-modal{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:24px}
.cc-backdrop{position:absolute;inset:0;background:rgba(8,20,31,.6);opacity:0;transition:opacity .3s ease}
.cc-panel{
  position:relative;width:min(600px,100%);max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;
  padding:34px 34px 30px;border-top:2px solid var(--cyan);outline:0;
  box-shadow:0 30px 80px rgba(8,20,31,.45);
  opacity:0;transform:translateY(16px);
  transition:opacity .3s ease,transform .4s cubic-bezier(.2,.7,.2,1);
}
.cc-modal.is-visible .cc-backdrop{opacity:1}
.cc-modal.is-visible .cc-panel{opacity:1;transform:none}
.cc-panel .cc-title{font-size:24px}
.cc-cat{padding:18px 0;border-top:1px solid var(--line)}
.cc-cat p{margin:8px 0 0;max-width:none;color:#3c4a57}
.cc-cat-head{display:flex;align-items:center;gap:12px}
.cc-cat-name{flex:1;font-weight:500;font-size:15.5px;cursor:pointer}
.cc-always{font-size:12.5px;color:var(--olive)}
.cc-switch{position:relative;flex:0 0 auto;width:46px;height:26px}
.cc-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.cc-switch input:disabled{cursor:not-allowed}
.cc-switch span{
  position:absolute;inset:0;border-radius:13px;background:#b9bcc0;pointer-events:none;transition:background .2s ease;
}
.cc-switch span::after{
  content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s ease;
}
.cc-switch input:checked + span{background:var(--cyan)}
.cc-switch input:checked + span::after{transform:translateX(20px)}
.cc-switch input:disabled + span{opacity:.55}
.cc-switch input:focus-visible + span{outline:2px solid var(--cyan);outline-offset:3px}
.cc-receipt{margin:0;padding:14px 0 0;border-top:1px solid var(--line);font-size:12.5px;color:var(--olive);max-width:none;overflow-wrap:anywhere}
.cc-receipt code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
.cc-panel .cc-actions{margin-top:22px}

@media (max-width:560px){
  .cc-banner{left:0;right:0;bottom:0;width:auto;padding:22px 20px calc(18px + env(safe-area-inset-bottom));max-height:85dvh;overflow-y:auto}
  .cc-title{font-size:18px}
  .cc-btn{flex:1 1 calc(50% - 5px)}
  .cc-link{flex:1 1 100%;margin:0}
  .cc-modal{padding:0;align-items:flex-end}
  .cc-panel{width:100%;max-height:92dvh;padding:28px 20px calc(22px + env(safe-area-inset-bottom))}
  .cc-panel .cc-btn{flex:1 1 calc(50% - 5px)}
  .cc-panel .cc-btn-line{flex-basis:100%}
  .cc-cat{padding:14px 0}
  .cc-panel .cc-text{margin-bottom:14px}
}
