:host{
	contain:size style
}
h3,
h2,
button,
ul,
li,
input{
	margin:0;
	padding:0;
}
ul{
	list-style:none
}
label,
button{
	cursor:pointer;
	border:0;
	background:0
}
label input{
	cursor:pointer
}
.lightbox{
    position:fixed;
    top:110%;
	left:50%;
    transform:translate(-50%,5%);
    background:var(--tb_ui_bg_light,#fff);
    color:var(--tb_ui_color_light,#666);
    width:900px;
    padding:20px 25px;
    max-width:90%;
    z-index:9999999;
    font:normal 14px/1.6em Arial, Helvetica, sans-serif;
    border-radius:12px;
    box-shadow:0 1px 20px 3px rgba(0,0,0,.4);
	transition:.3s top;
    contain:style layout
}
.menu_wrap{
    border-bottom:solid 1px var(--tb_ui_border,rgba(0,0,0,.1));
    padding-bottom:10px;
    margin-bottom:15px
}
.container{
    max-height:70vh;
    overflow-y:auto;
	scroll-behavior:auto
}
.flex{
	display:flex;
	flex-wrap:wrap;
	align-items:center
}
.top{
	margin-bottom:15px
}
.title{
    font-size:1.5em;
    color:var(--tb_ui_color,#444);
    text-transform:capitalize
}
.menu,label{
	column-gap:10px
}
.tf_close{
    color:var(--tb_ui_color_light,#666);
    padding:11px;
    margin-inline-start:auto
}
.search{
	font-size:inherit;
	padding:8px 15px;
	color:var(--tb_input_color);
	background-color:var(--tb_input_bg,#fff);
	border:solid 1px var(--tb_input_border,#ccc);
	box-shadow:none;
	border-radius:8px;
	line-height:1;
	margin-inline-start:auto;
	outline:0
}
.clear{
    color:#bbb;
    position:absolute;
    right:6px;
    top:50%;
    transform:translateY(-50%);
    padding:8px;
    margin-top:-7.5px
}
.search:invalid+.clear{
	display:none
}
.search:focus{
    border-color:var(--tb_input_border_focus,#888)
}
.search::placeholder{
	color:var(--tb_input_color,#000)
}
section,
.group{
	display:flex;
	flex-flow:column wrap;
	row-gap:1em
}
.cat_menu{
	position:sticky;
	top:-5px;
	justify-content:center;
	background:var(--tb_ui_bg_light,#fff);
	column-gap:10px;
	padding:5px 0 10px;
	margin-bottom:20px
}
.cat_menu button{
    color:#afafaf;
    letter-spacing:.02em;
    font-size:12px;
    line-height:inherit;
    text-transform:uppercase
}
.cat_menu span{
	transition:.3s background,.3s color;
	padding:4px 10px;
    border-radius:12px
}
.group section{
	transition:.3s opacity
}
.icons button:hover,
.icons button.selected,
.selected span,
button:hover span{
	background:#9a9a9a;
    color:#fff
}
.cat_title{
	font-size:20px
}
svg{
	width:1em;
	height:1em;
	stroke-width:0;
	stroke:currentColor;
	overflow:visible;
	fill:currentColor;
	pointer-events:none;
	font-size:20px;
	color:var(--tb_ui_color,#444);
	text-rendering:optimizeSpeed;
	buffered-rendering:static;
	contain:style size;
	transition:.3s transform
}
.icons{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	align-items:center;
	row-gap:3px
}
.icons button{
	column-gap:1em;
    line-height:1;
    padding-block:7px;
    padding-inline:14px 0;
    font-size:14px;
    color:var(--tb_ui_color,#444);
	text-overflow:ellipsis;
	white-space:nowrap;
    border-radius:12px
}
[data-p]{
	height:34px
}
.selected svg,
button:hover svg{
    color:inherit;
    transform:scale(1.4)
}
.overlay{
    position:fixed;
	background:rgba(0,0,0,.7);
	transition:.3s opacity;
    contain:strict;
    z-index:999999
}