/**
 * Divzoon Design System Theme Overrides for CookieConsent v3
 * Strictly aligned with .agents/design-system.md tokens
 */
#cc-main {
  --cc-font-family: var(--font-tree-sans, 'Tree', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
  
  /* Surfaces & Backgrounds */
  --cc-bg: var(--ds-background-200, #0a0a0a);
  --cc-overlay-bg: rgba(0, 0, 0, 0.78);
  --cc-modal-margin: 1.25rem;
  --cc-modal-border-radius: 16px;
  --cc-separator-border-color: var(--ds-gray-400, #27272a);
  --cc-section-category-border: var(--ds-gray-400, #27272a);
  
  /* Text & Links */
  --cc-primary-color: var(--ds-gray-1000, #ededed);
  --cc-secondary-color: var(--ds-gray-900, #a1a1aa);
  --cc-link-color: var(--ds-gray-1000, #ededed);
  
  /* Baseline Radius for Category Blocks (Prevents elliptical distortion) */
  --cc-btn-border-radius: 10px;
  
  /* Primary Button (Inverted High Contrast) */
  --cc-btn-primary-bg: #ededed;
  --cc-btn-primary-color: #000000;
  --cc-btn-primary-border-color: #ededed;
  --cc-btn-primary-hover-bg: #ffffff;
  --cc-btn-primary-hover-color: #000000;
  --cc-btn-primary-hover-border-color: #ffffff;
  
  /* Secondary Button (Bordered Dark Surface) */
  --cc-btn-secondary-bg: transparent;
  --cc-btn-secondary-color: var(--ds-gray-1000, #ededed);
  --cc-btn-secondary-border-color: var(--ds-gray-400, #27272a);
  --cc-btn-secondary-hover-bg: var(--ds-gray-200, #1a1a1a);
  --cc-btn-secondary-hover-color: #ffffff;
  --cc-btn-secondary-hover-border-color: var(--ds-gray-500, #3f3f46);
  
  /* Category Blocks inside Preferences Modal */
  --cc-cookie-category-block-bg: var(--ds-background-100, #000000);
  --cc-cookie-category-block-border: var(--ds-gray-400, #27272a);
  --cc-cookie-category-block-hover-bg: var(--ds-gray-200, #1a1a1a);
  --cc-cookie-category-block-hover-border: var(--ds-gray-500, #3f3f46);
  --cc-cookie-category-expanded-block-bg: var(--ds-background-200, #0a0a0a);
  --cc-cookie-category-expanded-block-hover-bg: var(--ds-gray-200, #1a1a1a);
  
  /* Toggles */
  --cc-pm-toggle-border-radius: 9999px;
  --cc-toggle-on-bg: #10b981;
  --cc-toggle-off-bg: var(--ds-gray-500, #3f3f46);
  --cc-toggle-on-knob-bg: #ffffff;
  --cc-toggle-off-knob-bg: #ededed;
  --cc-toggle-enabled-icon-color: #ffffff;
  --cc-toggle-disabled-icon-color: #a1a1aa;
}

/* Modal Surface Borders and Rich Depth */
#cc-main .cm,
#cc-main .pm {
  border: 1px solid var(--ds-gray-400, #27272a) !important;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.85) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-radius: 16px !important;
}

#cc-main .cm__title,
#cc-main .pm__title {
  letter-spacing: -0.02em;
  font-weight: 600;
  color: var(--ds-gray-1000, #ededed);
}

#cc-main .cm__desc,
#cc-main .pm__section-desc {
  color: var(--ds-gray-900, #a1a1aa);
  font-size: 0.875rem;
  line-height: 1.5;
}

/* Strict 9999px Pill Shape Applied ONLY to Action Buttons */
#cc-main .cm__btn,
#cc-main .pm__btn {
  border-radius: 9999px !important;
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em;
  min-height: 38px;
  padding: 0 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.18s ease-in-out;
}

#cc-main .pm__close-btn {
  border-radius: 9999px !important;
  border: 1px solid var(--ds-gray-400, #27272a) !important;
  background: var(--ds-background-100, #000000) !important;
  transition: all 0.18s ease;
}

#cc-main .pm__close-btn:hover {
  background: var(--ds-gray-200, #1a1a1a) !important;
  border-color: var(--ds-gray-500, #3f3f46) !important;
}

/* Category Sections - Clean Card Styling (Eliminating Elliptical Clipping) */
#cc-main .pm__section,
#cc-main .pm__section--toggle {
  border-radius: 10px !important;
  border: 1px solid var(--ds-gray-400, #27272a) !important;
  background: var(--ds-background-100, #000000) !important;
  overflow: hidden !important;
  margin-bottom: 0.75rem !important;
}

#cc-main .pm__section-title {
  border-radius: 10px !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  color: var(--ds-gray-1000, #ededed) !important;
  border: none !important;
}

#cc-main .pm__section--toggle.is-expanded {
  background: var(--ds-background-200, #0a0a0a) !important;
}

#cc-main .pm__section--toggle.is-expanded .pm__section-title {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-bottom: 1px solid var(--ds-gray-400, #27272a) !important;
}

#cc-main .pm__section--toggle .pm__section-desc-wrapper {
  border-radius: 0 0 10px 10px !important;
  border: none !important;
  overflow: visible !important;
  padding: 0 !important;
}

#cc-main .pm__section--toggle .pm__section-desc {
  padding: 1.25rem !important;
}

/* Table Design - High Readability & Clean Proportions */
#cc-main .pm__section-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 0.8125rem !important;
  margin: 0.75rem 0 0 0 !important;
  overflow-x: auto !important;
  display: table !important;
}

#cc-main .pm__table-caption {
  font-weight: 600 !important;
  font-size: 0.8125rem !important;
  color: var(--ds-gray-1000, #ededed) !important;
  padding: 0 0 0.5rem 0 !important;
  border-bottom: 1px solid var(--ds-gray-400, #27272a) !important;
}

#cc-main .pm__table-head > tr {
  border-bottom: 1px solid var(--ds-gray-400, #27272a) !important;
}

#cc-main .pm__table-th {
  font-weight: 600 !important;
  color: var(--ds-gray-1000, #ededed) !important;
  padding: 0.625rem 0.75rem !important;
  text-align: left !important;
  background: rgba(255, 255, 255, 0.02) !important;
}

#cc-main .pm__table-td {
  padding: 0.625rem 0.75rem !important;
  color: var(--ds-gray-900, #a1a1aa) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  vertical-align: top !important;
  line-height: 1.45 !important;
}

#cc-main .pm__table-tr:hover {
  background: rgba(255, 255, 255, 0.04) !important;
}

/* Badge for Read-Only / Strictly Necessary */
#cc-main .pm__badge {
  background: rgba(255, 255, 255, 0.08) !important;
  color: var(--ds-gray-900, #a1a1aa) !important;
  border: 1px solid var(--ds-gray-400, #27272a) !important;
  border-radius: 9999px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  padding: 2px 10px !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Service Counter Badge on Category Cards */
#cc-main .pm__service-counter {
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--ds-gray-900, #a1a1aa) !important;
  border: 1px solid var(--ds-gray-400, #27272a) !important;
  border-radius: 9999px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  padding: 2px 9px !important;
  text-transform: none !important;
  letter-spacing: 0.02em;
  margin-left: 0.5rem !important;
}

/* Granular Sub-Services Container & Service Rows */
#cc-main .pm__section-services {
  border-top: 1px solid var(--ds-gray-400, #27272a) !important;
  padding: 0.25rem 0 !important;
  display: flex !important;
  flex-direction: column !important;
  background: rgba(0, 0, 0, 0.35) !important;
}

#cc-main .pm__service {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0.65rem 1.25rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
  transition: background-color 0.15s ease !important;
}

#cc-main .pm__service:last-child {
  border-bottom: none !important;
}

#cc-main .pm__service:hover {
  background: rgba(255, 255, 255, 0.03) !important;
}

#cc-main .pm__service-header {
  display: flex !important;
  align-items: center !important;
  flex: 1 !important;
  margin-right: 1rem !important;
}

#cc-main .pm__service-icon {
  width: 6px !important;
  height: 6px !important;
  min-width: 6px !important;
  border-radius: 50% !important;
  background: #10b981 !important;
  border: none !important;
  margin-right: 12px !important;
  margin-left: 2px !important;
}

#cc-main .pm__service-title {
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  color: var(--ds-gray-1000, #ededed) !important;
  letter-spacing: -0.01em;
}

/* Footer link button custom style */
.am-framer-link-btn {
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: color 0.15s ease;
  display: inline-block;
}

.am-framer-link-btn:hover {
  color: var(--ds-gray-1000, #ffffff);
}
