/* La Bella storefront. Native product images, menus and system fonts. */
:root {
	--lb-ink: #262322; --lb-muted: #645b57; --lb-wine: #662b3e; --lb-paper: #faf7f2; --lb-surface: #fff;
	--lb-rule: #e3ddd6; --lb-display: Georgia, 'Times New Roman', serif; --lb-sans: system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.lb-mast, .lb-directory, .lb-home, .lb-mast *, .lb-directory *, .lb-home * { box-sizing: border-box; }
.lb-mast { background: #fff; border-block-end: 1px solid var(--lb-rule); }
.lb-mast-inner { width: 100%; max-width: 1640px; margin: 0 auto; display: flex; align-items: center; gap: clamp(1rem,4vw,4rem); padding: .75rem clamp(1rem,3vw,3rem); min-height: 74px; }
.lb-brand { flex: 0 0 auto; line-height: 1; }
.lb-brand a { color: var(--lb-wine); text-decoration: none; font: 500 clamp(1.9rem, 3vw, 2.6rem)/1 var(--lb-display); letter-spacing: -.065em; }
.lb-brand img { display: block; width: auto; max-width: min(180px,30vw); max-height: 48px; object-fit: contain; }
.lb-mast .lb-mast-search { display: flex; align-items: center; width: min(38rem,55%); margin: 0 auto; border-radius: .4rem; border: 1px solid #dad5d0; background: #f8f7f5; }
.lb-mast-search input[type=search] { flex: 1; min-width: 0; background: transparent; border: 0; padding: .65rem .85rem; color: var(--lb-ink); font: 400 1rem/1.3 var(--lb-sans); height: 44px; }
.lb-mast-search button { flex: 0 0 44px; display: grid; place-items: center; height: 44px; padding: 0; border: 0; background: transparent; color: var(--lb-ink); }
.lb-account-links { display: flex; align-items: center; gap: clamp(.55rem,2vw,1.75rem); margin-inline-start: auto; }
.lb-account-links a { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; color: var(--lb-ink); text-decoration: none; font: 550 .85rem/1.3 var(--lb-sans); }
.lb-mast :focus-visible, .lb-directory :focus-visible, .lb-home :focus-visible, .woocommerce :focus-visible { outline: 3px solid #32647c; outline-offset: 3px; }
.lb-shop-shell { width: 100%; max-width: 1640px; margin: 0 auto; display: grid; grid-template-columns: clamp(180px,17vw,230px) minmax(0,1fr); align-items: start; background: #fff; }
.lb-shop-shell > #content { min-width: 0; width: 100%; }
.lb-shop-shell > #content > .ast-container { width: 100%; max-width: none; padding-inline: clamp(1rem,2.5vw,2.5rem); }
body.home.page .lb-shop-shell > #content > .ast-container { padding: 0; }
.lb-directory { position: sticky; top: 0; height: 100vh; height: 100dvh; max-height: 100dvh; overflow-y: auto; border-inline-end: 1px solid var(--lb-rule); padding: 1.45rem 1rem 2.5rem clamp(.8rem,2vw,2rem); font: 450 .92rem/1.45 var(--lb-sans); color: var(--lb-ink); background: #fff; }
.admin-bar .lb-directory { top: 32px; max-height: calc(100dvh - 32px); }
.lb-directory .lb-nav-heading, .lb-home .lb-overline { margin: 0 0 .55rem; font: 650 .69rem/1.4 var(--lb-sans); letter-spacing: .13em; text-transform: uppercase; color: var(--lb-muted); }
.lb-directory nav a { color: var(--lb-ink); text-decoration: none; }
.lb-nav-main { display: flex; align-items: center; gap: .7rem; min-height: 44px; padding: .25rem .3rem; font-weight: 600; }
.lb-nav-main svg { color: var(--lb-wine); flex-shrink: 0; }
.lb-directory .lb-nav-divider { border-block-start: 1px solid var(--lb-rule); margin-block: .75rem .35rem; padding-block-start: 1rem; }
.lb-directory ul { margin: 0; padding: 0; list-style: none; }
.lb-nav-list li a { display: block; padding: .45rem .3rem; line-height: 1.4; overflow-wrap: anywhere; }
.lb-nav-list li ul { padding-inline-start: .7rem; }
.lb-directory a:hover, .lb-directory a[aria-current=page], .lb-account-links a:hover { color: var(--lb-wine); text-decoration: underline; text-underline-offset: .2rem; }
.lb-shop-more { border-top: 1px solid var(--lb-rule); margin-top: .85rem; }
.lb-shop-more summary { padding-block: .7rem; cursor: pointer; }
.lb-menu-toggle[hidden], #lb-directory-links[hidden] { display: none !important; }
.lb-menu-toggle { width: 100%; display: flex; gap: .65rem; align-items: center; min-height: 44px; padding: .4rem 1rem; border: 0; background: white; color: var(--lb-wine); text-align: start; font: 600 .9rem/1.3 var(--lb-sans); }
.lb-menu-toggle span { margin-inline-start: auto; }
.lb-menu-toggle:hover, .lb-menu-toggle:focus { color: var(--lb-wine); background: var(--lb-paper); }
body.home.page #content #primary.lb-home { width: 100%; min-width: 0; float: none; margin: 0; border: 0; padding: clamp(1.45rem,3vw,3rem) clamp(1rem,2.6vw,2.6rem) 4rem; font-family: var(--lb-sans); color: var(--lb-ink); }
.lb-home .lb-overline { color: var(--lb-wine); }
.lb-section-head { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; margin-block: 0 1rem; }
.lb-home h1, .lb-home h2 { margin: 0; color: var(--lb-ink); font: 450 clamp(1.85rem,3.2vw,3.35rem)/1.1 var(--lb-display); letter-spacing: -.045em; }
.lb-home h2 { font-size: clamp(1.65rem,2.5vw,2.5rem); }
.lb-section-head a { white-space: nowrap; display: inline-flex; align-items: center; gap: .3rem; min-height: 42px; color: var(--lb-ink); font-weight: 550; font-size: .87rem; text-underline-offset: .25em; }
.lb-tiles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(.55rem,1.4vw,1.25rem); }
.lb-category-tile { position: relative; isolation: isolate; display: grid; place-items: end center; aspect-ratio: 1.18; overflow: hidden; background: #eee8df; color: var(--lb-ink); text-decoration: none; }
.lb-category-photo { position: absolute; inset: 0; z-index: -1; height: 100%; width: 100%; display: block; object-fit: cover; }
.lb-category-initial { position: absolute; z-index: -1; inset: 0; display: grid; align-content: start; padding-top: 8%; font: italic 4.2rem/1 var(--lb-display); color: #8b6774; background: #ede6df; }
.lb-tile-caption { text-align: center; width: calc(100% - 1.3rem); max-width: 18rem; padding: .45rem .55rem .5rem; margin: .6rem; background: #fffaf1ed; border: 1px solid #f6efe3; }
.lb-tile-title { display: block; font: 500 clamp(1rem,1.65vw,1.75rem)/1.15 var(--lb-display); letter-spacing: -.035em; color: #302426; }
.lb-tile-cta { display: inline-flex; gap: .25rem; align-items: center; margin-block-start: .28rem; padding: .2rem .7rem; border-radius: 2rem; background: #322328; color: #fff; font: 550 .65rem/1.3 var(--lb-sans); }
.lb-category-tile:hover .lb-tile-cta, .lb-category-tile:focus-visible .lb-tile-cta { background: var(--lb-wine); }
.lb-arrivals, .lb-owner-content, .lb-suits-edit { margin-block-start: clamp(1.8rem,4vw,3.8rem); }
.lb-suits-edit { display: flex; align-items: center; gap: 1.2rem; background: var(--lb-paper); color: var(--lb-ink); text-decoration: none; }
.lb-suits-art { flex: 0 0 28%; overflow: hidden; height: clamp(6.5rem,12vw,11rem); }
.lb-suits-art img { width: 100%; height: 100%; display: block; object-fit: cover; }
.lb-suits-name { display: block; margin-top: .3rem; font: 500 clamp(1.45rem,2.8vw,2.6rem)/1.12 var(--lb-display); }
.lb-suits-arrow { margin-inline: auto 1.2rem; font-size: 1.6rem; }
@media (max-width: 900px) {
	.lb-shop-shell { display: block; }
	.lb-directory, .admin-bar .lb-directory { position: static; height: auto; max-height: none; padding: 0; border: 0; border-bottom: 1px solid var(--lb-rule); }
	.lb-directory nav { padding: .8rem 1rem 1rem; max-height: 65vh; overflow-y: auto; }
	.lb-directory .lb-nav-list a { min-height: 40px; }
	.lb-directory + #content { min-width: 0; }
}
@media (max-width: 640px) {
	.lb-mast-inner { gap: .45rem 1rem; flex-wrap: wrap; min-height: 0; padding: .35rem 1rem .55rem; }
	.lb-brand a { font-size: 2rem; }
	.lb-mast .lb-mast-search { order: 3; width: 100%; }
	.lb-account-links { gap: .6rem; }
	.lb-account-links a { gap: .25rem; font-size: .78rem; }
	.lb-tiles { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.lb-category-tile { aspect-ratio: .95; }
	.lb-tile-caption { width: calc(100% - .65rem); padding: .35rem .2rem; margin: .32rem; }
	.lb-section-head { margin-block-end: .55rem; }
	.lb-suits-edit { gap: .65rem; }
}
.lb-archive-category-photo { display: block; position: relative; aspect-ratio: 1; isolation: isolate; }

/* Human contact is a plain link, independent of the automated assistant. */
.lb-account-links { flex: 0 0 auto; white-space: nowrap; }
.lb-account-links a.lb-header-whatsapp, a.lb-whatsapp-float {
	box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center;
	gap: .35rem; min-height: 44px; padding: .4rem .8rem; border: 1px solid transparent;
	border-radius: 99px; background: #116442; color: #fff; text-decoration: none;
	font: 650 .86rem/1.25 var(--lb-sans); white-space: nowrap;
}
.lb-account-links a.lb-header-whatsapp:hover, a.lb-whatsapp-float:hover { background: #0c4930; color: #fff; text-decoration: underline; }
.lb-account-links a.lb-header-whatsapp:focus-visible, a.lb-whatsapp-float:focus-visible { outline: 3px solid #35698c; outline-offset: 3px; }
.lb-header-whatsapp svg, .lb-whatsapp-float svg, .lb-header-cart svg { flex: 0 0 auto; }
a.lb-whatsapp-float { position: fixed; left: max(.85rem, env(safe-area-inset-left)); bottom: max(.85rem, env(safe-area-inset-bottom)); z-index: 90; box-shadow: 0 2px 9px #122d242b; }
.lb-mast .lb-mast-search { min-width: 0; }
@media (max-width: 640px) {
	.lb-account-links { gap: .4rem; }
	.lb-account-links a.lb-header-whatsapp { font-size: .80rem; padding: .35rem .6rem; }
}
@media (max-width: 420px) {
	.lb-mast-inner { padding-inline: .65rem; column-gap: .35rem; }
	.lb-account-links { gap: .25rem; }
	.lb-account-links .lb-header-account { min-width: 44px; justify-content: center; }
	.lb-account-links .lb-header-account span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
	.lb-account-links .lb-header-whatsapp svg { display: none; }
	a.lb-whatsapp-float { padding-inline: .6rem; }
}
