/* Consent Banner Styles */
.consent-banner {
 position: fixed;
 bottom: 20px;
 left: 20px;
 right: 20px;
 /* 40px top to clear the ×, 16px bottom, 16px left/right for base padding */
 padding: 40px 16px 16px;
 background-color: #ffffff;
 color: #19242f;
 border-radius: 8px;
 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
 z-index: 10000;
 display: flex;
 flex-direction: column;
 align-items: center;
 gap: 12px;
 max-width: 600px;
 margin: auto;
}
/* Constrain first line so it breaks under the × (× is 30px + 12px from right edge = 42px) */
.consent-banner p {
 font-size: 14px;
 line-height: 1.6;
 margin: 0;
 max-width: calc(100% - 42px);
 margin-left: auto;
 margin-right: auto;
 text-align: center;
}
/* Keep responsive small-screen offsets */
@media (max-width: 600px) {
 .consent-banner {
 left: 10px;
 right: 10px;
 }
}

/* Close icon */
.consent-close {
 position: absolute;
 top: 8px;
 right: 12px;
 background: none;
 border: none;
 font-size: 30px;
 line-height: 1;
 cursor: pointer;
 color: #19242f;
}
.consent-close:focus {
 outline: none;
}