/*
Theme Name: Quarella Agro
Theme URI: https://example.com/
Author: S7ven Design
Author URI: https://example.com/
Description: Tema institucional leve e moderno para a Quarella Agro, focado em apresentar tecnologias.
Version: 1.0.43
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: quarella-agro
Tags: custom-logo, one-column, custom-menu, featured-images, block-styles
*/

:root{
  --qa-green: #1d401e; /* verde marca */
  --qa-orange:#f25c27; /* laranja marca */
  --qa-ink:   #0f172a;
  --qa-muted: #475569;
  --qa-bg:    #ffffff;
  --qa-surface:#f8fafc;
  --qa-border: #e2e8f0;
  --qa-radius: 18px;
  --qa-shadow: 0 10px 30px rgba(2,6,23,.10);
}

/* Reset leve */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial;line-height:1.6;color:var(--qa-ink);background:var(--qa-bg)}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}

.container{width:min(1120px, calc(100% - 40px));margin-inline:auto}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--qa-border)}
.header-inner{display:flex;gap:18px;align-items:center;justify-content:flex-start;padding:14px 0}
.brand{display:flex;align-items:center;gap:12px;min-width:210px}
.brand .site-title{font-weight:800;letter-spacing:-.02em}
.brand .site-title span{color:var(--qa-orange)}
.brand .tagline{font-size:.80rem;color:var(--qa-muted);margin-top:-4px}
.brand .custom-logo{display:block;max-height:44px;width:auto;height:auto}
.brand .custom-logo-link{display:inline-flex;align-items:center}


.nav-toggle{display:none}
.primary-nav{margin-left:auto;position:relative}
.primary-nav ul{list-style:none;display:flex;gap:18px;padding:0;margin:0;align-items:center}
.primary-nav a{display:inline-block;padding:10px 12px;border-radius:999px}
.primary-nav a:hover{background:var(--qa-surface)}

.header-cta{display:flex;gap:10px;align-items:center;margin-left:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 16px;border-radius:999px;border:1px solid var(--qa-border);background:var(--qa-bg);box-shadow:none;font-weight:650}
.btn:hover{background:var(--qa-surface);text-decoration:none}
.btn.primary{background:var(--qa-green);border-color:var(--qa-green);color:#fff}
.btn.primary:hover{filter:brightness(.96)}
.btn.accent{background:var(--qa-orange);border-color:var(--qa-orange);color:#fff}


.nav-toggle{display:none;align-items:center;gap:10px;padding:10px 12px;border-radius:999px;border:1px solid var(--qa-border);background:var(--qa-bg);font-weight:650}
.nav-toggle:hover{background:var(--qa-surface)}
.nav-toggle-icon{width:18px;height:12px;display:inline-block;position:relative}
.nav-toggle-icon::before,.nav-toggle-icon::after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--qa-text);border-radius:2px}
.nav-toggle-icon::before{top:0;box-shadow:0 5px 0 0 var(--qa-text),0 10px 0 0 var(--qa-text)}
.nav-toggle-icon::after{display:none}

/* Hero */
.hero{padding:56px 0 26px;background:
  radial-gradient(1200px 600px at 10% 10%, rgba(29,64,30,.12), transparent 60%),
  radial-gradient(1200px 600px at 90% 0%, rgba(242,92,39,.12), transparent 55%);
}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center}
.hero-grid--single{grid-template-columns:1fr}
.kicker{display:inline-flex;gap:10px;align-items:center;color:var(--qa-green);font-weight:700;background:rgba(29,64,30,.08);border:1px solid rgba(29,64,30,.18);padding:8px 12px;border-radius:999px}
.h1{font-size:clamp(2rem, 4vw, 3.2rem);line-height:1.1;letter-spacing:-.03em;margin:14px 0}
.lead{color:var(--qa-muted);font-size:1.05rem;margin:0 0 18px}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}

.hero-card{background:var(--qa-bg);border:1px solid var(--qa-border);border-radius:var(--qa-radius);box-shadow:var(--qa-shadow);padding:18px}
.mini-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:10px}
.metric{border:1px dashed var(--qa-border);border-radius:14px;padding:12px}
.metric b{display:block;font-size:1.2rem}
.metric span{color:var(--qa-muted);font-size:.86rem}

/* Sections */
.section{padding:46px 0}
.section.alt{background:var(--qa-surface);border-top:1px solid var(--qa-border);border-bottom:1px solid var(--qa-border)}

/* Imagem destaque fixa (largura total) */
.fixed-highlight{
  width:100%;
  min-height:var(--qa-fixed-height, 360px);
  background-image:
    var(--qa-fixed-bg),
    radial-gradient(1200px 500px at 30% 20%, rgba(29,64,30,.20), rgba(0,0,0,0) 60%),
    radial-gradient(900px 420px at 80% 35%, rgba(242,92,39,.18), rgba(0,0,0,0) 55%),
    linear-gradient(180deg, rgba(2,6,23,.55), rgba(2,6,23,.25));
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-attachment:fixed;
  border-top:1px solid var(--qa-border);
  border-bottom:1px solid var(--qa-border);
}

/* iOS/Android tendem a ter problemas com background-attachment:fixed */
@media (max-width: 920px){
  .fixed-highlight{background-attachment:scroll}
}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.section h2{margin:0;font-size:1.7rem;letter-spacing:-.02em}
.section p.sub{margin:0;color:var(--qa-muted)}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.contact-grid{grid-template-columns:1.2fr .8fr}
.card{background:var(--qa-bg);border:1px solid var(--qa-border);border-radius:var(--qa-radius);box-shadow:0 8px 22px rgba(2,6,23,.06);padding:18px}
.card h3{margin:4px 0 8px}
.card p{margin:0;color:var(--qa-muted)}
.badge{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid var(--qa-border);background:var(--qa-surface);font-size:.82rem;color:var(--qa-muted)}
.badge.dot::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--qa-orange)}


.about-grid{align-items:stretch}
.about-card{display:flex;flex-direction:column;align-items:center;text-align:center}
.about-card-media{
  width:auto;
  max-width:100%;
  margin:0 auto 14px;
  border-radius:0;
  overflow:visible;
  background:none;
  border:none;
  aspect-ratio:auto;
  display:flex;
  justify-content:center;
  align-items:center;
  box-shadow:none;
}
.about-card-media img{
  width:auto;
  height:auto;
  max-width:100%;
  display:block;
  object-fit:contain;
  margin:0 auto;
  border:none;
  box-shadow:none;
}
.about-card-title{margin:0 0 10px;font-size:1.2rem;font-weight:700;color:var(--qa-orange);text-align:center}
.about-card .badge{display:none}
.about-card p{width:100%}

/* Tecnologias (CPT) */
.tech-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.tech-card{position:relative;min-width:0;height:100%}
.tech-link{display:flex;flex-direction:column;background:var(--qa-bg);border:1px solid var(--qa-border);border-radius:22px;overflow:hidden;box-shadow:0 10px 24px rgba(2,6,23,.06);height:100%;min-height:100%;text-decoration:none;color:inherit;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.tech-link:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(2,6,23,.10);border-color:rgba(29,64,30,.22);text-decoration:none}
.tech-thumb{position:relative;width:100%;aspect-ratio:16/9;min-height:172px;background:var(--qa-surface);overflow:hidden;border-bottom:1px solid var(--qa-border)}
.tech-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.tech-thumb--placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(29,64,30,.12),rgba(242,92,39,.12))}
.tech-placeholder-mark{font-size:3.2rem;font-weight:900;line-height:1;color:rgba(29,64,30,.22)}
.tech-body{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px}
.tech-body h3{margin:0 0 10px;font-size:1.22rem;line-height:1.22;letter-spacing:-.02em;color:var(--qa-ink)}
.tech-body p{margin:0;color:var(--qa-muted);font-size:.98rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tech-card .topline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.tech-card .pill{position:absolute;left:14px;top:14px;z-index:2;font-size:.78rem;font-weight:650;color:rgba(255,255,255,.96);background:var(--qa-green);border-radius:999px;padding:7px 12px;box-shadow:0 8px 18px rgba(2,6,23,.14)}
.tech-card .accent{display:none}
.qa-pagination{margin-top:22px}

/* Footer */
.site-footer{padding:36px 0;background:#0b1220;color:rgba(255,255,255,.88)}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:flex-start}
.footer-grid a{color:#fff}
.small{font-size:.88rem;color:rgba(255,255,255,.70)}

/* Mobile */
@media (max-width: 920px){
/* Header mobile: logo esquerda, CTAs centralizados abaixo */
  .header-inner{flex-direction:column;align-items:stretch;gap:10px;padding:12px 0}
  .brand{order:1;align-self:flex-start;min-width:0}
  .brand .custom-logo{max-height:38px}
  .header-cta{order:2;margin-left:0;justify-content:center;width:100%}
  .nav-toggle{order:3;align-self:center}
  .primary-nav{order:4;margin-left:0;width:100%}
  .primary-nav.open ul{position:static;right:auto;top:auto;width:100%;box-shadow:none}
  .primary-nav.open ul a{width:100%}

  .hero-grid{grid-template-columns:1fr}
  .grid,.tech-grid{grid-template-columns:1fr}
  .tech-thumb{min-height:190px}
  .tech-body{padding:18px 18px 20px}
  .primary-nav ul{display:none}
  .nav-toggle{display:inline-flex}
  .primary-nav.open ul{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid var(--qa-border);border-radius:16px;padding:10px;position:absolute;right:20px;top:64px;box-shadow:var(--qa-shadow)}
  .footer-grid{grid-template-columns:1fr}
}


/* Valores list */
.values-list{margin:.75rem 0 0;padding-left:1.1rem;line-height:1.55;font-size:.98rem;text-align:left;width:100%;}
.values-list li{margin:.25rem 0;}
.values-list b{color:var(--qa-orange);}


/* Slider */
.slider{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--qa-border);box-shadow:var(--qa-shadow);background:var(--qa-surface)}
.slider-track{display:flex;transition:transform .6s ease}
.slide{min-width:100%;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, rgba(29,64,30,.10), rgba(242,92,39,.10))}
.slide img{width:100%;height:100%;object-fit:cover;display:block}
.slider-dots{position:absolute;left:14px;bottom:14px;display:flex;gap:8px}
.slider-dots button{width:10px;height:10px;border-radius:999px;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.35);cursor:pointer;padding:0}
.slider-dots button[aria-current="true"]{background:#fff}


/* Banner de Destaques (full width, abaixo do header) */
.qa-banner{width:100%;margin:0 0 18px}
.qa-banner__inner{width:100%}
.qa-banner__slider{
  border-radius:0;
  border-left:0;
  border-right:0;
  box-shadow:none;
  --qa-slider-height-desktop: 560px;
  --qa-slider-height-tablet: 440px;
  --qa-slider-height-mobile: 320px;
  --qa-slider-height-current: var(--qa-slider-height-desktop);
  --qa-slider-position-x-desktop: center;
  --qa-slider-position-x-tablet: center;
  --qa-slider-position-x-mobile: center;
  --qa-slider-position-y-desktop: center;
  --qa-slider-position-y-tablet: center;
  --qa-slider-position-y-mobile: center;
  --qa-slider-position-x-current: var(--qa-slider-position-x-desktop);
  --qa-slider-position-y-current: var(--qa-slider-position-y-desktop);
  min-height:var(--qa-slider-height-current);
  height:var(--qa-slider-height-current);
}
.qa-banner__slider{
  min-height:max(var(--qa-slider-height-current), var(--qa-slider-fit-height, 0px));
  height:max(var(--qa-slider-height-current), var(--qa-slider-fit-height, 0px));
}
.qa-banner__slider .slider-track{
  height:100%;
}
.qa-banner__slide{
  flex:0 0 100%;
  min-width:100%;
  min-height:var(--qa-slider-height-current);
  height:100%;
  aspect-ratio:auto;
  overflow:hidden;
}
.qa-banner__slide picture{
  display:block;
  width:100%;
  height:100%;
}
.qa-banner__slide img{
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  display:block;
  object-fit:cover;
  object-position: var(--qa-slider-position-x-current) var(--qa-slider-position-y-current);
}
.qa-banner__overlay{position:absolute;inset:0;display:flex;align-items:flex-end;pointer-events:none}
.qa-banner__content{padding:22px 16px 24px}
.qa-banner__title{font-weight:900;font-size:clamp(1.25rem,2.6vw,2.1rem);letter-spacing:-.02em;color:#fff;text-shadow:0 10px 26px rgba(0,0,0,.35)}
.qa-banner__sub{margin-top:6px;max-width:720px;color:rgba(255,255,255,.92);font-size:clamp(.95rem,1.5vw,1.1rem);text-shadow:0 10px 26px rgba(0,0,0,.35)}
.qa-banner__btn{margin-top:12px;display:inline-flex;pointer-events:auto}
.qa-banner__slider::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.0) 30%, rgba(0,0,0,.55) 100%);z-index:1}
.qa-banner__overlay{z-index:2}
.qa-banner__dots{z-index:3;left:16px;bottom:16px}
.qa-banner__placeholder .qa-banner__placeholder-inner{padding:22px;text-align:left;max-width:640px}
@media (max-width: 1024px){
  .qa-banner__slider{
    --qa-slider-height-current: var(--qa-slider-height-tablet);
    --qa-slider-position-x-current: var(--qa-slider-position-x-tablet);
    --qa-slider-position-y-current: var(--qa-slider-position-y-tablet);
  }
}
@media (max-width: 768px){
  .qa-banner__slider{
    --qa-slider-height-current: var(--qa-slider-height-mobile);
    --qa-slider-position-x-current: var(--qa-slider-position-x-mobile);
    --qa-slider-position-y-current: var(--qa-slider-position-y-mobile);
  }
  .qa-banner__content{padding:18px 16px 22px}
}


/* Footer widgets */
.footer-widget{margin-top:12px}
.footer-widget-title{font-weight:700; margin-bottom:10px}
.footer-widget .small{line-height:1.5}


/* QA_TOPBAR_DEDUP (importado da v1.0.2.3) */
.qa-topbar{background:var(--qa-topbar-bg,#0f2f1e);color:var(--qa-topbar-text,#fff);border-bottom:1px solid rgba(255,255,255,.10);font-family:var(--qa-topbar-font,inherit);font-size:var(--qa-topbar-font-size,14px)}
.qa-topbar__inner{max-width:1200px;margin:0 auto;padding:8px 16px;display:flex;gap:12px;align-items:center}
.qa-topbar__greeting{font-weight:700;white-space:nowrap}
.qa-topbar__icons{display:flex;gap:8px;white-space:nowrap;opacity:.95}
.qa-topbar__ticker{flex:1;min-width:0}
.qa-topbar a{color:var(--qa-topbar-link,#ffd200);text-decoration:none}
.qa-topbar a:hover{color:var(--qa-topbar-link-hover,#ff9900)}
.qa-topbar__greeting{color:var(--qa-topbar-text,#fff)}
.qa-topbar__ticker{color:var(--qa-topbar-text,#fff)}

@media (max-width: 768px){
  .qa-topbar{
    font-size:12px;
  }
  .qa-topbar__inner{
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    padding:10px 14px;
  }
  .qa-topbar__greeting{
    white-space:normal;
    line-height:1.35;
    text-align:center;
  }
  .qa-topbar__ticker{
    width:100%;
  }
  .qa-ticker-marquee{
    width:100%;
  }
  .qa-ticker-marquee__track{
    gap:18px;
    animation-duration:45s;
  }
  .qa-ticker-marquee__group{
    gap:14px;
  }
  .qa-ticker-item{
    gap:6px;
  }
  .qa-ticker-item__title,
  .qa-ticker-item__val{
    font-size:.92em;
  }
  .qa-ticker-item__usd,
  .qa-ticker-marquee__meta{
    display:none;
  }
}

@media (max-width: 420px){
  .qa-topbar{
    font-size:11px;
  }
  .qa-topbar__inner{
    padding:9px 12px;
  }
  .qa-topbar__greeting{
    font-size:1em;
  }
  .qa-ticker-marquee__track{
    gap:14px;
  }
  .qa-ticker-marquee__group{
    gap:12px;
  }
}


/* Native contact form */
.qa-form{display:grid;gap:12px;margin-top:8px}
.qa-field{display:grid;gap:6px}
.qa-field label{font-weight:600}
.qa-field input,.qa-field textarea{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid var(--qa-border);
  background:var(--qa-surface);
  color:var(--qa-text);
  outline:none;
}
.qa-field input:focus,.qa-field textarea:focus{border-color:rgba(245,158,11,.65);box-shadow:0 0 0 4px rgba(245,158,11,.15)}
.qa-alert{padding:12px 14px;border-radius:14px;margin:0 0 10px 0;border:1px solid var(--qa-border);background:var(--qa-surface)}
.qa-alert-success{border-color:rgba(34,197,94,.35)}
.qa-alert-error{border-color:rgba(239,68,68,.35)}

/* WPForms Lite contact form */
.card .wpforms-container{margin:0}
.card div.wpforms-container-full{margin:0}
.card div.wpforms-container-full .wpforms-field{padding:0 0 12px 0}
.card div.wpforms-container-full .wpforms-field-label{font-weight:600;color:var(--qa-ink)}
.card div.wpforms-container-full input[type=date],
.card div.wpforms-container-full input[type=datetime],
.card div.wpforms-container-full input[type=datetime-local],
.card div.wpforms-container-full input[type=email],
.card div.wpforms-container-full input[type=month],
.card div.wpforms-container-full input[type=number],
.card div.wpforms-container-full input[type=password],
.card div.wpforms-container-full input[type=range],
.card div.wpforms-container-full input[type=search],
.card div.wpforms-container-full input[type=tel],
.card div.wpforms-container-full input[type=text],
.card div.wpforms-container-full input[type=time],
.card div.wpforms-container-full input[type=url],
.card div.wpforms-container-full input[type=week],
.card div.wpforms-container-full select,
.card div.wpforms-container-full textarea{
  width:100%;
  max-width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid var(--qa-border);
  background:var(--qa-surface);
  color:var(--qa-text);
  outline:none;
  box-shadow:none;
}
.card div.wpforms-container-full input:focus,
.card div.wpforms-container-full select:focus,
.card div.wpforms-container-full textarea:focus{
  border-color:rgba(245,158,11,.65);
  box-shadow:0 0 0 4px rgba(245,158,11,.15);
}
.card div.wpforms-container-full button[type=submit],
.card div.wpforms-container-full .wpforms-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:11px 16px;
  border-radius:999px;
  border:1px solid var(--qa-green);
  background:var(--qa-green);
  color:#fff;
  font-weight:650;
  cursor:pointer;
}
.card div.wpforms-container-full button[type=submit]:hover,
.card div.wpforms-container-full .wpforms-submit:hover{filter:brightness(.96)}


/* Clientes - carrossel contínuo de logos */
.qa-clientes .section-head{margin-bottom:14px}
.qa-clientes .sub{margin-top:6px;color:var(--qa-muted);font-size:14px}

.qa-marquee{
  position:relative;
  overflow:hidden;
  border-radius: var(--qa-radius);
  background: rgba(0,0,0,.02);
  border:1px solid var(--qa-border);
  padding: 14px 0;
}

.qa-marquee__track{
  display:flex;
  align-items:center;
  gap:18px;
  width:max-content;
  animation: qa_marquee 26s linear infinite;
  will-change: transform;
}
.qa-marquee:hover .qa-marquee__track{ animation-play-state: paused; }

.qa-marquee__item{
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 10px 16px;
  border-radius: 14px;
  background: rgba(255,255,255,.6);
  min-width: 150px;
}

.qa-marquee__item img{
  max-height: 56px;
  width:auto;
  max-width: 180px;
  display:block;
  filter: grayscale(100%);
  opacity: .86;
  transition: all .2s ease;
}

.qa-marquee__item:hover img{
  filter:none;
  opacity:1;
  transform: translateY(-1px);
}

@keyframes qa_marquee{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

@media (max-width: 560px){
  .qa-marquee__item{ min-width: 130px; padding: 10px 12px; }
  .qa-marquee__item img{ max-height: 44px; max-width: 150px; }
}

/* Ajuste marquee: trilhas lado a lado */
.qa-marquee{ display:flex; }
.qa-marquee__inner{
  display:flex;
  gap:18px;
  width:max-content;
  animation: qa_marquee 26s linear infinite;
  will-change: transform;
}
.qa-marquee:hover .qa-marquee__inner{ animation-play-state: paused; }
.qa-marquee__track{ animation: none; }
.qa-marquee__track{ display:flex; align-items:center; gap:18px; width:max-content; }
@keyframes qa_marquee{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}


/* =========================================================
   Slider de Clientes (configurável) - qa_clients
========================================================= */
.qa-slider{
  position: relative;
  border-radius: var(--qa-radius);
  background: rgba(0,0,0,.02);
  border: 1px solid var(--qa-border);
  padding: 14px 48px;
  --qa-client-logo-max: 96px;
  --qa-client-gap: 22px;
}

@media (max-width: 768px){
  .qa-slider{ padding: 14px 42px; }
}
@media (max-width: 520px){
  .qa-slider{ padding: 12px 38px; }
}

.qa-slider__viewport{
  overflow: hidden;
}

.qa-slider__track{
  display: flex;
  align-items: center;
  gap: var(--qa-client-gap);
  will-change: transform;
  transform: translate3d(0,0,0);
}

.qa-slider__item{
  flex: 0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.6);
  border: 1px solid rgba(0,0,0,.04);
}

.qa-slider__item img{
  max-height: var(--qa-client-logo-max);
  width: auto;
  max-width: 260px;
  display: block;
  opacity: .92;
  transition: all .18s ease;
}

.qa-slider.is-grayscale .qa-slider__item img{
  filter: grayscale(100%);
  opacity: .86;
}

.qa-slider__item:hover img{
  transform: translateY(-1px);
  opacity: 1;
  filter: none;
}

.qa-slider__nav{
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid var(--qa-border);
  background: rgba(255,255,255,.9);
  color: inherit;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow: 0 8px 18px rgba(0,0,0,.06);
}
.qa-slider__nav:hover{ background: #fff; }
.qa-slider__nav:focus{ outline: 2px solid rgba(0,0,0,.25); outline-offset: 2px; }

.qa-slider__prev{ left: 10px; }
.qa-slider__next{ right: 10px; }

.qa-slider__nav[disabled]{
  opacity: .35;
  cursor: not-allowed;
}

.qa-slider__nav span{
  font-size: 26px;
  line-height: 1;
  margin-top: -1px;
}

.qa-slider__dots{
  display:flex;
  gap: 8px;
  justify-content:center;
  margin-top: 12px;
}

.qa-slider__dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.25);
  background: transparent;
  opacity: .7;
}
.qa-slider__dot.is-active{
  background: rgba(0,0,0,.45);
  opacity: 1;
}


/* Depoimentos (carrossel acima do rodapé) */
.qa-testimonials{
  background: #fff;
}
.qa-testimonials .qa-slider{
  background: #fff;
  border: 1px solid var(--qa-border);
  padding: 18px 54px;
  --qa-test-gap: 20px;
}
@media (max-width: 768px){
  .qa-testimonials .qa-slider{ padding: 14px 44px; }
}
@media (max-width: 520px){
  .qa-testimonials .qa-slider{ padding: 12px 40px; }
}
.qa-testimonials .qa-slider__track{
  gap: var(--qa-test-gap);
  align-items: stretch;
}

.qa-testimonials__card{
  flex: 0 0 auto;
  height: 100%;
  min-height: 192px;
  padding: 22px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.88));
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 12px 28px rgba(15,23,42,.06);
  display: grid;
  grid-template-columns: 122px minmax(0,1fr);
  align-items: flex-start;
  gap: 18px;
}
.qa-testimonials__avatar{
  width: 122px;
  height: 122px;
  border-radius: 999px;
  overflow: hidden;
  flex: 0 0 122px;
  background:
    radial-gradient(circle at 35% 30%, rgba(242,92,39,.18), transparent 42%),
    rgba(29,64,30,.08);
  border: 4px solid #fff;
  outline: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 14px 32px rgba(15,23,42,.16);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.2rem;
  font-weight: 900;
  color: var(--qa-green);
  letter-spacing: -.04em;
}
.qa-testimonials__avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.qa-testimonials__content{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.qa-testimonials__name{
  color: var(--qa-ink);
  font-size: 1.08rem;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: -.02em;
  margin-top: 2px;
}
.qa-testimonials__meta{
  color: var(--qa-muted);
  font-size: .94rem;
  line-height: 1.35;
  margin-top: 4px;
}
.qa-testimonials__stars{
  font-size: 15px;
  letter-spacing: 2px;
  color: var(--qa-orange);
  line-height: 1;
  margin-top: 10px;
}
.qa-testimonials__text{
  margin: 10px 0 0;
  color: var(--qa-text);
  font-size: .98rem;
  line-height: 1.55;
}

/* Compatibilidade com o markup antigo, caso exista cache */
.qa-testimonials__who{
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid rgba(0,0,0,.06);
  display: flex;
  align-items: center;
  gap: 12px;
}
.qa-testimonials__who-info{min-width:0;}

@media (max-width: 680px){
  .qa-testimonials__card{
    grid-template-columns: 84px minmax(0,1fr);
    min-height: 0;
    padding: 18px;
    gap: 14px;
  }
  .qa-testimonials__avatar{
    width: 84px;
    height: 84px;
    flex-basis: 84px;
    font-size: 1.55rem;
    border-width: 3px;
  }
  .qa-testimonials__name{ font-size: 1rem; }
  .qa-testimonials__meta{ font-size: .88rem; }
  .qa-testimonials__text{ font-size: .94rem; }
}
@media (max-width: 420px){
  .qa-testimonials__card{
    grid-template-columns: 72px minmax(0,1fr);
    padding: 16px;
    gap: 12px;
  }
  .qa-testimonials__avatar{
    width: 72px;
    height: 72px;
    flex-basis: 72px;
    font-size: 1.35rem;
  }
}

/* Ajustes de dots e setas apenas nos depoimentos */
.qa-testimonials .qa-slider__dot.is-active{ background: var(--qa-orange); border-color: rgba(0,0,0,0); opacity: 1; }
.qa-testimonials .qa-slider__dot{ cursor: pointer; }


/* QA Topbar BRL ticker (custom marquee) */
.qa-ticker-marquee{position:relative;overflow:hidden;white-space:nowrap}
.qa-ticker-marquee__track{display:flex;align-items:center;gap:24px;will-change:transform;animation:qaMarquee 35s linear infinite}
.qa-ticker-marquee__group{display:flex;align-items:center;gap:18px}
.qa-ticker-item{display:inline-flex;align-items:baseline;gap:8px;padding:0 2px}
.qa-ticker-item__title{font-weight:700}
.qa-ticker-item__val{font-weight:700}
.qa-ticker-item__usd{opacity:.85;font-size:.9em}
.qa-ticker-marquee__meta{margin-left:10px;opacity:.85;font-size:.85em;white-space:nowrap}

@keyframes qaMarquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

@media (max-width:768px){
  .qa-ticker-marquee__track{animation-duration:45s}
  .qa-ticker-item__usd{display:none}
  .qa-ticker-marquee__meta{display:none}
}



/* =========================================================
   Marcas de tecnologias - loop contínuo sem saltos
========================================================= */
.qa-clientes .section-head{margin-bottom:14px}
.qa-clientes .sub{margin-top:6px;color:var(--qa-muted);font-size:14px}

.qa-brand-marquee{
  position:relative;
  overflow:hidden;
  border-radius:var(--qa-radius);
  background:rgba(0,0,0,.02);
  border:1px solid var(--qa-border);
  padding:14px 0;
  --qa-client-logo-max:96px;
  --qa-client-gap:22px;
  --qa-brand-duration:26s;
}

.qa-brand-marquee__viewport{
  overflow:hidden;
  width:100%;
}

.qa-brand-marquee__inner{
  display:flex;
  align-items:center;
  width:max-content;
  gap:var(--qa-client-gap);
  will-change:transform;
  animation:qaBrandMarquee var(--qa-brand-duration) linear infinite;
}

.qa-brand-marquee.is-static .qa-brand-marquee__inner{animation:none}
.qa-brand-marquee.is-pause-hover:hover .qa-brand-marquee__inner{animation-play-state:paused}

.qa-brand-marquee__group{
  display:flex;
  align-items:center;
  gap:var(--qa-client-gap);
  flex:0 0 auto;
}

.qa-brand-marquee__item{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border-radius:14px;
  background:rgba(255,255,255,.6);
  border:1px solid rgba(0,0,0,.04);
  min-width:150px;
}

.qa-brand-marquee__item img{
  max-height:var(--qa-client-logo-max);
  width:auto;
  max-width:220px;
  display:block;
  opacity:.92;
  transition:all .18s ease;
}

.qa-brand-marquee.is-grayscale .qa-brand-marquee__item img{
  filter:grayscale(100%);
  opacity:.86;
}

.qa-brand-marquee__item:hover img{
  transform:translateY(-1px);
  opacity:1;
  filter:none;
}

@keyframes qaBrandMarquee{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(calc(-50% - (var(--qa-client-gap) / 2)),0,0)}
}

@media (max-width:560px){
  .qa-brand-marquee__item{min-width:130px;padding:10px 12px}
  .qa-brand-marquee__item img{max-height:44px;max-width:150px}
}




/* Logo Carousel abaixo do banner principal da Home */
.qa-logo-carousel{
  padding-top:34px;
  padding-bottom:34px;
}
.qa-logo-carousel__head{margin-bottom:14px}
.qa-logo-carousel__head .sub{margin-top:6px;color:var(--qa-muted);font-size:14px}
.qa-logo-carousel__frame{
  border:1px solid var(--qa-border);
  border-radius:var(--qa-radius);
  background:rgba(255,255,255,.72);
  padding:18px 20px;
  box-shadow:0 12px 30px rgba(2,6,23,.06);
  overflow:hidden;
}
.qa-logo-carousel__frame .logo-carousel-free-area,
.qa-logo-carousel__frame .sp-logo-carousel-section,
.qa-logo-carousel__frame .swiper,
.qa-logo-carousel__frame .slick-slider{
  margin-bottom:0 !important;
}
.qa-logo-carousel__frame img{
  max-height:96px;
  width:auto;
  object-fit:contain;
}

@media (max-width:560px){
  .qa-logo-carousel{padding-top:26px;padding-bottom:26px}
  .qa-logo-carousel__frame{padding:14px 12px}
  .qa-logo-carousel__frame img{max-height:62px}
}

.qa-whatsapp-float{position:fixed;right:18px;bottom:18px;z-index:99;display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:999px;background:#25D366;color:#fff;text-decoration:none;font-weight:800;box-shadow:0 18px 40px rgba(37,211,102,.32)}
.qa-whatsapp-float__icon{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:rgba(255,255,255,.18);font-size:1rem}
@media (max-width: 640px){
  .qa-whatsapp-float{right:12px;bottom:12px;padding:11px 14px}
  .qa-whatsapp-float__text{display:none}
}


/* QA: seta sutil para voltar ao topo */
.qa-back-to-top{
  position:fixed;
  right:18px;
  bottom:82px;
  z-index:98;
  width:40px;
  height:40px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  background:rgba(15,23,42,.58);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:18px;
  line-height:1;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(8px);
  box-shadow:0 12px 26px rgba(15,23,42,.16);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:opacity .24s ease, visibility .24s ease, transform .24s ease, background .24s ease;
}
.qa-back-to-top.is-visible{
  opacity:.62;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
.qa-back-to-top:hover,
.qa-back-to-top:focus-visible{
  opacity:.94;
  background:rgba(29,64,30,.88);
  outline:none;
}
.qa-back-to-top span{display:block;transform:translateY(-1px)}
@media (max-width:640px){
  .qa-back-to-top{
    right:12px;
    bottom:68px;
    width:36px;
    height:36px;
    font-size:16px;
  }
}

/* Social icons */
.brand{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.qa-social-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.qa-social-links.is-header{margin-left:2px}
.qa-social-links.is-footer{margin:14px 0 10px}
.qa-social-link{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid var(--qa-border);background:rgba(255,255,255,.72);color:var(--qa-green);transition:transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease}
.qa-social-link:hover{transform:translateY(-1px);background:var(--qa-surface);border-color:rgba(29,64,30,.24);color:var(--qa-orange);text-decoration:none}
.qa-social-link__icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px}
.qa-social-link__icon svg{width:16px;height:16px;display:block}
.site-footer .qa-social-link{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#fff}
.site-footer .qa-social-link:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);color:#fff}

@media (max-width: 920px){
  .brand{align-self:stretch;width:100%;justify-content:space-between;gap:12px;flex-wrap:nowrap}
  .brand .custom-logo-link{flex:1 1 auto;min-width:0}
  .brand .custom-logo{max-width:calc(100vw - 132px);height:auto}
  .qa-social-links.is-header{width:auto;margin-left:auto;margin-top:0;flex:0 0 auto;flex-wrap:nowrap}
}


/* Instagram carousel */
.qa-instagram{position:relative;overflow:hidden}
.qa-instagram__head{align-items:end;gap:18px}
.qa-instagram__frame{margin-top:18px;border:1px solid rgba(15,23,42,.08);border-radius:24px;background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%);box-shadow:0 22px 55px rgba(15,23,42,.08);padding:22px}
.qa-instagram__feed{width:100%}
.qa-instagram__feed .sb_instagram_header,
.qa-instagram__feed #sbi_load,
.qa-instagram__feed .sbi_follow_btn{display:none !important}
.qa-instagram__feed #sb_instagram,
.qa-instagram__feed .sbi{padding-bottom:0 !important}
.qa-instagram__feed #sbi_images{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px !important}
.qa-instagram__feed .sbi_item{float:none !important;width:auto !important;padding:0 !important}
.qa-instagram__feed .sbi_photo_wrap,
.qa-instagram__feed .sbi_photo{border-radius:18px !important;overflow:hidden !important;display:block !important}
.qa-instagram__feed .sbi_photo{aspect-ratio:1 / 1;box-shadow:0 16px 34px rgba(15,23,42,.12);transition:transform .25s ease, box-shadow .25s ease}
.qa-instagram__feed .sbi_item:hover .sbi_photo{transform:translateY(-4px);box-shadow:0 20px 38px rgba(15,23,42,.16)}
.qa-instagram__fallback-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.qa-instagram__fallback-card{min-height:180px;padding:18px;border-radius:18px;border:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#fff 0%,#f4f7fb 100%);display:flex;flex-direction:column;justify-content:space-between;gap:10px;color:var(--qa-text);text-decoration:none;box-shadow:0 14px 28px rgba(15,23,42,.06);transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease}
.qa-instagram__fallback-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(15,23,42,.1);border-color:rgba(243,115,33,.28);color:var(--qa-text)}
.qa-instagram__fallback-badge{display:inline-flex;align-items:center;width:max-content;padding:6px 10px;border-radius:999px;background:rgba(243,115,33,.12);color:var(--qa-orange);font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.qa-instagram__fallback-card strong{font-size:1.02rem}
.qa-instagram__fallback-card span:last-child{font-size:.95rem;color:var(--qa-muted);line-height:1.55}
.qa-instagram__note{margin:18px 4px 0;color:var(--qa-muted);font-size:.95rem;line-height:1.6}
@media (max-width: 1024px){
  .qa-instagram__feed #sbi_images{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .qa-instagram__fallback-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 640px){
  .qa-instagram__frame{padding:16px;border-radius:20px}
  .qa-instagram__feed #sbi_images{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important}
  .qa-instagram__fallback-grid{grid-template-columns:1fr;gap:12px}
  .qa-instagram__fallback-card{min-height:156px}
}

/* QA: Gutenberg Columns - 2 colunas por linha no mobile
   Mantém blocos de colunas em grade 2x no celular, evitando empilhar 1 por linha. */
@media (max-width: 781px){
  body .wp-block-columns:not(.is-not-stacked-on-mobile){
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    gap:18px 16px !important;
  }

  body .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column,
  body .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column[style*="flex-basis"]{
    flex:0 0 calc(50% - 8px) !important;
    flex-basis:calc(50% - 8px) !important;
    max-width:calc(50% - 8px) !important;
    min-width:0 !important;
    margin-left:0 !important;
  }

  body .wp-block-columns:not(.is-not-stacked-on-mobile) .wp-block-image{
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }

  body .wp-block-columns:not(.is-not-stacked-on-mobile) .wp-block-image img{
    max-width:100% !important;
    height:auto !important;
  }
}

@media (max-width: 360px){
  body .wp-block-columns:not(.is-not-stacked-on-mobile){
    gap:16px 12px !important;
  }

  body .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column,
  body .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column[style*="flex-basis"]{
    flex-basis:calc(50% - 6px) !important;
    max-width:calc(50% - 6px) !important;
  }
}


/* QA: Blog/Post - remove título fixo “Blog” e exibe conteúdo completo */
.qa-blog-page{padding-top:56px;padding-bottom:76px}
.qa-post-card{margin-bottom:18px;padding:22px}
.qa-post-card--single{padding:28px}
.qa-post-title{margin:0 0 14px;font-size:clamp(1.9rem, 3vw, 2.6rem);line-height:1.15;letter-spacing:-.03em;color:var(--qa-ink)}
.qa-post-title--list{font-size:clamp(1.55rem, 2.4vw, 2rem);margin-bottom:12px}
.qa-post-content{color:var(--qa-muted);font-size:1.02rem;line-height:1.75}
.qa-post-content > *:first-child{margin-top:0}
.qa-post-content > *:last-child{margin-bottom:0}
.qa-post-content a{color:var(--qa-green);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.qa-post-content h1,.qa-post-content h2,.qa-post-content h3,.qa-post-content h4{color:var(--qa-ink);line-height:1.2;margin:1.4em 0 .55em}
.qa-post-content ul,.qa-post-content ol{padding-left:1.35rem}
.qa-post-content figure{margin:24px 0}
.qa-post-pagination{margin-top:26px}
.qa-post-pagination .nav-links{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.qa-post-pagination a,.qa-post-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:8px 12px;border-radius:999px;border:1px solid var(--qa-border);font-weight:700;text-decoration:none}
.qa-post-pagination .current{background:var(--qa-green);border-color:var(--qa-green);color:#fff}

@media (max-width:640px){
  .qa-blog-page{padding-top:34px;padding-bottom:54px}
  .qa-post-card,.qa-post-card--single{padding:18px;border-radius:16px}
  .qa-post-content{font-size:1rem;line-height:1.68}
}

/* Single Tecnologia - botão para voltar para a lista completa */
.qa-single-tech__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.qa-single-tech__all{
  flex:0 0 auto;
  margin-top:3px;
  white-space:nowrap;
}

@media (max-width: 700px){
  .qa-single-tech__head{
    flex-direction:column;
    gap:10px;
  }
  .qa-single-tech__all{
    width:100%;
    white-space:normal;
  }
}
