/*
Theme Name: HEZZA House
Theme URI: https://hezzahouse.com.br
Author: HEZZA House
Description: Tema próprio da HEZZA House — loja de móveis, organização, casa e escritório. Construído do zero, sem frameworks, compatível com WooCommerce.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: hezza-house
Tags: e-commerce, woocommerce, custom-background, custom-menu, custom-logo, translation-ready
*/

:root {
    --hh-primary: #0f2049;
    --hh-primary-light: #1c3566;
    --hh-accent: #c08a4e;
    --hh-accent-dark: #a06f38;
    --hh-bg: #ffffff;
    --hh-bg-alt: #f7f5f2;
    --hh-text: #1f2937;
    --hh-muted: #6b7280;
    --hh-border: #e5e7eb;
    --hh-radius: 8px;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: 'Poppins', system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    color: var(--hh-text);
    background: var(--hh-bg);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 {
    line-height: 1.25;
    font-weight: 700;
    margin: 0 0 0.75rem;
}

a {
    color: var(--hh-accent);
    text-decoration: none;
    transition: color 0.15s ease;
}

a:hover {
    color: var(--hh-accent-dark);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.hh-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

.hh-btn {
    display: inline-block;
    background: var(--hh-accent);
    color: #fff;
    padding: 0.75rem 1.75rem;
    border-radius: var(--hh-radius);
    font-weight: 600;
    border: none;
    cursor: pointer;
}

.hh-btn:hover {
    background: var(--hh-accent-dark);
    color: #fff;
}

/* Header */
.hh-header {
    background: var(--hh-primary);
    color: #fff;
    padding: 1.25rem 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

.hh-header .hh-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}

.hh-logo {
    font-size: 1.5rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.02em;
}

.hh-nav ul {
    list-style: none;
    display: flex;
    gap: 2rem;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}

.hh-nav a {
    color: #e5e7eb;
    font-weight: 500;
    font-size: 0.95rem;
}

.hh-nav a:hover {
    color: #fff;
}

.hh-cart-link {
    color: var(--hh-accent);
    font-weight: 600;
    background: rgba(255, 255, 255, 0.08);
    padding: 0.4rem 0.9rem;
    border-radius: var(--hh-radius);
}

.hh-cart-link:hover {
    background: rgba(255, 255, 255, 0.15);
    color: var(--hh-accent);
}

/* Hero (home) */
.hh-hero {
    background: linear-gradient(135deg, var(--hh-primary) 0%, var(--hh-primary-light) 100%);
    color: #fff;
    padding: 4rem 1.5rem;
    text-align: center;
}

.hh-hero h1 {
    font-size: 2.25rem;
    margin-bottom: 0.5rem;
}

.hh-hero p {
    color: #d1d5db;
    font-size: 1.1rem;
    max-width: 560px;
    margin: 0 auto 1.5rem;
}

/* Banner principal (imagem, quando cadastrado no Personalizar) */
.hh-hero-banner-link {
    display: block;
}

.hh-hero-banner-img {
    width: 100%;
    max-height: 480px;
    object-fit: cover;
}

.hh-hero-hint {
    font-size: 0.8rem;
    color: #9ca3af;
    margin-top: 1rem;
}

/* Banners menores, lado a lado */
.hh-mini-banners {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.25rem;
    margin: 2.5rem 0;
}

.hh-mini-banner img {
    width: 100%;
    border-radius: var(--hh-radius);
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

/* Seções por categoria */
.hh-category-section {
    padding: 2.5rem 0;
    border-top: 1px solid var(--hh-border);
}

.hh-category-section-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 1.5rem;
}

.hh-category-section-header h2 {
    font-size: 1.4rem;
    margin: 0;
}

.hh-see-all {
    font-weight: 600;
    font-size: 0.9rem;
    white-space: nowrap;
}

/* Seções da home */
.hh-featured-products {
    padding: 3rem 0;
}

.hh-featured-products h2 {
    text-align: center;
    font-size: 1.6rem;
    margin-bottom: 2rem;
}

.hh-empty-state {
    text-align: center;
    color: var(--hh-muted);
    background: var(--hh-bg-alt);
    border: 1px dashed var(--hh-border);
    border-radius: var(--hh-radius);
    padding: 2.5rem 1.5rem;
}

/* Footer */
.hh-footer {
    background: var(--hh-primary);
    color: #9ca3af;
    padding: 2.5rem 0;
    margin-top: 3rem;
    font-size: 0.9rem;
}

.hh-footer .hh-nav ul {
    gap: 1.5rem;
    margin-bottom: 1rem;
}

.hh-footer .hh-nav a {
    color: #d1d5db;
}

/* WooCommerce — grade de produtos */
.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    list-style: none;
    padding: 0;
}

/*
 * O WooCommerce usa um "clearfix" antigo (::before/::after com display:table)
 * feito pra layout com float. Com display:grid, esse pseudo-elemento vira um
 * item de verdade do grid e ocupa uma das colunas, empurrando um produto pra
 * linha de baixo. Desativamos os dois aqui.
 */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
    content: none;
    display: none;
}

/*
 * O WooCommerce também define grid-template-columns direto em
 * ".woocommerce ul.products.columns-3" (com a classe columns-N no próprio
 * <ul>), que é mais específico que nosso ".woocommerce ul.products" sozinho.
 * Repetimos aqui pra travar 4 colunas independente de qual columns-N o
 * WooCommerce decidiu usar.
 */
.woocommerce ul.products.columns-1,
.woocommerce ul.products.columns-2,
.woocommerce ul.products.columns-3,
.woocommerce ul.products.columns-4,
.woocommerce ul.products.columns-5,
.woocommerce ul.products.columns-6 {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1024px) {
    .woocommerce ul.products,
    .woocommerce ul.products.columns-1,
    .woocommerce ul.products.columns-2,
    .woocommerce ul.products.columns-3,
    .woocommerce ul.products.columns-4,
    .woocommerce ul.products.columns-5,
    .woocommerce ul.products.columns-6 {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 700px) {
    .woocommerce ul.products,
    .woocommerce ul.products.columns-1,
    .woocommerce ul.products.columns-2,
    .woocommerce ul.products.columns-3,
    .woocommerce ul.products.columns-4,
    .woocommerce ul.products.columns-5,
    .woocommerce ul.products.columns-6 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 460px) {
    .woocommerce ul.products,
    .woocommerce ul.products.columns-1,
    .woocommerce ul.products.columns-2,
    .woocommerce ul.products.columns-3,
    .woocommerce ul.products.columns-4,
    .woocommerce ul.products.columns-5,
    .woocommerce ul.products.columns-6 {
        grid-template-columns: 1fr;
    }
}

/*
 * O WooCommerce tem regras próprias tipo ".woocommerce ul.products.columns-3
 * li.product { width: 30.75%; float: left; }" que são mais específicas que
 * um simples "li.product" nosso (têm a classe .columns-N a mais) e por isso
 * vencem mesmo vindo antes no arquivo. Repetimos a mesma especificidade aqui
 * pra anular width/float em todas as variações de coluna que o WooCommerce usa.
 */
.woocommerce ul.products.columns-1 li.product,
.woocommerce ul.products.columns-2 li.product,
.woocommerce ul.products.columns-3 li.product,
.woocommerce ul.products.columns-4 li.product,
.woocommerce ul.products.columns-5 li.product,
.woocommerce ul.products.columns-6 li.product {
    width: auto;
    float: none;
    margin: 0;
}

.woocommerce ul.products li.product {
    background: transparent;
    border: none;
    padding: 0;
    text-align: left;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
    display: block;
    overflow: hidden;
    border-radius: var(--hh-radius);
    margin-bottom: 0.75rem;
}

.woocommerce ul.products li.product img {
    border: 1px solid var(--hh-border);
    border-radius: var(--hh-radius);
    margin-bottom: 0;
    transition: transform 0.2s ease;
}

.woocommerce ul.products li.product:hover img {
    transform: scale(1.03);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--hh-text);
    margin: 0 0 0.35rem;
    line-height: 1.3;
    transition: color 0.15s ease;
}

.woocommerce ul.products li.product:hover .woocommerce-loop-product__title {
    color: var(--hh-title-hover);
}

.woocommerce ul.products li.product .star-rating {
    font-size: 0.8rem;
    margin-bottom: 0.35rem;
}

.woocommerce ul.products li.product .price {
    display: block;
    font-size: var(--hh-price-size, 0.95rem);
    font-weight: 700;
    color: var(--hh-price-color, var(--hh-text));
}

.woocommerce ul.products li.product .price del {
    color: var(--hh-muted);
    font-weight: 400;
    font-size: 0.85rem;
    text-decoration: line-through;
}

.woocommerce ul.products li.product .price ins {
    text-decoration: none;
    color: var(--hh-text);
}

.woocommerce ul.products li.product .hh-installments {
    text-align: left;
    margin: 0.15rem 0 0.4rem;
}

/* Tag "Frete rápido", no lugar do botão de comprar dentro do card */
.woocommerce ul.products li.product .hh-shipping-tag {
    display: block;
    color: #16a34a;
    font-size: 0.8rem;
    font-weight: 600;
}

/* Selos personalizados (Frete Grátis, Promoção etc.) sobre a imagem */
.woocommerce ul.products li.product {
    position: relative;
}

.hh-badges {
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    z-index: 2;
}

.hh-badge {
    background: var(--hh-primary);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

/* O botão de adicionar ao carrinho some do card — clique vai pra página do produto */
.woocommerce ul.products li.product .button {
    display: none;
}

.woocommerce a.button, .woocommerce button.button {
    background: var(--hh-accent);
    color: #fff;
    border-radius: var(--hh-radius);
    padding: 0.6rem 1.25rem;
}

.woocommerce a.button:hover, .woocommerce button.button:hover {
    background: var(--hh-accent-dark);
    color: #fff;
}

/* ===== Reforma visual — referência HEZZA House ===== */

/* Barra de topo */
.hh-topbar {
    background: var(--hh-primary);
    color: #e5e7eb;
    font-size: 0.8rem;
}

.hh-topbar-inner {
    padding: 0.5rem 1.5rem;
    text-align: center;
}

/* Header principal */
.hh-main-header {
    background: #fff;
    border-bottom: 1px solid var(--hh-border);
    padding: 1rem 0;
}

.hh-main-header-inner {
    display: flex;
    align-items: center;
    gap: 2rem;
    flex-wrap: wrap;
}

.hh-logo {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--hh-primary);
}

.hh-search-form {
    flex: 1;
    display: flex;
    min-width: 240px;
    border: 1px solid var(--hh-border);
    border-radius: var(--hh-radius);
    overflow: hidden;
}

.hh-search-form input[type="search"] {
    flex: 1;
    border: none;
    padding: 0.6rem 1rem;
    font-size: 0.95rem;
}

.hh-search-form input[type="search"]:focus {
    outline: none;
}

.hh-search-form button {
    border: none;
    background: transparent;
    padding: 0 1rem;
    cursor: pointer;
}

.hh-header-actions {
    display: flex;
    align-items: center;
    gap: 1.75rem;
}

.hh-header-action {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--hh-text);
    font-size: 0.85rem;
    font-weight: 500;
    white-space: nowrap;
    line-height: 1.25;
}

.hh-header-action:hover {
    color: var(--hh-primary);
}

.hh-header-action .hh-icon,
svg.hh-icon {
    width: 22px !important;
    height: 22px !important;
    max-width: 22px;
    max-height: 22px;
    flex-shrink: 0;
    display: block;
}

.hh-action-label {
    display: flex;
    flex-direction: column;
}

.hh-action-label strong {
    font-weight: 600;
}

.hh-cart-action {
    position: relative;
}

.hh-cart-count {
    position: absolute;
    top: -6px;
    left: 14px;
    background: var(--hh-accent);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    min-width: 17px;
    height: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.25rem;
    border-radius: 999px;
    margin-left: 0;
}

@media (max-width: 900px) {
    .hh-action-label {
        display: none;
    }
    .hh-header-actions {
        gap: 1.25rem;
    }
}

/* Barra de categorias */
.hh-category-bar {
    background: var(--hh-primary);
}

.hh-category-bar-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.hh-category-bar .hh-nav ul {
    gap: 1.75rem;
    padding: 0.75rem 0;
}

.hh-category-bar .hh-nav a {
    color: #e5e7eb;
    font-size: 0.9rem;
}

.hh-whatsapp-link {
    color: #6ee7a8;
    font-weight: 700;
    font-size: 0.9rem;
}

/* Hero */
.hh-hero {
    background: var(--hh-bg-alt);
    padding: 3rem 0;
}

.hh-hero-inner {
    display: flex;
    align-items: center;
    gap: 3rem;
    flex-wrap: wrap;
}

.hh-hero-text {
    flex: 1;
    min-width: 280px;
}

.hh-hero-eyebrow {
    color: var(--hh-muted);
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.hh-hero h1 {
    font-size: 2.5rem;
    color: var(--hh-primary);
}

.hh-hero-subtitle {
    color: var(--hh-muted);
    font-size: 1.05rem;
    max-width: 420px;
}

.hh-hero-image {
    flex: 1;
    min-width: 280px;
}

.hh-hero-image img {
    border-radius: var(--hh-radius);
}

.hh-hero--image .hh-hero-text h1 {
    color: var(--hh-primary);
}

/* Ícones de categoria */
.hh-cat-icons {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 2.5rem 0;
    text-align: center;
}

.hh-cat-icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    color: var(--hh-text);
    font-size: 0.85rem;
    font-weight: 600;
    flex: 1;
    min-width: 90px;
}

.hh-cat-icon-circle {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--hh-bg-alt);
    border: 1px solid var(--hh-border);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.hh-cat-icon-circle img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Barra de benefícios */
.hh-benefits {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1.5rem;
    padding: 1.5rem 0;
    border-top: 1px solid var(--hh-border);
    border-bottom: 1px solid var(--hh-border);
}

.hh-benefit {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.hh-benefit-icon {
    font-size: 1.5rem;
}

.hh-benefit div {
    display: flex;
    flex-direction: column;
    font-size: 0.85rem;
}

.hh-benefit strong {
    color: var(--hh-text);
}

.hh-benefit span {
    color: var(--hh-muted);
}

/* Coleções para inspirar */
.hh-collections {
    padding: 2.5rem 0;
}

.hh-collections h2 {
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
}

.hh-collections-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

@media (max-width: 900px) {
    .hh-collections-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 460px) {
    .hh-collections-grid {
        grid-template-columns: 1fr;
    }
}

.hh-collection-card {
    position: relative;
    display: block;
    border-radius: var(--hh-radius);
    overflow: hidden;
    color: #fff;
}

.hh-collection-card img {
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    display: block;
}

.hh-collection-caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1.25rem 1rem 1rem;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.55) 55%, transparent 100%);
    display: flex;
    flex-direction: column;
}

.hh-collection-caption strong {
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

/* Parcelamento no preço */
.hh-installments {
    display: block;
    font-size: 0.78rem;
    color: var(--hh-muted);
    font-weight: 400;
}

/* Rodapé em colunas */
.hh-footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
    gap: 2rem;
    padding: 3rem 0 2rem;
}

.hh-footer-col h4 {
    color: #fff;
    font-size: 0.95rem;
    margin-bottom: 1rem;
}

.hh-footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.hh-footer-menu a {
    color: #9ca3af;
    font-size: 0.9rem;
}

.hh-footer-contact {
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    color: #9ca3af;
    font-size: 0.9rem;
}

.hh-footer-socials {
    display: flex;
    gap: 1rem;
}

.hh-footer-socials a {
    color: #d1d5db;
    font-size: 0.85rem;
}

.hh-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding: 1.25rem 1.5rem;
    font-size: 0.8rem;
}

@media (max-width: 782px) {
    .hh-footer-grid {
        grid-template-columns: 1fr 1fr;
    }
    .hh-hero-inner {
        flex-direction: column;
    }
}

/* ===== Página de produto ===== */

.hh-single-product {
    padding: 2rem 0 3rem;
}

.woocommerce-breadcrumb {
    font-size: 0.85rem;
    color: var(--hh-muted);
    margin-bottom: 1.5rem;
}

.woocommerce-breadcrumb a {
    color: var(--hh-muted);
}

.hh-product-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
}

.hh-product-gallery img {
    border-radius: var(--hh-radius);
}

.hh-product-summary .product_title {
    font-size: 1.6rem;
    margin-bottom: 0.5rem;
}

.hh-product-summary .price {
    font-size: 1.6rem;
    color: var(--hh-accent);
    font-weight: 700;
    display: block;
    margin: 1rem 0;
}

.hh-product-summary .hh-installments {
    font-size: 0.9rem;
}

.hh-product-summary form.cart {
    margin: 1.5rem 0;
}

.hh-product-summary .button {
    background: var(--hh-primary);
    color: #fff;
    padding: 0.9rem 2rem;
    border-radius: var(--hh-radius);
    font-weight: 600;
    border: none;
    cursor: pointer;
    width: 100%;
}

.hh-product-summary .button:hover {
    background: var(--hh-primary-light);
    color: #fff;
}

.hh-product-benefits {
    margin: 2.5rem 0;
}

.hh-product-tabs {
    margin-top: 3rem;
}

.hh-product-tabs .wc-tabs {
    display: flex;
    gap: 1.5rem;
    list-style: none;
    padding: 0;
    border-bottom: 1px solid var(--hh-border);
    margin-bottom: 1.5rem;
}

.hh-product-tabs .wc-tabs li a {
    color: var(--hh-text);
    font-weight: 600;
    padding-bottom: 0.75rem;
    display: inline-block;
}

.hh-product-tabs .related.products {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--hh-border);
}

.hh-product-tabs .related.products > h2 {
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
}

@media (max-width: 782px) {
    .hh-product-layout {
        grid-template-columns: 1fr;
    }
}