/* Cookie Consent Theme Customization for Taverna Aventurilor */

:root {
  --cc-bg: var(--color-surface-elevated, #ffffff);
  --cc-text: var(--color-text-primary, #113a3a);
  --cc-btn-primary-bg: var(--color-orange, #f07e3b);
  --cc-btn-primary-text: var(--color-parchment, #faf5ee);
  --cc-btn-primary-hover-bg: #d96a2f;
  --cc-btn-secondary-bg: var(--color-teal, #0f7c7c);
  --cc-btn-secondary-text: var(--color-parchment, #faf5ee);
  --cc-btn-secondary-hover-bg: #0a5555;
  --cc-toggle-bg-on: var(--color-teal, #0f7c7c);
  --cc-toggle-bg-off: #d0d5d2;
  --cc-toggle-bg-readonly: #404040;
  --cc-toggle-knob-bg: var(--color-parchment, #faf5ee);
  --cc-toggle-knob-icon-color: var(--color-surface-elevated, #ffffff);
  --cc-cookie-category-block-bg: var(--color-surface, #f5ebdd);
  --cc-cookie-category-block-bg-hover: var(--color-cream, #f5ebdd);
  --cc-section-border: var(--color-border, rgba(17, 58, 58, 0.1));
  --cc-footer-bg: var(--color-surface, #f5ebdd);
  --cc-footer-text: var(--color-text-muted, #4a6b6b);
  --cc-footer-border: var(--color-border, rgba(17, 58, 58, 0.1));
}

/* Dark theme overrides */
[data-theme="dark"] {
  --cc-bg: var(--color-surface-elevated, #1c5252);
  --cc-text: var(--color-text-primary, #faf5ee);
  --cc-btn-primary-bg: var(--color-orange, #f07e3b);
  --cc-btn-primary-text: var(--color-parchment, #faf5ee);
  --cc-btn-primary-hover-bg: #ff9455;
  --cc-btn-secondary-bg: #4fbfbf;
  --cc-btn-secondary-text: #0a1f1f;
  --cc-btn-secondary-hover-bg: #6fd4d4;
  --cc-toggle-bg-on: #4fbfbf;
  --cc-toggle-bg-off: #404040;
  --cc-cookie-category-block-bg: var(--color-surface, #113a3a);
  --cc-cookie-category-block-bg-hover: #1c5252;
  --cc-section-border: rgba(245, 235, 221, 0.1);
  --cc-footer-bg: var(--color-surface, #113a3a);
  --cc-footer-text: #b8ae9c;
  --cc-footer-border: rgba(245, 235, 221, 0.1);
}

/* Modal styling */
#cc-main .cm,
#cc-main .pm {
  font-family: "Work Sans", sans-serif !important;
  box-shadow: 0 12px 40px rgba(17, 58, 58, 0.2) !important;
  border-radius: 8px !important;
}

[data-theme="dark"] #cc-main .cm,
[data-theme="dark"] #cc-main .pm {
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5) !important;
}

/* Headers */
#cc-main .cm__title,
#cc-main .pm__title {
  font-family: "Playfair Display", serif !important;
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  color: var(--cc-text) !important;
  letter-spacing: 0.02em !important;
}

/* Section titles */
#cc-main .pm__section-title {
  font-family: "Roboto Condensed", sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--color-teal, #0f7c7c) !important;
}

[data-theme="dark"] #cc-main .pm__section-title {
  color: #4fbfbf !important;
}

[data-theme="dark"] #cc-main .pm__section-desc {
  color: #faf5ee !important;
}

/* Body text */
#cc-main .cm__desc,
#cc-main .pm__desc {
  font-family: "Work Sans", sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  color: var(--cc-text) !important;
}

/* Buttons */
#cc-main .cm__btn,
#cc-main .pm__btn {
  font-family: "Roboto Condensed", sans-serif !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  border-radius: 4px !important;
  transition: all 0.2s ease !important;
  padding: 0.75rem 1.5rem !important;
}

#cc-main .cm__btn:hover,
#cc-main .pm__btn:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* Primary button (Accept All) */
#cc-main .cm__btn[data-role="accept"],
#cc-main .pm__btn[data-role="accept"] {
  background: var(--cc-btn-primary-bg) !important;
  color: var(--cc-btn-primary-text) !important;
}

#cc-main .cm__btn[data-role="accept"]:hover,
#cc-main .pm__btn[data-role="accept"]:hover {
  background: var(--cc-btn-primary-hover-bg) !important;
}

/* Secondary buttons */
#cc-main .cm__btn[data-role="necessary"],
#cc-main .cm__btn[data-role="show"],
#cc-main .cm__btn[data-role="show-preferences"],
#cc-main .pm__btn[data-role="necessary"],
#cc-main .pm__btn[data-role="save"] {
  background: var(--cc-btn-secondary-bg) !important;
  color: var(--cc-btn-secondary-text) !important;
}

#cc-main .cm__btn[data-role="necessary"]:hover,
#cc-main .cm__btn[data-role="show"]:hover,
#cc-main .cm__btn[data-role="show-preferences"]:hover,
#cc-main .pm__btn[data-role="necessary"]:hover,
#cc-main .pm__btn[data-role="save"]:hover {
  background: var(--cc-btn-secondary-hover-bg) !important;
}

/* Toggle switches */
#cc-main .section__toggle {
  border-radius: 16px !important;
}

#cc-main .section__toggle-knob {
  border-radius: 50% !important;
}

/* Links */
#cc-main a,
#cc-main .cc__link {
  color: var(--color-teal, #0f7c7c) !important;
  text-decoration: underline !important;
  transition: color 0.2s ease !important;
}

#cc-main a:hover,
#cc-main .cc__link:hover {
  color: var(--color-link-hover, #0a5555) !important;
}

[data-theme="dark"] #cc-main a,
[data-theme="dark"] #cc-main .cc__link {
  color: #4fbfbf !important;
}

[data-theme="dark"] #cc-main a:hover,
[data-theme="dark"] #cc-main .cc__link:hover {
  color: #6fd4d4 !important;
}

/* Cookie category blocks */
#cc-main .section__category-wrapper {
  border: 1px solid var(--cc-section-border) !important;
  border-radius: 4px !important;
  margin-bottom: 1rem !important;
}

/* Table styling */
#cc-main table {
  font-family: "Work Sans", sans-serif !important;
}

#cc-main th {
  font-family: "Roboto Condensed", sans-serif !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-size: 0.875rem !important;
  background: var(--cc-cookie-category-block-bg) !important;
}

#cc-main td {
  font-size: 0.9rem !important;
  padding: 0.75rem !important;
}

/* Footer */
#cc-main .cm__footer,
#cc-main .pm__footer {
  background: var(--cc-footer-bg) !important;
  border-top: 1px solid var(--cc-footer-border) !important;
  padding: 1rem !important;
}

#cc-main .cm__footer-links,
#cc-main .pm__footer-links {
  font-size: 0.9rem !important;
  color: var(--cc-footer-text) !important;
}

/* Badge styling */
#cc-main .pm__badge {
  background: var(--color-teal, #0f7c7c) !important;
  color: var(--color-parchment, #faf5ee) !important;
  padding: 0.25rem 0.5rem !important;
  border-radius: 3px !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  margin-left: 0.5rem !important;
}

[data-theme="dark"] #cc-main .pm__badge {
  background: #4fbfbf !important;
  color: #0a1f1f !important;
}

/* Modal positioning adjustments for mobile */
@media (max-width: 768px) {
  #cc-main .cm,
  #cc-main .pm {
    margin: 1rem !important;
  }

  #cc-main .cm__title,
  #cc-main .pm__title {
    font-size: 1.5rem !important;
  }

  #cc-main .cm__btn,
  #cc-main .pm__btn {
    font-size: 0.9rem !important;
    padding: 0.625rem 1.25rem !important;
  }
}
