/* GCidoso – Tipografia Amigável ao Idoso (v0.2.1)
   - Fonte base maior e mais espaçamento
   - Alvos de toque 48px
   - Contraste e foco visível
   - Paleta: #5ED6A3, cinza escuro, branco, preto
*/
:root{
  --gc-primary:#5ED6A3; --gc-dark:#1f2937; --gc-black:#000; --gc-white:#fff;
  --gc-muted:#f8fafc; --gc-border:#e5e7eb;
}

/* Remova o font-size gigantesco dos descendentes */
.gcidoso-root, .gcidoso-root *{
  font-family:"Dark Grotesque",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  box-sizing:border-box;
  line-height:1.6;
  /* sem font-size aqui */
}

/* Tamanho base confortável */
.gcidoso-root{
  font-size:18px;
  color:var(--gc-dark);
}

/* (opcional) segurança extra: garanta herança no mobile */
@media (max-width:1079px){
  .gcidoso-root *{ font-size:inherit; }
}


/* Cartão base */
.gcidoso-card{
  background:var(--gc-white);
  border:1px solid var(--gc-border);
  border-radius:16px;
  padding:20px;                /* + espaço interno */
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  max-width:860px;
}

/* Títulos e textos */
.gcidoso-title{
  margin:0 0 10px;
  font-weight:800;
  color:var(--gc-dark);
  font-size:clamp(28px,4.2vw,38px);  /* maior que antes */
  letter-spacing:.2px;
}
.gcidoso-subtitle{
  color:#334155;
  margin-bottom:16px;
  font-size:19px;              /* antes 15px */
}

/* Campos e labels */
.gcidoso-field{ margin-bottom:16px; }
.gcidoso-label{
  display:block;
  font-weight:700;
  margin-bottom:8px;
  color:var(--gc-dark);
  font-size:19px;
}

.gcidoso-input, .gcidoso-select{
  width:100%;
  padding:14px 16px;           /* alvo de toque 48px */
  min-height:48px;
  border-radius:14px;
  border:1px solid var(--gc-border);
  background:var(--gc-white);
  color:var(--gc-dark);
  font-size:18px;
}
.gcidoso-input::placeholder{ color:#64748b; opacity:.9; }

/* Checkboxes / grupos */
.gcidoso-checks{ display:grid; grid-template-columns:1fr; gap:12px; }
.gcidoso-check{
  display:flex; align-items:flex-start; gap:12px;
  padding:12px; border:1px solid var(--gc-border); border-radius:12px; background:var(--gc-muted);
  min-height:48px;
  font-size:18px;
}
.gcidoso-check input{
  margin-top:6px;
  width:22px; height:22px;     /* maior e mais visível */
}

/* Ações e botões */
.gcidoso-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:8px; }

.gcidoso-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  border-radius:14px;
  padding:14px 18px;
  min-height:48px; min-width:48px;
  border:1.5px solid var(--gc-dark);
  color:var(--gc-dark);
  background:var(--gc-white);
  cursor:pointer;
  transition: transform .15s ease, box-shadow .15s ease;
  font-weight:800;
  font-size:18px;
  letter-spacing:.2px;
}
.gcidoso-btn:hover{ transform: translateY(-1px); }
.gcidoso-btn:focus-visible{
  outline:3px solid var(--gc-primary);
  outline-offset:2px;
  box-shadow:0 0 0 4px rgba(94,214,163,.25);
}
.gcidoso-btn-primary{
  background:var(--gc-primary);
  border-color:var(--gc-primary);
  color:var(--gc-black);
}

/* Badges e resultados */
.gcidoso-badge{
  display:inline-flex; align-items:center; gap:8px;
  font-size:14px; padding:6px 10px; border-radius:999px;
  background:#ecfeff; border:1px solid #cffafe; color:#0369a1;
}

.gcidoso-result{
  margin-top:16px; padding:16px; border-radius:16px; border:1px dashed var(--gc-border);
  background:#f0fdf4;
}
.gcidoso-result h4{ margin:0 0 8px; font-size:22px; }
.gcidoso-muted{ color:#475569; font-size:16px; }

.gcidoso-footer{ margin-top:16px; display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.gcidoso-note{ font-size:16px; color:#475569; margin-top:10px; }

/* Foco em inputs */
.gcidoso-input:focus-visible, .gcidoso-select:focus-visible{
  outline:3px solid var(--gc-primary);
  outline-offset:2px;
}

/* Reduz animações se preferido */
@media (prefers-reduced-motion: reduce){
  .gcidoso-btn{ transition:none; }
}

/* Impressão */
@media print{
  .gcidoso-actions, .gcidoso-footer, .gcidoso-btn{ display:none !important; }
  .gcidoso-card{ box-shadow:none; border-color:#000; }
}
/* ——— Full width no container ——— */
.gcidoso-card{
  max-width: 100% !important; /* antes era 860px */
  width: 100%;
}

/* garante que cada “box” das perguntas ocupe toda a faixa */
.gcidoso-field,
.gcidoso-check,
.gcidoso-input,
.gcidoso-select{
  width: 100%;
}

/* se o tema impuser largura máxima em inputs, força 100% aqui também */
.gcidoso-root input[type="text"],
.gcidoso-root input[type="number"],
.gcidoso-root select{
  max-width: 100%;
}

/* (opcional) se quiser colar nas bordas do container, reduza o padding lateral do cartão */
.gcidoso-card{ padding-left: 12px; padding-right: 12px; } /* ou 0, se quiser bem “flush” */
.gcidoso-hintbox{
  background:#F7FAFC;
  border:1px dashed #CBD5E1;
  border-radius:10px;
  padding:12px;
  margin-bottom:12px;
}
.gcidoso-hintbox .gcidoso-btn{ margin-right:8px; margin-bottom:8px; }
@media (max-width:1079px){
  .elementor-section.gc-shell,
  .elementor .elementor-section.gc-shell,
  .elementor .elementor-container,
  .elementor .elementor-column {
    overflow:visible !important;
    max-height:none !important;
  }
}
/* —— LIBERA WRAPPERS DO ELEMENTOR AO REDOR DO SHORTCODE —— */
@media (max-width: 1079px){
  /* seção/coluna/container que recebem o shortcode */
  .elementor .elementor-section,
  .elementor .elementor-container,
  .elementor .elementor-column,
  .elementor .elementor-widget,
  .elementor .elementor-widget-container{
    overflow: visible !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  /* wrappers da sua área central */
  #gc-bottom,
  #gc-bottom .layout,
  #gc-bottom .content,
  #gc-bottom .card-section{
    overflow: visible !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  /* o próprio shortcode e filhos */
  .gcidoso-root{
    overflow: visible !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  /* garante que não estoure largura no mobile */
  .gcidoso-root, .gcidoso-root *{
    max-width: 100% !important;
  }
}

/* extra: se algum cartão estiver cortando conteúdo interno */
.gcidoso-card{
  overflow: visible !important;
}
@media (max-width:1079px){
  html, body{
    height:auto !important;
    overflow:auto !important;
  }

  /* wrappers comuns do Elementor que cercam o shortcode */
  .elementor,
  .elementor-section,
  .elementor-container,
  .elementor-column,
  .elementor-widget,
  .elementor-widget-container{
    overflow:visible !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }

  /* seus blocos */
  #gc-bottom,
  #gc-bottom .layout,
  #gc-bottom .content,
  #gc-bottom .card-section,
  .gcidoso-root,
  .gcidoso-card{
    overflow:visible !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }
}


