/*
Theme Name: Hogares en Concreto
Theme URI: https://hogaresenconcretosyd.info/
Author: JP
Author URI: https://hogaresenconcretosyd.info/
Description: Tema principal, construido a medida con Tailwind CSS y soporte nativo para WooCommerce.
Version: 1.0.0
Theme Refresh: 2026-04-24
Requires at least: 5.8
Tested up to: 6.4
Requires PHP: 7.4
Text Domain: hogares-en-concreto
*/
html, body {
    max-width: 100vw;
    overflow-x: hidden;
    position: relative;
    box-sizing: border-box;
}

*, *:before, *:after {
    box-sizing: inherit;
}

/* 
 * Los estilos principales se manejan a través de Tailwind CSS vía CDN (o compilado).
 * Aquí agregamos las clases base que no son de Tailwind.
 */

.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24;
    display: inline-block;
    vertical-align: middle;
}

::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #f1f1f1; 
}
::-webkit-scrollbar-thumb {
    background: #cbd5e1; 
    border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
    background: #94a3b8; 
}
img {
    image-rendering: -webkit-optimize-contrast;
}

/* Limpiar estilos por defecto de WooCommerce para el precio */
.woo-custom-price .amount {
    color: #1A1A1A;
    font-weight: 700;
    font-size: 1.875rem; /* Equivalente a text-3xl */
}
.woo-custom-price del {
    color: #9ca3af;
    font-size: 1.25rem;
    margin-right: 0.5rem;
}

/* Property Listing Styles */
.property-row-card { 
    background: white; 
    border: 1px solid #F1F5F9; 
    border-radius: 1.25rem; 
    overflow: hidden; 
    display: flex; 
    transition: all 0.3s ease; 
    height: 270px; 
    margin-bottom: 2rem; 
}

@media (max-width: 640px) { 
    .property-row-card { flex-direction: column; height: auto; }
    .property-row-card > div:first-child { width: 100%; aspect-ratio: 1 / 1; height: auto; }
    .btn-ver-ficha { display: none !important; }
}

.property-row-card:hover { 
    border-color: #A4DBDE; 
    box-shadow: 0 15px 35px rgba(44, 78, 81, 0.08);
    transform: translateY(-2px);
}

.sidebar-item { 
    font-family: 'Outfit', sans-serif; 
    font-size: 11px; 
    font-weight: 700; 
    text-transform: uppercase; 
    letter-spacing: 0.12em; 
    color: #6B7280; 
    padding: 14px 16px; 
    border-radius: 0.75rem; 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    cursor: pointer; 
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); 
    margin-bottom: 4px; 
}

.sidebar-item:hover:not(.active) { 
    background-color: #ECF9F9; 
    color: #609A9D;
    padding-left: 20px;
}

.sidebar-item.active { 
    background-color: #F9D85F; 
    color: #1A1A1A; 
    box-shadow: 0 4px 12px rgba(249, 216, 95, 0.2);
}

.btn-primary {
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(96, 154, 157, 0.2);
    filter: brightness(1.05);
}

.btn-whatsapp {
    transition: all 0.3s ease;
}

.btn-whatsapp:hover {
    background-color: #22c55e;
    transform: scale(1.02);
    box-shadow: 0 10px 20px rgba(34, 197, 94, 0.2);
}

.tech-value { 
    font-family: 'Inter', sans-serif; 
    font-size: 13px; 
    font-weight: 600; 
    color: #1A1A1A; 
}

.batch-hidden { display: none; opacity: 0; transform: translateY(20px); }
.batch-visible { display: flex; flex-direction: column; opacity: 1; transform: translateY(0); transition: all 0.6s ease; }

/* Accordion Logic */
.faq-card { background: white; border: 1px solid #F1F5F9; border-radius: 1.5rem; overflow: hidden; transition: all 0.3s ease; }
.faq-content { max-height: 0; overflow: hidden; transition: max-height 0.5s ease-out; }
.faq-card.active .faq-content { max-height: 500px; }
.faq-card.active { border-color: #F9D85F; box-shadow: 0 10px 30px rgba(0,0,0,0.05); }
.faq-card.active .toggle-icon { transform: rotate(45deg); color: #B79C2F; }
