/* ================== BASE ================== */
:root{
  --bg:#ffffff;
  --ink:#e7e6ee;
  --muted:#bfbacf;
  --line:#2a2437;

  --p1:#1b082c;
  --p2:#2c0a41;
  --p3:#3c0f5c;
  --p4:#5e1a90;

  --card:#ffffff;
  --card2:#d3d0d0;

  --radius:22px;
  --wrap:1180px;
  --shadow:0 10px 30px rgba(0,0,0,.35);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:"Poppins",system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(1200px 500px at 50% -150px, #ffffff, transparent 60%),
    linear-gradient(to bottom, #ffffff 0%, #ffffff 60%);
  background-color:var(--bg);
}

/* Containers */
.wrap{width: min(var(--wrap), 100% - 48px); margin-inline:auto}

/* ================== HERO ================== */
.hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(1200px 320px at 50% -180px, #5e1a90aa 0, transparent 60%),
    linear-gradient(180deg, #ffffff 0%, #ffffff 100%);
}
.hero__grid{
  display:grid; grid-template-columns:1.1fr .9fr; align-items:center;
  gap:40px; padding:64px 0 72px;
}
.hero__text h1{
  font-size: clamp(28px, 3.2vw, 44px);
  line-height:1.15; margin:0 0 14px 0; font-weight:700;
  color: black;
}
.hero__text h2{
  color: black;
}
.hero__text p{color:black; font-size:1.05rem; max-width:680px}

.hero__text2 h2{
  font-size: clamp(28px, 3.2vw, 44px);
  line-height:1.15; margin:0 0 14px 0; font-weight:700;
  color: black;
}

.hero__products{
  display:flex; gap:26px; justify-content:flex-end; align-items:flex-end; width: auto;
}
.prod {
  width:210px;
  height:240px;
  object-fit:contain;  /* mostra a imagem inteira */
  border-radius:14px;
  background: white;
  box-shadow: white;
  /*border:1px solid #3b2a52;*/
  padding: 10px; /* opcional: dá respiro */
}


.hero__glow{
  position:absolute; inset:0; pointer-events:none;
  background:
    repeating-linear-gradient(100deg, transparent 0, transparent 26px, rgba(255,255,255,.06) 27px, transparent 29px),
    linear-gradient(90deg, rgba(255,120,0,.15), rgba(123,0,255,.18) 35%, rgba(0,180,255,.14) 70%, rgba(255,120,0,.15) 100%);
  mix-blend-mode:screen; opacity:.35;
}

/* ================== CARDS ================== */
.card-row{padding:42px 0}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:28px}

.card{
  background: radial-gradient(1000px 400px at 100% -200px, #7e39ff15, transparent 60%),
              linear-gradient(180deg, var(--card) 0%, var(--card2) 100%);
  border-radius: var(--radius);
  border:1px solid #CCC;
  box-shadow: var(--shadow);
  padding:28px;
  margin-top: -20px;
}
.card--reverse .card__text{order:2}
.card--reverse .card__media{order:1}

.card__text h2{
  font-size: clamp(22px, 2.2vw, 30px);
  margin:4px 0 12px; line-height:1.25; color:#000000;
}
.card__text p{color:#000}
.card__text .small{font-size:.95rem; color:#000}
.caracteristicas{
  color: #000;
}
.card__text h3{
  color: #434343;
}

.h2_bg_claro {
  color: #212121;
  text-align: center;
  font-size: 2rem;
  margin-bottom: 1rem;
  margin-top: 0;
}

.h3_bg_claro {
  font-size: 1.6rem;
  margin-bottom: 1rem;
  margin-top: 0.4rem;
}

.card__media{display:flex; align-items:center; justify-content:center}
.imgTint{
  position:relative; border-radius:16px; overflow:hidden;
  /*border:1px solid #3a2a52; box-shadow: var(--shadow);*/
}
.imgTint img{display:block; width:100%; height:auto}
.imgTint::after{
  content:""; position:absolute; inset:0;
  /*background:linear-gradient(0deg, #7b30ff33, #7b30ff33);*/
  mix-blend-mode:multiply;
}

#titulo-produtos {
  margin: 2rem 0 0 0;
  color: #5e1a90;  
}

/* ================== CALLOUT ================== */
.callout{padding:36px 0}
.callout__box{
  display:grid; grid-template-columns:1fr 280px; gap:28px;
  background:linear-gradient(180deg, #ffffff 0%, #ffffff 100%);
  border:1px solid #ffffff; border-radius: var(--radius);
  padding:34px 28px; box-shadow: var(--shadow);
}
.callout__box {
  display: grid;
  grid-template-columns: 1fr 280px; /* texto + selo */
  align-items: center;              /* centraliza o conteúdo na vertical */
  text-align: center;               /* centraliza o texto */
}

.callout__text {
  max-width: 800px; /* para não ficar esticado demais */
  margin: 0 auto;   /* centraliza horizontalmente dentro da coluna */
  color: black;
}

.callout__text a {
  color: black;
}

/* Badge “fake” para lembrar o selo do print */
.badge{position:relative; width:210px; height:210px}
.badge__ring{
  position:absolute; inset:0; border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.12) 0 62%, transparent 63% 100%),
    conic-gradient(from 0deg, #68e0ff, #b0ffcc, #fff2a6, #d3b3ff, #68e0ff);
  filter: blur(.2px);
}
.badge__core{
  position:absolute; inset:18px; border-radius:50%;
  background:#f7f9ff; color:#222; display:flex; flex-direction:column;
  align-items:center; justify-content:center; text-align:center; padding:10px;
}
.badge__title{font-weight:800; font-size:1.8rem; letter-spacing:.5px}
.badge__subtitle{font-size:.78rem; line-height:1.1; margin-top:6px}
.badge__since{font-size:.7rem; margin-top:8px; color:#555}

/* ================== APLICAÇÕES ================== */
.section-title{
  text-align:center; font-size:1.8rem; color:#e9d6ff; margin:6px 0 22px;
}
.apps{padding:8px 0 64px}
.apps__grid{
  display:grid; gap:20px;
  grid-template-columns:repeat(3, 1fr);
}
.appCard{
  background:linear-gradient(180deg, #1a1028, #1d112c);
  border:1px solid #2f2143; border-radius:16px; box-shadow: var(--shadow);
  padding:14px 14px 18px;
}
.appCard img{
  width:100%; height:auto; display:block; border-radius:12px; border:1px solid #37264f;
  box-shadow: 0 8px 18px rgba(0,0,0,.35);
  margin-bottom:12px;
}
.appCard h3{margin:2px 0 6px; font-size:1.08rem}
.appCard p{color:#beb5cf; font-size:.98rem}



/* ================== RESPONSIVO ================== */
@media (max-width: 1024px){
  .hero__grid{grid-template-columns:1fr}
  .hero__products{justify-content:flex-start}
  .grid-2{grid-template-columns:1fr}
  .callout__box{grid-template-columns:1fr}
  .logoaempresabyotek {
    width: 100%;
    top: 0px;
  }
}

@media (max-width: 640px){
  .apps__grid{grid-template-columns:1fr}
}

/* ================== AJUSTES MOBILE EXTRA ================== */
@media (max-width: 640px){
  /* Logo menor */
  .brand img { 
    height: 60px; 
  }

  /* Ajusta espaçamento do topo */
  .topbar .wrap {
    justify-content: center;
  }

  /* Botão hamburguer */
  .hamburger {
    display: block;
    width: 32px;
    height: 24px;
    position: relative;
    cursor: pointer;
    margin-left: auto;
  }
  .hamburger span {
    position: absolute;
    left: 0;
    right: 0;
    height: 3px;
    background: #fff;
    border-radius: 3px;
    transition: .3s;
  }
  .hamburger span:nth-child(1){ top: 0; }
  .hamburger span:nth-child(2){ top: 10px; }
  .hamburger span:nth-child(3){ top: 20px; }

  /* Checkbox hack */
  #menu-toggle { display: none; }
  #menu-toggle:checked + .hamburger span:nth-child(1){
    transform: rotate(45deg); top:10px;
  }
  #menu-toggle:checked + .hamburger span:nth-child(2){
    opacity: 0;
  }
  #menu-toggle:checked + .hamburger span:nth-child(3){
    transform: rotate(-45deg); top:10px;
  }

  /* Menu lateral */
  .menu {
    display: flex;
    flex-direction: column;
    gap: 18px;
    position: fixed;
    top: 70px;
    right: -100%;
    width: 70%;
    height: 100vh;
    background: #1a0f2b;
    padding: 40px 20px;
    box-shadow: -4px 0 14px rgba(0,0,0,.6);
    transition: .35s ease;
    z-index: 9;
  }
  #menu-toggle:checked ~ .menu {
    right: 0;
  }
}


@media (max-width: 640px){
  .callout__badge {
    display: flex;
    justify-content: center; /* centraliza horizontalmente */
    margin-top: 20px;        /* dá espaço entre texto e selo */
  }
}


@media (max-width: 640px){
  .hero__grid {
    padding: 32px 12px; /* reduz padding e adiciona respiro nas laterais */
    text-align: center; /* centraliza o texto */
  }
  .hero__text p {
    padding: 0 8px; /* garante margem interna no parágrafo */
  }
  .hero__products {
    justify-content: center; /* centraliza produtos */
    flex-wrap: wrap;         /* permite quebrar linha se precisar */
    gap: 16px;
  }
  .prod {
    width: 160px;  /* reduz tamanho dos produtos */
    height: auto;
  }
}

#menu-toggle {
  display: none;
}

.produtos {
  text-align: center;
  color: black;
  margin: 40px 0;
}

a {
    color: black;
    font-size: 16px;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}



/* === AJUSTES MENU MOBILE / HEADER === */

/* Esconde apenas o checkbox; mantém a estrutura pro hack */
#menu-toggle { display: none; }

/* Botão hambúrguer: desktop escondido; mobile visível */
.hamburger {
  display: none;
}
@media (max-width: 920px) {
  .topbar .wrap {
    justify-content: space-between; /* logo à esquerda, menu à direita/hambúrguer */
    padding: 2px 0 16px 0 !important;
  }
  .hamburger {
    display: block;
    width: 32px;
    height: 24px;
    position: relative;
    cursor: pointer;
    margin-left: auto;
  }
  .hamburger span {
    position: absolute;
    left: 0;
    right: 0;
    height: 3px;
    background: #fff;
    border-radius: 3px;
    transition: .3s;
  }
  .hamburger span:nth-child(1){ top: 0; }
  .hamburger span:nth-child(2){ top: 10px; }
  .hamburger span:nth-child(3){ top: 20px; }

  /* Anima X */
  #menu-toggle:checked + .hamburger span:nth-child(1){ transform: rotate(45deg); top:10px; }
  #menu-toggle:checked + .hamburger span:nth-child(2){ opacity: 0; }
  #menu-toggle:checked + .hamburger span:nth-child(3){ transform: rotate(-45deg); top:10px; }

  /* OFF-CANVAS: NÃO usar display:none no menu no mobile */
  .menu {
    display: flex;
    flex-direction: column;
    gap: 18px;
    position: fixed;
    top: 70px;
    right: -100%;
    width: 70%;
    height: 100vh;
    background: #1a0f2b;
    padding: 40px 20px;
    box-shadow: -4px 0 14px rgba(0,0,0,.6);
    transition: right .35s ease, opacity .2s ease;
    z-index: 11; /* acima da topbar */
    opacity: 0.98;
    text-align: left;
  }
  /* Abre o menu quando checado (ordem: input + label + nav) */
  #menu-toggle:checked + .hamburger + .menu { right: 0; }
}

/* Foco visível e acessibilidade */
.menu a:focus-visible,
.hamburger:focus-visible {
  outline: 2px dashed #8b44ff;
  outline-offset: 3px;
}

/* Estado “ativo” (adicione aria-current="page" no link da página atual) */
.menu a[aria-current="page"] { opacity: 1; }
.menu a[aria-current="page"]::after { transform: scaleX(1); }

/* Menos movimento para quem prefere */
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}



/* Botões centralizados na home */
.news__actions{
  display: inline-flex;
  width: calc(100% - 6rem);
  gap: 12px;
  align-items: center;
  justify-content: right;
  flex-wrap: wrap;
  margin: 2rem 3rem 0 3rem;
}


/* ===== Contato minimalista na home dop site ===== */
.contact--minimal{
  padding: 22px 0 56px;
  background: #fff; /* mantém limpo e consistente com seu layout */
}
.contact--minimal .wrap{ text-align:center; }

.contact--minimal h2{
  margin: 0 0 8px 0;
  color: #1a0f2b;
  font-size: clamp(22px, 2.2vw, 28px);
}
.contact__lead{
  margin: 0 auto 18px;
  color: #444;
  max-width: 46ch;
  font-size: 1rem;
}

/* Ações: dois botões compactos lado a lado no desktop */
.contact__actions{
  display: inline-flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  margin: 12px 0 20px;
}

/* Botão estilo “chip/recaptcha”: altura ~46-48px, borda sutil */
.cta-home{
  --h: 46px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: var(--h);
  padding: 0 16px;
  border-radius: 12px;
  border: 1px solid #d8d8d8;
  background: linear-gradient(#ffffff, #fafafa);
  color: #1a0f2b;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
  line-height: 1;
}
.cta-home i{ font-size: 18px; }        /* ícones discretos */
.cta-home span{ font-size: 15px; }     /* texto equilibrado */

.cta-home:hover{
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,0,0,.10);
  background: #fff;
}

/* Variações de cor, sempre contidas/clean */
.cta-home--whats{
  border-color: #d9efe2;
  background: linear-gradient(#ffffff, #f6fff9);
  color: #0b3d1f;
}
.cta-home--mail{
  border-color: #e3dff1;
  background: linear-gradient(#ffffff, #faf8ff);
  color: #2a2040;
}

/* Linha com infos complementares abaixo dos botões */
.contact__meta{
  display: flex;
  gap: 18px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 10px;
  color: #555;
  font-size: .95rem;
}
.meta__item{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.meta__item i{ font-size: 14px; color:#7a6aa5; }

/* Responsivo */
@media (max-width: 640px){
  .contact__actions{ gap: 10px; }
  .cta{ --h: 48px; padding: 0 14px; }
  .news__actions{justify-content: center;}
}


/* === MODAL HOME === */
/* ===== Popup imagem (dialog com box branco) ===== */
.modal-img{
  padding:0; border:none; background:transparent;
}

.modal-img::backdrop{
  background: rgba(0,0,0,.65);
}

/* Caixa branca centralizada */
.modal-box{
  position:relative;
  background:#fff;
  border-radius:16px;
  padding:12px;
  max-width: 92vw;   /* nunca passa da largura da tela */
  max-height: 92vh;  /* nunca passa da altura da tela */
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  box-shadow: 0 14px 38px rgba(0,0,0,.35);
}

.modal-box img{
  max-width:100%;
  max-height:calc(92vh - 50px); /* desconta espaço do botão */
  height:auto;
  width:auto;
  object-fit:contain;
  border-radius:10px;
}

.modal-close{
  position:absolute; top:10px; right:10px;
  width:36px; height:36px;
  border:0; border-radius:999px;
  background:#fff; color:#111;
  font-size:22px; line-height:1;
  cursor:pointer;
  box-shadow:0 4px 14px rgba(0,0,0,.15);
}

.modal-close:hover{
  filter:brightness(.96);
  transform:translateY(-1px);
}





/* === AJUSTES NOTICÍAS NA HOME === */

/* Seção geral de notícias */
.news {
  padding: 0 0 3.5rem;
}

/* Cabeçalho da seção de notícias */
.news__head {
  margin-bottom: 1.25rem;
}

.news__title {
  font-size: clamp(1.35rem, 1.1rem + 1vw, 1.75rem);
  color: #0d0b16;
  margin: 0 0 0.6rem 0;
}

.news__subtitle {
  margin: 0.25rem 0 2rem 0;
  color: #666;
}

/* Grid principal que lista as notícias */
.news-list {
  display: grid;
  gap: 1.25rem;
}

/* Card base de cada notícia */
.news-item {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 1.25rem;
  align-items: start;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
  padding: 1rem;
  transition: 0.2s ease;
  border: 1px solid #CDCDCD;
}

/* Efeito ao passar o mouse no card */
.news-item:hover {
  box-shadow: 6px 6px 2px #c5c5c5;
  transform: translateY(-1px);
  text-decoration: none;
}


/* Miniatura (imagem) da notícia */
.news-thumb {
  display: block;
  width: 100%;
  max-width: 320px;
  border-radius: 12px;
  overflow: hidden;
}

.news-thumb img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
}

/* Área de conteúdo textual */
.news-content {
  display: flex;
  flex-direction: column;
}

/* Metadados (categoria + data) */
.news-meta {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  margin-bottom: 0.35rem;
  flex-wrap: wrap;
}

/* Categoria em destaque */
.news-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8rem;
  background: #f3f3f7;
  color: #444;
  border-radius: 999px;
  padding: 0.25rem 0.6rem;
}

/* Data da notícia */
.news-meta time {
  color: #666;
  font-size: 0.85rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

/* Título da notícia */
.news-heading {
  margin: 0.25rem 0 0.35rem;
  line-height: 1.25;
}

.news-heading a {
  color: #111;
  text-decoration: none;
}

.news-heading a:hover {
  text-decoration: underline;
}

/* Resumo do texto */
.news-excerpt {
  color: #333;
  margin: 0 0 0.75rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Link "Saiba mais" */
.news-more {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-weight: 600;
  text-decoration: none;
}

.news-more:hover {
  text-decoration: underline;
}

/* Botões da paginação */
.btn-pager {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 0.9rem;
  border: 1px solid #ddd;
  border-radius: 10px;
  text-decoration: none;
}

.btn-pager:hover {
  background: #EFEFEF;
  text-decoration: none;
}

/* Ajustes em telas pequenas */
@media (max-width: 720px) {
  .news-item {
    grid-template-columns: 1fr;
  }

  .news-thumb {
    max-width: none;
  }

  .news-thumb img {
    height: 200px;
  }
}






/* === APLICAÇÕES FAR UVC BYOTEK === */
/* === CALLOUT-ALT ================= *-/
.callout_alt{
}
/** */

.callout_alt .callout__box{
  background: var(--bg);
  border-color: var(--card2);
  padding: 2px 2rem 4px 2rem;
}

.callout_alt h3{
  font-size: 24px;
  color: #9C2C50;
  margin-top: 0.2rem;
}

.callout_alt p{
  color: var(--p1);
}

@media (max-width: 1024px){
  .callout_alt .callout__box{
    grid-template-columns: 1.2fr .8fr;
  }
}

/* Ajustes em telas pequenas */
@media (max-width: 720px) {
  .news-item {
    grid-template-columns: 1fr;
  }

  .news-thumb {
    max-width: none;
  }

  .news-thumb img {
    height: 200px;
  }

  .callout_alt .callout__box{
    grid-template-columns: 1fr;
  }

  .callout_alt .callout__box {
    gap: 2px;
  }

  .callout_alt h3{
    margin-top: 3rem;
  }

  .callout_alt p{
    margin-top: 2rem;
  }
}

/** === CHAMADAS ESPECIAIS PARA A HOME === */

.feature{
  padding: 0;
  margin: 3rem 0 0 0;
}

/* Base */
.especial_wrap{
  width: min(var(--wrap), 100% - 48px);
  margin-inline: auto;
  margin-bottom: 5rem;
  margin-top: 0;
}

.feature__grid{
  display:grid;
  grid-template-columns: 1fr 1fr;   /* texto > imagem */
  gap: 2rem;
  align-items:stretch;                   /* mesma altura de linha */
}

.feature__copy {
  margin: 0 0 0 0;
  padding: 0;
}

/* Título e texto */
.feature__copy h2{
  font-size: clamp(18px, 5vw, 34px); /* dimensões maiores */
  text-align: justify;
  line-height: 2.4rem;
  margin: .6rem 0 .4rem;
  color: #000000;
}

.feature__copy h3{
  font-size: clamp(22px, 6vw, 38px); /* dimensões maiores */
  text-align: justify;
  line-height: 2.8rem;
  margin: .6rem 0 1.8rem;
  color: #000000;
}

.feature__copy p{
  font-size: clamp(14px, 1.4vw, 1rem);
  text-align: justify;
  line-height: 1.4rem;
  color: var(--p1);
  margin: 0 0 0 0;
  opacity: .9;
}

/* Figura ocupa a altura inteira da célula */
.feature__media_especial{
  height:100%;
  padding: 0;
  margin: 0;
  /* === Opcional Moldura - START === *-/
  background:#fff;
  border-radius:14px;
  padding:2px;                           
  box-shadow:0 6px 24px rgba(0,0,0,.06);
  /* === Opcional Moldura - FIM ===== */
}

/* Mantém proporção sem cortar nem distorcer */
.feature__media_especial img{
  width:100%;
  height:100%;
  object-fit:contain;                    /* <<< mantém proporção */
  border-radius:10px;                    /* combina com padding */
  display:block;
}

/* Guarda-chuva para telas enormes (opcional) */
@media (min-width:1400px){
  .feature__media_especial{max-height:64vh}
}

/* Mobile empilhado */
@media (max-width:1024px){
  .feature__grid{grid-template-columns:1fr}
  .feature__media_especial{height:auto; padding:0}
  .feature__media_especial img{
    height:auto;
    width:100%;
    aspect-ratio:16/9;                   /* visual agradável */
    object-fit:cover;                    /* aqui pode cobrir */
  }
}
