/* Klaro brand theme for Chez Bacchus
 * Loaded AFTER klaro-base.css to override default styling.
 * Brand palette: --wine #6b2d4a, --wine-deep #3d1a2a, --gold #c9a96e,
 *                --cream #f8f3eb, --ivory #faf8f4, --charcoal #1a1a1a
 */

.klaro .cookie-notice,
.klaro .cookie-modal {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: #1a1a1a;
}

/* Bottom-of-screen notice strip */
.klaro .cookie-notice:not(.cookie-modal-notice) {
  background: #3d1a2a;
  color: #faf8f4;
  border-top: 3px solid #c9a96e;
  box-shadow: 0 -8px 24px rgba(0,0,0,0.18);
  padding: 1.25rem 1.5rem;
}

/* Force all body text in the notice to ivory on the wine background — 13.6:1 contrast */
#klaro .cookie-notice,
#klaro .cookie-notice .cn-body,
#klaro .cookie-notice .cn-body p,
#klaro .cookie-notice .cn-body span,
#klaro .cookie-notice h1,
#klaro .cookie-notice h2 {
  color: #faf8f4 !important;
}

/* Inline links in the notice body — use a lighter gold (#e0c896) for higher contrast on wine */
#klaro .cookie-notice .cn-body p a,
#klaro .cookie-notice a:not(.cm-btn):not(.cn-learn-more) {
  color: #e8d5a8 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

#klaro .cookie-notice .cn-body p a:hover,
#klaro .cookie-notice a:not(.cm-btn):not(.cn-learn-more):hover {
  color: #faf8f4 !important;
}

/* "Customize" / learn-more link — explicit high-contrast ivory with underline */
#klaro .cookie-notice .cn-learn-more,
#klaro a.cm-link.cn-learn-more,
#klaro a.cn-learn-more {
  color: #faf8f4 !important;
  background: transparent !important;
  border: 1px solid #faf8f4 !important;
  text-decoration: none !important;
  padding: 0.7rem 1.5rem;
  border-radius: 2px;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  display: inline-block;
}

#klaro .cookie-notice .cn-learn-more:hover,
#klaro a.cm-link.cn-learn-more:hover,
#klaro a.cn-learn-more:hover {
  background: #faf8f4 !important;
  color: #3d1a2a !important;
}

/* Notice title */
.klaro .cookie-notice .cn-body h1 {
  font-family: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
  color: #faf8f4;
  font-size: 1.25rem;
  letter-spacing: 0.01em;
}

/* Buttons */
.klaro .cookie-notice .cn-buttons button,
.klaro .cookie-modal .cm-btn {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.7rem 1.5rem;
  border-radius: 2px;
  border: 1px solid transparent;
  transition: all 0.2s ease;
  cursor: pointer;
}

/* Primary: Accept All — gold on charcoal (high specificity to win against base) */
.klaro .cookie-notice .cn-buttons button.cm-btn-success,
.klaro .cookie-modal .cm-btn.cm-btn-success,
#klaro .cm-btn-success,
#klaro button.cm-btn-success {
  background-color: #c9a96e !important;
  background-image: none !important;
  color: #1a1a1a !important;
  border-color: #c9a96e !important;
}

#klaro .cm-btn-success:hover,
#klaro button.cm-btn-success:hover {
  background-color: #d4b885 !important;
  border-color: #d4b885 !important;
}

/* Decline / Reject — outlined, same prominence as accept */
#klaro .cm-btn-decline,
#klaro button.cm-btn-decline,
#klaro .cm-btn-danger,
#klaro button.cm-btn-danger {
  background-color: transparent !important;
  background-image: none !important;
  color: #faf8f4 !important;
  border: 1px solid #faf8f4 !important;
}

#klaro .cm-btn-decline:hover,
#klaro button.cm-btn-decline:hover,
#klaro .cm-btn-danger:hover,
#klaro button.cm-btn-danger:hover {
  background-color: #faf8f4 !important;
  color: #3d1a2a !important;
}

/* "Customize" / Learn More — text link style */
#klaro .cm-btn-info,
#klaro button.cm-btn-info,
#klaro .cm-btn-learn-more {
  background-color: transparent !important;
  background-image: none !important;
  color: #c9a96e !important;
  border-color: transparent !important;
  text-decoration: underline;
}

#klaro .cm-btn-info:hover,
#klaro button.cm-btn-info:hover,
#klaro .cm-btn-learn-more:hover {
  color: #faf8f4 !important;
}

/* Focus indicators — match site's dual-ring pattern */
.klaro button:focus-visible,
.klaro input:focus-visible,
.klaro a:focus-visible {
  outline: 3px solid #1a1a1a;
  outline-offset: 2px;
  box-shadow: 0 0 0 5px #c9a96e;
}

/* Settings modal — ivory background, charcoal text */
.klaro .cookie-modal .cm-modal {
  background: #faf8f4;
  color: #1a1a1a;
  border-radius: 4px;
  border-top: 4px solid #c9a96e;
  font-family: 'Montserrat', sans-serif;
}

.klaro .cookie-modal .cm-header h1 {
  font-family: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
  color: #3d1a2a;
}

.klaro .cookie-modal .cm-purpose,
.klaro .cookie-modal .cm-service {
  border-color: rgba(26,26,26,0.1);
}

.klaro .cookie-modal .cm-purpose .cm-list-title,
.klaro .cookie-modal .cm-service .cm-list-title {
  color: #3d1a2a;
  font-weight: 600;
}

/* Toggle switches */
.klaro .cm-list-input:checked + .cm-list-label .slider {
  background-color: #6b2d4a;
}

.klaro .cm-list-input:focus + .cm-list-label .slider {
  box-shadow: 0 0 0 2px #c9a96e;
}

/* Mobile */
@media (max-width: 640px) {
  .klaro .cookie-notice:not(.cookie-modal-notice) {
    padding: 1rem;
  }
  .klaro .cookie-notice .cn-buttons {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  .klaro .cookie-notice .cn-buttons button {
    width: 100%;
  }
}
