/* ==========================================================================
   ZIP — Cookie consent (Amondi CMP) brand overrides
   Loads after the plugin's frontend.css. Restyles to the ZIP brand.
   ========================================================================== */

.amondi-cmp-banner {
  font-family: var(--zip-font);
  border-top: 3px solid var(--zip-red);
  box-shadow: 0 -4px 24px rgba(0,0,0,.12);
}
.amondi-cmp-banner-content { max-width: 1440px; padding: 28px var(--gutter, 40px); }

.amondi-cmp-banner-header { border-bottom-color: var(--zip-border); }
.amondi-cmp-banner-header h2 {
  font-family: var(--zip-font);
  font-weight: 800;
  font-size: 1.5rem;
  color: var(--zip-black);
}

.amondi-cmp-description { color: var(--zip-text); font-size: 1rem; line-height: 1.6; }
.amondi-cmp-description a,
.amondi-cmp-privacy-link { color: var(--zip-red); text-decoration: underline; font-weight: 600; }
.amondi-cmp-description a:hover { color: var(--zip-red-dark); }

/* Category cards */
.amondi-cmp-category { background: var(--zip-pink); border: 1px solid var(--zip-border); border-radius: 0; }
.amondi-cmp-toggle-label strong { font-weight: 700; color: var(--zip-black); font-size: 0.9375rem; }
.amondi-cmp-toggle-description { color: var(--zip-text-muted); }

/* Toggle switches → red when on */
.amondi-cmp-toggle input:checked + .amondi-cmp-toggle-slider { background-color: var(--zip-red); }
.amondi-cmp-toggle input:disabled + .amondi-cmp-toggle-slider { background-color: #c9989a; }

/* Buttons → brand, sharp corners */
.amondi-cmp-banner-footer { border-top-color: var(--zip-border); gap: 12px; }
.amondi-cmp-btn {
  font-family: var(--zip-font);
  font-weight: 700;
  font-size: 1rem;
  border-radius: 0;
  padding: 14px 28px;
}
.amondi-cmp-btn-primary { background-color: var(--zip-red); color: #fff; }
.amondi-cmp-btn-primary:hover { background-color: var(--zip-red-dark); }
.amondi-cmp-btn-secondary { background-color: #fff; color: var(--zip-black); border: 1px solid var(--zip-black); }
.amondi-cmp-btn-secondary:hover { background-color: var(--zip-pink); }

/* Focus states → red */
.amondi-cmp-banner:focus,
.amondi-cmp-btn:focus,
.amondi-cmp-btn:focus-visible,
.amondi-cmp-floating-icon:focus,
.amondi-cmp-floating-icon:focus-visible { outline: 2px solid var(--zip-red); outline-offset: 2px; }

/* Floating icon → red */
.amondi-cmp-floating-icon { background-color: var(--zip-red); }
.amondi-cmp-floating-icon:hover { background-color: var(--zip-red-dark); }

/* ---- Theme-gated map placeholder (contact page) ------------------------- */
.contact-map { position: relative; }
.contact-map__placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  text-align: center;
  padding: 24px;
  background: var(--zip-grey-100);
  color: var(--zip-text);
}
.contact-map__placeholder p { margin: 0; max-width: 420px; font-size: 1rem; }
.contact-map.is-loaded .contact-map__placeholder { display: none; }
.contact-map iframe { opacity: 0; transition: opacity .3s; }
.contact-map.is-loaded iframe { opacity: 1; }

@media (max-width: 768px) {
  .amondi-cmp-banner-content { padding: 20px; }
  .amondi-cmp-banner-header h2 { font-size: 1.25rem; }
}
