/**
 * Swigo FSE theme overrides — keep template CSS in control.
 */

/* Home color_5 palette — primary #EA5C2B */
:root,
html,
html[data-color="color_5"],
body,
body.swigo-theme,
body[data-color="color_5"] {
	--primary: #EA5C2B;
	--primary-hover: #bf4115;
	--primary-dark: #ad2c00;
	--rgba-primary-1: rgba(234, 92, 43, 0.1);
	--rgba-primary-2: rgba(234, 92, 43, 0.2);
	--rgba-primary-3: rgba(234, 92, 43, 0.3);
	--rgba-primary-4: rgba(234, 92, 43, 0.4);
	--rgba-primary-5: rgba(234, 92, 43, 0.5);
	--rgba-primary-05: rgba(234, 92, 43, 0.05);
	--rgba-primary-6: rgba(234, 92, 43, 0.6);
	--rgba-primary-7: rgba(234, 92, 43, 0.7);
	--rgba-primary-8: rgba(234, 92, 43, 0.8);
	--rgba-primary-9: rgba(234, 92, 43, 0.9);
	--theme-text-color: #fff;
	--secondary: #ebce5a;
	--bg-light: #fff6f3;
}

body.swigo-theme {
	background-attachment: fixed;
	background-size: cover;
}

/* Neutralize WordPress layout constraints that break the template. */
.swigo-front-page .page-content.has-global-padding,
.swigo-front-page .page-content .has-global-padding,
.swigo-front-page main.page-content {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.swigo-front-page .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.swigo-front-page .wp-block-group.alignfull,
.swigo-front-page .wp-block-html {
	max-width: none;
	width: 100%;
}

.swigo-front-page main > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

/* Template parts should not add extra wrappers that break floats. */
header.wp-block-template-part,
footer.wp-block-template-part,
.wp-block-template-part {
	display: contents;
}

/* Admin bar + sticky header. */
.admin-bar .site-header.mo-left .sticky-header.is-fixed {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar .site-header.mo-left .sticky-header.is-fixed {
		top: 46px;
	}
}

/* Cart dropdown / mobile sidebar. */
.site-header .extra-nav .extra-cell > ul > li {
	position: relative;
}

.site-header .extra-nav .cart-list {
	display: none;
	width: min(300px, calc(100% - 1.5rem));
	min-width: 0;
	max-width: min(400px, calc(100vw - 1.5rem));
	padding: 15px;
	position: absolute;
	right: 0 !important;
	left: auto;
	top: 100%;
	z-index: 99;
	background: #fff;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
	overflow-x: hidden;
	overflow-y: auto;
	max-height: min(70vh, 520px);
	box-sizing: border-box;
}

.site-header .extra-nav .cart-list.dropdown-menu {
	width: min(400px, calc(100vw - 1.5rem)) !important;
}

.swigo-cart-panel-head {
	display: none;
}

.swigo-cart-backdrop {
	position: fixed;
	inset: 0;
	z-index: 1040;
	background: rgba(21, 21, 21, 0.5);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.35s ease, visibility 0.35s ease;
}

.swigo-cart-backdrop.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

body.swigo-cart-open {
	overflow: hidden;
	touch-action: none;
}

@media only screen and (max-width: 991px) {
	html,
	body {
		max-width: 100%;
		overflow-x: hidden;
	}

	.page-wraper,
	.site-header,
	.site-header .main-bar,
	.site-header .extra-nav {
		max-width: 100%;
		/* overflow-x: clip; */
	}

	.swigo-cart-list,
	.swigo-cart-list.dropdown-menu,
	.site-header .extra-nav .cart-list,
	.site-header .extra-nav .cart-list.dropdown-menu {
		display: flex !important;
		flex-direction: column;
		position: fixed !important;
		top: 0;
		right: 0;
		left: auto;
		bottom: 0;
		width: min(360px, 88%) !important;
		max-width: min(360px, calc(100% - 2rem)) !important;
		height: 100%;
		max-height: 100dvh;
		margin: 0;
		padding: 0 0 20px;
		border: 0;
		border-radius: 0;
		z-index: 1055;
		transform: translate3d(100%, 0, 0);
		visibility: hidden;
		pointer-events: none;
		transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.35s;
		box-shadow: -12px 0 40px rgba(0, 0, 0, 0.18);
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		box-sizing: border-box;
	}

	.swigo-cart-list.is-open,
	.site-header .extra-nav .cart-list.is-open {
		transform: translate3d(0, 0, 0);
		visibility: visible;
		pointer-events: auto;
		z-index: 9999999;
	}

	.swigo-cart-panel-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		flex: 0 0 auto;
		padding: 18px 18px 12px;
		margin: 0;
		border-bottom: 1px solid rgba(34, 34, 34, 0.08);
		position: sticky;
		top: 0;
		background: #fff;
		z-index: 2;
		width: 100%;
		box-sizing: border-box;
	}

	.swigo-cart-panel-head h6 {
		margin: 0;
		font-size: 18px;
		font-weight: 600;
	}

	.swigo-cart-close {
		width: 36px;
		height: 36px;
		border: 0;
		border-radius: 50%;
		background: #f3f3f3;
		color: var(--title);
		font-size: 22px;
		line-height: 1;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		flex-shrink: 0;
	}

	.swigo-cart-list > .cart-item,
	.swigo-cart-list > .swigo-cart-actions,
	.swigo-cart-list > .text-center,
	.site-header .extra-nav .cart-list > .cart-item,
	.site-header .extra-nav .cart-list > .swigo-cart-actions,
	.site-header .extra-nav .cart-list > .text-center {
		padding-left: 18px;
		padding-right: 18px;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.swigo-cart-list .media,
	.site-header .extra-nav .cart-list .media {
		min-width: 0;
		width: 100%;
	}

	.swigo-cart-list .media-body,
	.site-header .extra-nav .cart-list .media-body {
		min-width: 0;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.swigo-cart-list .dz-title,
	.swigo-cart-list .dz-title a,
	.site-header .extra-nav .cart-list .dz-title,
	.site-header .extra-nav .cart-list .dz-title a {
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.swigo-cart-list .swigo-cart-actions,
	.swigo-cart-list > .text-center.d-flex,
	.site-header .extra-nav .cart-list .swigo-cart-actions,
	.site-header .extra-nav .cart-list > .text-center.d-flex {
		flex-wrap: wrap;
		gap: 8px;
		margin-top: auto;
		padding-top: 12px;
	}
	
	.swigo-cart-list .swigo-cart-actions {
	    margin-top: 0 !important;
	}

	.swigo-cart-list .swigo-cart-actions .btn,
	.swigo-cart-list > .text-center .btn,
	.site-header .extra-nav .cart-list .swigo-cart-actions .btn,
	.site-header .extra-nav .cart-list > .text-center .btn {
		margin: 0 !important;
		max-width: 100%;
	}
}

@media only screen and (max-width: 420px) {
	.swigo-cart-list .media-left,
	.site-header .extra-nav .cart-list .media-left {
		width: 64px;
		height: 64px;
		min-width: 64px;
	}

	.swigo-cart-list .swigo-cart-actions,
	.site-header .extra-nav .cart-list .swigo-cart-actions {
		flex-direction: column;
	}

	.swigo-cart-list .swigo-cart-actions .btn,
	.site-header .extra-nav .cart-list .swigo-cart-actions .btn {
		width: 100%;
	}
}

/* Preloader: fit longer brand name. */
.loading-page-1 .load-text .text-load {
	font-size: clamp(28px, 5vw, 64px);
	line-height: 1.1;
	letter-spacing: 4px;
}

.loading-page-1 .load-text .text-load:before {
	line-height: 1.1;
}

.widget_working ul li p a {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.widget_working ul li p a:hover {
	opacity: 0.9;
}

/* Footer newsletter — Contact Form 7 (match template input-group). */
.site-footer .swigo-newsletter-form,
.site-footer .swigo-cf7-newsletter {
	width: 100%;
}

.site-footer .swigo-newsletter-form .wpcf7-form > p,
.site-footer .swigo-cf7-newsletter p {
	margin: 0;
	padding: 0;
}

.site-footer .swigo-newsletter-form .wpcf7-spinner {
	position: absolute;
	margin: 0;
	right: 130px;
	top: 50%;
	transform: translateY(-50%);
}

.site-footer .swigo-cf7-newsletter .input-group {
	position: relative;
	display: block;
	width: 100%;
	flex-wrap: nowrap;
}

.site-footer .swigo-cf7-newsletter .input-group > p {
	margin: 0;
	width: 100%;
}

.site-footer .swigo-cf7-newsletter .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.site-footer .swigo-cf7-newsletter input.wpcf7-form-control.wpcf7-email,
.site-footer .swigo-cf7-newsletter input.form-control {
	display: block;
	width: 100%;
	height: 55px;
	border: 0 !important;
	border-radius: 6px !important;
	padding: 10px 150px 10px 18px;
	background: #fff;
	line-height: 1.4;
	box-shadow: none;
}

.site-footer .swigo-cf7-newsletter .input-group-addon {
	position: absolute;
	right: 7px;
	top: 50%;
	z-index: 9;
	transform: translateY(-50%);
	display: block;
	margin: 0;
	padding: 0;
}

.site-footer .swigo-cf7-newsletter .input-group-addon p {
	margin: 0;
	line-height: 1;
}

.site-footer .swigo-cf7-newsletter .input-group-addon .wpcf7-submit,
.site-footer .swigo-cf7-newsletter .input-group-addon .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 42px;
	min-height: 42px;
	line-height: 1;
	border-radius: 6px !important;
	white-space: nowrap;
	padding: 0 20px;
	margin: 0;
	border: 0;
}

.site-footer .swigo-newsletter-form .wpcf7-not-valid-tip {
	color: #fff;
	margin: 8px 0 0;
	font-size: 13px;
}

.site-footer .swigo-newsletter-form .wpcf7-response-output {
	color: #fff;
	margin: 12px 0 0;
	padding: 8px 12px;
	border-color: rgba(255, 255, 255, 0.35);
}

@media only screen and (max-width: 575px) {
	.site-footer .swigo-cf7-newsletter input.wpcf7-form-control.wpcf7-email,
	.site-footer .swigo-cf7-newsletter input.form-control {
		padding-right: 70px;
	}

	.site-footer .swigo-cf7-newsletter .input-group-addon .wpcf7-submit,
	.site-footer .swigo-cf7-newsletter .input-group-addon .btn {
		padding: 0 14px;
		min-width: 48px;
	}
}

/* Contact Us — Contact Form 7. */
.contact-area .swigo-contact-form,
.contact-area .swigo-cf7-contact {
	width: 100%;
}

.contact-area .swigo-contact-form .wpcf7-form > p,
.contact-area .swigo-cf7-contact p {
	margin: 0;
	padding: 0;
}

.contact-area .swigo-cf7-contact .input-line {
	position: relative;
	display: block;
	width: 100%;
	align-items: unset;
}

.contact-area .swigo-cf7-contact .input-line .input-group-prepand {
	position: absolute;
	left: 0;
	top: 0;
	width: 35px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	line-height: 1;
	z-index: 2;
	pointer-events: none;
}

.contact-area .swigo-cf7-contact .input-line .input-group-prepand i {
	font-size: 24px;
	color: #fff;
	line-height: 1;
	display: block;
}

.contact-area .swigo-cf7-contact .input-line .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
	position: relative;
	z-index: 1;
}

.contact-area .swigo-cf7-contact .input-line .form-control,
.contact-area .swigo-cf7-contact .input-line input.wpcf7-form-control,
.contact-area .swigo-cf7-contact .input-line textarea.wpcf7-form-control {
	width: 100%;
	height: 48px !important;
	padding: 0 0 10px 40px !important;
	background: transparent;
	color: #fff;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	line-height: 24px;
	font-size: 18px;
	-webkit-text-fill-color: #fff !important;
}

.contact-area .swigo-cf7-contact .input-line input.wpcf7-form-control::placeholder,
.contact-area .swigo-cf7-contact .input-line textarea.wpcf7-form-control::placeholder {
	color: rgba(255, 255, 255, 0.75);
	-webkit-text-fill-color: rgba(255, 255, 255, 0.75) !important;
}

.contact-area .swigo-cf7-contact .swigo-cf7-message .input-group-prepand {
	height: auto;
	min-height: 48px;
	align-items: flex-start;
	padding-top: 4px;
}

.contact-area .swigo-cf7-contact .swigo-cf7-message textarea.wpcf7-form-control {
	min-height: 0 !important;
	height: auto !important;
	resize: vertical;
	padding-top: 8px !important;
	padding-bottom: 10px !important;
	line-height: 1.5;
}

.contact-area .swigo-cf7-contact .wpcf7-submit.btn {
	margin-top: 8px;
}

.contact-area .swigo-contact-form .wpcf7-not-valid-tip {
	color: #ffd7c8;
	font-size: 13px;
	margin-top: 6px;
	padding-left: 40px;
}

.contact-area .swigo-contact-form .wpcf7-response-output {
	color: #fff;
	margin: 0 0 18px;
	padding: 10px 14px;
	border-color: rgba(255, 255, 255, 0.35);
}

#home,
#featured,
#services,
#menu,
#contact,
#promotions {
	scroll-margin-top: 100px;
}

/* WooCommerce images inside template cards. */
.dz-img-box .dz-media img,
.dz-img-box .dz-media .wp-post-image,
.dz-img-box .dz-media a {
	width: 100%;
	display: block;
}

.dz-img-box .dz-media a img {
	width: 100%;
	height: auto;
}

/* Entire menu card opens quick view. */
.swigo-woo-menu .dz-img-box.style-7.swigo-quick-view {
	cursor: pointer;
}

.swigo-woo-menu .dz-img-box.style-7.swigo-quick-view:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: 3px;
}

.swigo-woo-menu .woocommerce-info {
	margin: 20px 0;
}

/* Booking form. */
.swigo-booking-form .form-control,
.swigo-booking-form .form-select {
	min-height: 50px;
}

/* Ensure logo markup from WP still fits template logo box. */
.logo-header .anim-logo img,
.logo-header img.custom-logo {
	max-width: 80px;
	height: auto;
}

/* Primary nav links from wp_nav_menu. */
.header-nav .nav > li > a {
	text-decoration: none;
}

.swigo-store-closed-notice {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
}

.header-nav .nav > li.swigo-menu-store-closed {
	display: flex;
	align-items: center;
	padding-left: 8px;
}

.swigo-store-closed-notice .swigo-store-closed-label {
	color: var(--primary);
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
}

.swigo-store-closed-notice .swigo-store-closed-countdown {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: #fff;
	font-size: 13px;
	line-height: 1.1;
	font-weight: 700;
}

.swigo-store-closed-notice .swigo-store-closed-countdown .swigo-time-value {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	padding: 6px 8px;
	border-radius: 6px;
	letter-spacing: 0.01em;
}

.swigo-store-closed-notice .swigo-store-closed-countdown .swigo-time-value--h,
.swigo-store-closed-notice .swigo-store-closed-countdown .swigo-time-value--m,
.swigo-store-closed-notice .swigo-store-closed-countdown .swigo-time-value--s {
	background: #d9d9d9;
	color: #2a2a2a;
}

.swigo-store-closed-notice .swigo-store-closed-countdown .swigo-time-sep {
	color: #2a2a2a;
	font-weight: 700;
	opacity: 0.95;
}

.swigo-store-closed-notice--mobile {
	display: none;
}

@media only screen and (max-width: 991px) {
	.swigo-store-closed-notice--desktop,
	.header-nav .nav > li.swigo-menu-store-closed {
		display: none !important;
	}

	.swigo-store-closed-notice--mobile {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1060;
		display: flex;
		justify-content: center;
		gap: 10px;
		padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
		background: #fff;
		box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.2);
	}

	.swigo-store-closed-notice--mobile .swigo-store-closed-countdown .swigo-time-value {
		min-width: 44px;
		padding: 6px 7px;
		font-size: 12px;
	}
}

/* Product quick view modal — align with template product-detail layout. */
#menuDetailModal .modal-content {
	position: relative;
	border: 0;
	overflow: hidden;
}

#menuDetailModal .btn-close {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 5;
	background-color: #fff;
	opacity: 1;
	border-radius: 50%;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

#menuDetailModal .modal-body.product-detail {
	display: flex;
	padding: 6px;
}

#menuDetailModal .detail-media {
	width: 365px;
	min-width: 365px;
	border-radius: 10px;
	overflow: hidden;
}

#menuDetailModal .detail-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

#menuDetailModal .detail-info {
	position: relative;
	padding: 25px 20px 25px 35px;
	flex: 1;
	min-width: 0;
}

#menuDetailModal .swigo-qv-actions {
	display: flex;
	width: 100%;
	margin: 0;
}

#menuDetailModal .swigo-qv-actions li {
	width: 100%;
	margin: 0;
	flex: 1;
}

#menuDetailModal .swigo-qv-actions .btn {
	width: 100%;
}

#menuDetailModal .swigo-qv-store-timer {
	width: 100%;
	text-align: center;
}

#menuDetailModal .swigo-qv-store-timer #store_is_going_to_open_soon_remaining_time {
	display: inline-block;
}

#menuDetailModal .swigo-qv-variations {
	margin: 0 0 22px;
}

#menuDetailModal .swigo-qv-attr + .swigo-qv-attr {
	margin-top: 16px;
}

#menuDetailModal .swigo-qv-attr-label {
	display: block;
	font-weight: 500;
	font-size: 15px;
	line-height: 22px;
	margin-bottom: 10px;
	color: var(--title);
}

#menuDetailModal .swigo-qv-radio-group {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

#menuDetailModal .swigo-qv-radio-btn {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	min-width: 88px;
	padding: 10px 16px;
	margin: 0;
	border: 1px solid rgba(34, 34, 34, 0.12);
	border-radius: 10px;
	background: #fff;
	color: var(--title);
	font-weight: 500;
	font-size: 14px;
	line-height: 1.3;
	cursor: pointer;
	transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

#menuDetailModal .swigo-qv-radio-price {
	display: block;
	margin-top: 4px;
	font-size: 13px;
	font-weight: 600;
	color: var(--primary);
}

#menuDetailModal .btn-check:checked + .swigo-qv-radio-btn,
#menuDetailModal .swigo-qv-radio-btn:hover {
	border-color: var(--primary);
	background: var(--rgba-primary-05);
	color: var(--primary);
	box-shadow: 0 0 0 1px var(--primary);
}

#menuDetailModal .btn-check:focus-visible + .swigo-qv-radio-btn {
	outline: 2px solid var(--primary);
	outline-offset: 2px;
}

#menuDetailModal .add-product .dz-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 6px;
}

@media only screen and (max-width: 991px) {
	#menuDetailModal .modal-body.product-detail {
		display: block;
	}

	#menuDetailModal .detail-media {
		width: 100%;
		min-width: 100%;
	}

	#menuDetailModal .detail-media img {
		height: 400px;
	}

	#menuDetailModal .detail-info {
		padding: 15px;
	}
}

@media only screen and (max-width: 575px) {
	#menuDetailModal .detail-media img {
		height: 280px;
	}

	#menuDetailModal .swigo-qv-radio-btn {
		min-width: calc(50% - 5px);
	}
}

/* -------------------------------------------------------------------------
   WooCommerce pages (account, checkout, order received / view order)
--------------------------------------------------------------------------- */
body.woocommerce-page .page-content.swigo-woo-page,
body.woocommerce-account .page-content,
body.woocommerce-checkout .page-content,
body.woocommerce-order-received .page-content,
body.woocommerce-cart .page-content,
body.single-product .page-content.swigo-single-product {
	width: 100%;
	max-width: none !important;
	background: #fff;
}

body.woocommerce-page .page-content.swigo-woo-page > .alignwide,
body.woocommerce-page .page-content.swigo-woo-page > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.woocommerce-order-received .swigo-order-confirmation > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.woocommerce-account .page-content > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.woocommerce-account .entry-content,
body.woocommerce-account .entry-content > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.woocommerce-order-received .swigo-order-confirmation .alignwide,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .entry-content > *,
body.single-product .swigo-single-product > .alignwide,
body.single-product .swigo-single-product > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: 1140px !important;
	width: 100%;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 15px;
	padding-right: 15px;
	box-sizing: border-box;
}
body.woocommerce-page .page-content .title.wp-block-post-title,
body.woocommerce-account .page-content .title.wp-block-post-title {
	margin-bottom: 1.5rem;
	font-size: clamp(1.75rem, 3vw, 2.5rem);
}

/* -------------------------------------------------------------------------
   Inner page banner (checkout / cart / single product) — under transparent header
--------------------------------------------------------------------------- */
body.woocommerce-checkout .swigo-checkout-page,
body.woocommerce-cart .swigo-cart-template,
body.single-product .swigo-single-product {
	padding-top: 0 !important;
}

body.woocommerce-checkout .swigo-checkout-page > .dz-bnr-inr,
body.woocommerce-checkout .swigo-checkout-page .dz-bnr-inr,
body.woocommerce-cart .swigo-cart-template > .dz-bnr-inr,
body.woocommerce-cart .swigo-cart-template .dz-bnr-inr,
body.single-product .swigo-single-product > .dz-bnr-inr,
body.single-product .swigo-single-product .dz-bnr-inr {
	max-width: none !important;
	width: 100%;
	margin: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* FSE wraps site-header in template-part — original sibling selector no longer matches */
header.wp-block-template-part:has(.header-transparent) ~ .page-content .dz-bnr-inr.style-1,
.wp-block-template-part:has(.header-transparent) + .page-content .dz-bnr-inr.style-1,
body.woocommerce-checkout .dz-bnr-inr.style-1,
body.woocommerce-cart .dz-bnr-inr.style-1,
body.single-product .dz-bnr-inr.style-1 {
	padding-top: 50px;
}

@media only screen and (max-width: 991px) {
	header.wp-block-template-part:has(.header-transparent) ~ .page-content .dz-bnr-inr.style-1,
	.wp-block-template-part:has(.header-transparent) + .page-content .dz-bnr-inr.style-1,
	body.woocommerce-checkout .dz-bnr-inr.style-1,
	body.woocommerce-cart .dz-bnr-inr.style-1,
	body.single-product .dz-bnr-inr.style-1 {
		padding-top: 30px;
	}
}

/* White nav over dark banner until sticky header engages */
body.woocommerce-checkout .site-header .main-bar-wraper:not(.is-fixed) .header-nav .nav > li > a,
body.woocommerce-cart .site-header .main-bar-wraper:not(.is-fixed) .header-nav .nav > li > a,
body.single-product .site-header .main-bar-wraper:not(.is-fixed) .header-nav .nav > li > a {
	color: #fff;
}

body.woocommerce-checkout .site-header .main-bar-wraper:not(.is-fixed) .header-nav .nav > li > a:hover,
body.woocommerce-checkout .site-header .main-bar-wraper:not(.is-fixed) .header-nav .nav > li.active > a,
body.woocommerce-cart .site-header .main-bar-wraper:not(.is-fixed) .header-nav .nav > li > a:hover,
body.woocommerce-cart .site-header .main-bar-wraper:not(.is-fixed) .header-nav .nav > li.active > a,
body.single-product .site-header .main-bar-wraper:not(.is-fixed) .header-nav .nav > li > a:hover,
body.single-product .site-header .main-bar-wraper:not(.is-fixed) .header-nav .nav > li.active > a {
	color: var(--secondary);
}

body.woocommerce-checkout .swigo-checkout-page > .content-inner,
body.single-product .swigo-single-product > .content-inner-1 {
	max-width: none !important;
	width: 100%;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.woocommerce-cart .swigo-cart-template .swigo-cart-page.content-inner-1 {
	max-width: none !important;
	width: 100%;
}

body.woocommerce-checkout .swigo-checkout-page .content-inner > .alignwide,
body.woocommerce-checkout .swigo-checkout-page .content-inner .wp-block-post-content,
body.woocommerce-checkout .swigo-checkout-page .content-inner .wp-block-woocommerce-checkout,
body.single-product .swigo-single-product .content-inner-1 > .alignwide,
body.single-product .swigo-single-product .content-inner-1 > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: 1140px !important;
	width: 100%;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 15px;
	padding-right: 15px;
	box-sizing: border-box;
}

/* Undo Bootstrap grid conflict with WooCommerce .col-1 / .col-2 login columns. */
.woocommerce .col2-set,
.woocommerce-page .col2-set,
.woocommerce .u-columns,
.woocommerce-page .u-columns {
	display: flex !important;
	flex-wrap: wrap;
	gap: 30px;
	width: 100%;
	float: none !important;
}

.woocommerce .col2-set::before,
.woocommerce .col2-set::after,
.woocommerce .u-columns::before,
.woocommerce .u-columns::after {
	display: none !important;
	content: none !important;
}

.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-1,
.woocommerce-page .col2-set .col-2,
.woocommerce .u-column1.col-1,
.woocommerce .u-column2.col-2,
.woocommerce-page .u-column1.col-1,
.woocommerce-page .u-column2.col-2 {
	float: none !important;
	width: calc(50% - 15px) !important;
	max-width: calc(50% - 15px) !important;
	flex: 1 1 calc(50% - 15px) !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin: 0 !important;
}

@media only screen and (max-width: 767px) {
	.woocommerce .col2-set .col-1,
	.woocommerce .col2-set .col-2,
	.woocommerce-page .col2-set .col-1,
	.woocommerce-page .col2-set .col-2,
	.woocommerce .u-column1.col-1,
	.woocommerce .u-column2.col-2 {
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 100% !important;
	}
}

/* My Account: sidebar + content. */
.woocommerce-account .woocommerce {
	display: flex;
	flex-wrap: wrap;
	gap: 36px;
	align-items: flex-start;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none !important;
	width: 260px;
	max-width: 100%;
	flex: 0 0 260px;
	margin: 0;
	padding: 10px;
	background: #fff6f3;
	border-radius: 12px;
	overflow: visible;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
	border: 0;
	border-radius: 8px;
	overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
	border-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 14px 18px;
	color: #222;
	font-weight: 500;
	text-decoration: none;
	border-radius: 8px;
	transition: background 0.2s ease, color 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
	background: var(--primary);
	color: #fff;
}

.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important;
	width: 100%;
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
	padding: 8px 0 0;
}

@media only screen and (max-width: 767px) {
	.woocommerce-account .woocommerce {
		flex-direction: column;
		gap: 24px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		width: 100%;
		flex: 1 1 100%;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 8px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li {
		flex: 1 1 calc(50% - 8px);
	}

	.woocommerce-account .woocommerce-MyAccount-navigation a {
		text-align: center;
		padding: 12px 10px;
		font-size: 14px;
	}
}

/* Account details form. */
.woocommerce-account .woocommerce-EditAccountForm {
	max-width: 720px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px 20px;
}

.woocommerce-account .woocommerce-EditAccountForm .form-row-wide,
.woocommerce-account .woocommerce-EditAccountForm .form-row-first,
.woocommerce-account .woocommerce-EditAccountForm .form-row-last,
.woocommerce-account .woocommerce-EditAccountForm fieldset,
.woocommerce-account .woocommerce-EditAccountForm > p,
.woocommerce-account .woocommerce-EditAccountForm .clear {
	grid-column: 1 / -1;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.woocommerce-account .woocommerce-EditAccountForm .form-row-first {
	grid-column: 1;
}

.woocommerce-account .woocommerce-EditAccountForm .form-row-last {
	grid-column: 2;
}

.woocommerce-account .woocommerce-EditAccountForm .clear {
	display: none;
}

.woocommerce-account .woocommerce-EditAccountForm label {
	display: block;
	margin-bottom: 8px;
	font-weight: 600;
	color: #222;
	font-size: 14px;
}

.woocommerce-account .woocommerce-EditAccountForm fieldset {
	margin-top: 8px !important;
	padding: 22px 22px 8px;
	border: 1px solid #eee;
	border-radius: 12px;
	background: #fafafa;
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}

.woocommerce-account .woocommerce-EditAccountForm fieldset legend {
	float: none;
	width: auto;
	padding: 0 8px;
	margin-left: 8px;
	font-size: 15px;
	font-weight: 700;
	color: var(--primary);
}

.woocommerce-account .woocommerce-EditAccountForm #account_display_name_description {
	display: block;
	margin-top: 6px;
	font-size: 13px;
	color: #777;
	line-height: 1.45;
}

.woocommerce-account .woocommerce-EditAccountForm .woocommerce-Button {
	margin-top: 8px;
	min-width: 180px;
}

@media only screen and (max-width: 575px) {
	.woocommerce-account .woocommerce-EditAccountForm {
		grid-template-columns: 1fr;
	}

	.woocommerce-account .woocommerce-EditAccountForm .form-row-first,
	.woocommerce-account .woocommerce-EditAccountForm .form-row-last {
		grid-column: 1 / -1;
	}
}

/* Addresses. */
.woocommerce-account .woocommerce-Addresses,
.woocommerce-account .woocommerce-Address {
	float: none !important;
}

.woocommerce-account .woocommerce-Addresses.col2-set,
.woocommerce-account .u-columns.woocommerce-Addresses {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	width: 100%;
}

.woocommerce-account .woocommerce-Address {
	width: 100% !important;
	max-width: 100% !important;
	flex: none !important;
	margin: 0 !important;
	padding: 24px !important;
	background: #fff;
	border: 1px solid #eee;
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
}

.woocommerce-account .woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid #f0f0f0;
}

.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3 {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 700;
	color: #222;
}

.woocommerce-account .woocommerce-Address-title .edit {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	border-radius: 6px;
	background: var(--rgba-primary-1);
	color: var(--primary);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.woocommerce-account .woocommerce-Address-title .edit:hover {
	background: var(--primary);
	color: #fff;
}

.woocommerce-account .woocommerce-Address address {
	margin: 0;
	font-style: normal;
	line-height: 1.7;
	color: #555;
}

.woocommerce-account .woocommerce-address-fields,
.woocommerce-account form.woocommerce-address-fields {
	max-width: 720px;
}

.woocommerce-account .woocommerce-address-fields .form-row {
	margin-bottom: 16px !important;
}

@media only screen and (max-width: 767px) {
	.woocommerce-account .woocommerce-Addresses.col2-set,
	.woocommerce-account .u-columns.woocommerce-Addresses {
		grid-template-columns: 1fr;
	}
}
/* Forms on account / login. */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select {
	width: 100%;
	max-width: 100%;
	height: 48px;
	padding: 10px 14px;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	background: #fff;
	box-shadow: none;
}

.woocommerce form .form-row textarea {
	height: auto;
	min-height: 100px;
}

.woocommerce form .form-row label {
	font-weight: 500;
	margin-bottom: 6px;
	display: inline-block;
}

.woocommerce-Button.button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 22px;
	border: 0;
	border-radius: 6px;
	background: var(--primary) !important;
	color: #fff !important;
	font-weight: 600;
	text-decoration: none;
	line-height: 1.3;
	cursor: pointer;
}

.woocommerce-Button.button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover {
	background: var(--primary-hover) !important;
	color: #fff !important;
}

/* Order details / view-order / thank-you tables. */
.woocommerce-order-details,
.woocommerce-customer-details,
.woocommerce-order-overview,
.wc-block-order-confirmation-status,
.wc-block-order-confirmation-summary,
.wc-block-order-confirmation-totals-wrapper,
.wc-block-order-confirmation-address-wrapper {
	margin-bottom: 2rem;
}

.woocommerce table.shop_table,
.woocommerce-page table.shop_table,
.wc-block-order-confirmation-totals__table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #eee;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.woocommerce-page table.shop_table th,
.woocommerce-page table.shop_table td,
.wc-block-order-confirmation-totals__table th,
.wc-block-order-confirmation-totals__table td {
	padding: 14px 16px;
	border: 1px solid #eee;
	text-align: left;
	vertical-align: middle;
}

.woocommerce table.shop_table thead th,
.wc-block-order-confirmation-totals__table thead th {
	background: #fff6f3;
	font-weight: 600;
	color: #222;
}

.woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
}

.woocommerce-order-overview li {
	flex: 1 1 160px;
	margin: 0;
	padding: 16px 18px;
	background: #fff6f3;
	border-radius: 10px;
	list-style: none;
}

.woocommerce-order-overview li strong {
	display: block;
	margin-top: 4px;
	color: #222;
}

.woocommerce-customer-details .woocommerce-columns,
.woocommerce-columns--addresses {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

.woocommerce-customer-details .woocommerce-column,
.woocommerce-columns--addresses .woocommerce-column {
	flex: 1 1 260px;
	margin: 0;
	padding: 20px;
	background: #fafafa;
	border-radius: 10px;
	border: 1px solid #eee;
}

.woocommerce mark,
.woocommerce-order-details mark {
	background: transparent;
	color: var(--primary);
	font-weight: 700;
}

/* Block order confirmation. */
.swigo-order-confirmation .wc-block-order-confirmation-status {
	margin-bottom: 0.75rem;
}

.swigo-order-confirmation .wc-block-order-confirmation-status p {
	font-size: clamp(1.35rem, 2.5vw, 1.85rem);
	font-weight: 700;
	color: #222;
	margin: 0 0 0.5rem;
}

.swigo-order-confirmation .wc-block-order-confirmation-status-description {
	margin-bottom: 1.5rem;
}

.swigo-order-confirmation .wc-block-order-confirmation-summary {
	margin: 0 0 1.75rem;
	padding: 0;
}

.swigo-order-confirmation .wc-block-order-confirmation-summary-list,
.swigo-order-confirmation .wc-block-order-confirmation-summary ul {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
	flex-direction: unset;
	justify-content: unset;
}

.swigo-order-confirmation .wc-block-order-confirmation-summary-list-item,
.swigo-order-confirmation .wc-block-order-confirmation-summary li {
	margin: 0;
	padding: 14px 16px;
	background: #fff6f3;
	border-radius: 10px;
	min-width: 0;
	width: auto !important;
	box-sizing: border-box;
}

.swigo-order-confirmation .wc-block-order-confirmation-summary-list-item__key {
	display: block;
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--primary);
	margin-bottom: 0.25rem;
}

.swigo-order-confirmation .wc-block-order-confirmation-summary-list-item__value {
	display: block;
	font-weight: 600;
	color: #222;
	word-break: break-word;
}

.swigo-order-confirmation .wp-block-columns.wc-block-order-confirmation-address-wrapper {
	gap: 24px !important;
}

.swigo-order-confirmation .wp-block-column {
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 10px;
	padding: 20px;
	min-width: 0;
}

.swigo-order-confirmation .wp-block-column:empty {
	display: none;
}

/* Orders table on account — compact. */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table,
.woocommerce-account .woocommerce-MyAccount-content .shop_table,
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders {
	display: table !important;
	width: 100% !important;
	max-width: 100%;
	table-layout: fixed;
	box-sizing: border-box;
	border-radius: 6px;
	font-size: 13px;
	line-height: 1.35;
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders th,
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders td,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table th,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table td {
	padding: 8px 10px;
	font-size: 13px;
	line-height: 1.35;
	word-break: break-word;
	vertical-align: middle;
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders thead th,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table thead th {
	padding: 7px 10px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	white-space: nowrap;
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders .woocommerce-Price-amount,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-Price-amount {
	font-size: 13px;
	font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions,
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders .woocommerce-orders-table__cell-order-actions,
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders td.woocommerce-orders-table__cell-order-actions,
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders td.order-actions,
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders th.woocommerce-orders-table__header-order-actions,
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders th.order-actions {
	text-align: center;
	white-space: nowrap;
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders .button,
.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders .woocommerce-button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-button {
	display: inline-block;
	margin: 0 2px 0 0;
	padding: 4px 10px;
	min-height: 0;
	font-size: 12px;
	line-height: 1.3;
	font-weight: 500;
	border-radius: 4px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-pagination {
	margin-top: 12px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-pagination .page-numbers {
	padding: 4px 8px;
	font-size: 12px;
	min-width: 28px;
	line-height: 1.3;
}

@media only screen and (max-width: 767px) {
	.woocommerce-account .woocommerce-MyAccount-content {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.woocommerce-account .woocommerce-MyAccount-content .shop_table.my_account_orders {
		min-width: 560px;
		table-layout: auto;
	}
}

/* Inquiry modal — Contact Form 7. */
.inquiry-modal .swigo-cf7-inquiry .wpcf7-form > p,
.inquiry-modal .swigo-inquiry-form p {
	margin: 0;
}

.inquiry-modal .swigo-cf7-inquiry .form-group {
	margin-bottom: 20px;
}

.inquiry-modal .swigo-cf7-inquiry .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.inquiry-modal .swigo-cf7-inquiry input.wpcf7-form-control.wpcf7-email,
.inquiry-modal .swigo-cf7-inquiry input.form-control {
	width: 100%;
	height: 50px;
	padding: 10px 15px;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	font-size: 15px;
}

.inquiry-modal .swigo-cf7-inquiry .wpcf7-submit,
.inquiry-modal .swigo-cf7-inquiry .btn {
	width: 100%;
	display: block;
}

.inquiry-modal .swigo-inquiry-acceptance {
	margin-top: 4px;
}

.inquiry-modal .swigo-inquiry-acceptance .wpcf7-form-control-wrap,
.inquiry-modal .swigo-inquiry-acceptance .wpcf7-acceptance {
	display: block;
}

.inquiry-modal .swigo-inquiry-acceptance .wpcf7-list-item {
	margin: 0;
}

.inquiry-modal .swigo-inquiry-acceptance .wpcf7-list-item-label {
	font-size: 13px;
	color: #666;
}

.inquiry-modal .swigo-inquiry-acceptance input[type="checkbox"] {
	margin-right: 8px;
	vertical-align: middle;
}

.inquiry-modal .wpcf7-not-valid-tip {
	font-size: 12px;
	margin-top: 6px;
}

.inquiry-modal .wpcf7-response-output {
	margin: 12px 0 0;
	padding: 10px 12px;
	border-radius: 6px;
	font-size: 13px;
}

.inquiry-modal .wpcf7-spinner {
	position: absolute;
}


/* -------------------------------------------------------------------------
   Single product
--------------------------------------------------------------------------- */
body.single-product .swigo-single-product {
	overflow: hidden;
}

body.single-product .swigo-single-product .woocommerce-breadcrumb,
body.single-product .swigo-single-product .wc-block-breadcrumbs {
	margin: 0 0 1.5rem;
	font-size: 14px;
	color: #888;
}

body.single-product .swigo-single-product .woocommerce-breadcrumb a {
	color: #666;
	text-decoration: none;
}

body.single-product .swigo-single-product .woocommerce-breadcrumb a:hover {
	color: var(--primary);
}

body.single-product .swigo-single-product__main.wp-block-columns {
	display: flex !important;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 40px !important;
	margin-bottom: 2.5rem !important;
}

body.single-product .swigo-single-product__media,
body.single-product .swigo-single-product__summary {
	margin: 0 !important;
	min-width: 0;
}

body.single-product .swigo-single-product__media {
	flex: 1 1 320px !important;
	max-width: 480px;
}

body.single-product .swigo-single-product__summary {
	flex: 1 1 320px !important;
}

/* Gallery */
body.single-product .woocommerce-product-gallery {
	opacity: 1 !important;
	position: relative;
	width: 100%;
	margin: 0;
	border-radius: 12px;
	overflow: hidden;
	background: #fff6f3;
}

body.single-product .woocommerce-product-gallery__wrapper {
	margin: 0;
}

body.single-product .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery__image a {
	display: block;
	width: 100%;
}

body.single-product .woocommerce-product-gallery__image img,
body.single-product .woocommerce-product-gallery img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 12px;
}

body.single-product .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}

body.single-product .flex-control-thumbs li {
	width: calc(25% - 6px);
	margin: 0;
	float: none;
}

body.single-product .flex-control-thumbs img {
	border-radius: 8px;
	opacity: 0.7;
	cursor: pointer;
}

body.single-product .flex-control-thumbs .flex-active,
body.single-product .flex-control-thumbs img:hover {
	opacity: 1;
}

/* Summary */
body.single-product .swigo-single-product__title,
body.single-product .swigo-single-product__summary .wp-block-post-title {
	margin: 0;
	font-size: clamp(1.6rem, 3vw, 2.25rem);
	font-weight: 700;
	line-height: 1.25;
	color: #222;
}

body.single-product .swigo-single-product__rating,
body.single-product .wc-block-components-product-rating {
	margin: 0;
}

/* Price lives in detail-list now */
body.single-product .swigo-single-product__summary > .swigo-single-product__price,
body.single-product .swigo-single-product__summary > .wc-block-components-product-price {
	display: none !important;
}

body.single-product .swigo-single-product__excerpt,
body.single-product .swigo-single-product__summary .wp-block-post-excerpt {
	margin: 0;
	color: #666;
	font-size: 15px;
	line-height: 1.6;
}

body.single-product .swigo-single-product__excerpt p {
	margin: 0;
}

body.single-product .detail-info .text {
	margin-top: 20px;
}

body.single-product .detail-info .dz-head {
	width: 100%;
	align-items: flex-start;
	gap: 12px;
}

body.single-product .detail-info .dz-head .title,
body.single-product .swigo-single-product__title {
	margin: 0;
	flex: 1 1 auto;
}

body.single-product .detail-info .dz-head .rating,
body.single-product .swigo-single-product__rating {
	margin: 0;
	font-size: 14px;
	line-height: 21px;
	white-space: nowrap;
}

body.single-product .detail-info .dz-head .rating .wc-block-components-product-rating__stars,
body.single-product .detail-info .dz-head .rating i {
	color: var(--secondary);
}

/* Price + Quantity detail-list (matches #menuDetailModal) */
body.single-product .detail-info .detail-list {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0;
	margin: 25px 0;
	padding: 0;
	list-style: none;
}

body.single-product .detail-info .detail-list li {
	margin: 0 45px 12px 0;
	padding: 0;
	font-weight: 500;
	font-size: 15px;
	line-height: 22px;
	color: var(--title);
}

body.single-product .detail-info .detail-list li .swigo-sp-price,
body.single-product .detail-info .detail-list li > .price,
body.single-product .detail-info .detail-list li span.text-primary {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 5px;
	font-size: 20px;
	font-weight: 600;
	line-height: 30px;
	color: var(--primary);
}

body.single-product .detail-info .detail-list li .swigo-sp-price del,
body.single-product .detail-info .detail-list li .swigo-sp-price del .amount {
	font-size: 16px;
	font-weight: 500;
	color: #999;
}

body.single-product .detail-info .detail-list .btn-quantity.style-1 {
	margin-top: 5px;
	position: relative;
	display: block;
	width: 105px;
	min-width: 105px;
}

body.single-product .detail-info .detail-list .btn-quantity.style-1 .bootstrap-touchspin {
	width: 105px;
	min-width: 105px;
	position: relative;
	height: 31px;
	display: block;
	margin: 0;
}

body.single-product .detail-info .detail-list .btn-quantity.style-1 input.qty,
body.single-product .detail-info .detail-list .btn-quantity.style-1 input.quantity-input,
body.single-product .detail-info .detail-list .btn-quantity.style-1 .bootstrap-touchspin input {
	height: 31px !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	padding: 0 28px !important;
	margin: 0 !important;
	text-align: center !important;
	z-index: 1 !important;
	background-color: #eaeaea !important;
	border: 2px solid #eaeaea !important;
	border-radius: var(--border-radius-base, 6px) !important;
	font-weight: 500 !important;
	font-size: 16px !important;
	line-height: 24px !important;
	color: var(--title) !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}

body.single-product .detail-info .detail-list .btn-quantity.style-1 .input-group-btn-vertical {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	padding: 2px;
	margin: 0 !important;
	z-index: 2;
	pointer-events: none;
}

body.single-product .detail-info .detail-list .btn-quantity.style-1 .input-group-btn-vertical .btn {
	pointer-events: auto;
	padding: 0;
	min-width: 26px;
	width: 26px;
	height: 26px;
	text-align: center;
	line-height: 26px;
	z-index: 1;
	background-color: #fff !important;
	color: var(--title) !important;
	border: 0 !important;
	border-radius: 4px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: none !important;
}

body.single-product .detail-info .detail-list .btn-quantity.style-1 .input-group-btn-vertical .btn i {
	font-weight: 900;
	font-size: 14px;
	line-height: 1;
}

body.single-product .detail-info .detail-list .btn-quantity.style-1 .bootstrap-touchspin-prefix,
body.single-product .detail-info .detail-list .btn-quantity.style-1 .bootstrap-touchspin-postfix {
	display: none !important;
}

body.single-product .detail-info .modal-btn-group.swigo-sp-actions {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -7px;
	padding: 0;
	list-style: none;
}

body.single-product .detail-info .modal-btn-group.swigo-sp-actions li {
	margin: 0 7px;
	padding: 0;
}

body.single-product .detail-info .modal-btn-group.swigo-sp-actions .btn,
body.single-product .detail-info .modal-btn-group.swigo-sp-actions .single_add_to_cart_button {
	min-height: 48px;
	padding: 12px 28px;
	border-radius: 10px;
}

body.single-product .woocommerce-variation.single_variation:empty {
	display: none;
}

body.single-product .woocommerce-variation-availability {
	margin-top: 10px;
	font-size: 14px;
}

@media only screen and (max-width: 575px) {
	body.single-product .detail-info .text {
		margin-top: 10px;
	}

	body.single-product .detail-info .detail-list {
		margin: 15px 0;
	}

	body.single-product .detail-info .detail-list li {
		margin-right: 30px;
	}

	body.single-product .detail-info .modal-btn-group.swigo-sp-actions {
		display: block;
	}

	body.single-product .detail-info .modal-btn-group.swigo-sp-actions li {
		margin: 0 0 10px;
	}

	body.single-product .detail-info .modal-btn-group.swigo-sp-actions .btn {
		width: 100%;
	}
}

/* Add to cart */
body.single-product .swigo-single-product__cart,
body.single-product .wc-block-add-to-cart-form {
	margin: 0 0 1.25rem;
}

body.single-product .wc-block-add-to-cart-form form.cart:not(.variations_form):not(.swigo-sp-cart) {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	grid-template-columns: none !important;
	grid-auto-flow: unset !important;
}

body.single-product .wc-block-add-to-cart-form form.variations_form.cart,
body.single-product form.variations_form.cart,
body.single-product form.cart.swigo-sp-cart {
	display: block !important;
}

/* Variation radios — match #menuDetailModal */
body.single-product .swigo-qv-variations,
body.single-product form.variations_form .swigo-qv-variations {
	margin: 0 0 22px;
}

body.single-product .swigo-qv-attr + .swigo-qv-attr {
	margin-top: 16px;
}

body.single-product .swigo-qv-attr-label,
body.single-product .swigo-qv-attr-label label {
	display: block;
	font-weight: 500;
	font-size: 15px;
	line-height: 22px;
	margin-bottom: 10px;
	color: var(--title);
}

body.single-product .swigo-qv-radio-group {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

body.single-product .swigo-qv-radio-btn {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	min-width: 88px;
	padding: 10px 16px;
	margin: 0;
	border: 1px solid rgba(34, 34, 34, 0.12);
	border-radius: 10px;
	background: #fff;
	color: var(--title);
	font-weight: 500;
	font-size: 14px;
	line-height: 1.3;
	cursor: pointer;
	transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

body.single-product .swigo-qv-radio-price {
	display: block;
	margin-top: 4px;
	font-size: 13px;
	font-weight: 600;
	color: var(--primary);
}

body.single-product .btn-check:checked + .swigo-qv-radio-btn,
body.single-product .swigo-qv-radio-btn:hover {
	border-color: var(--primary);
	background: var(--rgba-primary-05);
	color: var(--primary);
	box-shadow: 0 0 0 1px var(--primary);
}

body.single-product .btn-check:focus-visible + .swigo-qv-radio-btn {
	outline: 2px solid var(--primary);
	outline-offset: 2px;
}

body.single-product select.swigo-variation-select-sync {
	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;
}

body.single-product .reset_variations {
	display: inline-block;
	margin-top: 10px;
	font-size: 13px;
}

body.single-product .single_variation_wrap {
	margin-top: 8px;
}

body.single-product .woocommerce-variation-add-to-cart {
	display: block !important;
}

@media only screen and (max-width: 575px) {
	body.single-product .swigo-qv-radio-btn {
		min-width: calc(50% - 5px);
	}
}

body.single-product .wc-block-add-to-cart-form form.cart:not(.swigo-sp-cart) .quantity {
	display: inline-flex;
	align-items: center;
	margin: 0;
}

body.single-product .wc-block-add-to-cart-form form.cart:not(.swigo-sp-cart) .qty {
	width: 72px;
	height: 32px;
	margin: 0;
	padding: 0 10px;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	text-align: center;
	font-size: 15px;
	font-weight: 600;
	box-sizing: border-box;
}

body.single-product .wc-block-add-to-cart-form form.cart .single_add_to_cart_button,
body.single-product .single_add_to_cart_button {
	min-height: 48px;
	padding: 12px 28px;
	border: 0;
	border-radius: 6px;
	background: var(--primary) !important;
	color: #fff !important;
	font-weight: 600;
	font-size: 15px;
	line-height: 1.3;
	grid-column: unset !important;
	justify-self: unset !important;
}

body.single-product .wc-block-add-to-cart-form form.cart .single_add_to_cart_button:hover,
body.single-product .single_add_to_cart_button:hover {
	background: var(--primary-hover) !important;
}

body.single-product .swigo-single-product__meta {
	margin-top: 0.5rem;
	padding-top: 1rem;
	border-top: 1px solid #eee;
	font-size: 14px;
	color: #666;
}

body.single-product .swigo-single-product__meta a {
	color: var(--primary);
	text-decoration: none;
}

body.single-product .swigo-single-product__meta a:hover {
	text-decoration: underline;
}

/* Product details — tabs-style-1 (from product-detail.html) */
body.single-product .swigo-single-product__details,
body.single-product .wp-block-woocommerce-product-details {
	margin: 0 0 2.5rem;
}

body.single-product .woocommerce-tabs.wc-tabs-wrapper {
	margin: 0;
	padding: 0;
	clear: both;
}

body.single-product .woocommerce-tabs ul.tabs.wc-tabs,
body.single-product .woocommerce-tabs ul.tabs-style-1 {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	list-style: none;
	float: none;
	padding: 0;
	margin: 0 0 30px;
	border: 0;
	border-bottom: 2px solid #eaeaea;
	overflow: visible;
}

body.single-product .woocommerce-tabs ul.tabs.wc-tabs::before,
body.single-product .woocommerce-tabs ul.tabs.wc-tabs::after {
	display: none !important;
	content: none !important;
}

body.single-product .woocommerce-tabs ul.tabs.wc-tabs li,
body.single-product .woocommerce-tabs ul.tabs-style-1 li {
	display: block;
	float: none;
	margin: 0 3px -2px 0;
	padding: 0;
	border: 0;
	background: transparent;
	border-radius: 0;
	position: relative;
	z-index: 0;
}

body.single-product .woocommerce-tabs ul.tabs.wc-tabs li a,
body.single-product .woocommerce-tabs ul.tabs-style-1 .nav-link {
	display: inline-flex;
	align-items: center;
	gap: 0;
	margin: 0;
	padding: 12px 18px;
	border: 2px solid transparent;
	border-width: 2px 2px 0;
	border-radius: 6px 6px 0 0;
	background: transparent;
	color: var(--title, #222);
	font-weight: 500;
	font-size: 15px;
	line-height: 1.4;
	text-decoration: none;
	outline: none;
	box-shadow: none;
}

body.single-product .woocommerce-tabs ul.tabs.wc-tabs li a i,
body.single-product .woocommerce-tabs ul.tabs-style-1 .nav-link i {
	font-family: feather !important;
	font-style: normal;
	font-size: 18px;
	line-height: 1;
	vertical-align: middle;
}

body.single-product .woocommerce-tabs ul.tabs.wc-tabs li.active a,
body.single-product .woocommerce-tabs ul.tabs.wc-tabs li a:hover,
body.single-product .woocommerce-tabs ul.tabs.wc-tabs li a:focus,
body.single-product .woocommerce-tabs ul.tabs-style-1 li.active .nav-link,
body.single-product .woocommerce-tabs ul.tabs-style-1 .nav-link:hover,
body.single-product .woocommerce-tabs ul.tabs-style-1 .nav-link:focus {
	border: 2px solid #eaeaea;
	border-bottom-color: #eaeaea;
	background-color: #eaeaea;
	color: var(--title, #222);
}

body.single-product .woocommerce-tabs .tab-content {
	margin: 0;
	padding: 0;
}

body.single-product .woocommerce-Tabs-panel {
	margin: 0;
	padding: 0;
	border: 0;
	float: none;
}

body.single-product .woocommerce-Tabs-panel > h2:first-child,
body.single-product .woocommerce-Reviews-title {
	margin: 0 0 1rem;
	font-size: 1.35rem;
	font-weight: 700;
	color: #222;
}

body.single-product .woocommerce-Tabs-panel p {
	margin-bottom: 10px;
	color: #666;
	font-size: 15px;
	line-height: 1.7;
}

body.single-product .woocommerce-product-attributes.check-tbl,
body.single-product table.check-tbl.shop_attributes {
	width: 100%;
	border: 1px solid rgba(0, 0, 0, 0.125);
	border-collapse: collapse;
	vertical-align: middle;
}

body.single-product .woocommerce-product-attributes.check-tbl th,
body.single-product .woocommerce-product-attributes.check-tbl td,
body.single-product table.check-tbl.shop_attributes th,
body.single-product table.check-tbl.shop_attributes td {
	padding: 15px;
	font-weight: 500;
	border: 1px solid rgba(0, 0, 0, 0.125);
	text-align: left;
	background: transparent;
}

body.single-product .woocommerce-product-attributes.check-tbl th {
	width: 35%;
	font-weight: 600;
	color: #222;
}

body.single-product #reviews.woocommerce-Reviews .comment-respond,
body.single-product #review_form #respond {
	margin-top: 1.5rem;
}

body.single-product #review_form #respond .comment-reply-title {
	display: block;
	margin-bottom: 1rem;
	font-size: 1.25rem;
	font-weight: 700;
	color: #222;
}

body.single-product #review_form .comment-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px 20px;
}

body.single-product #review_form .comment-form-comment,
body.single-product #review_form .comment-form-rating,
body.single-product #review_form .comment-notes,
body.single-product #review_form .form-submit,
body.single-product #review_form .comment-form-cookies-consent {
	grid-column: 1 / -1;
}

body.single-product #review_form .comment-form label {
	display: block;
	margin-bottom: 6px;
	font-weight: 500;
}

body.single-product #review_form .comment-form textarea,
body.single-product #review_form .comment-form input[type="text"],
body.single-product #review_form .comment-form input[type="email"] {
	width: 100%;
	max-width: 100%;
	padding: 10px 14px;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
}

body.single-product #review_form .form-submit .submit,
body.single-product #review_form .form-submit button {
	min-height: 46px;
	padding: 10px 22px;
	border: 0;
	border-radius: 6px;
	background: var(--primary);
	color: #fff;
	font-weight: 600;
}

@media only screen and (max-width: 767px) {
	body.single-product .woocommerce-tabs ul.tabs.wc-tabs li a,
	body.single-product .woocommerce-tabs ul.tabs-style-1 .nav-link {
		padding: 10px 14px;
	}

	body.single-product #review_form .comment-form {
		grid-template-columns: 1fr;
	}
}

body.single-product .comment-form textarea,
body.single-product .comment-form input[type="text"],
body.single-product .comment-form input[type="email"] {
	width: 100%;
	max-width: 100%;
	padding: 10px 14px;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
}

body.single-product .comment-form .form-submit .submit {
	min-height: 46px;
	padding: 10px 22px;
	border: 0;
	border-radius: 6px;
	background: var(--primary);
	color: #fff;
	font-weight: 600;
}

/* Related products */
body.single-product .wp-block-woocommerce-product-collection,
body.single-product .wp-block-product-collection {
	margin-top: 1rem;
}

body.single-product .wp-block-woocommerce-product-collection .wp-block-heading,
body.single-product .related.products > h2 {
	margin: 0 0 1.25rem;
	font-size: clamp(1.4rem, 2.5vw, 1.85rem);
	font-weight: 700;
	color: #222;
}

body.single-product .wc-block-product-template,
body.single-product ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 20px;
	list-style: none;
	margin: 0;
	padding: 0;
}

body.single-product .wc-block-product-template .wc-block-product,
body.single-product ul.products li.product {
	margin: 0 !important;
	padding: 0;
	width: auto !important;
	float: none !important;
	background: #fff;
	border: 1px solid #eee;
	border-radius: 12px;
	overflow: hidden;
}

body.single-product .wc-block-product-template img,
body.single-product ul.products li.product img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 0;
}

body.single-product .wc-block-product-template .wp-block-post-title,
body.single-product ul.products li.product .woocommerce-loop-product__title {
	font-size: 1rem;
	font-weight: 600;
	margin: 0.75rem 1rem 0.35rem;
}

body.single-product .wc-block-product-template .wc-block-components-product-price,
body.single-product ul.products li.product .price {
	display: block;
	margin: 0 1rem 1rem;
	color: var(--primary);
	font-weight: 700;
}

@media only screen and (max-width: 991px) {
	body.single-product .swigo-single-product__main.wp-block-columns {
		gap: 28px !important;
	}

	body.single-product .swigo-single-product__media {
		max-width: 100%;
		flex-basis: 100% !important;
	}
}

@media only screen and (max-width: 575px) {
	body.single-product .wc-block-add-to-cart-form form.cart {
		flex-direction: column;
		align-items: stretch;
	}

	body.single-product .wc-block-add-to-cart-form form.cart .single_add_to_cart_button {
		width: 100%;
	}

	body.single-product .wc-block-product-template,
	body.single-product ul.products {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}
}


/* -------------------------------------------------------------------------
   Cart page (shop-cart.html) — follow template CSS for #swigo-cart-sidebar
--------------------------------------------------------------------------- */
body.woocommerce-cart .swigo-cart-template {
	width: 100%;
	max-width: none !important;
	background: #fff;
}

body.woocommerce-cart .swigo-cart-page .container {
	max-width: 1140px;
}

body.woocommerce-cart .swigo-cart-page .side-bar.sticky-top {
	top: 110px;
	z-index: 2;
}

/* Keep shop-filter / cart-item / order-detail / btn-quantity on template CSS.
   Only neutralize WP/Woo conflicts inside the sidebar. */
body.woocommerce-cart #swigo-cart-sidebar.shop-filter.style-1 {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
}

body.woocommerce-cart #swigo-cart-sidebar .widget-title .title {
	margin-bottom: 30px;
}

body.woocommerce-cart #swigo-cart-sidebar .cart-item.style-1 .dz-media {
	overflow: hidden;
}

body.woocommerce-cart #swigo-cart-sidebar .cart-item.style-1 .dz-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.woocommerce-cart #swigo-cart-sidebar .cart-item.style-1 .price,
body.woocommerce-cart #swigo-cart-sidebar .cart-item.style-1 .price .amount,
body.woocommerce-cart #swigo-cart-sidebar .cart-item.style-1 .price bdi,
body.woocommerce-cart #swigo-cart-sidebar .order-detail .price .amount,
body.woocommerce-cart #swigo-cart-sidebar .order-detail .price bdi {
	font-style: normal;
	font-weight: inherit;
	color: inherit;
}

body.woocommerce-cart #swigo-cart-sidebar .cart-item.style-1 .price .woocommerce-Price-currencySymbol,
body.woocommerce-cart #swigo-cart-sidebar .order-detail .price .woocommerce-Price-currencySymbol {
	margin-right: 0.15em;
}

body.woocommerce-cart #swigo-cart-sidebar .btn-quantity.style-1 .bootstrap-touchspin {
	width: 105px;
	min-width: 105px;
}

body.woocommerce-cart #swigo-cart-sidebar .order-detail h6 {
	margin-bottom: 15px;
	font-weight: 600;
}

body.woocommerce-cart #swigo-cart-sidebar .order-detail table {
	border: 0;
	background: transparent;
}

body.woocommerce-cart #swigo-cart-sidebar .order-detail table td {
	border: 0;
	background: transparent;
	vertical-align: middle;
}

body.woocommerce-cart #swigo-cart-sidebar .order-detail .btn {
	margin-top: 0;
}

body.woocommerce-cart .swigo-cart-page .dz-shop-card.style-1 .dz-media {
	overflow: hidden;
	border-radius: 10px 0 0 10px;
}

body.woocommerce-cart .swigo-cart-page .dz-shop-card.style-1 .dz-media a,
body.woocommerce-cart .swigo-cart-page .dz-shop-card.style-1 .dz-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.woocommerce-cart .swigo-cart-page .dz-shop-card.style-1 .dz-name a {
	color: inherit;
	text-decoration: none;
}

body.woocommerce-cart .swigo-cart-page .dz-shop-card.style-1 .dz-name svg {
	vertical-align: -3px;
}

@media only screen and (max-width: 991px) {
	body.woocommerce-cart .swigo-cart-page .swigo-cart-related {
		display: none !important;
	}

	body.woocommerce-cart .swigo-cart-page .swigo-cart-aside {
		width: 100%;
		max-width: 100%;
		flex: 0 0 100%;
	}

	body.woocommerce-cart .swigo-cart-page .side-bar.sticky-top {
		position: static;
		top: auto;
	}

	/* Show cart items inline — override off-canvas shop-filter behavior */
	body.woocommerce-cart #swigo-cart-sidebar.shop-filter,
	body.woocommerce-cart #swigo-cart-sidebar.shop-filter.style-1 {
		position: static !important;
		left: auto !important;
		top: auto !important;
		width: 100% !important;
		height: auto !important;
		max-width: 100%;
		padding: 0 !important;
		overflow: visible !important;
		box-shadow: none !important;
		background: transparent !important;
		z-index: auto;
		transition: none;
	}

	body.woocommerce-cart .swigo-cart-page .panel-btn,
	body.woocommerce-cart #swigo-cart-sidebar .panel-close-btn {
		display: none !important;
	}
}


.wp-block-gallery.alignwide, .alignfull, .alignwide {
    margin-inline: auto !important;
}