/* =========================================================================
   Magic Bali Spa – base: fonts, tokens, layout, header, footer, newsletter,
   shared blocks. Breakpoints follow the original site: 1600 / 1249 / 967 / 514.
   ========================================================================= */

/* ---------- Fonts (self-hosted, same files as Google Fonts) ---------- */
@font-face { font-family: "Lato"; font-style: normal; font-weight: 300; font-display: swap; src: url(../fonts/lato-latin-ext-300-normal.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 300; font-display: swap; src: url(../fonts/lato-latin-300-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/lato-latin-ext-400-normal.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/lato-latin-400-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Lato"; font-style: italic; font-weight: 400; font-display: swap; src: url(../fonts/lato-latin-ext-400-italic.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Lato"; font-style: italic; font-weight: 400; font-display: swap; src: url(../fonts/lato-latin-400-italic.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/lato-latin-ext-700-normal.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/lato-latin-700-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 900; font-display: swap; src: url(../fonts/lato-latin-ext-900-normal.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 900; font-display: swap; src: url(../fonts/lato-latin-900-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Lora"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/lora-latin-ext-wght-normal.woff2) format("woff2-variations"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Lora"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/lora-latin-wght-normal.woff2) format("woff2-variations"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Lora"; font-style: italic; font-weight: 400 700; font-display: swap; src: url(../fonts/lora-latin-ext-wght-italic.woff2) format("woff2-variations"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Lora"; font-style: italic; font-weight: 400 700; font-display: swap; src: url(../fonts/lora-latin-wght-italic.woff2) format("woff2-variations"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---------- Tokens ---------- */
:root {
    --mb-brown: #51311e;
    --mb-brown-dark: #3d1e12;
    --mb-gold: #bda36d;
    --mb-cream: #f8f4f0;
    --mb-sand: #f1eae2;
    --mb-light: #fbf4d9;
    --mb-muted: #917b6c;
    --mb-line: #e4d8c4;
    --mb-text: #404040;
    --mb-serif: "Lora", Georgia, serif;
    --mb-sans: "Lato", Arial, sans-serif;
    --mb-max: 1600px;
    --mb-pad: 20px;
    --mb-sec: 75px;
    /* type scale of the original site (desktop > 1600 px) */
    --mb-fs-display: 65px;
    --mb-fs-kicker: 18px;
    --mb-fs-item: 18px;
    --mb-fs-small: 16px;
    --mb-fs-num: 65px;
    --mb-fs-lead: 20px;
    --mb-fs-btn: 16px;
    --mb-header-h: 56px;
}
@media (max-width: 1600px) {
    :root { --mb-fs-display: 40px; --mb-fs-kicker: 15px; --mb-fs-item: 15px; --mb-fs-small: 14px; --mb-fs-num: 55px; --mb-fs-lead: 15px; --mb-fs-btn: 14px; }
}
@media (max-width: 1249px) {
    :root { --mb-fs-display: 35px; --mb-fs-kicker: 13px; --mb-fs-item: 14px; --mb-fs-small: 13px; --mb-fs-num: 45px; --mb-fs-lead: 14px; --mb-fs-btn: 13px; }
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 80px; }
body {
    margin: 0;
    background: #fff;
    color: var(--mb-text);
    font-family: var(--mb-sans);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -0.1px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}
img, video, svg { display: block; max-width: 100%; }
img { height: auto; }
h1, h2, h3, h4, h5, h6 { margin: 0; font-family: var(--mb-serif); line-height: 1.125; }
p { margin: 0; }
a { color: var(--mb-brown); font-weight: 600; text-decoration: none; }
button, input, select, textarea { font: inherit; letter-spacing: inherit; }
ul, ol { margin: 0; padding: 0; list-style: none; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.mb-skip { position: absolute; left: 12px; top: -60px; z-index: 1000; padding: 10px 18px; background: var(--mb-brown); color: #fff; border-radius: 20px; }
.mb-skip:focus { top: 12px; }
:focus-visible { outline: 2px solid var(--mb-brown); outline-offset: 3px; }
.mb-header :focus-visible, .mb-sec--brown :focus-visible, .mb-video-hero :focus-visible, .mb-hero :focus-visible { outline-color: var(--mb-light); }
.mb-main { display: block; }

/* ---------- Layout ---------- */
.mb-sec { width: 100%; background: var(--mb-cream); }
.mb-sec--sand { background: var(--mb-sand); }
.mb-sec--brown { background: var(--mb-brown); }
.mb-wrap {
    width: 100%;
    max-width: var(--mb-max);
    margin: 0 auto;
    padding: var(--mb-sec) var(--mb-pad);
}

/* ---------- Shared type ---------- */
.mb-kicker {
    margin: 0;
    color: var(--mb-brown);
    font-family: var(--mb-sans);
    font-size: var(--mb-fs-kicker);
    font-weight: 300;
    letter-spacing: 1.5px;
    line-height: 1.3;
    text-transform: uppercase;
}
.mb-display {
    margin: 0;
    color: var(--mb-brown);
    font-family: var(--mb-serif);
    font-size: var(--mb-fs-display);
    font-weight: 400;
    line-height: 1.125;
}
.mb-display--500 { font-weight: 500; }
.mb-gold { color: var(--mb-gold); }
.mb-lead { color: var(--mb-brown); font-size: var(--mb-fs-lead); font-weight: 500; line-height: 1.3; }
.mb-muted { color: var(--mb-muted); }

/* Numbered rows: big pale number + title + text, gold rule under the text (home, vouchers). */
.mb-steps { display: flex; flex-direction: column; gap: 30px; }
.mb-step { display: flex; align-items: center; justify-content: space-between; width: 100%; }
.mb-step__num { color: var(--mb-line); font-family: var(--mb-serif); font-size: var(--mb-fs-num); line-height: 1.3; }
.mb-step__body { display: flex; flex-direction: column; gap: 10px; width: 85%; padding: 15px 0 25px; border-bottom: 1px solid var(--mb-gold); }
.mb-step__title { margin: 0; color: var(--mb-brown); font-family: var(--mb-sans); font-size: var(--mb-fs-item); font-weight: 600; letter-spacing: 0.5px; line-height: 1.3; }
.mb-step__text { color: var(--mb-muted); font-size: var(--mb-fs-small); line-height: 1.3; }
@media (max-width: 1600px) { .mb-steps { gap: 10px; } }
@media (max-width: 1249px) {
    .mb-step { gap: 15px; }
    .mb-step__body { padding: 10px 0 15px; }
}
@media (max-width: 514px) {
    .mb-step { gap: 25px; }
    .mb-step__text { font-size: 13px; }
}

/* Three columns with gold top/right rules (home "podróż", vouchers "co otrzymujesz"). */
.mb-cols { display: flex; width: 100%; }
.mb-col {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
    padding: 30px;
    border-top: 1px solid var(--mb-gold);
    border-right: 1px solid var(--mb-gold);
}
.mb-col:last-child { border-right: 0; }
.mb-col__num { color: var(--mb-gold); font-family: var(--mb-serif); font-size: var(--mb-fs-num); line-height: 1.3; text-align: center; align-self: flex-start; }
.mb-col__body { display: flex; flex-direction: column; gap: 10px; width: 100%; }
.mb-col__title { margin: 0; color: var(--mb-brown); font-family: var(--mb-sans); font-size: var(--mb-fs-item); font-weight: 600; letter-spacing: 0.5px; line-height: 1.3; }
.mb-col__text { color: var(--mb-muted); font-size: var(--mb-fs-small); line-height: 1.3; }
@media (max-width: 1249px) {
    .mb-col { padding: 20px; }
    .mb-col__body { padding: 10px 0 15px; }
}
@media (max-width: 967px) {
    .mb-cols { flex-direction: column; }
    .mb-col:last-child { border-right: 1px solid var(--mb-gold); }
}
@media (max-width: 514px) {
    .mb-col { gap: 25px; }
    .mb-col__text { font-size: 13px; }
}

/* ---------- Buttons ---------- */
.mb-btn {
    display: inline-block;
    padding: 20px 25px;
    border: 1px solid var(--mb-gold);
    border-radius: 25px;
    background: var(--mb-brown);
    color: var(--mb-sand);
    font-family: var(--mb-sans);
    font-size: var(--mb-fs-btn);
    font-weight: 600;
    letter-spacing: 1px;
    line-height: 1.3;
    text-align: center;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color .5s, color .5s, border-color .5s;
}
.mb-btn:hover { background: var(--mb-gold); color: var(--mb-brown); }
.mb-btn--gold { background: var(--mb-gold); color: var(--mb-brown); }
.mb-btn--gold:hover { background: var(--mb-brown); color: var(--mb-sand); }
@media (max-width: 1249px) { .mb-btn { padding-top: 15px; padding-bottom: 15px; } }

/* ---------- Header ---------- */
.mb-header { position: relative; z-index: 99; background: var(--mb-brown); }
.mb-overlay .mb-header { background: transparent; }
.mb-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: var(--mb-max);
    margin: 0 auto;
    padding: 8px var(--mb-pad);
}
.mb-header__logo { display: flex; flex-shrink: 0; }
.mb-header__logo img { width: 225px; height: auto; }
.mb-header__right { display: flex; align-items: center; }
.mb-nav__list { display: flex; align-items: center; }
.mb-nav__list a {
    display: inline-flex;
    padding-right: 40px;
    color: var(--mb-sand);
    font-family: var(--mb-sans);
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.5px;
    line-height: 1.3;
    text-transform: uppercase;
    white-space: nowrap;
}
.mb-nav__list a:hover, .mb-nav__list .current-menu-item > a { color: #fff; }
.mb-header__cta {
    display: inline-block;
    padding: 8px 25px 10px;
    border: 1px solid var(--mb-gold);
    border-radius: 25px;
    background: var(--mb-brown);
    color: #fff;
    font-family: var(--mb-sans);
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1px;
    line-height: 1.3;
    white-space: nowrap;
    transition: background-color .5s;
}
.mb-header__cta:hover { background: var(--mb-brown-dark); }
.mb-header__cart { position: relative; display: inline-flex; margin-right: 24px; color: var(--mb-sand); }
.mb-header__cart svg { width: 24px; height: 24px; }
.mb-header__cart-count { position: absolute; top: -6px; right: -10px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--mb-gold); color: var(--mb-brown); font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; }
.mb-burger { display: none; padding: 5px; border: 0; background: none; color: var(--mb-sand); cursor: pointer; }
.mb-burger svg { width: 30px; height: 30px; }

/* sticky after 150 px of scrolling (as on the original site) */
.mb-header.is-stuck {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 900;
    background: rgba(81, 49, 30, .85);
    box-shadow: 0 0 10px rgba(0, 0, 0, .3);
    animation: mb-fade-in .4s;
}
.admin-bar .mb-header.is-stuck { top: 32px; }
@media (max-width: 782px) { .admin-bar .mb-header.is-stuck { top: 46px; } }
@keyframes mb-fade-in { from { opacity: 0; } to { opacity: 1; } }

@media (max-width: 1600px) {
    .mb-header__logo img { width: 200px; }
    .mb-nav__list a { font-size: 14px; }
    .mb-header__cta { font-size: 15px; }
}
@media (max-width: 1249px) {
    .mb-header__logo img { width: 160px; }
    .mb-nav__list a { font-size: 13px; padding-right: 30px; }
    .mb-header__cta { display: none; }
}
@media (max-width: 967px) {
    .mb-header__logo img { width: 200px; }
    .mb-nav { display: none; }
    .mb-burger { display: inline-flex; }
}
@media (max-width: 514px) {
    .mb-header__inner { padding-top: 12px; }
}

/* off-canvas menu */
.mb-offcanvas {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 28px;
    padding: 80px 20px 40px;
    background: var(--mb-sand);
    overflow: auto;
    transform: translateX(-100%);
    transition: transform .4s ease;
}
.mb-offcanvas[hidden] { display: none; }
.mb-offcanvas.is-open { transform: none; }
.mb-offcanvas__close { position: absolute; top: 18px; left: 89%; transform: translateX(-50%); padding: 0; border: 0; background: none; color: var(--mb-brown); cursor: pointer; }
.mb-offcanvas__close svg { width: 30px; height: 30px; }
.mb-offcanvas__list { display: flex; flex-direction: column; align-items: center; }
.mb-offcanvas__list a { display: block; padding: 10px 0; color: var(--mb-brown); font-family: var(--mb-serif); font-size: 24px; font-weight: 500; letter-spacing: 0.5px; text-align: center; text-transform: uppercase; }
.mb-offcanvas__cta { margin-top: 8px; }
html.mb-menu-open { overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .mb-offcanvas { transition: none; } .mb-header.is-stuck { animation: none; } }

/* ---------- Divider with the emblem ---------- */
.mb-divider { position: relative; z-index: 2; background: var(--mb-cream); }
.mb-divider__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    width: 100%;
    max-width: var(--mb-max);
    margin: 0 auto;
    padding: 0 var(--mb-pad);
}
.mb-divider__line { width: 60%; height: 2px; background: #98a1a8; }
.mb-divider__seal { position: relative; width: 15%; min-width: 0; max-width: 260px; height: auto; margin-top: -60px; }
@media (max-width: 967px) {
    .mb-divider__inner { justify-content: center; }
    .mb-divider__line { width: 25%; }
}
@media (max-width: 514px) {
    .mb-divider__line { display: none; }
    .mb-divider__seal { width: 25%; margin-top: -50px; }
}

/* ---------- Full-height hero (o nas, masaże, joga) ---------- */
.mb-hero {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    height: 102vh;
    margin-top: -60px;
    padding: 75px var(--mb-pad);
    background-color: #160c08;
    background-size: cover;
    background-position: 50% 50%;
    text-align: center;
}
.mb-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(rgba(0, 0, 0, .51), rgba(255, 255, 255, 0)); pointer-events: none; }
.mb-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mb-hero__content { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 40px; }
.mb-hero__title { color: var(--mb-light); font-family: var(--mb-serif); font-size: 100px; font-weight: 400; line-height: 1.2; text-align: center; }
.mb-hero__btn { padding: 20px 50px; color: #fff; }
.mb-hero__btn:hover { color: var(--mb-brown); }
@media (max-width: 1600px) {
    .mb-hero { margin-top: -90px; }
    .mb-hero__title { font-size: 75px; }
}
@media (max-width: 1249px) {
    .mb-hero__title { font-size: 60px; }
    .mb-hero__btn { padding-top: 15px; padding-bottom: 15px; }
}
@media (max-width: 967px) {
    .mb-hero { height: 100vh; }
    .mb-hero__img { object-position: 50% 0; }
    .mb-hero__content { gap: 20px; }
    .mb-hero__title { font-size: 45px; }
}
@media (max-width: 514px) {
    .mb-hero { height: 98vh; }
    .mb-hero__title { font-size: 35px; }
}

/* ---------- Contact rows (o nas, kontakt) ---------- */
.mb-info { display: flex; flex-direction: column; gap: 10px; width: 100%; padding: 20px 0; border-bottom: 1px solid var(--mb-line); }
.mb-info__label { color: var(--mb-brown); font-size: 16px; font-weight: 600; letter-spacing: 1px; line-height: 1.3; }
.mb-info__value { color: var(--mb-muted); font-size: 17px; font-weight: 600; line-height: 1.3; }
.mb-info__value a { color: inherit; }
@media (max-width: 1600px) { .mb-info__label, .mb-info__value { font-size: 15px; } }
@media (max-width: 1249px) { .mb-info { padding: 15px 0; } }

/* ---------- Slider arrows (round, thin) ---------- */
.mb-arrows { display: flex; justify-content: flex-end; align-items: center; gap: 14px; }
.mb-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    padding: 0;
    border: 1px solid rgba(70, 43, 32, .28);
    border-radius: 50%;
    background: transparent;
    color: #5b3828;
    cursor: pointer;
    transition: border-color .2s, opacity .2s, background-color .2s;
}
.mb-arrow svg { width: 22px; height: 22px; }
.mb-arrow:hover { border-color: rgba(70, 43, 32, .58); background: rgba(255, 255, 255, .18); }
.mb-arrow[disabled] { opacity: .32; cursor: default; }
@media (max-width: 767px) {
    .mb-arrows { justify-content: flex-start; gap: 10px; }
    .mb-arrow { width: 46px; height: 46px; }
    .mb-arrow svg { width: 20px; height: 20px; }
}

/* ---------- Newsletter band ---------- */
.mb-newsletter { background: var(--mb-sand); border-top: 1px solid var(--mb-brown); }
.mb-newsletter__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: var(--mb-max);
    margin: 0 auto;
    padding: 50px var(--mb-pad);
}
.mb-newsletter__intro { display: flex; flex-direction: column; gap: 20px; width: 50%; }
.mb-newsletter__title { color: var(--mb-brown); font-family: var(--mb-serif); font-size: 45px; font-weight: 500; line-height: 1.3; }
.mb-newsletter__sub { color: var(--mb-brown); font-size: 25px; letter-spacing: 0.5px; line-height: 1.3; }
.mb-newsletter__box { display: flex; flex-direction: column; align-items: flex-end; width: 50%; margin-bottom: 1px; }
.mb-nl-form { width: 100%; min-width: 600px; max-width: 620px; color: #5b351f; }
.mb-nl-form__row { display: flex; align-items: flex-end; gap: 12px; width: 100%; }
.mb-nl-form__field { flex: 1 1 auto; min-width: 0; }
.mb-nl-form__field label { display: block; margin: 0 0 7px; color: #7b5139; font-size: 13px; font-weight: 400; line-height: 1.2; }
.mb-nl-form__field input {
    display: block;
    width: 100%;
    height: 38px;
    margin: 0;
    padding: 0 14px;
    border: 1px solid #d8c3b3;
    border-radius: 6px;
    background: #fff;
    color: #5b351f;
    font-size: 15px;
    line-height: 38px;
    letter-spacing: 0;
    -webkit-appearance: none;
    appearance: none;
}
.mb-nl-form__field input::placeholder { color: #a77f69; opacity: 1; }
.mb-nl-form__field input:focus-visible { outline: 2px solid var(--mb-gold); outline-offset: 1px; }
.mb-nl-form__submit {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    min-width: 132px;
    padding: 0 25px;
    border: 0;
    border-radius: 999px;
    background: #5b351f;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color .2s, transform .2s;
}
.mb-nl-form__submit:hover { background: #4a2a18; transform: translateY(-1px); }
.mb-nl-form__consent { position: relative; display: flex; align-items: flex-start; gap: 9px; width: 100%; margin: 7px 0 0; color: #5b351f; font-size: 13.5px; line-height: 1.35; cursor: pointer; }
.mb-nl-form__consent input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.mb-nl-form__check { position: relative; flex: 0 0 18px; width: 18px; height: 18px; border: 1px solid #c9aa98; border-radius: 5px; background: #fff; }
.mb-nl-form__consent input:checked + .mb-nl-form__check { border-color: #5b351f; background: #5b351f; }
.mb-nl-form__consent input:checked + .mb-nl-form__check::after { content: ""; position: absolute; left: 5px; top: 2px; width: 5px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.mb-nl-form__consent input:focus-visible + .mb-nl-form__check { outline: 2px solid var(--mb-gold); outline-offset: 2px; }
.mb-nl-form__text { display: block; }
.mb-nl-form__text a { color: var(--mb-brown); font-weight: 600; }
@media (max-width: 1600px) {
    .mb-newsletter__intro { gap: 15px; }
    .mb-newsletter__title { font-size: 35px; }
    .mb-newsletter__sub { font-size: 18px; }
}
@media (max-width: 1250px) { .mb-nl-form { min-width: 400px; } }
@media (max-width: 1249px) {
    .mb-newsletter__inner { flex-direction: column; gap: 20px; }
    .mb-newsletter__intro, .mb-newsletter__box { width: 100%; align-items: center; }
    .mb-newsletter__sub { font-size: 16px; }
}
@media (max-width: 967px) { .mb-newsletter__title { font-size: 30px; } }
@media (max-width: 640px) {
    .mb-nl-form { min-width: 250px; max-width: 100%; }
    .mb-nl-form__row { flex-direction: column; align-items: stretch; gap: 10px; }
    .mb-nl-form__field input { height: 44px; line-height: 44px; }
    .mb-nl-form__submit { width: 100%; height: 44px; }
    .mb-nl-form__consent { margin-top: 9px; font-size: 13px; }
}
@media (max-width: 514px) {
    .mb-newsletter__inner { gap: 25px; }
    .mb-newsletter__intro { gap: 15px; }
    .mb-newsletter__title { font-size: 22px; }
    .mb-newsletter__sub { font-size: 15px; }
}

/* ---------- Footer ---------- */
.mb-footer { background: var(--mb-sand); border-top: 1px solid var(--mb-gold); }
.mb-footer__inner {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 100%;
    max-width: var(--mb-max);
    margin: 0 auto;
    padding: 50px var(--mb-pad) 20px;
}
.mb-footer__top { display: flex; align-items: center; justify-content: space-between; width: 100%; }
.mb-footer__brand { display: flex; flex-direction: column; gap: 75px; width: 50%; }
.mb-footer__logo { display: flex; align-self: flex-start; }
.mb-footer__logo img { width: 250px; height: auto; }
.mb-socials { display: flex; gap: 20px; }
.mb-socials a { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border: 0.5px solid var(--mb-brown); border-radius: 50%; color: var(--mb-brown); transition: background-color .3s, color .3s; }
.mb-socials a:hover { background: var(--mb-brown); color: var(--mb-sand); }
.mb-socials svg { width: 20px; height: 20px; }
.mb-footer__menus { display: flex; flex-direction: column; align-items: flex-end; gap: 25px; width: 50%; }
.mb-footer__menu { display: flex; align-items: center; }
.mb-footer__menu a { display: inline-flex; padding-right: 30px; color: var(--mb-brown); font-size: 18px; font-weight: 600; letter-spacing: 0.5px; line-height: 1.3; text-transform: uppercase; white-space: nowrap; }
.mb-footer__menu--docs a { font-size: 17px; }
.mb-footer__menu a:hover { color: var(--mb-gold); }
.mb-footer__bottom { display: flex; justify-content: space-between; width: 100%; }
.mb-footer__copy { display: flex; gap: 10px; color: var(--mb-brown); font-size: 16px; font-weight: 500; line-height: 1.3; }
.mb-footer__credit { color: var(--mb-brown); font-size: 16px; font-weight: 500; line-height: 1.3; }
.mb-footer__credit:hover { color: var(--mb-gold); }
@media (max-width: 1600px) {
    .mb-footer__brand { gap: 40px; }
    .mb-footer__logo img { width: 200px; }
    .mb-socials a { width: 50px; height: 50px; }
    .mb-footer__menus { gap: 20px; }
    .mb-footer__menu a, .mb-footer__menu--docs a { font-size: 14px; }
    .mb-footer__copy, .mb-footer__credit { font-size: 14px; }
}
@media (max-width: 1249px) {
    .mb-footer__logo img { width: 160px; }
    .mb-footer__menu a, .mb-footer__menu--docs a { font-size: 13px; }
}
@media (max-width: 967px) {
    .mb-footer__top { gap: 25px; text-align: center; }
    .mb-footer__brand { gap: 25px; }
    .mb-footer__logo img { width: 200px; }
    .mb-footer__menus { align-items: flex-start; gap: 3px; text-align: right; }
    .mb-footer__menu { flex-direction: column; align-items: flex-start; }
    .mb-footer__menu a { padding: 3px 0; }
    .mb-footer__copy { flex-direction: column; gap: 0; }
}
@media (max-width: 514px) {
    .mb-footer__inner { gap: 20px; }
    .mb-footer__top { flex-direction: column; }
    .mb-footer__brand { width: 100%; align-items: center; gap: 25px; }
    .mb-footer__logo { align-self: center; }
    .mb-footer__menus { width: 100%; align-items: center; }
    .mb-footer__menu { align-items: center; }
    .mb-footer__bottom { flex-direction: column; align-items: center; gap: 10px; text-align: center; }
    .mb-footer__copy { align-items: center; }
}

/* ---------- Simple text pages (privacy, terms, newsletter) ---------- */
.mb-page { background: var(--mb-cream); }
.mb-page__head { display: flex; flex-direction: column; gap: 25px; margin-bottom: 40px; }
.mb-prose { max-width: 900px; color: var(--mb-brown); font-size: 16px; line-height: 1.6; }
.mb-prose > * + * { margin-top: 1em; }
.mb-prose h2 { margin-top: 1.6em; font-size: 28px; font-weight: 500; }
.mb-prose h3 { margin-top: 1.4em; font-size: 22px; font-weight: 500; }
.mb-prose ul, .mb-prose ol { padding-left: 1.4em; list-style: disc; }
.mb-prose ol { list-style: decimal; }
.mb-prose li + li { margin-top: .35em; }
.mb-prose a { text-decoration: underline; text-underline-offset: 3px; }
.mb-prose strong { font-weight: 700; }
@media (max-width: 1600px) { .mb-prose { font-size: 15px; } }
