/* SKRUPT RGPD Pro — rules that must come after the template sheet (1.65.0): display options
   (density, alignment, button order, typography, mobile modes), the panel-width and small-screen
   compositions, and the legacy widget rules that override template rules. */
:is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-density-compact .skrupt-consent__view--banner { gap: 18px; }
:is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-density-compact .skrupt-consent__assurances { display: none; }
:is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-density-compact .skrupt-category-preview__body small { display: none; }
/* Explicit font choices override model typography; tone=model preserves the composition's native font. */
:is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent.skrupt-type-style-modern:where(:not(.skrupt-typography-model)) :is(.skrupt-consent__title,.skrupt-age-gate__title), 
:is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent.skrupt-type-style-legal:where(:not(.skrupt-typography-model)) :is(.skrupt-consent__title,.skrupt-age-gate__title) { font-family: ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif; font-weight: var(--skc-title-weight); }
:is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent.skrupt-type-style-premium:where(:not(.skrupt-typography-model)) :is(.skrupt-consent__title,.skrupt-age-gate__title), 
:is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent.skrupt-typography-premium :is(.skrupt-consent__title,.skrupt-age-gate__title) { font-family: Georgia,'Times New Roman',serif; font-weight: var(--skc-title-weight); }
:is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent.skrupt-typography-legal :is(.skrupt-consent__title,.skrupt-age-gate__title), 
:is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent.skrupt-typography-warm :is(.skrupt-consent__title,.skrupt-age-gate__title) { font-family: ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif; font-weight: var(--skc-title-weight); }
:is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent.skrupt-typography-legal :is(.skrupt-consent__title,.skrupt-age-gate__title) { letter-spacing: 0; line-height: 1.3; }
:is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent.skrupt-typography-warm :is(.skrupt-consent__title,.skrupt-age-gate__title) { letter-spacing: -.015em; }
/* Layout alignment and button order remain explicit user choices. */
:is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-alignment-stacked .skrupt-consent__view--banner, 
:is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-alignment-compact .skrupt-consent__view--banner { grid-template-columns: 1fr; }
:is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-alignment-stacked .skrupt-consent__view--banner > *, 
:is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-alignment-compact .skrupt-consent__view--banner > *, 
:is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-alignment-stacked .skrupt-consent__view--banner > .skrupt-consent__actions, 
:is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-alignment-compact .skrupt-consent__view--banner > .skrupt-consent__actions { grid-column: 1; grid-row: auto; }
:is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-alignment-compact .skrupt-consent__visual { display: none; }
:is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-button-order-stacked .skrupt-consent__actions { grid-template-columns: 1fr; }
@media (min-width: 761px) {
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-no-visual-desktop .skrupt-consent__visual { display: none; }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-no-visual-desktop .skrupt-consent__view--banner { grid-template-columns: 1fr; }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-no-visual-desktop .skrupt-consent__view--banner > *, 
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-no-visual-desktop .skrupt-consent__view--banner > .skrupt-consent__actions { grid-column: 1; grid-row: auto; }
}
/* Composition responds to panel width, never to its position on the page. */
@container skrupt-panel (max-width: 880px) {
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-template-skrupt-signature .skrupt-consent__view--banner { grid-template-columns: 100px minmax(0,1fr); }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-template-skrupt-signature .skrupt-consent__view--banner > .skrupt-consent__actions { grid-column: 1 / -1; grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@container skrupt-panel (max-width: 540px) {
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent .skrupt-consent__view--banner > .skrupt-consent__actions { position: sticky; z-index: 4; bottom: -32px; margin: 0 -32px -32px; padding: 14px 32px 24px; background: var(--skc-bg); border-top: 1px solid var(--skc-border); }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent:where(:not(.skrupt-button-order-stacked)) .skrupt-consent__view--banner > .skrupt-consent__actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent:where(:not(.skrupt-button-order-stacked)) .skrupt-consent__actions--sticky { grid-template-columns: repeat(2,minmax(0,1fr)); }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent:where(:not(.skrupt-button-order-stacked)) .skrupt-consent__actions--sticky [data-skc-action="save-choices"] { grid-column: 1 / -1; }

  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent .skrupt-consent__view--banner, 
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent .skrupt-consent__content { grid-template-columns: minmax(0,1fr); }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent .skrupt-consent__view--banner > *, 
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent .skrupt-consent__view--banner > .skrupt-consent__actions { grid-column: 1; grid-row: auto; }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent .skrupt-consent__visual { border: 0; padding: 0; }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-template-skrupt-signature .skrupt-consent__actions { grid-template-columns: 1fr; }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent .skrupt-category-preview { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent .skrupt-consent__panel { width: 100%; max-width: 100%; max-height: calc(100vh - 20px); max-height: calc(100dvh - 20px); left: 0; right: auto; top: auto; bottom: 0; transform: none; border-radius: min(var(--skc-radius-xl),24px) min(var(--skc-radius-xl),24px) 0 0; padding: 24px var(--skc-mobile-pad) calc(var(--skc-mobile-pad) + env(safe-area-inset-bottom,0px)); }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent .skrupt-consent__view--banner, 
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent .skrupt-consent__content { grid-template-columns: minmax(0,1fr); gap: 18px; }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent .skrupt-consent__view--banner > *, 
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent .skrupt-consent__view--banner > .skrupt-consent__actions { grid-column: 1; grid-row: auto; }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent .skrupt-consent__visual { justify-content: flex-start; }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent .skrupt-visual { width: 74px; height: 64px; }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent .skrupt-brand-card { min-height: 128px; max-height: 128px; }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent .skrupt-consent__actions { grid-template-columns: 1fr 1fr; gap: 8px; }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent .skrupt-consent__actions .skrupt-button { min-height: max(44px,var(--skc-button-height)); grid-column: auto; grid-row: auto; padding: 10px 12px; font-size: 12px; }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent .skrupt-consent__actions [data-skc-action="save-preview-choices"], 
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent .skrupt-consent__actions--sticky [data-skc-action="save-choices"] { grid-column: 1 / -1; }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent.skrupt-mobile-actions-stacked .skrupt-consent__actions, 
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent.skrupt-button-order-stacked .skrupt-consent__actions { grid-template-columns: 1fr; }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-consent .skrupt-consent__view--banner > .skrupt-consent__actions { position: sticky; z-index: 4; background: var(--skc-bg); border-top: 1px solid var(--skc-border); bottom: calc(-1 * (var(--skc-mobile-pad) + env(safe-area-inset-bottom,0px))); margin: 18px calc(-1 * var(--skc-mobile-pad)) calc(-1 * (var(--skc-mobile-pad) + env(safe-area-inset-bottom,0px))); padding: 12px var(--skc-mobile-pad) calc(14px + env(safe-area-inset-bottom,0px)); }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-template-video-story .skrupt-category-preview { grid-template-columns: 1fr; }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-template-luxury-minimal .skrupt-consent__visual { justify-content: center; }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-mobile-mode-full .skrupt-consent__panel { min-height: 100dvh; max-height: 100dvh; border-radius: 0; }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-mobile-mode-compact .skrupt-consent__visual { display: none; }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-mobile-mode-compact .skrupt-consent__panel { padding-top: 20px; }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-mobile-short-text .skrupt-consent__assurances { display: none; }
  :is(#skrupt-consent-root,.skrupt-consent).skrupt-consent.skrupt-mobile-short-text .skrupt-category-preview__body small { display: none; }
}

:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget {
  background: var(--skc-widget-bg, #fff);
  border-color: var(--skc-widget-border, var(--skc-border, #eaecf0));
  border-radius: var(--skc-widget-radius, 22px);
  color: var(--skc-widget-text, var(--skc-primary, #18233f));
}

:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget--icon,
:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget--pill,
:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget--card,
:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget-mobile-bottom-sheet,
:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget-luxury-minimal {
  border-radius: var(--skc-widget-radius, 22px);
}

:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget--icon .skrupt-widget__icon, 
:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget-skrupt-signature .skrupt-widget__icon, 
:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget-premium-card .skrupt-widget__icon, 
:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget-ecommerce-premium .skrupt-widget__icon, 
:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget-consent-center .skrupt-widget__icon, 
:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget-publisher-tcf .skrupt-widget__icon {
  background: var(--skc-widget-accent, var(--skc-primary, #18233f));
}

:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget--icon .skrupt-widget__icon::before, 
:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget-skrupt-signature .skrupt-widget__icon::before, 
:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget-premium-card .skrupt-widget__icon::before, 
:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget-ecommerce-premium .skrupt-widget__icon::before, 
:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget-consent-center .skrupt-widget__icon::before, 
:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget-publisher-tcf .skrupt-widget__icon::before {
  border-color: #fff;
}

:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget:hover {
  background: var(--skc-widget-accent, var(--skc-primary, #18233f));
}

:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget-icon-check .skrupt-widget__icon::before {
  border: 0;
  border-bottom: 4px solid currentColor;
  border-radius: 0;
  border-right: 4px solid currentColor;
  clip-path: none;
  height: 20px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -58%) rotate(45deg);
  width: 10px;
}

:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget-icon-lock .skrupt-widget__icon::before {
  border: 3px solid currentColor;
  border-radius: 8px;
  clip-path: none;
  height: 17px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -10%);
  width: 22px;
}

:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget-icon-lock.skrupt-widget--icon .skrupt-widget__icon::before,
:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget-skrupt-signature.skrupt-widget-icon-lock .skrupt-widget__icon::before,
:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget-premium-card.skrupt-widget-icon-lock .skrupt-widget__icon::before,
:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget-ecommerce-premium.skrupt-widget-icon-lock .skrupt-widget__icon::before,
:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget-consent-center.skrupt-widget-icon-lock .skrupt-widget__icon::before,
:is(#skrupt-consent-widget,.skrupt-widget).skrupt-widget.skrupt-widget-publisher-tcf.skrupt-widget-icon-lock .skrupt-widget__icon::before {
  color: #fff;
}
