:root {
  --smscc-green: #385f29;
  --smscc-green-dark: #29491f;
  --smscc-yellow: #f8b646;
  --smscc-cream: #fbf8f1;
  --smscc-black: #171717;
  --smscc-text: #343434;
  --smscc-white: #ffffff;
}

html.smscc-open,
html.smscc-open body { overflow: hidden; }

.smscc,
.smscc * { box-sizing: border-box; }

.smscc {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  font-family: Poppins, Arial, sans-serif;
  color: var(--smscc-text);
}

.smscc[hidden],
.smscc [hidden] { display: none !important; }

.smscc__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 32, 16, .68);
  backdrop-filter: blur(4px);
}

.smscc__dialog {
  position: absolute;
  right: 28px;
  bottom: 28px;
  width: min(680px, calc(100% - 56px));
  max-height: calc(100vh - 56px);
  overflow: auto;
  border: 0;
  border-radius: 48px 48px 0 48px;
  background: var(--smscc-cream);
  box-shadow: 0 28px 80px rgba(14, 29, 10, .35);
  outline: none;
}

.smscc__brand {
  position: absolute;
  top: 30px;
  right: 30px;
  display: grid;
  width: 76px;
  height: 76px;
  place-items: center;
  border-radius: 50% 50% 0 50%;
  background: var(--smscc-yellow);
  color: var(--smscc-green-dark);
  transform: rotate(6deg);
}

.smscc__brand svg { width: 43px; height: 43px; fill: currentColor; }

.smscc__content { padding: 46px; padding-right: 126px; }

.smscc h2 {
  max-width: 430px;
  margin: 0 0 14px;
  color: var(--smscc-black);
  font-family: "Baloo 2", sans-serif;
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 800;
  line-height: 1.05;
}

.smscc p { margin: 0 0 13px; font-size: 16px; line-height: 1.55; }
.smscc__privacy a { color: var(--smscc-green-dark); font-weight: 700; text-underline-offset: 4px; }

.smscc__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 25px;
}

.smscc__actions--main .smscc__button--settings { grid-column: 1 / -1; }

.smscc__button {
  min-height: 52px;
  padding: 11px 20px;
  border: 2px solid var(--smscc-green-dark);
  border-radius: 40px 40px 0 40px;
  cursor: pointer;
  font-family: "Baloo 2", sans-serif;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.15;
  transition: transform .18s ease, background .18s ease;
}

.smscc__button:hover,
.smscc__button:focus-visible { transform: translateY(-2px); outline: 3px solid rgba(248, 182, 70, .55); outline-offset: 2px; }
.smscc__button--accept { color: var(--smscc-white); background: var(--smscc-green-dark); }
.smscc__button--reject { color: var(--smscc-green-dark); background: var(--smscc-white); }
.smscc__button--settings { color: var(--smscc-green-dark); background: transparent; }

.smscc__details {
  margin-top: 25px;
  border-top: 1px solid #ded6c8;
}

.smscc__category {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  align-items: center;
  padding: 18px 0;
  border-bottom: 1px solid #ded6c8;
}

.smscc__category strong { display: block; color: var(--smscc-black); font-size: 16px; }
.smscc__category span { display: block; margin-top: 3px; font-size: 13px; line-height: 1.45; }

.smscc__switch { position: relative; display: block; width: 52px; height: 29px; cursor: pointer; }
.smscc__switch input { position: absolute; opacity: 0; pointer-events: none; }
.smscc__switch > span { position: absolute; inset: 0; margin: 0; border-radius: 99px; background: #b9b5ae; transition: background .2s; }
.smscc__switch > span::after { position: absolute; top: 4px; left: 4px; width: 21px; height: 21px; border-radius: 50%; background: white; content: ""; transition: transform .2s; }
.smscc__switch input:checked + span { background: var(--smscc-green); }
.smscc__switch input:checked + span::after { transform: translateX(23px); }
.smscc__switch input:focus-visible + span { outline: 3px solid var(--smscc-yellow); outline-offset: 3px; }
.smscc__switch em { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.smscc-reopen {
  position: fixed;
  bottom: 18px;
  left: 18px;
  z-index: 2147482000;
  display: grid;
  width: 54px;
  height: 54px;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 50% 50% 0 50%;
  color: var(--smscc-green-dark);
  background: var(--smscc-yellow);
  box-shadow: 0 8px 24px rgba(25, 45, 18, .25);
  cursor: pointer;
}

.smscc-reopen[hidden] { display: none; }
.smscc-reopen svg { width: 31px; height: 31px; fill: currentColor; }
.smscc-reopen:focus-visible { outline: 3px solid var(--smscc-green-dark); outline-offset: 3px; }
.smscc-inline-reopen { cursor: pointer; }

@media (max-width: 720px) {
  .smscc__dialog { right: 12px; bottom: 12px; width: calc(100% - 24px); max-height: calc(100vh - 24px); border-radius: 34px 34px 0 34px; }
  .smscc__content { padding: 30px 24px; padding-top: 92px; }
  .smscc__brand { top: 22px; right: auto; left: 24px; width: 58px; height: 58px; }
  .smscc__brand svg { width: 34px; height: 34px; }
  .smscc__actions { grid-template-columns: 1fr; }
  .smscc__actions--main .smscc__button--settings { grid-column: auto; }
  .smscc__category { grid-template-columns: 1fr auto; gap: 12px; }
  .smscc-reopen { bottom: 12px; left: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .smscc *, .smscc-reopen { scroll-behavior: auto !important; transition: none !important; }
}

