/* =========================
   Payform Consent (Front)
   Variant 1: hidden consents until first click
   ========================= */

:root{
  --pf-text: rgba(44, 34, 28, .92);
  --pf-text-muted: rgba(44, 34, 28, .58);

  --pf-link: #6B4A3A;
  --pf-link-underline: rgba(107, 74, 58, .35);

  /* КНОПКА */
  --pf-btn-default: #3e2b23;          /* по умолчанию */
  --pf-btn-default-hover: #4b342b;
  --pf-btn-default-active: #2f201a;

  --pf-btn-ready: #dcbb9a;            /* когда все отмечено */
  --pf-btn-ready-hover: #e2c7ad;
  --pf-btn-ready-active: #d1af8e;

  --pf-btn-text: #ffffff;

  --pf-ring: rgba(62, 43, 35, .22);

  /* Фоны */
  --pf-soft: rgba(241, 236, 229, .55);
  --pf-chip: rgba(241, 236, 229, .75);
  --pf-border-soft: rgba(84, 60, 49, .18);

  /* Подсветка “нужно отметить” */
  --pf-attn: rgba(163, 122, 96, .18);
}

.pf-consent{
  width: 100% !important;
  max-width: 100% !important;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  color: var(--pf-text) !important;
}

/* =========================
   КНОПКА (жёстко)
   ========================= */
.pf-consent .pf-consent__btn{
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: none !important;
  text-decoration: none !important;
  text-transform: none !important;
  outline: none !important;

  display: block !important;
  width: 100% !important;
  max-width: 100% !important;

  border: 0 !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;

  font-weight: 600 !important;
  font-size: 16px !important;
  line-height: 1.2 !important;

  background: var(--pf-btn-default) !important;
  color: var(--pf-btn-text) !important;

  box-shadow: 0 10px 22px rgba(62, 43, 35, .18) !important;
  transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease, filter .12s ease !important;
  cursor: pointer !important;
}

.pf-consent .pf-consent__btn:hover{
  background: var(--pf-btn-default-hover) !important;
  box-shadow: 0 14px 30px rgba(62, 43, 35, .22) !important;
  filter: brightness(1.01) !important;
}

.pf-consent .pf-consent__btn:active{
  background: var(--pf-btn-default-active) !important;
  transform: translateY(1px) !important;
  box-shadow: 0 8px 18px rgba(62, 43, 35, .14) !important;
}

.pf-consent .pf-consent__btn:focus-visible{
  box-shadow: 0 0 0 4px var(--pf-ring), 0 10px 22px rgba(62, 43, 35, .18) !important;
}

.pf-consent .pf-consent__btn[disabled]{
  opacity: .62 !important;
  cursor: not-allowed !important;
  transform: none !important;
  filter: grayscale(.15) !important;
}

/* READY: цвет меняется на #dcbb9a */
.pf-consent.pf-ready .pf-consent__btn{
  background: var(--pf-btn-ready) !important;
  color: var(--pf-btn-text) !important;
  box-shadow: 0 10px 22px rgba(62, 43, 35, .16) !important;
}
.pf-consent.pf-ready .pf-consent__btn:hover{
  background: var(--pf-btn-ready-hover) !important;
  box-shadow: 0 14px 30px rgba(62, 43, 35, .20) !important;
}
.pf-consent.pf-ready .pf-consent__btn:active{
  background: var(--pf-btn-ready-active) !important;
}

/* =========================
   ЧЕКБОКСЫ (скрыты до 1-го клика)
   ========================= */
.pf-consent__rows{
  display: none !important;
  margin-top: 10px !important;
  gap: 8px !important;
}
.pf-consent.is-open .pf-consent__rows{
  display: grid !important;
}

.pf-consent__row{
  display: grid !important;
  grid-template-columns: 22px 1fr !important;
  gap: 10px !important;
  align-items: center !important;

  padding: 10px 10px !important;
  border-radius: 12px !important;
  background: transparent !important;
}

.pf-consent__text{
  font-size: 12px !important;
  line-height: 1.35 !important;
  color: var(--pf-text) !important;
}

.pf-consent__muted{
  color: var(--pf-text-muted) !important;
  margin-left: 4px !important;
}

.pf-consent__row a{
  color: var(--pf-link) !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--pf-link-underline) !important;
}
.pf-consent__row a:hover{
  border-bottom-color: rgba(107, 74, 58, .70) !important;
}

/* круглый чекбокс */
.pf-consent__cb{
  position: relative !important;
  width: 22px !important;
  height: 22px !important;
  display: grid !important;
  place-items: center !important;
  align-self: center !important;
}

.pf-consent__cb input{
  position: absolute !important;
  inset: 0 !important;
  opacity: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
}

.pf-consent__cb-ui{
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  border: 2px solid #dcbb9a !important;
  background: #fff !important;
  box-shadow: 0 6px 14px rgba(62, 43, 35, .08) !important;
  position: relative !important;
  transition: transform .12s ease, border-color .12s ease, background .12s ease, box-shadow .12s ease !important;
}

.pf-consent__cb-ui::after{
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 10px !important;
  height: 6px !important;
  border-left: 2px solid #fff !important;
  border-bottom: 2px solid #fff !important;
  transform: translate(-50%, -50%) rotate(-45deg) scale(0) !important;
  transform-origin: center !important;
  transition: transform .12s ease !important;
}

/* checked: однотонный #3e2b23 */
.pf-consent__cb input:checked + .pf-consent__cb-ui{
  background: #dcbb9a !important;
  border-color: #dcbb9a !important;
  box-shadow: 0 10px 22px rgba(62, 43, 35, .16) !important;
}
.pf-consent__cb input:checked + .pf-consent__cb-ui::after{
  transform: translate(-50%, -50%) rotate(-45deg) scale(1) !important;
}

.pf-consent__cb input:focus-visible + .pf-consent__cb-ui{
  box-shadow: 0 0 0 4px var(--pf-ring), 0 10px 22px rgba(62, 43, 35, .16) !important;
}

/* подсветка недостающих */
@keyframes pfPulseSoft{
  0%   { box-shadow: 0 0 0 0 rgba(163, 122, 96, 0); }
  45%  { box-shadow: 0 0 0 6px var(--pf-attn); }
  100% { box-shadow: 0 0 0 0 rgba(163, 122, 96, 0); }
}

.pf-consent__attention{
  background: var(--pf-soft) !important;
  animation: pfPulseSoft .55s ease-in-out 0s 1 !important;
}

/* tooltip */
.pf-consent__msg{
  margin-top: 10px !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  color: rgba(44, 34, 28, .82) !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  background: var(--pf-chip) !important;
  border: 1px solid rgba(84, 60, 49, .14) !important;
}
.pf-consent__msg:empty{ display:none !important; }
