/* Malaipon site widgets: cookie notice, accessibility menu, floating WhatsApp. RTL, mobile first. */
.mlw { --mlw-ink: #0a0d24; --mlw-blue: #2b59ff; --mlw-purple: #7c4dff; --mlw-line: rgba(10,13,36,.12); font-family: inherit; }
.mlw * { box-sizing: border-box; }
.mlw-fab { position: fixed; z-index: 120; bottom: calc(16px + var(--mlw-lift, 0px) + env(safe-area-inset-bottom, 0px)); width: 56px; height: 56px; border-radius: 50%; border: 0; display: grid; place-items: center; cursor: pointer; text-decoration: none; box-shadow: 0 10px 28px -8px rgba(10,13,36,.45), 0 2px 6px rgba(10,13,36,.18); transition: bottom .3s ease, transform .2s ease; }
.mlw-fab:hover { transform: translateY(-2px); }
.mlw-fab:focus-visible { outline: 3px solid var(--mlw-purple); outline-offset: 3px; }
.mlw-fab svg { width: 28px; height: 28px; }
.mlw-fab--a11y { inset-inline-start: 16px; background: var(--mlw-blue); color: #fff; }
.mlw-fab--wa { inset-inline-end: 16px; background: #12723a; color: #fff; }
.mlw-fab--wa svg { width: 26px; height: 26px; }
.mlw-fab__t { display: none; }
@media (min-width: 761px) {
	.mlw-fab--wa { width: auto; padding: 0 18px 0 16px; border-radius: 99px; gap: 8px; display: inline-flex; align-items: center; font-weight: 800; font-size: 15.5px; }
	.mlw-fab__t { display: inline; }
}

/* Accessibility panel */
.mlw-panel { position: fixed; z-index: 130; inset-inline-start: 16px; bottom: calc(84px + var(--mlw-lift, 0px) + env(safe-area-inset-bottom, 0px)); width: min(320px, calc(100vw - 32px)); max-height: calc(100vh - 120px); overflow-y: auto; background: #fff; color: var(--mlw-ink); border: 1px solid var(--mlw-line); border-radius: 20px; padding: 16px; box-shadow: 0 30px 70px -24px rgba(10,13,36,.45); font-size: 15px; line-height: 1.45; }
.mlw-panel[hidden] { display: none; }
.mlw-panel h2 { font-size: 18px; margin: 0 0 4px; font-weight: 800; color: var(--mlw-ink); }
.mlw-panel p { margin: 0 0 12px; color: #5b6078; font-size: 13.5px; }
.mlw-x { position: absolute; top: 10px; inset-inline-end: 10px; width: 36px; height: 36px; border-radius: 50%; border: 0; background: rgba(10,13,36,.07); color: var(--mlw-ink); font-size: 22px; line-height: 1; cursor: pointer; }
.mlw-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 0; border-top: 1px solid var(--mlw-line); }
.mlw-row > span { font-weight: 700; }
.mlw-size { display: flex; align-items: center; gap: 6px; }
.mlw-size output { min-width: 44px; text-align: center; font-weight: 700; direction: ltr; }
.mlw-btn { min-width: 40px; min-height: 40px; padding: 0 12px; border-radius: 12px; border: 1.5px solid var(--mlw-line); background: #fff; color: var(--mlw-ink); font: inherit; font-weight: 700; cursor: pointer; }
.mlw-btn:focus-visible, .mlw-x:focus-visible, .mlw-tog:focus-visible, .mlw-cookie button:focus-visible, .mlw a:focus-visible { outline: 3px solid var(--mlw-purple); outline-offset: 2px; }
.mlw-tog { position: relative; width: 52px; height: 30px; border-radius: 99px; border: 0; background: #c9cbd6; cursor: pointer; flex: none; transition: background .2s; }
.mlw-tog::after { content: ""; position: absolute; top: 3px; inset-inline-start: 3px; width: 24px; height: 24px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: inset-inline-start .2s; }
.mlw-tog[aria-pressed="true"] { background: var(--mlw-blue); }
.mlw-tog[aria-pressed="true"]::after { inset-inline-start: 25px; }
.mlw-foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-top: 10px; border-top: 1px solid var(--mlw-line); }
.mlw-foot a { color: var(--mlw-blue); font-weight: 700; }

/* Cookie notice */
.mlw-cookie { position: fixed; z-index: 125; inset-inline: 16px; bottom: calc(16px + var(--mlw-bar, 0px) + env(safe-area-inset-bottom, 0px)); max-width: 520px; margin-inline: auto; background: var(--mlw-ink); color: #fff; border-radius: 18px; padding: 14px 16px; display: flex; align-items: center; gap: 14px; box-shadow: 0 24px 60px -20px rgba(0,0,0,.55); font-size: 14.5px; line-height: 1.5; transition: bottom .3s ease; }
.mlw-cookie[hidden] { display: none; }
.mlw-cookie p { margin: 0; flex: 1; }
.mlw-cookie a { color: #c8b6ff; font-weight: 700; }
.mlw-cookie button { flex: none; min-height: 42px; padding: 0 18px; border-radius: 99px; border: 0; background: #fff; color: var(--mlw-ink); font: inherit; font-weight: 800; cursor: pointer; }
@media (max-width: 560px) {
	.mlw-cookie { flex-direction: column; align-items: stretch; text-align: start; gap: 10px; }
	.mlw-fab { width: 52px; height: 52px; }
}

/* Preferences applied by the accessibility menu */
html.a11y-zoom-1 body { zoom: 1.12; }
html.a11y-zoom-2 body { zoom: 1.25; }
html.a11y-zoom-3 body { zoom: 1.4; }
html.a11y-contrast body > *:not(.mlw):not(script) { filter: contrast(1.35) saturate(1.15); }
html.a11y-links a:not(.btn):not(.mlw-fab) { text-decoration: underline !important; text-underline-offset: 3px; outline: 2px dashed currentColor; outline-offset: 2px; }
html.a11y-still *, html.a11y-still *::before, html.a11y-still *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
html.a11y-still .reveal { opacity: 1 !important; transform: none !important; }
html.a11y-font body, html.a11y-font body * { font-family: Arial, "Segoe UI", sans-serif !important; letter-spacing: normal !important; }
@media print { .mlw { display: none !important; } }
/* Out of the way while the mobile menu is open */
html:has(.nav.is-open) .mlw-fab, html:has(.nav.is-open) .mlw-cookie, html:has(.nav.is-open) .mlw-panel { visibility: hidden; }
