body { font-family: 'Nunito Sans', sans-serif; background: #f5f7fa; color: #141824; }
.container-small { width: 100%; }
.ecommerce-topbar { padding-top: 1rem; padding-bottom: 1rem; }
.ecommerce-topbar .navbar { min-height: 3rem; }
.ecommerce-topbar .row { align-items: center; }
.ecommerce-topbar .logo-text { font-size: 1.25rem; letter-spacing: 0; }
.ecommerce-topbar .ecommerce-search-box { max-width: 31.25rem; }
.navbar-responsive-navitems .container-small { min-height: 3rem; }
.navbar-responsive-navitems .nav-link { font-size: .8rem; }
.dropdown-profile {
	min-width: 20rem;
	overflow: hidden;
	border: 1px solid var(--phoenix-border-color-translucent);
	border-radius: .5rem;
	box-shadow: 0 .75rem 2rem rgba(36, 40, 61, .14);
}
.dropdown-profile .card { border-radius: 0; }
.dropdown-profile .card-body { padding: 1.25rem 1.25rem 1rem; }
.dropdown-profile .card-body .text-center { padding-top: .25rem; padding-bottom: 1rem; }
.dropdown-profile .nav-link {
	display: flex !important;
	align-items: center;
	min-height: 2rem;
	margin: .125rem .5rem;
	border-radius: .25rem;
	font-size: .875rem;
}
.dropdown-profile .nav-link:hover,
.dropdown-profile .nav-link:focus-visible { background: var(--phoenix-body-highlight-bg); }
.dropdown-profile .nav-link > .uil,
.dropdown-profile .btn > .uil {
	flex: 0 0 1rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1rem;
	height: 1rem;
	margin-right: .5rem !important;
	font-size: 1rem !important;
	line-height: 1rem !important;
	text-align: center;
}
.dropdown-profile .card-footer { padding: .75rem 1.25rem 1rem !important; }
.dropdown-profile .card-footer .px-3 { padding-right: 0 !important; padding-left: 0 !important; }
.dropdown-profile .card-footer .btn { min-height: 2.375rem; border-radius: .375rem; font-size: .8rem; font-weight: 700; }
.dropdown-profile.guest-profile { min-width: 18rem; }
.dropdown-profile.guest-profile .card-footer { padding: .75rem !important; border-top: 0 !important; }
.dropdown-profile.guest-profile .card-footer .btn { width: 100%; }
.phoenix-product-card { overflow: hidden; border: 1px solid #e4e9f2; border-radius: .5rem; background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.phoenix-product-card:hover { transform: translateY(-3px); box-shadow: 0 .5rem 1.5rem rgba(36, 40, 61, .12); }
.product-name, .product-card h5 { font-size: 1.2rem; line-height: 1.35; }
.product-interest-name { font-size: 1rem; line-height: 1.35; }
.phoenix-price-row, .price-wrap { display: flex; align-items: baseline; flex-wrap: nowrap; gap: .5rem; white-space: nowrap; min-width: 0; }
.phoenix-price-row h3, .new-price { font-size: 1.05rem; white-space: nowrap; }
.phoenix-price-row del, .old-price { font-size: .72rem; white-space: nowrap; }
.price-wrap .new-price, .price-wrap .old-price { overflow: hidden; text-overflow: ellipsis; }
.phoenix-product-thumb { display: block; width: 100%; height: 220px; object-fit: contain; padding: 1.25rem; background: #f8f9fc; }
.phoenix-products-slider .swiper-slide { height: auto; }
.phoenix-products-slider .product-card { height: 100%; padding: 1rem; }
.phoenix-live-product-image { height: 220px; display: flex; align-items: center; justify-content: center; overflow: hidden; background: #f8f9fc; }
.phoenix-live-product-image > a { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.phoenix-live-product-image img { display: block; width: 100%; height: 100%; padding: 1rem; object-fit: contain; }
.phoenix-ad-slide { min-height: 360px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 3rem clamp(1.5rem, 5vw, 5rem); border-radius: .75rem; overflow: hidden; color: #fff; }
.phoenix-ad-blue { background: #2c3e8f; }
.phoenix-ad-orange { background: #e86c39; }
.phoenix-ad-green { background: #147d70; }
.phoenix-ad-slide > div { max-width: 650px; position: relative; z-index: 1; }
.phoenix-carousel-shell { max-width: 100%; overflow: hidden; }
.phoenix-ad-carousel { max-width: 100%; }
.phoenix-category-rail { justify-content: center; gap: 1.5rem; flex-wrap: wrap; }
.phoenix-ad-icon { font-size: 12rem; opacity: .22; flex: 0 0 auto; }
.phoenix-service { display: flex; align-items: center; gap: .8rem; height: 100%; padding: 1rem; border: 1px solid #e4e9f2; border-radius: .5rem; background: #fff; }
.phoenix-service > span { color: #3874ff; font-size: 2rem; }
.phoenix-service strong, .phoenix-service small { display: block; }
.phoenix-service small { color: #6b7280; margin-top: .2rem; }
.phoenix-category-card { display: flex; flex-direction: column; align-items: center; gap: .4rem; padding: 1.5rem .75rem; text-align: center; border: 1px solid #e4e9f2; border-radius: .5rem; background: #fff; color: #141824; }
.phoenix-category-card:hover { border-color: #3874ff; color: #3874ff; }
.phoenix-category-card .uil { font-size: 2.25rem; }
.phoenix-category-card small { color: #6b7280; }
.phoenix-stats-strip h3 { font-weight: 800; color: #3874ff; }
.phoenix-bundle-card { display: block; height: 100%; padding: 1.25rem; border: 1px solid #e4e9f2; border-radius: .5rem; background: #fff; color: #141824; transition: transform .2s ease, box-shadow .2s ease; }
.phoenix-bundle-card:hover { transform: translateY(-3px); box-shadow: 0 .5rem 1.5rem rgba(36, 40, 61, .12); color: #141824; }
.phoenix-footer { background: #141824; color: #b8c0d4; }
.phoenix-footer h4 { color: #fff; }
.phoenix-footer .btn-link { color: #b8c0d4; display: block; padding-left: 0; text-align: left; }
.phoenix-page-head { background: #fff; border-bottom: 1px solid #e4e9f2; padding: 2rem 0; }
.phoenix-product-image { display: grid; place-items: center; min-height: 480px; padding: 2rem; background: #fff; border: 1px solid #e4e9f2; border-radius: 8px; }
.phoenix-product-image img { width: 100%; max-height: 430px; object-fit: contain; }
.product-gallery { display: flex; flex-direction: column; gap: .75rem; min-width: 0; }
.product-gallery-thumbs { display: flex; flex-direction: row; gap: .75rem; overflow-x: auto; }
.product-gallery-thumb { width: 72px; height: 72px; flex: 0 0 72px; padding: .35rem; border: 1px solid #e4e9f2; border-radius: .5rem; background: #fff; }
.product-gallery-thumb.active { border-color: #3874ff; box-shadow: 0 0 0 2px rgba(56, 116, 255, .15); }
.product-gallery-thumb img { width: 100%; height: 100%; object-fit: contain; background: #f8f9fc; }
.product-gallery .phoenix-product-image { width: 100%; min-width: 0; }
.product-interest-card { padding: 1.5rem; border: 1px solid #e4e9f2; border-radius: .5rem; background: #fff; }
.product-interest-thumb { width: 64px; height: 64px; object-fit: contain; border: 1px solid #e4e9f2; border-radius: .35rem; background: #f8f9fc; }
.product-card h5 { font-size: 1.2rem; min-height: 44px; }
@media (min-width: 768px) and (max-width: 991.98px), (min-width: 1200px) { .product-gallery { flex-direction: row; align-items: stretch; } .product-gallery-thumbs { flex-direction: column; width: 72px; flex: 0 0 72px; overflow-x: visible; } .product-gallery .phoenix-product-image { flex: 1 1 auto; } }
.phoenix-bundle-cover { min-height: 370px; display: grid; place-content: center; gap: 1rem; text-align: center; color: #fff; background: linear-gradient(135deg, #173b8f, #3874ff); border-radius: 8px; }
.phoenix-bundle-cover .uil { font-size: 7rem; }
.phoenix-bundle-thumbs { display: flex; flex-wrap: wrap; gap: .35rem; }
.phoenix-bundle-thumbs img { width: 56px; height: 56px; object-fit: contain; border: 1px solid #e4e9f2; border-radius: .35rem; background: #f8f9fc; }
.phoenix-form, .phoenix-order-summary, .phoenix-auth-panel { background: #fff; border: 1px solid #e4e9f2; border-radius: 8px; padding: 2rem; }
.phoenix-form .form-control { min-height: 48px; }
.phoenix-order-summary { position: sticky; top: 1rem; }
.modal-dialog-end { margin: 1rem 1rem 1rem auto; }
.cart-preview-image { width: 44px; height: 44px; flex: 0 0 44px; object-fit: contain; border: 1px solid #e4e9f2; border-radius: .35rem; background: #f8f9fc; }
.cart-table-wrap { margin-left: -.25rem; margin-right: -.25rem; }
.cart-table-wrap table { min-width: 720px; }
.cart-table-wrap th { color: #6b7280; font-size: .7rem; font-weight: 700; letter-spacing: .04em; white-space: nowrap; }
.cart-product-column { min-width: 220px; }
.cart-item-image { width: 58px; height: 58px; }
.cart-item-image img { width: 100%; height: 100%; object-fit: contain; padding: .3rem; background: #f8f9fc; }
.cart-quantity-input { width: 72px; }
@media (max-width: 767px) { .phoenix-product-image { min-height: 300px; } }
