:root{
	--nb-notice-z:1450;
	--nb-splash-z:4000;
	--nb-toast-bottom-offset:calc(var(--nb-bottom-nav-height,66px) + env(safe-area-inset-bottom,0px) + 6px);
	--nb-live-bottom-nav-height:0px;
	--nb-live-product-dock-height:0px;
}

/* Installed-PWA launch screen. */
.nb-app-splash{
	position:fixed;
	z-index:var(--nb-splash-z);
	inset:0;
	display:none;
	place-items:center;
	padding:max(24px,env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px));
	background:radial-gradient(circle at 82% 12%,rgba(207,163,166,.34),transparent 34%),radial-gradient(circle at 12% 88%,rgba(212,175,55,.16),transparent 35%),linear-gradient(155deg,#fffaf6 0%,#faf6f1 54%,#f2e7de 100%);
	color:#3b3b31;
	opacity:1;
	visibility:visible;
	transition:opacity .32s ease,visibility .32s ease;
}
@media (display-mode:standalone){html.nb-standalone-early:not(.nb-app-splash-seen) .nb-app-splash{display:grid;}}
.nb-app-splash.is-leaving{opacity:0;visibility:hidden;}
.nb-app-splash__inner{display:grid;width:min(320px,86vw);justify-items:center;gap:17px;text-align:center;}
.nb-app-splash__logo{position:relative;display:grid;width:98px;height:98px;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.9);border-radius:31px;background:rgba(255,255,255,.78);box-shadow:0 24px 70px rgba(82,56,58,.17);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);}
.nb-app-splash__logo::after{position:absolute;inset:-36%;background:conic-gradient(from 90deg,transparent 0 37%,rgba(212,175,55,.22) 48%,transparent 61% 100%);content:"";animation:nb-splash-glow 2s linear infinite;}
.nb-app-splash__logo img,.nb-app-splash__mark{position:relative;z-index:1;}
.nb-app-splash__logo img{width:76px;height:76px;object-fit:contain;}
.nb-app-splash__mark{font-family:Georgia,serif;font-size:2.8rem;font-weight:700;color:#a47a86;}
.nb-app-splash__copy{display:grid;gap:6px;}
.nb-app-splash__copy strong{font-size:1.17rem;font-weight:800;letter-spacing:-.02em;}
.nb-app-splash__copy span{color:#746a67;font-size:.82rem;font-weight:500;line-height:1.8;}
.nb-app-splash__progress{position:relative;width:142px;height:5px;overflow:hidden;border-radius:999px;background:rgba(164,122,134,.16);}
.nb-app-splash__progress::after{position:absolute;inset-block:0;width:48%;border-radius:inherit;background:linear-gradient(90deg,#cfa3a6,#a47a86,#d4af37);content:"";animation:nb-splash-progress 1.05s cubic-bezier(.4,0,.2,1) infinite;}
@keyframes nb-splash-progress{from{inset-inline-start:-50%;}to{inset-inline-start:104%;}}
@keyframes nb-splash-glow{to{transform:rotate(1turn);}}

/* One shared notification component for cart, navigation, network and errors. */
.nb-notice[hidden]{display:none!important;}
.nb-notice{
	position:fixed;
	z-index:var(--nb-notice-z);
	inset-inline:max(12px,env(safe-area-inset-left,0px)) max(12px,env(safe-area-inset-right,0px));
	inset-block-end:var(--nb-toast-bottom-offset);
	display:grid;
	grid-template-columns:38px minmax(0,1fr) auto auto;
	align-items:center;
	gap:10px;
	width:min(460px,calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));
	min-height:62px;
	margin-inline:auto;
	padding:9px 10px 9px 11px;
	border:1px solid rgba(255,255,255,.86);
	border-radius:18px;
	background:rgba(255,255,255,.96);
	box-shadow:0 18px 48px rgba(48,38,39,.19),0 3px 12px rgba(48,38,39,.08);
	color:#3b3b31;
	backdrop-filter:blur(18px);
	-webkit-backdrop-filter:blur(18px);
	transform:translateY(14px) scale(.985);
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transition:opacity .18s ease,transform .2s cubic-bezier(.2,.8,.2,1),visibility .18s ease,inset-block-end .18s ease;
}
.nb-notice.is-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto;}
.nb-notice__icon{display:grid;width:36px;height:36px;place-items:center;border-radius:12px;background:#f4ece8;color:#8c596a;font-size:.96rem;font-weight:800;line-height:1;}
.nb-notice--success .nb-notice__icon{background:#e9f6ee;color:#277a49;}
.nb-notice--warning .nb-notice__icon{background:#fff5dd;color:#946200;}
.nb-notice--error .nb-notice__icon{background:#fff0ef;color:#a23a34;}
.nb-notice--loading .nb-notice__icon{background:#f4ece8;}
.nb-notice__icon.is-spinner::before{width:17px;height:17px;border:2px solid rgba(140,89,106,.22);border-block-start-color:#8c596a;border-inline-end-color:#d4af37;border-radius:50%;content:"";animation:nb-notice-spin .7s linear infinite;}
@keyframes nb-notice-spin{to{transform:rotate(1turn);}}
.nb-notice__copy{display:grid;min-width:0;gap:2px;text-align:start;}
.nb-notice__copy strong{overflow:hidden;color:#3b3b31;font-size:.78rem;font-weight:800;line-height:1.45;text-overflow:ellipsis;white-space:nowrap;}
.nb-notice__copy span{display:-webkit-box;overflow:hidden;color:#746a67;font-size:.69rem;font-weight:500;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2;}
.nb-notice__action{display:inline-flex;min-height:36px;align-items:center;justify-content:center;padding:7px 11px;border:0;border-radius:11px;background:#3b3b31;color:#fff!important;font:inherit;font-size:.7rem;font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;}
.nb-notice__action:hover,.nb-notice__action:focus-visible{background:#25251f;color:#fff!important;}
.nb-notice__close{display:grid;width:34px;height:34px;place-items:center;padding:0;border:0;border-radius:11px;background:transparent;color:#746a67;font-size:1.25rem;line-height:1;cursor:pointer;}
.nb-notice__close:hover,.nb-notice__close:focus-visible{background:#f3ece8;color:#3b3b31;}
.nb-notice--loading{grid-template-columns:38px minmax(0,1fr);padding-inline-end:13px;}

/* Fixed UI must remain viewport-bound. */
body.nb-app-booting main,body.nb-app-booting .site-main,body.nb-app-ready main,body.nb-app-ready .site-main{transform:none!important;animation:none!important;}

@media(min-width:760px){
	.nb-notice{inset-inline:auto max(24px,env(safe-area-inset-right,0px));inset-block-end:24px;width:min(440px,calc(100vw - 48px));margin:0;}
	[dir="rtl"] .nb-notice{inset-inline:auto max(24px,env(safe-area-inset-left,0px));}
}
@media(max-width:390px){
	.nb-notice{grid-template-columns:34px minmax(0,1fr) auto auto;gap:8px;min-height:58px;padding:8px;border-radius:16px;}
	.nb-notice__icon{width:32px;height:32px;border-radius:10px;}
	.nb-notice__copy strong{font-size:.73rem;}
	.nb-notice__copy span{font-size:.65rem;}
	.nb-notice__action{min-height:33px;padding-inline:8px;font-size:.65rem;}
	.nb-notice__close{width:31px;height:31px;}
	.nb-notice--loading{grid-template-columns:34px minmax(0,1fr);}
}
@media(prefers-reduced-motion:reduce){
	.nb-app-splash,.nb-notice{transition:none;}
	.nb-app-splash__logo::after,.nb-app-splash__progress::after,.nb-notice__icon.is-spinner::before{animation:none;}
}
