.cks-dialog {
  box-sizing: border-box;
  position: fixed;
  inset: auto 2rem 2rem;
  width: calc(100% - 4rem);
  max-width: 71rem;
  max-height: calc(100dvh - 4rem);
  margin: 0 auto;
  padding: 2rem;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #1c232e;
  font-family: var(--font-default, sans-serif);
  box-shadow: 0 0 .9rem 0 #00000022;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.cks-dialog::backdrop { background: #00000044; }
.cks-dialog[open] { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem 2rem; }
.cks-summary { grid-column: 1; }
#cks-cookie-content { display: contents; }
#cks-cookie-intro { margin: 0; }
#cks-age { margin-top: 1rem; }
#cks-cookie-intro[hidden] + #cks-age { margin-top: 0; }
#cks-cookie-content > .cks-main-actions { grid-column: 2; grid-row: 1; }
#cks-details { grid-column: 1 / -1; }
.cks-action-continue { grid-column: 2; grid-row: 1; }
.cks-action-close-settings { grid-column: 1 / -1; }
.cks-dialog [hidden] { display: none !important; }
.cks-dialog h2, .cks-dialog h3 { font-family: var(--font-secondary-bold, sans-serif); text-align: left; }
.cks-dialog h2 { margin: 0 0 .5em; font-size: 2rem; }
.cks-dialog h3 { font-size: 1.3rem; margin: 1.5rem 0 1rem; }
.cks-dialog p { color: inherit; font-size: 1.1rem; line-height: 1.2; text-align: left; }
.cks-age-label {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 0;
  padding: 0;
  border: 0;
  color: #1c232e;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
}
.cks-age-label input { width: 1.4rem; height: 1.4rem; margin: 0; flex-shrink: 0; accent-color: #dd8924; }
.cks-dialog .cks-error { color: #a71919; }
.cks-main-actions { display: grid; grid-template-columns: 1fr; gap: .5rem; }
.cks-button {
  margin: 0;
  font: 700 1.3rem var(--font-secondary-bold, sans-serif);
  padding: .7em 1.5em;
  border: 0;
  border-radius: 0;
  line-height: 1.1;
  background: #00000022;
  color: #1c232e;
  cursor: pointer;
}
.cks-button--accent { background: #dd8924; color: white; }
.cks-button:hover { background: black; color: white; box-shadow: 0 0 .4rem .1rem #0000001a; }
.cks-button--accent:hover { background: #dd8924; color: white; }
.cks-dialog button:focus-visible, .cks-dialog input:focus-visible, .cks-footer-settings:focus-visible { outline: 3px solid #3976ab; outline-offset: 3px; }
.cks-customize { display: block; margin: 1rem auto 0; padding: .5rem; border: 0; background: transparent; color: #3d98c2; font: inherit; text-decoration: underline; cursor: pointer; }
.cks-footer-settings { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.cks-footer-settings:hover { text-decoration: underline; }
.cks-action-continue { display: block; width: 100%; margin: 0; }
.cks-settings__list { display: grid; gap: .5rem; }
.cks-settings__option { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .75rem; padding: 1rem; background: #f3f3f3; }
.cks-settings__option-name { font-weight: bold; margin: 0; }
.cks-dialog .cks-settings__option-desc { grid-column: 1 / -1; grid-row: 2; margin: 0; font-size: .95rem; }
.cks-settings__option-toggle { grid-column: 2; grid-row: 1; }
.cks-settings__option-toggle-required { color: #78ca78; font-size: .9rem; }
.cks-settings-foot { margin-top: 1rem; }
.switch-checkbox { position: relative; display: inline-block; width: 52px; height: 30px; }
.switch-checkbox input { position: absolute; width: 100%; height: 100%; margin: 0; opacity: 0; }
.switch-checkbox-slider { position: absolute; inset: 0; cursor: pointer; background: #ccc; border-radius: 30px; pointer-events: none; }
.switch-checkbox-slider::before { position: absolute; content: ''; height: 22px; width: 22px; left: 4px; bottom: 4px; background: white; border-radius: 50%; transition: transform .15s; }
.switch-checkbox input:checked + .switch-checkbox-slider { background: #2196F3; }
.switch-checkbox input:checked + .switch-checkbox-slider::before { transform: translateX(22px); }
.switch-checkbox input:focus-visible + .switch-checkbox-slider { outline: 3px solid #3976ab; outline-offset: 3px; }
@media (max-width: 800px) {
  .cks-dialog[open] { grid-template-columns: 1fr; gap: 1rem; padding: 1.5rem; }
  .cks-dialog h2 { font-size: 1.5rem; }
  #cks-cookie-content > .cks-main-actions { grid-column: 1; grid-row: auto; grid-template-columns: 1fr 1fr; }
  .cks-action-customize { grid-column: 1 / -1; }
  .cks-action-continue { grid-column: 1; grid-row: auto; }
}
@media (max-width: 600px) {
  .cks-dialog { inset: auto .5rem .5rem; width: calc(100% - 1rem); max-height: calc(100dvh - 1rem); }
}
@media (max-width: 480px) {
  .cks-age-label { gap: .75rem; }
  .cks-dialog { padding: 1.25rem; }
  .cks-dialog h2 { font-size: 1.5rem; }
  #cks-cookie-content > .cks-main-actions { grid-template-columns: 1fr; }
  .cks-button { font-size: 1.1rem; }
}
