/* Wildlens premium footer v4.9.1 — brochure palette and contrast safe */
:root {
    --wl-footer-ink:#262626;
    --wl-footer-forest:#0E6B50;
    --wl-footer-forest-deep:#0B3028;
    --wl-footer-gold:#D38B17;
    --wl-footer-gold-light:#E6B45A;
    --wl-footer-ivory:#F7F2E8;
    --wl-footer-sage:#F4F0E7;
    --wl-footer-line:rgba(139,106,67,.18);
}

.wl-site-footer,
.wl-site-footer * { box-sizing:border-box; }

.wl-site-footer {
    position:relative;
    overflow:hidden;
    color:#4b5b55;
    background:
        radial-gradient(circle at 12% 10%, rgba(13,75,59,.08), transparent 25rem),
        radial-gradient(circle at 90% 6%, rgba(213,154,58,.14), transparent 28rem),
        linear-gradient(180deg,#fff 0%,#fbfaf6 48%,var(--wl-footer-ivory) 100%);
    border-top:1px solid var(--wl-footer-line);
}
.wl-footer-orbit { position:absolute; border:1px solid rgba(213,154,58,.13); border-radius:50%; pointer-events:none; }
.wl-footer-orbit--one { width:30rem; height:30rem; top:-19rem; right:-8rem; }
.wl-footer-orbit--two { width:22rem; height:22rem; bottom:8rem; left:-15rem; border-color:rgba(13,75,59,.1); }
.wl-footer-shell { position:relative; z-index:1; width:min(100% - 2rem,1280px); margin-inline:auto; padding:clamp(3.5rem,6vw,6rem) 0 1.5rem; }

.wl-footer-hero {
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
    overflow:hidden;
    border:1px solid rgba(255,255,255,.1);
    border-radius:2rem;
    color:#fff;
    background:
        radial-gradient(circle at 90% 0%,rgba(213,154,58,.27),transparent 20rem),
        linear-gradient(135deg,var(--wl-footer-ink),var(--wl-footer-forest-deep));
    box-shadow:0 32px 90px rgba(7,20,38,.2);
}
.wl-footer-hero__content { padding:clamp(2rem,5vw,4.5rem); }
.wl-footer-eyebrow,.wl-cookie-kicker { margin:0 0 .75rem; color:var(--wl-footer-gold-light); font-size:.67rem; font-weight:850; letter-spacing:.17em; text-transform:uppercase; }
.wl-footer-hero h3 { max-width:16ch; margin:0 0 1rem; color:#fff; font-size:clamp(2rem,4.4vw,4.35rem); font-weight:900; line-height:1.02; letter-spacing:-.05em; overflow-wrap:normal; word-break:normal; }
.wl-footer-hero__content>p:not(.wl-footer-eyebrow) { max-width:65ch; margin:0; color:rgba(255,255,255,.72); font-size:.95rem; line-height:1.8; }
.wl-footer-hero__actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.wl-footer-button { display:inline-flex; min-height:3.1rem; align-items:center; justify-content:center; gap:.6rem; padding:.85rem 1.2rem; border:1px solid transparent; border-radius:.95rem; font-size:.72rem; font-weight:850; letter-spacing:.07em; text-decoration:none; text-transform:uppercase; transition:transform .2s ease,background .2s ease; }
.wl-footer-button svg { width:1.05rem; height:1.05rem; fill:currentColor; }
.wl-footer-button:hover { transform:translateY(-2px); }
.wl-footer-button--gold { color:#111820; background:var(--wl-footer-gold); }
.wl-footer-button--gold:hover { background:#e5aa47; }
.wl-footer-button--glass { color:#fff; border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.08); }
.wl-footer-button--glass:hover { background:rgba(255,255,255,.14); }
.wl-footer-hero__promises { display:grid; align-content:center; gap:.75rem; padding:clamp(1.25rem,3vw,2.5rem); border-left:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.04); }
.wl-footer-hero__promises article { display:grid; grid-template-columns:2.5rem 1fr; gap:.8rem; align-items:start; padding:1rem; border:1px solid rgba(255,255,255,.09); border-radius:1rem; background:rgba(255,255,255,.045); }
.wl-footer-hero__promises article>span { display:grid; width:2.35rem; height:2.35rem; place-items:center; border-radius:.75rem; color:var(--wl-footer-gold-light); background:rgba(213,154,58,.14); font-size:.68rem; font-weight:900; }
.wl-footer-hero__promises strong,.wl-footer-hero__promises small { display:block; }
.wl-footer-hero__promises strong { margin:.05rem 0 .2rem; color:#fff; font-size:.86rem; }
.wl-footer-hero__promises small { color:rgba(255,255,255,.61); font-size:.72rem; line-height:1.5; }

.wl-footer-feature-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:1rem; margin-top:1rem; }
.wl-footer-dispatch,.wl-footer-planning-card { position:relative; border:1px solid var(--wl-footer-line); border-radius:1.6rem; box-shadow:0 18px 50px rgba(7,20,38,.07); }
.wl-footer-dispatch { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1.1rem 1.25rem; padding:clamp(1.5rem,3vw,2.4rem); background:linear-gradient(135deg,#fff,var(--wl-footer-sage)); }
.wl-footer-dispatch__icon { display:grid; width:3.1rem; height:3.1rem; place-items:center; border-radius:1rem; color:var(--wl-footer-forest); background:#fff; box-shadow:0 12px 30px rgba(7,20,38,.08); }
.wl-footer-dispatch__icon svg,.wl-footer-dispatch__field svg { width:1.25rem; height:1.25rem; fill:currentColor; }
.wl-footer-dispatch__copy h3,.wl-footer-planning-card h3 { margin:0 0 .65rem; color:var(--wl-footer-ink); font-size:clamp(1.35rem,2.3vw,2.1rem); font-weight:900; line-height:1.12; letter-spacing:-.035em; overflow-wrap:normal; word-break:normal; }
.wl-footer-dispatch__copy>p:last-child { margin:0; color:#66756f; font-size:.83rem; line-height:1.7; }
.wl-footer-dispatch__form { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.65rem; margin-top:.35rem; }
.wl-footer-dispatch__field { position:relative; display:flex; align-items:center; }
.wl-footer-dispatch__field svg { position:absolute; left:1rem; color:#7d8b85; }
.wl-footer-dispatch__field input { width:100%; min-height:3.25rem; padding:.8rem 1rem .8rem 3rem; border:1px solid rgba(15,43,35,.14); border-radius:.95rem; color:var(--wl-footer-ink); background:#fff; font-size:.84rem; outline:none; }
.wl-footer-dispatch__field input:focus { border-color:var(--wl-footer-gold); box-shadow:0 0 0 4px rgba(213,154,58,.14); }
.wl-footer-dispatch__form>button { min-height:3.25rem; padding:.8rem 1.25rem; border:0; border-radius:.95rem; color:#fff; background:var(--wl-footer-forest); font-size:.72rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.wl-footer-dispatch__consent { grid-column:1/-1; display:flex; align-items:flex-start; gap:.5rem; color:#718079; font-size:.68rem; line-height:1.5; }
.wl-footer-dispatch__consent input { margin-top:.15rem; accent-color:var(--wl-footer-forest); }
.wl-footer-honeypot { position:absolute!important; left:-9999px!important; }
.wl-footer-message { grid-column:1/-1; padding:.75rem .9rem; border-radius:.8rem; font-size:.75rem; }
.wl-footer-message--success { color:#1f6548; background:#eaf6ef; }
.wl-footer-message--error { color:#9b3434; background:#fff0f0; }
.wl-footer-planning-card { padding:clamp(1.5rem,3vw,2.4rem); color:#fff; background:linear-gradient(150deg,var(--wl-footer-forest),var(--wl-footer-forest-deep)); }
.wl-footer-planning-card h3 { color:#fff; }
.wl-footer-planning-card ul { display:grid; gap:.7rem; margin:1.25rem 0; padding:0; list-style:none; }
.wl-footer-planning-card li { display:grid; grid-template-columns:2rem 1fr; gap:.7rem; align-items:start; padding:.75rem; border:1px solid rgba(255,255,255,.09); border-radius:.9rem; background:rgba(255,255,255,.05); }
.wl-footer-planning-card li svg { width:1.45rem; height:1.45rem; padding:.22rem; border-radius:.45rem; fill:var(--wl-footer-gold-light); background:rgba(213,154,58,.13); }
.wl-footer-planning-card strong,.wl-footer-planning-card small { display:block; }
.wl-footer-planning-card strong { color:#fff; font-size:.8rem; }
.wl-footer-planning-card small { margin-top:.15rem; color:rgba(255,255,255,.62); font-size:.69rem; line-height:1.45; }
.wl-footer-planning-card>a { display:inline-flex; gap:.4rem; color:var(--wl-footer-gold-light); font-size:.74rem; font-weight:800; text-decoration:none; }

.wl-footer-directory { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:1rem; padding:clamp(3rem,6vw,5rem) 0; }
.wl-footer-card { min-width:0; padding:1.35rem; border:1px solid var(--wl-footer-line); border-radius:1.35rem; background:rgba(255,255,255,.82); box-shadow:0 12px 35px rgba(7,20,38,.05); backdrop-filter:blur(10px); }
.wl-footer-brand { grid-column:span 4; }
.wl-footer-links { grid-column:span 2; }
.wl-footer-links--destinations { grid-column:span 2; }
.wl-footer-contact { grid-column:span 2; }
.wl-footer-logo { display:flex; align-items:center; gap:.75rem; color:inherit; text-decoration:none; }
.wl-footer-logo img { width:auto; max-width:66px; height:52px; object-fit:contain; border-radius:.7rem; }
.wl-footer-logo strong { display:block; color:var(--wl-footer-ink); font-size:.97rem; letter-spacing:-.035em; white-space:nowrap; }
.wl-footer-logo strong em { color:var(--wl-footer-gold); font-style:normal; }
.wl-footer-logo small { display:block; margin-top:.12rem; color:#718079; font-size:.55rem; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.wl-footer-brand>p { max-width:40ch; margin:1.15rem 0; color:#5c6a65; font-size:.8rem; line-height:1.75; }
.wl-footer-socials { display:flex; gap:.5rem; }
.wl-footer-socials a { display:grid; width:2.6rem; height:2.6rem; place-items:center; border:1px solid var(--wl-footer-line); border-radius:.8rem; color:var(--wl-footer-ink); background:#fff; text-decoration:none; transition:transform .2s ease,color .2s ease,background .2s ease; }
.wl-footer-socials a svg { width:1rem; height:1rem; fill:currentColor; }
.wl-footer-socials a:hover { transform:translateY(-3px); color:#fff; background:var(--wl-footer-forest); }
.wl-footer-links h3,.wl-footer-contact h3 { margin:0 0 1rem; color:var(--wl-footer-ink); font-size:.72rem; font-weight:900; line-height:1.2; letter-spacing:.12em; text-transform:uppercase; overflow-wrap:normal; word-break:normal; hyphens:none; }
.wl-footer-links h3::after,.wl-footer-contact h3::after { content:""; display:block; width:1.8rem; height:2px; margin-top:.55rem; background:var(--wl-footer-gold); }
.wl-footer-links ul,.wl-footer-contact ul { margin:0; padding:0; list-style:none; }
.wl-footer-links li+li { margin-top:.65rem; }
.wl-footer-links a { display:inline-flex; flex-direction:column; color:#53615c; font-size:.84rem; font-weight:650; line-height:1.35; text-decoration:none; transition:color .2s ease,transform .2s ease; }
.wl-footer-links a:hover { color:var(--wl-footer-forest); transform:translateX(3px); }
.wl-footer-links--destinations a strong { color:var(--wl-footer-ink); font-size:.76rem; }
.wl-footer-links--destinations a small { margin-top:.1rem; color:#85918c; font-size:.62rem; font-weight:500; }
.wl-footer-contact>p { margin:0 0 .8rem; color:#65736d; font-size:.82rem; line-height:1.65; }
.wl-footer-contact li { padding:.62rem 0; border-bottom:1px solid var(--wl-footer-line); }
.wl-footer-contact li span { display:block; margin-bottom:.12rem; color:#87938e; font-size:.58rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.wl-footer-contact li a { display:block; color:var(--wl-footer-ink); font-size:.79rem; font-weight:750; line-height:1.4; text-decoration:none; overflow-wrap:anywhere; }
.wl-footer-contact-card { position:relative; display:block; margin-top:.8rem; padding:.85rem 2.5rem .85rem .9rem; border:1px solid rgba(13,75,59,.12); border-radius:.9rem; color:var(--wl-footer-ink); background:var(--wl-footer-sage); text-decoration:none; }
.wl-footer-contact-card span,.wl-footer-contact-card strong { display:block; }
.wl-footer-contact-card span { color:#718079; font-size:.62rem; }
.wl-footer-contact-card strong { margin-top:.15rem; font-size:.74rem; }
.wl-footer-contact-card b { position:absolute; top:50%; right:.9rem; transform:translateY(-50%); color:var(--wl-footer-gold); }

.wl-footer-base { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:1.2rem; padding:1.35rem 0 0; border-top:1px solid var(--wl-footer-line); color:#718079; font-size:.72rem; }
.wl-footer-base__copy p { margin:0; }
.wl-footer-base__copy p+p { margin-top:.2rem; color:#929e99; font-size:.59rem; }
.wl-footer-base nav { display:flex; flex-wrap:wrap; justify-content:center; gap:.8rem; }
.wl-footer-base nav a,.wl-cookie-settings-trigger { padding:0; border:0; color:#65736d; background:transparent; font:inherit; text-decoration:none; cursor:pointer; }
.wl-footer-base nav a:hover,.wl-cookie-settings-trigger:hover { color:var(--wl-footer-forest); }
.wl-back-to-top { display:inline-flex; align-items:center; gap:.4rem; padding:.65rem .8rem; border:1px solid var(--wl-footer-line); border-radius:.8rem; color:var(--wl-footer-ink); background:#fff; font-size:.68rem; font-weight:800; cursor:pointer; }
.wl-back-to-top svg { width:.9rem; height:.9rem; fill:currentColor; }

.wl-mobile-conversion-bar { display:none; }

@media (max-width:760px) {
    .wl-mobile-conversion-bar {
        position:fixed;
        z-index:10020;
        right:.75rem;
        bottom:.75rem;
        left:.75rem;
        display:grid;
        grid-template-columns:1.2fr .8fr;
        gap:.5rem;
        padding:.45rem;
        border:1px solid rgba(255,255,255,.12);
        border-radius:1rem;
        background:rgba(7,20,38,.94);
        box-shadow:0 18px 50px rgba(0,0,0,.25);
        backdrop-filter:blur(14px);
    }
    .wl-mobile-conversion-bar a {
        display:flex;
        min-height:2.75rem;
        align-items:center;
        justify-content:center;
        border-radius:.7rem;
        color:#fff;
        font-size:.68rem;
        font-weight:900;
        letter-spacing:.08em;
        text-decoration:none;
        text-transform:uppercase;
    }
    .wl-mobile-conversion-bar a:first-child { color:#101820; background:var(--wl-footer-gold); }
    .wl-mobile-conversion-bar a:last-child { border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.08); }
}

/* Cookie controls */
.wl-cookie-banner { position:fixed; z-index:10050; right:1rem; bottom:1rem; left:1rem; color:#fff; }
.wl-cookie-banner[hidden],.wl-cookie-modal[hidden] { display:none!important; }
.wl-cookie-banner__inner { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:1.5rem; width:min(100%,1120px); margin-inline:auto; padding:1.25rem; border:1px solid rgba(255,255,255,.13); border-radius:1.25rem; background:rgba(7,20,38,.97); box-shadow:0 25px 80px rgba(0,0,0,.3); backdrop-filter:blur(18px); }
.wl-cookie-banner h2,.wl-cookie-modal h2 { margin:0 0 .4rem; color:inherit; font-size:1.1rem; font-weight:850; }
.wl-cookie-banner p { max-width:75ch; margin:0; color:rgba(255,255,255,.7); font-size:.82rem; line-height:1.65; }
.wl-cookie-banner p a { color:var(--wl-footer-gold-light); }
.wl-cookie-banner__actions,.wl-cookie-modal__actions { display:flex; flex-wrap:wrap; gap:.5rem; }
.wl-cookie-button { min-height:2.75rem; padding:.65rem .95rem; border:1px solid rgba(255,255,255,.16); border-radius:.8rem; font-size:.7rem; font-weight:800; cursor:pointer; }
.wl-cookie-button--primary { color:#101820; border-color:var(--wl-footer-gold); background:var(--wl-footer-gold); }
.wl-cookie-button--secondary { color:#fff; background:rgba(255,255,255,.07); }
.wl-cookie-modal { position:fixed; z-index:10060; inset:0; display:grid; place-items:center; padding:1rem; }
.wl-cookie-modal__backdrop { position:absolute; inset:0; background:rgba(3,12,21,.72); backdrop-filter:blur(6px); }
.wl-cookie-modal__panel { position:relative; z-index:1; width:min(100%,620px); max-height:min(88vh,760px); overflow:auto; padding:clamp(1.4rem,4vw,2.25rem); border-radius:1.5rem; color:#4b5b55; background:#fff; box-shadow:0 30px 100px rgba(0,0,0,.35); outline:none; }
.wl-cookie-modal__close { position:absolute; top:1rem; right:1rem; display:grid; width:2.2rem; height:2.2rem; place-items:center; border:0; border-radius:.7rem; background:var(--wl-footer-sage); font-size:1.25rem; cursor:pointer; }
.wl-cookie-choice { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-top:.8rem; padding:1rem; border:1px solid var(--wl-footer-line); border-radius:1rem; background:#fbfcfb; }
.wl-cookie-choice h3,.wl-cookie-choice strong { margin:0; color:var(--wl-footer-ink); font-size:.86rem; }
.wl-cookie-choice p,.wl-cookie-choice small { display:block; margin:.25rem 0 0; color:#718079; font-size:.72rem; line-height:1.5; }
.wl-cookie-choice input { width:1.1rem; height:1.1rem; accent-color:var(--wl-footer-forest); }
.wl-cookie-always-on { flex:none; padding:.35rem .55rem; border-radius:999px; color:var(--wl-footer-forest); background:var(--wl-footer-sage); font-size:.62rem; font-weight:800; }
.wl-cookie-modal__actions { justify-content:flex-end; margin-top:1.2rem; }
.wl-cookie-modal__actions .wl-cookie-button--secondary { color:var(--wl-footer-ink); border-color:var(--wl-footer-line); background:#fff; }
.wl-cookie-modal-open { overflow:hidden; }

/* Cookie policy page retained */
.wl-cookie-policy-page { color:#4f5e58; background:#fff; }
.wl-cookie-policy-hero { color:#fff; background:linear-gradient(135deg,var(--wl-footer-ink),var(--wl-footer-forest)); }
.wl-cookie-policy-shell { width:min(100% - 2rem,1120px); margin-inline:auto; padding:clamp(5rem,10vw,8rem) 0; }
.wl-cookie-policy-hero h1 { margin:0 0 1rem; color:#fff; font-size:clamp(2.7rem,7vw,5.8rem); font-weight:900; letter-spacing:-.055em; }
.wl-cookie-policy-hero p:not(.wl-cookie-kicker) { max-width:65ch; margin:0 0 1rem; color:rgba(255,255,255,.72); font-size:1rem; line-height:1.75; }
.wl-cookie-policy-hero span { color:rgba(255,255,255,.5); font-size:.72rem; }
.wl-cookie-policy-content { display:grid; grid-template-columns:minmax(240px,320px) minmax(0,1fr); gap:clamp(2rem,6vw,6rem); width:min(100% - 2rem,1120px); margin-inline:auto; padding:clamp(4rem,8vw,7rem) 0; }
.wl-cookie-policy-content aside { align-self:start; position:sticky; top:7rem; padding:1.4rem; border:1px solid var(--wl-footer-line); border-radius:1.25rem; background:var(--wl-footer-sage); }
.wl-cookie-policy-content aside>p:first-child { margin:0 0 .45rem; color:var(--wl-footer-forest); font-size:.72rem; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.wl-cookie-policy-content aside h2 { margin:0 0 .65rem; color:var(--wl-footer-ink); font-size:1.35rem; }
.wl-cookie-policy-content aside p { line-height:1.65; }
.wl-cookie-policy-content aside button { width:100%; margin-top:.5rem; padding:.8rem 1rem; border:0; border-radius:.85rem; color:#fff; background:var(--wl-footer-forest); font-weight:800; cursor:pointer; }
.wl-cookie-policy-content article section { padding-bottom:2rem; margin-bottom:2rem; border-bottom:1px solid var(--wl-footer-line); }

@media (max-width:1180px) {
    .wl-footer-brand { grid-column:span 6; }
    .wl-footer-links,.wl-footer-links--destinations,.wl-footer-contact { grid-column:span 3; }
    .wl-footer-contact { grid-column:span 6; }
}
@media (max-width:900px) {
    .wl-footer-hero,.wl-footer-feature-grid { grid-template-columns:1fr; }
    .wl-footer-hero__promises { border-top:1px solid rgba(255,255,255,.1); border-left:0; }
    .wl-footer-brand,.wl-footer-links,.wl-footer-links--destinations,.wl-footer-contact { grid-column:span 6; }
    .wl-footer-base { grid-template-columns:1fr auto; }
    .wl-footer-base nav { grid-column:1/-1; grid-row:2; justify-content:flex-start; }
    .wl-cookie-policy-content { grid-template-columns:1fr; }
    .wl-cookie-policy-content aside { position:static; }
}
@media (max-width:640px) {
    .wl-footer-shell { width:min(100% - 1rem,1280px); }
    .wl-footer-hero { border-radius:1.35rem; }
    .wl-footer-hero__content { padding:1.5rem; }
    .wl-footer-hero h3 { font-size:2.1rem; }
    .wl-footer-hero__actions { flex-direction:column; }
    .wl-footer-button { width:100%; }
    .wl-footer-dispatch { grid-template-columns:1fr; }
    .wl-footer-dispatch__icon { display:none; }
    .wl-footer-dispatch__form { grid-column:auto; grid-template-columns:1fr; }
    .wl-footer-directory { grid-template-columns:1fr; padding-block:3rem; }
    .wl-footer-brand,.wl-footer-links,.wl-footer-links--destinations,.wl-footer-contact { grid-column:auto; }
    .wl-footer-base { grid-template-columns:1fr; align-items:start; }
    .wl-footer-base nav { grid-column:auto; grid-row:auto; justify-content:flex-start; }
    .wl-back-to-top { width:max-content; }
    .wl-cookie-banner { right:.55rem; bottom:.55rem; left:.55rem; }
    .wl-cookie-banner__inner { grid-template-columns:1fr; }
    .wl-cookie-banner__actions { display:grid; grid-template-columns:1fr 1fr; }
    .wl-cookie-banner__actions .wl-cookie-button--primary { grid-column:1/-1; }
}
@media (prefers-reduced-motion:reduce) {
    .wl-footer-button,.wl-footer-socials a,.wl-footer-links a { transition:none; }
}

/* Sitewide overflow safeguard: keep footer cards readable at tablet widths. */
.wl-site-footer .wl-footer-card,
.wl-site-footer .wl-footer-card * {
    min-width:0;
    max-width:100%;
}
.wl-site-footer .wl-footer-logo strong,
.wl-site-footer .wl-footer-logo small,
.wl-site-footer .wl-footer-links h3,
.wl-site-footer .wl-footer-contact h3,
.wl-site-footer .wl-footer-links a,
.wl-site-footer .wl-footer-links strong,
.wl-site-footer .wl-footer-links small,
.wl-site-footer .wl-footer-contact p,
.wl-site-footer .wl-footer-contact li a,
.wl-site-footer .wl-footer-contact-card span,
.wl-site-footer .wl-footer-contact-card strong,
.wl-site-footer .wl-footer-base__copy,
.wl-site-footer .wl-footer-base nav a {
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
    text-overflow:clip;
}
.wl-site-footer .wl-footer-logo strong { line-height:1.12; }
.wl-site-footer .wl-footer-links h3,
.wl-site-footer .wl-footer-contact h3 { line-height:1.35; }

@media (max-width:1024px) and (min-width:641px) {
    .wl-site-footer .wl-footer-directory {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .wl-site-footer .wl-footer-brand,
    .wl-site-footer .wl-footer-contact { grid-column:1/-1; }
    .wl-site-footer .wl-footer-links,
    .wl-site-footer .wl-footer-links--destinations { grid-column:auto; }
    .wl-site-footer .wl-footer-card { padding:1.2rem; }
}

@media (max-width:640px) {
    .wl-site-footer .wl-footer-logo { align-items:flex-start; }
    .wl-site-footer .wl-footer-logo strong { font-size:.9rem; }
    .wl-site-footer .wl-footer-links a,
    .wl-site-footer .wl-footer-contact li a { line-height:1.5; }
}

/* Long-copy protection for footer hero and feature cards. */
.wl-site-footer .wl-footer-hero h3,
.wl-site-footer .wl-footer-hero p,
.wl-site-footer .wl-footer-hero__promises strong,
.wl-site-footer .wl-footer-hero__promises small,
.wl-site-footer .wl-footer-dispatch__copy h3,
.wl-site-footer .wl-footer-dispatch__copy p,
.wl-site-footer .wl-footer-planning-card h3,
.wl-site-footer .wl-footer-planning-card strong,
.wl-site-footer .wl-footer-planning-card small {
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
    text-overflow:clip;
}

/* Footer title correction: use balanced word-level headings and wider destination/contact columns. */
@media (min-width:1025px) {
    .wl-site-footer .wl-footer-directory {
        grid-template-columns:minmax(0,2.2fr) minmax(150px,1fr) minmax(190px,1.25fr) minmax(150px,1fr) minmax(190px,1.25fr);
    }
    .wl-site-footer .wl-footer-brand,
    .wl-site-footer .wl-footer-links,
    .wl-site-footer .wl-footer-links--destinations,
    .wl-site-footer .wl-footer-contact {
        grid-column:auto;
    }
}
.wl-site-footer .wl-footer-links h3,
.wl-site-footer .wl-footer-contact h3 {
    max-width:100%;
    margin:0 0 1rem;
    font-size:clamp(.72rem,1vw,.92rem)!important;
    line-height:1.25!important;
    letter-spacing:.12em!important;
    text-wrap:balance;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none;
}
.wl-site-footer .wl-footer-links h3::after,
.wl-site-footer .wl-footer-contact h3::after { margin-top:.55rem; }
@media (max-width:1024px) and (min-width:641px) {
    .wl-site-footer .wl-footer-links h3,
    .wl-site-footer .wl-footer-contact h3 { font-size:.86rem!important; }
}

/* Mobile functionality pass — footer only, desktop unchanged. */
@media (max-width:640px) {
    .wl-site-footer { padding-bottom:5.25rem; }
    .wl-site-footer .wl-footer-directory { grid-template-columns:1fr; gap:.8rem; }
    .wl-site-footer .wl-footer-card { min-width:0; padding:1.15rem; border-radius:1.25rem; }
    .wl-site-footer .wl-footer-links ul,
    .wl-site-footer .wl-footer-contact ul { min-width:0; }
    .wl-site-footer .wl-footer-links a,
    .wl-site-footer .wl-footer-contact li a,
    .wl-site-footer .wl-footer-contact-card { min-height:44px; }
    .wl-site-footer .wl-footer-contact-card { display:grid; grid-template-columns:1fr auto; gap:.2rem .75rem; align-items:center; }
    .wl-site-footer .wl-footer-contact-card span { grid-column:1/-1; }
    .wl-site-footer .wl-footer-contact-card strong { min-width:0; }
    .wl-site-footer .wl-footer-base { gap:1rem; }
    .wl-site-footer .wl-footer-base nav { display:flex; flex-wrap:wrap; gap:.55rem .8rem; }
    .wl-site-footer .wl-footer-base nav a,
    .wl-site-footer .wl-footer-base nav button { min-height:40px; display:inline-flex; align-items:center; }
    .wl-mobile-conversion-bar { min-height:4.25rem; padding:.55rem .75rem; gap:.55rem; }
    .wl-mobile-conversion-bar a { min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding-inline:.75rem; white-space:nowrap; }
}

/* Footer directory polish and cross-border discovery */
.wl-footer-links--destinations li a{position:relative;padding:.62rem .65rem .62rem 0;border-radius:.65rem;transition:color .2s ease,transform .2s ease,background .2s ease,padding .2s ease}.wl-footer-links--destinations li a:after{content:'↗';position:absolute;right:.15rem;top:.75rem;color:var(--wl-footer-gold);font-size:.7rem;opacity:0;transform:translate(-4px,4px);transition:.2s ease}.wl-footer-links--destinations li a:hover,.wl-footer-links--destinations li a:focus-visible{padding-left:.55rem;background:rgba(14,107,80,.06);transform:translateX(2px)}.wl-footer-links--destinations li a:hover:after,.wl-footer-links--destinations li a:focus-visible:after{opacity:1;transform:none}.wl-footer-contact li a:hover,.wl-footer-contact li a:focus-visible{color:var(--wl-footer-forest);text-decoration:underline;text-underline-offset:3px}.wl-footer-socials a:focus-visible,.wl-footer-base a:focus-visible,.wl-footer-base button:focus-visible,.wl-footer-contact-card:focus-visible,.wl-footer-button:focus-visible,.wl-footer-dispatch__form button:focus-visible{outline:3px solid rgba(211,139,23,.55);outline-offset:3px}.wl-footer-contact-card:hover{border-color:rgba(13,75,59,.25);box-shadow:0 10px 26px rgba(13,75,59,.1);transform:translateY(-2px)}.wl-footer-contact-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}@media(max-width:760px){.wl-footer-directory{padding-bottom:2rem}.wl-footer-base{padding-bottom:5.2rem}.wl-footer-links--destinations li a{padding-right:1.3rem}.wl-footer-hero__actions .wl-footer-button,.wl-footer-feature-grid .wl-footer-button{width:100%}}
