/*
Theme Name: One Therapy
Template: hello-elementor
Author: Webcer
Description: Child theme do Hello Elementor para a landing page One Therapy — carrega a tipografia da marca e pequenos ajustes visuais que o painel do Elementor não cobre nativamente (hover dos cards de casos, linha do timeline, transições do accordion).
Version: 1.0.0
Text Domain: one-therapy
*/

:root{
  --ot-teal: #244C57;
  --ot-teal-dark: #14313A;
  --ot-teal-tint: #E8F0EF;
  --ot-terracotta: #BE6F34;
  --ot-terracotta-light: #E0A868;
  --ot-cream: #F7F0E1;
  --ot-cream-deep: #EEE2C6;
  --ot-ink: #20343B;
  --ot-white: #FFFFFF;
}

body, .elementor-widget-text-editor, .elementor-widget-heading,
.elementor-widget-heading, .elementor-widget-icon-box, .elementor-widget-text-editor,
.elementor-button, input, textarea, select{
  font-family: 'Nunito', sans-serif;
}

/* Textura sutil (grão de papel) sobre toda a LP, para as áreas de cor sólida não ficarem "lisas" */
body.page-template-elementor_canvas::before,
body::before{
  content: "";
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  pointer-events: none;
  opacity: .05;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat: repeat;
}

/* Vídeo do hero preenchendo a coluna inteira, sem moldura flutuando */
.ot-hero-video-col{
  overflow: hidden;
}
.ot-hero-video-col > .elementor-widget-wrap{
  height: 100%;
}
.ot-hero-video, .ot-hero-video .elementor-widget-container,
.ot-hero-video .elementor-wrapper, .ot-hero-video .elementor-video{
  height: 100%;
}
.ot-hero-video .elementor-wrapper{
  padding-bottom: 0 !important;
}
.ot-hero-video video, .ot-hero-video iframe{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 1024px){
  .ot-hero-video-col{ min-height: 320px; }
  .ot-hero-video .elementor-wrapper{ position: static; height: 320px; padding-bottom: 0 !important; }
}

/* Timeline do Processo: conecta os ícones das etapas com uma linha */
.ot-timeline .elementor-icon-box-wrapper{
  position: relative;
}
.ot-timeline > .elementor-widget-wrap > .elementor-element,
.ot-timeline .e-con-inner > .elementor-element{
  position: relative;
}
.ot-timeline-item:not(:last-child) .elementor-icon-box-icon::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  width: 100%;
  height: 2px;
  background: repeating-linear-gradient(90deg, var(--ot-terracotta) 0 8px, transparent 8px 16px);
  z-index: 0;
}
@media (max-width: 1024px){
  .ot-timeline-item:not(:last-child) .elementor-icon-box-icon::after{ display: none; }
}

/* Cards de Casos: revela o texto no hover, mantendo o widget nativo Icon Box */
.ot-case-card{
  overflow: hidden;
  transition: transform .35s ease, box-shadow .35s ease;
}
.ot-case-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(20,49,58,.16);
}
.ot-case-card .elementor-icon-box-description{
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height .35s ease, opacity .3s ease, margin .35s ease;
  margin-top: 0 !important;
}
.ot-case-card:hover .elementor-icon-box-description{
  max-height: 220px;
  opacity: 1;
  margin-top: 12px !important;
}

/* Botões: leve elevação no hover para reforçar affordance de clique */
.ot-btn-primary .elementor-button,
.ot-btn-primary.elementor-button-wrapper .elementor-button{
  transition: transform .25s ease, box-shadow .25s ease;
}
.ot-btn-primary .elementor-button:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(190,111,52,.35);
}

/* Accordion FAQ: cantos e transição mais suaves que o padrão do Elementor */
.ot-faq .elementor-accordion-item{
  border: none !important;
  border-bottom: 1px solid rgba(32,52,59,.12) !important;
}
.ot-faq .elementor-tab-title{
  transition: color .2s ease;
}

/* Cards de Vantagens: leve elevação no hover para reforçar interatividade */
.ot-adv-card{
  transition: transform .3s ease, box-shadow .3s ease;
}
.ot-adv-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 16px 32px rgba(20,49,58,.22);
}

/* Selo/estatísticas: números com peso editorial */
.ot-stat .elementor-counter-number-wrapper{
  font-variant-numeric: tabular-nums;
}

@media (max-width: 767px){
  .elementor-section .elementor-container{ flex-wrap: wrap; }
}
