.cookie-banner,
.cookie-banner p,
.cookie-banner span,
.cookie-banner label,
.cookie-banner .category-description {
  color: #555;
}
.cookie-banner {
  color: #555;
}
.cookie-category .status {
  color: #555;
}
.cookie-banner.compact {
  position: fixed;
  bottom: 20px;
  left: 20px;
  right:auto;
  width: 380px;
  background: rgba(255, 255, 255, 0.92); 
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid #ccc;
  border-radius: 5px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.25);
  font-family: sans-serif;
  z-index: 9999;
  transform: translateY(150%);
  opacity: 0;
  transition: transform 0.5s ease, opacity 0.5s ease;
}
.cookie-banner.compact.show {
	transform: translateY(0);
	opacity: 1;
}
.cookie-content {
	padding: 15px;
	font-size: 1.076em;
}
.cookie-content > * { opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.4s ease, transform 0.4s ease;
}
.cookie-banner.show .cookie-content > * {
	opacity: 1;
	transform: translateY(0);
}
.cookie-category {
	margin: 10px 0;
	border-top: 1px solid #eee;
	padding-top: 5px;
	}
.cookie-category label {
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	font-size: 13px;
}
.cookie-category input[type="checkbox"] {
	margin-left: 10px;
	cursor: pointer;
}
.cookie-category .toggle-arrow { 
	margin-left: 8px;
	font-size:0.92em;
	transition: transform 0.3s ease;
}
.cookie-category.expanded .toggle-arrow {
	transform: rotate(90deg);
}
.cookie-category .category-description {
	display: none;
	margin-top: 5px;
	font-size:0.92em;
	color: #555;
	transition: max-height 0.3s ease, opacity 0.3s ease;
	max-height: 0;
	overflow: hidden;
}
.cookie-category.expanded .category-description {
	display: block;
	max-height: 100px;
	opacity: 1;
}
.cookie-buttons { margin-top: 10px;
	display: flex;
	flex-wrap: wrap; gap: 8px;
}
.cookie-buttons button {
	padding: 6px 12px;
	font-size:1.0em;
	border: none;
	border-radius: 4px;
	background: #007bff;
	color: #fff;
	cursor: pointer;
	transition: all 0.3s ease;
}
.cookie-buttons button:hover { background: #0056b3; transform: translateY(-2px); box-shadow: 0 2px 6px rgba(0,0,0,0.2); }

.cookie-icon { 
	position: fixed;
	bottom: 20px;
	left: 20px;
	right:auto;
	background: #007bff;
	color: #fff;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size:2.30em;
	cursor: pointer;
	z-index: 9999;
	box-shadow: 0 2px 8px rgba(0,0,0,0.3);
	transition: transform 0.4s ease, opacity 0.4s ease;
	transform: scale(0);
	opacity: 0;
}
.cookie-icon.show {
	transform: scale(1);
	opacity: 1;
}
.cookie-icon:hover {
	background: #0056b3;
	transform: scale(1.1);
}
.cookie-buttons button {
  background: rgba(37, 99, 235, 0.9);
  color: #fff;
  backdrop-filter: blur(4px);
}
.cookie-buttons button:hover {
  background: rgba(29, 78, 216, 1);
}

#acceptAll {
  background: #2563eb;
  color: #fff;
}

#denyAll {
  background: #e5e7eb;
  color: #000;
}
#savePrefs {
  background: #f3f4f6;
  color: #000;
}

#acceptAll:hover { background: #1d4ed8; }
#denyAll:hover { background: #d1d5db; }
#savePrefs:hover { background: #e5e7eb; }
.cookie-icon {
  background: rgba(37, 99, 235, 0.9);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
   box-shadow: 0 4px 12px rgba(37, 99, 235, 0.4);
}

@keyframes shake {
  0% { transform: translateX(0) rotate(0deg); }
  20% { transform: translateX(-2px) rotate(-5deg); }
  40% { transform: translateX(2px) rotate(5deg); }
  60% { transform: translateX(-2px) rotate(-5deg); }
  80% { transform: translateX(2px) rotate(5deg); }
  100% { transform: translateX(0) rotate(0deg); }
}
.cookie-icon.shake { animation: shake 0.6s ease;
}

@media (max-width: 480px) {
.cookie-banner.compact {
    width: 90%;
    bottom: 15px;
    right: 5%;
	left:5%;
    font-size: 1em;
    padding: 10px 0;
}
  .cookie-buttons {
    flex-direction: column;
    gap: 6px;
}
.cookie-buttons button {
    width: 100%;
	font-size:1em;
    padding: 10px 0;
}
.cookie-category label { font-size:1.076em;
}
.cookie-category .category-description { font-size:1em;
}
.cookie-icon {
    width: 50px;
    height: 50px;
    font-size: 2.30em;
    bottom: 15px;
    right: 15px;
}
.cookie-icon.shake {
	animation: shake 0.4s ease;
}
.cookie-banner.compact.show .cookie-content > * {
    transition: opacity 0.3s ease, transform 0.3s ease;
  }
}