/**
 * ViViDio Connect — Footer component styles
 * Canonical location: common/theme/
 */

.vvc-footer { background: var(--vvc-bg-deep); color: rgba(255, 255, 255, 0.9); padding: var(--footer-padding-y, clamp(1rem, 3vw + 0.5rem, 2rem)) clamp(0.25rem, 0.75vw, 0.5rem); text-align: center; font-family: var(--font-family, 'Roboto', 'Open Sans', sans-serif); font-size: var(--text-sm); line-height: 1.6; margin-top: auto; }
.vvc-footer-inner { max-width: 100%; width: 100%; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: clamp(0.75rem, 2vw + 0.5rem, 1.25rem); padding: 0 clamp(0.25rem, 0.75vw, 0.5rem); box-sizing: border-box; }
/* Row: social (left) + ViViD App Studio (right), next to each other, center-aligned in footer */
.vvc-footer-brand-row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: clamp(0.75rem, 2vw + 0.5rem, 1.25rem); }
.vvc-footer-developer { flex-shrink: 0; }
.vvc-footer-policies { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; width: 100%; }
/* Policies section ~30% smaller than base footer text */
.vvc-footer-policies-label { font-size: 0.6rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: rgba(255, 255, 255, 0.7); }
.vvc-footer-social { display: flex; justify-content: center; gap: clamp(0.5rem, 1.5vw + 0.25rem, 0.75rem); flex-wrap: wrap; }
/* Icon only (no background), +20% size, hover = brand accent */
.vvc-footer-social a { display: inline-flex; align-items: center; justify-content: center; width: clamp(2.1rem, 4.8vw + 1.5rem, 2.7rem); height: clamp(2.1rem, 4.8vw + 1.5rem, 2.7rem); background: none; color: rgba(255, 255, 255, 0.85); text-decoration: none; transition: color 200ms, transform 200ms; font-size: clamp(0.9rem, 1.2vw + 0.6rem, 1.05rem); }
.vvc-footer-social a svg { width: 1em; height: 1em; fill: currentColor; }
.vvc-footer-social a:hover { color: var(--vvc-accent-1, #FEF3C7); transform: translateY(-2px); }
.vvc-footer-links { display: flex; justify-content: center; gap: clamp(0.5rem, 1.5vw + 0.35rem, 1rem); flex-wrap: wrap; }
.vvc-footer-links a { color: rgba(255, 255, 255, 0.95); text-decoration: none; font-size: 0.7rem; font-weight: 500; transition: color 200ms; }
.vvc-footer-links a:hover { color: #fff; text-decoration: underline; }
.vvc-footer-developer a { display: inline-flex; align-items: center; gap: clamp(0.35rem, 1vw + 0.25rem, 0.5rem); color: rgba(255, 255, 255, 0.95); text-decoration: none; font-weight: 700; font-size: var(--text-base); transition: opacity 200ms; }
.vvc-footer-developer a:hover { opacity: 0.9; }
.vvc-footer-developer img { width: clamp(2.25rem, 5vw + 1.5rem, 3rem); height: clamp(2.25rem, 5vw + 1.5rem, 3rem); object-fit: contain; }
.vvc-footer-developer img.vvc-footer-developer-logo { border-radius: 50%; display: block; }
.vvc-footer-copy { color: rgba(255, 255, 255, 0.8); font-size: var(--text-sm); padding-top: clamp(0.75rem, 2vw + 0.5rem, 1rem); border-top: 1px solid rgba(255, 255, 255, 0.2); width: 100%; }
.vvc-footer-copy a { color: rgba(255, 255, 255, 0.9); text-decoration: none; transition: color 200ms; }
.vvc-footer-copy a:hover { color: #fff; text-decoration: underline; }
