body.al-landing { margin:0; background:#e9e9e9; color:#000; font-family:"DM Serif Display",Georgia,serif; min-height:100vh; display:flex; flex-direction:column; }
body.al-landing > .wp-block-group { width:100%; box-sizing:border-box; }
body.al-landing * { box-sizing:border-box; }

.al-banner { background:#d90b0b; color:#fff; padding:14px 16px; margin:0; }
.al-banner p { margin:0; font-size:clamp(22px,4vw,34px); color:#fff; }

.al-card { background:#fff; border-radius:6px; box-shadow:0 4px 18px rgba(0,0,0,.18); padding:32px 24px 28px; margin:28px auto; width:calc(100% - 32px); max-width:900px; text-align:center; flex:1 0 auto; }
.al-card h1 { font-family:inherit; font-weight:400; font-size:clamp(24px,4.4vw,36px); line-height:1.25; margin:0; color:#000; }
.al-card h2 { font-family:inherit; font-weight:400; font-size:clamp(20px,3.4vw,29px); margin:22px 0 14px; color:#000; }
.al-accent { color:#5b2bd6; }

.al-shot { max-width:640px; margin:0 auto; }
.al-shot img { display:block; width:100%; height:auto; border-radius:6px; box-shadow:0 3px 14px rgba(0,0,0,.25); }

.al-note { font-size:14px; margin:14px 0 10px; }

.al-cta .wp-block-button__link { background:#d90b0b; color:#fff; font-family:inherit; font-size:clamp(18px,3vw,24px); padding:14px 30px; border-radius:6px; box-shadow:0 4px 0 #8f0606; text-decoration:none; transition:transform .1s; }
.al-cta .wp-block-button__link:hover { transform:translateY(-2px); background:#d90b0b; color:#fff; }

.al-footer { background:#000; color:#fff; text-align:center; padding:22px 16px; font-family:"DM Serif Text",Georgia,serif; }
.al-footer nav { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 18px; font-size:15px; margin-bottom:10px; }
.al-footer a { color:#fff; }
.al-footer small { display:block; font-size:13px; opacity:.75; line-height:1.5; }

/*
 * Sticky footer for our Elementor-built pages (landing page, policy pages,
 * Landing Builder pages). These all render as three stacked top-level
 * containers: banner, body band, footer. On short content the browser has
 * nothing telling it to fill the screen, so the footer floats up and leaves
 * a background-colour gap beneath it. This makes the middle band grow to
 * fill any leftover viewport height, so the footer always sits flush at the
 * bottom with no gap - without affecting normal scrolling on tall pages.
 */
html, body { height: 100%; margin: 0; }
body > .elementor { display: flex; flex-direction: column; min-height: 100vh; }
body > .elementor > .e-con:nth-child(2) { flex: 1 0 auto; }

/*
 * Homepage only (WordPress adds the "home" body class to whichever page is
 * set as the site's front page - currently "Under Construction"). Hides the
 * scrollbar there entirely, since that page is meant to fit on one screen.
 * Scoped to .home so it never affects /hostinger or any other page, which
 * may be genuinely taller than one screen and should keep scrolling normally.
 */
body.home { overflow: hidden; }
