/**
Theme Name: Capitech Store Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: capitech-store-child
Template: astra
*/

/* ==========================================================================
   CAPITECH STORE — CSS DO PROJETO
   Tema: Astra + Capitech Store Child

   ÍNDICE
   1. TOPBAR — barra de avisos
   2. ÍCONES DO CABEÇALHO — busca, conta, carrinho
   3. CAMPO DE BUSCA — input e dropdown
   4. TEXTOS DA CONTA E DO CARRINHO
   5. LOGO, TÍTULO E ESTRUTURA DO CABEÇALHO
   6. MOBILE — Off-Canvas, ícones, hambúrguer
   7. RODAPÉ
   8. PÁGINA DE CONTA — login e cadastro

   ⚠️ AO EDITAR ESTE ARQUIVO: incremente a versão no functions.php
      (CHILD_THEME_CAPITECH_STORE_CHILD_VERSION), senão o cache
      continua servindo o CSS antigo.

   ⚠️ Muitas regras dependem de classes internas do Astra.
      Revisar após atualizações do tema.
   ========================================================================== */


/* ==========================================================================
   1. TOPBAR — barra de avisos acima do cabeçalho
   HTML em: Personalizar → Cabeçalho → HTML 1
   ⚠️ O campo HTML converte quebras de linha em <br> e remove <svg>.
      O HTML deve ficar em LINHA ÚNICA.
   ========================================================================== */

.capi-topbar{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:8px 12px;
  padding:4px 8px;
  background:#3A2E22;
  color:#FFFFFF;
  font-family:"Plus Jakarta Sans",sans-serif;
  font-size:12px;
  font-weight:400;
  line-height:1.4;
}

.capi-topbar strong{ font-weight:600; }
.capi-sep{ color:#CFE09E; }
.capi-topbar br{ display:none; }

/* --- 1.1 Mobile: dois avisos, uma linha só --- */
@media (max-width:600px){
  .capi-topbar{
    flex-wrap:nowrap;
    white-space:nowrap;
    font-size:10px;
    gap:0 8px;
    padding:3px 8px;
  }

  .capi-hide-mobile{ display:none !important; }
}


/* ==========================================================================
   2. ÍCONES DO CABEÇALHO
   Substitui os ícones nativos do Astra por SVG inline (Lucide Icons, MIT).
   Método: esconde o <svg> nativo e injeta o customizado via ::before.
   Para trocar a cor: alterar %233A2E22 dentro de cada SVG (%23 = #).
   ========================================================================== */

/* --- 2.1 Busca --- */
.ast-header-search .astra-search-icon svg{
  display:none;
}

.ast-header-search .astra-search-icon::before{
  content:"";
  display:inline-block;
  width:24px;
  height:24px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233A2E22' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
}

/* --- 2.2 Conta --- */
.ast-header-account-wrap .ahfb-svg-iconset svg,
.ast-header-account-wrap svg{
  display:none;
}

.ast-header-account-wrap .ast-header-account-link::before{
  content:"";
  display:inline-block;
  width:24px;
  height:24px;
  vertical-align:middle;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233A2E22' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-size:contain;
}

/* --- 2.3 Carrinho --- */
.ast-site-header-cart .ast-addon-cart-wrap svg{
  display:none;
}

.ast-site-header-cart .ast-addon-cart-wrap::before{
  content:"";
  display:inline-block;
  width:24px;
  height:24px;
  vertical-align:middle;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233A2E22' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-size:contain;
}

/* --- 2.4 Contador de itens do carrinho ---
   O contador é um ::after do próprio <i>, não um elemento separado.
   top/right calibrados no olho — reajustar se o ícone (24px) mudar. */
.ast-site-header-cart i.astra-icon{
  position:relative;
  display:inline-block;
  line-height:0;
}

.ast-site-header-cart i.astra-icon::after{
  position:absolute;
  top:-22px;
  right:-12px;
}


/* ==========================================================================
   3. CAMPO DE BUSCA
   ⚠️ A borda/fundo ficam no FORMULÁRIO (.search-form), não no input —
      o wrapper envolve o campo e o ícone da lupa juntos.
   ========================================================================== */

/* --- 3.1 Caixa (wrapper do formulário) --- */
.ast-header-search .search-form,
.ast-header-search form.search-form{
  border:1px solid #E7E3DA !important;
  border-radius:10px !important;
  background:#F6F4EF !important;
  box-shadow:none !important;
  transition:border-color .2s ease, background .2s ease;
}

.ast-header-search .search-form:focus-within{
  border-color:#CFCABF !important;
  background:#FFFFFF !important;
  box-shadow:none !important;
}

/* --- 3.2 Input (transparente — quem desenha é o wrapper) --- */
.ast-header-search .search-field,
.ast-header-search input[type="search"]{
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:10px 44px 10px 16px;
  font-family:"Plus Jakarta Sans",sans-serif;
  font-size:14px;
  color:#211A12;
}

.ast-header-search .search-field::placeholder{
  color:#8A8175;
}

/* --- 3.3 Dropdown: rótulo de seção ("PRODUTOS") ---
   ⚠️ É um <label>, não um <li>. */
.ast-header-search .ast-search--posttype-heading,
label.ast-search--posttype-heading{
  display:block;
  font-family:"Plus Jakarta Sans",sans-serif;
  font-size:11px !important;
  font-weight:700 !important;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#8A8175 !important;
  padding:12px 16px 8px !important;
  margin:0 !important;
}

/* --- 3.4 Dropdown: nomes dos produtos --- */
.ast-header-search .ast-live-search-results a{
  color:#211A12 !important;
  font-size:14px !important;
  font-weight:500 !important;
  line-height:1.4 !important;
  padding:9px 16px !important;
  transition:background .15s ease;
}

.ast-header-search .ast-live-search-results a:hover{
  color:#4E7A2E !important;
  background:#F6F4EF;
}


/* ==========================================================================
   4. TEXTOS DA CONTA E DO CARRINHO
   Textos configurados em: Personalizar → Cabeçalho → Conta / Carrinho
   ========================================================================== */

/* --- 4.1 Conta: "Olá, entre" (via CSS) + "Minha conta" (do campo) ---
   O campo do Astra escapa HTML, então a 1ª linha vem de um ::before. */
.ast-header-account-wrap .ast-header-account-text{
  display:inline-block;
  vertical-align:middle;
  margin-left:6px;
  font-family:"Plus Jakarta Sans",sans-serif;
  font-size:14px;
  font-weight:600;
  line-height:1.35;
  color:#211A12;
  white-space:nowrap;
}

.ast-header-account-wrap .ast-header-account-text::before{
  content:"Olá, entre";
  display:block;
  font-size:11px;
  font-weight:400;
  color:#8A8175;
  line-height:1.3;
}

/* --- 4.2 Carrinho: "Carrinho" (leve) / valor (forte) --- */
.ast-site-header-cart .ast-woo-header-cart-info-wrap{
  display:inline-block;
  vertical-align:middle;
  margin-left:16px;
  font-family:"Plus Jakarta Sans",sans-serif;
  font-size:11px;
  font-weight:400;
  line-height:1.35;
  color:#8A8175;
  max-width:120px;
  white-space:normal;
}

.ast-site-header-cart .ast-woo-header-cart-info-wrap .ast-woo-header-cart-total{
  display:block;
  font-size:14px;
  font-weight:600;
  color:#211A12;
}

/* --- 4.3 Espaçamento entre ícone e texto --- */
.ast-header-account-wrap .ast-header-account-link{
  gap:0 !important;
  column-gap:0 !important;
  align-items:center;
}

.ast-header-account-wrap .ahfb-svg-iconset{
  margin:0 !important;
  padding:0 !important;
}

/* --- 4.4 Distância entre os blocos (desktop) --- */
.ast-header-search{ margin-right:4px !important; }
.ast-header-account-wrap{ margin-right:6px !important; }


/* ==========================================================================
   5. LOGO, TÍTULO E ESTRUTURA DO CABEÇALHO
   ========================================================================== */

/* --- 5.1 Título "Capitech" + descrição "STORE" --- */
.ast-site-identity .site-title,
.site-title{
  font-family:"Plus Jakarta Sans",sans-serif;
  font-size:24px !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  margin:0 !important;
}

.ast-site-identity .site-title a,
.site-title a{
  color:#211A12 !important;
}

.ast-site-identity .site-description,
.site-description{
  font-family:"Plus Jakarta Sans",sans-serif;
  font-size:13px !important;
  font-weight:500 !important;
  letter-spacing:.22em;
  line-height:1.2 !important;
  color:#6B6357 !important;
  margin:2px 0 0 !important;
  text-transform:uppercase;
}

/* --- 5.2 Altura do cabeçalho ---
   O Astra crava line-height/min-height 120px no .ast-header-woo-cart,
   e é ele que estica a linha inteira. Não vem da linha nem do campo
   "Altura" do Customizer. Descoberto via DevTools. */
.ast-desktop .ast-primary-header-bar .ast-header-woo-cart{
  line-height:normal !important;
  min-height:90px !important;
}

/* --- 5.3 Padding do bloco do logo ---
   O Astra aplica padding:1em 0 no .ast-site-identity (~32px de altura). */
.ast-site-identity,
.ast-logo-title-inline .ast-site-identity{
  padding-top:0 !important;
  padding-bottom:0 !important;
}

/* --- 5.4 Respiro lateral do cabeçalho ---
   ⚠️ O elemento que carrega o padding MUDA conforme o breakpoint:
      desktop = .ast-container | mobile = .ast-builder-grid-row */
@media (min-width:922px){
  .site-primary-header-wrap.ast-container,
  .site-below-header-wrap.ast-container{
    padding-left:32px !important;
    padding-right:32px !important;
  }
}

@media (max-width:921px){
  .ast-primary-header-bar .ast-builder-grid-row{
    padding-left:16px !important;
    padding-right:16px !important;
  }
}

/* --- 5.5 Alinhamento das pontas do menu (desktop) --- */
@media (min-width:922px){
  .main-header-menu > li:first-child > .menu-link{
    padding-left:0 !important;
  }

  .main-header-menu > li:last-child > .menu-link{
    padding-right:0 !important;
  }
}


/* ==========================================================================
   6. MOBILE
   ========================================================================== */

/* --- 6.1 Esconde textos de conta/carrinho e o nome do site --- */
@media (max-width:921px){
  .ast-header-account-wrap .ast-header-account-text,
  .ast-site-header-cart .ast-woo-header-cart-info-wrap{
    display:none;
  }
}

@media (max-width:600px){
  .site-title,
  .site-description{
    display:none !important;
  }
}

/* --- 6.2 Menu Off-Canvas --- */
@media (max-width:921px){
  .main-header-menu .menu-item{
    border-bottom:1px solid #E7E3DA;
  }

  .main-header-menu .menu-link{
    padding:14px 16px !important;
    font-size:15px !important;
    font-weight:500 !important;
    color:#211A12 !important;
  }

  .main-header-menu .menu-item:last-child .menu-link{
    color:#4E7A2E !important;
    font-weight:600 !important;
  }
}

/* --- 6.3 Blur no fundo ao abrir o menu ---
   ⚠️ backdrop-filter é pesado em GPU. Se travar em celular fraco,
      remover o blur e deixar só o background. */
.ast-mobile-popup-overlay,
#ast-mobile-popup .ast-mobile-popup-overlay{
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  background:rgba(33,26,18,.35) !important;
}

/* --- 6.4 Espaçamento dos ícones ---
   ⚠️ Wrappers EXTERNOS (.ast-header-account / .ast-header-woo-cart)
      são diferentes dos INTERNOS (.ast-header-account-wrap /
      .ast-site-header-cart). O padding está nos externos. */
@media (max-width:921px){
  .ast-header-woo-cart,
  .ast-header-account{
    padding-left:6px !important;
    padding-right:6px !important;
  }

  [data-section="section-header-mobile-trigger"]{
    padding-left:16px !important;
  }

  .ast-button-wrap{
    padding:0 !important;
    margin:0 !important;
  }

  .ast-button-wrap .menu-toggle.main-header-menu-toggle{
    padding:0 !important;
  }

  .ast-mobile-svg{ fill:#3A2E22 !important; }
}

/* --- 6.5 Botão hambúrguer ---
   Largura fixa evita empurrão ao trocar ☰ ↔ ✕.
   :focus-visible mantém o contorno para navegação por teclado. */
.menu-toggle.main-header-menu-toggle{
  width:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
}

.menu-toggle.main-header-menu-toggle:focus:not(:focus-visible){
  outline:none !important;
  box-shadow:none !important;
}


/* ==========================================================================
   7. RODAPÉ
   HTML em: Personalizar → Rodapé → HTML 1 (LINHA ÚNICA)
   ⚠️ O editor remove <svg> inline e injeta <p>/<br>.
      Ícones vêm por CSS; <p> vazios são neutralizados abaixo.
   ========================================================================== */

.capi-footer{
  background:#3A2E22;
  color:#FFFFFF;
  font-family:"Plus Jakarta Sans",sans-serif;
  text-align:left;
}

/* Container interno */
.capi-footer > *{
  max-width:1280px;
  margin:0 auto !important;
}

/* Limpa lixo do editor */
.capi-footer p:empty{ display:none !important; }
.capi-footer-top > p{ display:contents; }

/* Zera wrappers do Astra */
.site-primary-footer-wrap .ast-builder-grid-row-container-inner,
.site-primary-footer-wrap .ast-builder-grid-row,
.site-primary-footer-wrap .footer-widget-area,
.site-primary-footer-wrap .ast-header-html,
.site-primary-footer-wrap .ast-builder-html-element{
  padding:0 !important;
  margin:0 !important;
  max-width:100% !important;
  width:100% !important;
}

/* --- 7.1 Bloco superior: 3 colunas --- */
.capi-footer-top{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr;
  gap:40px;
  padding:40px 32px;
}

.capi-footer-brand{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:18px;
}

.capi-footer-logo{ width:72px; height:72px; }

.capi-footer-name{
  display:flex;
  flex-direction:column;
  line-height:1.1;
}

.capi-footer-title{
  font-size:28px;
  font-weight:700;
  color:#FFFFFF;
}

.capi-footer-sub{
  font-size:13px;
  font-weight:500;
  letter-spacing:.28em;
  color:#CFCABF;
}

.capi-footer-desc{
  font-size:14px;
  line-height:1.6;
  color:#CFCABF;
  max-width:340px;
  margin:0 0 20px !important;
}

/* --- 7.2 Instagram --- */
.capi-social{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border:1px solid rgba(207,224,158,.4);
  border-radius:10px;
  transition:background .2s ease, border-color .2s ease;
}

.capi-social:hover{
  background:rgba(207,224,158,.12);
  border-color:#CFE09E;
}

.capi-social::before{
  content:"";
  width:20px;
  height:20px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CFE09E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='1' fill='%23CFE09E' stroke='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-size:contain;
}

/* --- 7.3 Colunas de links --- */
.capi-footer-head{
  font-size:15px !important;
  font-weight:600 !important;
  color:#CFE09E !important;
  margin:0 0 16px !important;
}

.capi-footer-list{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

.capi-footer-list li{ margin-bottom:10px; }

.capi-footer-list a{
  font-size:14px;
  color:#CFCABF !important;
  text-decoration:none;
  transition:color .2s ease;
}

.capi-footer-list a:hover{ color:#CFE09E !important; }

/* --- 7.4 Faixa: pagamento + selos ---
   ⚠️ Sem bandeiras específicas (Visa/Master/Elo) até o Mercado Pago
      estar configurado — exibir bandeira não aceita é risco de CDC. */
.capi-footer-mid{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:16px;
  padding:18px 32px;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}

.capi-pay{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}

.capi-pay-label{
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#8A8175;
  margin-right:4px;
}

.capi-pay-item{
  padding:6px 14px;
  background:#FFFFFF;
  color:#211A12;
  border-radius:8px;
  font-size:13px;
  font-weight:600;
}

.capi-badges{ display:flex; gap:10px; flex-wrap:wrap; }

.capi-badge{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border:1px solid rgba(207,224,158,.3);
  border-radius:10px;
  font-size:13px;
  font-weight:500;
  color:#FFFFFF;
}

.capi-badge::before{
  content:"";
  width:16px;
  height:16px;
  margin-right:8px;
  background-repeat:no-repeat;
  background-size:contain;
  flex-shrink:0;
}

.capi-badge-lock::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CFE09E' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
}

.capi-badge-check::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CFE09E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/svg%3E");
}

/* --- 7.5 Linha final --- */
.capi-footer-bottom{
  padding:18px 32px;
  font-size:13px;
  color:#8A8175;
}

/* --- 7.6 Tablet --- */
@media (max-width:900px){
  .capi-footer-top{ grid-template-columns:1fr 1fr; gap:32px; }
  .capi-footer-about{ grid-column:1 / -1; }
}

/* --- 7.7 Mobile --- */
@media (max-width:600px){
  .capi-footer-top{
    grid-template-columns:1fr;
    gap:28px;
    padding:28px 16px;
  }

  .capi-footer-desc{ max-width:100%; }

  .capi-footer-mid{
    flex-direction:column;
    align-items:flex-start;
    padding:16px;
    gap:14px;
  }

  /* Pagamento: 2 colunas, último item ocupa a linha toda */
  .capi-pay{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    width:100%;
  }

  .capi-pay-label{
    grid-column:1 / -1;
    margin:0;
    font-size:11px;
  }

  .capi-pay-item{
    grid-column:auto;
    text-align:center;
    font-size:12px;
    padding:8px 10px;
  }

  .capi-pay-item:last-child{ grid-column:1 / -1; }

  .capi-badges{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    width:100%;
  }

  .capi-badge{
    justify-content:center;
    font-size:11px;
    padding:8px 6px;
  }

  .capi-footer-bottom{ padding:16px; font-size:12px; }
}

/* ==========================================================
   8. PÁGINA DE CONTA — LOGIN E CADASTRO
   ========================================================== */

/* --- Estrutura --- */
.capitech-auth {
	display: flex;
	max-width: 940px;
	margin: 0 auto;
	background: #FFFFFF;
	border: 1px solid #E7E3DA;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(33, 26, 18, .06);
}

/* --- Painel lateral escuro --- */
.capitech-auth__lateral {
	position: relative;
	width: 288px;
	flex-shrink: 0;
	padding: 36px 30px;
	background: linear-gradient(158deg, #4A3B2C 0%, #3A2E22 52%, #211A12 100%);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	overflow: hidden;
}

.capitech-auth__lateral::before {
	content: "";
	position: absolute;
	inset: -30%;
	background: linear-gradient(118deg,
		rgba(255, 255, 255, 0) 34%,
		rgba(255, 255, 255, .055) 46%,
		rgba(255, 255, 255, .055) 54%,
		rgba(255, 255, 255, 0) 66%);
	pointer-events: none;
}

.capitech-auth__lateral::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: rgba(255, 255, 255, .10);
}

.capitech-auth__lateral > * {
	position: relative;
	z-index: 1;
}

/* --- Marca --- */
.capitech-auth__marca {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 40px;
}

.capitech-auth__logo {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	object-fit: cover;
}

.capitech-auth__nome {
	display: flex;
	flex-direction: column;
	line-height: 1.15;
	color: #FFFFFF;
	font-size: 16px;
	font-weight: 600;
}

.capitech-auth__nome em {
	font-style: normal;
	font-size: 9px;
	font-weight: 500;
	letter-spacing: 2.6px;
	color: #8A8175;
}

/* --- Mensagem --- */
.capitech-auth__mensagem {
	margin-bottom: auto;
	padding-top: 4px;
}

.capitech-auth__mensagem::before {
	content: "";
	display: block;
	width: 26px;
	height: 2px;
	background: #CFE09E;
	margin-bottom: 16px;
}

.capitech-auth__titulo {
	margin: 0;
	color: #FFFFFF;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.28;
	letter-spacing: -.2px;
}

.capitech-auth__texto {
	margin: 14px 0 0;
	color: #CFCABF;
	font-size: 13px;
	line-height: 1.7;
}

/* --- Selos --- */
.capitech-auth__selos {
	list-style: none;
	margin: 32px 0 0;
	padding: 20px 0 0;
	border-top: 1px solid rgba(255, 255, 255, .10);
	display: flex;
	flex-direction: column;
	gap: 13px;
}

.capitech-selo {
	position: relative;
	margin: 0;
	padding-left: 24px;
	color: #E7E3DA;
	font-size: 12px;
	line-height: 1.4;
}

.capitech-selo::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1px;
	width: 15px;
	height: 15px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.capitech-selo--rastreio::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CFE09E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7.5 4.27 9 5.15'/%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E");
}

.capitech-selo--endereco::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CFE09E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

.capitech-selo--ssl::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CFE09E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='11' x='3' y='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
}

/* --- Área dos formulários --- */
.capitech-auth__conteudo {
	flex: 1;
	min-width: 0;
	padding: 32px 36px 36px;
}

/* --- Abas --- */
.capitech-auth__abas {
	display: flex;
	gap: 28px;
	border-bottom: 1px solid #E7E3DA;
	margin-bottom: 26px;
}

.capitech-aba {
	background: none;
	border: 0;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	padding: 0 0 12px;
	margin-bottom: -1px;
	font-family: inherit;
	font-size: 15px;
	font-weight: 400;
	color: #8A8175;
	cursor: pointer;
	transition: color .18s ease, border-color .18s ease;
}

.capitech-aba:hover {
	color: #211A12;
	background: none;
}

.capitech-aba.is-ativa {
	color: #211A12;
	font-weight: 600;
	border-bottom-color: #4E7A2E;
}

.capitech-aba:focus-visible {
	outline: 2px solid #4E7A2E;
	outline-offset: 3px;
}

/* --- Reset do layout de colunas do WooCommerce --- */
.capitech-auth #customer_login {
	display: block;
	width: 100%;
	margin: 0;
}

.capitech-auth .u-column1,
.capitech-auth .u-column2 {
	width: 100%;
	float: none;
	margin: 0;
	padding: 0;
}

.capitech-auth .u-column1 > h2,
.capitech-auth .u-column2 > h2 {
	display: none;
}

.capitech-auth--cadastro .u-column1 { display: none; }
.capitech-auth--login .u-column2 { display: none; }

/* --- Animação de entrada --- */
.capitech-entrada {
	animation: capitechEntrada .22s ease both;
}

@keyframes capitechEntrada {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: none; }
}

/* --- Campos --- */
.capitech-auth .form-row {
	margin: 0 0 14px;
	padding: 0;
}

.capitech-auth .form-row label {
	display: block;
	margin-bottom: 6px;
	font-size: 12.5px;
	font-weight: 500;
	color: #6B6357;
}

.capitech-auth .form-row .required {
	color: #6B6357;
	text-decoration: none;
}

.capitech-auth input.input-text,
.capitech-auth input[type="password"],
.capitech-auth input[type="email"],
.capitech-auth input[type="tel"] {
	width: 100%;
	height: 44px;
	padding: 0 14px;
	background: #FDFCFA;
	border: 1px solid #E7E3DA;
	border-radius: 10px;
	font-family: inherit;
	font-size: 15px;
	color: #211A12;
	transition: border-color .16s ease, box-shadow .16s ease;
}

.capitech-auth input.input-text:hover {
	border-color: #B4B2A9;
}

.capitech-auth input.input-text:focus {
	border-color: #4E7A2E;
	box-shadow: 0 0 0 3px rgba(78, 122, 46, .12);
	outline: none;
}

.capitech-auth input.input-text::placeholder {
	color: #B4B2A9;
}

/* --- Campos em duas colunas --- */
.capitech-auth .woocommerce-form-register {
	display: flex;
	flex-wrap: wrap;
	gap: 0 12px;
}

.capitech-auth .woocommerce-form-register > * {
	width: 100%;
}

.capitech-auth .woocommerce-form-register > p:has(#reg_first_name),
.capitech-auth .woocommerce-form-register > p:has(#reg_last_name),
.capitech-auth .woocommerce-form-register > p:has(#reg_password),
.capitech-auth .woocommerce-form-register > p:has(#reg_password_confirm) {
	width: calc(50% - 6px);
}

/* --- Olho de mostrar senha --- */
.capitech-auth .woocommerce-password-input {
	position: relative;
}

.capitech-auth .show-password-input {
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
}

/* --- Botões --- */
.capitech-auth .woocommerce-form-login__submit,
.capitech-auth .woocommerce-form-register__submit {
	width: 100%;
	height: 48px;
	margin: 4px 0 0;
	background: #4E7A2E;
	border: 0;
	border-radius: 10px;
	color: #FFFFFF;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background .18s ease, box-shadow .18s ease;
}

.capitech-auth .woocommerce-form-login__submit:hover,
.capitech-auth .woocommerce-form-register__submit:hover {
	background: #3F6325;
	box-shadow: 0 6px 16px rgba(58, 46, 34, .22);
}

/* --- Lembrar de mim --- */
.capitech-auth .woocommerce-form-login__rememberme {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 18px;
	font-size: 13px;
	font-weight: 400;
	color: #211A12;
	cursor: pointer;
}

.capitech-auth .woocommerce-form-login__rememberme input {
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: #4E7A2E;
	flex-shrink: 0;
}

/* --- Esqueci a senha --- */
.capitech-auth .woocommerce-LostPassword {
	margin: 16px 0 0;
	text-align: center;
	font-size: 13px;
}

.capitech-auth .woocommerce-LostPassword a {
	color: #4E7A2E;
	text-decoration: none;
}

.capitech-auth .woocommerce-LostPassword a:hover {
	color: #3F6325;
	text-decoration: underline;
}

/* --- Texto de privacidade --- */
.capitech-auth .woocommerce-privacy-policy-text p {
	margin: 2px 0 16px;
	font-size: 12px;
	line-height: 1.6;
	color: #8A8175;
}

.capitech-auth .woocommerce-privacy-policy-text a {
	color: #4E7A2E;
	text-decoration: none;
}

/* --- Responsivo --- */
@media (max-width: 880px) {
	.capitech-auth {
		flex-direction: column;
		max-width: 520px;
	}

	.capitech-auth__lateral {
		width: 100%;
		padding: 24px 26px;
	}

	.capitech-auth__marca {
		margin-bottom: 22px;
	}

	.capitech-auth__titulo {
		font-size: 21px;
	}

	.capitech-auth__selos {
		display: none;
	}

	.capitech-auth__conteudo {
		padding: 26px 26px 30px;
	}
}

@media (max-width: 560px) {
	.capitech-auth {
		border-radius: 10px;
	}

	.capitech-auth__lateral {
		padding: 22px 20px;
	}

	.capitech-auth__conteudo {
		padding: 22px 20px 26px;
	}

	.capitech-auth__abas {
		gap: 20px;
	}

	.capitech-auth .woocommerce-form-register > p:has(#reg_first_name),
	.capitech-auth .woocommerce-form-register > p:has(#reg_last_name),
	.capitech-auth .woocommerce-form-register > p:has(#reg_password),
	.capitech-auth .woocommerce-form-register > p:has(#reg_password_confirm) {
		width: 100%;
	}
}

/* --- 8.1 CORREÇÕES ------------------------------------- */

/* Reset dos formulários nativos (Astra desenha borda/padding próprios) */
.woocommerce-account .capitech-auth .woocommerce,
.woocommerce-account .capitech-auth #customer_login {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-account .capitech-auth form.login,
.woocommerce-account .capitech-auth form.register,
.woocommerce-account .capitech-auth .woocommerce-form {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

/* Abas — o Astra pinta fundo em <button> no foco/ativo */
.capitech-auth__abas .capitech-aba,
.capitech-auth__abas .capitech-aba:hover,
.capitech-auth__abas .capitech-aba:focus,
.capitech-auth__abas .capitech-aba:active {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	color: #8A8175;
}

.capitech-auth__abas .capitech-aba:hover,
.capitech-auth__abas .capitech-aba.is-ativa {
	color: #211A12;
}

.capitech-auth__abas .capitech-aba:focus:not(:focus-visible) {
	outline: none !important;
}

/* Marca maior */
.capitech-auth__logo {
	width: 56px;
	height: 56px;
}

.capitech-auth__marca {
	gap: 13px;
	margin-bottom: 44px;
}

.capitech-auth__nome {
	font-size: 21px;
	font-weight: 700;
}

.capitech-auth__nome em {
	font-size: 11px;
	letter-spacing: 3px;
	margin-top: 2px;
}

.capitech-auth__titulo {
	font-size: 28px;
}

/* Selos — zera o recuo de lista do Astra e abre respiro */
.capitech-auth__selos {
	margin: 44px 0 0 !important;
	padding: 26px 0 0 !important;
	list-style: none !important;
}

.capitech-auth__selos li {
	margin-left: 0 !important;
	padding-left: 25px;
	list-style: none !important;
}

.capitech-auth__selos li::marker {
	content: "";
}

.capitech-selo {
	font-size: 12.5px;
	line-height: 1.45;
}

.capitech-selo::before {
	top: 2px;
	width: 16px;
	height: 16px;
}

/* Rótulos em uma linha só, para as duas colunas ficarem alinhadas */
.capitech-auth .form-row label {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Espaço para o ícone de mostrar senha */
.capitech-auth .woocommerce-password-input input.input-text {
	padding-right: 44px;
}

@media (max-width: 880px) {
	.capitech-auth__marca {
		margin-bottom: 20px;
	}

	.capitech-auth__logo {
		width: 46px;
		height: 46px;
	}

	.capitech-auth__titulo {
		font-size: 23px;
	}
}

/* --- 8.2 RESPIRO VERTICAL ------------------------------ */

.capitech-auth {
	margin: 40px auto 56px;
}

@media (max-width: 880px) {
	.capitech-auth {
		margin: 24px 16px 40px;
	}
}

.woocommerce-account .capitech-auth .u-column1,
.woocommerce-account .capitech-auth .u-column2 {
	border: 0 !important;
	padding: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

/* === FIM PÁGINA DE CONTA === */

