/*!
Theme Name:   Kadence Child — Golbano Propiedades
Theme URI:    https://golbano.com.ar
Description:  Child theme de Kadence para el sitio inmobiliario Golbano Propiedades.
Author:       Golbano Propiedades
Template:     kadence
Version:      1.0.0
License:      GNU General Public License v3.0
License URI:  https://www.gnu.org/licenses/gpl-3.0.html
Text Domain:  kadence-child
*/

/*
 * ══════════════════════════════════════════════════════
 *  DESIGN SYSTEM — Golbano Propiedades
 * ══════════════════════════════════════════════════════
 */

:root {
	/* ── Paleta de color ── */
	--gb-navy:        #1D2734;       /* Navy principal — Golbano */
	--gb-navy-mid:    #1a2433;       /* Navy intermedio */
	--gb-navy-soft:   #2e4560;       /* Navy suavizado para hovers */
	--gb-warm:        #c9a86c;       /* Dorado arena — acento principal */
	--gb-warm-lt:     #F8F0EB;       /* Crema — fondo cálido de acento */
	--gb-warm-mid:    #e8d5b0;

	/* ── Neutrales ── */
	--gb-bg:          #FFFFFF;       /* Fondo general — blanco cálido */
	--gb-surface:     #ffffff;
	--gb-surface-2:   #faf9f7;       /* Superficie elevada sutil */
	--gb-border:      #ede9e3;       /* Borde muy suave */
	--gb-border-mid:  #d9d4cc;       /* Borde con más presencia */

	/* ── Texto ── */
	--gb-text-primary:   #1a1a2e;    /* Casi negro, no duro */
	--gb-text-secondary: #4a4a5a;
	--gb-text-muted:     #8b8b9e;
	--gb-text-light:     #b0afc0;

	/* ── Footer ── */
	--gb-footer-text:   #c8d0d8;     /* Texto y links del footer */
	--gb-footer-border: rgba(247, 242, 237, 0.08); /* Separadores del footer */

	/* ── Acento funcional ── */
	--gb-wa:          #22c55e;       /* WhatsApp — verde más moderno */

	/* ── Tipografías ── */
	--gb-font-sans:   'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--gb-font-serif:  'Playfair Display', Georgia, serif;

	/* ── Sistema de espaciado (base 8px) ── */
	--sp-1:  4px;
	--sp-2:  8px;
	--sp-3:  12px;
	--sp-4:  16px;
	--sp-5:  20px;
	--sp-6:  24px;
	--sp-8:  32px;
	--sp-10: 40px;
	--sp-12: 48px;
	--sp-16: 64px;

	/* ── Radios ── */
	--gb-r-sm:  8px;
	--gb-r-md:  12px;
	--gb-r-lg:  16px;
	--gb-r-xl:  24px;

	/* ── Sombras ── */
	--gb-shadow-xs:   0 1px 2px rgba(33, 43, 55, 0.04);
	--gb-shadow-sm:   0 1px 4px rgba(33, 43, 55, 0.06), 0 4px 12px rgba(33, 43, 55, 0.04);
	--gb-shadow-md:   0 4px 16px rgba(33, 43, 55, 0.08), 0 1px 4px rgba(33, 43, 55, 0.04);
	--gb-shadow-lg:   0 8px 32px rgba(33, 43, 55, 0.12), 0 2px 8px rgba(33, 43, 55, 0.06);
	--gb-shadow-hover:0 12px 40px rgba(33, 43, 55, 0.14), 0 4px 12px rgba(33, 43, 55, 0.06);

	/* ── Transiciones ── */
	--gb-transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

/*
 * ══════════════════════════════════════════════════════
 *  RESET Y BASE
 * ══════════════════════════════════════════════════════
 */


body {
	font-family: var(--gb-font-sans);
	background-color: var(--gb-bg);
	color: var(--gb-text-secondary);
	font-size: 15px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
	color: var(--gb-text-primary);
	line-height: 1.25;
	font-weight: 700;
	letter-spacing: -0.02em;
}

h1 { font-size: clamp(28px, 4vw, 42px); }
h2 { font-size: clamp(22px, 3vw, 32px); }
h3 { font-size: clamp(18px, 2.5vw, 24px); }

.gb-serif { font-family: var(--gb-font-serif); letter-spacing: 0; }

p { line-height: 1.65; }

a {
	color: var(--gb-navy);
	transition: color 0.18s ease;
}
a:hover { color: var(--gb-navy-soft); }

/*
 * ══════════════════════════════════════════════════════
 *  BOTONES
 * ══════════════════════════════════════════════════════
 */

.gb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--sp-2);
	padding: 13px 28px;
	border-radius: var(--gb-r-sm);
	font-family: var(--gb-font-sans);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: -0.01em;
	text-decoration: none;
	cursor: pointer;
	transition: var(--gb-transition);
	border: none;
	white-space: nowrap;
}

.gb-btn:hover {
	transform: translateY(-2px);
	text-decoration: none;
}

.gb-btn:active {
	transform: translateY(0);
}

.gb-btn--primary {
	background: var(--gb-navy);
	color: #fff;
	box-shadow: 0 2px 8px rgba(33, 43, 55, 0.3);
}
.gb-btn--primary:hover {
	background: var(--gb-navy-mid);
	box-shadow: 0 6px 20px rgba(33, 43, 55, 0.35);
	color: #fff;
}

.gb-btn--warm {
	background: #F7F2ED;
	color: var(--gb-navy);
	box-shadow: 0 2px 12px rgba(247, 242, 237, 0.2);
}
.gb-btn--warm:hover {
	background: #ece4d9;
	box-shadow: 0 6px 24px rgba(247, 242, 237, 0.35);
	color: var(--gb-navy);
}

.gb-btn--wa {
	background: var(--gb-wa);
	color: #fff;
	box-shadow: 0 2px 8px rgba(34, 197, 94, 0.3);
}
.gb-btn--wa:hover {
	filter: brightness(1.05);
	box-shadow: 0 6px 20px rgba(34, 197, 94, 0.4);
	color: #fff;
}

.gb-btn--ghost {
	background: transparent;
	color: var(--gb-navy);
	border: 1.5px solid var(--gb-border-mid);
}
.gb-btn--ghost:hover {
	border-color: var(--gb-navy);
	background: var(--gb-surface-2);
	color: var(--gb-navy);
}

/*
 * ══════════════════════════════════════════════════════
 *  BADGES
 * ══════════════════════════════════════════════════════
 */

.gb-badge {
	display: inline-flex;
	align-items: center;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 6px;
	line-height: 1;
}

.gb-badge--venta {
	background: rgba(33, 43, 55, 0.88);
	color: #fff;
	backdrop-filter: blur(4px);
}

.gb-badge--alquiler {
	background: #F7F2ED;
	color: var(--gb-navy);
	backdrop-filter: blur(4px);
}

.gb-badge--reservada {
	background: rgba(251, 191, 36, 0.9);
	color: #1a1a00;
	backdrop-filter: blur(4px);
}

.gb-badge--cerrada {
	background: rgba(139, 139, 158, 0.88);
	color: #fff;
	backdrop-filter: blur(4px);
}

.gb-badge--oportunidad {
	background: rgba(200, 30, 30, 0.92);
	color: #fff;
	backdrop-filter: blur(4px);
}

/*
 * ══════════════════════════════════════════════════════
 *  FOOTER — Layout, tipografía y responsive
 * ══════════════════════════════════════════════════════
 */

/* — Layout desktop — */
.site-footer-row-container-inner {
	padding-top: 64px !important;
	padding-bottom: 20px !important;
}

.site-footer-row.site-footer-row-columns-5 {
	grid-template-columns: 29fr 17fr 17fr 17fr 20fr !important;
	gap: 40px !important;
	align-items: start !important;
}

/* Separador derecho en la columna del logo */
.site-footer-row.site-footer-row-columns-5 .footer-widget1 {
	padding-right: 40px;
	border-right: 1px solid var(--gb-footer-border);
}

/* — Títulos h4: Playfair + línea dorada — */
.footer-widget-area-inner h4 {
	font-family: var(--gb-font-serif) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	color: #F7F2ED !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	line-height: 1.4 !important;
	padding-bottom: 12px !important;
	margin: 0 0 20px 0 !important;
	position: relative;
}

.footer-widget-area-inner h4::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 20px;
	height: 2px;
	background: var(--gb-warm-mid);
	border-radius: 2px;
}

/* — Tagline del logo — */
.footer-widget1 .footer-widget-area-inner p {
	font-size: 13px !important;
	font-style: italic !important;
	color: #F7F2ED !important;
	opacity: 0.5 !important;
	line-height: 1.6 !important;
	letter-spacing: 0.01em !important;
	padding: 0 !important;
	margin-top: 10px !important;
}

/* — Listas sin bullets — */
.footer-widget-area-inner ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* — Links y párrafos: tipografía base compartida — */
.footer-widget-area-inner li a,
.footer-widget-area-inner p,
.footer-widget-area-inner p a {
	font-family: var(--gb-font-sans) !important;
	font-size: 14px !important;
	font-weight: 300 !important;
	color: var(--gb-footer-text) !important;
	text-decoration: none !important;
}

/* Links de lista */
.footer-widget-area-inner li a {
	display: inline-block;
	padding: 10px 0;
	line-height: 1;
	transition: color 0.2s ease, transform 0.2s ease;
}

/* Párrafos de contacto */
.footer-widget-area-inner p {
	padding: 10px 0 !important;
	line-height: 1 !important;
	margin: 0 !important;
}

.footer-widget-area-inner p a {
	display: inline-block;
	transition: color 0.2s ease, transform 0.2s ease;
}

/* Hover unificado */
.footer-widget-area-inner li a:hover,
.footer-widget-area-inner p a:hover {
	color: var(--gb-warm-mid) !important;
	transform: translateX(4px);
}

/* — Iconos redes sociales — */
.gb-footer-social {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 14px;
}

.gb-footer-social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1px solid rgba(247, 242, 237, 0.15);
	color: var(--gb-footer-text) !important;
	font-size: 13px;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.gb-footer-social a:hover {
	background: var(--gb-warm-mid);
	border-color: var(--gb-warm-mid);
	color: var(--gb-navy) !important;
	transform: translateY(-2px);
}

/* — Copyright bar — */
.site-footer-row.site-footer-row-columns-1 {
	border-top: 1px solid var(--gb-footer-border) !important;
	text-align: center !important;
}

.site-footer-row.site-footer-row-columns-1 .footer-widget-area-inner p {
	font-size: 12px !important;
	letter-spacing: 0.02em !important;
	opacity: 0.7 !important;
	padding: 0 !important;
}

.site-footer-row.site-footer-row-columns-1 .footer-widget-area-inner p a:hover {
	color: var(--gb-warm-mid) !important;
	opacity: 1;
	transform: none;
}

/* — Mobile — */
@media (max-width: 767px) {
	.site-footer-row-container-inner {
		padding-top: 40px !important;
		padding-bottom: 20px !important;
	}

	/* Stack en 1 columna */
	.site-footer-row.site-footer-row-columns-5 {
		display: flex !important;
		flex-direction: column !important;
		gap: 0 !important;
	}

	/* Logo: centrado, sin borde derecho, separador inferior */
	.site-footer-row.site-footer-row-columns-5 .footer-widget1 {
		padding: 0 0 28px 0 !important;
		border-right: none !important;
		border-bottom: 1px solid var(--gb-footer-border) !important;
		margin-bottom: 4px !important;
		text-align: center !important;
	}

	/* Centrar imagen del logo (override clase Kadence mobile) */
	.footer-widget1.content-mobile-align-default .wp-block-kadence-image {
		display: flex !important;
		justify-content: center !important;
	}

	.footer-widget1.content-mobile-align-default figure {
		margin: 0 auto !important;
	}

	/* Acento dorado centrado bajo el logo */
	.footer-widget1 .footer-widget-area-inner h4::after {
		left: 50%;
		transform: translateX(-50%);
	}

	/* Propiedades: sin separador superior (sigue al logo) */
	.site-footer-row.site-footer-row-columns-5 .footer-widget2 {
		border-top: none !important;
		padding: 24px 0 !important;
	}

	/* Zonas, Páginas, Contacto: con separador superior */
	.site-footer-row.site-footer-row-columns-5 .footer-widget3,
	.site-footer-row.site-footer-row-columns-5 .footer-widget4,
	.site-footer-row.site-footer-row-columns-5 .footer-widget5 {
		border-top: 1px solid var(--gb-footer-border) !important;
		padding: 24px 0 !important;
	}
}





/*
 * ══════════════════════════════════════════════════════
 *  WHATSAPP FLOTANTE
 * ══════════════════════════════════════════════════════
 */

.gb-wa-flotante {
	position: fixed;
	bottom: 28px;
	right: 28px;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	background-color: var(--gb-wa);
	border-radius: 50%;
	box-shadow: 0 4px 16px rgba(34, 197, 94, 0.40), 0 2px 6px rgba(0, 0, 0, 0.14);
	color: #ffffff;
	font-size: 28px;
	text-decoration: none;
	transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1),
	            box-shadow 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.gb-wa-flotante:hover,
.gb-wa-flotante:focus {
	transform: scale(1.10);
	box-shadow: 0 6px 24px rgba(34, 197, 94, 0.50), 0 4px 10px rgba(0, 0, 0, 0.16);
	color: #ffffff;
	text-decoration: none;
}

/* Tablet (≤ 768px) */
@media (max-width: 768px) {
	.gb-wa-flotante {
		width: 48px;
		height: 48px;
		font-size: 24px;
		bottom: 20px;
		right: 20px;
	}
}

/* Mobile (≤ 480px) */
@media (max-width: 480px) {
	.gb-wa-flotante {
		width: 44px;
		height: 44px;
		font-size: 22px;
		bottom: 16px;
		right: 16px;
	}
}
