/* Minimaler Cookie-Banner (Farben aus dem Theme: $color1 #aa6a2c) */
.cc-banner[hidden], .cc-placeholder[hidden] { display: none !important; }

.cc-banner {
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: 16px;
    z-index: 99999;
    max-width: 640px;
    margin: 0 auto;
    max-height: calc(100vh - 32px);
    overflow-y: auto;
    background: #fff;
    color: #222;
    border-radius: 6px;
    box-shadow: 0 6px 30px rgba(0, 0, 0, .3);
    font-size: 1.4rem;
    line-height: 1.5;
}
.cc-inner { padding: 20px; }
.cc-title { display: block; font-size: 1.8rem; margin-bottom: 8px; }
.cc-text { margin: 0 0 12px; }
.cc-banner a { color: #aa6a2c; text-decoration: underline; }

.cc-details { margin-bottom: 16px; }
.cc-details summary { cursor: pointer; font-weight: bold; color: #aa6a2c; }
.cc-table { width: 100%; margin-top: 10px; border-collapse: collapse; font-size: 1.3rem; }
.cc-table th, .cc-table td { text-align: left; padding: 6px 8px; border-bottom: 1px solid #e5e5e5; vertical-align: top; }
.cc-table th { background: #f5f5f5; }
.cc-small { font-size: 1.2rem; color: #666; margin: 8px 0 0; }

.cc-buttons { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; }
.cc-btn {
    border: 2px solid #aa6a2c;
    border-radius: 4px;
    padding: 8px 20px;
    font-size: 1.4rem;
    font-weight: bold;
    cursor: pointer;
}
.cc-btn-decline { background: #fff; color: #aa6a2c; }
.cc-btn-accept { background: #aa6a2c; color: #fff; }
.cc-btn-decline:hover { background: #f5f5f5; }
.cc-btn-accept:hover { background: #885523; border-color: #885523; }

@media (max-width: 575px) {
    .cc-btn { flex: 1 1 auto; }
    .cc-table th:nth-child(2), .cc-table td:nth-child(2) { display: none; }
}

/* Platzhalter statt Google Maps, solange keine Zustimmung vorliegt */
.cc-map-wrap { position: relative; height: 100%; min-height: 250px; }
.cc-map-wrap iframe { display: block; max-width: 100%; }
/* Leeres iframe darf den Platzhalter nicht überdecken (z. B. wegen .map { filter } oder position:absolute) */
.cc-map-wrap iframe:not([src]) { visibility: hidden; pointer-events: none; }
/* Innerhalb von .embed-responsive den Platz des Wrappers ausfüllen */
.embed-responsive .cc-map-wrap { position: absolute; inset: 0; min-height: 0; }
.cc-placeholder {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px;
    background: #2b2b2b;
    color: #fff;
    font-size: 1.5rem;
}
.cc-placeholder p { max-width: 480px; margin: 0 0 14px; }
