.sc-consent {
  position: fixed;
  z-index: 1200;
  right: 18px;
  bottom: 18px;
  left: 18px;
  width: min(520px, calc(100% - 36px));
  margin-inline: auto;
  padding: 20px;
  border-radius: 22px;
  background: rgba(255, 255, 255, .98);
  color: var(--ink, #171A1F);
  box-shadow: 0 4px 12px rgba(23, 26, 31, .06), 0 24px 64px -30px rgba(23, 26, 31, .34);
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .24s cubic-bezier(.23, 1, .32, 1), transform .24s cubic-bezier(.23, 1, .32, 1);
}
.sc-consent.is-visible { opacity: 1; transform: none; }

/* Keep the fixed panel from covering the end of short pages. */
body.sc-consent-open { padding-bottom: var(--sc-consent-inset, 300px); }

.sc-consent__step { animation: sc-consent-swap .22s cubic-bezier(.23, 1, .32, 1) both; }
@keyframes sc-consent-swap { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.sc-consent__title { margin: 0; font: 700 1.06rem/1.25 var(--font-d, 'Bricolage Grotesque', sans-serif); letter-spacing: -.02em; }
.sc-consent__title:focus:not(:focus-visible) { outline: none; }
.sc-consent__text { margin: 7px 0 0; color: var(--ink-soft, #4E535C); font: 500 .8rem/1.55 var(--font-b, Inter, sans-serif); }
.sc-consent__link { color: var(--cobalt-deep, #1F44CC); text-underline-offset: 3px; white-space: nowrap; }

.sc-consent__rows { margin-top: 13px; }
.sc-consent__row { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 13px 0; }
.sc-consent__row + .sc-consent__row { box-shadow: inset 0 1px 0 rgba(23, 26, 31, .07); }
.sc-consent__rowcopy { min-width: 0; }
.sc-consent__rowtitle { display: block; font: 700 .84rem/1.3 var(--font-b, Inter, sans-serif); }
.sc-consent__rowlink { display: block; margin-top: 3px; color: var(--cobalt-deep, #1F44CC); font: 650 .74rem/1.45 var(--font-b, Inter, sans-serif); text-underline-offset: 3px; }
.sc-consent__rowtext { display: block; margin-top: 5px; color: var(--ink-soft, #4E535C); font: 500 .74rem/1.55 var(--font-b, Inter, sans-serif); }

.sc-consent__seg { display: inline-flex; flex: none; gap: 2px; margin-top: 1px; padding: 3px; border-radius: 999px; background: var(--paper, #F6F4EF); box-shadow: inset 0 0 0 1px rgba(23, 26, 31, .08); }
.sc-consent__segbtn { min-width: 50px; min-height: 34px; padding: 0 13px; border: 0; border-radius: 999px; background: transparent; color: var(--ink-soft, #4E535C); font: 750 .76rem/1 var(--font-b, Inter, sans-serif); cursor: pointer; transition: background-color .16s ease, color .16s ease, box-shadow .16s ease; }
.sc-consent__segbtn:hover { color: var(--ink, #171A1F); }
.sc-consent__segbtn.is-active { background: #fff; color: var(--ink, #171A1F); box-shadow: 0 1px 2px rgba(23, 26, 31, .09), 0 5px 12px -7px rgba(23, 26, 31, .3); }
.sc-consent__segbtn[data-value="granted"].is-active { background: var(--cobalt, #2E5BFF); color: #fff; }
.sc-consent__segbtn:focus-visible { outline: 3px solid var(--cobalt, #2E5BFF); outline-offset: 2px; }

.sc-consent__actions { display: flex; flex-direction: column; gap: 9px; margin-top: 17px; }
.sc-consent__button { width: 100%; min-height: 48px; padding: 0 17px; border: 1px solid var(--line, #DED9CF); border-radius: 999px; background: transparent; color: var(--ink, #171A1F); font: 750 .8rem/1 var(--font-b, Inter, sans-serif); cursor: pointer; transition: background-color .16s ease, color .16s ease, transform .16s ease; }
.sc-consent__button:hover { background: var(--paper, #F6F4EF); }
.sc-consent__button--quiet { border-color: transparent; background: var(--paper, #F6F4EF); color: var(--ink-soft, #4E535C); }
.sc-consent__button--quiet:hover { background: #EFEBE3; color: var(--ink, #171A1F); }
.sc-consent__button:active { transform: scale(.98); }
.sc-consent__button--primary { border-color: var(--cobalt, #2E5BFF); background: var(--cobalt, #2E5BFF); color: #fff; }
.sc-consent__button--primary:hover { background: var(--cobalt-deep, #1F44CC); }
.sc-consent__button:focus-visible { outline: 3px solid var(--cobalt, #2E5BFF); outline-offset: 3px; }

.sc-consent-settings { min-height: 42px; padding: 0 15px; border: 1px solid var(--line, #DED9CF); border-radius: 999px; background: var(--surface, #fff); color: var(--ink, #171A1F); font: 750 .76rem/1 var(--font-b, Inter, sans-serif); cursor: pointer; }
.sc-consent-settings:hover { background: var(--paper, #F6F4EF); }
.sc-consent-settings:focus-visible { outline: 3px solid var(--cobalt, #2E5BFF); outline-offset: 3px; }

@media (max-width: 680px) {
  .sc-consent { right: 12px; left: 12px; bottom: 12px; width: calc(100% - 24px); padding: 17px; }
  .sc-consent__row { gap: 11px; }
}

@media (prefers-reduced-motion: reduce) {
  .sc-consent { transition: none; }
  .sc-consent__step { animation: none; }
  .sc-consent__button:active { transform: none; }
}
