/* =========================================================
   COOKIE CONSENT • TEMA SUSI ROCHA (COMPACTO)
   Visual acolhedor, editorial e mais contido
   ========================================================= */

#cc-main {
  --cc-font-family: Inter, system-ui, sans-serif;

  /* Paleta base */
  --cc-bg: #faf7f2;
  --cc-primary-color: #2b2623;
  --cc-secondary-color: #6e655f;
  --cc-overlay-bg: rgba(28, 25, 23, 0.58);

  /* Bordas e raio */
  --cc-modal-border-radius: 22px;
  --cc-btn-border-radius: 29px;
  --cc-separator-border-color: rgba(224, 122, 95, 0.14);

  /* Botão primário */
  --cc-btn-primary-bg: #e07a5f;
  --cc-btn-primary-border-color: #e07a5f;
  --cc-btn-primary-color: #ffffff;
  --cc-btn-primary-hover-bg: #c9654b;
  --cc-btn-primary-hover-border-color: #c9654b;
  --cc-btn-primary-hover-color: #ffffff;

  /* Botão secundário */
  --cc-btn-secondary-bg: #fffdfb;
  --cc-btn-secondary-border-color: rgba(224, 122, 95, 0.22);
  --cc-btn-secondary-color: #7b4e41;
  --cc-btn-secondary-hover-bg: rgba(224, 122, 95, 0.08);
  --cc-btn-secondary-hover-border-color: rgba(224, 122, 95, 0.42);
  --cc-btn-secondary-hover-color: #6f4336;

  /* Toggles */
  --cc-toggle-on-bg: #e07a5f;
  --cc-toggle-off-bg: #ddd4cc;
  --cc-toggle-on-knob-bg: #ffffff;
  --cc-toggle-off-knob-bg: #ffffff;

  /* Links */
  --cc-link-color: #c9654b;
  --cc-link-hover-color: #a6533f;
}

/* Modal principal e painel de preferências */
#cc-main .cm,
#cc-main .pm {
  background: linear-gradient(180deg, #fdfaf6 0%, #faf7f2 100%);
  border: 1px solid rgba(224, 122, 95, 0.12);
  box-shadow:
    0 14px 36px rgba(28, 25, 23, 0.09),
    0 2px 8px rgba(28, 25, 23, 0.05);
  overflow: hidden;
}

/* Topo com detalhe sutil */
#cc-main .cm::before,
#cc-main .pm::before {
  content: "";
  display: block;
  height: 4px;
  width: 100%;
  background: linear-gradient(90deg, #e07a5f 0%, #ef9a7f 100%);
}

/* Títulos mais editoriais */
#cc-main .cm__title,
#cc-main .pm__title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.72rem;
  line-height: 1.08;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #2b2623;
  margin-bottom: 0.55rem;
}

/* Descrição */
#cc-main .cm__desc,
#cc-main .pm__desc,
#cc-main .pm__section-desc {
  color: #5f5852;
  font-size: 0.96rem;
  line-height: 1.62;
}

/* Destaque nos links */
#cc-main a {
  text-decoration: none;
  border-bottom: 1px solid rgba(201, 101, 75, 0.28);
}

/* Botões */
#cc-main .cm__btn,
#cc-main .pm__btn {
  min-height: 44px;
  padding: 0.78rem 1rem;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: -0.01em;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease;
}

#cc-main .cm__btn:hover,
#cc-main .pm__btn:hover {
  transform: translateY(-1px);
}

#cc-main .cm__btn--primary,
#cc-main .pm__btn--primary {
  box-shadow: 0 8px 18px rgba(224, 122, 95, 0.18);
}

/* Botão secundário mais delicado */
#cc-main .cm__btn--secondary,
#cc-main .pm__btn--secondary {
  box-shadow: none;
}

/* Seções internas do modal de preferências */
#cc-main .pm__section {
  background: rgba(255, 255, 255, 0.45);
  border: 1px solid rgba(224, 122, 95, 0.08);
  border-radius: 8px;
  padding: 0.85rem 0.9rem;
  margin-bottom: 0.7rem;
}

/* Título das seções */
#cc-main .pm__section-title {
  font-family: "Playfair Display", Georgia, serif;
  color: #2b2623;
  font-weight: 700;
  letter-spacing: -0.01em;
  font-size: 1rem;
}

/* Toggle */
#cc-main .section__toggle,
#cc-main .toggle__icon {
  transform: scale(1);
}

/* Badge de categoria / estado */
#cc-main .pm__badge {
  border-radius: 8px;
  font-weight: 600;
  padding: 0.18rem 0.5rem;
}

/* Footer do modal */
#cc-main .pm__footer,
#cc-main .cm__footer {
  border-top: 1px solid rgba(224, 122, 95, 0.10);
}

/* Botão de fechar */
#cc-main .pm__close-btn {
  background: rgba(224, 122, 95, 0.08);
  border-radius: 999px;
}

/* Desktop */
@media (min-width: 768px) {
  #cc-main .cm {
    max-width: 520px;
  }

  #cc-main .pm {
    max-width: 760px;
  }

  #cc-main .cm__body,
  #cc-main .pm__body {
    padding: 1.1rem 1.1rem 0.95rem;
  }

  #cc-main .cm__footer,
  #cc-main .pm__footer {
    padding: 0.9rem 1.1rem 1.1rem;
  }
}

/* Mobile */
@media (max-width: 640px) {
  #cc-main .cm,
  #cc-main .pm {
    border-radius: 16px;
  }

  #cc-main .cm__title,
  #cc-main .pm__title {
    font-size: 1.42rem;
    line-height: 1.1;
  }

  #cc-main .cm__desc,
  #cc-main .pm__desc,
  #cc-main .pm__section-desc {
    font-size: 0.93rem;
    line-height: 1.56;
  }

  #cc-main .cm__btn,
  #cc-main .pm__btn {
    min-height: 42px;
    padding: 0.72rem 0.95rem;
    font-size: 0.93rem;
  }

  #cc-main .cm__body,
  #cc-main .pm__body {
    padding: 1rem 1rem 0.85rem;
  }

  #cc-main .cm__footer,
  #cc-main .pm__footer {
    padding: 0.85rem 1rem 1rem;
  }
}