/*
Theme Name: Toxicologico Anápolis
Theme URI: https://toxicologicoanapolis.com.br/
Author: Projeto
Description: Tema focado em conversão para Exame Toxicológico (Anápolis-GO).
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: tox-anapolis
*/

:root{
  --c1:#01657f;
  --c2:#01657f;
  --c3:#099cc5;
  --c4:#004a5c;
  --bg:#f8fcfd;
  --fg:#0b2a33;
  --muted:#5a7882;
  --container:1200px;
  --ease:cubic-bezier(.4,0,.2,1);
  --shadow1:0 10px 30px -14px rgba(0,0,0,.25);
  --shadow2:0 24px 44px -18px rgba(0,0,0,.32);
  /* Mantidas para compatibilidade mas apontando para a paleta */
  --warm1:#01657f;
  --warm2:#004a5c;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{font-family:'Inter',system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--fg);line-height:1.6}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{max-width:var(--container);margin:0 auto;padding:0 22px}

/* Header */
.header{position:fixed;top:0;left:0;right:0;z-index:90;transition:background .25s var(--ease), box-shadow .25s var(--ease)}
.header.scrolled{background:rgba(255,255,255,.95);backdrop-filter:blur(10px);box-shadow:0 6px 24px -18px rgba(0,0,0,.3)}
.header .row{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:42px}
.brand .name{font-weight:1000;font-size:1.18rem;color:#e8fbff;text-shadow:0 10px 30px rgba(0,0,0,.35)}
.scrolled .brand .name{color:var(--c1);text-shadow:none}
.nav{display:none;align-items:center;gap:20px}
.nav a{position:relative;font-weight:800;color:#e8fbff}
.scrolled .nav a{color:#123c47}
.nav a::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;background:linear-gradient(90deg,transparent,var(--c3),transparent);transform:scaleX(0);transition:transform .18s var(--ease)}
.nav a:hover::after{transform:scaleX(1)}
.nav .cta{background:linear-gradient(135deg,var(--c2),var(--c3));color:#fff;padding:10px 16px;border-radius:12px;box-shadow:var(--shadow1)}
.hamb{display:inline-flex;flex-direction:column;gap:4px;cursor:pointer}
.hamb span{width:24px;height:2px;background:#e8fbff}
.scrolled .hamb span{background:#123c47}
@media(min-width:1080px){.nav{display:flex}.hamb{display:none}}
.mobile{display:none;background:#fff;border-top:1px solid #e6edf1}
.mobile.open{display:block}
.mobile a{display:block;padding:14px 22px;border-bottom:1px solid #eef4f6;font-weight:800}

/* Hero */
.hero{position:relative;min-height:92vh;display:grid;place-items:center;color:#fff;overflow:hidden}
.slides{position:absolute;inset:0}
.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1);animation:kb 36s infinite}
.s1{animation-delay:0s}
.s2{animation-delay:12s}
.s3{animation-delay:24s}
@keyframes kb{0%{opacity:0;transform:scale(1)}5%{opacity:1}33%{opacity:1;transform:scale(1.07)}38%{opacity:0;transform:scale(1.1)}100%{opacity:0}}
.hero::after{content:'';position:absolute;inset:0;background:radial-gradient(1200px 600px at 16% 30%, rgba(0,0,0,.65), transparent 60%), linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.55))}
.hero .content{position:relative;z-index:2;width:100%}
.hero .inner{max-width:980px;margin:0 auto;padding:0 22px;text-align:center}
.pill{display:inline-flex;align-items:center;gap:.6rem;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);padding:8px 14px;border-radius:999px;font-weight:900;backdrop-filter:blur(6px)}
.hero h1{font-weight:1000;font-size:clamp(2.3rem,4.2vw + .6rem,4.4rem);line-height:1.04;margin:18px 0 10px;text-shadow:0 14px 36px rgba(0,0,0,.45)}
.hero p.lead{font-size:clamp(1.05rem,1.2vw + .6rem,1.45rem);opacity:.97;max-width:900px;margin:0 auto 20px}
.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:14px 18px;border-radius:14px;font-weight:900;letter-spacing:.2px;transition:transform .18s var(--ease), filter .18s var(--ease), box-shadow .18s var(--ease)}
.btn.primary{background:linear-gradient(135deg,var(--c2),var(--c3));color:#fff;box-shadow:var(--shadow1)}
.btn.ghost{border:1px solid rgba(255,255,255,.6);color:#fff;background:transparent}
.btn.whats{background:#25d366;color:#0b2614}
.herostats{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:16px}
.hstat{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:10px 14px;border-radius:12px;font-weight:800}

/* Hero cards */
.hero-cards{position:relative;z-index:3;margin-top:-56px}
.hero-cards .wrap{display:grid;gap:16px}
@media(min-width:1000px){.hero-cards .wrap{grid-template-columns:repeat(3,1fr)}}
.hcard{background:#fff;border-radius:16px;box-shadow:var(--shadow2);padding:18px;border:1px solid #e6edf1;transition:transform .18s var(--ease)}
.hcard:hover{transform:translateY(-4px)}
.hcard .ico{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--c2),var(--c3));color:#fff;font-size:26px;margin-bottom:6px}
.hcard h3{font-weight:900;color:#12313a}
.hcard p{color:#5a7882;margin:6px 0 10px}

/* Sections */
section{padding:90px 0}
.title{font-size:2.25rem;font-weight:1000;color:var(--c1);text-align:center;margin-bottom:10px}
.sub{color:var(--muted);text-align:center;margin-bottom:34px}

/* Cards generic */
.cards{display:grid;gap:18px}
@media(min-width:1000px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{background:#fff;border:1px solid #e6edf1;border-radius:16px;padding:22px;box-shadow:var(--shadow1);transition:transform .18s var(--ease)}
.card:hover{transform:translateY(-3px)}
.ico{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--c2),var(--c3));color:#fff;font-size:26px;margin-bottom:10px}
.card h3{font-weight:900;color:#12313a}
.muted{color:var(--muted)}
.row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}

/* Timeline */
.timeline{display:grid;gap:18px}
@media(min-width:980px){.timeline{grid-template-columns:repeat(4,1fr)}}
.step{position:relative;background:#fff;border:1px solid #e6edf1;border-radius:16px;padding:22px;box-shadow:var(--shadow1)}
.step .n{position:absolute;top:-12px;left:-12px;width:40px;height:40px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,var(--c2),var(--c3));color:#fff;font-weight:900;box-shadow:var(--shadow1)}
.step h4{color:var(--c2);margin:6px 0 8px}

/* Pricing */
.pricing{display:grid;gap:18px}
@media(min-width:980px){.pricing{grid-template-columns:1.1fr .9fr}}
.plan{background:#fff;border:1px solid #e6edf1;border-radius:18px;box-shadow:var(--shadow1)}
.plan .hd{display:flex;align-items:center;justify-content:space-between;padding:22px;border-bottom:1px solid #e9f0f3}
.plan .bd{padding:22px}
.price{font-size:2.25rem;font-weight:1000;color:var(--c1)}
.features{display:grid;gap:8px;margin:16px 0}
.dot{width:8px;height:8px;border-radius:999px;background:var(--c3)}
.li{display:flex;gap:10px;align-items:center}

/* Blog */
.posts{display:grid;gap:18px}
@media(min-width:980px){.posts{grid-template-columns:repeat(3,1fr)}}
.post{background:#fff;border:1px solid #e6edf1;border-radius:16px;overflow:hidden;box-shadow:var(--shadow1)}
.post .media{height:160px;background:#d8eef6}
.post .cnt{padding:18px}

/* Map/Contato */
.mapgrid{display:grid;gap:18px}
@media(min-width:980px){.mapgrid{grid-template-columns:1.2fr .8fr}}

/* Footer */
.footer{background:#0d2a33;color:#d7e7ec;padding:70px 0 18px}
.footer .cols{display:grid;gap:18px}
@media(min-width:1000px){.footer .cols{grid-template-columns:2fr 1fr 1fr 1fr}}
.footer a{color:#d7e7ec;opacity:.9}
.footer a:hover{color:#bdeaff}
.footbar{border-top:1px solid rgba(255,255,255,.12);margin-top:22px;padding-top:14px;text-align:center;opacity:.7}

/* Floating */
.float-whats{position:fixed;right:18px;bottom:22px;width:56px;height:56px;border-radius:999px;background:#25d366;color:#fff;display:grid;place-items:center;font-size:26px;box-shadow:var(--shadow2);z-index:95;transition:transform .15s var(--ease)}
.float-whats:hover{transform:translateY(-2px)}
.dock{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;justify-content:center;padding:10px}
.dock .wrap{display:flex;gap:8px;background:rgba(255,255,255,.98);border:1px solid #e6edf1;border-radius:14px;padding:8px;box-shadow:var(--shadow2)}
.dock a{padding:12px 16px;border-radius:12px;font-weight:900}
.dock .wa{background:#25d366;color:#0b2614}
.dock .buy{background:linear-gradient(135deg,var(--c2),var(--c3));color:#fff}
@media(min-width:900px){.dock{display:none}}

/* Band (banner consulta periódica) – agora teal */
.band{position:relative;overflow:hidden;padding:66px 0;color:#fff;background:linear-gradient(135deg,var(--c1),var(--c3));}

/* Split info */
.split{padding:90px 0;background:linear-gradient(180deg,#ffffff,rgba(0,0,0,0) 60%)}
.split .wrap{display:grid;gap:26px;max-width:var(--container);margin:0 auto;padding:0 22px}
@media(min-width:1050px){.split .wrap{grid-template-columns:1fr 1.1fr}}
.display{font-weight:1000;font-size:clamp(2rem,3.2vw + .6rem,3.2rem);line-height:1.04;color:var(--c2)}
.split .content{color:#0e2c36}
.split .content p{font-size:1.08rem;color:#35535d}
.split .actions{margin-top:16px;display:flex;gap:12px;flex-wrap:wrap}

/* Explain */
.explain{padding:70px 0;background:#f1f7f9}
.explain .wrap{max-width:var(--container);margin:0 auto;padding:0 22px}
.explain .grid{display:grid;gap:18px}
@media(min-width:1000px){.explain .grid{grid-template-columns:repeat(4,1fr)}}
.xcard{background:#fff;border:1px solid #e6edf1;border-radius:16px;padding:22px;box-shadow:var(--shadow1);transition:transform .18s var(--ease)}
.xcard:hover{transform:translateY(-3px)}
.xico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--c2),var(--c3));color:#fff;font-size:24px;margin-bottom:10px}
.xcard h3{font-weight:900;color:#12313a}
.xcard p{color:#5a7882}

/* Accessibility */
@media (prefers-reduced-motion: reduce){ .slide{animation:none;opacity:1} }

/* ===== MOBILE TUNING (<=900px) – definitive ===== */
@media (max-width: 900px){
  html{ scroll-padding-top:96px; }
  .header .row{ padding:12px 0; }
  .brand img{ height:34px; }
  .brand .name{ font-size:1rem; }

  .hero{ min-height:78vh; }
  .hero .inner{ padding:0 16px; }
  .hero h1{ font-size:clamp(1.8rem,6.2vw + .6rem,2.4rem); line-height:1.12; }
  .hero p.lead{ font-size:1rem; }
  .pill{ font-size:.85rem; padding:6px 12px; }

  .actions .btn{ width:100%; min-height:48px; border-radius:12px; }

  .hero-cards{ margin-top:16px; }
  .hero-cards .wrap{ grid-template-columns:1fr; }
  .hcard{ padding:16px; }

  section{ padding:60px 0; }
  .band{ padding:42px 0; }
  .band h2{ font-size:clamp(1.6rem,5.2vw + .6rem,2.2rem); }
  .display{ font-size:clamp(1.6rem,5.2vw + .6rem,2.1rem); }
  .split .wrap{ gap:14px; }
  .timeline{ gap:14px; }
  .posts{ grid-template-columns:1fr; }

  .hcard, .card, .step, .plan, .post{
    box-shadow: 0 8px 22px -12px rgba(0,0,0,.22);
  }

  .float-whats{ right:14px; bottom:calc(22px + env(safe-area-inset-bottom)); }
  .dock{ padding:8px 10px; padding-bottom:calc(8px + env(safe-area-inset-bottom)); }
  .dock .wrap{ gap:6px; }
  .dock a{ padding:12px 14px; }
}

/* Fullscreen mobile menu */
.header .mobile{
  position:fixed; inset:64px 0 0 0; height:calc(100vh - 64px);
  background:#fff; display:none; padding:10px 0; overflow:auto;
  -webkit-overflow-scrolling:touch;
  border-top:1px solid #e6edf1;
}
.header .mobile.open{ display:block; }
.header .mobile a{ font-size:1.05rem; padding:16px 22px; }

/* Larger tap target on hamburger */
.hamb{ padding:8px 6px; border-radius:8px; }
.hamb:active{ filter:brightness(.95); }


/* FIX: logo sempre à esquerda; menu/hambúrguer à direita */
.header .row{ justify-content: flex-start !important; }
.nav{ margin-left: auto !important; }
.hamb{ margin-left: auto !important; }

/* garante menu alinhado à direita no desktop */
@media (min-width:1080px){
  .nav{ display:flex; justify-content:flex-end; }
}

/* logo branco ao rolar */

/* Logo branca quando o header está transparente (sem scroll) */
.header:not(.scrolled) .custom-logo{
  filter: brightness(0) invert(1) saturate(0) contrast(1.05);
  transition: filter .2s ease;
}
/* (opcional) melhora legibilidade sobre degradê */
.header:not(.scrolled) .brand img{ mix-blend-mode: normal; }

/* REFINANDO O BUSCAR DO BLOG */

/* BLOG HERO – degradê consistente com a paleta e overlay suave */
.blog-hero{
  padding: 100px 0 64px;
  background: linear-gradient(135deg,#004a5c 0%, #01657f 55%, #099cc5 100%) !important;
  position: relative;
}
.blog-hero::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(900px 420px at 12% 22%, rgba(255,255,255,.12), transparent 60%),
    radial-gradient(900px 420px at 85% 80%, rgba(0,0,0,.15), transparent 60%);
}
.blog-hero .title{ text-shadow:0 12px 30px rgba(0,0,0,.25); }

/* Busca com glass/blur e melhor contraste */
.blog-search form{
  display:flex; gap:8px; padding:8px;
  background: rgba(255,255,255,.12);
  border:1.5px solid rgba(255,255,255,.35);
  border-radius:14px; backdrop-filter: blur(8px);
  box-shadow: 0 12px 32px -14px rgba(0,0,0,.35);
  max-width: 820px; margin: 0 auto;
}
.blog-search input[type="search"]{
  background: transparent; border:0; color:#fff;
  padding:12px 14px; border-radius:10px; outline:none;
}
.blog-search input::placeholder{ color:rgba(255,255,255,.9); }
.blog-search button{
  background:#fff; color:#0b2a33; font-weight:900;
  border:0; border-radius:10px; padding:12px 16px; cursor:pointer;
}

/* Chips de categoria com melhor legibilidade */
.catbar a{
  border:1px solid rgba(255,255,255,.5);
  background: rgba(255,255,255,.10);
  color:#fff; box-shadow: 0 10px 24px -12px rgba(0,0,0,.3);
}
.catbar a:hover{ filter: brightness(1.06); }

/* 1) Botão "Consultar" do banner SENATRAN (seção #consulta-periodica) */
#consulta-periodica .btn,
#consulta-periodica .btn.ghost,
#consulta-periodica .btn.outline-white,
#consulta-periodica .btn-outline {
  border: 2px solid #fff !important;
  color: #fff !important;
  background: transparent !important;
  box-shadow: 0 12px 28px -12px rgba(0,0,0,.35);
}
#consulta-periodica .btn:hover,
#consulta-periodica .btn.ghost:hover,
#consulta-periodica .btn.outline-white:hover,
#consulta-periodica .btn-outline:hover {
  background: rgba(255,255,255,.14) !important;
}

/* 2) Botão "Compre online" da CTA final (seção "Agende agora") */
section[aria-label="Agende agora"] .btn.ghost {
  border: 2px solid #fff !important;
  color: #fff !important;
  background: transparent !important;
  box-shadow: 0 12px 28px -12px rgba(0,0,0,.35);
}
section[aria-label="Agende agora"] .btn.ghost:hover {
  background: rgba(255,255,255,.14) !important;
}


/* iOS: some o fundo branco do botão do menu mobile (sem alterar layout) */
#menuBtn,
.hamb {
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  outline: none;
}

/* Barras do ícone: branco no topo, cor escura após scroll */
.header:not(.scrolled) #menuBtn span,
.header:not(.scrolled) .hamb span { background:#fff; }
.header.scrolled #menuBtn span,
.header.scrolled .hamb span        { background:#123c47; }


/* Botões Woo na paleta */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit{
  background:linear-gradient(135deg,#01657f,#099cc5); color:#fff; border:0; border-radius:12px; padding:12px 16px; font-weight:900;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover{ filter:brightness(1.05) }

/* Campos */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  border:1px solid #dfe9ee; border-radius:10px; background:#f8fcfd; padding:.75rem .9rem;
}
.woocommerce-error, .woocommerce-info, .woocommerce-message{ border-radius:12px; border-left:6px solid #01657f; }

/* Totais / tabela mais limpa */
.woocommerce table.shop_table{ border-radius:12px; overflow:hidden; }
.woocommerce .checkout .col-1, .woocommerce .checkout .col-2{ width:100%; }


/* Header sólido quando não há HERO (loja, carrinho, checkout, blog, páginas internas) */
.no-hero .header{
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(10px);
  box-shadow: 0 6px 24px -18px rgba(0,0,0,.30);
}
.no-hero .brand .name,
.no-hero .nav a{ color:#123c47; }
.no-hero .hamb span{ background:#123c47; }

/* Loja: empurra o título "Compre online" para baixo do header fixo */
body.post-type-archive-product .woocommerce-products-header,
body.post-type-archive-product .section:first-of-type{
  padding-top: calc(86px + 16px); /* 86px ≈ altura do header + folga */
}

@media (max-width: 980px){
  body.post-type-archive-product .woocommerce-products-header,
  body.post-type-archive-product .section:first-of-type{
    padding-top: calc(72px + 10px); /* um pouco menor no mobile */
  }
}

/* ==========================================================================
   WOO — Cart (corrige título, preço duplicado, tipografia e CTA)
   ========================================================================== */

/* Título da página do carrinho */
.woocommerce-cart h1,
.woocommerce-cart .entry-title{
  font-size: 2.25rem;
  line-height: 1.15;
  font-weight: 1000;
  color: #0e2c36;
  margin-bottom: 18px;
}

/* Cabeçalhos da tabela */
.woocommerce-cart table.shop_table th{
  color:#5a7882;
  text-transform: uppercase;
  letter-spacing:.02em;
  font-weight:800;
}

/* Nome do produto em destaque */
.woocommerce-cart td.product-name a{
  font-size: 1.35rem;
  font-weight: 900;
  color:#0e2c36;
}

/* Remove descrição/trecho embaixo do nome (evita texto incorreto) */
.woocommerce-cart td.product-name p{
  display:none;
}

/* Remove PREÇO duplicado dentro da célula do nome (mantém subtotal à direita) */
.woocommerce-cart td.product-name .woocommerce-Price-amount{
  display:none;
}

/* Subtotal do item (coluna TOTAL da linha) com destaque equilibrado */
.woocommerce-cart td.product-subtotal .woocommerce-Price-amount{
  font-size: 1.25rem;
  font-weight: 900;
  color:#01657f;
}

/* Botão “Continuar para finalização” com cara de botão */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  background: linear-gradient(135deg,#01657f,#099cc5) !important;
  color:#fff !important;
  border:0;
  border-radius:12px;
  padding:14px 18px;
  font-weight:900;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 30px -12px rgba(1,101,127,.35);
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{
  filter:brightness(1.05);
  transform:translateY(-1px);
}

/* Mini-acabamentos */
.woocommerce .shop_table .product-thumbnail img{
  width:64px; height:auto; border-radius:10px;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td{
  font-size: 15px;
  vertical-align: middle;
}

/* ==== ONDE ESTAMOS — Multiunidades (grid & cards) ==== */
.branches-grid { align-items: start; }

.branch-list {
  list-style: none;
  display: grid;
  gap: 10px;
  max-height: 380px;       /* mesma altura do mapa */
  overflow: auto;          /* scroll se passar do tamanho */
  padding-right: 6px;
}

.bcard {
  border: 1px solid #e6edf1;
  border-radius: 14px;
  padding: 12px;
  box-shadow: var(--shadow1);
  transition: transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s var(--ease);
  background: #fff;
}
.bcard:hover { transform: translateY(-2px); box-shadow: var(--shadow2); }
.bcard.active { border-color: var(--c2); box-shadow: var(--shadow2); }

.bhead { display: grid; grid-template-columns: 28px 1fr; gap: 10px; align-items: start; }
.bpin { width: 28px; height: 28px; border-radius: 8px; display:grid; place-items:center;
  background: linear-gradient(135deg,var(--c2),var(--c3)); color:#fff; font-size:16px; }
.bname { font-weight: 900; color: #12313a; display: block; line-height: 1.1; }
.baddr { font-size: .9rem; }

.branches-sep { border: 0; height: 1px; background: #e9f1f4; margin: 14px 0; }

/* Mobile */
@media (max-width: 999px) {
  .branch-list { max-height: unset; }
}

