/* CoreCode - Cookie Banner - HACCP-PRO.APP */
#cc-cookie-banner {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 32px);
  max-width: 760px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.12), 0 8px 24px rgba(0,0,0,0.08);
  padding: 20px 20px 16px 20px;
  z-index: 99999;
  font-family: Inter, system-ui, -apple-system, sans-serif;
  display: none;
  animation: cc-slideUp 0.4s ease;
}
#cc-cookie-banner.cc-show { display: block; }
@keyframes cc-slideUp { from { opacity:0; transform: translateX(-50%) translateY(20px);} to { opacity:1; transform: translateX(-50%) translateY(0);} }
.cc-cookie-head { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.cc-cookie-head h3 { margin:0; font-size:16px; font-weight:700; color:#111827; }
.cc-cookie-icon { width:32px; height:32px; background:#f3f4f6; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:18px; }
.cc-cookie-text { font-size:13.5px; line-height:1.5; color:#4b5563; margin-bottom:12px; }
.cc-cookie-text a { color:#2563eb; text-decoration:underline; font-weight:500; }
.cc-cookie-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.cc-btn { padding:9px 16px; border-radius:10px; font-size:13.5px; font-weight:600; cursor:pointer; border:1px solid transparent; transition: all 0.15s; }
.cc-btn-outline { background:#fff; border-color:#d1d5db; color:#374151; }
.cc-btn-outline:hover { background:#f9fafb; }
.cc-btn-secondary { background:#f3f4f6; border-color:#f3f4f6; color:#111827; }
.cc-btn-secondary:hover { background:#e5e7eb; }
.cc-btn-primary { background:#16a34a; border-color:#16a34a; color:#fff; }
.cc-btn-primary:hover { background:#15803d; }
#cc-cookie-modal { position:fixed; inset:0; background:rgba(0,0,0,0.45); z-index:100000; display:none; align-items:center; justify-content:center; padding:20px; }
#cc-cookie-modal.cc-show { display:flex; }
.cc-modal-box { background:#fff; border-radius:16px; max-width:520px; width:100%; padding:24px; box-shadow:0 20px 60px rgba(0,0,0,0.2); }
.cc-modal-box h3 { margin:0 0 12px 0; font-size:18px; font-weight:700; }
.cc-toggle-row { display:flex; justify-content:space-between; align-items:center; padding:14px 0; border-bottom:1px solid #f3f4f6; }
.cc-toggle-row:last-child { border-bottom:none; }
.cc-toggle-info b { display:block; font-size:14px; color:#111827; }
.cc-toggle-info span { font-size:12.5px; color:#6b7280; }
.cc-switch { width:44px; height:26px; background:#e5e7eb; border-radius:999px; position:relative; cursor:pointer; transition:0.2s; flex-shrink:0; }
.cc-switch.on { background:#16a34a; }
.cc-switch::after { content:''; position:absolute; width:20px; height:20px; background:#fff; border-radius:50%; top:3px; left:3px; transition:0.2s; box-shadow:0 1px 3px rgba(0,0,0,0.2); }
.cc-switch.on::after { transform:translateX(18px); }
.cc-switch.disabled { opacity:0.6; cursor:not-allowed; background:#16a34a; }
@media(max-width:640px){
  #cc-cookie-banner { bottom:0; width:100%; border-radius:16px 16px 0 0; max-width:100%; left:0; transform:none; }
  @keyframes cc-slideUp { from { opacity:0; transform: translateY(20px);} to { opacity:1; transform: translateY(0);} }
 .cc-cookie-actions { justify-content:stretch; }
 .cc-cookie-actions.cc-btn { flex:1; text-align:center; }
}
