/*
 Theme Name: The Handy Brasil Child
 Template: kadence
 Version: 2.2.9
 Description: Child theme para The Handy Brasil. Migrado dos Code Snippets em 2026-05-13.
*/

/* === RESET: OCULTAR ELEMENTOS NATIVOS DO KADENCE === */
.site-header, #masthead,
.entry-hero, .entry-header, .page-title, h1.entry-title,
.site-footer, #colophon, .site-info, .footer-wrap { display: none !important; }
.hw-ann { display: none !important; }
.entry-content .hw-hdr, .entry-content .hw-footer, .entry-content .hw-ann { display: none !important; }
body > .hw-hdr ~ .hw-hdr { display: none !important; }
body { overflow-x: hidden !important; }

/* === HEADER: .hw-hdr === */
.hw-hdr {
    background: #fff;
    height: 64px;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 40px !important;
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 1px solid #eee;
    font-size: 14px !important;
    font-family: inherit !important;
    box-sizing: border-box !important;
    width: 100% !important;
}
.hw-hdr.sc { backdrop-filter: blur(12px); background: rgba(255,255,255,0.88) !important; }
.hw-logo, .hw-fc .hw-logo, .hw-footer .hw-logo {
    text-decoration: none !important; font-size: 21px !important;
    font-weight: 700 !important; color: #000 !important; letter-spacing: -0.5px;
}
.hw-logo span, .hw-fc .hw-logo span, .hw-footer .hw-logo span { color: #1C1E21 !important; font-size: 21px !important; }
.hw-hdr-r { display: flex; align-items: center; gap: 16px; }
.hw-nav { display: flex; list-style: none; margin: 0; padding: 0; gap: 32px; }
.hw-nav li { list-style: none; }
.hw-nav a, .hw-nav a:link, .hw-nav a:visited,
.hw-nav a:hover, .hw-nav a:active, .hw-nav li a {
    text-decoration: none !important; color: #1c1e21 !important;
    font-size: 15px !important; font-weight: 500 !important;
}
.hw-cart-btn, .hw-cart-btn:link, .hw-cart-btn:visited {
    background: #0064E0 !important; color: #fff !important; border-radius: 100px !important;
    padding: 8px 20px; text-decoration: none !important; font-size: 14px !important; font-weight: 600 !important;
}
.hw-cart-btn:hover { background: #0050B3 !important; color: #fff !important; }

/* === FOOTER === */
.hw-footer { display: block !important; width: 100% !important; }
.hw-footer a { text-decoration: none !important; }

/* === SECOES GERAIS === */
.hw-sec { padding: 48px 24px; }
.hw-sec.gray { background: #f3f4f6; }
.hw-con { max-width: 960px !important; margin-left: auto !important; margin-right: auto !important; }
.hw-lbl { font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #2b6cb0; margin-bottom: 8px; }
.hw-h2 { font-size: 28px; font-weight: 700; color: #1c1e21; margin-bottom: 32px; }
.hw-feat-g { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.hw-feat { background: #fff; border-radius: 12px; padding: 20px; }
.hw-feat h3 { font-size: 15px; font-weight: 700; margin: 0 0 8px; color: #1c1e21; }
.hw-feat p { font-size: 13px; color: #555; margin: 0; line-height: 1.5; }
@media (max-width: 640px) { .hw-feat-g { grid-template-columns: 1fr; } }
.hw-specs-table { width: 100%; border-collapse: collapse; }
.hw-specs-table tr { border-bottom: 1px solid #e5e7eb; }
.hw-specs-table td { padding: 12px 0; font-size: 14px; color: #1c1e21; }
.hw-specs-table td:first-child { font-weight: 600; width: 200px; }

/* === ACCORDION GERAL === */
.hw-acc-item { border-bottom: 1px solid #e5e7eb; padding: 0; }
.hw-acc-btn { width: 100%; background: none; border: none; text-align: left; padding: 16px 0; font-size: 15px; font-weight: 600; color: #1c1e21; cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
.hw-acc-btn span { font-size: 20px; font-weight: 300; color: #2b6cb0; }
.hw-acc-body { padding: 0 0 16px; font-size: 14px; color: #444; line-height: 1.6; }

/* === FAQ ACCORDION === */
.hw-faq-body { display: none; padding: 0 0 1em 0; }
.hw-faq-item.open .hw-faq-body { display: block !important; }
.hw-faq-btn {
    cursor: pointer !important; width: 100% !important; text-align: left !important;
    background: none !important; border: none !important; padding: 1em 0 !important;
    font-size: inherit !important; font-weight: 600 !important;
    display: flex !important; justify-content: space-between !important; align-items: center !important;
}
.hw-faq-item.open .hw-faq-btn span { transform: rotate(45deg); display: inline-block; }
.hw-faq-btn:hover, .hw-faq-btn:focus {
    background: transparent !important; color: #1c1e21 !important;
    outline: none !important; box-shadow: none !important;
}
.hw-faq-item > p:empty { display: none !important; margin: 0 !important; }

/* === CATEGORIAS SUPORTE === */
.hw-cat-g { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 20px !important; }
.hw-cat { flex: 0 1 210px !important; }
.hw-cat:empty { display: none !important; }

/* === PRODUTO INDIVIDUAL === */
.woocommerce div.product form.cart { display: block !important; }
.woocommerce div.product form.cart::before,
.woocommerce div.product form.cart::after { display: none !important; content: none !important; }
.woocommerce div.product form.cart div.quantity { display: block !important; float: none !important; margin: 0 0 0.5em 0 !important; }
.woocommerce div.product form.cart .single_add_to_cart_button {
    display: flex !important; align-items: center !important; justify-content: center !important;
    float: none !important; width: 100% !important; box-sizing: border-box !important;
    background-color: #0064E0 !important; border-radius: 100px !important;
    font-weight: 600 !important; font-size: 16px !important; padding: 14px 24px !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover { background-color: #0052c2 !important; }
.single-product .kadence-breadcrumbs { display: none !important; }

/* === PRODUTOS RELACIONADOS: HOVER === */
.woocommerce ul.products.woo-archive-action-on-hover li.product .product-action-wrap {
    background: #fff !important; left: 0 !important; right: 0 !important;
    padding: 10px 15px !important; box-sizing: border-box !important;
}
.woocommerce ul.products.woo-archive-action-on-hover li.product:hover .product-action-wrap,
.woocommerce ul.products.woo-archive-action-on-hover li.product:focus-within .product-action-wrap { bottom: 0 !important; }

/* === FIX: hw-hero overlay containment === */
.hw-hero { position: relative !important; overflow: hidden; }


/* === CSS movido do functions.php (consolidação 19/08/2026) === */

/* bloco 0 */
.hw-hero{position:relative!important;overflow:hidden}
.hw-logo span,.hw-fc .hw-logo span,.hw-footer .hw-logo span{color:#1C1E21!important}

/* bloco 1 */
body.home .entry-content-wrap{padding-top:0!important;}body.home .entry-content.single-content{margin-top:0!important;padding-top:0!important;}.hw-hero{margin-top:0!important;}

/* bloco 2 */
body.home #primary.content-area{margin-top:0!important;}


/* === Home Handy 2 (19/08/2026) === */
.hw-hero-kicker{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0B63F6;margin-bottom:14px}
.hw-hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
a.hw-bp.hw-bp--ghost{background:#fff!important;color:#1C1E21!important;border:1px solid #DEE3E9!important}
a.hw-bp.hw-bp--ghost:hover{background:#F3F5F7!important}
a.hw-bp.hw-bp--dark{background:#2A2D31!important;color:#fff!important}
.hw-hero-badges{display:flex;gap:20px;flex-wrap:wrap;margin-top:22px;color:#5B6470;font-size:14px}
.hw-hero-badges span{display:flex;align-items:center;gap:7px}
.hw-hero-badges span::before{content:"";width:7px;height:7px;border-radius:50%;background:#22C55E;display:inline-block}
.hw-h2banner{position:relative;background-size:cover;background-position:center;border-radius:24px;max-width:1240px;margin:40px auto;overflow:hidden;min-height:420px;display:flex;align-items:center;justify-content:center}
.hw-h2banner-overlay{position:relative;text-align:center;color:#fff;padding:60px 24px;width:100%;background:rgba(15,18,22,.45)}
.hw-h2banner-overlay h2{font-size:40px;font-weight:700;margin:14px 0 10px;color:#fff}
.hw-h2banner-overlay p{font-size:18px;color:#E6E9ED;max-width:560px;margin:0 auto 22px}
.hw-h2banner-chips{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.hw-h2banner-chips span{background:#fff;color:#1C1E21;border-radius:999px;padding:7px 16px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:7px}
.hw-h2banner-chips span::before{content:"";width:7px;height:7px;border-radius:50%;background:#22C55E}
.hw-h2banner-ctas{justify-content:center}
.hw-easy-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px}
.hw-easy-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 1px 4px rgba(16,24,40,.08);text-align:center;padding-bottom:20px}
.hw-easy-card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.hw-easy-card h3{font-size:19px;font-weight:700;margin-top:16px}
.hw-pcard--featured{position:relative;outline:2px solid #0B63F6;outline-offset:-2px;border-radius:16px}
.hw-pcard-badge{position:absolute;top:12px;left:12px;background:#0B63F6;color:#fff;font-size:12px;font-weight:700;padding:4px 12px;border-radius:999px;z-index:2}
@media(max-width:860px){.hw-easy-cards{grid-template-columns:1fr}.hw-h2banner-overlay h2{font-size:28px}.hw-h2banner{border-radius:0;margin:24px 0}}

@media(min-width:1024px){.hw-products{grid-template-columns:repeat(4,1fr)!important}}
@media(min-width:640px) and (max-width:1023px){.hw-products{grid-template-columns:repeat(2,1fr)!important}}


/* === Hero video + USP row (19/08/2026) === */
.hw-hero--video{position:relative;width:auto!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;min-height:640px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;background:#C9CDD2;padding:0}
.hw-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hw-hero-vign{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.38) 100%)}
.hw-hero--video .hw-hero-overlay{position:relative;text-align:center;color:#fff;padding:0 24px 72px;max-width:760px}
.hw-hero--video .hw-hero-h1{color:#fff;font-size:44px;font-weight:600;line-height:1.15;margin-bottom:14px}
.hw-hero--video .hw-hero-sub{color:#F0F2F4;font-size:18px;margin-bottom:24px}
.hw-hero--video .hw-hero-ctas{justify-content:center}
a.hw-bp.hw-bp--white{background:#fff!important;color:#1C1E21!important}
a.hw-bp.hw-bp--white:hover{background:#EDEFF2!important}
.hw-usp{display:flex;justify-content:space-around;align-items:center;max-width:1240px;margin:0 auto;padding:38px 24px;flex-wrap:wrap;gap:24px}
.hw-usp-item{display:flex;flex-direction:column;align-items:center;gap:10px;color:#1C1E21;font-size:15px}
.hw-usp-item svg{width:34px;height:34px}
@media(max-width:860px){.hw-hero--video{min-height:480px}.hw-hero--video .hw-hero-h1{font-size:30px}.hw-usp{gap:18px;padding:28px 16px}.hw-usp-item{flex:1 1 30%}}


/* === Loja: alinhar preços na mesma altura (19/08/2026) === */
.hw-pgrid{align-items:stretch}
.hw-pcard2{display:flex;flex-direction:column;height:100%}
.hw-pcard2-name{flex:0 0 auto}
.hw-pcard2-price{margin-top:auto!important;padding-top:8px}

.hw-pcard2-img{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hw-pcard2-img img{width:100%;height:100%;object-fit:contain}
.hw-pcard2-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em}


/* === Respiro interno nos cards (19/08/2026) === */
.hw-pcard2-name{padding:12px 16px 0!important}
.hw-pcard2-price{padding:8px 16px 16px!important}
.hw-fc-title{padding:14px 16px 0!important}
.hw-fc-subtitle{padding:4px 16px 16px!important}


/* === Remover vão sob o header em páginas (27/08/2026) === */
body.page .content-area{margin-top:0!important}
body.page .entry-content-wrap{padding-top:0!important}


/* === Matar <p> vazios do wpautop nos grids (27/08/2026) === */
.hw-rel-g > p, .hw-rcard > p:empty, .hw-feat-g > p, .hw-pgrid > p{display:none!important}


/* --- PDP Handy 2: fix mobile overflow (galeria/colunas 400px) --- */
@media (max-width: 900px){
  .hw-pdp-g{grid-template-columns:minmax(0,1fr) !important;}
  .hw-pdp-g > *, .hw-pdp-g .hw-gal, .hw-pdp-info{min-width:0 !important;width:auto !important;max-width:100% !important;}
  .hw-gal img{width:100% !important;height:auto !important;}
}


/* --- Espacamento mais compacto nas paginas de produto (Handy 2 custom + PDPs) --- */
.hw-sec{padding:40px 0 !important;}
.hw-sec .hw-wrap{padding-top:0 !important;padding-bottom:0 !important;}


/* --- Secao CTA Handy 1 na home --- */
@media (max-width: 820px){
  .hw-h1cta-card{grid-template-columns:1fr !important;}
  .hw-h1cta-card > div:last-child{min-height:0 !important;order:-1;}
  .hw-h1cta-card > div:last-child img{height:280px !important;}
}
.hw-h1cta a:hover{background:#0052b8 !important;}


/* --- Formas de explorar: grid 4 col no desktop, carrossel snap no mobile, textos alinhados --- */
.hw-fc-card{width:100% !important;max-width:100% !important;height:100%;display:flex;flex-direction:column;}
.hw-fc-card > p:empty{display:none !important;}
.hw-fc-title{margin:16px 16px 6px !important;padding:0 !important;}
.hw-fc-subtitle{margin:0 16px 18px !important;padding:0 !important;}
.hw-fc-img{width:100% !important;object-fit:cover !important;}
@media (min-width: 821px){
  .hw-fc-cards{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:16px !important;overflow:visible !important;}
  .hw-fc-item{width:auto !important;min-width:0 !important;flex:none !important;}
  .hw-fc-img{height:320px !important;}
}
@media (max-width: 820px){
  .hw-feature-cards{padding-left:16px !important;padding-right:16px !important;}
  .hw-fc-cards{display:flex !important;overflow-x:auto !important;gap:14px !important;scroll-snap-type:x mandatory;padding-bottom:8px;-webkit-overflow-scrolling:touch;}
  .hw-fc-item{flex:0 0 85% !important;max-width:320px;scroll-snap-align:start;}
  .hw-fc-img{height:250px !important;}
}


/* --- Tipografia da pagina Handy 2 alinhada as PDPs Woo (h1 39, preco 30) --- */
.hw-pdp-info h1{font-size:39px !important;}
.hw-pdp-info .hw-price{font-size:30px !important;}
