.ibs-footer {
    --ibs-footer-bg: #00040E;
    --ibs-footer-text: #fff;
    --ibs-footer-muted: #A9ABAF;
    --ibs-footer-accent: #5476C8;
    --ibs-footer-divider: rgba(255,255,255,.17);
    --ibs-footer-grid-desktop: 1.25fr 1fr 1fr 1.15fr;
    --ibs-footer-grid-tablet: 1fr 1fr;
    --ibs-footer-grid-mobile: 1fr;
    --ibs-footer-mobile-brand-gap: 32px;
    --ibs-footer-mobile-accordion-pad: 20px;
    --ibs-footer-mobile-panel-top-pad: 12px;
    --ibs-footer-mobile-panel-pad: 22px;
    --ibs-footer-mobile-trust-pad: 22px;
    --ibs-footer-mobile-pre-trust-gap: 12px;
    --ibs-footer-mobile-trust-outer-pad: 0px;
    position: relative;
    width: 100%;
    overflow: hidden;
    background: radial-gradient(circle at 67% 0%, rgba(84,118,200,.16), transparent 34%), linear-gradient(180deg,#02060d 0%,#00040E 70%,#01040a 100%);
    color: var(--ibs-footer-text);
}
.ibs-footer *, .ibs-footer *::before, .ibs-footer *::after { box-sizing: border-box; }
.ibs-footer a { text-decoration: none !important; }
/* Isolate the widget from Kadence / global Elementor form and button presets. */
.ibs-footer button,
.ibs-footer input { font-family: inherit; }
.ibs-footer button { -webkit-appearance:none; appearance:none; }
.ibs-footer button:focus-visible,
.ibs-footer a:focus-visible,
.ibs-footer input:focus-visible { outline:2px solid var(--ibs-footer-accent); outline-offset:3px; }
.ibs-footer__overlay { position:absolute; inset:0; z-index:0; pointer-events:none; background:rgba(0,4,14,.88); }
.ibs-footer__inner { position:relative; z-index:1; width:100%; margin:0 auto; }
.ibs-footer__newsletter { display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,1fr); align-items:center; border-style:solid; border-color:rgba(255,255,255,.17); }
.ibs-footer__newsletter-copy { max-width:650px; }
.ibs-footer__eyebrow { color:#fff; font-size:11px; line-height:1.2; font-weight:700; letter-spacing:.32em; text-transform:uppercase; }
.ibs-footer__newsletter-heading { margin:12px 0 0; color:var(--ibs-footer-text) !important; font-family:"Playfair Display",Georgia,serif; font-size:clamp(30px,2.45vw,46px); line-height:1.05; font-weight:500; }
.ibs-footer__newsletter-desc { margin-top:12px; color:var(--ibs-footer-muted); font-size:16px; line-height:1.6; }
.ibs-footer__newsletter-form-wrap { min-width:0; }
.ibs-footer__newsletter-form { display:grid; width:100%; grid-template-columns:minmax(0,1fr) auto; align-items:stretch; gap:0; }
.ibs-footer__newsletter-field { display:flex; align-items:center; min-width:0; border:1px solid rgba(255,255,255,.18); overflow:hidden; transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease; }
.ibs-footer__newsletter-mail { flex:0 0 auto; margin-left:20px; font-size:18px; line-height:1; color:#E7E9EF; }
.ibs-footer__newsletter-input { width:100%; min-width:0; padding:0 18px; border:0!important; outline:0!important; box-shadow:none!important; background:transparent!important; font:inherit; }
.ibs-footer__newsletter-button { -webkit-appearance:none!important; appearance:none!important; display:inline-flex!important; align-items:center!important; justify-content:center!important; gap:12px; min-width:0; margin:0!important; box-sizing:border-box!important; border:0; outline:0; background-image:none!important; box-shadow:none; cursor:pointer; text-transform:uppercase; font-size:12px; line-height:1; font-weight:700; letter-spacing:.08em; transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease; white-space:nowrap; text-decoration:none!important; }
.ibs-footer__newsletter-button:hover, .ibs-footer__newsletter-button:focus { background-image:none!important; }
.ibs-footer__newsletter-button:hover { transform:translateY(-1px); }
.ibs-footer__newsletter-button:disabled { opacity:.65; cursor:wait; transform:none!important; }
.ibs-footer__newsletter-button-icon { display:inline-flex; align-items:center; justify-content:center; }
.ibs-footer__newsletter-button-icon svg { width:1em; height:1em; }
.ibs-footer__newsletter-disclaimer { margin-top:10px; color:var(--ibs-footer-muted); font-size:11px; line-height:1.5; }
.ibs-footer__newsletter-status { min-height:1em; color:var(--ibs-footer-muted); font-size:12px; line-height:1.45; }
.ibs-footer__newsletter-status:empty { min-height:0; margin-top:0!important; }
.ibs-footer__newsletter-hp { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; clip-path:inset(50%)!important; white-space:nowrap!important; }
.ibs-footer__newsletter-elementor-form, .ibs-footer__newsletter-shortcode { width:100%; min-width:0; }
.ibs-footer__newsletter-elementor-form .elementor-form { width:100%; }
.ibs-footer__newsletter-elementor-form .elementor-message { margin-top:10px; }
.ibs-footer__newsletter-shortcode > * { margin:0; }
.ibs-footer__columns { display:grid; grid-template-columns:var(--ibs-footer-grid-desktop); align-items:start; border-bottom:0; }
.ibs-footer__column { min-width:0; }
.ibs-footer__column + .ibs-footer__column { border-left-style:solid; border-left-color:rgba(255,255,255,.13); padding-left:clamp(24px,3vw,52px); }
.ibs-footer__brand-stack { display:flex; flex-direction:column; align-items:flex-start; }
.ibs-footer__brand-text { color:var(--ibs-footer-text) !important; font-size:38px; line-height:1; font-weight:500; letter-spacing:.04em; text-transform:uppercase; }
.ibs-footer__brand-logo img { display:block; max-width:100%; height:auto; }
.ibs-footer__desc { max-width:390px; color:var(--ibs-footer-muted); font-size:15px; line-height:1.65; }
.ibs-footer__socials { display:flex; flex-wrap:wrap; align-items:center; }
.ibs-footer__social-link { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; border:1px solid rgba(255,255,255,.14); transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease; }
.ibs-footer__social-link:hover { transform:translateY(-2px); }
.ibs-footer__social-link svg { display:block; fill:currentColor; }
.ibs-footer__tagline { max-width:360px; padding-left:20px; border-left:2px solid var(--ibs-footer-accent); font-size:10px; line-height:1.8; font-weight:600; letter-spacing:.3em; text-transform:uppercase; }
.ibs-footer__column-title {
    -webkit-appearance:none!important; appearance:none!important;
    width:100%!important; min-width:0!important; max-width:none!important; min-height:0!important; height:auto!important;
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    margin:0 0 26px!important; padding:0!important;
    border:0!important; border-radius:0!important; outline:0; background:transparent!important; background-image:none!important;
    box-shadow:none!important; text-shadow:none!important;
    color:var(--ibs-footer-text)!important; text-align:left;
    font-size:11px; line-height:1.2; font-weight:700; letter-spacing:.28em; text-transform:uppercase;
    cursor:default;
}
.ibs-footer__column-title-inner { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; min-width:0; }
.ibs-footer__column-title-text { min-width:0; }
.ibs-footer__accordion-icon { display:none; flex:0 0 auto; transition:transform .25s ease,color .2s ease; }
.ibs-footer__links { list-style:none; display:flex; flex-direction:column; margin:0; padding:0; }
.ibs-footer__links li { margin:0; padding:0; }
.ibs-footer__link { display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; color:#E7E9EF; text-decoration:none!important; font-size:15px; line-height:1.35; transition:color .2s ease; }
.ibs-footer__link-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; transition:transform .2s ease,color .2s ease; }
.ibs-footer__link-icon svg { display:block; fill:currentColor; }
.ibs-footer__contacts { display:flex; flex-direction:column; gap:28px; }
.ibs-footer__contact-item { display:grid; grid-template-columns:auto minmax(0,1fr); gap:18px; align-items:start; }
.ibs-footer__contact-icon { display:inline-flex; align-items:center; justify-content:center; width:28px; padding-top:1px; transition:color .2s ease,transform .2s ease; }
.ibs-footer__contact-icon svg { display:block; fill:currentColor; }
.ibs-footer__contact-title { color:var(--ibs-footer-text)!important; font-size:14px; line-height:1.3; font-weight:600; }
.ibs-footer__contact-text, .ibs-footer__contact-subtext { display:block; margin-top:4px; color:var(--ibs-footer-muted); font-size:14px; line-height:1.55; }
a.ibs-footer__contact-text:hover { color:#fff!important; }
.ibs-footer__trust { border-style:solid; border-color:rgba(255,255,255,.17); }
.ibs-footer__trust-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:center; }
.ibs-footer__trust-item { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:18px; color:inherit; min-width:0; transition:color .2s ease,transform .2s ease; }
a.ibs-footer__trust-item { text-decoration:none!important; }
a.ibs-footer__trust-item:hover { transform:translateY(-1px); }
.ibs-footer__trust-icon, .ibs-footer__trust-title, .ibs-footer__trust-subtitle { transition:color .2s ease; }
.ibs-footer__trust-item + .ibs-footer__trust-item { border-left:1px solid rgba(255,255,255,.13); padding-left:clamp(18px,2.2vw,40px); }
.ibs-footer__trust-icon { display:inline-flex; align-items:center; justify-content:center; }
.ibs-footer__trust-icon svg { display:block; fill:currentColor; }
.ibs-footer__trust-title { color:var(--ibs-footer-text)!important; font-size:15px; line-height:1.25; font-weight:600; }
.ibs-footer__trust-subtitle { margin-top:4px; color:var(--ibs-footer-muted); font-size:13px; line-height:1.4; }
.ibs-footer__bottom { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:28px; border-style:solid; border-color:rgba(255,255,255,.17); }
.ibs-footer__copyright { color:var(--ibs-footer-muted); font-size:12px; line-height:1.4; }
.ibs-footer__payments { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; }
.ibs-footer__payment { display:inline-flex; align-items:center; justify-content:center; min-width:46px; padding:0 8px; border-radius:3px; font-size:9px; line-height:1; font-weight:700; white-space:nowrap; overflow:hidden; transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease; }
.ibs-footer__payment:hover { transform:translateY(-1px); }
.ibs-footer__payment img { display:block; max-width:100%; max-height:75%; width:auto; height:auto; object-fit:contain; }
.ibs-footer__legal { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:0; }
.ibs-footer__legal a, .ibs-footer__legal span { font-size:12px; line-height:1.4; }
.ibs-footer__legal a + a::before, .ibs-footer__legal a + span::before, .ibs-footer__legal span + a::before, .ibs-footer__legal span + span::before { content:""; display:inline-block; width:1px; height:12px; margin:0 12px; vertical-align:-2px; background:rgba(255,255,255,.28); }
.ibs-footer__back-top {
    -webkit-appearance:none!important; appearance:none!important;
    position:fixed; z-index:50; display:inline-flex; align-items:center; justify-content:center;
    min-width:0!important; min-height:0!important; margin:0!important; padding:0!important;
    line-height:1!important; text-indent:0!important;
    opacity:0; visibility:hidden; transform:translateY(12px);
    border:1px solid rgba(255,255,255,.2); box-shadow:none;
    cursor:pointer; transition:opacity .25s ease,visibility .25s ease,transform .25s ease,background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.ibs-footer__back-top.is-visible { opacity:1; visibility:visible; transform:translateY(0); }
.ibs-footer__back-top svg { display:block; fill:currentColor; }


@media (min-width:1025px) {
    .ibs-footer--hide-newsletter-desktop .ibs-footer__newsletter { display:none!important; }
}

@media (min-width:768px) and (max-width:1024px) {
    .ibs-footer--hide-newsletter-tablet .ibs-footer__newsletter { display:none!important; }
}

@media (max-width:1024px) {
    .ibs-footer__newsletter { grid-template-columns:1fr; row-gap:26px; }
    .ibs-footer__columns { grid-template-columns:var(--ibs-footer-grid-tablet); }
    .ibs-footer__column + .ibs-footer__column { border-left:0; padding-left:0; }
    .ibs-footer__trust-item + .ibs-footer__trust-item { border-left:0; padding-left:0; }
    .ibs-footer__bottom { grid-template-columns:1fr; justify-items:center; text-align:center; }
    .ibs-footer__legal { justify-content:center; }
}

@media (max-width:767px) {
    .ibs-footer__newsletter-form { grid-template-columns:1fr; align-items:stretch; }
    .ibs-footer__newsletter-button { max-width:100%; }
    .ibs-footer__columns { grid-template-columns:var(--ibs-footer-grid-mobile); }
    .ibs-footer__brand-text { font-size:30px; }
    .ibs-footer__column-title { margin-bottom:18px; }

    /* Mobile accordion: remove the desktop row-gap that was creating large dead spaces. */
    .ibs-footer--mobile-accordion .ibs-footer__columns { row-gap:0!important; }
    /* Dedicated mobile spacing between the accordion block and trust bar.
       This intentionally overrides the shared Columns Vertical Padding bottom value,
       which previously stacked with trust padding and created a very large empty gap. */
    .ibs-footer__columns { padding-bottom:var(--ibs-footer-mobile-pre-trust-gap)!important; }
    .ibs-footer__trust {
        padding-top:var(--ibs-footer-mobile-trust-outer-pad)!important;
        padding-bottom:var(--ibs-footer-mobile-trust-outer-pad)!important;
    }
    .ibs-footer--mobile-accordion .ibs-footer__column--brand { padding-bottom:var(--ibs-footer-mobile-brand-gap); }
    .ibs-footer--mobile-accordion .ibs-footer__column--shop,
    .ibs-footer--mobile-accordion .ibs-footer__column--info,
    .ibs-footer--mobile-accordion .ibs-footer__column--contact {
        border-top:1px solid var(--ibs-footer-divider);
        padding-top:0!important;
    }
    .ibs-footer.ibs-footer--mobile-accordion .ibs-footer__column-title {
        cursor:pointer;
        margin:0!important;
        padding:var(--ibs-footer-mobile-accordion-pad) 0!important;
    }
    .ibs-footer.ibs-footer--mobile-accordion .ibs-footer__column-title-inner {
        min-height:1.2em;
    }
    .ibs-footer--mobile-accordion .ibs-footer__accordion-icon { display:inline-flex; align-items:center; justify-content:center; }
    .ibs-footer--mobile-accordion .ibs-footer__column-panel {
        display:grid;
        grid-template-rows:0fr;
        opacity:0;
        padding-top:0;
        padding-bottom:0;
        transition:grid-template-rows .28s ease,opacity .28s ease,padding .28s ease;
    }
    .ibs-footer--mobile-accordion .ibs-footer__column-panel > * { min-height:0; overflow:hidden; }
    .ibs-footer--mobile-accordion .ibs-footer__column.is-open .ibs-footer__column-panel {
        grid-template-rows:1fr;
        opacity:1;
        padding-top:var(--ibs-footer-mobile-panel-top-pad);
        padding-bottom:var(--ibs-footer-mobile-panel-pad);
    }
    .ibs-footer--mobile-accordion .ibs-footer__column.is-open .ibs-footer__accordion-icon { transform:rotate(45deg); }

    /* Trust bar: deterministic one-column separators so dividers never run through text. */
    .ibs-footer__trust-grid { gap:0!important; }
    .ibs-footer__trust-item {
        position:relative;
        padding-top:var(--ibs-footer-mobile-trust-pad);
        padding-bottom:var(--ibs-footer-mobile-trust-pad);
    }
    .ibs-footer__trust-item + .ibs-footer__trust-item {
        border-top:0!important;
        padding-left:0!important;
    }
    .ibs-footer__trust-item + .ibs-footer__trust-item::before {
        content:"";
        position:absolute;
        top:0;
        left:0;
        right:0;
        height:1px;
        background:var(--ibs-footer-divider);
        pointer-events:none;
    }

    .ibs-footer--hide-newsletter-mobile .ibs-footer__newsletter { display:none!important; }
    .ibs-footer--hide-trust-mobile .ibs-footer__trust { display:none; }
    .ibs-footer--hide-trust-subtitles-mobile .ibs-footer__trust-subtitle { display:none!important; }
    .ibs-footer--hide-payments-mobile .ibs-footer__payments { display:none; }
    .ibs-footer--hide-back-top-mobile .ibs-footer__back-top { display:none; }
    .ibs-footer__legal a + a::before, .ibs-footer__legal a + span::before, .ibs-footer__legal span + a::before, .ibs-footer__legal span + span::before { margin:0 8px; }
}

@media (prefers-reduced-motion:reduce) {
    .ibs-footer *, .ibs-footer *::before, .ibs-footer *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
}
