/*
Theme Name:   Astra Child - Anugrah Bangunan
Theme URI:    https://lampung.anugrahbangunan.co.id
Description:  Child theme for CV. Anugrah Bangunan. Stitch-inspired UI (light + deep-red #b61722) via Tailwind. Templates render clean HTML; Astra parent still handles admin bar, wp-login, and non-templated pages.
Author:       Anugrah Bangunan
Template:     astra
Version:      2.0.0
Text Domain:  astra-child-anugrah
*/

/* Fonts stack tuning */
body { font-family: 'Inter', system-ui, -apple-system, sans-serif; }

.sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Hide auto-generated Astra page list menu junk on non-templated pages */
.page-item-2, .page-item-391, .page-item-729 { display: none !important; }

/* Astra body classes may add extra padding; templates use pt-[80px] manually */
body.page-template-default .main-header-bar { display: block; }
body[class*="page-template-template-"] .site-header,
body[class*="page-template-template-"] #masthead,
body[class*="page-template-template-"] .ast-primary-header-bar,
body[class*="page-template-template-"] .main-header-bar,
body[class*="page-template-template-"] .site-footer,
body[class*="page-template-template-"] #colophon,
body.single-post .site-header,
body.single-post #masthead,
body.single-post .ast-primary-header-bar,
body.single-post .main-header-bar,
body.single-post .site-footer,
body.single-post #colophon,
body.category .site-header,
body.category #masthead,
body.category .ast-primary-header-bar,
body.category .main-header-bar,
body.category .site-footer,
body.category #colophon,
body.search .site-header,
body.search #masthead,
body.search .ast-primary-header-bar,
body.search .main-header-bar,
body.search .site-footer,
body.search #colophon,
body.error404 .site-header,
body.error404 #masthead,
body.error404 .ast-primary-header-bar,
body.error404 .main-header-bar,
body.error404 .site-footer,
body.error404 #colophon { display: none !important; }

/* Full-width for templated + single-post pages */
body[class*="page-template-template-"] .site,
body[class*="page-template-template-"] #page,
body[class*="page-template-template-"] .site-content,
body[class*="page-template-template-"] #content,
body[class*="page-template-template-"] .ast-container,
body[class*="page-template-template-"] .site-content > .ast-container,
body.single-post .site,
body.single-post #page,
body.single-post .site-content,
body.single-post #content,
body.single-post .ast-container,
body.category .site,
body.category #page,
body.category .site-content,
body.category #content,
body.category .ast-container,
body.search .site,
body.search #page,
body.search .site-content,
body.search #content,
body.search .ast-container,
body.error404 .site,
body.error404 #page,
body.error404 .site-content,
body.error404 #content,
body.error404 .ast-container {
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
body[class*="page-template-template-"], body.single-post, body.category, body.search, body.error404 { padding-top: 0 !important; }

html { margin-top: 0 !important; }
@media (max-width: 782px) {
	body.admin-bar[class*="page-template-template-"] main,
	body.admin-bar.single-post main,
	body.admin-bar.category main,
	body.admin-bar.search main,
	body.admin-bar.error404 main { padding-top: 126px !important; }
}
body.admin-bar[class*="page-template-template-"] main,
body.admin-bar.single-post main,
body.admin-bar.category main,
body.admin-bar.search main,
body.admin-bar.error404 main { padding-top: 112px; }

/* Selection */
::selection { background: #b61722; color: #fff; }

/* Keep red CTA buttons white on hover; use opacity instead of color shift. */
a.bg-primary.text-white,
a.bg-primary.text-on-primary,
button.bg-primary.text-white {
	color: #fff !important;
}

a.bg-primary.text-white:hover,
a.bg-primary.text-white:focus,
a.bg-primary.text-on-primary:hover,
a.bg-primary.text-on-primary:focus,
button.bg-primary.text-white:hover,
button.bg-primary.text-white:focus {
	color: #fff !important;
	opacity: .88;
}

.hover\:bg-primary:hover,
.group:hover .group-hover\:bg-primary {
	background-color: #b61722 !important;
}

.hover\:border-primary:hover {
	border-color: #b61722 !important;
}

.hover\:text-primary:hover {
	color: #b61722 !important;
}

/* Product filter pills: override Astra's green button defaults. */
#ab-filters .ab-filter-btn {
	background-color: #fff !important;
	border-color: #E2E8F0 !important;
	color: #0F172A !important;
	box-shadow: none !important;
}

#ab-filters .ab-filter-btn:hover,
#ab-filters .ab-filter-btn:focus {
	background-color: #FAF7F7 !important;
	border-color: #b61722 !important;
	color: #b61722 !important;
}

#ab-filters .ab-filter-btn.is-active {
	background-color: #b61722 !important;
	border-color: #b61722 !important;
	color: #fff !important;
}

#ab-filters .ab-filter-btn.is-active:hover,
#ab-filters .ab-filter-btn.is-active:focus {
	background-color: #b61722 !important;
	border-color: #b61722 !important;
	color: #fff !important;
	opacity: .9;
}

.ab-red-cta,
.ab-red-cta:visited {
	background-color: #C81E2C !important;
	border-color: #C81E2C !important;
	color: #fff !important;
}

.ab-red-cta:hover,
.ab-red-cta:focus {
	background-color: #C81E2C !important;
	border-color: #C81E2C !important;
	color: #fff !important;
	opacity: .9;
}

.ab-dark-cta,
.ab-dark-cta:visited {
	background-color: #0F172A !important;
	border-color: #0F172A !important;
	color: #fff !important;
}

.ab-dark-cta:hover,
.ab-dark-cta:focus {
	background-color: #1A1A1A !important;
	border-color: #1A1A1A !important;
	color: #fff !important;
}

nav a.text-primary,
nav a.hover\:text-primary:hover,
nav a.hover\:text-primary:focus {
	color: #b61722 !important;
}

nav a.border-primary {
	border-color: #b61722 !important;
}

/* Contact page form, scoped so Fluent Forms defaults elsewhere remain untouched. */
.ab-contact-card .ff-el-group {
	margin-bottom: 20px !important;
}

.ab-contact-card .ff-t-container {
	gap: 16px !important;
}

.ab-contact-card .ff-el-input--label label {
	color: #0F172A !important;
	font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	margin-bottom: 8px !important;
}

.ab-contact-card .ff-el-form-control {
	width: 100% !important;
	min-height: 52px !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 12px !important;
	background: #F8F9FB !important;
	color: #0F172A !important;
	font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	padding: 14px 16px !important;
	box-shadow: none !important;
	transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease !important;
}

.ab-contact-card textarea.ff-el-form-control {
	min-height: 132px !important;
	resize: vertical;
}

.ab-contact-card .ff-el-form-control::placeholder {
	color: #64748B !important;
	opacity: .78 !important;
}

.ab-contact-card .ff-el-form-control:focus {
	border-color: #b61722 !important;
	background: #fff !important;
	box-shadow: 0 0 0 4px rgba(182, 23, 34, .10) !important;
	outline: none !important;
}

.ab-contact-card .ff-btn-submit {
	width: 100% !important;
	min-height: 56px !important;
	border: 0 !important;
	border-radius: 9999px !important;
	background: #b61722 !important;
	color: #fff !important;
	font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	box-shadow: 0 12px 24px rgba(182, 23, 34, .18) !important;
	transition: opacity .2s ease, transform .2s ease !important;
}

.ab-contact-card .ff-btn-submit:hover,
.ab-contact-card .ff-btn-submit:focus {
	background: #b61722 !important;
	color: #fff !important;
	opacity: .88 !important;
	transform: translateY(-1px);
}

.joinchat__button {
	background-color: #25d366 !important;
	background-image: var(--joinchat-ico) !important;
	box-shadow: 0 14px 28px rgba(7, 94, 84, .28) !important;
}

/* Product filters: make the currently selected category unmistakable. */
.ab-product-catalog .ab-filter-btn {
	background: #fff;
	border-color: #d9d9d9;
	color: #4b5563;
	box-shadow: 0 2px 8px rgba(15, 23, 42, .04);
}

.ab-product-catalog .ab-filter-btn:hover,
.ab-product-catalog .ab-filter-btn:focus-visible {
	border-color: #c81e2c;
	color: #c81e2c;
	transform: translateY(-1px);
}

.ab-product-catalog .ab-filter-btn.is-active,
.ab-product-catalog .ab-filter-btn[aria-pressed="true"] {
	background: #c81e2c;
	border-color: #c81e2c;
	color: #fff;
	box-shadow: 0 8px 20px rgba(200, 30, 44, .28);
	transform: translateY(-1px);
}

.ab-product-catalog .ab-filter-btn.is-active:hover,
.ab-product-catalog .ab-filter-btn.is-active:focus-visible {
	background: #a91623;
	border-color: #a91623;
	color: #fff;
}

/* Payment cards and copy action. Dedicated CSS keeps the mobile button tidy. */
.ab-payment-panel .ab-bank-card {
	background: linear-gradient(145deg, #fff 0%, #faf7f7 100%);
	border-color: #e8e3e3;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.ab-payment-panel .ab-bank-card:hover {
	border-color: rgba(200, 30, 44, .28);
	box-shadow: 0 12px 28px rgba(15, 23, 42, .07);
	transform: translateY(-2px);
}

.ab-bank-card__header,
.ab-bank-card__account,
.ab-copy-account {
	display: flex;
	align-items: center;
}

.ab-bank-card__header {
	gap: 14px;
	margin-bottom: 22px;
}

.ab-bank-card__icon {
	flex: 0 0 44px;
}

.ab-bank-card__account {
	justify-content: space-between;
	gap: 20px;
}

.ab-bank-card__number {
	min-width: 0;
	letter-spacing: .02em;
	word-break: break-word;
}

.ab-copy-account {
	flex: 0 0 auto;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	padding: 10px 16px;
	border: 1px solid #c81e2c;
	border-radius: 999px;
	background: #fff;
	color: #c81e2c;
	font-family: 'Inter', system-ui, sans-serif;
	font-size: 12px;
	font-weight: 750;
	line-height: 1;
	white-space: nowrap;
	box-shadow: 0 5px 14px rgba(200, 30, 44, .1);
	transition: background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.ab-copy-account:hover,
.ab-copy-account:focus-visible {
	background: #c81e2c;
	color: #fff;
	box-shadow: 0 8px 18px rgba(200, 30, 44, .24);
	transform: translateY(-1px);
}

.ab-copy-account.is-copied {
	border-color: #15803d;
	background: #15803d;
	color: #fff;
}

.ab-copy-account__icon {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Product detail: soft media treatment and borderless packaging summary. */
.ab-product-detail__media {
	box-shadow: 0 18px 42px rgba(15, 23, 42, .09);
}

.ab-product-packaging {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 20px;
	border: 0;
	border-radius: 16px;
	background: linear-gradient(135deg, #fff4f5 0%, #faf7f7 100%);
	box-shadow: 0 8px 22px rgba(200, 30, 44, .07);
}

.ab-product-packaging__icon {
	display: flex;
	flex: 0 0 42px;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: #c81e2c;
	color: #fff;
	box-shadow: 0 7px 16px rgba(200, 30, 44, .2);
}

.ab-product-packaging__icon svg {
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ab-product-packaging__label {
	margin: 0 0 4px;
	color: #c81e2c;
	font-family: 'Inter', system-ui, sans-serif;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .14em;
	line-height: 1.2;
	text-transform: uppercase;
}

.ab-product-packaging__value {
	margin: 0;
	color: #111827;
	font-family: 'Sora', system-ui, sans-serif;
	font-size: 18px;
	font-weight: 750;
	line-height: 1.35;
}

.ab-product-stock {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #64748b;
	font-size: 13px;
	font-weight: 700;
}

.ab-product-actions {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 16px;
}

.ab-product-actions .ab-product-stock {
	margin: 0;
}

.ab-product-whatsapp {
	width: fit-content;
}

/* Footer social buttons must never be compressed into ovals by the grid. */
.ab-footer-socials {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	width: 100%;
}

.ab-footer-socials > a {
	display: inline-flex;
	flex: 0 0 40px;
	align-items: center;
	justify-content: center;
	width: 40px;
	min-width: 40px;
	max-width: 40px;
	height: 40px;
	min-height: 40px;
	max-height: 40px;
	padding: 0;
	border-radius: 50%;
	aspect-ratio: 1 / 1;
}

.ab-footer-socials > a svg,
.ab-footer-socials > a .material-symbols-outlined {
	flex: 0 0 auto;
}

/* Mobile navigation: explicit breakpoint prevents the toggle leaking to desktop. */
.ab-mobile-menu-toggle,
.ab-mobile-menu {
	display: none !important;
}

@media (max-width: 767px) {
	.ab-mobile-menu-toggle {
		display: inline-flex !important;
		flex: 0 0 44px;
		position: relative;
		z-index: 2;
		align-items: center;
		justify-content: center;
		width: 44px;
		min-width: 44px;
		max-width: 44px;
		height: 44px;
		min-height: 44px;
		max-height: 44px;
		padding: 0;
		border: 1px solid rgba(255, 255, 255, .35);
		border-radius: 9999px !important;
		background: linear-gradient(145deg, #dc2636 0%, #b61722 100%) !important;
		color: #fff !important;
		-webkit-appearance: none;
		appearance: none;
		aspect-ratio: 1 / 1;
		box-sizing: border-box;
		box-shadow: 0 9px 22px rgba(182, 23, 34, .3), inset 0 1px 0 rgba(255, 255, 255, .22) !important;
		overflow: visible !important;
		line-height: 1;
		transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
	}

	.ab-mobile-menu-toggle:hover,
	.ab-mobile-menu-toggle:focus-visible {
		background: linear-gradient(145deg, #c81e2c 0%, #99131d 100%) !important;
		box-shadow: 0 11px 25px rgba(182, 23, 34, .38), inset 0 1px 0 rgba(255, 255, 255, .2) !important;
		transform: none;
	}

	.ab-mobile-menu-toggle[aria-expanded="true"] {
		background: #111827 !important;
		box-shadow: 0 9px 22px rgba(15, 23, 42, .28) !important;
	}

	.ab-mobile-menu-toggle .material-symbols-outlined {
		display: block;
		color: inherit !important;
		font-size: 23px !important;
		line-height: 1 !important;
	}

	.ab-mobile-menu:not(.hidden) {
		display: block !important;
		background: rgba(255, 255, 255, .98) !important;
		box-shadow: 0 18px 30px rgba(15, 23, 42, .12);
	}
}

/* -------------------------------------------------------------------------
 * Global mobile rhythm
 * Keeps every custom page compact and readable without shrinking tap targets.
 * ---------------------------------------------------------------------- */
@media (max-width: 640px) {
	html {
		font-size: 15px;
	}

	body {
		overflow-x: hidden;
	}

	.ab-site-header {
		height: 68px !important;
		overflow: visible !important;
	}

	.ab-site-header > div:first-child {
		padding-inline: 16px !important;
		overflow: visible !important;
	}

	.ab-site-header img {
		max-height: 40px;
		width: auto;
	}

	.ab-site-brand {
		min-width: 0;
		gap: 8px !important;
	}

	.ab-site-brand__name {
		display: inline-block !important;
		flex: 0 0 auto;
		font-size: 12px !important;
		line-height: 1.12 !important;
		white-space: nowrap;
	}

	.ab-site-main {
		padding-top: 68px !important;
	}

	.ab-header-consultation {
		min-height: 40px;
		padding: 10px 14px !important;
		font-size: 12px !important;
		line-height: 1 !important;
	}

	.ab-header-consultation .material-symbols-outlined {
		display: none;
	}

	.ab-mobile-menu-toggle {
		flex: 0 0 40px;
		width: 40px;
		min-width: 40px;
		max-width: 40px;
		height: 40px;
		min-height: 40px;
		max-height: 40px;
	}

	.px-gutter {
		padding-right: 18px !important;
		padding-left: 18px !important;
	}

	.py-section-padding-desktop {
		padding-top: 52px !important;
		padding-bottom: 52px !important;
	}

	.ab-site-main section:first-of-type {
		padding-top: 44px !important;
		padding-bottom: 44px !important;
	}

	.ab-site-main h1 {
		font-size: clamp(30px, 8.5vw, 36px) !important;
		line-height: 1.14 !important;
		letter-spacing: -.025em !important;
	}

	.ab-site-main h2 {
		font-size: clamp(26px, 7.2vw, 31px) !important;
		line-height: 1.2 !important;
		letter-spacing: -.02em !important;
	}

	.ab-site-main h3 {
		font-size: clamp(20px, 5.5vw, 24px) !important;
		line-height: 1.28 !important;
	}

	.ab-site-main p {
		font-size: 14px;
		line-height: 1.65;
	}

	.ab-site-main [class~="text-[18px]"] {
		font-size: 15px !important;
	}

	.ab-site-main [class~="text-[17px]"] {
		font-size: 15px !important;
	}

	.ab-site-main [class~="p-12"],
	.ab-site-main [class~="p-10"],
	.ab-site-main [class~="p-8"] {
		padding: 24px !important;
	}

	.ab-site-main [class~="p-7"],
	.ab-site-main [class~="p-6"] {
		padding: 20px !important;
	}

	.ab-site-main [class~="gap-16"] {
		gap: 36px !important;
	}

	.ab-site-main [class~="gap-12"] {
		gap: 30px !important;
	}

	.ab-site-main [class~="gap-10"],
	.ab-site-main [class~="gap-8"] {
		gap: 24px !important;
	}

	.ab-site-main [class~="mb-16"] {
		margin-bottom: 40px !important;
	}

	.ab-site-main [class~="mb-12"] {
		margin-bottom: 32px !important;
	}

	.ab-site-main [class~="mt-16"] {
		margin-top: 40px !important;
	}

	.ab-site-main a[class~="rounded-full"]:not([class*="w-"]),
	.ab-site-main button[class~="rounded-full"]:not(.ab-mobile-menu-toggle) {
		min-height: 44px;
		padding: 12px 20px !important;
		font-size: 13px !important;
	}

	.ab-product-catalog .ab-filter-btn {
		min-height: 38px !important;
		padding: 9px 15px !important;
		font-size: 12px !important;
	}

	.ab-product-catalog [data-ab-product-filters] {
		gap: 8px !important;
		margin-bottom: 30px !important;
	}

	.ab-product-item {
		padding: 17px !important;
		border-radius: 18px !important;
	}

	.ab-product-detail {
		padding-top: 38px !important;
		padding-bottom: 52px !important;
	}

	.ab-product-detail nav[aria-label="Breadcrumb"] {
		overflow: hidden;
		margin-bottom: 24px !important;
		font-size: 11px !important;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.ab-product-detail__media {
		border-radius: 18px !important;
	}

	.ab-product-packaging {
		gap: 13px;
		padding: 14px 15px !important;
	}

	.ab-product-packaging__icon {
		flex-basis: 38px;
		width: 38px;
		height: 38px;
	}

	.ab-product-whatsapp {
		width: 100%;
		justify-content: center;
		text-align: center;
	}

	.ab-contact-card,
	.ab-payment-panel {
		border-radius: 19px !important;
	}

	.ab-bank-card__number {
		font-size: 22px !important;
	}

	.ab-site-main table {
		display: block;
		overflow-x: auto;
		max-width: 100%;
		-webkit-overflow-scrolling: touch;
	}

	.ab-site-main th,
	.ab-site-main td {
		min-width: 130px;
		padding: 14px !important;
		font-size: 12px !important;
	}

	.ab-schedule-table-wrap {
		overflow: visible !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.ab-site-main .ab-schedule-table {
		display: block;
		overflow: visible;
	}

	.ab-schedule-table thead {
		display: none;
	}

	.ab-schedule-table tbody {
		display: grid;
		gap: 14px;
	}

	.ab-schedule-table tr {
		display: block;
		overflow: hidden;
		padding: 7px 17px;
		border: 1px solid #e8e3e3;
		border-radius: 17px;
		background: #fff;
		box-shadow: 0 7px 20px rgba(15, 23, 42, .055);
	}

	.ab-site-main .ab-schedule-table td {
		display: grid;
		grid-template-columns: 78px minmax(0, 1fr);
		align-items: start;
		gap: 10px;
		min-width: 0;
		padding: 11px 0 !important;
		border-bottom: 1px solid #eee9e9;
		font-size: 13px !important;
		font-style: normal;
		line-height: 1.5;
	}

	.ab-schedule-table td:last-child {
		border-bottom: 0;
	}

	.ab-schedule-table td::before {
		content: attr(data-label);
		color: #c81e2c;
		font-family: 'Inter', system-ui, sans-serif;
		font-size: 10px;
		font-weight: 800;
		letter-spacing: .1em;
		line-height: 1.5;
		text-transform: uppercase;
	}

	.ab-schedule-table td[data-label="Hari"] {
		color: #111827;
		font-family: 'Sora', system-ui, sans-serif;
		font-size: 16px !important;
		font-weight: 750;
	}

	.ab-site-main input:not([type="checkbox"]):not([type="radio"]),
	.ab-site-main select,
	.ab-site-main textarea {
		font-size: 16px !important;
	}

	footer > div:first-child {
		gap: 32px !important;
		padding-top: 44px !important;
		padding-bottom: 44px !important;
	}

	footer h4 {
		margin-bottom: 16px !important;
		font-size: 15px !important;
	}
}

/* Our Product only: extra-compact mobile category filters. */
@media (max-width: 640px) {
	.page-id-119 .ab-product-catalog [data-ab-product-filters] {
		gap: 5px !important;
		margin-bottom: 24px !important;
	}

	.page-id-119 .ab-product-catalog .ab-filter-btn {
		min-height: 29px !important;
		padding: 5px 10px !important;
		border-width: 1px !important;
		font-size: 10px !important;
		font-weight: 700 !important;
		letter-spacing: 0 !important;
		line-height: 1.15 !important;
		box-shadow: none;
	}

	.page-id-119 .ab-product-catalog .ab-filter-btn.is-active,
	.page-id-119 .ab-product-catalog .ab-filter-btn[aria-pressed="true"] {
		box-shadow: 0 4px 10px rgba(200, 30, 44, .2);
	}
}

@media (max-width: 420px) {
	.ab-footer-socials {
		gap: 7px;
	}

	.ab-footer-socials > a {
		flex-basis: 34px;
		width: 34px;
		min-width: 34px;
		max-width: 34px;
		height: 34px;
		min-height: 34px;
		max-height: 34px;
	}
}

.ab-product-stock::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 0 4px rgba(100, 116, 139, .1);
}

.ab-product-stock.is-available {
	color: #15803d;
}

.ab-product-stock.is-available::before {
	box-shadow: 0 0 0 4px rgba(21, 128, 61, .1);
}

@media (max-width: 640px) {
	.ab-product-packaging {
		padding: 16px 17px;
	}

	.ab-product-packaging__value {
		font-size: 16px;
	}
}

@media (max-width: 640px) {
	.ab-bank-card__account {
		align-items: stretch;
		flex-direction: column;
		gap: 16px;
	}

	.ab-copy-account {
		align-self: flex-start;
		min-height: 44px;
		padding-inline: 18px;
	}
}

/* Verified-business badge, attached to the WhatsApp launcher corner. */
.joinchat__button::after {
	content: "";
	position: absolute;
	top: -3px;
	right: -3px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	background: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23159ee8' stroke='%23159ee8' stroke-width='2' d='M20 15c-1 1 1.25 3.75 0 5s-3.75-1.25-5 0c-1 1-1.5 3-3 3s-1.5-2-3-3-3.75 1.25-5 0 1-4 0-5-3-1.5-3-3 2-1.5 3-3-1.25-3.75 0-5 4 1 5 0 1-3 3-3 1.5 2 3 3 3.75-1.25 5 0 1.25 4 0 5 3 1.5 3 3-2 1.5-3 3Z'/%3E%3Cpath d='M7 12l3 3 7-7' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	color: #fff;
	box-sizing: border-box;
	z-index: 4;
	pointer-events: none;
}

.joinchat__button:hover,
.joinchat__button:focus {
	background-color: #128c7e !important;
	opacity: 1 !important;
}

.joinchat__powered {
	display: none !important;
}

/* Blog detail content can still contain legacy Elementor buttons from post body. */
.ab-prose .elementor-button-wrapper {
	margin: 32px 0 !important;
}

.ab-prose .elementor-button,
.ab-prose .elementor-button:visited {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 52px !important;
	padding: 14px 28px !important;
	border: 0 !important;
	border-radius: 9999px !important;
	background: #b61722 !important;
	color: #fff !important;
	font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: none !important;
	box-shadow: 0 12px 24px rgba(182, 23, 34, .18) !important;
	transition: opacity .2s ease, transform .2s ease, box-shadow .2s ease !important;
}

.ab-prose .elementor-button:hover,
.ab-prose .elementor-button:focus {
	background: #b61722 !important;
	color: #fff !important;
	opacity: .9 !important;
	transform: translateY(-1px);
	box-shadow: 0 16px 30px rgba(182, 23, 34, .22) !important;
}

.ab-prose .elementor-button .elementor-button-text {
	color: inherit !important;
	font: inherit !important;
}
