/* =======================================
   Variáveis
   ======================================= */
:root {
  --adf-bg:#f9f6ef;
  --adf-cream:#fffef8;
  --adf-ink:#552b19;
  --adf-ink-2:#4a3425;
  --adf-gold:#b5922a;
  --adf-gold-2:#cba731;

  --adf-success:#177c46;
  --adf-success-bg:#e7f6ec;

  --adf-danger:#a94442;
  --adf-danger-bg:#fff3f3;
}

/* =======================================
   Base
   ======================================= */
body {
  font-family: 'Poppins', sans-serif;
  background-color: var(--adf-bg);
  overflow-x: hidden;
}

/* Banner topo */
.adf-banner-topo {
  width: 100%;
  height: 400px;
  border-radius: 16px;
  margin-bottom: 40px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* Painel geral */
.adf-panel {
  max-width: 1300px;
  margin: 40px auto;
  padding: 40px 60px;
  background: #fcf9f4;
  border-radius: 20px;
  box-shadow: 0 0 20px rgba(0,0,0,.07);
}

/* =======================================
   Tabs
   ======================================= */
.adf-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  align-items: center;
  margin: 40px 0 30px;
}

.adf-tabs a {
  font-family: 'Georgia', serif;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  color: #572c22;
  padding: 12px 24px;
  border: 2px solid #572c22;
  border-radius: 4px;
  text-decoration: none;
  transition: .3s;
}

.adf-tabs a:hover {
  background-color: #f6eec2;
  color: #3d1e16;
}

.adf-tabs a.active {
  background-color: #572c22 !important;
  color: #fffbe6;
  border-color: #572c22;
  box-shadow: 0 4px 10px rgba(87,44,34,.3);
}

/* =======================================
   Perfil
   ======================================= */
.perfil-container {
  padding: 30px 40px;
  border-radius: 16px;
  background: transparent !important;
  box-shadow: none;
}

.perfil-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.perfil-header h3 {
  position: relative;
  margin: 0;
  padding-left: 16px;
  line-height: 1;
  font-family: 'Crimson Text', serif;
  font-size: 26px;
  font-weight: 700;
  color: var(--adf-ink);
}
.perfil-header h3::before {
  content: '';
  position: absolute;
  left: 2px; top: 0;
  width: 6px; height: 100%;
  background-color: var(--adf-gold);
}

.perfil-btn {
  padding: 14px 30px;
  line-height: 1;
  font: 700 15px 'Crimson Text', serif;
  color: var(--adf-ink);
  background: transparent;
  border: 1px solid var(--adf-ink);
  border-radius: 0;
  transition: .3s;
}
.perfil-btn:hover { background-color: #f5f0e8; }

.perfil-info {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 16px 30px;
  align-items: center;
  margin-top: 20px;
}
.perfil-info label {
  display: flex; align-items: center;
  font: 600 20px 'Crimson Text', serif;
  color: #000;
  white-space: nowrap;
  margin: 0;
}
.perfil-info label img { width: 20px; height: 20px; margin-right: 8px; }
.perfil-info span { font: 18px 'Crimson Text', serif; color: #5e410f; }

/* Editar perfil */
.adf-edit-form label {
  display: block;
  margin-bottom: 6px;
  font: 600 16px 'Crimson Text', serif;
  color: var(--adf-ink);
}
.adf-edit-form input {
  width: 100%;
  margin-bottom: 24px;
  padding: 12px 16px;
  font: 16px 'Crimson Text', serif;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  transition: border .2s;
}
.adf-edit-form input[readonly] {
  background: #f2f2f2; color: #888; cursor: not-allowed; border-color: #ddd;
}
.adf-edit-form input:focus {
  outline: none; border-color: var(--adf-gold); background: #fffdf7;
}

.adf-btn-row {
  display: flex; justify-content: center; gap: 16px; margin-top: 20px;
}
.adf-btn-row .perfil-btn {
  min-width: 140px; border-radius: 4px;
}
.form-btn-wrapper { display: flex; justify-content: center; margin-top: 30px; }

/* =======================================
   Categorias (Ebooks)
   ======================================= */
.adf-categoria-bloco { max-width: 1300px; margin: 60px auto; padding: 0 40px; }

.adf-categoria-titulo {
  display: flex; align-items: center; gap: 20px;
  font: 700 2rem 'Crimson Text', serif;
  text-transform: uppercase; color: #572c22; margin-bottom: 10px;
}
.adf-categoria-nome { border-left: 4px solid #cba731; padding-left: 12px; }
.adf-categoria-linha { flex-grow: 1; height: 2px; background: #cba731; position: relative; }
.adf-categoria-linha::after {
  content: ''; position: absolute; right: 0; top: -11px;
  width: 24px; height: 24px; background: url('https://comunidade.cleofas.com.br/wp-content/uploads/images/seta.png') center/contain no-repeat;
}

/* =======================================
   Cards
   ======================================= */
.adf-card {
  width: 220px; margin: 24px; padding: 16px 12px;
  text-align: center; background: #fff; border-radius: 4px;
  box-shadow: 8px 8px 10px rgba(0,0,0,.25), 8px 8px 10px rgba(0,0,0,.15);
  font-family: 'Crimson Text', serif;
  position: relative; overflow: hidden; transition: transform .3s;
}
.adf-card:hover { transform: translateY(-8px); }

.adf-thumb img {
  max-width: 200px; max-height: 240px; width: auto;
  background: #fff; border: 2px solid #572c22; border-radius: 12px;
}

.adf-card-content {
  display: flex; flex-direction: column; justify-content: space-between;
  height: 220px; padding: 14px 8px 0;
}
.adf-card-content h4 { font-size: 19px; font-weight: 700; color: #5a4434; margin-bottom: 8px; }
.adf-excerpt { font-size: 17px; color: #5a4434; line-height: 1.5; margin: 10px 0 15px; padding: 0 8px; }

.adf-actions a {
  display: inline-block; min-width: 160px; text-align: center;
  font-size: 15px; font-weight: 700; text-transform: uppercase;
  padding: 10px 24px; border-radius: 4px; transition: .3s;
}
.btn-acessar { background: #cba731; color: #fff; }
.btn-acessar:hover { background: #b8941e; color: #1a1a1a; }
.btn-saiba-mais { background: transparent; color: #572c22; border: 2px solid #572c22; }
.btn-saiba-mais:hover { background: #572c22; color: #fff1e5; }

/* Slick */
.slick-slide { margin: 0 12px; }
.slick-dots { display: flex !important; justify-content: center; gap: 10px; margin-top: 30px; }
.slick-dots li button { width: 12px; height: 12px; background: #f0dfb2; border-radius: 50%; }
.slick-dots li.slick-active button { background: #9c7422; }

/* =======================================
   Assinaturas
   ======================================= */
.adf-assinatura-card {
  max-width: 1000px; margin: 0 auto; padding: 30px 40px;
  background: transparent !important; box-shadow: none; text-align: left;
  font-family: 'Poppins', sans-serif;
}

/* Título */
.adf-assinatura-card h3 {
  position: relative; margin-bottom: 30px; line-height: 1.2; padding-left: 20px;
  font-family: 'Crimson Text', serif; font-size: 28px; font-weight: 700; color: var(--adf-ink);
}
.adf-assinatura-card h3::before {
  content: ''; position: absolute; left: 0; top: 0; width: 6px; height: 100%; background: var(--adf-gold);
}

/* Box pontilhado (conteúdo) */
.assinatura-info {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  flex-wrap: wrap;
  background: var(--adf-cream);
  border: 1px dashed #d6c7a8; border-radius: 14px;
  padding: 18px 25px;
  text-align: center; line-height: 1.6; font-size: 17px;
}
/* check (pseudo) */
.assinatura-info::before {
  content: '✓';
  display: inline-flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; line-height: 26px; flex: 0 0 26px;
  color: #fff; background: var(--adf-gold-2); border-radius: 50%;
  box-shadow: 0 4px 10px rgba(203,167,49,.25);
}
/* texto */
.assinatura-info .assinatura-txt { display: inline-block; margin: 0; letter-spacing: normal; word-spacing: normal; }
/* status (pílula) — centralizado abaixo */
.assinatura-status {
  display: inline-flex; align-items: center; justify-content: center;
  margin-top: 10px; padding: 8px 16px; border-radius: 999px;
  font-weight: 600; font-size: 14px;
  background: var(--adf-success-bg); color: var(--adf-success); border: 1px solid #c9eadf;
}

/* variações de status */
.status-ativa,
.status-pendente,
.status-cancelada {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 16px; border-radius: 999px; font-weight: 600; font-size: 14px;
  border: 1px solid transparent; box-shadow: 0 6px 16px rgba(0,0,0,.03);
}
.status-ativa { background:#e6f7ef; color:#2a7f4f; border-color:#c9eadf; }
.status-pendente { background:#fff7e8; color:#a76900; border-color:#f3e2bf; }
.status-cancelada { background:#fdf1f1; color:var(--adf-danger); border-color:#f3c7c7; }

/* Sem assinatura */
.adf-sem-assinatura {
  text-align:center; background:#fff7f7; color:var(--adf-danger);
  border:1px dashed #efc2c2; border-radius:14px; padding:20px 22px; line-height:1.6;
}

/* Botão cancelar */
.btn-cancelar-assinatura {
  appearance:none; cursor:pointer;
  padding:12px 26px; border-radius:999px; font-weight:700; font-size:15px;
  color:var(--adf-danger); background:linear-gradient(180deg,#fff8f8 0%, #fff3f3 100%);
  border:1px solid #e8b5b5; transition: transform .15s, box-shadow .2s, background .2s, border-color .2s;
  box-shadow:0 8px 16px rgba(169,68,66,.08);
}
.btn-cancelar-assinatura:hover { transform:translateY(-1px); background:#ffe9e9; border-color:#de9a9a; box-shadow:0 12px 24px rgba(169,68,66,.12); }
.btn-cancelar-assinatura:active { transform:translateY(0); box-shadow:0 6px 14px rgba(169,68,66,.10) inset; }

/* Helpers */
.assinatura-actions { margin-top: 18px; text-align: center; }
.adf-assinatura-card .assinatura-info + .status-ativa,
.adf-assinatura-card .assinatura-info + .status-pendente,
.adf-assinatura-card .assinatura-info + .status-cancelada { margin-top: 14px; }

/* Ocultar CTAs extras no painel de arquivos */
.adf-panel .btn-assinar-agora,
.adf-panel .tarja-assinante { display: none; }

/* =======================================
   Responsivo
   ======================================= */
@media (max-width: 768px) {
  body { padding: 0; }

  .adf-panel { padding: 8px 0 !important; margin-top: 24px !important; }

  .adf-banner-topo {
    height: 100px !important; border-radius: 12px !important; margin-bottom: 24px !important;
    background-position: center !important; background-size: cover !important;
  }

  .adf-tabs {
    justify-content: space-between; align-items: stretch;
    gap: 3vw; padding: 0 4vw; margin: 0 !important; flex-wrap: nowrap;
  }
  .adf-tabs::-webkit-scrollbar { display: none; }
  .adf-tabs a {
    flex: 1 1 0; max-width: calc((100% - 6vw) / 3);
    font-size: clamp(10px,2.9vw,13px); padding: 8px 4px;
    border-radius: 6px; line-height: 1.1; white-space: nowrap; overflow: visible; text-overflow: unset;
  }

  .perfil-container { padding: 8px 10px 10px !important; margin-top: 0 !important; }
  .perfil-header { flex-wrap: nowrap; margin-bottom: 32px !important; }
  .perfil-header h3 { font-size: 22px; margin: 0; padding-left: 28px; margin-top: 12px; }
  .perfil-header h3::before { left: 12px; width: 6px; }

  .perfil-btn { font-size: 13px; padding: 10px 18px; margin-right: 10px !important; margin-top: 8px; }

  .perfil-info {
    grid-template-columns: 170px 1fr; gap: 10px 8px; margin-top: 8px !important;
    padding: 0 10px !important; align-items: start;
  }
  .perfil-info label { font-size: 16px; line-height: 1.3; gap: 6px; word-break: break-word; }
  .perfil-info label img { width: 16px; height: 16px; margin-right: 6px; }
  .perfil-info span { font-size: clamp(13px,3.8vw,15px); line-height: 1.5; word-break: break-word; }

  .adf-edit-form input { font-size: 15px; padding: 10px 14px; margin-bottom: 18px; }

  .adf-btn-row { flex-wrap: wrap; gap: 12px; }
  .adf-btn-row .perfil-btn { min-width: 140px; font-size: 15px; padding: 12px 24px; }
  .form-btn-wrapper { margin-top: 24px; }

  /* Cards no carrossel */
  .slick-container { display: flex; flex-wrap: nowrap; gap: 16px; padding: 0 12px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .slick-container .adf-card { flex: 0 0 85%; max-width: 85%; margin: 0; scroll-snap-align: start; }

  .adf-card { padding: 16px 12px; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
  .adf-card h3 { font-size: 20px; margin: 6px 0 8px; text-align: center; }
  .adf-card p { font-size: 14px; line-height: 1.4; text-align: center; margin: 0 0 12px; }

  /* Assinaturas */
  .adf-assinatura-card { padding-left: 0 !important; padding-right: 0 !important; }
  .adf-assinatura-card .perfil-header { margin-top: 0 !important; padding-top: 0 !important; }
  .adf-assinatura-card h3 { margin-top: 0 !important; padding-top: 0 !important; }

  .adf-assinatura-card { padding: 20px 16px; border-radius: 14px; }
  .adf-assinatura-card h3 { font-size: 24px; padding-left: 16px; }

  .assinatura-info { font-size: 16px; padding: 16px; }
  .btn-cancelar-assinatura { width: 100%; text-align: center; }
}

/* Redução de respiro em títulos no painel (opcional) */
.adf-panel .adf-categoria-titulo { margin-top: 24px; }



/* MOBILE ONLY */
@media (max-width: 768px){

  /* 1) Mais espaço entre a barrinha dourada e o título */
  .adf-assinatura-card h3{
    padding-left: 32px !important;   /* antes 20/28px */
  }
  .adf-assinatura-card h3::before{
    left: 12px !important;            /* mantém a barra perto da borda */
  }

  /* 2) Check ALINHADO ao lado do texto "Você possui..."  */
  .adf-assinatura-card .assinatura-info{
    padding: 16px !important;         /* remove recuo extra do lado esquerdo */
    display: flex !important;
    flex-wrap: wrap !important;       /* 1ª linha: check + texto | 2ª linha: status */
    justify-content: center;
    align-items: center;
    gap: 10px;
    text-align: center;
  }

  .adf-assinatura-card .assinatura-info::before{
    position: static !important;      /* vira item do flex (fica na mesma linha) */
    width: 24px; height: 24px;        /* um pouco menor no mobile */
    flex: 0 0 24px;
    margin: 0;
  }

  .adf-assinatura-card .assinatura-info .assinatura-txt{
    display: inline !important;       /* garante que fique ao lado do ícone */
  }

  /* deixa o STATUS na linha de baixo e centralizado */
  .adf-assinatura-card .assinatura-info .assinatura-status{
    flex-basis: 100% !important;      /* quebra para a 2ª linha */
    display: flex;
    justify-content: center;
    margin-top: 12px;
  }
}


/* =============================
   MOBILE: check + texto na MESMA linha
   ============================= */
@media (max-width: 768px) {

  .adf-assinatura-card .assinatura-info {
    display: flex !important;
    flex-wrap: wrap !important;      /* segunda linha só pro status */
    justify-content: center !important;
    align-items: center !important;
    text-align: center;
    gap: 10px;
    padding: 16px !important;
  }

  /* ÍCONE na mesma linha do texto */
  .adf-assinatura-card .assinatura-info::before {
    position: static !important;     /* vira item do flex */
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 24px; height: 24px;
    flex: 0 0 24px;
    margin: 0;
  }

  /* TEXTO ao lado do ícone */
  .adf-assinatura-card .assinatura-info .assinatura-txt {
    display: inline !important;
    flex: 0 1 auto !important;
    margin: 0;
    text-align: left !important;
    line-height: 1.6;
  }

  /* STATUS quebra para a linha de baixo e centraliza */
  .adf-assinatura-card .assinatura-info .assinatura-status {
    flex-basis: 100% !important;     /* força quebra */
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 10px;
  }
}

/* FIX definitivo – mobile: check + texto NA MESMA LINHA */
@media (max-width: 768px){
  .adf-assinatura-card .assinatura-info{
    display: flex !important;
    flex-wrap: wrap !important;     /* 2ª linha fica para o status */
    justify-content: center;        /* grupo centralizado */
    align-items: center;
    gap: 10px;
  }

  .adf-assinatura-card .assinatura-info::before{
    flex: 0 0 24px !important;      /* largura fixa do ícone */
    width: 24px; height: 24px;
    position: static !important;
  }

  .adf-assinatura-card .assinatura-info .assinatura-txt{
    display: block !important;      /* vira flex item “normal” */
    flex: 1 1 0 !important;         /* <-- pode crescer/encolher */
    min-width: 0 !important;        /* <-- permite encolher ao lado do ícone */
    margin: 0;
    text-align: left;               /* opcional: pode manter center se preferir */
    line-height: 1.6;
  }

  /* status continua na 2ª linha, centralizado */
  .adf-assinatura-card .assinatura-info .assinatura-status{
    flex-basis: 100% !important;
    display: flex; justify-content: center; margin-top: 12px;
  }
}

/* Painel com borda degradê elegante + leve textura */
.adf-panel{
  position: relative;
  background: #fcf9f4;
  box-shadow: var(--adf-shadow-lift);
}
.adf-panel::before{
  content:"";
  position:absolute; inset:0;
  padding:1px; border-radius:20px;
  background: linear-gradient(135deg,#d9c68a, #fff 25%, #d4b657 60%, #fff);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  pointer-events:none;
}
.adf-panel::after{
  content:"";
  position:absolute; inset:2px;
  border-radius:18px; opacity:.6;
  background: var(--adf-grain);
  pointer-events:none;
}

/* Assinatura — cartões e pílulas ainda mais elegantes */
.assinatura-info{
  border-radius:16px;
  border:1px dashed #e1d3ae;
  background: linear-gradient(180deg,#fffef7, #fff8e6);
  box-shadow:0 12px 26px rgba(0,0,0,.06);
}
.assinatura-status{
  box-shadow: 0 8px 16px rgba(0,0,0,.04);
}

/* ====== Compactar ALTURA do card sem alterar a largura ====== */
/* Alturas que você pode ajustar */
:root{
  --adf-card-h: 320px;   /* ALTURA TOTAL desejada do card */
  --adf-thumb-h: 150px;  /* ALTURA da área da capa */
  --adf-lines: 3;        /* nº de linhas do excerpt */
}

/* Força o layout do card em coluna e altura fixa */
.adf-panel .slick-container .adf-card,
.adf-categoria-bloco .slick-container .adf-card,
.adf-card{
  height: var(--adf-card-h) !important;
  width: 220px !important;                 /* mantém a largura */
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

/* A área da capa não pode passar de X px */
.adf-panel .slick-container .adf-card .adf-thumb,
.adf-card .adf-thumb{
  height: var(--adf-thumb-h) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 8px !important;
}

/* A imagem também é limitada (era 240px) */
.adf-panel .slick-container .adf-card .adf-thumb img,
.adf-card .adf-thumb img{
  max-height: calc(var(--adf-thumb-h) - 10px) !important;
  max-width: 200px !important;
  height: auto !important;
  width: auto !important;
  object-fit: contain !important;
}

/* Libera o miolo: removemos a altura fixa de 220px */
.adf-panel .slick-container .adf-card .adf-card-content,
.adf-card .adf-card-content{
  height: auto !important;                 /* remove 220px */
  flex: 1 1 auto !important;               /* ocupa o restante */
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  padding: 10px 8px 0 !important;
}

/* Título e excerpt mais compactos */
.adf-card .adf-card-content h4{
  font-size: 18px !important;
  line-height: 1.2 !important;
  margin: 0 0 6px !important;
}
.adf-card .adf-excerpt{
  margin: 4px 0 10px !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: var(--adf-lines);
  -webkit-box-orient: vertical;
  overflow: hidden !important;
}

/* Botões ancorados no rodapé do conteúdo */
.adf-card .adf-actions{ margin-top: auto !important; }
.adf-card .adf-actions a{
  padding: 9px 16px !important;
  font-size: 14px !important;
}

/* Garantia de largura no desktop dentro do Slick */
@media (min-width: 769px){
  .slick-slide .adf-card{ width: 220px !important; }
}


/* ======================================================
   PAINEL DA CONTA → MEUS ARQUIVOS
   Redefine a altura dos cards SEM quebrar a biblioteca
====================================================== */

.aba-arquivos {
  --adf-card-h: 320px;   /* ajuste fino aqui: 280–360 */
}

/* Garante que o slick respeite */
.aba-arquivos .slick-slide .adf-card {
  height: var(--adf-card-h) !important;
}

/* Thumbnail mais baixa */
.aba-arquivos .adf-thumb {
  padding: 24px 12px 10px !important;
}

.aba-arquivos .adf-thumb img {
  max-height: 140px !important;
}

/* Conteúdo mais compacto */
.aba-arquivos .adf-card-content {
  padding: 8px 6px 0 !important;
}

.aba-arquivos .adf-card-content h4 {
  font-size: 16px !important;
  line-height: 1.2 !important;
  margin: 4px 0 6px !important;
}

.aba-arquivos .adf-excerpt {
  font-size: 14px !important;
  line-height: 1.35 !important;
  -webkit-line-clamp: 2 !important;
}

/* Botões menores */
.aba-arquivos .adf-actions a {
  font-size: 13px !important;
  padding: 8px 14px !important;
}

/* ======================================================
   MEU PERFIL — REFINO PREMIUM
   (copiar e colar no final do CSS)
====================================================== */

/* ---------- CONTAINER ---------- */
.perfil-container{
  margin-top: 10px;
}

/* ---------- HEADER ---------- */
.perfil-header h3{
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 28px;
}

/* ---------- BOTÃO EDITAR / SALVAR ---------- */
.perfil-btn{
  border-color: var(--adf-gold);
  color: var(--adf-gold);
  letter-spacing: .06em;
}

.perfil-btn:hover{
  background: linear-gradient(180deg,#fff6dd,#fff0c7);
  border-color: var(--adf-gold-2);
  color: #3d2a12;
}

/* ---------- BLOCO DE INFORMAÇÕES ---------- */
.perfil-info{
  margin-top: 28px;
  position: relative;
}

/* Linha elegante separadora */
.perfil-info::after{
  content:'';
  grid-column: 1 / -1;
  height: 1px;
  background: linear-gradient(to right, transparent, #e5d6a8, transparent);
  margin: 20px 0 10px;
}

/* Labels */
.perfil-info label{
  font: 600 18px 'Crimson Text', serif;
  color: var(--adf-ink);
  padding-left: 0;
}

/* Ícones mais sofisticados */
.perfil-info label img{
  width: 16px;
  height: 16px;
  margin-right: 8px;
  opacity: .75;
  filter: sepia(1) saturate(2) hue-rotate(15deg);
}

/* Valores (dados do usuário) */
.perfil-info span{
  padding: 14px 18px;
  background: linear-gradient(180deg,#fffef9,#fff9ec);
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(0,0,0,.05);
  font: 18px 'Crimson Text', serif;
  color: #5e410f;
}

/* ---------- FORMULÁRIO (MODO EDIÇÃO) ---------- */
.adf-edit-form{
  background: linear-gradient(180deg,#fffef7,#fff8e6);
  padding: 30px 34px;
  border-radius: 16px;
  box-shadow: 0 14px 30px rgba(0,0,0,.06);
}

/* Labels do formulário */
.adf-edit-form label{
  letter-spacing: .04em;
  font-size: 15px;
  opacity: .85;
}

/* Inputs */
.adf-edit-form input{
  background: #fff;
  border-radius: 10px;
}

.adf-edit-form input:focus{
  border-color: var(--adf-gold);
  background: #fffdf7;
}

/* ---------- MOBILE ---------- */
@media (max-width:768px){

  .perfil-header h3{
    font-size: 22px;
  }

  .perfil-info{
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .perfil-info label{
    font-size: 14px;
  }

  .perfil-info span{
    font-size: 15px;
  }

  .adf-edit-form{
    padding: 20px 18px;
  }
}

.assinatura-vazia {
  text-align: center;
  padding: 40px;
  background: #fffaf0;
  border: 1px dashed #e0c68a;
  border-radius: 12px;
}

.assinatura-vazia .btn-assinar {
  display: inline-block;
  margin-top: 16px;
  padding: 10px 22px;
  border-radius: 999px;
  background: #6b3a2a;
  color: #fff;
  text-decoration: none;
}

.btn-cancelar-assinatura {
    margin-top: 14px;
    background: #8b0000;
    color: #fff;
    border: none;
    padding: 10px 16px;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
}

.btn-cancelar-assinatura:hover {
    background: #a40000;
}

/* =======================================
   Botão — Escolher novo plano
   (estilo aba ativa)
   ======================================= */

.btn-escolher-plano{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin-top: 18px;
  padding: 12px 26px;

  font-family: 'Georgia', serif;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;

  color: #fffbe6;
  background-color: #572c22;

  border: 2px solid #572c22;
  border-radius: 4px;

  text-decoration: none;
  cursor: pointer;

  box-shadow: 0 4px 10px rgba(87,44,34,.3);

  transition:
    background-color .25s ease,
    color .25s ease,
    box-shadow .25s ease,
    transform .15s ease;
}

.btn-escolher-plano:hover{
  background-color: #6a3a2e;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(87,44,34,.35);
}

.btn-escolher-plano:active{
  transform: translateY(0);
  box-shadow: 0 3px 8px rgba(87,44,34,.25) inset;
}

