/**
 * Final Vitalix IT narrow-phone pass.
 *
 * This file is intentionally enqueued after the route bundles. It only affects
 * screens below 360px, so the established tablet and desktop layouts stay
 * unchanged while 320px devices receive tighter spacing and typography.
 */

@media (max-width: 359px) {
	html,
	body {
		max-width: 100%;
		overflow-x: hidden;
		overflow-x: clip;
	}

	body,
	body button,
	body input,
	body select,
	body textarea {
		-webkit-text-size-adjust: 100%;
		text-size-adjust: 100%;
	}

	.wp-site-blocks,
	.wp-site-blocks > main,
	.wp-site-blocks .wp-block-post-content,
	.wp-site-blocks .entry-content,
	.wp-site-blocks .wp-block-group,
	.wp-site-blocks .wp-block-columns,
	.wp-site-blocks .wp-block-column {
		box-sizing: border-box;
		min-width: 0;
		max-width: 100%;
	}

	img,
	svg,
	video,
	iframe,
	table {
		max-width: 100%;
	}

	/* Header and full-screen navigation drawer. */
	header.wp-block-template-part .wp-block-group.alignwide.is-nowrap {
		min-height: 56px !important;
		padding: 6px 9px !important;
		gap: 6px !important;
	}

	header.wp-block-template-part .wp-block-group.alignwide.is-nowrap > .wp-block-site-logo img {
		width: 94px !important;
		max-width: 94px !important;
		max-height: 40px !important;
	}

	header.wp-block-template-part .wp-block-site-logo + .wp-block-group {
		min-width: 84px !important;
		gap: 6px !important;
	}

	header.wp-block-template-part .wc-block-mini-cart__button,
	header.wp-block-template-part .wp-block-navigation__responsive-container-open:not(.is-menu-active) {
		width: 38px !important;
		height: 38px !important;
		min-width: 38px !important;
		min-height: 38px !important;
		padding: 7px !important;
	}

	header.wp-block-template-part .wc-block-mini-cart__button svg,
	header.wp-block-template-part .wp-block-navigation__responsive-container-open:not(.is-menu-active) svg {
		width: 22px !important;
		height: 22px !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		padding: max(12px, env(safe-area-inset-top)) 12px max(20px, env(safe-area-inset-bottom)) !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		top: max(12px, env(safe-area-inset-top)) !important;
		right: max(12px, env(safe-area-inset-right)) !important;
		width: 40px !important;
		height: 40px !important;
	}

	header.wp-block-template-part .vs-mobile-menu__fullscreen-header {
		min-height: 52px !important;
		padding-right: 52px !important;
	}

	header.wp-block-template-part .vs-mobile-menu__fullscreen-logo-image {
		max-width: 126px !important;
		max-height: 34px !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .vs-mobile-product-search {
		margin: 14px 0 12px !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .vs-mobile-product-search__title {
		margin-bottom: 7px !important;
		font-size: 11px !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .vs-mobile-product-search__controls {
		height: 46px !important;
		border-radius: 11px !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .vs-mobile-product-search__input {
		height: 44px !important;
		padding-inline: 12px 8px !important;
		font-size: 16px !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .vs-mobile-product-search__submit {
		width: 38px !important;
		height: 38px !important;
		margin: 3px !important;
		flex-basis: 38px !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		gap: 6px !important;
	}

	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		min-height: 46px !important;
		padding: 9px 10px !important;
		border-radius: 10px !important;
		font-size: 14px !important;
	}

	/* Homepage sections and compact two-column product grid. */
	body.home #cia-home .section {
		padding-block: 32px !important;
	}

	body.home #cia-home .inner {
		padding-inline: 12px !important;
	}

	body.home #cia-home .hero {
		padding-inline: 10px !important;
	}

	body.home #cia-home .hero-left {
		padding: 24px 14px 22px !important;
	}

	body.home #cia-home .hero-eyebrow {
		max-width: 100%;
		padding: 5px 8px !important;
		font-size: 8px !important;
		letter-spacing: .035em !important;
	}

	body.home #cia-home .hero h1 {
		margin-bottom: 11px !important;
		font-size: 1.3rem !important;
		line-height: 1.2 !important;
	}

	body.home #cia-home .hero-sub {
		margin-bottom: 18px !important;
		font-size: .88rem !important;
		line-height: 1.5 !important;
	}

	body.home #cia-home .hero-ctas {
		gap: 8px !important;
	}

	body.home #cia-home .hero-ctas :is(.btn-cta, .btn-ghost),
	body.home #cia-home :is(.btn-promo, .btn-primary, .btn-outline) {
		min-height: 42px !important;
		padding: 10px 14px !important;
		font-size: .84rem !important;
	}

	body.home #cia-home .hero-trust {
		gap: 7px !important;
	}

	body.home #cia-home .hero-trust-item {
		padding: 8px 6px !important;
		gap: 6px !important;
	}

	body.home #cia-home .hero-trust-icon {
		width: 28px !important;
		height: 28px !important;
	}

	body.home #cia-home .hero-trust-label {
		font-size: .68rem !important;
		line-height: 1.25 !important;
	}

	body.home #cia-home .stats-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0 !important;
	}

	body.home #cia-home .stat-item {
		padding: 10px 6px !important;
	}

	body.home #cia-home .stat-num {
		font-size: 1.25rem !important;
	}

	body.home #cia-home .stat-label {
		font-size: .65rem !important;
	}

	body.home #cia-home .promo-banner {
		padding: 13px 12px !important;
	}

	body.home #cia-home .promo-text {
		font-size: .84rem !important;
	}

	body.home #cia-home .section-label {
		font-size: .68rem !important;
	}

	body.home #cia-home .section-title {
		font-size: 1.45rem !important;
		line-height: 1.16 !important;
	}

	body.home #cia-home .section-desc {
		margin-bottom: 18px !important;
		font-size: .84rem !important;
		line-height: 1.55 !important;
	}

	body.home #cia-home .products-grid,
	body.home #cia-home .products-grid-2,
	body.home #cia-home .inner:has(> .products-grid) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 7px !important;
	}

	body.home #cia-home .brands-bar {
		padding-block: 22px !important;
	}

	body.home #cia-home .brands-inner {
		gap: 9px !important;
	}

	body.home #cia-home .brands-list {
		gap: 7px !important;
	}

	body.home #cia-home .brands-list .brand-pill {
		min-height: 34px !important;
		padding: 6px !important;
		font-size: .7rem !important;
	}

	body.home #cia-home .trust-item,
	body.home #cia-home .testimonial {
		padding: 16px !important;
	}

	body.home #cia-home .step {
		padding-inline: 8px !important;
	}

	body.home #cia-home .spotlight-img {
		min-height: 190px !important;
	}

	body.home #cia-home .spotlight-content h2,
	body.home #cia-home .guarantee h2 {
		font-size: 1.45rem !important;
	}

	body.home #cia-home .spotlight-content p,
	body.home #cia-home .feature-list li,
	body.home #cia-home .testimonial blockquote,
	body.home #cia-home .guarantee p {
		font-size: .83rem !important;
	}

	body.home #cia-home .guarantee {
		padding: 36px 14px !important;
	}

	body.home #cia-home .guarantee-points {
		margin-bottom: 22px !important;
		gap: 9px !important;
	}

	body.home #cia-home .guarantee-point {
		font-size: .78rem !important;
	}

	/* Product cards across Home, Ordine, search and related products. */
	:root {
		--vs-card-gutter: 7px;
		--vs-card-radius: 10px;
	}

	body.home .products-grid,
	body.home .products-grid-2,
	body.home .vs-home-products-grid,
	body.woocommerce-shop .wc-block-product-template,
	body.post-type-archive-product .wc-block-product-template,
	body.tax-product_cat .wc-block-product-template,
	body.tax-product_tag .wc-block-product-template,
	body.single-product .wp-block-woocommerce-product-template,
	body.woocommerce ul.products,
	body.woocommerce-page ul.products,
	body.search .vs-global-search__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 7px !important;
	}

	body.home .product-card .img-wrap,
	body:is(.woocommerce-shop, .post-type-archive-product, .tax-product_cat, .tax-product_tag) .wc-block-product .wp-block-woocommerce-product-image,
	body.single-product .wp-block-woocommerce-product-template .wp-block-woocommerce-product-image,
	body.search .product .vs-global-search-card__image {
		padding: 7px !important;
	}

	body.home .product-card h3,
	body .wc-block-product .wp-block-post-title,
	body.search .product .vs-global-search-card__title {
		margin-bottom: 6px !important;
		font-size: 11.5px !important;
		line-height: 1.3 !important;
	}

	body.home .price-row,
	body .wc-block-product .wp-block-woocommerce-product-price,
	body.search .product .vs-global-search-card__price {
		min-height: 37px !important;
		margin-bottom: 3px !important;
		font-size: 15px !important;
	}

	body.home .price-row ins,
	body.home .price-row .price-now,
	body .wc-block-product .wp-block-woocommerce-product-price ins,
	body.search .product .vs-global-search-card__price ins {
		font-size: 15px !important;
	}

	body.home .price-row del,
	body.home .price-row .price-old,
	body .wc-block-product .wp-block-woocommerce-product-price del,
	body.search .product .vs-global-search-card__price del {
		font-size: 10px !important;
	}

	body.home .product-card .stars-row,
	body.home .vs-card-rating,
	body .wc-block-product > .vs-card-rating,
	body.search .product .vs-card-rating {
		min-height: 15px !important;
		margin-bottom: 8px !important;
		gap: 3px !important;
	}

	body.home .vs-card-rating__stars,
	body .wc-block-product > .vs-card-rating__stars,
	body.search .product .vs-card-rating__stars {
		font-size: 10px !important;
		letter-spacing: .5px !important;
	}

	body.home .vs-card-rating__count,
	body .wc-block-product > .vs-card-rating__count,
	body.search .product .vs-card-rating__count {
		font-size: 9px !important;
	}

	body.home .product-card .badge,
	body .wc-block-product .vs-catalog-discount-badge,
	body.search .product .vs-catalog-discount-badge {
		top: 7px !important;
		right: 7px !important;
		min-height: 23px !important;
		padding: 5px 6px !important;
		font-size: 9px !important;
	}

	body.home .btn-add,
	body .wc-block-product .wp-block-woocommerce-product-button .wc-block-components-product-button__button,
	body.search .product .vs-global-search-card__product-button .wc-block-components-product-button__button,
	body.search .vs-search-card--product .vs-search-card__button,
	body.woocommerce ul.products > li.product .button,
	body.woocommerce-page ul.products > li.product .button {
		min-height: 38px !important;
		padding: 7px 4px !important;
		border-radius: 8px !important;
		font-size: 10px !important;
		letter-spacing: -.01em !important;
	}

	/* Ordine catalogue and global search. */
	body.woocommerce-shop main.wp-block-group,
	body.post-type-archive-product main.wp-block-group,
	body.search main.wp-block-group {
		width: calc(100% - 20px) !important;
		margin-inline: auto !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	body.woocommerce-shop main.wp-block-group > .wp-block-query-title,
	body.post-type-archive-product main.wp-block-group > .wp-block-query-title {
		font-size: 25px !important;
		line-height: 1.15 !important;
	}

	body.woocommerce-shop .vs-catalog-live-search,
	body.post-type-archive-product .vs-catalog-live-search {
		margin-block: 9px 20px !important;
	}

	body.woocommerce-shop .vs-catalog-live-search__input,
	body.post-type-archive-product .vs-catalog-live-search__input {
		height: 46px !important;
		padding: 0 42px !important;
		font-size: 16px !important;
	}

	body.woocommerce-shop .vs-catalog-live-search__icon,
	body.post-type-archive-product .vs-catalog-live-search__icon {
		left: 13px !important;
		width: 18px !important;
		height: 18px !important;
	}

	body.search .vs-global-search {
		padding: 16px 0 36px !important;
	}

	body.search .vs-global-search__header {
		margin-bottom: 17px !important;
	}

	body.search .vs-global-search__title {
		font-size: 21px !important;
	}

	body.search .vs-global-search__intro {
		font-size: 12px !important;
	}

	body.search .vs-global-search__form .wp-block-search__inside-wrapper {
		height: 46px !important;
		padding-left: 10px !important;
	}

	body.search .vs-global-search__form .wp-block-search__input {
		height: 40px !important;
		font-size: 16px !important;
	}

	body.search .vs-global-search__form .wp-block-search__button {
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
	}

	body.search .vs-global-search-card__body {
		padding: 8px !important;
	}

	body.search .type-page,
	body.search .type-post {
		grid-column: 1 / -1;
	}

	/* Single product layout, purchase controls and trust/payment strip. */
	body.single-product main.wp-block-group > .wp-block-columns.alignwide {
		width: calc(100% - 20px) !important;
		gap: 18px !important;
	}

	body.single-product .wp-block-woocommerce-product-image-gallery,
	body.single-product .woocommerce-product-gallery,
	body.single-product .woocommerce-product-gallery__wrapper,
	body.single-product .woocommerce-product-gallery__image,
	body.single-product .woocommerce-product-gallery__image img {
		max-width: 300px !important;
	}

	body.single-product main.wp-block-group > .wp-block-columns.alignwide h1.wp-block-post-title {
		margin-top: 12px !important;
		font-size: 23px !important;
		line-height: 1.15 !important;
	}

	body.single-product .vsce-product-facts,
	body.single-product .vsce-product-facts .cia-bullets,
	body.single-product main.wp-block-group > .wp-block-columns.alignwide > .wp-block-column:last-child > .cia-bullets {
		margin-block: 10px 13px !important;
	}

	body.single-product .vsce-product-facts .cia-bullets li,
	body.single-product main.wp-block-group > .wp-block-columns.alignwide > .wp-block-column:last-child > .cia-bullets li {
		padding-block: 7px !important;
		gap: 8px !important;
		font-size: 13px !important;
		line-height: 1.4 !important;
	}

	body.single-product .vsce-product-facts .cia-bullets li::before,
	body.single-product main.wp-block-group > .wp-block-columns.alignwide > .wp-block-column:last-child > .cia-bullets li::before {
		width: 19px !important;
		height: 19px !important;
		margin-top: 0 !important;
	}

	body.single-product .vsce-package-picker {
		margin-bottom: 12px !important;
	}

	body.single-product .vsce-package-picker .qs-option {
		min-height: 62px !important;
		margin-bottom: 8px !important;
		padding: 11px 10px !important;
		gap: 8px !important;
		border-radius: 10px !important;
	}

	body.single-product .vsce-package-picker .qs-radio {
		width: 16px !important;
		height: 16px !important;
		flex-basis: 16px !important;
	}

	body.single-product .vsce-package-picker .qs-title {
		font-size: 12.5px !important;
	}

	body.single-product .vsce-package-picker .qs-saving {
		font-size: 10.5px !important;
	}

	body.single-product .vsce-package-picker .qs-total {
		font-size: 16px !important;
	}

	body.single-product .vsce-package-picker .qs-per {
		font-size: 9.5px !important;
	}

	body.single-product .vsce-package-picker .qs-badge {
		padding: 2px 7px !important;
		font-size: 8.5px !important;
	}

	body.single-product .wc-block-add-to-cart-form form.cart:not(.variations_form),
	body.single-product .wc-block-add-to-cart-form .woocommerce-variation-add-to-cart {
		grid-template-columns: 102px minmax(0, 1fr) !important;
		gap: 7px !important;
	}

	body.single-product .wc-block-add-to-cart-form form.cart .quantity {
		width: 102px !important;
		height: 48px !important;
		grid-template-columns: 30px minmax(40px, 1fr) 30px !important;
		border-radius: 10px !important;
	}

	body.single-product .wc-block-add-to-cart-form form.cart .quantity input.qty,
	body.single-product .wc-block-add-to-cart-form form.cart .quantity .vs-product-quantity__button {
		height: 46px !important;
	}

	body.single-product .wc-block-add-to-cart-form form.cart .quantity .vs-product-quantity__button {
		width: 30px !important;
		min-width: 30px !important;
		max-width: 30px !important;
		font-size: 18px !important;
	}

	body.single-product .single_add_to_cart_button {
		height: 48px !important;
		min-height: 48px !important;
		padding: 9px 6px !important;
		border-radius: 10px !important;
		font-size: 11.5px !important;
		letter-spacing: -.015em !important;
	}

	body.single-product .btrust {
		margin-top: 20px !important;
	}

	body.single-product .btrust-grid {
		gap: 5px !important;
	}

	body.single-product .btrust-card {
		min-height: 50px !important;
		padding: 7px 3px !important;
		gap: 4px !important;
	}

	body.single-product .btrust-card svg {
		width: 16px !important;
		height: 16px !important;
	}

	body.single-product .btrust-card span,
	body.single-product .btrust-paylabel {
		font-size: 8.5px !important;
		line-height: 1.15 !important;
	}

	body.single-product .btrust-paybar {
		padding: 8px !important;
		gap: 6px !important;
	}

	body.single-product .btrust-logos {
		gap: 4px !important;
	}

	body.single-product .btrust-logos .bt-lrow {
		gap: 4px !important;
	}

	/* Product testimonials and related product area. */
	.vsce-product-testimonials {
		width: calc(100% - 20px) !important;
		margin-top: 32px !important;
		margin-bottom: 30px !important;
	}

	.vsce-product-testimonials__header {
		margin-bottom: 14px !important;
		gap: 10px !important;
	}

	.vsce-product-testimonials__eyebrow {
		font-size: 9px !important;
	}

	.vsce-product-testimonials h2 {
		font-size: 18px !important;
	}

	.vsce-product-testimonials__summary > strong {
		font-size: 25px !important;
	}

	.vsce-product-testimonials__grid {
		gap: 8px !important;
	}

	.vsce-product-testimonial {
		padding: 12px !important;
		border-radius: 10px !important;
	}

	.vsce-product-testimonial.has-media {
		grid-template-columns: 54px minmax(0, 1fr) !important;
		column-gap: 9px !important;
	}

	.vsce-product-testimonial__media {
		width: 54px !important;
	}

	.vsce-product-testimonial__stars {
		margin-bottom: 4px !important;
		font-size: 12px !important;
	}

	.vsce-product-testimonial h3 {
		font-size: 13px !important;
	}

	.vsce-product-testimonial blockquote {
		margin: 10px 0 11px !important;
		font-size: 12px !important;
		line-height: 1.45 !important;
	}

	.vsce-product-testimonials__more {
		margin-top: 14px !important;
	}

	.vsce-product-testimonials__toggle {
		min-height: 42px !important;
		padding: 9px 12px !important;
		font-size: 12px !important;
	}

	body.single-product .wp-block-woocommerce-product-collection.alignwide {
		width: calc(100% - 20px) !important;
		margin-inline: auto !important;
	}

	body.single-product .wp-block-woocommerce-product-collection > h2.wp-block-heading {
		margin-bottom: 16px !important;
		font-size: 22px !important;
	}

	/* Blog archive and editorial articles. */
	body.blog:not(.wp-theme-astra) main.wp-block-group {
		width: calc(100% - 20px) !important;
		padding-block: 24px 48px !important;
	}

	body.blog:not(.wp-theme-astra) .vs-block-blog-hero {
		margin-bottom: 18px !important;
		padding-bottom: 18px !important;
	}

	body.blog:not(.wp-theme-astra) .vs-block-blog-hero__title {
		font-size: 30px !important;
	}

	body.blog:not(.wp-theme-astra) .vs-block-blog-hero__intro {
		font-size: 13.5px !important;
		line-height: 1.55 !important;
	}

	body.blog:not(.wp-theme-astra) .vs-block-blog-hero__categories {
		gap: 6px !important;
	}

	body.blog:not(.wp-theme-astra) .vs-block-blog-hero__categories a {
		min-height: 32px !important;
		padding: 6px 9px !important;
		font-size: 10.5px !important;
	}

	body.blog:not(.wp-theme-astra) .vs-block-blog-feed-title {
		font-size: 24px !important;
	}

	body.blog:not(.wp-theme-astra) .wp-block-query li.wp-block-post > .wp-block-group {
		padding: 15px !important;
	}

	body.blog:not(.wp-theme-astra) .wp-block-query li.wp-block-post h2.wp-block-post-title {
		margin-bottom: 10px !important;
		font-size: 17px !important;
	}

	body.blog:not(.wp-theme-astra) .wp-block-query li.wp-block-post .vs-blog-card__excerpt > p {
		margin-bottom: 14px !important;
		font-size: 12.5px !important;
	}

	body.vsce-editorial-post:not(.wp-theme-astra) main.wp-block-group {
		padding: 0 10px 48px !important;
	}

	body.vsce-editorial-post:not(.wp-theme-astra) main.wp-block-group > .wp-block-group.alignfull {
		padding-top: 22px !important;
	}

	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-hero {
		margin-bottom: 28px !important;
		padding-bottom: 18px !important;
	}

	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-title {
		font-size: 28px !important;
		line-height: 1.1 !important;
	}

	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-lead {
		font-size: 14px !important;
	}

	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content .entry-content,
	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content .entry-content > p:first-child {
		font-size: 15px !important;
		line-height: 1.68 !important;
	}

	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content h2 {
		font-size: 23px !important;
	}

	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-content blockquote,
	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-article-notice {
		padding: 14px !important;
	}

	/* Contact page. Inputs stay at 16px to avoid iOS focus zoom. */
	#cia-contact .page-hero {
		padding: 42px 12px 46px !important;
	}

	#cia-contact .page-hero h1 {
		font-size: 2rem !important;
	}

	#cia-contact .page-hero p {
		font-size: .88rem !important;
	}

	#cia-contact .contact-section {
		padding: 36px 10px !important;
	}

	#cia-contact .inner {
		padding-inline: 10px !important;
	}

	#cia-contact .contact-grid {
		gap: 24px !important;
	}

	#cia-contact .contact-info h2 {
		font-size: 1.55rem !important;
	}

	#cia-contact .contact-info > p,
	#cia-contact .info-text span,
	#cia-contact .form-note {
		font-size: .8rem !important;
	}

	#cia-contact .contact-form {
		padding: 20px 14px !important;
	}

	#cia-contact .contact-form h3 {
		font-size: 1.25rem !important;
	}

	#cia-contact .form-group input,
	#cia-contact .form-group select,
	#cia-contact .form-group textarea {
		padding: 11px 12px !important;
		font-size: 16px !important;
	}

	#cia-contact .form-group textarea {
		min-height: 110px !important;
	}

	#cia-contact .btn-submit {
		min-height: 44px !important;
		padding: 11px !important;
		font-size: .9rem !important;
	}

	#cia-contact .response-banner {
		padding: 22px 12px !important;
	}

	#cia-contact .response-banner p {
		font-size: .8rem !important;
		line-height: 1.5 !important;
	}

	/* Checkout: compact cards without reducing form controls below 16px. */
	body.woocommerce-checkout main.wp-block-group.has-global-padding {
		padding-inline: 6px !important;
	}

	body.woocommerce-checkout .entry-content.wp-block-post-content {
		width: calc(100% - 8px) !important;
	}

	body.woocommerce-checkout form.checkout,
	body.woocommerce-checkout .vs-checkout-column--details,
	body.woocommerce-checkout .vs-checkout-column--summary {
		gap: 12px !important;
	}

	body.woocommerce-checkout .vs-checkout-column--summary.vs-checkout-summary-group {
		padding: 7px !important;
		gap: 7px !important;
		border-radius: 13px !important;
	}

	body.woocommerce-checkout .vs-checkout-order-section,
	body.woocommerce-checkout .vs-checkout-upsell-section {
		padding: 10px !important;
	}

	body.woocommerce-checkout .vs-checkout-order-section {
		--vs-order-section-padding: 10px;
		--vs-order-section-bleed: 20px;
		--vs-order-section-offset: -10px;
	}

	body.woocommerce-checkout #order_review_heading .vs-summary-toggle {
		grid-template-columns: minmax(0, 1fr) auto 28px !important;
		width: calc(100% + 20px) !important;
		min-height: 52px !important;
		margin-inline: -10px !important;
		padding: 10px !important;
		gap: 5px !important;
		border-radius: 10px !important;
	}

	body.woocommerce-checkout .vs-summary-toggle-label {
		font-size: 11px !important;
	}

	body.woocommerce-checkout .vs-summary-toggle-count {
		font-size: 9.5px !important;
	}

	body.woocommerce-checkout .vs-summary-toggle-total {
		font-size: 11px !important;
	}

	body.woocommerce-checkout .vs-summary-toggle-icon {
		width: 28px !important;
		height: 28px !important;
	}

	body.woocommerce-checkout .vs-checkout-summary-group #order_review tbody .product-name {
		padding-top: 14px !important;
	}

	body.woocommerce-checkout .vs-checkout-summary-group .vs-checkout-product {
		--vs-checkout-product-image-size: 52px;
		column-gap: 8px !important;
	}

	body.woocommerce-checkout .vs-checkout-summary-group .vs-checkout-product-media {
		border-radius: 9px !important;
	}

	body.woocommerce-checkout .vs-checkout-summary-group .vs-checkout-product-copy {
		column-gap: 6px !important;
		row-gap: 5px !important;
	}

	body.woocommerce-checkout .vs-checkout-summary-group .vs-checkout-product-title,
	body.woocommerce-checkout .vs-checkout-summary-group .vs-checkout-product-line-price {
		font-size: 11px !important;
		line-height: 1.3 !important;
	}

	body.woocommerce-checkout .vs-checkout-summary-group .vs-checkout-line-actions {
		gap: 5px !important;
	}

	body.woocommerce-checkout .vs-checkout-summary-group .vs-checkout-quantity {
		height: 34px !important;
	}

	body.woocommerce-checkout .vs-checkout-summary-group .vs-checkout-quantity__button {
		width: 29px !important;
		min-width: 29px !important;
	}

	body.woocommerce-checkout .vs-checkout-summary-group .vs-checkout-remove-item {
		width: 34px !important;
		min-width: 34px !important;
		height: 34px !important;
	}

	body.woocommerce-checkout .vs-checkout-summary-group .vs-checkout-total-row {
		gap: 6px !important;
	}

	body.woocommerce-checkout .vs-checkout-summary-group .vs-checkout-total-row__label,
	body.woocommerce-checkout .vs-checkout-summary-group .vs-checkout-total-row__value {
		padding-block: 12px !important;
		font-size: 11.5px !important;
	}

	body.woocommerce-checkout .vs-checkout-summary-group .vs-checkout-total-row.order-total .vs-checkout-total-row__label,
	body.woocommerce-checkout .vs-checkout-summary-group .vs-checkout-total-row.order-total .vs-checkout-total-row__value {
		padding-top: 14px !important;
		font-size: 14px !important;
	}

	body.woocommerce-checkout #customer_details {
		padding: 15px 11px !important;
		border-radius: 12px !important;
	}

	body.woocommerce-checkout .woocommerce-billing-fields > h3,
	body.woocommerce-checkout .woocommerce-additional-fields > h3 {
		margin-bottom: 17px !important;
		font-size: 18px !important;
	}

	body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
	body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
		gap: 12px !important;
	}

	body.woocommerce-checkout .form-row label {
		font-size: 12px !important;
	}

	body.woocommerce-checkout .input-text,
	body.woocommerce-checkout select,
	body.woocommerce-checkout .select2-container .select2-selection--single,
	body.woocommerce-checkout .woocommerce-input-wrapper > strong {
		min-height: 50px !important;
		padding: 12px !important;
		font-size: 16px !important;
	}

	body.woocommerce-checkout #billing_country_field .select2-selection--single,
	body.woocommerce-checkout #shipping_country_field .select2-selection--single,
	body.woocommerce-checkout #billing_state_field .select2-selection--single,
	body.woocommerce-checkout #shipping_state_field .select2-selection--single {
		height: 50px !important;
		padding: 0 48px 0 12px !important;
	}

	body.woocommerce-checkout #billing_country_field.woocommerce-validated .select2-selection--single,
	body.woocommerce-checkout #shipping_country_field.woocommerce-validated .select2-selection--single,
	body.woocommerce-checkout #billing_state_field.woocommerce-validated .select2-selection--single,
	body.woocommerce-checkout #shipping_state_field.woocommerce-validated .select2-selection--single {
		padding-right: 76px !important;
	}

	body.woocommerce-checkout .vs-checkout-vip .cia-bump-inner {
		gap: 7px !important;
	}

	body.woocommerce-checkout .vs-checkout-vip .cia-bump-img {
		width: 38px !important;
		height: 38px !important;
	}

	body.woocommerce-checkout .vs-checkout-vip .cia-bump-text {
		gap: 6px !important;
	}

	body.woocommerce-checkout .vs-checkout-vip .cia-bump-name,
	body.woocommerce-checkout .vs-checkout-vip .cia-bump-price {
		font-size: 11.5px !important;
	}

	body.woocommerce-checkout .vs-checkout-payment-section {
		padding: 14px !important;
		border-radius: 13px !important;
	}

	body.woocommerce-checkout .vs-checkout-payment-card {
		padding: 17px 14px !important;
		border-radius: 12px !important;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) .vs-checkout-summary-actions #place_order {
		right: max(8px, env(safe-area-inset-right)) !important;
		bottom: max(8px, env(safe-area-inset-bottom)) !important;
		left: max(8px, env(safe-area-inset-left)) !important;
		min-height: 50px !important;
		padding-inline: 12px !important;
		border-radius: 11px !important;
		font-size: 15px !important;
	}

	/* Native WooCommerce cart drawer at 320px. */
	.vsce-cart-drawer__header {
		min-height: 58px !important;
		padding-top: 6px !important;
	}

	.wc-block-mini-cart__drawer h2.wc-block-mini-cart__title {
		height: 58px !important;
		min-height: 58px !important;
		padding: 0 80px 0 8px !important;
		align-items: center !important;
		font-size: 13px !important;
	}

	.wc-block-mini-cart__drawer .wc-block-components-drawer__close {
		top: var(--vsce-mini-cart-close-center, 29px) !important;
		right: 7px !important;
		width: 70px !important;
		max-width: 70px !important;
		height: 30px !important;
		font-size: 10px !important;
		transform: translateY(-50%) !important;
	}

	.wc-block-mini-cart__drawer .vs-mini-cart-close-label::after {
		content: 'Close' !important;
		font-size: 10px !important;
	}

	.wc-block-mini-cart__drawer .vs-mini-cart-shipping {
		padding: 6px 8px !important;
		font-size: 10px !important;
	}

	.wc-block-mini-cart__drawer .wc-block-mini-cart__items {
		padding: 6px !important;
	}

	.wc-block-mini-cart__drawer .wc-block-mini-cart__products-table .wc-block-cart-items__row {
		min-height: 68px !important;
		padding: 8px 0 !important;
		grid-template-columns: 52px minmax(0, 1fr) 66px !important;
		column-gap: 5px !important;
	}

	.wc-block-mini-cart__drawer .wc-block-cart-item__image,
	.wc-block-mini-cart__drawer .wc-block-cart-item__image img {
		width: 52px !important;
		height: 52px !important;
	}

	.wc-block-mini-cart__drawer .wc-block-components-product-name {
		height: 15px !important;
		font-size: 10.75px !important;
		line-height: 15px !important;
	}

	.wc-block-mini-cart__drawer .wc-block-cart-item__total {
		width: 66px !important;
		min-width: 66px !important;
		max-width: 66px !important;
	}

	.wc-block-mini-cart__drawer .wc-block-cart-item__total .wc-block-formatted-money-amount,
	.wc-block-mini-cart__drawer .wc-block-cart-item__total .wc-block-components-formatted-money-amount {
		font-size: 10.5px !important;
	}

	.wc-block-mini-cart__drawer .wc-block-components-quantity-selector {
		width: 82px !important;
		min-width: 82px !important;
		max-width: 82px !important;
		height: 30px !important;
		min-height: 30px !important;
		grid-template-columns: 26px 28px 26px !important;
		grid-template-rows: 28px !important;
	}

	.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__input {
		width: 28px !important;
		max-width: 28px !important;
		height: 28px !important;
		grid-column: 2 / 3 !important;
		font-size: 11px !important;
		line-height: 28px !important;
	}

	.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__button {
		width: 26px !important;
		min-width: 26px !important;
		max-width: 26px !important;
		height: 28px !important;
		min-height: 28px !important;
	}

	.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link {
		width: 27px !important;
		min-width: 27px !important;
		height: 27px !important;
		padding: 5px !important;
		flex-basis: 27px !important;
	}

	.wc-block-mini-cart__drawer .wc-block-mini-cart__footer {
		padding: 6px 8px max(7px, env(safe-area-inset-bottom)) !important;
	}

	.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-subtotal {
		font-size: 12px !important;
	}

	.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-subtotal .wc-block-components-totals-item__value {
		font-size: 12.5px !important;
	}

	.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-checkout,
	.wc-block-mini-cart__drawer .wc-block-mini-cart__shopping-button {
		min-height: 40px !important;
		font-size: 12.5px !important;
	}

	/* Both custom and block-template footers. */
	#cia-footer .footer-main,
	body.blog:not(.wp-theme-astra) .vs-block-site-footer,
	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer {
		padding: 34px 14px 26px !important;
	}

	#cia-footer .footer-inner,
	body.blog:not(.wp-theme-astra) .vs-block-site-footer__inner,
	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer__inner {
		gap: 24px !important;
		padding-bottom: 24px !important;
	}

	#cia-footer .footer-brand img {
		height: 38px !important;
		margin-bottom: 10px !important;
	}

	#cia-footer .footer-brand p,
	body.blog:not(.wp-theme-astra) .vs-block-site-footer__brand p,
	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer__brand p {
		font-size: 12px !important;
		line-height: 1.6 !important;
	}

	#cia-footer .footer-col h4 {
		margin-bottom: 12px !important;
	}

	#cia-footer .footer-col ul li {
		margin-bottom: 7px !important;
	}

	#cia-footer .footer-col ul li a,
	body.blog:not(.wp-theme-astra) .vs-block-site-footer a,
	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer a {
		font-size: 12.5px !important;
	}

	#cia-footer .footer-payments {
		padding: 22px 14px !important;
	}

	#cia-footer .payments-icons {
		gap: 8px !important;
	}

	#cia-footer .payments-icons img {
		height: 23px !important;
	}

	#cia-footer .footer-divider {
		padding-inline: 14px !important;
	}

	#cia-footer .footer-bottom,
	body.blog:not(.wp-theme-astra) .vs-block-site-footer__bottom,
	body.vsce-editorial-post:not(.wp-theme-astra) .vs-block-site-footer__bottom {
		padding: 15px 14px 22px !important;
		gap: 7px !important;
		font-size: 10.5px !important;
	}
}
