/* =========================================================================
 * The cookie consent banner (inc/cookie-consent.php).
 *
 * A bar at the bottom of the window: the site's dark backdrop, Outfit in the
 * heading and a teal outline on both buttons — “Accept” and “Reject” carry the
 * same weight. The banner is fixed, so it does not move the content (CLS = 0)
 * and does not cover the buttons: on narrow screens it occupies the bottom edge
 * and the page gets bottom padding only while the banner is visible.
 * ====================================================================== */

.lmx-consent{position:fixed;left:0;right:0;bottom:0;z-index:9000;background:rgba(5,9,11,.96);border-top:1px solid rgba(82,199,198,.35);backdrop-filter:blur(6px);color:#fff;font-family:var(--lmx-font,'Hanken Grotesk',Helvetica,Arial,sans-serif);box-shadow:0 -10px 40px rgba(0,0,0,.45)}
.lmx-consent[hidden]{display:none}
.lmx-consent__inner{max-width:1280px;margin:0 auto;padding:18px 24px;display:flex;align-items:center;gap:24px}
.lmx-consent__text{flex:1 1 auto;min-width:0}
.lmx-consent__title{margin:0 0 4px !important;font-family:var(--lmx-display,'Outfit','Poppins',sans-serif) !important;font-weight:400 !important;font-size:17px !important;line-height:1.25 !important;color:#fff !important}
.lmx-consent__desc{margin:0 !important;font-size:14px !important;line-height:1.5 !important;color:rgba(255,255,255,.72) !important}
.lmx-consent__desc a{color:var(--lmx-teal,#52C7C6);text-decoration:underline}
.lmx-consent__actions{flex:0 0 auto;display:flex;gap:12px}
.lmx-consent__btn{appearance:none;background:transparent;border:1px solid rgba(82,199,198,.75);color:#fff;font:500 12px/1 var(--lmx-font,'Hanken Grotesk',Helvetica,Arial,sans-serif);letter-spacing:.22em;text-transform:uppercase;padding:14px 26px;border-radius:2px;cursor:pointer;transition:background .25s ease,border-color .25s ease,color .25s ease}
.lmx-consent__btn:hover{background:rgba(82,199,198,.14);border-color:var(--lmx-teal,#52C7C6)}
.lmx-consent__btn:focus-visible{outline:2px solid var(--lmx-teal,#52C7C6);outline-offset:3px}

@media (max-width:900px){
.lmx-consent__inner{flex-direction:column;align-items:stretch;gap:14px;padding:16px 20px}
.lmx-consent__actions{justify-content:stretch}
.lmx-consent__btn{flex:1 1 0;padding:14px 10px}
}
/* Phone: a compact bar (the heading goes to sr-only, padding and sizes are smaller). */
@media (max-width:600px){
.lmx-consent__inner{padding:12px 16px;gap:10px}
.lmx-consent__title{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.lmx-consent__desc{font-size:13px !important;line-height:1.45 !important}
.lmx-consent__btn{padding:12px 8px;letter-spacing:.16em}
}

/*
 * While the banner is visible the content of the first screen is pushed up by
 * its height: on narrow screens the bar would otherwise cover the hero button
 * and the first fields of a form. The lmx-consent-on class is set by the inline
 * script in <head> (before the first paint) and the default height lives here:
 * the measured heights of the bar are 104px from 769px up, 156px at 601…768px
 * and 111…148px below 600px, so 160px is enough everywhere with room to spare.
 * assets/js/cookie-consent.js refines the value while the page is idle if the
 * bar wrapped differently.
 */
:root{--lmx-consent-h:160px}
@media (max-width:1024px){
.lmx-consent-on .lmx-ms > .lmx-msec:first-of-type > .lmx-msec-inner,
.lmx-consent-on .lmx-home > .lmx-section:first-of-type > div{padding-bottom:calc(var(--lmx-consent-h,0px) + 12px)}
}

@media (prefers-reduced-motion:reduce){
.lmx-consent__btn{transition:none}
}
