/* AVS Wholesale – header dropdown cards and quote icon.
   Cards size themselves from the space they get (container queries), so one block works in a desktop
   mega menu and in a phone menu. Colours come from the variables below; override them in your theme. */

.avsww-menu, .avsww-quote-icon {
	--avsww-m-primary: var(--avsww-primary, #f7891f);
	--avsww-m-primary-dark: var(--avsww-primary-dark, #c2580a);
	--avsww-m-tint: #fdebd9;
	--avsww-m-tint-2: #fff4ea;
	--avsww-m-ink: #1f1f1f;
	--avsww-m-muted: #6b6b6b;
	--avsww-m-line: #ececec;
	--avsww-m-green: #15803d;
	--avsww-m-whatsapp: #157a3c;
	--avsww-m-danger: #c02626;
	--avsww-m-radius: 16px;
}

.avsww-menu { container-type: inline-size; box-sizing: border-box; width: 100%; background: #fff; border-radius: var(--avsww-m-radius); color: var(--avsww-m-ink); font-size: 15px; line-height: 1.35; text-align: left; overflow: hidden; }
.avsww-menu *, .avsww-menu *::before, .avsww-menu *::after { box-sizing: border-box; }
.avsww-menu ul { list-style: none; margin: 0; padding: 0; }
.avsww-menu li { margin: 0; padding: 0; }
.avsww-menu li::before { content: none; }
.avsww-menu a { color: inherit; text-decoration: none; }
.avsww-menu p { margin: 0; }
.avsww-menu svg { width: 18px; height: 18px; flex: none; }
/* Cards never collapse when a theme drops them into a shrink-to-fit dropdown. */
.avsww-menu--categories { min-width: min(1200px, calc(100vw - 32px)); }
.avsww-menu--wholesale { min-width: min(380px, calc(100vw - 32px)); }
.avsww-menu--brands { min-width: min(520px, calc(100vw - 32px)); }
.avsww-menu--gifts { min-width: min(460px, calc(100vw - 32px)); }
.avsww-menu--account { min-width: min(280px, calc(100vw - 32px)); }

.avsww-menu__title { font-size: 18px; font-weight: 700; line-height: 1.3; }
.avsww-menu__note { font-size: 13px; color: var(--avsww-m-muted); }
.avsww-menu__more { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; color: var(--avsww-m-primary-dark) !important; }
.avsww-menu__more:hover { text-decoration: underline !important; }
.avsww-menu__more svg { width: 16px; height: 16px; }
.avsww-menu__btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 11px 18px; border-radius: 999px; font-size: 14px; font-weight: 600; line-height: 1.2; white-space: nowrap; transition: filter .15s; }
.avsww-menu__btn:hover { filter: brightness(.94); }
.avsww-menu__btn.is-primary { background: var(--avsww-m-primary); color: #fff !important; }
.avsww-menu__btn.is-whatsapp { background: var(--avsww-m-whatsapp); color: #fff !important; }
.avsww-menu__btn.is-dark { background: var(--avsww-m-ink); color: #fff !important; }
.avsww-menu__btn.is-small { padding: 8px 16px; font-size: 13px; }
.avsww-menu a:focus-visible { outline: 2px solid var(--avsww-m-ink); outline-offset: 2px; border-radius: 8px; }

/* Shared two-panel layout (main + tinted side). */
.avsww-menu__inner { display: flex; }
.avsww-menu__main { flex: 1; min-width: 0; padding: 26px 28px; }
.avsww-menu__side { flex: none; width: 300px; padding: 24px; background: var(--avsww-m-tint); display: flex; flex-direction: column; gap: 14px; }
.avsww-menu__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 24px; padding: 16px 28px; border-top: 1px solid var(--avsww-m-line); }
.avsww-menu__foot.is-center { justify-content: center; }

/* Categories. */
.avsww-menu__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; margin-bottom: 18px; }
.avsww-menu__cats { display: grid; grid-template-columns: repeat(var(--avsww-cols, 4), minmax(0, 1fr)); gap: 6px 12px; }
.avsww-menu__cats a { display: flex; align-items: center; gap: 12px; padding: 8px 6px; border-radius: 10px; font-size: 15px; transition: background .15s; }
.avsww-menu__cats a:hover { background: var(--avsww-m-tint-2); color: var(--avsww-m-primary-dark); }
.avsww-menu__cat-icon { flex: none; width: 42px; height: 42px; border-radius: 50%; background: var(--avsww-m-tint-2); display: grid; place-items: center; overflow: hidden; font-weight: 700; color: var(--avsww-m-primary); }
.avsww-menu__cat-icon img { width: 28px; height: 28px; object-fit: contain; }
.avsww-menu__cat-name { min-width: 0; }
.avsww-menu__promo { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-height: 270px; padding: 22px 20px; border-radius: 14px; background: var(--avsww-m-primary); color: #fff !important; overflow: hidden; }
.avsww-menu__promo-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--avsww-m-ink); }
.avsww-menu__promo-title { font-size: 24px; font-weight: 800; line-height: 1.15; }
.avsww-menu__promo-text { font-size: 14px; color: var(--avsww-m-ink); }
.avsww-menu__promo-btn { margin-top: 10px; padding: 8px 16px; border-radius: 999px; background: var(--avsww-m-ink); color: #fff; font-size: 14px; font-weight: 600; position: relative; z-index: 1; }
.avsww-menu__promo-img { position: absolute; right: 18px; bottom: 12px; width: 110px; height: auto; }
.avsww-menu__download { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 10px; background: #fff; }
.avsww-menu__download span { display: flex; flex-direction: column; }
.avsww-menu__download strong { font-size: 15px; font-weight: 600; }
.avsww-menu__download small { font-size: 13px; color: var(--avsww-m-muted); }
.avsww-menu__download-icon { flex: none !important; width: 34px; height: 34px; border-radius: 50%; background: var(--avsww-m-tint-2); color: var(--avsww-m-primary); display: grid !important; place-items: center; }
.avsww-menu__download-icon svg { width: 16px; height: 16px; }
.avsww-menu__badges { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.avsww-menu__badges li, .avsww-menu__badges a { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: var(--avsww-m-muted); }
.avsww-menu__badges svg { width: 16px; height: 16px; }
.avsww-menu__badges .is-whatsapp a { color: var(--avsww-m-whatsapp) !important; font-weight: 600; }

/* Wholesale. */
.avsww-menu__links { padding: 14px 12px; }
.avsww-menu__links a { display: flex; align-items: center; gap: 14px; padding: 12px; border-radius: 12px; transition: background .15s; }
.avsww-menu__links a:hover { background: #f7f7f8; }
.avsww-menu__link-icon { flex: none; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; }
.avsww-menu__link-icon.is-orange { background: #fdeee0; color: #e46f0c; }
.avsww-menu__link-icon.is-blue { background: #e6f1fd; color: #2563eb; }
.avsww-menu__link-icon.is-green { background: #e5f6ec; color: #15803d; }
.avsww-menu__link-icon.is-pink { background: #fde8f0; color: #db2777; }
.avsww-menu__link-icon.is-grey { background: #f1f1f3; color: #3f3f46; }
.avsww-menu__link-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.avsww-menu__link-text strong { font-size: 15px; font-weight: 600; }
.avsww-menu__link-text small { font-size: 13px; color: var(--avsww-m-muted); }
.avsww-menu__cta { padding: 18px 24px 20px; background: var(--avsww-m-tint); }
.avsww-menu__cta p { font-size: 14px; margin-bottom: 12px; }
.avsww-menu__cta-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

/* Brands. */
.avsww-menu--brands .avsww-menu__body { padding: 24px; }
.avsww-menu__brands { display: grid; grid-template-columns: repeat(var(--avsww-cols, 3), minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.avsww-menu__brands a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 76px; padding: 12px 8px; border: 1px solid var(--avsww-m-line); border-radius: 10px; text-align: center; transition: border-color .15s, box-shadow .15s; }
.avsww-menu__brands a:hover { border-color: var(--avsww-m-primary); box-shadow: 0 4px 14px rgba(0,0,0,.06); }
.avsww-menu__brands img { max-width: 100%; max-height: 34px; object-fit: contain; }
.avsww-menu__brand-name { font-size: 18px; font-weight: 800; font-style: italic; line-height: 1.15; word-break: break-word; }
.avsww-menu__brands small { font-size: 12px; color: var(--avsww-m-muted); }
.avsww-menu__brands .is-tone-0 .avsww-menu__brand-name { color: #1d6fa5; }
.avsww-menu__brands .is-tone-1 .avsww-menu__brand-name { color: #1f1f1f; }
.avsww-menu__brands .is-tone-2 .avsww-menu__brand-name { color: #e8740c; }
.avsww-menu__brands .is-tone-3 .avsww-menu__brand-name { color: #2b2b2b; }
.avsww-menu__brands .is-tone-4 .avsww-menu__brand-name { color: #c0267a; }
.avsww-menu__brands .is-tone-5 .avsww-menu__brand-name { color: #1f8a4c; }

/* Return gifts. */
.avsww-menu--gifts .avsww-menu__main { padding: 24px; }
.avsww-menu--gifts .avsww-menu__title + ul { margin: 12px 0 20px; }
.avsww-menu--gifts .avsww-menu__main > ul:last-child { margin-bottom: 0; }
.avsww-menu__pills { display: flex; flex-wrap: wrap; gap: 8px; }
.avsww-menu__pills a { display: inline-block; padding: 7px 14px; border-radius: 999px; background: var(--avsww-m-tint); font-size: 14px; font-weight: 600; transition: background .15s; }
.avsww-menu__pills a:hover { background: #fbd9b8; }
.avsww-menu__plain { display: flex; flex-direction: column; gap: 9px; }
.avsww-menu__plain a { font-size: 15px; }
.avsww-menu__plain a:hover { color: var(--avsww-m-primary-dark); }
.avsww-menu--gifts .avsww-menu__enquire { width: 190px; align-items: center; justify-content: center; text-align: center; gap: 6px; }
.avsww-menu__enquire-icon { color: var(--avsww-m-primary); }
.avsww-menu__enquire-icon svg { width: 46px; height: 46px; }
.avsww-menu__enquire strong { font-size: 15px; font-weight: 700; margin-top: 6px; }
.avsww-menu__enquire small { font-size: 13px; color: var(--avsww-m-muted); margin-bottom: 8px; }

/* Account. */
.avsww-menu__user { display: flex; align-items: center; gap: 12px; padding: 16px 18px; background: var(--avsww-m-tint); }
.avsww-menu__user > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.avsww-menu__user strong { font-size: 15px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.avsww-menu__user small { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--avsww-m-muted); }
.avsww-menu__user small.is-verified { color: var(--avsww-m-green); }
.avsww-menu__user small svg { width: 13px; height: 13px; }
.avsww-menu__avatar { flex: none; width: 44px; height: 44px; border-radius: 50%; background: var(--avsww-m-primary); color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 15px; }
.avsww-menu__avatar.is-guest { background: var(--avsww-m-tint); color: var(--avsww-m-primary); }
.avsww-menu__account-links { padding: 10px 8px; }
.avsww-menu__account-links a { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 10px; font-size: 15px; transition: background .15s; }
.avsww-menu__account-links a:hover { background: #f7f7f8; }
.avsww-menu__account-links svg { color: var(--avsww-m-muted); }
.avsww-menu__logout { border-top: 1px solid var(--avsww-m-line); padding: 12px 20px 14px; }
.avsww-menu__logout a { color: var(--avsww-m-danger) !important; font-size: 15px; }
.avsww-menu__guest { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 22px 20px; text-align: center; }
.avsww-menu__guest p { font-size: 14px; color: var(--avsww-m-muted); }
.avsww-menu__guest .avsww-menu__btn { width: 100%; }

/* Header quote icon (matches round header icons; badge like a cart count). */
.avsww-quote-icon { position: relative; display: inline-grid; place-items: center; width: var(--avsww-quote-size, 42px); height: var(--avsww-quote-size, 42px); border-radius: 50%; background: var(--avsww-quote-bg, #f2f2f2); color: var(--avsww-m-ink) !important; text-decoration: none !important; transition: background .15s; }
.avsww-quote-icon:hover { background: var(--avsww-quote-bg-hover, #e7e7e7); }
.avsww-quote-icon svg { width: 20px; height: 20px; }
.avsww-quote-icon__count { position: absolute; top: -4px; right: -4px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 999px; background: var(--avsww-m-ink); color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; }
.avsww-quote-icon__count[hidden] { display: none; }

/* ----- Narrow spaces: tablets, phone menus. ----- */
@container (max-width: 980px) {
	.avsww-menu__cats { grid-template-columns: repeat(min(var(--avsww-cols, 4), 3), minmax(0, 1fr)); }
	.avsww-menu--categories .avsww-menu__side { width: 260px; }
}
@container (max-width: 760px) {
	.avsww-menu--categories .avsww-menu__inner { flex-direction: column; }
	.avsww-menu--categories .avsww-menu__side { width: auto; }
	.avsww-menu__promo { min-height: 0; padding-right: 130px; }
	.avsww-menu__cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.avsww-menu__main { padding: 20px; }
	.avsww-menu__side { padding: 16px 20px 20px; }
	.avsww-menu__foot { padding: 14px 20px; }
}
@container (max-width: 430px) {
	.avsww-menu--gifts .avsww-menu__inner { flex-direction: column; }
	.avsww-menu--gifts .avsww-menu__enquire { width: auto; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; text-align: left; padding: 16px 18px; }
	.avsww-menu__enquire-icon svg { width: 34px; height: 34px; }
	.avsww-menu__enquire strong, .avsww-menu__enquire small { margin: 0; }
}
@container (max-width: 480px) {
	.avsww-menu { font-size: 14px; }
	.avsww-menu__cats a { gap: 10px; padding: 6px 4px; font-size: 14px; }
	.avsww-menu__cat-icon { width: 36px; height: 36px; }
	.avsww-menu__cat-icon img { width: 24px; height: 24px; }
	.avsww-menu__promo { padding: 18px; }
	.avsww-menu__promo-title { font-size: 20px; }
	.avsww-menu__promo-img { width: 80px; right: 12px; }
	.avsww-menu__brands { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.avsww-menu__badges { gap: 8px 16px; }
	.avsww-menu__cta-btns { grid-template-columns: 1fr; }
	.avsww-menu--brands .avsww-menu__body, .avsww-menu--gifts .avsww-menu__main { padding: 18px; }
}
@container (max-width: 300px) {
	.avsww-menu__cats { grid-template-columns: 1fr; }
}
@container (max-width: 340px) {
	.avsww-menu__cats a { gap: 8px; }
	.avsww-menu__cat-icon { width: 32px; height: 32px; }
	.avsww-menu__promo { padding-right: 18px; }
	.avsww-menu__promo-img { display: none; }
}

/* ----- Inside theme dropdowns (Impreza / WPBakery mega menus, most nav dropdowns). ----- */
.w-nav-list:has(> li > .avsww-menu), .sub-menu:has(> li > .avsww-menu) { background: transparent !important; box-shadow: none !important; padding: 0 !important; border: 0 !important; }
.w-nav-list > li:has(> .avsww-menu), .sub-menu > li:has(> .avsww-menu) { padding: 0 !important; overflow: visible !important; }
.type_desktop .w-nav-list.level_2 > li > .avsww-menu, .sub-menu > li > .avsww-menu { margin-top: 10px; box-shadow: 0 18px 48px rgba(17, 17, 17, .12), 0 2px 6px rgba(17, 17, 17, .05); }
/* Full-width dropdowns: centre the card instead of stretching it. */
.type_desktop .w-nav-list.level_2 > li > .avsww-menu--categories { max-width: 1200px; margin-left: auto; margin-right: auto; }
/* A logged-in-only parent hidden for guests leaves an empty dropdown item behind. */
.w-nav-item.menu-item-object-us_page_block:not(:has(*)) { display: none !important; }
/* Mobile menus: cards sit flat in the menu list. */
.type_mobile .w-nav-list > li > .avsww-menu { margin: 4px 0 12px; border: 1px solid #ececec; box-shadow: none; }
.type_mobile .avsww-menu--categories, .type_mobile .avsww-menu--wholesale, .type_mobile .avsww-menu--brands, .type_mobile .avsww-menu--gifts, .type_mobile .avsww-menu--account { min-width: 0; }

/* ----- Guard against theme rules that restyle every link in a header menu with !important
   (e.g. round icon buttons: "nav li a { width:40px; font-size:0 !important }").
   !important declarations inside a cascade layer beat unlayered !important ones, whatever their specificity. ----- */
@layer avsww-guard {
	.avsww-menu a { height: auto !important; width: auto !important; min-width: 0 !important; min-height: 0 !important; max-width: none !important; font-size: inherit !important; line-height: inherit !important; text-indent: 0 !important; letter-spacing: normal !important; text-transform: none !important; box-shadow: none !important; border: 0 !important; background: none !important; padding: 0 !important; border-radius: 0 !important; }
	.avsww-menu .avsww-menu__cats a { padding: 8px 6px !important; border-radius: 10px !important; font-size: 15px !important; }
	.avsww-menu .avsww-menu__cats a:hover { background: var(--avsww-m-tint-2) !important; }
	.avsww-menu .avsww-menu__more { font-size: 14px !important; }
	.avsww-menu .avsww-menu__btn { padding: 11px 18px !important; border-radius: 999px !important; font-size: 14px !important; line-height: 1.2 !important; }
	.avsww-menu .avsww-menu__btn.is-small { padding: 8px 16px !important; font-size: 13px !important; }
	.avsww-menu .avsww-menu__btn.is-primary { background: var(--avsww-m-primary) !important; }
	.avsww-menu .avsww-menu__btn.is-whatsapp { background: var(--avsww-m-whatsapp) !important; }
	.avsww-menu .avsww-menu__btn.is-dark { background: var(--avsww-m-ink) !important; }
	.avsww-menu .avsww-menu__guest .avsww-menu__btn { width: 100% !important; }
	.avsww-menu .avsww-menu__promo { padding: 22px 20px !important; border-radius: 14px !important; background: var(--avsww-m-primary) !important; }
	.avsww-menu .avsww-menu__download { padding: 14px 16px !important; border-radius: 10px !important; background: #fff !important; }
	.avsww-menu .avsww-menu__badges a { font-size: 14px !important; }
	.avsww-menu .avsww-menu__links a { padding: 12px !important; border-radius: 12px !important; }
	.avsww-menu .avsww-menu__links a:hover { background: #f7f7f8 !important; }
	.avsww-menu .avsww-menu__brands a { padding: 12px 8px !important; border: 1px solid var(--avsww-m-line) !important; border-radius: 10px !important; background: #fff !important; }
	.avsww-menu .avsww-menu__brands a:hover { border-color: var(--avsww-m-primary) !important; }
	.avsww-menu .avsww-menu__pills a { padding: 7px 14px !important; border-radius: 999px !important; background: var(--avsww-m-tint) !important; font-size: 14px !important; }
	.avsww-menu .avsww-menu__pills a:hover { background: #fbd9b8 !important; }
	.avsww-menu .avsww-menu__plain a, .avsww-menu .avsww-menu__logout a { font-size: 15px !important; }
	.avsww-menu .avsww-menu__account-links a { padding: 10px 12px !important; border-radius: 10px !important; font-size: 15px !important; }
	.avsww-menu .avsww-menu__account-links a:hover { background: #f7f7f8 !important; }
}
@container (max-width: 760px) {
	@layer avsww-guard {
		.avsww-menu .avsww-menu__promo { padding: 22px 130px 22px 20px !important; }
	}
}
@container (max-width: 480px) {
	@layer avsww-guard {
		.avsww-menu .avsww-menu__cats a { padding: 6px 4px !important; font-size: 14px !important; }
		.avsww-menu .avsww-menu__promo { padding: 18px 100px 18px 18px !important; }
	}
}
@container (max-width: 340px) {
	@layer avsww-guard {
		.avsww-menu .avsww-menu__promo { padding: 18px !important; }
	}
}
