/** Brandina footer v1.6. */
.brandina-footer {
	position: relative;
	border-top: 1px solid var(--brandina-footer-border);
}

.brandina-footer-inner {
	width: min(calc(100% - 32px), var(--brandina-footer-width));
	margin-inline: auto;
}

.brandina-footer-desktop { display: block; }
.brandina-footer-mobile { display: none; }

.brandina-footer-services {
	display: grid;
	gap: 14px;
	padding: var(--brandina-footer-services-padding);
	background: var(--brandina-footer-services-bg);
	border: 1px solid var(--brandina-footer-border);
	border-radius: var(--brandina-footer-services-radius);
	box-shadow: 0 8px 24px rgba(31, 41, 55, .035);
}

.brandina-footer-service {
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 7px 8px;
	color: var(--brandina-footer-text);
	text-align: right;
	text-decoration: none;
}

.brandina-footer-service-icon {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	color: var(--brandina-footer-accent);
}

.brandina-footer-service-icon img { width: 100%; height: 100%; object-fit: contain; }
.brandina-footer-service-icon .brandina-icon { width: 76%; height: 76%; }
.brandina-footer-service-copy { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.brandina-footer-service strong { color: var(--brandina-footer-heading); font-weight: 750; line-height: 1.55; }
.brandina-footer-service small { display: block; color: var(--brandina-footer-text); line-height: 1.55; }
.brandina-footer-service[href]:hover .brandina-footer-service-icon { transform: translateY(-2px); }

.brandina-footer-main {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(310px, 365px);
	align-items: start;
	gap: 58px;
	padding-block: var(--brandina-footer-main-top, 28px) var(--brandina-footer-main-bottom, 12px);
}

.brandina-footer-columns {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: start;
}

.brandina-footer-column { min-width: 0; }
.brandina-footer h3 { margin: 0 0 16px; font-weight: 850; line-height: 1.55; }
.brandina-footer-menu { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.brandina-footer-menu li { margin: 0; }
.brandina-footer-menu a { display: inline-flex; color: var(--brandina-footer-text); line-height: 1.75; text-decoration: none; transition: color .2s ease, transform .2s ease; }
.brandina-footer-menu a:hover { color: var(--brandina-footer-accent); transform: translateX(-3px); }

.brandina-footer-side {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.brandina-footer-contact-card {
	padding: 18px;
	background: #fafbfc;
	border: 1px solid var(--brandina-footer-border);
	border-radius: 16px;
}

.brandina-footer-contact-list { display: flex; flex-direction: column; gap: 10px; }
.brandina-footer-contact-list > a,
.brandina-footer-contact-list > span {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	padding: 8px 0;
	color: var(--brandina-footer-text);
	text-decoration: none;
}

.brandina-footer-contact-list .brandina-icon {
	width: 22px;
	height: 22px;
	margin-inline: auto;
	color: var(--brandina-footer-accent);
}

.brandina-footer-contact-list > * > span { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.brandina-footer-contact-list small { color: #989da8; line-height: 1.45; }
.brandina-footer-contact-list b { overflow: hidden; color: var(--brandina-footer-heading); font-weight: 650; line-height: 1.6; text-overflow: ellipsis; }

.brandina-footer-socials { display: flex; flex-direction: column; gap: 11px; }
.brandina-footer-socials > div { display: flex; align-items: center; gap: 10px; }
.brandina-footer-socials a,
.brandina-footer-socials .is-placeholder {
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	color: #8c919b;
	background: #f3f4f6;
	border: 1px solid #eceef1;
	border-radius: 50%;
	transition: color .2s ease, background .2s ease, transform .2s ease;
}

.brandina-footer-socials a:hover { color: #fff; background: var(--brandina-footer-accent); transform: translateY(-2px); }
.brandina-footer-socials .brandina-icon { width: 21px; height: 21px; }

.brandina-footer-newsletter { display: flex; flex-direction: column; gap: 12px; }
.brandina-newsletter-placeholder { display: grid; grid-template-columns: minmax(0, 1fr) 74px; gap: 8px; }
.brandina-newsletter-placeholder input {
	min-width: 0;
	min-height: 48px;
	padding: 0 14px;
	color: var(--brandina-footer-heading);
	background: #f1f2f4;
	border: 1px solid transparent;
	border-radius: 10px;
	outline: 0;
}

.brandina-newsletter-placeholder input:focus { border-color: var(--brandina-footer-accent); background: #fff; }
.brandina-newsletter-placeholder button {
	border: 0;
	color: #fff;
	background: var(--brandina-footer-accent);
	border-radius: 10px;
	font-weight: 750;
	cursor: pointer;
}

.brandina-footer-about {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	padding-top: var(--brandina-footer-about-top, 18px);
	border-top: 1px solid var(--brandina-footer-border);
}

.brandina-footer-about > div { max-width: 820px; }
.brandina-footer-about p { margin: 0; line-height: 2; }
.brandina-footer-copyright { flex: 0 0 auto; color: #9b9fa8; font-size: 12px; }

.brandina-back-to-top {
	position: fixed;
	left: 24px;
	bottom: 28px;
	z-index: 9990;
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	padding: 0;
	color: #fff;
	background: var(--brandina-footer-accent);
	border: 0;
	border-radius: 50%;
	box-shadow: 0 10px 25px rgba(31, 41, 55, .2);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: .25s ease;
}

.brandina-back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.brandina-back-to-top .brandina-icon { width: 20px; height: 20px; transform: rotate(180deg); }
.brandina-mobile-bottom-nav { display: none !important; }
body.brandina-has-mobile-bottom-nav { padding-bottom: 0 !important; }


/* Brandina v1.7 footer spacing fixes. */
.brandina-footer-inner { padding-block: var(--brandina-footer-pad, 20px); }
.brandina-footer-main { min-height: 0; }
.brandina-footer-columns { align-content: start; }
.brandina-footer-column { align-self: start; }
.brandina-footer-about { margin-top: 0; }

/* Brandina v1.8 compact desktop footer. */
.brandina-footer-main {
	grid-template-columns: minmax(0, 1fr) minmax(270px, 330px);
	gap: 34px;
	padding-block: var(--brandina-footer-main-top, 22px) var(--brandina-footer-main-bottom, 8px);
}

.brandina-footer-columns {
	gap: 24px 34px;
}

.brandina-footer-side {
	gap: 0;
}

.brandina-footer-contact-card {
	padding: 16px;
}

.brandina-footer-contact-list {
	gap: 4px;
}

.brandina-footer-contact-list > a,
.brandina-footer-contact-list > span {
	padding: 5px 0;
}

.brandina-footer-engagement {
	display: grid;
	grid-template-columns: minmax(230px, .7fr) minmax(380px, 1.3fr);
	align-items: center;
	gap: 30px;
	padding: 14px 0;
	border-top: 1px solid var(--brandina-footer-border);
}

.brandina-footer-engagement .brandina-footer-socials {
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 14px;
}

.brandina-footer-engagement .brandina-footer-newsletter {
	display: grid;
	grid-template-columns: minmax(220px, .9fr) minmax(300px, 1.1fr);
	align-items: center;
	gap: 18px;
}

.brandina-footer-about {
	padding-top: var(--brandina-footer-about-top, 14px);
}

/* Brandina v1.11.3 — do not let back-to-top cover mobile overlays. */
body.brandina-overlay-open .brandina-back-to-top,
body.brandina-mobile-sheet-open .brandina-back-to-top {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(14px) !important;
}

@media (max-width: 767px) {
    .brandina-back-to-top:not(.is-mobile-enabled) { display: none !important; }
    .brandina-back-to-top.is-mobile-enabled {
        left: 14px;
        bottom: max(16px, env(safe-area-inset-bottom));
        width: 42px;
        height: 42px;
        z-index: 9980;
    }
}


/* Brandina v1.11.8 — polished mobile bottom navigation. */
@media (max-width: 767px) {
    .brandina-mobile-bottom-nav {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 10010;
        display: block !important;
        padding-bottom: env(safe-area-inset-bottom);
        color: var(--brandina-bottom-nav-text, #747b88);
        background: var(--brandina-bottom-nav-bg, #fff);
        border-top: 1px solid var(--brandina-bottom-nav-border, #eceef2);
        border-radius: var(--brandina-bottom-nav-radius, 22px) var(--brandina-bottom-nav-radius, 22px) 0 0;
        box-shadow: var(--brandina-bottom-nav-shadow, 0 -10px 34px rgba(28,35,52,.14));
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        transition: transform .24s ease, opacity .2s ease, visibility .2s ease;
    }
    .brandina-mobile-bottom-nav-inner {
        width: min(100%, 560px);
        min-height: var(--brandina-bottom-nav-height, 66px);
        margin-inline: auto;
        display: grid;
        grid-template-columns: repeat(2, minmax(0,1fr)) 66px repeat(2, minmax(0,1fr));
        align-items: end;
        gap: 2px;
        padding: 5px 7px 6px;
    }
    .brandina-bottom-nav-item,
    .brandina-bottom-nav-menu {
        min-width: 0;
        min-height: 50px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        padding: 3px 2px;
        color: var(--brandina-bottom-nav-text, #747b88);
        background: transparent;
        border: 0;
        border-radius: 13px;
        font: inherit;
        text-decoration: none;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }
    .brandina-bottom-nav-item .brandina-icon,
    .brandina-bottom-nav-menu .brandina-icon {
        width: var(--brandina-bottom-nav-icon, 22px);
        height: var(--brandina-bottom-nav-icon, 22px);
    }
    .brandina-bottom-nav-item > span:last-child,
    .brandina-bottom-nav-menu > span:last-child {
        max-width: 100%;
        overflow: hidden;
        font-size: var(--brandina-bottom-nav-label, 9px);
        font-weight: 650;
        line-height: 1.35;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .brandina-bottom-nav-item.is-current,
    .brandina-bottom-nav-item:hover,
    .brandina-bottom-nav-item:focus { color: var(--brandina-bottom-nav-active, #ef4056); }
    .brandina-bottom-nav-menu {
        align-self: start;
        min-height: 62px;
        margin-top: -18px;
        color: var(--brandina-bottom-nav-center-color, #fff);
    }
    .brandina-bottom-nav-menu-icon {
        width: 52px;
        height: 52px;
        display: grid;
        place-items: center;
        color: var(--brandina-bottom-nav-center-color, #fff);
        background: var(--brandina-bottom-nav-center-bg, #ef4056);
        border: 4px solid var(--brandina-bottom-nav-bg, #fff);
        border-radius: 50%;
        box-shadow: 0 10px 24px color-mix(in srgb, var(--brandina-bottom-nav-center-bg) 30%, transparent);
    }
    .brandina-bottom-nav-menu > span:last-child { color: var(--brandina-bottom-nav-active, #ef4056); }
    .brandina-bottom-nav-icon-wrap { position: relative; display: inline-grid; place-items: center; }
    .brandina-bottom-nav-icon-wrap .brandina-cart-count { top: -7px; right: -10px; }
    .brandina-mobile-bottom-nav.hides-labels .brandina-mobile-bottom-nav-inner { align-items: center; }
    .brandina-mobile-bottom-nav.hides-labels .brandina-bottom-nav-item { min-height: 44px; }
    body.brandina-has-mobile-bottom-nav { padding-bottom: calc(var(--brandina-bottom-nav-height, 66px) + env(safe-area-inset-bottom)) !important; }
    body.brandina-overlay-open .brandina-mobile-bottom-nav,
    body.brandina-mobile-sheet-open .brandina-mobile-bottom-nav {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(115%);
    }
    body.brandina-has-mobile-bottom-nav .brandina-back-to-top.is-mobile-enabled {
        bottom: calc(var(--brandina-bottom-nav-height, 66px) + env(safe-area-inset-bottom) + 14px);
    }
}
@media (min-width: 768px) {
    .brandina-mobile-bottom-nav { display: none !important; }
}
