/* ILUMA Cookie Consent PRO — scoped; no theme or third-party CSS required. */
.iluma-cc {
  --iluma-accent: #2563eb;
  --iluma-bg: #ffffff;
  --iluma-modal-bg: #ffffff;
  --iluma-text: #142338;
  --iluma-muted: #5f6f82;
  --iluma-line: #dce4ec;
  --iluma-subtle: #f4f7fa;
  --iluma-shadow: 0 24px 64px rgba(11, 31, 55, .17);
  --iluma-radius: 20px;
  --iluma-button-radius: 11px;
  --iluma-backdrop: none;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Inter, Roboto, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: var(--iluma-text);
  isolation: isolate;
}
.iluma-cc *, .iluma-cc *::before, .iluma-cc *::after { box-sizing: border-box; }
.iluma-cc [hidden] { display: none !important; }
.iluma-cc button { font-family: inherit; font-size: inherit; font-weight: 700; text-transform: none; letter-spacing: normal; line-height: 1.25; }
.iluma-cc button:focus-visible, .iluma-cc a:focus-visible, .iluma-cc input:focus-visible + .iluma-cc-toggle-slider { outline: 3px solid var(--iluma-accent); outline-offset: 3px; }
.iluma-theme-glass { --iluma-bg: rgba(255, 255, 255, .91); --iluma-backdrop: blur(22px) saturate(130%); }
.iluma-theme-light { --iluma-bg: #fff; --iluma-text: #18273d; --iluma-muted: #66758a; }
.iluma-theme-dark { --iluma-modal-bg: #172032; --iluma-bg: #172032; --iluma-text: #f6f9fc; --iluma-muted: #b2c0d1; --iluma-line: #3c4b61; --iluma-subtle: #222f45; --iluma-shadow: 0 24px 64px rgba(0, 0, 0, .39); }
.iluma-theme-midnight { --iluma-modal-bg: #0a1224; --iluma-bg: #0a1224; --iluma-text: #f3f6ff; --iluma-muted: #a5b6d4; --iluma-line: #33415e; --iluma-subtle: #17213a; --iluma-shadow: 0 24px 70px rgba(4, 11, 32, .45); }
.iluma-theme-ocean { --iluma-modal-bg: #e5f7f8; --iluma-bg: #e5f7f8; --iluma-text: #094654; --iluma-muted: #3c7382; --iluma-line: #a8dbdf; --iluma-subtle: #d1eff1; --iluma-shadow: 0 24px 65px rgba(0, 77, 93, .20); }
.iluma-theme-sunset { --iluma-modal-bg: #fff4ee; --iluma-bg: #fff4ee; --iluma-text: #663426; --iluma-muted: #916451; --iluma-line: #f0c9b5; --iluma-subtle: #ffe8dc; --iluma-shadow: 0 24px 65px rgba(125, 62, 31, .18); }
.iluma-theme-minimal { --iluma-bg: #fff; --iluma-text: #202020; --iluma-muted: #585858; --iluma-line: #cfcfcf; --iluma-subtle: #f7f7f7; --iluma-radius: 6px; --iluma-shadow: 0 8px 32px rgba(0, 0, 0, .12); }
.iluma-theme-gradient { --iluma-modal-bg: #ffffff; --iluma-bg: linear-gradient(125deg, #edf4ff 0%, #fff 46%, #f3e9ff 100%); --iluma-text: #253054; --iluma-muted: #656e89; --iluma-line: #d4d3ef; --iluma-subtle: #eeedff; --iluma-shadow: 0 26px 72px rgba(67, 62, 133, .20); }
.iluma-buttons-pill { --iluma-button-radius: 999px; }
.iluma-buttons-square { --iluma-button-radius: 3px; }
.iluma-density-compact .iluma-cc-banner { padding: 16px 20px; gap: 16px; }
.iluma-density-compact .iluma-cc-banner p { line-height: 1.45; }
.iluma-density-compact .iluma-cc-button { padding: 11px 15px; }

.iluma-cc-banner {
  position: fixed;
  z-index: 2147483000;
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 25px 28px;
  border: 1px solid var(--iluma-line);
  border-radius: var(--iluma-radius);
  color: var(--iluma-text);
  background: var(--iluma-bg);
  -webkit-backdrop-filter: var(--iluma-backdrop);
  backdrop-filter: var(--iluma-backdrop);
  box-shadow: var(--iluma-shadow);
  opacity: 0;
  transform: translateY(25px);
  transition: opacity .28s ease, transform .34s cubic-bezier(.2,.8,.2,1);
  max-height: calc(100dvh - 28px);
  overflow: auto;
}
.iluma-cc-banner.iluma-cc-visible { opacity: 1; transform: translateY(0); }
.iluma-cc-banner.iluma-pos-center { left: 50%; bottom: 22px; width: min(calc(100% - 36px), 1010px); transform: translate(-50%, 25px); }
.iluma-cc-banner.iluma-pos-center.iluma-cc-visible { transform: translate(-50%, 0); }
.iluma-cc-banner.iluma-pos-left, .iluma-cc-banner.iluma-pos-right { bottom: 22px; width: min(440px, calc(100% - 36px)); flex-direction: column; align-items: stretch; gap: 19px; }
.iluma-cc-banner.iluma-pos-left { left: 22px; }
.iluma-cc-banner.iluma-pos-right { right: 22px; }
.iluma-cc-banner.iluma-pos-top, .iluma-cc-banner.iluma-pos-bottom { left: 0; right: 0; width: 100%; border-radius: 0; justify-content: center; padding-left: max(25px, calc((100% - 1160px) / 2)); padding-right: max(25px, calc((100% - 1160px) / 2)); }
.iluma-cc-banner.iluma-pos-top { top: 0; transform: translateY(-25px); }
.iluma-cc-banner.iluma-pos-top.iluma-cc-visible { transform: translateY(0); }
.iluma-cc-banner.iluma-pos-bottom { bottom: 0; }
.iluma-cc-banner-copy { flex: 1 1 350px; min-width: 0; }
.iluma-cc-banner-copy h2 { font-family: inherit; font-size: 17px; font-weight: 800; line-height: 1.35; letter-spacing: -.02em; margin: 0 0 9px; padding: 0; color: var(--iluma-text); }
.iluma-cc-banner-copy p { margin: 0; padding: 0; font-family: inherit; font-weight: 400; font-size: 12.5px; line-height: 1.67; color: var(--iluma-muted); }
.iluma-cc-banner-actions { display: flex; gap: 9px; flex: 0 0 auto; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
.iluma-pos-left .iluma-cc-banner-copy, .iluma-pos-right .iluma-cc-banner-copy { flex-basis: auto; }
.iluma-pos-left .iluma-cc-banner-actions, .iluma-pos-right .iluma-cc-banner-actions { justify-content: stretch; }
.iluma-pos-left .iluma-cc-banner-actions .iluma-cc-button, .iluma-pos-right .iluma-cc-banner-actions .iluma-cc-button { flex: 1 0 125px; }
.iluma-cc-button {
  -webkit-appearance: none;
  appearance: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 43px;
  padding: 12px 17px;
  border-radius: var(--iluma-button-radius);
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
  white-space: normal;
  text-align: center;
  text-decoration: none;
  font-size: 12px !important;
  font-weight: 750 !important;
}
.iluma-cc-button:hover { transform: translateY(-1px); }
.iluma-cc-button-primary { background: var(--iluma-accent); border: 1px solid var(--iluma-accent); color: #fff; }
.iluma-cc-button-primary:hover { background: var(--iluma-accent); filter: brightness(.95); box-shadow: 0 5px 18px rgba(10, 50, 80, .16); color: #fff; }
.iluma-cc-button-secondary { background: transparent; border: 1px solid var(--iluma-muted); color: var(--iluma-text); }
.iluma-cc-button-secondary:hover { background: var(--iluma-subtle); color: var(--iluma-text); }
.iluma-cc-button-ghost { background: var(--iluma-subtle); border: 1px solid transparent; color: var(--iluma-text); }
.iluma-cc-button-ghost:hover { background: var(--iluma-line); color: var(--iluma-text); }
.iluma-cc-links { display: flex; gap: 16px; flex-wrap: wrap; margin: 10px 0 0; }
.iluma-cc-links a { color: var(--iluma-muted); font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
.iluma-cc-links a:hover { color: var(--iluma-text); }

.iluma-cc-overlay { position: fixed; z-index: 2147483001; inset: 0; background: rgba(9, 20, 37, .67); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); opacity: 0; transition: opacity .2s ease; }
.iluma-cc-overlay.iluma-cc-visible { opacity: 1; }
.iluma-cc-modal {
  position: fixed;
  z-index: 2147483002;
  top: 50%; left: 50%;
  transform: translate(-50%, -47%) scale(.98);
  opacity: 0;
  width: min(94vw, 610px);
  max-height: min(88dvh, 760px);
  display: flex;
  flex-direction: column;
  border: 1px solid var(--iluma-line);
  border-radius: var(--iluma-radius);
  background: var(--iluma-modal-bg);
  color: var(--iluma-text);
  box-shadow: 0 30px 100px rgba(0, 0, 0, .28);
  overflow: hidden;
  transition: opacity .25s ease, transform .25s ease;
}
.iluma-cc-modal.iluma-cc-visible { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.iluma-cc-modal-header { padding: 20px 25px; border-bottom: 1px solid var(--iluma-line); display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; gap: 16px; }
.iluma-cc-modal-brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
.iluma-cc-brand-icon { background: var(--iluma-accent); color: #fff; display: grid; place-items: center; width: 35px; height: 35px; border-radius: 10px; font-size: 22px; }
.iluma-cc-modal-header h2 { font-family: inherit; margin: 0; padding: 0; color: var(--iluma-text); font-size: 18px; line-height: 1.4; font-weight: 800; }
.iluma-cc-logo { display: block; max-width: 90px; max-height: 38px; height: auto; width: auto; object-fit: contain; }
.iluma-cc-close { display: grid; place-items: center; border: 1px solid var(--iluma-line); width: 34px; height: 34px; border-radius: 50%; background: var(--iluma-subtle); color: var(--iluma-text); padding: 0; cursor: pointer; flex: 0 0 auto; }
.iluma-cc-close span { font-size: 23px; line-height: 1; transform: translateY(-1px); }
.iluma-cc-modal-scroll { padding: 10px 25px 22px; overflow-y: auto; min-height: 0; flex: 1 1 auto; overscroll-behavior: contain; }
.iluma-cc-modal-intro { margin: 13px 0 4px; font-size: 12.5px; line-height: 1.65; color: var(--iluma-muted); }
.iluma-cc-category { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 16px 0; border-bottom: 1px solid var(--iluma-line); }
.iluma-cc-category:last-of-type { border-bottom: 0; }
.iluma-cc-category-copy { min-width: 0; }
.iluma-cc-category h3 { margin: 0 0 5px; padding: 0; color: var(--iluma-text); font-size: 13.5px; font-family: inherit; font-weight: 750; line-height: 1.4; }
.iluma-cc-category p { margin: 0; padding: 0; color: var(--iluma-muted); font-size: 12px; font-family: inherit; line-height: 1.55; }
.iluma-cc-required { flex: 0 0 auto; border-radius: 999px; padding: 6px 9px; color: #16835b; font-weight: 750; font-size: 10px; background: #e3f7ee; }
.iluma-cc-toggle { position: relative; width: 44px; height: 25px; display: block; flex: 0 0 44px; cursor: pointer; }
.iluma-cc-toggle input { position: absolute; width: 100%; height: 100%; inset: 0; margin: 0; opacity: 0; cursor: pointer; z-index: 1; }
.iluma-cc-toggle-slider { position: absolute; inset: 0; background: #afb9c9; border-radius: 999px; transition: background .18s ease; }
.iluma-cc-toggle-slider::before { content: ''; position: absolute; left: 3px; top: 3px; width: 19px; height: 19px; background: white; box-shadow: 0 1px 5px rgba(0,0,0,.18); border-radius: 50%; transition: transform .18s ease; }
.iluma-cc-toggle input:checked + .iluma-cc-toggle-slider { background: var(--iluma-accent); }
.iluma-cc-toggle input:checked + .iluma-cc-toggle-slider::before { transform: translateX(19px); }
.iluma-cc-modal-actions { flex: 0 0 auto; display: flex; justify-content: flex-end; gap: 10px; padding: 16px 25px; background: var(--iluma-subtle); border-top: 1px solid var(--iluma-line); flex-wrap: wrap; }
.iluma-cc-modal-actions .iluma-cc-button { flex: 1 1 135px; }
.iluma-cc-manage { position: fixed; z-index: 2147482999; bottom: 18px; right: 18px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: var(--iluma-bg); color: var(--iluma-text); border: 1px solid var(--iluma-line); border-radius: 999px; padding: 10px 14px; min-height: 43px; box-shadow: var(--iluma-shadow); cursor: pointer; font-size: 11px !important; -webkit-backdrop-filter: var(--iluma-backdrop); backdrop-filter: var(--iluma-backdrop); }
.iluma-cc-manage:hover { transform: translateY(-2px); }
.iluma-cc-manage svg { flex: 0 0 auto; }
body.iluma-cc-modal-open { overflow: hidden !important; }
.iluma-cc-open-settings { display: inline-block; cursor: pointer; padding: .5em .75em; border: 1px solid currentColor; border-radius: 5px; background: transparent; font: inherit; }

@media (max-width: 900px) {
  .iluma-cc-banner.iluma-pos-center, .iluma-cc-banner.iluma-pos-top, .iluma-cc-banner.iluma-pos-bottom { flex-direction: column; align-items: stretch; gap: 15px; }
  .iluma-cc-banner-copy { flex-basis: auto; }
  .iluma-cc-banner-actions { justify-content: flex-start; }
}
@media (max-width: 560px) {
  .iluma-cc-banner.iluma-pos-center, .iluma-cc-banner.iluma-pos-left, .iluma-cc-banner.iluma-pos-right { width: calc(100% - 20px); bottom: 10px; left: 10px; right: 10px; padding: 17px; border-radius: 15px; }
  .iluma-cc-banner.iluma-pos-center { transform: translateY(25px); }
  .iluma-cc-banner.iluma-pos-center.iluma-cc-visible { transform: translateY(0); }
  .iluma-cc-banner.iluma-pos-top, .iluma-cc-banner.iluma-pos-bottom { padding: 16px; }
  .iluma-cc-banner-copy h2 { font-size: 15px; }
  .iluma-cc-banner-copy p { font-size: 12px; }
  .iluma-cc-banner-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; width: 100%; }
  .iluma-cc-banner-actions .iluma-cc-button { padding: 10px 6px; min-height: 44px; min-width: 0; font-size: 11px !important; }
  .iluma-cc-banner-actions .iluma-cc-button-ghost { grid-column: 1 / -1; }
  .iluma-cc-modal { width: calc(100vw - 18px); max-height: min(91dvh, 760px); border-radius: 15px; }
  .iluma-cc-modal-header { padding: 14px 16px; }
  .iluma-cc-modal-scroll { padding: 8px 16px 16px; }
  .iluma-cc-category { gap: 13px; padding: 13px 0; }
  .iluma-cc-modal-actions { padding: 12px; gap: 7px; }
  .iluma-cc-modal-actions .iluma-cc-button { flex: 1 1 110px; font-size: 11px !important; padding: 10px 7px; }
  .iluma-cc-manage { width: 45px; height: 45px; padding: 10px; border-radius: 50%; }
  .iluma-cc-manage span { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .iluma-cc *, .iluma-cc *::before, .iluma-cc *::after { animation: none !important; transition-duration: 0s !important; }
}

/* v3.1: High-specificity style isolation for WordPress themes/builders.
 * Theme styles often apply !important to all buttons and headings.
 * Scope critical resets to our two exact containers; never affect the website.
 */
:is(#iluma-cc-root, #iluma-admin-preview) {
  --iluma-accent-text: #ffffff;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Inter, Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  text-align: left !important;
  color: var(--iluma-text) !important;
  isolation: auto;
}
:is(#iluma-cc-root, #iluma-admin-preview) :is(.iluma-cc-banner, .iluma-cc-modal, .iluma-cc-manage) {
  font-family: inherit !important;
  color: var(--iluma-text) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  direction: ltr;
}
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-banner {
  display: flex !important;
  background: var(--iluma-bg) !important;
  color: var(--iluma-text) !important;
  border: 1px solid var(--iluma-line) !important;
  border-radius: var(--iluma-radius) !important;
  box-shadow: var(--iluma-shadow) !important;
  padding: 25px 28px !important;
  gap: 24px !important;
  box-sizing: border-box !important;
  align-items: center !important;
  text-align: left !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  line-height: 1.5 !important;
  -webkit-backdrop-filter: var(--iluma-backdrop) !important;
  backdrop-filter: var(--iluma-backdrop) !important;
}
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-banner[hidden],
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-modal[hidden],
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-overlay[hidden],
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-manage[hidden] { display: none !important; }
#iluma-cc-root .iluma-cc-banner.iluma-pos-center {
  width: min(calc(100vw - 36px), 1010px) !important;
  max-width: calc(100vw - 36px) !important;
  left: 50% !important;
  right: auto !important;
  top: auto !important;
  bottom: 22px !important;
}
#iluma-cc-root .iluma-cc-banner.iluma-pos-left,
#iluma-cc-root .iluma-cc-banner.iluma-pos-right {
  width: min(440px, calc(100vw - 36px)) !important;
  max-width: calc(100vw - 36px) !important;
  flex-direction: column !important;
  align-items: stretch !important;
}
#iluma-cc-root .iluma-cc-banner.iluma-pos-left { left: 22px !important; right: auto !important; }
#iluma-cc-root .iluma-cc-banner.iluma-pos-right { right: 22px !important; left: auto !important; }
#iluma-cc-root .iluma-cc-banner.iluma-pos-top,
#iluma-cc-root .iluma-cc-banner.iluma-pos-bottom {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 0 !important;
  padding-left: max(25px, calc((100% - 1160px) / 2)) !important;
  padding-right: max(25px, calc((100% - 1160px) / 2)) !important;
}
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-banner-copy {
  min-width: 0 !important;
  flex: 1 1 350px !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-banner-copy h2 {
  display: block !important;
  margin: 0 0 9px !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--iluma-text) !important;
  background: transparent !important;
  font-family: inherit !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  line-height: 1.35 !important;
  text-align: left !important;
  text-decoration: none !important;
  text-shadow: none !important;
}
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-banner-copy p {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--iluma-muted) !important;
  background: transparent !important;
  font-family: inherit !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 1.67 !important;
  text-align: left !important;
  text-transform: none !important;
  text-shadow: none !important;
}
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-banner-actions {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 9px !important;
  flex-wrap: wrap !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-button {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 43px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 12px 17px !important;
  border-radius: var(--iluma-button-radius) !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  font-style: normal !important;
  line-height: 1.25 !important;
  text-align: center !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-decoration: none !important;
  text-shadow: none !important;
  opacity: 1 !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
}
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-button::before,
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-button::after {
  content: none !important; display: none !important;
}
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-button-primary,
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-button-primary:visited {
  background: var(--iluma-accent) !important;
  background-color: var(--iluma-accent) !important;
  border: 1px solid var(--iluma-accent) !important;
  color: var(--iluma-accent-text) !important;
}
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-button-secondary,
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-button-secondary:visited {
  background: transparent !important;
  background-color: transparent !important;
  border: 1px solid var(--iluma-muted) !important;
  color: var(--iluma-text) !important;
}
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-button-ghost,
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-button-ghost:visited {
  background: var(--iluma-subtle) !important;
  background-color: var(--iluma-subtle) !important;
  border: 1px solid transparent !important;
  color: var(--iluma-text) !important;
}
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-button-primary:hover,
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-button-primary:focus-visible {
  background: var(--iluma-accent) !important;
  color: var(--iluma-accent-text) !important;
  filter: brightness(.95);
  box-shadow: 0 5px 18px rgba(10,50,80,.16) !important;
}
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-button-secondary:hover { background: var(--iluma-subtle) !important; color: var(--iluma-text) !important; }
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-button-ghost:hover { background: var(--iluma-line) !important; color: var(--iluma-text) !important; }
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-links {
  display: flex !important; gap: 16px !important; flex-wrap: wrap !important;
  margin: 10px 0 0 !important; padding: 0 !important;
}
:is(#iluma-cc-root, #iluma-admin-preview) .iluma-cc-links a {
  font-family: inherit !important; font-size: 11px !important;
  text-decoration: underline !important; color: var(--iluma-muted) !important;
  text-transform: none !important; letter-spacing: normal !important;
}
#iluma-cc-root .iluma-cc-modal {
  background: var(--iluma-modal-bg) !important;
  color: var(--iluma-text) !important;
  border: 1px solid var(--iluma-line) !important;
  border-radius: var(--iluma-radius) !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: left !important;
  width: min(94vw, 610px) !important;
  max-height: min(88dvh, 760px) !important;
}
#iluma-cc-root .iluma-cc-modal h2, #iluma-cc-root .iluma-cc-modal h3 {
  color: var(--iluma-text) !important; font-family: inherit !important;
  letter-spacing: normal !important; text-transform: none !important;
  text-shadow: none !important; background: transparent !important;
}
#iluma-cc-root .iluma-cc-modal p {
  color: var(--iluma-muted) !important; font-family: inherit !important;
  font-size: 12px !important; text-transform: none !important;
  line-height: 1.55 !important; margin: 0 !important;
}
#iluma-cc-root .iluma-cc-modal-header h2 { font-size: 18px !important; line-height: 1.4 !important; margin: 0 !important; }
#iluma-cc-root .iluma-cc-category h3 { font-size: 13.5px !important; margin: 0 0 5px !important; }
#iluma-cc-root .iluma-cc-modal-intro { margin: 13px 0 4px !important; }
#iluma-cc-root .iluma-cc-close {
  display: grid !important; place-items: center !important; flex: 0 0 34px !important;
  width: 34px !important; height: 34px !important; padding: 0 !important;
  border-radius: 50% !important; background: var(--iluma-subtle) !important;
  border: 1px solid var(--iluma-line) !important; color: var(--iluma-text) !important;
}
#iluma-cc-root .iluma-cc-toggle input { -webkit-appearance: none !important; appearance: none !important; opacity: 0 !important; }
#iluma-cc-root .iluma-cc-toggle input:checked + .iluma-cc-toggle-slider { background: var(--iluma-accent) !important; }
#iluma-cc-root .iluma-cc-category, #iluma-cc-root .iluma-cc-modal-actions,
#iluma-cc-root .iluma-cc-modal-header { border-color: var(--iluma-line) !important; }
#iluma-cc-root .iluma-cc-modal-actions { background: var(--iluma-subtle) !important; }
#iluma-cc-root .iluma-cc-manage {
  display: inline-flex !important; background: var(--iluma-bg) !important;
  border: 1px solid var(--iluma-line) !important; color: var(--iluma-text) !important;
  border-radius: 999px !important; font-family: inherit !important; font-size: 11px !important;
}

:is(#iluma-cc-root, #iluma-admin-preview).iluma-density-compact .iluma-cc-banner { padding: 16px 20px !important; gap: 16px !important; }
:is(#iluma-cc-root, #iluma-admin-preview).iluma-density-compact .iluma-cc-button { padding: 11px 15px !important; }
#iluma-cc-root .iluma-cc-banner:is(.iluma-pos-left, .iluma-pos-right) { align-items: stretch !important; }
#iluma-cc-root .iluma-cc-banner:is(.iluma-pos-left, .iluma-pos-right) .iluma-cc-banner-copy { flex-basis: auto !important; }
#iluma-cc-root .iluma-cc-banner:is(.iluma-pos-left, .iluma-pos-right) .iluma-cc-banner-actions { justify-content: stretch !important; }
#iluma-cc-root .iluma-cc-banner:is(.iluma-pos-left, .iluma-pos-right) .iluma-cc-button { flex: 1 0 125px !important; }
@media (max-width: 900px) {
  #iluma-cc-root .iluma-cc-banner:is(.iluma-pos-center, .iluma-pos-bottom, .iluma-pos-top) { flex-direction: column !important; align-items: stretch !important; gap: 15px !important; }
  #iluma-cc-root .iluma-cc-banner-copy { flex-basis: auto !important; }
  #iluma-cc-root .iluma-cc-banner-actions { justify-content: flex-start !important; }
}
@media (max-width: 560px) {
  #iluma-cc-root .iluma-cc-banner:is(.iluma-pos-center, .iluma-pos-left, .iluma-pos-right) {
    width: calc(100vw - 20px) !important; max-width: calc(100vw - 20px) !important;
    left: 10px !important; right: 10px !important; bottom: 10px !important; top: auto !important;
    padding: 17px !important; border-radius: 15px !important;
  }
  #iluma-cc-root .iluma-cc-banner.iluma-pos-center { transform: translateY(25px) !important; }
  #iluma-cc-root .iluma-cc-banner.iluma-pos-center.iluma-cc-visible { transform: translateY(0) !important; }
  #iluma-cc-root .iluma-cc-banner:is(.iluma-pos-top, .iluma-pos-bottom) { padding: 16px !important; }
  #iluma-cc-root .iluma-cc-banner-copy h2 { font-size: 15px !important; }
  #iluma-cc-root .iluma-cc-banner-copy p { font-size: 12px !important; }
  #iluma-cc-root .iluma-cc-banner-actions { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px !important; width: 100% !important; }
  #iluma-cc-root .iluma-cc-banner-actions .iluma-cc-button { padding: 10px 6px !important; min-width: 0 !important; font-size: 11px !important; }
  #iluma-cc-root .iluma-cc-banner-actions .iluma-cc-button-ghost { grid-column: 1 / -1 !important; }
  #iluma-cc-root .iluma-cc-modal { width: calc(100vw - 18px) !important; max-height: min(91dvh,760px) !important; border-radius: 15px !important; }
  #iluma-cc-root .iluma-cc-modal-actions .iluma-cc-button { min-width: 0 !important; padding: 10px 7px !important; font-size: 11px !important; }
}

/* Preserve viewport overlay positioning even when a theme styles section/div elements. */
#iluma-cc-root > .iluma-cc-banner,
#iluma-cc-root > .iluma-cc-modal,
#iluma-cc-root > .iluma-cc-overlay,
#iluma-cc-root > .iluma-cc-manage { position: fixed !important; }
#iluma-cc-root > .iluma-cc-modal { display: flex !important; flex-direction: column !important; }
#iluma-cc-root > .iluma-cc-overlay { inset: 0 !important; }
#iluma-cc-root > .iluma-cc-modal { top: 50% !important; left: 50% !important; right: auto !important; bottom: auto !important; }
#iluma-cc-root .iluma-cc-banner.iluma-pos-center { transform: translate(-50%,25px) !important; }
#iluma-cc-root .iluma-cc-banner.iluma-pos-center.iluma-cc-visible { transform: translate(-50%,0) !important; }
#iluma-cc-root .iluma-cc-banner.iluma-pos-top { transform: translateY(-25px) !important; }
#iluma-cc-root .iluma-cc-banner.iluma-pos-top.iluma-cc-visible { transform: translateY(0) !important; }
#iluma-cc-root .iluma-cc-modal { transform: translate(-50%,-47%) scale(.98) !important; }
#iluma-cc-root .iluma-cc-modal.iluma-cc-visible { transform: translate(-50%,-50%) scale(1) !important; }
@media (max-width:560px) {
  #iluma-cc-root .iluma-cc-banner.iluma-pos-center { transform: translateY(25px) !important; }
  #iluma-cc-root .iluma-cc-banner.iluma-pos-center.iluma-cc-visible { transform: translateY(0) !important; }
}
