/* =====================================================================
   DM Trucks – Cookie-Banner
   ===================================================================== */
#cookie-consent{
	position:fixed; left:0; right:0; bottom:0; z-index:99999;
	padding:16px;
	display:flex; justify-content:center;
	pointer-events:none;
	font-family:"Poppins", Arial, sans-serif;
}
#cookie-consent[hidden]{ display:none; }

#cookie-consent .cc-box{
	pointer-events:auto;
	width:100%; max-width:760px;
	max-height:calc(100vh - 32px); overflow-y:auto;
	background:#0f0f0f; color:#e6e6e6;
	border-top:3px solid #228dcb;
	border-radius:6px;
	box-shadow:0 10px 40px rgba(0,0,0,0.45);
	padding:24px 26px 18px;
	animation:cc-in .35s ease-out;
}
@keyframes cc-in{ from{ transform:translateY(30px); opacity:0; } to{ transform:none; opacity:1; } }

#cookie-consent .cc-title{ color:#fff; font-size:20px; line-height:1.3; margin:0 0 10px; font-weight:500; }
#cookie-consent .cc-text{ font-size:14px; line-height:1.65; margin:0 0 16px; color:#cfcfcf; }

/* Kategorien */
#cookie-consent .cc-details{ margin:0 0 16px; border-top:1px solid rgba(255,255,255,.12); }
#cookie-consent .cc-details[hidden]{ display:none; }
#cookie-consent .cc-cat{ display:block; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.12); cursor:pointer; margin:0; font-weight:400; }
#cookie-consent .cc-cat-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
#cookie-consent .cc-cat-title{ color:#fff; font-size:15px; font-weight:500; }
#cookie-consent .cc-cat-text{ display:block; font-size:13px; line-height:1.55; color:#a9a9a9; margin-top:4px; }

/* Schalter */
#cookie-consent .cc-switch{
	-webkit-appearance:none; appearance:none; flex:none;
	width:44px; height:24px; border-radius:12px; margin:0;
	background:#555; position:relative; cursor:pointer; transition:background .2s;
}
#cookie-consent .cc-switch::after{
	content:""; position:absolute; top:3px; left:3px;
	width:18px; height:18px; border-radius:50%; background:#fff; transition:transform .2s;
}
#cookie-consent .cc-switch:checked{ background:#228dcb; }
#cookie-consent .cc-switch:checked::after{ transform:translateX(20px); }
#cookie-consent .cc-switch:disabled{ opacity:.55; cursor:not-allowed; }
#cookie-consent .cc-switch:focus-visible{ outline:2px solid #fff; outline-offset:2px; }

/* Buttons */
#cookie-consent .cc-buttons{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
#cookie-consent .cc-btn{
	font:inherit; font-size:15px; line-height:1.2; cursor:pointer;
	padding:12px 20px; min-height:46px; border-radius:4px; border:2px solid transparent;
	transition:background .2s, color .2s, border-color .2s;
}
#cookie-consent .cc-btn[hidden]{ display:none; }
#cookie-consent .cc-btn-primary{ background:#228dcb; color:#fff; border-color:#228dcb; margin-left:auto; }
#cookie-consent .cc-btn-primary:hover{ background:#1a73a8; border-color:#1a73a8; }
#cookie-consent .cc-btn-secondary{ background:transparent; color:#fff; border-color:#fff; }
#cookie-consent .cc-btn-secondary:hover{ background:#fff; color:#0f0f0f; }
#cookie-consent .cc-btn-link{ background:none; color:#cfcfcf; text-decoration:underline; padding-left:8px; padding-right:8px; }
#cookie-consent .cc-btn-link:hover{ color:#fff; }
#cookie-consent .cc-btn:focus-visible{ outline:2px solid #fff; outline-offset:2px; }

#cookie-consent .cc-links{ margin:14px 0 0; font-size:12px; color:#8c8c8c; }
#cookie-consent .cc-links a{ color:#a9a9a9; text-decoration:underline; }
#cookie-consent .cc-links a:hover{ color:#fff; }

/* Smartphone: Buttons untereinander, volle Breite */
@media only screen and (max-width:599px){
	#cookie-consent{ padding:0; }
	#cookie-consent .cc-box{ border-radius:0; max-height:85vh; padding:20px 16px 14px; }
	#cookie-consent .cc-title{ font-size:18px; }
	#cookie-consent .cc-text{ font-size:13px; }
	#cookie-consent .cc-buttons{ flex-direction:column; align-items:stretch; }
	#cookie-consent .cc-btn{ width:100%; }
	#cookie-consent .cc-btn-primary{ order:-1; margin-left:0; }
	#cookie-consent .cc-links{ text-align:center; }
}

/* Platzhalter für Google Maps (bis zur Zustimmung) */
.consent-placeholder{
	position:absolute; inset:0;
	display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
	padding:20px; text-align:center;
	background:#eef3f7 url(../images/background/5.jpg) center/cover;
	color:#242424; font-size:14px; line-height:1.6;
}
.consent-placeholder::before{ content:""; position:absolute; inset:0; background:rgba(255,255,255,.88); }
.consent-placeholder > *{ position:relative; max-width:520px; margin:0; }
.consent-placeholder .theme-btn{ cursor:pointer; border:0; }

/* Link "Cookie-Einstellungen" im Footer */
.cookie-settings-link{ color:#8c8c8c; font-size:14px; text-decoration:underline; }
.cookie-settings-link:hover{ color:#fff; }
.footer-cookie-row{ padding:15px 0 25px; text-align:center; border-top:1px solid rgba(255,255,255,.08); }
