/*
Theme Name:   Nectech Child
Theme URI:    https://nectech.com.br
Description:  Child theme da NECtech Solução em Emissões — baseado no Astra Pro
Author:       Carlos André Assa
Template:     astra
Version:      2.0.0
Text Domain:  nectech-child
*/

:root {
    --azul:         #1f2446;
    --azul-mid:     #2a3060;
    --laranja:      #ea5927;
    --laranja-dk:   #c94d20;
    --branco:       #F5F3EE;
    --cinza:        #8A9BAD;
    --preto:        #13162e;
    --verde:        #1D9E75;
    --roxo:         #534AB7;
    --nec-font-titulo: 'Plus Jakarta Sans', sans-serif;
    --nec-font-corpo:  'Inter', sans-serif;
    --nec-radius:    4px;
    --nec-radius-md: 8px;
    --nec-radius-lg: 12px;
    --nec-shadow:    0 2px 12px rgba(19,22,46,0.12);
    --nec-shadow-lg: 0 8px 32px rgba(19,22,46,0.20);
    
    
    
    /* Cores esperadas pelo home.css */
    --color-primary: var(--azul);
    --color-primary-dark: var(--preto);
    --color-accent: var(--laranja);
    --color-accent-hover: var(--laranja-dk);
    --color-white: var(--branco);
    --color-off-white: #F5F3EE;
    --color-border: rgba(31, 36, 70, 0.12);
    --color-gray-100: #eef0f4;
    --color-gray-300: #cdd3dc;
    --color-gray-400: #9aa6b2;

    --color-text-primary: var(--preto);
    --color-text-secondary: #455064;
    --color-text-muted: var(--cinza);

    /* Fontes esperadas pelo home.css */
    --font-display: var(--nec-font-titulo);
    --font-heading: var(--nec-font-titulo);
    --font-body: var(--nec-font-corpo);

    /* Pesos */
    --fw-medium: 500;
    --fw-bold: 700;
    --fw-extrabold: 800;

    /* Line-height */
    --lh-tight: 1.1;
    --lh-snug: 1.25;
    --lh-relaxed: 1.65;

    /* Letter spacing */
    --ls-tight: -0.02em;
    --ls-wide: 0.04em;
    --ls-widest: 0.1em;

    /* Tipografia */
    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 2rem;
    --text-4xl: 2.5rem;
    --text-5xl: 3.75rem;
    --text-hero: clamp(2.75rem, 6vw, 5.25rem);

    /* Espaçamentos */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-24: 6rem;

    /* Radius */
    --radius-md: var(--nec-radius-md);
    --radius-lg: var(--nec-radius-lg);
    --radius-xl: 20px;
    --radius-full: 999px;

    /* Sombras */
    --shadow-md: var(--nec-shadow);
    --shadow-lg: var(--nec-shadow-lg);

    /* Transições */
    --transition-base: 0.2s ease;
    --transition-slow: 0.35s ease;

    /* Z-index */
    --z-raised: 2;
    
}

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Inter:wght@400;500;600&display=swap');

body { font-family: var(--nec-font-corpo); color: var(--preto); background-color: var(--branco); -webkit-font-smoothing: antialiased; }

h1,h2,h3,h4,h5,h6,.entry-title,.woocommerce-loop-product__title,.product_title {
    font-family: var(--nec-font-titulo); font-weight: 800; line-height: 1.1; letter-spacing: -0.02em;
}

/* HEADER */
.ast-primary-header-bar { background-color: var(--preto) !important; }
.ast-above-header-bar { background-color: var(--azul); }
.ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link,
#ast-hf-menu-1 .menu-item > .menu-link {
    color: var(--branco) !important; font-family: var(--nec-font-corpo);
    font-weight: 600; font-size: 0.85rem; letter-spacing: 0.05em;
    text-transform: uppercase; padding: 0 14px !important; transition: color 0.2s ease;
}
.ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link:hover,
#ast-hf-menu-1 .menu-item > .menu-link:hover,
.ast-builder-menu-1 .main-header-menu > .current-menu-item > .menu-link { color: var(--laranja) !important; }

/* HEADER CONTATO */
.nec-header-contato { display: flex; align-items: center; gap: 16px; height: 100%; }
.nec-hc-telefone { color: var(--laranja) !important; font-family: var(--nec-font-corpo); font-weight: 600; font-size: 0.9rem; text-decoration: none; white-space: nowrap; margin-bottom: 14px; transition: opacity 0.2s ease; }
.nec-hc-telefone:hover { opacity: 0.8; }
.nec-hc-icone { display: flex; align-items: center; justify-content: center; line-height: 1; transition: transform 0.2s ease; }
.nec-hc-icone:hover { transform: scale(1.12); }
@media (max-width: 768px) { .nec-header-contato { display: none; } }

/* BOTÃO ORÇAR */
.btn-orcar,.btn-orcar:visited,.nectech-btn-primary {
    display: inline-flex; align-items: center; gap: 8px;
    background-color: var(--laranja); color: var(--branco) !important;
    font-family: var(--nec-font-titulo); font-weight: 700; font-size: 0.9rem;
    letter-spacing: 0.06em; text-transform: uppercase; padding: 14px 28px;
    border-radius: var(--nec-radius); border: none; cursor: pointer;
    text-decoration: none !important; transition: background-color 0.2s ease, transform 0.15s ease;
}
.btn-orcar:hover,.nectech-btn-primary:hover { background-color: var(--laranja-dk); transform: translateY(-1px); color: var(--branco) !important; }

.nectech-btn-secondary {
    display: inline-flex; align-items: center; gap: 8px;
    background-color: transparent; color: var(--branco) !important;
    font-family: var(--nec-font-titulo); font-weight: 700; font-size: 0.9rem;
    letter-spacing: 0.06em; text-transform: uppercase; padding: 13px 28px;
    border-radius: var(--nec-radius); border: 1.5px solid rgba(245,243,238,0.4);
    cursor: pointer; text-decoration: none !important; transition: all 0.2s ease;
}
.nectech-btn-secondary:hover { background-color: rgba(245,243,238,0.1); border-color: rgba(245,243,238,0.7); }

/* BADGES */
.nec-badge { display: inline-block; font-family: var(--nec-font-corpo); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; padding: 3px 10px; border-radius: 3px; }
.nec-badge-euro5  { background: var(--azul-mid); color: var(--branco); }
.nec-badge-euro6  { background: var(--verde);    color: #fff; }
.nec-badge-empilh { background: var(--roxo);     color: #fff; }
.nec-badge-marca  { background: rgba(31,36,70,0.08); color: var(--azul); border: 1px solid rgba(31,36,70,0.15); }

/* WOOCOMMERCE MODO CATÁLOGO */
.woocommerce .price,.woocommerce-Price-amount,.woocommerce span.price { display: none !important; }
.woocommerce .add_to_cart_button,.woocommerce .single_add_to_cart_button,.woocommerce-cart-form,.woocommerce-checkout { display: none !important; }

/* CARDS */
.woocommerce ul.products li.product { background: var(--azul); border: none; border-radius: var(--nec-radius-md); padding: 0; overflow: hidden; transition: box-shadow 0.25s ease, transform 0.2s ease; }
.woocommerce ul.products li.product:hover { box-shadow: var(--nec-shadow-lg); transform: translateY(-4px); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--nec-font-titulo); font-weight: 700; font-size: 0.95rem; color: var(--branco); padding: 0 16px 4px; }

/* FICHA DE PRODUTO */
.woocommerce div.product .product_title { font-family: var(--nec-font-titulo); font-weight: 800; font-size: 2.4rem; color: var(--azul); letter-spacing: -0.03em; margin-bottom: 12px; }
.woocommerce .woocommerce-breadcrumb { font-size: 0.8rem; color: var(--cinza); }
.woocommerce .woocommerce-breadcrumb a { color: var(--laranja); text-decoration: none; }

/* TABELA TÉCNICA */
.nec-tabela-tecnica { width: 100%; border-collapse: collapse; margin: 24px 0; font-size: 0.875rem; }
.nec-tabela-tecnica th { background: var(--azul); color: var(--branco); font-family: var(--nec-font-corpo); font-weight: 600; text-align: left; padding: 10px 16px; width: 35%; font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; }
.nec-tabela-tecnica td { padding: 10px 16px; border-bottom: 1px solid rgba(31,36,70,0.08); color: var(--preto); vertical-align: top; }
.nec-tabela-tecnica tr:last-child td { border-bottom: none; }
.nec-tabela-tecnica tr:nth-child(even) td { background: rgba(31,36,70,0.03); }
.nec-ref-copiavel { font-family: monospace; font-size: 0.9rem; cursor: pointer; color: var(--azul); }
.nec-ref-copiavel:hover { text-decoration: underline; }

/* GARANTIA */
.nec-garantia-bloco { background: var(--azul); border-radius: var(--nec-radius-md); padding: 20px 24px; margin: 24px 0; }
.nec-garantia-item { display: flex; align-items: flex-start; gap: 10px; color: var(--branco); font-size: 0.875rem; margin-bottom: 10px; }
.nec-garantia-item:last-child { margin-bottom: 0; }
.nec-garantia-check { color: var(--laranja); font-weight: 700; flex-shrink: 0; }

/* FORMULÁRIO ORÇAMENTO */
#form-orcamento { background: var(--azul); border-radius: var(--nec-radius-lg); padding: 32px; margin-top: 40px; scroll-margin-top: 80px; }
#form-orcamento h3 { font-family: var(--nec-font-titulo); color: var(--branco); font-size: 1.3rem; font-weight: 700; margin-bottom: 8px; }
#form-orcamento .wpforms-field label { color: rgba(245,243,238,0.75) !important; font-size: 0.8rem; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; }
#form-orcamento .wpforms-field input,
#form-orcamento .wpforms-field textarea,
#form-orcamento .wpforms-field select { background: rgba(245,243,238,0.08) !important; border: 1px solid rgba(245,243,238,0.15) !important; color: var(--branco) !important; border-radius: var(--nec-radius) !important; }
#form-orcamento .wpforms-submit-container .wpforms-submit { background-color: var(--laranja) !important; border-color: var(--laranja) !important; font-family: var(--nec-font-titulo); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 14px 36px; border-radius: var(--nec-radius); }

/* RODAPÉ */
.site-footer,#colophon { background-color: var(--preto) !important; color: rgba(245,243,238,0.6); font-family: var(--nec-font-corpo); }
.site-footer a,#colophon a { color: rgba(245,243,238,0.6); text-decoration: none; transition: color 0.2s ease; }
.site-footer a:hover,#colophon a:hover { color: var(--laranja); }
.site-footer .widget-title,#colophon .widget-title { font-family: var(--nec-font-titulo) !important; font-weight: 700 !important; color: var(--branco) !important; font-size: 0.85rem; letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 2px solid var(--laranja); display: inline-block; }

/* UTILITÁRIOS */
.nec-secao-preto    { background-color: var(--preto); }
.nec-secao-azul     { background-color: var(--azul); }
.nec-secao-azul-mid { background-color: var(--azul-mid); }
.nec-secao-laranja  { background-color: var(--laranja); }
.nec-secao-branco   { background-color: var(--branco); }
.nec-texto-branco   { color: var(--branco); }
.nec-destaque       { color: var(--laranja); }

.nec-divisor-laranja { border: none; border-top: 3px solid var(--laranja); width: 40px; margin: 12px 0 20px; }

.nec-label-secao { display: flex; align-items: center; gap: 10px; font-family: var(--nec-font-corpo); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--laranja); margin-bottom: 12px; }
.nec-label-secao::before { content: ''; display: inline-block; width: 24px; height: 2px; background: var(--laranja); flex-shrink: 0; }

/* RESPONSIVE */
@media (max-width: 768px) {
    .woocommerce div.product .product_title { font-size: 1.75rem; }
    #form-orcamento { padding: 24px 20px; }
    .nec-tabela-tecnica th,.nec-tabela-tecnica td { padding: 8px 12px; font-size: 0.8rem; }
    .btn-orcar { width: 100%; justify-content: center; }
}
