/* GPC Doerfer — Cookie consent banner styles */
.gpc-cookie-wrap{
  position:fixed; left:0; right:0; bottom:0; z-index:99999;
  display:flex; justify-content:center; padding:16px;
  pointer-events:none;
  font-family:"Open Sans", Arial, sans-serif;
}
.gpc-cookie-box{
  pointer-events:auto;
  max-width:760px; width:100%;
  background:#fff; color:#222;
  border-radius:8px;
  box-shadow:0 10px 40px rgba(0,0,0,.25), 0 2px 8px rgba(0,0,0,.15);
  border:1px solid rgba(0,0,0,.08);
  overflow:hidden;
  animation:gpcSlideUp .25s ease-out;
}
@keyframes gpcSlideUp{ from{transform:translateY(20px); opacity:0} to{transform:none; opacity:1} }
.gpc-cookie-head{ padding:18px 22px 0 22px; }
.gpc-cookie-head h3{ margin:0; font-size:18px; font-weight:700; color:#111; }
.gpc-cookie-body{ padding:10px 22px 0 22px; }
.gpc-cookie-body p{ margin:0 0 10px 0; font-size:14px; line-height:1.5; color:#333; }
.gpc-cookie-link{ color:#a93a2b; text-decoration:underline; }
.gpc-cookie-link:hover{ color:#7c2a1f; }

.gpc-cookie-cats{
  margin-top:14px; padding-top:14px;
  border-top:1px solid #eee;
  display:grid; gap:12px;
  max-height:42vh; overflow-y:auto;
}
.gpc-cookie-cat{
  display:grid; grid-template-columns:24px 1fr; column-gap:10px; row-gap:2px;
  align-items:start;
  padding:10px 12px; background:#f7f7f7; border-radius:6px;
  font-size:13px; cursor:pointer;
}
.gpc-cookie-cat input{ grid-row:1/3; margin-top:3px; transform:scale(1.1); cursor:pointer; }
.gpc-cookie-cat input:disabled{ cursor:not-allowed; opacity:.6 }
.gpc-cat-title{ font-weight:600; color:#222; }
.gpc-cat-title em{ font-style:normal; font-weight:400; color:#888; font-size:12px; margin-left:4px; }
.gpc-cat-desc{ color:#555; line-height:1.4; }

.gpc-cookie-actions{
  display:flex; flex-wrap:wrap; gap:8px;
  justify-content:flex-end;
  padding:14px 22px 18px 22px;
  background:#fafafa;
  border-top:1px solid #eee;
}
.gpc-btn{
  font:inherit; font-size:13px; font-weight:600;
  padding:9px 16px; border-radius:5px; cursor:pointer;
  border:1px solid transparent; line-height:1;
  transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.gpc-btn-primary{ background:#a93a2b; color:#fff; }
.gpc-btn-primary:hover{ background:#8d2e22; }
.gpc-btn-secondary{ background:#fff; color:#333; border-color:#ccc; }
.gpc-btn-secondary:hover{ background:#f0f0f0; }
.gpc-btn-link{ background:transparent; color:#555; border-color:transparent; text-decoration:underline; padding-left:6px; padding-right:6px; }
.gpc-btn-link:hover{ color:#222; }

/* footer link */
.gpc-cookie-reopen{ color:#fff; text-decoration:underline; cursor:pointer; }
.gpc-cookie-reopen:hover{ color:#ddd; }

@media (max-width:600px){
  .gpc-cookie-wrap{ padding:0; }
  .gpc-cookie-box{ border-radius:8px 8px 0 0; max-width:none; }
  .gpc-cookie-actions{ flex-direction:column-reverse; }
  .gpc-btn{ width:100%; padding:11px 16px; }
}
