/* UG – Footer: pie oscuro, igual en todas las páginas. */
.ug-closing { position: relative; overflow: hidden; background: var(--navy-deep); color: var(--on-dark); font-family: var(--font-sans); }
.ug-closing-photo { position: absolute; inset: 0; }
.ug-closing-photo img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; opacity: .22; filter: saturate(.6); }
.ug-closing-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(4, 18, 44, .55), var(--navy-deep) 92%); }
.ug-cta { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 28px; padding-block: clamp(64px, 9vw, 104px) 56px; }
.ug-cta[hidden] { display: none; }
.ug-cta h2 { margin: 0 0 12px; font-size: clamp(30px, 3.8vw, 44px); line-height: 1.08; letter-spacing: -.034em; font-weight: 600; color: var(--white); text-wrap: balance; max-width: 20ch; }
.ug-cta p { margin: 0; font-size: 17px; line-height: 1.6; color: var(--on-dark-muted); max-width: 52ch; }
.ug-cta .ug-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ug-footer { position: relative; z-index: 1; color: var(--on-dark); border-top: 1px solid rgba(255, 255, 255, .1); }
.ug-footer-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: 32px; padding-block: 56px 40px; }
.ug-footer .ug-footer-grid img { height: 40px !important; width: auto !important; max-width: none !important; display: block; }
.ug-footer-grid p { margin: 14px 0 0; font-size: 14px; line-height: 1.6; color: #8A9AB8; max-width: 36ch; }
.ug-socials { display: flex; gap: 10px; margin-top: 18px; }
.ug-socials a { width: 38px; height: 38px; border-radius: 10px; display: flex; align-items: center; justify-content: center; color: #C9D5EC; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .1); transition: background-color .25s ease, color .25s ease, transform .25s ease; }
.ug-socials a:hover { background: var(--blue); border-color: var(--blue); color: #FFFFFF; transform: translateY(-2px); }
.ug-footer-col { display: flex; flex-direction: column; gap: 11px; font-size: 14px; min-width: 0; }
.ug-footer-col strong { font-size: 13px; color: var(--white); font-weight: 600; margin-bottom: 2px; }
.ug-footer-col a, .ug-footer-col span { color: #8A9AB8; text-decoration: none; overflow-wrap: anywhere; }
.ug-footer-col a:hover { color: var(--white); }
.ug-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; padding-block: 20px 28px; border-top: 1px solid rgba(255, 255, 255, .08); font-size: 13px; color: #8A9AB8; }
@media (max-width: 860px) { .ug-footer-grid { grid-template-columns: 1fr 1fr; } .ug-footer-grid > :first-child { grid-column: 1 / -1; } }
@media (max-width: 420px) { .ug-footer-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .ug-socials a { transition: none; } .ug-socials a:hover { transform: none; } }
.ug-footer-legal { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.ug-footer-legal:hover { color: #FFFFFF; }

/* Páginas que no son de Code Builder ni de la tienda (cursos, páginas normales…): espacio antes del pie, para que el contenido no quede pegado. */
body:not(.ccb-canvas):not(.woocommerce-page):not(.single-post) .ug-closing { margin-top: clamp(48px, 6vw, 80px); }
