/* ФОРМАТ ДИЗАЙН — Cookie consent
   Брандови цветове: cream #F6EFE6 / card #FFFDFA / teal #1C4A47 / ink #41525B / coral #D2674A / line #EADFD1 */

.fd-cc{
  position:fixed; z-index:99999; left:24px; bottom:24px;
  width:calc(100% - 48px); max-width:440px;
  font-family:'Manrope',-apple-system,Segoe UI,Roboto,sans-serif;
}
.fd-cc[hidden]{ display:none; }
.fd-cc *{ box-sizing:border-box; }

.fd-cc__card{
  background:#FFFDFA; border:1px solid #EADFD1; border-radius:22px;
  box-shadow:0 28px 70px -30px rgba(28,74,71,.55);
  padding:26px 26px 22px;
  transform:translateY(18px); opacity:0;
  transition:transform .32s cubic-bezier(.2,.8,.2,1), opacity .32s ease;
}
.fd-cc.is-in .fd-cc__card{ transform:none; opacity:1; }

.fd-cc__main[hidden], .fd-cc__prefs[hidden]{ display:none; }

.fd-cc__icon{
  width:46px; height:46px; border-radius:14px;
  background:rgba(210,103,74,.12); color:#D2674A;
  display:flex; align-items:center; justify-content:center; margin-bottom:14px;
}
.fd-cc__icon svg{ width:24px; height:24px; }

.fd-cc__title{
  font-family:'Lora',Georgia,serif; font-weight:600; color:#1C4A47;
  font-size:20px; line-height:1.2; margin:0 0 8px;
}
.fd-cc__text{ color:#41525B; font-size:14px; line-height:1.65; margin:0 0 18px; }
.fd-cc__text a{ color:#D2674A; font-weight:600; text-decoration:none; border-bottom:1px solid transparent; transition:border-color .2s; }
.fd-cc__text a:hover{ border-bottom-color:#D2674A; }

.fd-cc__actions{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.fd-cc__btn{
  font-family:inherit; font-size:14px; font-weight:600; line-height:1;
  border-radius:999px; cursor:pointer; padding:12px 20px;
  border:1px solid transparent; transition:background .18s, color .18s, transform .18s;
}
.fd-cc__btn:active{ transform:translateY(1px); }
.fd-cc__btn--primary{ background:#D2674A; color:#fff; flex:1 1 150px; }
.fd-cc__btn--primary:hover{ background:#bf5639; }
.fd-cc__btn--ghost{ background:transparent; color:#1C4A47; border-color:#D8CBBA; }
.fd-cc__btn--ghost:hover{ background:rgba(28,74,71,.06); }
.fd-cc__btn--text{ background:transparent; color:#1C4A47; padding:12px 6px; }
.fd-cc__btn--text:hover{ color:#D2674A; }

/* preferences */
.fd-cc__cats{ list-style:none; margin:8px 0 18px; padding:0; }
.fd-cc__cat{ padding:14px 0; border-bottom:1px solid #EADFD1; }
.fd-cc__cat:last-child{ border-bottom:0; }
.fd-cc__cathead{ display:flex; justify-content:space-between; align-items:center; gap:14px; }
.fd-cc__catname{ font-weight:700; color:#1C4A47; font-size:15px; }
.fd-cc__always{ font-size:12px; font-weight:600; color:#9AA7AC; white-space:nowrap; }
.fd-cc__catdesc{ margin:6px 0 0; font-size:13px; line-height:1.55; color:#5A6B72; }

/* switch */
.fd-cc__sw{ position:relative; display:inline-block; width:42px; height:24px; flex:0 0 auto; }
.fd-cc__sw input{ position:absolute; inset:0; opacity:0; margin:0; cursor:pointer; }
.fd-cc__track{ position:absolute; inset:0; border-radius:999px; background:#D8CBBA; transition:background .2s; }
.fd-cc__track::before{
  content:""; position:absolute; top:3px; left:3px; width:18px; height:18px;
  border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.25); transition:transform .2s;
}
.fd-cc__sw input:checked + .fd-cc__track{ background:#D2674A; }
.fd-cc__sw input:checked + .fd-cc__track::before{ transform:translateX(18px); }
.fd-cc__sw input:focus-visible + .fd-cc__track{ outline:2px solid #1C4A47; outline-offset:2px; }

/* floating reopen button */
.fd-cc-fab{
  position:fixed; z-index:99998; left:20px; bottom:20px;
  width:46px; height:46px; border-radius:50%;
  border:1px solid #EADFD1; background:#FFFDFA; color:#D2674A;
  box-shadow:0 12px 30px -12px rgba(28,74,71,.55); cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:transform .18s;
}
.fd-cc-fab[hidden]{ display:none; }
.fd-cc-fab:hover{ transform:translateY(-2px); }
.fd-cc-fab svg{ width:22px; height:22px; }

@media (max-width:560px){
  .fd-cc{ left:12px; right:12px; bottom:12px; width:auto; max-width:none; }
  .fd-cc__card{ padding:22px 20px 18px; }
  .fd-cc__btn--primary{ flex:1 0 100%; order:-1; width:100%; }
}
@media (prefers-reduced-motion:reduce){
  .fd-cc__card{ transition:opacity .2s; transform:none; }
}
