/**
 * Mobile header and bottom sheet
 */
@media (max-width: 1024px) {
	:root { --brandina-header-height: 70px; }
	.brandina-desktop-header { display: none; }
	.brandina-mobile-header { display: block; }
	.brandina-header-topline { height: 5px; }
	.admin-bar .brandina-site-header { top: 46px; }
	.brandina-mobile-bar { min-height: 65px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; padding: 0 14px; background: #fff; border-bottom: 1px solid #f0edf0; box-shadow: 0 5px 18px rgba(34, 27, 31, .06); }
	.brandina-mobile-actions { display: flex; align-items: center; gap: 4px; }
	.brandina-mobile-actions-start { justify-content: flex-start; }
	.brandina-mobile-actions-end { justify-content: flex-end; }
	.brandina-mobile-icon { position: relative; width: 37px; height: 37px; display: inline-grid; place-items: center; padding: 0; color: #5a616d; background: transparent; border: 0; border-radius: 11px; text-decoration: none; cursor: pointer; }
	.brandina-mobile-icon:hover { color: var(--brandina-header-pink-dark); background: #faf5f7; }
	.brandina-mobile-icon .brandina-icon { width: 21px; height: 21px; }
	.brandina-mobile-logo { min-width: 110px; display: flex; justify-content: center; }
	.brandina-mobile-logo .custom-logo { width: auto; max-width: 115px; max-height: 40px; object-fit: contain; }
	.brandina-mobile-logo .brandina-fallback-logo { gap: 7px; font-size: 17px; }
	.brandina-mobile-logo .brandina-fallback-logo-mark { width: 31px; height: 31px; }
	.brandina-mobile-logo .brandina-fallback-logo-mark .brandina-icon { width: 18px; height: 18px; }
	.brandina-mobile-cart .brandina-cart-count { top: 1px; right: 0; border-width: 1px; }

	.brandina-mobile-backdrop { position: fixed; inset: 0; z-index: 10020; background: rgba(20, 22, 27, .48); backdrop-filter: blur(7px); opacity: 0; transition: opacity .25s ease; }
	.brandina-mobile-backdrop[hidden] { display: none; }
	.brandina-mobile-backdrop.is-open { opacity: 1; }
	.brandina-mobile-sheet { position: fixed; left: 0; right: 0; bottom: 0; z-index: 10030; max-height: min(84vh, 760px); overflow-y: auto; overscroll-behavior: contain; padding: 10px 14px calc(20px + env(safe-area-inset-bottom)); background: #fff; border-radius: 26px 26px 0 0; box-shadow: 0 -20px 65px rgba(26, 18, 22, .24); transform: translateY(105%); visibility: hidden; transition: transform .28s cubic-bezier(.2,.75,.25,1), visibility .28s; }
	.brandina-mobile-sheet.is-open { transform: translateY(0); visibility: visible; }
	.brandina-sheet-handle { width: 42px; height: 4px; margin: 1px auto 12px; border-radius: 999px; background: #dcdde2; }
	.brandina-sheet-head { min-height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
	.brandina-sheet-logo { display: flex; align-items: center; }
	.brandina-sheet-logo .custom-logo { width: auto; max-width: 105px; max-height: 34px; object-fit: contain; }
	.brandina-sheet-logo .brandina-fallback-logo { font-size: 16px; gap: 6px; }
	.brandina-sheet-logo .brandina-fallback-logo-mark { width: 29px; height: 29px; }
	.brandina-sheet-logo .brandina-fallback-logo-mark .brandina-icon { width: 17px; height: 17px; }
	.brandina-sheet-close { width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-radius: 50%; color: #6d7480; background: #f7f8fa; cursor: pointer; }
	.brandina-sheet-close .brandina-icon { width: 18px; height: 18px; }
	.brandina-sheet-account { min-height: 55px; display: grid; grid-template-columns: 34px 1fr 18px; align-items: center; gap: 10px; margin-top: 8px; padding: 8px 11px; color: #26242b; background: #fafbfc; border: 1px solid #f0f0f3; border-radius: 13px; text-decoration: none; }
	.brandina-sheet-account-icon { width: 30px; height: 30px; display: grid; place-items: center; color: #9aa0aa; background: #fff; border: 1px solid #eeeeF2; border-radius: 50%; }
	.brandina-sheet-account-icon .brandina-icon { width: 17px; height: 17px; }
	.brandina-sheet-account-copy { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
	.brandina-sheet-account-copy strong { font-size: 12px; }
	.brandina-sheet-account-copy small { overflow: hidden; color: #9a9fa9; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
	.brandina-sheet-account > .brandina-icon { width: 15px; height: 15px; color: #a7abb3; transform: rotate(180deg); }
	.brandina-sheet-quick-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin-top: 14px; }
	.brandina-sheet-quick-grid a { min-height: 56px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; padding: 6px 4px; color: #68707c; background: #fafbfc; border: 1px solid #f1f1f4; border-radius: 11px; text-align: center; text-decoration: none; }
	.brandina-sheet-quick-grid a.is-pink { color: #ff426e; background: #fff3f6; border-color: #ffdbe3; }
	.brandina-sheet-quick-grid a.is-violet { color: #9d51f5; background: #f7f1ff; border-color: #eadcff; }
	.brandina-sheet-quick-grid span { display: inline-flex; }
	.brandina-sheet-quick-grid .brandina-icon { width: 18px; height: 18px; }
	.brandina-sheet-quick-grid b { font-size: 9px; font-weight: 700; }
	.brandina-sheet-gift { min-height: 53px; display: grid; grid-template-columns: 34px 1fr 17px; align-items: center; gap: 10px; margin-top: 14px; padding: 8px 10px; color: #f04065; background: #fff7f8; border: 1px solid #ffe2e7; border-radius: 13px; text-decoration: none; }
	.brandina-sheet-gift-icon { width: 31px; height: 31px; display: grid; place-items: center; color: #ff466e; background: #fff; border-radius: 50%; }
	.brandina-sheet-gift-icon .brandina-icon { width: 18px; height: 18px; }
	.brandina-sheet-gift > span:nth-child(2) { display: flex; flex-direction: column; gap: 1px; }
	.brandina-sheet-gift strong { font-size: 12px; }
	.brandina-sheet-gift small { color: #ff8da4; font-size: 9px; }
	.brandina-sheet-gift > .brandina-icon { width: 15px; height: 15px; transform: rotate(180deg); }
	.brandina-sheet-categories { margin-top: 14px; }
	.brandina-sheet-section-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
	.brandina-sheet-section-title strong { color: #7a808b; font-size: 10px; }
	.brandina-sheet-section-title a { color: #ff6f8f; font-size: 9px; text-decoration: none; }
	.brandina-sheet-category-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; }
	.brandina-sheet-category-grid a { min-height: 32px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 5px 9px; color: #525965; background: #fafbfc; border: 1px solid #f1f2f4; border-radius: 9px; font-size: 9px; text-decoration: none; }
	.brandina-sheet-category-grid .brandina-icon { width: 12px; height: 12px; color: #c0c3ca; transform: rotate(180deg); }
	.brandina-search-overlay { padding-top: 18vh; }
	.brandina-search-panel { padding: 34px 16px 18px; border-radius: 22px; }
	.brandina-search-title { font-size: 17px; }
	.brandina-search-form { min-height: 52px; grid-template-columns: 1fr 48px; }
	.brandina-mega-menu { display: none !important; }
}

@media (max-width: 782px) {
	.admin-bar .brandina-site-header { top: 46px; }
}

@media (max-width: 380px) {
	.brandina-mobile-bar { padding-inline: 8px; }
	.brandina-mobile-icon { width: 34px; height: 34px; }
	.brandina-mobile-actions { gap: 0; }
	.brandina-mobile-logo .custom-logo { max-width: 100px; }
	.brandina-sheet-quick-grid b { font-size: 8px; }
}

@media (max-width: 1024px) {
	.brandina-sheet-custom-menu { margin-top: 12px; }
	.brandina-sheet-menu-list { display: flex; flex-direction: column; gap: 0; margin: 0; padding: 0; overflow: hidden; background: #fafbfc; border: 1px solid #f0f1f4; border-radius: 12px; list-style: none; }
	.brandina-sheet-menu-list li { margin: 0; }
	.brandina-sheet-menu-list a { min-height: 39px; display: flex; align-items: center; justify-content: space-between; padding: 8px 11px; color: #4e5561; border-bottom: 1px solid #f0f1f4; text-decoration: none; }
	.brandina-sheet-menu-list li:last-child > a { border-bottom: 0; }
	.brandina-sheet-menu-list .sub-menu { margin: 0; padding: 0 11px 7px; background: #fff; list-style: none; }
	.brandina-sheet-menu-list .sub-menu a { min-height: 32px; padding: 5px 8px; color: #777e89; border-bottom: 0; }
}


/* v1.9 — fully responsive mobile sheet and recursive product categories. */
@media (max-width: 1024px) {
	.brandina-mobile-sheet {
		box-sizing: border-box;
		width: min(calc(100% - 24px), var(--brandina-mobile-sheet-max-width, 620px));
		max-width: var(--brandina-mobile-sheet-max-width, 620px);
		max-height: min(var(--brandina-mobile-sheet-height, 84vh), calc(100dvh - 16px));
		left: 50%;
		right: auto;
		padding-inline: clamp(12px, 3vw, 22px);
		transform: translate(-50%, 105%);
	}
	.brandina-mobile-sheet.is-open { transform: translate(-50%, 0); }
	.brandina-sheet-head { position: sticky; top: -10px; z-index: 5; padding-block: 6px; background: inherit; }
	.brandina-sheet-close {
		box-sizing: border-box;
		flex: 0 0 36px;
		width: 36px;
		height: 36px;
		min-width: 36px;
		min-height: 36px;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		padding: 0 !important;
		margin: 0;
		line-height: 0 !important;
		text-align: center;
	}
	.brandina-sheet-close .brandina-icon { display: block; margin: 0; transform: none; }

	.brandina-sheet-category-tree { min-width: 0; }
	.brandina-mobile-category-level { margin: 0; padding: 0; list-style: none; }
	.brandina-sheet-category-tree > .brandina-mobile-category-level {
		display: grid;
		grid-template-columns: repeat(var(--brandina-mobile-category-cols, 1), minmax(0, 1fr));
		gap: 8px;
	}
	.brandina-mobile-category-node { min-width: 0; margin: 0; overflow: hidden; border: 1px solid #eef0f3; border-radius: 11px; background: #fafbfc; }
	.brandina-mobile-category-node .brandina-mobile-category-node { margin-top: 5px; border: 0; border-radius: 8px; background: #fff; }
	.brandina-mobile-category-row {
		min-height: 38px;
		display: grid;
		grid-template-columns: minmax(0, 1fr) 34px;
		align-items: center;
		padding-inline-start: calc(8px + (var(--category-depth, 0) * 11px));
		border-radius: inherit;
	}
	.brandina-mobile-category-link { min-width: 0; display: flex; align-items: center; min-height: 38px; color: #4f5662; font-size: 11px; font-weight: 650; text-decoration: none; }
	.brandina-mobile-category-link span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.brandina-mobile-category-toggle,
	.brandina-mobile-category-leaf { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; padding: 0; border: 0; color: #a6abb4; background: transparent; line-height: 0; }
	.brandina-mobile-category-toggle { cursor: pointer; }
	.brandina-mobile-category-toggle .brandina-icon,
	.brandina-mobile-category-leaf .brandina-icon { width: 14px; height: 14px; transition: transform .2s ease; }
	.brandina-mobile-category-leaf .brandina-icon { transform: rotate(180deg); }
	.brandina-mobile-category-node.is-open > .brandina-mobile-category-row .brandina-mobile-category-toggle .brandina-icon { transform: rotate(180deg); }
	.brandina-mobile-category-node:not(.is-open) > .brandina-mobile-category-children { display: none; }
	.brandina-mobile-category-children { padding: 0 7px 7px; }
	.brandina-mobile-category-fallback { min-height: 38px; display: flex; align-items: center; justify-content: space-between; padding: 7px 10px; color: #525965; background: #fafbfc; border: 1px solid #eef0f3; border-radius: 10px; text-decoration: none; }
}

@media (max-width: 560px) {
	.brandina-mobile-sheet {
		width: 100%;
		max-width: none;
		left: 0;
		right: 0;
		transform: translateY(105%);
		border-radius: min(var(--brandina-mobile-sheet-radius, 26px), 26px) min(var(--brandina-mobile-sheet-radius, 26px), 26px) 0 0;
	}
	.brandina-mobile-sheet.is-open { transform: translateY(0); }
}

@media (max-width: 360px) {
	.brandina-mobile-sheet { padding-inline: 10px; }
	.brandina-sheet-quick-grid { gap: 5px; }
	.brandina-sheet-quick-grid a { min-height: 52px; padding-inline: 2px; }
}


/* v1.11 mobile search sheet. */
@media (max-width: 767px) {
    .brandina-search-overlay { align-items: flex-end; padding: 0; }
    .brandina-search-panel {
        max-width: none !important;
        max-height: 92dvh;
        padding: 16px 12px max(16px, env(safe-area-inset-bottom));
        border: 0;
        border-radius: 24px 24px 0 0 !important;
        box-shadow: 0 -18px 55px rgba(20,18,26,.2);
        transform: translateY(24px);
    }
    .brandina-search-overlay.is-open .brandina-search-panel { transform: translateY(0); }
    .brandina-search-head { align-items: center; margin-bottom: 12px; }
    .brandina-search-title { font-size: 17px; }
    .brandina-search-head small { font-size: 10px; }
    .brandina-search-close { width: 36px; height: 36px; flex-basis: 36px; }
    .brandina-search-form { grid-template-columns: minmax(0,1fr) 46px 46px; min-height: 52px; border-radius: 14px; }
    .brandina-search-form input { padding: 0 12px; font-size: 13px; }
    .brandina-search-results { grid-template-columns: 1fr; gap: 6px; max-height: calc(92dvh - 215px); }
    .brandina-search-result { grid-template-columns: 60px minmax(0,1fr) 20px; min-height: 72px; padding: 6px; border-radius: 12px; }
    .brandina-search-result-image { width: 60px; height: 60px; border-radius: 9px; }
    .brandina-search-result-copy strong { font-size: 12px; }
    .brandina-search-result-price { font-size: 11px; }
    .brandina-search-suggestions { margin-top: 7px; padding-top: 9px; }
    .brandina-search-suggestions a { padding: 6px 9px; font-size: 10px; }
}

/* =========================================================
   Brandina v1.11.3 — smoother mobile sheet and safer overlays
   ========================================================= */
@media (max-width: 1024px) {
    .brandina-mobile-sheet {
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-y: contain;
        touch-action: pan-y pinch-zoom;
        scrollbar-width: none;
        transform: translate3d(-50%, 105%, 0);
        will-change: transform;
        backface-visibility: hidden;
        padding-bottom: max(24px, calc(18px + env(safe-area-inset-bottom)));
    }
    .brandina-mobile-sheet::-webkit-scrollbar { display: none; }
    .brandina-mobile-sheet.is-open { transform: translate3d(-50%, 0, 0); }
    .brandina-sheet-head {
        -webkit-backdrop-filter: saturate(1.05) blur(8px);
        backdrop-filter: saturate(1.05) blur(8px);
        background: color-mix(in srgb, var(--brandina-mobile-sheet-bg, #fff) 94%, transparent);
    }
    .brandina-mobile-backdrop {
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }
}

@media (max-width: 560px) {
    .brandina-mobile-sheet {
        transform: translate3d(0, 105%, 0);
        max-height: calc(100dvh - max(8px, env(safe-area-inset-top)));
    }
    .brandina-mobile-sheet.is-open { transform: translate3d(0, 0, 0); }
}


/* Brandina v1.14.3 — compact, touch-safe mobile search sheet. */
@media(max-width:767px){
    .brandina-search-overlay{align-items:flex-end!important;padding:0!important}
    .brandina-search-panel{
        width:100%!important;
        max-width:none!important;
        max-height:min(90dvh,760px)!important;
        padding:14px 12px max(14px,env(safe-area-inset-bottom))!important;
        border-radius:24px 24px 0 0!important;
    }
    .brandina-search-head{gap:10px!important;margin-bottom:11px!important}
    .brandina-search-head>div{min-width:0!important}
    .brandina-search-title{font-size:16px!important}
    .brandina-search-head small{display:-webkit-box!important;overflow:hidden!important;font-size:9px!important;line-height:1.6!important;-webkit-line-clamp:1!important;-webkit-box-orient:vertical!important}
    .brandina-search-close{
        flex-basis:36px!important;
        width:36px!important;
        height:36px!important;
        min-width:36px!important;
        min-height:36px!important;
    }
    .brandina-search-close .brandina-icon,.brandina-search-close svg{width:17px!important;height:17px!important}
    .brandina-search-form{
        grid-template-columns:minmax(0,1fr) 44px 44px!important;
        gap:7px!important;
        min-height:46px!important;
    }
    .brandina-search-form.no-voice{grid-template-columns:minmax(0,1fr) 44px!important}
    .brandina-search-form input[type="search"]{height:46px!important;padding:0 12px!important;border-radius:12px!important;font-size:12px!important}
    .brandina-search-form button{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border-radius:12px!important}
    .brandina-search-form button .brandina-icon,.brandina-search-form button svg{width:20px!important;height:20px!important}
    .brandina-search-status{min-height:20px!important;padding:5px 2px 1px!important;font-size:10px!important}
    .brandina-search-results{max-height:calc(90dvh - 190px)!important;padding-bottom:2px!important}
}
@media(max-width:360px){
    .brandina-search-panel{padding-inline:9px!important}
    .brandina-search-form{grid-template-columns:minmax(0,1fr) 41px 41px!important;gap:5px!important}
    .brandina-search-form.no-voice{grid-template-columns:minmax(0,1fr) 41px!important}
    .brandina-search-form button{width:41px!important;height:41px!important;min-width:41px!important;min-height:41px!important}
}
