/* la-footer.css — the current footer's own styling, 2026-08-15.
   Extracted from the <style> blocks that were duplicated inline across
   MasterPageMain-clean/-lean/-perf/-mg and MasterPageClean so that
   FooterControl-la.ascx is SELF-SUFFICIENT: it can be dropped onto the old
   MasterPageTopLevel chain (skincare / basket / orders / checkout), which
   loads none of la-theme.css or la-core-*.css, and still render correctly.
   Page-level rules that were in those same style blocks (.titlebar offset,
   .dropdown-banner mobile hide) are NOT footer concerns and stay in the masters. */

/* TrustPilot fallback link — the TrustBox script is deliberately not loaded */
footer a[href*="trustpilot.com/review"],
.page-footer a[href*="trustpilot.com/review"] { color:#9fd8d0; text-decoration:underline; }

/* newsletter signup */
.newsletter-row { display:flex; gap:0; flex-wrap:wrap; }
.newsletter-row input[type="email"] { flex:1 1 auto; min-width:0; padding:6px 10px; font-size:14px; border:0; }
.newsletter-row .btn-signup { background:#962300; color:#fff; border:0; padding:6px 12px; font-size:14px; cursor:pointer; }
.newsletter-row .btn-signup:hover { background:#7a1d00; }
.nl-terms { flex-basis:100%; margin-top:8px; font-size:12.5px; color:#cfcbc4; display:flex; align-items:center; gap:6px; }
.nl-terms a { color:#9fd8d0; text-decoration:underline; }
footer .newsletter-row { margin-top:6px; }
/* inline validation feedback (progressive enhancement; native :invalid still applies) */
.newsletter-row .nl-err { flex-basis:100%; margin-top:6px; font-size:12.5px; color:#ffb4a2; }

/* blog rotator: reserve two title lines so the signup row doesn't jump */
#blog-footer .blog-text { min-height:2.6em; }
#blog-footer .blog-item img { height:auto; }
#blog-footer { margin-bottom:0; }
#blog-footer .blog-item { margin-bottom:0; }
footer .video_panel { margin-bottom:4px; }

/* columns are equal-height flex columns; auto margin bottom-aligns the badges */
footer .footer-link-cols > div { display:flex; flex-direction:column; }
footer .footer-badge-slot { margin-top:auto; height:150px; padding-top:88px; box-sizing:border-box; }
footer .social-icons { margin-top:auto; padding-bottom:12px; margin-left:-9px; }
footer .footer-tp-col { margin-top:0; margin-bottom:20px; margin-left:-12px; }
@media (min-width:768px) { footer .footer-tp-col { margin-bottom:-27px; } }

/* Field Rep link block sits at the very bottom of the footer */
footer .la-replink { margin:18px 0 0; padding:12px 14px; border:1px solid rgba(255,255,255,.18);
    border-radius:6px; background:rgba(255,255,255,.04); font-size:13px; color:#e6e2db; }
footer .la-replink code { display:block; margin:6px 0 8px; padding:6px 8px; background:rgba(0,0,0,.25);
    border-radius:4px; word-break:break-all; font-size:12.5px; color:#fff; }
footer .la-replink button { background:#962300; color:#fff; border:0; padding:6px 12px;
    font-size:13px; border-radius:4px; cursor:pointer; }
footer .la-replink button:hover { background:#7a1d00; }
footer .la-replink .la-replink-ok { margin-left:10px; font-size:12.5px; color:#9fd8d0; }
