/*
 * Hingenia — Footer v2 (versión clara, estático sin build de Vite).
 * Clases prefijadas .hgf- para no chocar con Tailwind ni el tema.
 * Incluye overrides para modo oscuro (html.dark).
 */

.hgf-footer {
	--hgf-bg: #ffffff;
	--hgf-soft: #f6f7f9;
	--hgf-ink: #0b0b12;
	--hgf-muted: #6b7280;
	--hgf-border: #e7e8ec;
	--hgf-blue: #2563eb;
	--hgf-blue-dark: #1d4ed8;
	--hgf-blue-soft: #eff4ff;
	background: var(--hgf-bg);
	border-top: 1px solid var(--hgf-border);
	color: var(--hgf-ink);
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
	margin-top: 0;
}
.hgf-footer * { box-sizing: border-box; }
.hgf-footer a { color: inherit; text-decoration: none; }
.hgf-wrap { max-width: 1200px; margin: 0 auto; padding: 0 32px; }

/* Newsletter / CTA */
.hgf-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; padding: 40px 0; border-bottom: 1px solid var(--hgf-border); }
.hgf-cta .hgf-cta-left h3 { font-size: 23px; font-weight: 800; letter-spacing: -.025em; color: var(--hgf-ink); margin: 0; }
.hgf-cta .hgf-cta-left p { color: var(--hgf-muted); font-size: 14px; margin: 5px 0 0; max-width: 46ch; }
.hgf-form { display: flex; gap: 10px; flex-wrap: wrap; }
.hgf-form input { border: 1px solid var(--hgf-border); background: var(--hgf-soft); border-radius: 11px; padding: 13px 16px; width: 280px; max-width: 70vw; font-family: inherit; font-size: 14px; color: var(--hgf-ink); outline: none; }
.hgf-form input:focus { border-color: var(--hgf-blue); background: var(--hgf-bg); box-shadow: 0 0 0 3px var(--hgf-blue-soft); }
.hgf-form button { border: 0; background: var(--hgf-blue); color: #fff; font-family: inherit; font-size: 14px; font-weight: 700; padding: 13px 22px; border-radius: 11px; cursor: pointer; display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; transition: background .14s, transform .12s; }
.hgf-form button:hover { background: var(--hgf-blue-dark); transform: translateY(-1px); }

/* Columnas */
.hgf-top { display: grid; grid-template-columns: 1.8fr 1fr 1fr 1fr; gap: 40px; padding: 46px 0; }
.hgf-logo { display: inline-flex; align-items: center; gap: 10px; }
.hgf-hmark { width: 32px; height: 32px; border-radius: 8px; background: var(--hgf-blue); display: grid; place-items: center; }
.hgf-logo b { font-size: 21px; font-weight: 900; letter-spacing: -.03em; color: var(--hgf-ink); }
.hgf-brand p { margin: 15px 0 0; max-width: 40ch; font-size: 13.5px; line-height: 1.7; color: var(--hgf-muted); }
/* Mini-contacto bajo la descripción: solo correo y teléfono. */
.hgf-contact-mini { margin: 16px 0 0; padding: 14px 0 0; border-top: 1px solid var(--hgf-border); display: grid; grid-template-columns: max-content 1fr; gap: 6px 14px; max-width: 40ch; }
.hgf-contact-mini > div { display: contents; }
.hgf-contact-mini dt { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #9aa1ac; align-self: center; margin: 0; }
.hgf-contact-mini dd { margin: 0; font-size: 13.5px; color: #1f2937; font-weight: 500; word-break: break-word; align-self: center; }
.hgf-contact-mini a { color: inherit; border-bottom: 1px dashed var(--hgf-border); transition: color .14s, border-color .14s; }
.hgf-contact-mini a:hover { color: var(--hgf-blue); border-bottom-color: var(--hgf-blue); }

/* Franja legal: razón social + RUC justo antes del trust strip. */
.hgf-legal-strip {
	display: flex; align-items: center; justify-content: center;
	flex-wrap: wrap; gap: 6px 14px;
	padding: 16px 0; margin: 0;
	border-top: 1px solid var(--hgf-border);
	font-size: 12.5px; color: var(--hgf-muted);
	text-align: center; line-height: 1.5;
}
.hgf-legal-strip .hgf-legal-ic { color: var(--hgf-blue); flex-shrink: 0; }
.hgf-legal-strip .hgf-legal-name { font-weight: 700; color: var(--hgf-ink); letter-spacing: .01em; }
.hgf-legal-strip .hgf-legal-ruc { font-weight: 500; }
.hgf-legal-strip .hgf-legal-ruc b { color: var(--hgf-ink); font-weight: 700; letter-spacing: .02em; }
.hgf-legal-strip .hgf-legal-addr { font-style: italic; opacity: .85; }
.hgf-legal-strip .hgf-legal-sep { color: var(--hgf-border); font-weight: 700; }

.hgf-socials { margin-top: 20px; display: flex; gap: 9px; }
.hgf-socials a { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; background: var(--hgf-soft); border: 1px solid var(--hgf-border); color: var(--hgf-muted); transition: background .15s, color .15s, transform .15s, border-color .15s; }
.hgf-socials a:hover { background: var(--hgf-blue); color: #fff; border-color: var(--hgf-blue); transform: translateY(-2px); }

.hgf-col h5 { font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #9aa1ac; margin: 0 0 16px; }
.hgf-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 11px; }
.hgf-col ul a { font-size: 14px; color: #4b5563; transition: color .14s; }
.hgf-col ul a:hover { color: var(--hgf-blue); }

/* Trust */
.hgf-trust { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; padding: 24px 0; border-top: 1px solid var(--hgf-border); }
.hgf-tit { display: flex; align-items: center; gap: 12px; }
.hgf-tit .hgf-ic { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; background: var(--hgf-blue-soft); color: var(--hgf-blue); flex-shrink: 0; }
.hgf-tit b { display: block; font-size: 14.5px; font-weight: 800; letter-spacing: -.01em; color: var(--hgf-ink); }
.hgf-tit span { font-size: 12px; color: var(--hgf-muted); }

/* Bottom */
.hgf-bottom { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; padding: 20px 0 28px; border-top: 1px solid var(--hgf-border); font-size: 12.5px; color: var(--hgf-muted); }
.hgf-legal { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.hgf-legal a:hover { color: var(--hgf-blue); }
.hgf-made .hgf-heart { color: #ef4444; }

/* Libro de Reclamaciones (botón reconocible) */
.hgf-libro {
	display: inline-flex; align-items: center; gap: 7px;
	border: 1px solid var(--hgf-border); border-radius: 9px;
	padding: 7px 13px; font-size: 12.5px; font-weight: 700; color: var(--hgf-ink) !important;
	background: var(--hgf-soft); transition: background .14s, border-color .14s, transform .12s;
}
.hgf-libro:hover { background: var(--hgf-bg); border-color: var(--hgf-blue); color: var(--hgf-blue) !important; transform: translateY(-1px); }
.hgf-libro svg { flex-shrink: 0; }

/* Wordmark gigante */
.hgf-wordmark { overflow: hidden; line-height: .74; padding-top: 6px; }
.hgf-wordmark span { display: block; font-size: clamp(72px, 19vw, 260px); font-weight: 900; letter-spacing: -.04em; text-align: center; background: linear-gradient(180deg, #e3e7ee 0%, #eef0f4 60%, #f6f7f9 100%); -webkit-background-clip: text; background-clip: text; color: transparent; user-select: none; white-space: nowrap; margin-bottom: -.12em; }

/* Responsive */
@media (max-width: 940px) {
	.hgf-top { grid-template-columns: 1fr 1fr; gap: 34px 28px; }
	.hgf-brand { grid-column: 1 / -1; }
	.hgf-trust { grid-template-columns: 1fr 1fr; gap: 20px; }
}
@media (max-width: 560px) {
	.hgf-wrap { padding: 0 20px; }
	.hgf-top { grid-template-columns: 1fr; }
	.hgf-trust { grid-template-columns: 1fr; }
	.hgf-bottom { flex-direction: column; align-items: flex-start; }
	.hgf-form input { width: 100%; }
}

/* ===================== MODO OSCURO ===================== */
html.dark .hgf-footer {
	--hgf-bg: #101012;
	--hgf-soft: #161619;
	--hgf-ink: #e5e7eb;
	--hgf-muted: #9aa1ac;
	--hgf-border: rgba(255, 255, 255, .08);
	--hgf-blue-soft: rgba(37, 99, 235, .18);
	background: #080809;
}
html.dark .hgf-col h5 { color: #8b9099; }
html.dark .hgf-col ul a { color: #a7adb7; }
html.dark .hgf-socials a { color: #cbd5e1; }
html.dark .hgf-contact-mini { border-top-color: rgba(255, 255, 255, .08); }
html.dark .hgf-contact-mini dd { color: #e5e7eb; }
html.dark .hgf-contact-mini a { border-bottom-color: rgba(255, 255, 255, .18); }
html.dark .hgf-contact-mini a:hover { color: #60a5fa; border-bottom-color: #60a5fa; }
html.dark .hgf-legal-strip { border-top-color: rgba(255, 255, 255, .08); }
html.dark .hgf-legal-strip .hgf-legal-name,
html.dark .hgf-legal-strip .hgf-legal-ruc b { color: #e5e7eb; }
html.dark .hgf-legal-strip .hgf-legal-sep { color: rgba(255, 255, 255, .14); }
html.dark .hgf-legal-strip .hgf-legal-ic { color: #60a5fa; }
html.dark .hgf-wordmark span { background: linear-gradient(180deg, #1a1a1e 0%, #101012 60%, #080809 100%); -webkit-background-clip: text; background-clip: text; }
