/* UNIMERCE v1 Patch 008 — restored luxury footer + non-overlap guardrails */
main > section,
.section,
.editorial-section,
.product-detail-shell,
.page-hero,
.hero { clear: both; position: relative; }
.container::after,
.row::after { content: ""; display: table; clear: both; }
.site-footer-luxury { margin-top: 0; padding: 0; background: #16120f; color: #dfd0bd; border-top: 1px solid rgba(178,139,84,.28); }
.site-footer-luxury .container { padding-top: 58px; padding-bottom: 30px; }
.footer-top-row { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: 42px; align-items: end; padding-bottom: 42px; border-bottom: 1px solid rgba(255,255,255,.10); }
.footer-brand-block h2 { font-family: "Playfair Display", Georgia, serif; font-size: clamp(34px, 4vw, 58px); line-height: 1; margin: 18px 0 14px; color: #fffaf2; }
.footer-brand-text { max-width: 680px; color: #dfd0bd; }
.footer-newsletter-block { background: rgba(255,255,255,.045); border: 1px solid rgba(178,139,84,.22); padding: 24px; }
.footer-newsletter-block h3 { font-family: "Playfair Display", Georgia, serif; color: #fffaf2; font-size: 28px; line-height: 1.12; margin: 10px 0 18px; }
.footer-newsletter-form { display: flex; gap: 10px; }
.footer-newsletter-form input { flex: 1; min-width: 0; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); color: #fff; border-radius: 999px; padding: 12px 16px; }
.footer-grid-luxury { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 34px; padding: 36px 0; }
.footer-column strong { display: block; color: #fffaf2; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 14px; }
.footer-column a { display: block; color: #dfd0bd; margin: 9px 0; }
.footer-column a:hover { color: #f6d99b; }
.footer-column p { margin: 0 0 10px; color: #cbbba8; }
.footer-company-name { color: #fffaf2 !important; font-weight: 800; }
.footer-socials { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.footer-socials a { border: 1px solid rgba(255,255,255,.16); border-radius: 999px; padding: 6px 10px; margin: 0; font-size: 12px; }
.footer-bottom-row { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; color: #9f907e; font-size: 13px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.08); }
@media(max-width: 900px) { .footer-top-row, .footer-grid-luxury { grid-template-columns: 1fr; } .footer-newsletter-form { flex-direction: column; } }
