h1, h2, h3, h4, h5, h6 {
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1;
}
h1 {
	font-size: 1.5rem;
}
h2 {
	font-size: 1.25rem;
}
h3 {
	font-size: 1.125rem;
}
h4 {
	font-size: 1rem;
}
h5 {
	font-size: 0.875rem;
}
h6 {
	font-size: 0.75rem;
}
.fs-7 {
	font-size: 0.75rem !important;
}
.fs-8 {
	font-size: 0.625rem !important;
}
#navbar {
	margin-bottom: 6.5rem;
}
#footer {
	margin-bottom: 0;
}
#page-head-edit {
	z-index: 1051;
}
section {
	margin-bottom: 3rem;
}
.bi {
	height: 1.5rem;
}
.nav-bg {
	background-color: rgba(238, 238, 238, 1) !important;
}
.w-fc {
	width: fit-content;
}
/* Hide scrollbar but keep scroll functional */
body::-webkit-scrollbar {
	display: none;	/* Chrome, Safari */
}
.modal {
	overflow-y: auto;
	scrollbar-width: none;          /* Firefox */
	-ms-overflow-style: none;       /* IE/Edge */
}
.modal::-webkit-scrollbar {
	display: none;                  /* Chrome/Safari */
}
.cursor-arrow {
	cursor: default;
}
.cursor-pointer {
	cursor: pointer;
}
.resend-grey {
	fill: grey;
	pointer-events: none;
}
.resend-blue {
	fill: blue;
	cursor: pointer;
}
.resend-green
	{ fill: green;
}
.dashboard-card-height {
	min-height: 16rem;
}
.theme-frame-height {
	min-height: 20rem;
}
.auth-card-width {
	min-width: 22rem;
}
.custom-domain-btn {
	min-width: 9rem;
	max-height: 1.5rem;
}
.custom-domain-copy-btn {
	min-width: 2rem;
}
.custom-domain-width {
	min-width: 19rem;
	max-width: 19rem;
}
.cname-type-width {
	min-width: 3rem;
}
.custom-domain-status-width {
	min-width: 3.75rem;
}
.obobix-message-box-height {
	min-height: 1.5rem;
}
/* to be removed from password-reset, page-builder & tour-manager */
.h2rem {
	min-height: 2rem;
}
.h15rem {
	min-height: 15rem;
}
.w3rem {
	min-width: 3rem;
}
.w4rem {
	min-width: 4rem;
}
.w5rem {
	min-width: 5rem;
}
.w10rem {
	min-width: 10rem;
}
.w15rem {
	min-width: 15rem;
}
.w20rem {
	min-width: 20rem;
}
.maxW22rem {
	max-width: 22rem;
}
/* to be removed from password-reset, page-builder & tour-manager */
.border-red {
	border: #dc3545 solid 1px;
}
/* Message Fade In & Out */
.obobix-message-box {
	display: block;
	opacity: 0;
	transition: opacity 1s ease;
}
.obobix-message-box.is-visible {
	opacity: 1;
}
.obobix-message-box.is-exiting {
	opacity: 0;
}
/* Message Box Fade In & Out */
form[obobix-contact-form].is-exiting {
	opacity: 0;
}
.btn-onboarding {
	color: inherit !important;
	background-color: transparent !important;
	cursor: default !important;
}
.section-template-emoji {
	line-height: 1;
	font-size: 2rem;
	margin-bottom: 1rem;
}
.smooth-hover {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.smooth-hover:hover {
	transform: scale(1.02);
	box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
}
.order-number-box {
	max-width: 60px;
	min-width: 60px;
}
.order-number-box.error {
	border-color: #dc3545 !important;
	color: #dc3545 !important;
}
.order-number-box::placeholder {
	color: #dc3545;
}
.custom-sticky-top {
    position: -webkit-sticky;
    position: sticky;
    top: 10px;
    z-index: 1050;
    padding-top: 10px;
}
.cover-btns {
	line-height: 38px;
	min-width: 180px;
}
#add-day-fab {
	position: sticky;
	top: calc(100vh - 100px); /* sticks near bottom of viewport */
	margin-left: auto;
	margin-right: -30px;
	width: 46px;
	height: 37px;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 50;
}
.stack-item + .stack-item {
	padding-top: 0 !important;
}
.large-part {
	width: 65%;
}
.small-part {
	width: 35%;
}
.image-manager-thumbnail-wrapper {
	width: 100px;
	height: 100px;
	display: flex;
	justify-content: center;
}
.image-manager-thumbnail-wrapper img {
	max-width: 100%;
	max-height: 100%;
	object-fit: cover;
}
.navbar-nav-scroll {
    max-height: var(--bs-scroll-height, 50vh);
}
.custom-domain-no-scrollbar {
	display: block;
	width: 80%;
	overflow-x: auto;
	white-space: nowrap;
	scrollbar-width: none;        /* Firefox */
	-ms-overflow-style: none;     /* IE / old Edge */
}
.custom-domain-no-scrollbar::-webkit-scrollbar {
	display: none;                /* Chrome / Safari */
}
.custom-modal {
	min-width: 95%;
}
.page-builder-section-btn {
	font-size: 0.625rem;
	line-height: 1;
	font-weight: 700;
	text-transform: uppercase;
}
.feature-icons .card:not(
	:has(.card-title:not(:empty), .card-text:not(:empty), img[src]:not([src=""]))
) {
	display: none;
}
.feature-icons { 
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); 
	gap: 1.5rem;
} 
.feature-icons .card {
	height: 100%;
}
.language-to-be-removed {
	opacity: 0.45;
	text-decoration: line-through;
	pointer-events: none;
}

/* when navbar collapse is open → fade admin buttons */
#admin-buttons {
	opacity: 1;
	transition: opacity 0.3s ease;
}
body:has(#mainNavbar.show) #admin-buttons {
	opacity: 0;
	pointer-events: none;
}