/* SURREAL DESIGN — seguro, sem quebrar funcionalidade */

/* Fundo com textura */
body::before {
  content: '';
  position: fixed; inset: 0; z-index: -1; opacity: 0.02;
  background-image: radial-gradient(circle at 20% 30%, #C9A84C 1px, transparent 1px),
                    radial-gradient(circle at 80% 70%, #C9A84C 1px, transparent 1px);
  background-size: 60px 60px, 80px 80px;
}

/* Aurora background */
body::after {
  content: '';
  position: fixed; inset: -50%; z-index: -2; opacity: 0.05;
  background: 
    radial-gradient(ellipse at 20% 50%, #C9A84C 0%, transparent 50%),
    radial-gradient(ellipse at 80% 20%, #E8C96A 0%, transparent 50%),
    radial-gradient(ellipse at 50% 80%, #8B6914 0%, transparent 50%);
  animation: aurora 15s ease infinite;
}
@keyframes aurora {
  0%, 100% { transform: rotate(0deg) scale(1); }
  33% { transform: rotate(5deg) scale(1.1); }
  66% { transform: rotate(-3deg) scale(0.95); }
}

/* Cards com vidro */
.card_item, .barb_card, .stat_card, .section_card, .resumo_card, .hist_card, .auth_box, .p_card {
  background: linear-gradient(145deg, rgba(24,24,24,0.95), rgba(12,12,12,0.98));
  border: 1px solid rgba(201,168,76,0.12);
  border-radius: 20px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.4), 0 2px 8px rgba(0,0,0,0.2), inset 0 1px 0 rgba(255,255,255,0.02);
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative; overflow: hidden;
}
.card_item:hover, .barb_card:hover, .stat_card:hover, .p_card:hover {
  border-color: rgba(201,168,76,0.3);
  box-shadow: 0 16px 50px rgba(0,0,0,0.5), 0 0 20px rgba(201,168,76,0.08), 0 0 0 1px rgba(201,168,76,0.15);
  transform: translateY(-3px);
}

/* Linha dourada no topo dos cards ao hover */
.card_item::before, .stat_card::after, .section_card::before {
  content: '';
  position: absolute; top: 0; left: 10%; right: 10%; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,168,76,0.3), transparent);
  opacity: 0; transition: opacity 0.4s;
}
.card_item:hover::before, .stat_card:hover::after, .section_card:hover::before {
  opacity: 1;
}

/* Stats com shimmer */
.stat_valor {
  font-size: 38px; font-weight: 900;
  background: linear-gradient(135deg, #FFD700, #C9A84C, #FFA500, #C9A84C);
  background-size: 300% 300%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: goldFlow 4s ease infinite;
  filter: drop-shadow(0 0 8px rgba(201,168,76,0.25));
}
@keyframes goldFlow {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* Landing hero títulos gradiente */
.hero_h1, .page_titulo, .p_nome {
  color: #f0f0f0;
  background: linear-gradient(135deg, #FFFFFF 0%, #E8C96A 30%, #C9A84C 60%, #FFD700 100%);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: titleShine 4s ease infinite;
  font-weight: 900;
}
@keyframes titleShine {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* Botões premium */
.btn_primary, .btn_gold, .cta_main, .cta_main_btn, .p_btn_gold {
  border-radius: 16px;
  font-weight: 900;
  letter-spacing: 0.5px;
  background: linear-gradient(135deg, #C9A84C 0%, #E8C96A 50%, #C9A84C 100%);
  background-size: 200% 200%;
  animation: btnGlow 3s ease infinite;
  box-shadow: 0 8px 30px rgba(201,168,76,0.3), inset 0 1px 0 rgba(255,255,255,0.15);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative; overflow: hidden;
}
@keyframes btnGlow {
  0%, 100% { background-position: 0% 50%; box-shadow: 0 8px 30px rgba(201,168,76,0.3); }
  50% { background-position: 100% 50%; box-shadow: 0 8px 40px rgba(201,168,76,0.6); }
}
@media (hover:hover) and (pointer:fine) {
  .btn_primary:hover, .btn_gold:hover {
    transform: translateY(-2px) scale(1.01);
    box-shadow: 0 14px 45px rgba(201,168,76,0.5), inset 0 1px 0 rgba(255,255,255,0.25);
  }
}
.btn_primary:active, .btn_gold:active {
  transform: scale(0.96);
}

/* Inputs com glow */
.field input:focus, .field textarea:focus, .field select:focus, .search_box:focus-within {
  border-color: #C9A84C;
  box-shadow: 0 0 0 3px rgba(201,168,76,0.08), 0 0 20px rgba(201,168,76,0.08);
  background: #1a180e;
}

/* Badges com pulse */
.badge_pendente {
  animation: pulseOrange 1.5s infinite;
}
.badge_confirmado {
  animation: pulseGreen 2s infinite;
}
@keyframes pulseOrange {
  0%, 100% { box-shadow: 0 0 6px rgba(230,126,34,0.3); }
  50% { box-shadow: 0 0 20px rgba(230,126,34,0.6); }
}
@keyframes pulseGreen {
  0%, 100% { box-shadow: 0 0 6px rgba(46,204,113,0.3); }
  50% { box-shadow: 0 0 20px rgba(46,204,113,0.6); }
}

/* Nav neon */
.nav_btn.active {
  color: #FFD700;
}
.nav_btn.active::before {
  content: '';
  position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: 28px; height: 2px;
  background: linear-gradient(90deg, #C9A84C, #FFD700, #C9A84C);
  border-radius: 0 0 3px 3px;
  box-shadow: 0 0 10px rgba(201,168,76,0.4);
}

/* Topbar glass */
.topbar {
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  background: rgba(8,8,8,0.75);
}
.bottom_nav {
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  background: rgba(6,6,6,0.85);
}

/* Modal dramático */
.modal_overlay.open {
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.modal {
  border-radius: 28px 28px 0 0;
  box-shadow: 0 -15px 60px rgba(0,0,0,0.6);
}

/* Serviços e profissionais seleção */
.srv_card.selected, .prof_card.selected {
  border-color: #FFD700;
  border-width: 2px;
  background: linear-gradient(135deg, rgba(201,168,76,0.12), rgba(201,168,76,0.03));
  box-shadow: 0 0 25px rgba(201,168,76,0.15), inset 0 0 15px rgba(201,168,76,0.03);
}
.srv_preco {
  font-size: 18px; font-weight: 900;
  background: linear-gradient(135deg, #FFD700, #C9A84C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Horário chips selecionados */
.hora_chip.selected {
  box-shadow: 0 6px 20px rgba(201,168,76,0.3);
}

/* Step indicator */
.step.done {
  background: linear-gradient(90deg, #C9A84C, #FFD700);
  box-shadow: 0 0 12px rgba(201,168,76,0.4);
}

/* FAB pulsante */
.fab {
  box-shadow: 0 8px 30px rgba(201,168,76,0.4);
}
.fab:active {
  transform: scale(0.85) rotate(90deg);
  transition: transform 0.5s ease;
}

/* Filtros */
.filtro_chip.active {
  box-shadow: 0 3px 15px rgba(201,168,76,0.3);
}

/* Toggle */
.toggle.on, .toggle_sw.anual {
  box-shadow: 0 0 12px rgba(201,168,76,0.3);
}

/* Auth */
#tela_auth {
  background: radial-gradient(ellipse at 50% -10%, rgba(201,168,76,0.12) 0%, #080808 60%);
}
.tab_auth.active {
  box-shadow: 0 4px 18px rgba(201,168,76,0.3);
}

/* Landing planos */
.p_card.star {
  border-color: rgba(201,168,76,0.5);
  box-shadow: 0 12px 50px rgba(201,168,76,0.1), 0 0 0 1px rgba(201,168,76,0.25);
}
.p_card:hover {
  transform: translateY(-4px);
}
.p_card.star:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 70px rgba(201,168,76,0.15), 0 0 0 2px rgba(201,168,76,0.4);
}
.p_star_tag {
  background: linear-gradient(135deg, #C9A84C, #E8C96A);
  letter-spacing: 3px;
}
.p_preco {
  font-size: 42px;
  background: linear-gradient(135deg, #FFD700, #C9A84C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Toast premium */
.toast.show {
  border-radius: 14px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.6);
  backdrop-filter: blur(16px);
}

/* Empty state */
.empty_ico {
  font-size: 56px;
  animation: floatIcon 3s ease-in-out infinite;
  filter: drop-shadow(0 8px 16px rgba(201,168,76,0.12));
}
@keyframes floatIcon {
  0%, 100% { transform: translateY(0px) scale(1); }
  50% { transform: translateY(-10px) scale(1.05); }
}

/* Section label */
.section_label {
  letter-spacing: 2px;
  padding-left: 16px;
  position: relative;
}
.section_label::before {
  content: '';
  position: absolute; left: 0; top: 50%;
  width: 7px; height: 7px;
  background: var(--accent);
  border-radius: 50%;
  transform: translateY(-50%);
  box-shadow: 0 0 8px rgba(201,168,76,0.4);
}

/* Scrollbar dourada */
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(201,168,76,0.15); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: rgba(201,168,76,0.35); }

/* FAQ */
.faq_ico {
  background: linear-gradient(135deg, #C9A84C, #E8C96A);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Agenda day picker */
.agenda_btn:hover {
  background: rgba(201,168,76,0.1);
  border-color: rgba(201,168,76,0.3);
}

/* Depoimentos */
.dep_grande::before {
  color: #C9A84C;
  opacity: 0.2;
  font-size: 90px;
  top: -15px;
}

/* Resumo card */
.resumo_card {
  border-left: 3px solid var(--accent);
}

@keyframes floatUp {
  0% { transform: translateY(0) scale(0); opacity: 0; }
  5% { opacity: 0.8; }
  80% { opacity: 0.2; }
  100% { transform: translateY(-110vh) scale(1.5); opacity: 0; }
}




/* SVG Icons */
.ic { width: 1.2em; height: 1.2em; vertical-align: middle; flex-shrink: 0; display: inline-block; }
.ic-lg { width: 1.6em; height: 1.6em; }
.ic-xl { width: 2.5em; height: 2.5em; }

.ic svg, svg.ic { width: 1.2em !important; height: 1.2em !important; }

/* ===== FIX MOBILE: hover preso em ecrãs de toque ===== */
@media (hover:none), (pointer:coarse) {
  .btn_primary:hover, .btn_gold:hover,
  .card_item:hover, .barb_card:hover, .stat_card:hover, .p_card:hover,
  .p_card.star:hover {
    transform: none !important;
  }
}
