/**
 * Footer — expanded 4 cols + bottom strip + mobile sticky bar.
 * Loaded globally en home, catalog, categoria, ficha, carrito, cuenta, contacto y las
 * 6 páginas del bucket legales. El bucket checkout usa footer-minimal en su lugar.
 *
 * @package LovelyGolden
 */

/* ==== FOOTER ==== */
.lg-footer { background:var(--lg-bg-alt, #F5EDDD); color:var(--lg-ink-primary, #2D241A); margin-top:clamp(2rem, 5vw, 5rem); border-top:1px solid var(--lg-border-subtle, #E8DCC7); }
.lg-footer__inner { max-width:1320px; margin:0 auto; padding:clamp(2.5rem, 5vw, 4rem) var(--lg-gutter, 1.75rem) 2.5rem; display:grid; grid-template-columns:1.2fr 2.4fr; gap:clamp(2rem, 4vw, 4rem); }
@media (max-width: 900px) { .lg-footer__inner { grid-template-columns:1fr; gap:2.5rem; } }

.lg-footer__brand { display:flex; flex-direction:column; gap:1rem; max-width:32rem; }
.lg-footer__logo { display:inline-flex; }
.lg-footer__logo-img { display:block; height:36px; width:auto; }
.lg-footer__claim { margin:0; color:var(--lg-ink-secondary, #5C4D3E); font-size:.9375rem; line-height:1.55; }
.lg-footer__instagram { display:inline-flex; align-items:center; gap:.5rem; color:var(--lg-ink-primary, #2D241A); text-decoration:none; font-size:.875rem; padding:.375rem 0; border-bottom:1px solid transparent; transition:border-color var(--lg-dur-fast, 180ms) var(--lg-ease, ease); align-self:flex-start; }
.lg-footer__instagram:hover { border-bottom-color:var(--lg-ink-primary, #2D241A); }
.lg-footer__instagram img { display:block; }

.lg-footer__cols { display:grid; grid-template-columns:repeat(4, 1fr); gap:2rem; }
@media (max-width: 700px) { .lg-footer__cols { grid-template-columns:1fr 1fr; gap:1.5rem; } }
.lg-footer__col-label { margin:0 0 .75rem; font-family:var(--lg-font-display, serif); font-size:.875rem; font-weight:500; color:var(--lg-secondary, #8B6135); letter-spacing:.02em; font-variation-settings:"SOFT" 50; }
.lg-footer__list { list-style:none; margin:0; padding:0; display:grid; gap:.25rem; }
.lg-footer__link { display:inline-block; padding:.25rem 0; color:var(--lg-ink-secondary, #5C4D3E); text-decoration:none; font-size:.9375rem; transition:color var(--lg-dur-fast, 180ms) var(--lg-ease, ease); }
.lg-footer__link:hover { color:var(--lg-brand-primary, #C28A3E); }
.lg-footer__link:focus-visible { outline:2px solid var(--lg-brand-primary, #C28A3E); outline-offset:3px; }

.lg-footer__bottom { border-top:1px solid var(--lg-border-subtle, #E8DCC7); }
.lg-footer__bottom-inner { max-width:1320px; margin:0 auto; padding:1.25rem var(--lg-gutter, 1.75rem); display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; }
.lg-footer__copy { margin:0; color:var(--lg-ink-muted, #8B7A66); font-size:.8125rem; }
.lg-footer__payments img { display:block; height:24px; width:auto; opacity:.7; }
.lg-footer__lang { display:inline-flex; align-items:center; gap:.125rem; padding:.125rem; border:1px solid var(--lg-border-subtle, #E8DCC7); border-radius:999px; background:var(--lg-bg-card, #FFFFFF); }
.lg-footer__lang-link { padding:.25rem .5rem; font-size:.75rem; font-weight:600; letter-spacing:.04em; color:var(--lg-ink-muted, #8B7A66); border-radius:999px; text-decoration:none; transition:background-color var(--lg-dur-fast, 180ms) var(--lg-ease, ease), color var(--lg-dur-fast, 180ms) var(--lg-ease, ease); }
.lg-footer__lang-link:hover { background:var(--lg-ink-primary, #2D241A); color:var(--lg-bg-base, #FBF6EE); }

/* ==== MOBILE BOTTOM BAR ==== */
.lg-mobile-bar { display:none; position:fixed; bottom:0; left:0; right:0; z-index:40; background:rgba(255,255,255,.94); backdrop-filter:saturate(140%) blur(12px); -webkit-backdrop-filter:saturate(140%) blur(12px); border-top:1px solid var(--lg-border-subtle, #E8DCC7); padding:.375rem max(env(safe-area-inset-left, 0px), .25rem) calc(.375rem + env(safe-area-inset-bottom, 0px)); justify-content:space-around; align-items:stretch; }
@media (max-width: 980px) { .lg-mobile-bar { display:flex; } body { padding-bottom:64px; } }
.lg-mobile-bar__item { flex:1; display:flex; flex-direction:column; align-items:center; gap:.125rem; padding:.375rem .25rem; background:transparent; border:none; color:var(--lg-ink-primary, #2D241A); text-decoration:none; cursor:pointer; font-size:.6875rem; line-height:1; }
.lg-mobile-bar__item:focus-visible { outline:2px solid var(--lg-brand-primary, #C28A3E); outline-offset:2px; border-radius:8px; }
.lg-mobile-bar__icon { position:relative; display:inline-flex; }
.lg-mobile-bar__count { position:absolute; top:-4px; right:-6px; min-width:16px; height:16px; padding:0 4px; border-radius:999px; background:var(--lg-brand-primary, #C28A3E); color:var(--lg-bg-base, #FBF6EE); font-size:.625rem; font-weight:600; line-height:16px; text-align:center; }
