        /* Shared footer design system. Identical on every platform. Plus Jakarta Sans is preloaded in the head. */
        .footer-wrapper {
            position: relative;
            width: 100%;
            padding: 60px 0 0;
            color: #20334d;
            font-family: 'Plus Jakarta Sans', Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            text-rendering: optimizeLegibility;
            --space-4: 4px;
            --space-10: 10px;
            --space-18: 18px;
            --space-20: 20px;
            --space-28: 28px;
            background:
                radial-gradient(1100px 480px at 85% -25%, rgba(191, 219, 254, 0.12), rgba(191, 219, 254, 0)),
                radial-gradient(800px 420px at -5% -20%, rgba(221, 214, 254, 0.10), rgba(221, 214, 254, 0)),
                radial-gradient(700px 360px at 15% 120%, rgba(186, 230, 253, 0.10), rgba(186, 230, 253, 0)),
                radial-gradient(820px 420px at 105% 115%, rgba(125, 211, 252, 0.08), rgba(125, 211, 252, 0)),
                linear-gradient(180deg, #ffffff 0%, #fcfdff 60%, #f8fbff 100%);
            overflow: hidden;
        }

        .footer-container {
            width: 100%;
            box-sizing: border-box;
            max-width: 1440px;
            margin: 0 auto;
            padding: 0 clamp(24px, 3.5vw, 56px);
            display: grid;
            /* Columns size to their content so no link ever wraps, the payment column takes exactly what it needs */
            grid-template-columns: repeat(4, auto) fit-content(360px); justify-content: space-between;
            gap: clamp(14px, 2.2vw, 36px);
        }
        /* Sites with four columns keep the same rhythm without an empty trailing column */
        .footer-container:has(> .footer-section:nth-child(4):last-child) {
            grid-template-columns: repeat(3, auto) fit-content(360px);
        }

        .footer-section {
            padding: 0;
            background: transparent;
            border: 0;
            border-radius: 0;
            box-shadow: none;
        }
        .footer-section.footer-protection { margin-bottom: var(--buyer-protection-mb, 20px); }

        .footer-heading {
            font-size: clamp(13px, 0.95vw, 14px);
            line-height: 1.3;
            margin: var(--space-20) 0 12px 0;
            text-transform: uppercase;
            letter-spacing: 0.09em;
            font-weight: 700;
            color: #10243f;
        }
        @media (min-width: 641px) {
            .footer-heading.footer-heading-protection { margin-bottom: var(--buyer-protection-heading-mb, -3px); }
        }

        .footer-list { list-style: none; margin: 10px 0 0 0; padding: 0; }
        .footer-item { margin: 6px 0; color: #1f3654; font-size: clamp(15px, 1.05vw, 16px); line-height: 1.6; font-weight: 500; letter-spacing: 0.015em; }

        .footer-link,
        .footer-link:link,
        .footer-link:visited,
        .footer-link:active {
            color: #002e6a;
            text-decoration: none !important;
            position: relative;
            display: inline-block;
            padding-bottom: 2px;
            font-weight: 500;
            transition: color .2s ease, background-size .26s ease;
            background-image: linear-gradient(currentColor, currentColor);
            background-repeat: no-repeat;
            background-size: 0% 2px;
            background-position: 0 100%;
            font-size: var(--link-fs, inherit);
            border-bottom: none !important;
        }
        .footer-link:hover { color: #0d5fd4; background-size: 100% 2px; text-decoration: none !important; }
        .footer-link:focus-visible { outline: 2px solid #0d5fd4; outline-offset: 2px; background-size: 100% 2px; text-decoration: none !important; }
        /* Desktop: every footer link stays on a single line */
        @media (min-width: 1201px) {
            .footer-section .footer-heading, .footer-section .footer-item, .footer-section .footer-link { white-space: nowrap; }
        }

        .logos-line { display: flex; align-items: center; gap: clamp(6px, 1vw, 16px); font-size: var(--logos-fs, 1rem); line-height: 1.45; }
        .footerStripe { height: clamp(34px, 3vw, 46px); width: clamp(119px, 10.5vw, 161px); display: inline-block; vertical-align: middle; }
        .cards-logos { display: flex; align-items: center; gap: clamp(3px, 0.55vw, 9px); flex-wrap: nowrap; }
        .cards-logos .card-logo { flex: 0 0 auto; }
        .card-logo { width: auto; display: inline-block; vertical-align: middle; }
        .card-logo.visa { height: clamp(18px, 1.5vw, 23px); }
        .card-logo.mastercard { height: clamp(20px, 1.75vw, 27px); }
        .card-logo.applepay { height: clamp(20px, 1.75vw, 27px); }
        .card-logo.googlepay { height: clamp(20px, 1.75vw, 27px); }

        .note-line { color: #243a5a; font-size: clamp(14px, 0.98vw, 15px); line-height: var(--note-lh, 1.65); }
        .footer-item.note-fast { margin-bottom: -3px; font-size: clamp(14px, 1vw, 15px); }
        .footer-item.note-methods { margin-bottom: 10px; font-size: clamp(14px, 1vw, 15px); }

        .footer-bottom {
            margin-top: 40px;
            text-align: center;
            padding: 26px 24px 28px;
            position: relative;
            background: linear-gradient(180deg, #ffffff 0%, #f9fbff 42%, #eef6ff 100%);
            border-top: 1px solid rgba(0, 55, 120, 0.06);
            border-radius: 0;
            overflow: hidden;
            isolation: isolate;
        }
        .footer-bottom:before {
            content: "";
            position: absolute;
            inset: 0;
            background:
                radial-gradient(880px 400px at 92% 8%, rgba(190, 225, 255, 0.20), rgba(190, 225, 255, 0)),
                radial-gradient(660px 340px at 10% 88%, rgba(219, 214, 254, 0.16), rgba(219, 214, 254, 0));
            pointer-events: none;
            mix-blend-mode: normal;
        }
        .footer-text {
            position: relative;
            margin: 0 auto;
            max-width: 960px;
            font-size: clamp(14px, 1vw, 15px);
            line-height: 1.6;
            letter-spacing: 0.025em;
            color: #1f3654;
            font-weight: 500;
            text-wrap: balance;
        }
        .irelandFlag,
        .ukFlag { height: 15px; width: auto; vertical-align: -2px; margin: 0 6px; }

        @media (prefers-reduced-motion: reduce) {
            .footer-section, .footer-link { transition: none; }
        }

        /* Large screens */
        @media (min-width: 1441px) {
            .footer-container { max-width: 1600px; gap: 40px; padding: 0 64px; }
            .footer-heading { font-size: 14px; }
            .footer-item { font-size: 16px; margin: 7px 0; }
            .note-line { font-size: 15px; }
            .footer-item.note-fast, .footer-item.note-methods { font-size: 15px; }
            .footerStripe { height: 46px; width: 161px; }
            .card-logo.visa { height: 23px; }
            .card-logo.mastercard, .card-logo.applepay, .card-logo.googlepay { height: 27px; }
        }

        /* Tablet and medium screens */
        @media (max-width: 1200px) {
            .footer-container { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 32px; }
            .footer-section h3.footer-heading { font-size: 14px; }
            .footer-section ul.footer-list li.footer-item a.footer-link { font-size: 15px; }
            .footer-section ul li { margin-bottom: 6px; font-size: 15px; }
            .footer-bottom p.footer-text {
                margin: 0;
                font-size: 14px;
                color: #000000;
                letter-spacing: 0.025em;
            }
        }

        /* Mobile */
        @media (max-width: 640px) {
            .footer-wrapper { padding: 48px 0 0; }
            .footer-container {
                grid-template-columns: 1fr;
                gap: 0;
                padding: 0 max(34px, env(safe-area-inset-right)) var(--space-20) max(34px, env(safe-area-inset-left));
            }
            .footer-section { max-width: 100%; padding-top: var(--space-10); padding-bottom: var(--space-4); }
            .footer-section.footer-protection { margin-bottom: 0; }
            .footer-heading { font-size: 15px; margin: var(--space-28) 0 10px; letter-spacing: 0.1em; }
            .footer-list { display: flex; flex-direction: column; margin-top: var(--space-4); }
            .footer-item { margin: 0; font-size: 16px; line-height: 1.9; color: #19324e; letter-spacing: 0.015em; }
            .footer-link { color: #002e6a; }
            .footer-section .footer-link:link,
            .footer-section .footer-link:visited { color: #002e6a; }
            .footer-section .footer-link:active { color: #0d5fd4; }
            .footer-link:hover { color: #0d5fd4; background-size: 100% 2px; }
            .footer-link:focus-visible { outline: 2px solid #0d5fd4; outline-offset: 2px; background-size: 100% 2px; }
            footer.footer-wrapper li.footer-item a.footer-link { font-size: 16px !important; }
            .logos-line { gap: 10px; }
            .cards-logos { flex-wrap: nowrap; gap: clamp(6px, 2.4vw, 14px); }
            .card-logo.visa { height: 22px; }
            .card-logo.mastercard { height: 24px; }
            .card-logo.applepay { height: 25px; }
            .card-logo.googlepay { height: 25px; }
            .footerStripe { width: 170px; max-width: 170px; height: auto; display: block; margin-bottom: 8px; }
            .stripe-line { justify-content: flex-start; margin-top: 0; }
            .note-line { font-size: var(--note-mobile-fs, 15px); }
            .footer-item.note-fast { margin-bottom: 8px; font-size: 16px; line-height: 1.5; }
            .footer-item.note-methods { margin-bottom: 10px; font-size: 16px; line-height: 1.5; }
            .footer-bottom { margin-top: 42px; padding: 30px 24px 34px; background: linear-gradient(180deg, #ffffff 0%, #f6fbff 55%, #e7f3ff 100%); display: flex; justify-content: center; align-items: center; backdrop-filter: saturate(140%) blur(8px); -webkit-backdrop-filter: saturate(140%) blur(8px); border-top: 1px solid rgba(140, 180, 220, 0.25); }
            .footer-bottom .footer-text { font-size: 14px; line-height: 1.7; letter-spacing: 0.025em; margin: 0 auto; color: #0f2238; text-align: center; max-width: 640px; }
            .footer-bottom p.footer-text { color: #000000; }
            .irelandFlag,
            .ukFlag { height: 15px; }
            .mobile-break { display: inline; }
        }
        @media (min-width: 641px) { .mobile-break { display: none; } }
    
