/* =========================================================
   Atomy Kairós Oásis - Blue & White Vibrant Theme
   Paleta azul e branco vibrante.
   Carregado APÓS style.css para sobrescrever a paleta original.
   ========================================================= */

:root {
  --ako-primary: #0a66ff;          /* azul vibrante */
  --ako-primary-dark: #0046c7;
  --ako-secondary: #1fb6ff;        /* azul céu */
  --ako-accent: #00c2ff;           /* ciano brilhante */
  --ako-accent-2: #003a9b;         /* azul marinho */
  --ako-gradient: linear-gradient(135deg, #0a66ff 0%, #1fb6ff 50%, #00c2ff 100%);
  --ako-gradient-deep: linear-gradient(135deg, #003a9b 0%, #0a66ff 50%, #1fb6ff 100%);
  --ako-dark: #0b1e3f;             /* azul-noite (texto) */
  --ako-light: #ffffff;
  --ako-bg-soft: #f4f9ff;
  --ako-shadow: 0 10px 30px rgba(10, 102, 255, 0.25);
}

/* ---------- Tipografia & geral ---------- */
body { color: #1f2a44; background: #ffffff; }

a { color: var(--ako-primary); transition: color .25s ease; }
a:hover { color: var(--ako-secondary); }

h1, h2, h3, h4, h5, h6 { color: var(--ako-dark); letter-spacing: .3px; }

/* ---------- Top Bar ---------- */
#topbar {
  background: var(--ako-gradient) !important;
  color: #fff !important;
}
#topbar a, #topbar i { color: #fff !important; }
#topbar a:hover { color: #cfe8ff !important; }
#topbar .social-links a { transition: transform .25s ease, color .25s ease; }
#topbar .social-links a:hover { transform: translateY(-2px) scale(1.15); }

/* ---------- Header / Navbar ---------- */
#header {
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 4px 20px rgba(10, 102, 255, 0.08);
  backdrop-filter: blur(8px);
}
#navbar a, #navbar a:focus {
  color: var(--ako-dark) !important;
  font-weight: 600;
  position: relative;
}
#navbar a::after {
  content: "";
  position: absolute;
  left: 12px; right: 12px; bottom: 4px;
  height: 3px;
  background: var(--ako-gradient);
  border-radius: 3px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease;
}
#navbar a:hover::after,
#navbar a.active::after { transform: scaleX(1); }
#navbar a:hover, #navbar a.active { color: var(--ako-primary) !important; }

/* ---------- Hero ---------- */
#hero .carousel-item::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(120deg, rgba(0, 58, 155, 0.55), rgba(31, 182, 255, 0.45));
  z-index: 1;
}
#hero .carousel-container { position: relative; z-index: 2; }
#hero h1, #hero h2 {
  color: #fff !important;
  text-shadow: 0 4px 24px rgba(0, 0, 0, .45);
  font-weight: 800;
}
#hero h1 a { color: #fff !important; }
#hero p { color: #fff !important; text-shadow: 0 2px 12px rgba(0, 0, 0, .5); }

.btn-get-started {
  background: var(--ako-gradient) !important;
  color: #fff !important;
  border: 0 !important;
  padding: 12px 32px !important;
  border-radius: 50px !important;
  font-weight: 700 !important;
  letter-spacing: 1px;
  box-shadow: var(--ako-shadow);
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.btn-get-started:hover {
  transform: translateY(-3px) scale(1.03);
  filter: brightness(1.08);
  box-shadow: 0 14px 36px rgba(10, 102, 255, 0.4);
}

.carousel-indicators li {
  background: rgba(255, 255, 255, .6) !important;
  border: 2px solid #fff !important;
}
.carousel-indicators li.active { background: var(--ako-accent) !important; }

/* ---------- Section titles ---------- */
.section-title h2 {
  position: relative;
  display: inline-block;
  background: var(--ako-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 800;
}
.section-title h2::after {
  content: "";
  display: block;
  width: 70px; height: 4px;
  margin: 12px auto 0;
  background: var(--ako-gradient);
  border-radius: 4px;
}

/* ---------- Cards / icon boxes ---------- */
.about .icon-box {
  background: #fff;
  border-radius: 16px;
  padding: 22px;
  box-shadow: 0 6px 22px rgba(10, 102, 255, 0.12);
  transition: transform .3s ease, box-shadow .3s ease;
  border-left: 4px solid var(--ako-primary);
  margin-bottom: 18px;
}
.about .icon-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 32px rgba(10, 102, 255, 0.22);
  border-left-color: var(--ako-secondary);
}
.about .icon-box .icon i,
.about .icon-box .icon {
  color: var(--ako-primary) !important;
  font-size: 36px;
}
.about .icon-box .title a { color: var(--ako-dark) !important; }
.about .icon-box:hover .title a { color: var(--ako-primary) !important; }

/* ---------- About lists ---------- */
.about-lists .content-item {
  background: linear-gradient(160deg, #fff 0%, var(--ako-bg-soft) 100%);
  border-radius: 14px;
  padding: 26px !important;
  margin: 10px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, .05);
  transition: transform .3s ease, box-shadow .3s ease;
  border-top: 3px solid var(--ako-primary);
}
.about-lists .content-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 34px rgba(10, 102, 255, 0.2);
}
.about-lists .content-item span {
  background: var(--ako-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 800;
  font-size: 28px;
}
.about-lists .content-item h4 { color: var(--ako-dark); font-weight: 700; }

/* ---------- Counts ---------- */
.counts {
  background: var(--ako-gradient-deep) !important;
  position: relative;
}
.counts .count-box {
  background: rgba(255, 255, 255, .97);
  padding: 28px 18px;
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .12);
  transition: transform .3s ease;
}
.counts .count-box:hover { transform: translateY(-5px) scale(1.02); }
.counts .count-box i { font-size: 42px; color: var(--ako-primary) !important; }
.counts .count-box span {
  background: var(--ako-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 800;
}
.counts .count-box p { color: var(--ako-dark); font-weight: 600; }

/* ---------- Portfolio ---------- */
#portfolio-flters li {
  border-radius: 50px !important;
  padding: 8px 18px !important;
  font-weight: 600;
  transition: all .25s ease;
  cursor: pointer;
  color: var(--ako-dark);
}
#portfolio-flters li.filter-active,
#portfolio-flters li:hover {
  background: var(--ako-gradient) !important;
  color: #fff !important;
  box-shadow: var(--ako-shadow);
}

.portfolio-wrap {
  border-radius: 14px;
  overflow: hidden;
  transition: transform .35s ease, box-shadow .35s ease;
  background: #fff;
}
.portfolio-wrap:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 38px rgba(10, 102, 255, 0.28);
}
.portfolio-wrap img { transition: transform .5s ease; }
.portfolio-wrap:hover img { transform: scale(1.06); }
.portfolio-info {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(11, 30, 63, .88) 100%) !important;
}
.portfolio-info h3, .portfolio-info h4 { color: #fff !important; }
.portfolio-info p { color: var(--ako-accent) !important; font-weight: 600; }
.portfolio-links a {
  background: var(--ako-primary) !important;
  color: #fff !important;
  border-radius: 50%;
  width: 38px; height: 38px;
  display: inline-flex !important; align-items: center; justify-content: center;
  margin: 0 4px;
  transition: transform .25s ease, background .25s ease;
}
.portfolio-links a:hover {
  background: var(--ako-secondary) !important;
  transform: scale(1.15);
}

/* ---------- Botões CTA personalizados ---------- */
.btn-cadastro,
.btn-atomy {
  background: var(--ako-gradient) !important;
  background-size: 200% 200% !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 16px !important;
  padding: 18px 36px !important;
  font-weight: 700 !important;
  display: inline-block;
  box-shadow: var(--ako-shadow);
  transition: transform .3s ease, box-shadow .3s ease, background-position .6s ease;
  text-decoration: none !important;
}
.btn-cadastro:hover,
.btn-atomy:hover {
  transform: translateY(-4px) scale(1.03);
  background-position: 100% 0 !important;
  box-shadow: 0 18px 38px rgba(10, 102, 255, 0.45);
  color: #fff !important;
}
.btn-cadastro .titulo,
.btn-atomy .main-text { font-size: 1.05rem; letter-spacing: 1px; display: block; }
.btn-cadastro .subtitulo,
.btn-atomy .sub-text { font-size: .8rem; opacity: .9; display: block; }
.btn-cadastro .icone { display: inline-block; transition: transform .3s ease; }
.btn-cadastro:hover .icone { transform: translateX(6px); }

/* ---------- Back to top ---------- */
.back-to-top {
  background: var(--ako-gradient) !important;
  border-radius: 50% !important;
  box-shadow: var(--ako-shadow);
}
.back-to-top:hover { filter: brightness(1.1); transform: translateY(-3px); }

/* ---------- Section background variation ---------- */
.section-bg {
  background: linear-gradient(180deg, var(--ako-bg-soft) 0%, #ffffff 100%) !important;
}

/* ---------- Footer ---------- */
#footer {
  background: var(--ako-dark) !important;
  color: #f3f6ff !important;
}
#footer a { color: var(--ako-accent) !important; }
#footer a:hover { color: #ffffff !important; }
#footer .social-links a {
  background: var(--ako-gradient) !important;
  color: #fff !important;
  border: 0 !important;
  transition: transform .25s ease;
}
#footer .social-links a:hover { transform: translateY(-3px) scale(1.1); }

/* ---------- Acessibilidade: foco visível ---------- */
a:focus-visible, button:focus-visible {
  outline: 3px solid var(--ako-accent) !important;
  outline-offset: 3px;
  border-radius: 6px;
}

/* ---------- Responsivo ---------- */
@media (max-width: 768px) {
  .btn-cadastro, .btn-atomy { padding: 14px 24px !important; }
  #hero h1, #hero h2 { font-size: 1.8rem !important; }
}
