.tooto-breadcrumbs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 14px;
	line-height: 1.5;
}

.tooto-breadcrumbs__separator {
	opacity: 0.7;
}

.tooto-breadcrumbs__link {
	text-decoration: none;
}
@media (max-width: 767px) {
	.tooto-breadcrumbs {
		font-size: 12px;
	}
}
.tooto-breadcrumbs__link:hover {
	text-decoration: underline;
}

/* Solutions Tabs */
.tooto-solutions-tabs {
	display: flex;
	flex-direction: column;
	gap: 0;
	position: relative;
}

.tooto-solutions-tabs__tabs {
	display: flex;
	flex-wrap: nowrap;
	gap: 24px;
	border-bottom: 1px solid #e5e5e5;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none; /* Firefox */
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
}

.tooto-solutions-tabs__tabs::-webkit-scrollbar {
	display: none; /* WebKit */
}

/* Tooto Loop Grid (desktop grid, mobile scroll-snap) */
.tooto-loop-grid__items {
	display: grid;
	gap: 24px;
}

.tooto-loop-grid__item {
	min-width: 0;
}

.tooto-loop-grid__empty {
	padding: 12px;
	border: 1px dashed #ccc;
	color: #666;
}

/* Tooto Popover */
.tooto-popover {
	display: inline-block;
	position: relative;
}

.tooto-popover__trigger {
	display: inline-block;
}

.tooto-popover__trigger-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 20px;
	border: none;
	background: transparent;
	color: inherit;
	font: inherit;
	cursor: pointer;
	vertical-align: middle;
	transition: color 0.2s, background-color 0.2s, border-color 0.2s;
}

.tooto-popover__trigger-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.tooto-popover__trigger-icon svg {
	fill: currentColor;
}

.tooto-popover__trigger-text {
	line-height: 1.2;
}

.tooto-popover__panel {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	background: #fff;
	color: inherit;
	min-width: 120px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.tooto-popover__panel.is-open {
	display: block;
	animation: tootoPopoverIn 0.14s ease-out;
}

.tooto-popover__panel-inner {
	padding: 0;
}

/* 菜单样式 */
.tooto-popover__menu {
	margin: 0;
}

.tooto-popover__menu-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tooto-popover__menu-list li {
	margin: 0;
}

.tooto-popover__menu-list a {
	display: block;
	padding: 10px 16px;
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s, background-color 0.2s;
}

.tooto-popover__menu-list a:hover {
	text-decoration: none;
}

.tooto-popover__arrow {
	position: absolute;
	width: 10px;
	height: 10px;
	transform: translateX(-50%) rotate(45deg);
}

.tooto-popover__arrow::before {
	content: '';
	position: absolute;
	inset: 0;
	background: #fff;
}

.tooto-popover__panel[data-placement="top"] .tooto-popover__arrow {
	left: var(--tooto-popover-arrow-left, 50%);
	bottom: -5px;
}

.tooto-popover__panel[data-placement="bottom"] .tooto-popover__arrow {
	left: var(--tooto-popover-arrow-left, 50%);
	top: -5px;
}

.tooto-popover__panel[data-placement="left"] .tooto-popover__arrow {
	top: var(--tooto-popover-arrow-top, 50%);
	right: -5px;
	transform: translateY(-50%) rotate(45deg);
}

.tooto-popover__panel[data-placement="right"] .tooto-popover__arrow {
	top: var(--tooto-popover-arrow-top, 50%);
	left: -5px;
	transform: translateY(-50%) rotate(45deg);
}

.tooto-popover__empty {
	color: #999;
	font-size: 14px;
	text-align: center;
	padding: 20px;
}

@keyframes tootoPopoverIn {
	from {
		opacity: 0;
		transform: translateY(4px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Image Carousel */
.tooto-image-carousel {
	visibility: hidden; /* Prevent FOUC, Splide removes this when initialized */
}

/* Force visibility in Elementor Editor */
.elementor-editor-active .tooto-image-carousel {
	visibility: visible;
}

.tooto-image-carousel.is-active,
.tooto-image-carousel.is-initialized {
	visibility: visible;
}

/* Ensure horizontal layout */
.tooto-image-carousel .splide__list {
	display: flex !important; /* Force flex layout to prevent vertical stacking */
	flex-wrap: nowrap !important;
	padding: 0 !important;
}

.tooto-image-carousel .splide__track {
	overflow: hidden;
}

.tooto-image-carousel .splide__slide {
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0; /* Prevent slides from shrinking */
	list-style: none !important; /* Remove list bullets */
}

.tooto-image-carousel__image {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

/* Continuous Scroll Mode - Slide width is now controlled by Elementor settings */
.tooto-image-carousel--continuous .tooto-image-carousel__image {
	max-width: none;
}

.tooto-image-carousel--blend-multiply {
	mix-blend-mode: multiply;
}

/* Fix Splide arrows overlapping content */
.tooto-image-carousel .splide__arrow {
	background: rgba(255, 255, 255, 0.8);
	opacity: 0.7;
	transition: opacity 0.3s;
}

.tooto-image-carousel .splide__arrow:hover {
	opacity: 1;
}

/* Brand Details Mode Styles */
.tooto-image-carousel--brand-details .tooto-brand-details-container {
    margin-top: 64px;
    text-align: center;
    position: relative;
}

.tooto-image-carousel--brand-details .tooto-brand-details-content {
    margin-bottom: 30px;
    transition: opacity 0.3s ease;
}

.tooto-image-carousel--brand-details .tooto-brand-title {
    font-size: 48px;
    font-weight: 300;
    margin: 0 0 16px;
    color: #000;
    text-transform: uppercase;
}

.tooto-image-carousel--brand-details .tooto-brand-subtitle {
    display: inline-block;
    border: 1px solid #C1272D;
    color: #C1272D;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 20px;
	line-height: 1.4;
    font-weight: 400;
    margin-bottom: 16px;
    text-transform: uppercase;
	font-family: 'Bebas Neue', Sans-Serif;
}

.tooto-image-carousel--brand-details .tooto-brand-description {
    font-size: 16px;
    line-height: 1.4;
    color: #3e3333;
    max-width: 660px;
    margin: 0 auto 32px;
}

.tooto-image-carousel--brand-details .tooto-brand-link {
    display: inline-block;
    color: #C1272D;
    font-weight: 500;
    text-decoration: none;
    font-size: 16px;
    transition: color 0.3s ease;
}

.tooto-image-carousel--brand-details .tooto-brand-link:hover {
    color: #d9363e;
}

.tooto-image-carousel--brand-details .tooto-brand-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 64px;
}

.tooto-image-carousel--brand-details .tooto-brand-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #ddd;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: all 0.3s ease;
}

.tooto-image-carousel--brand-details .tooto-brand-dot.is-active {
    width: 24px;
    border-radius: 4px;
    background-color: #000;
}

/* Active slide styling */
.tooto-image-carousel--brand-details .splide__slide {
    cursor: pointer;
    opacity: 0.5;
    transition: opacity 0.3s ease;
}

.tooto-image-carousel--brand-details .splide__slide.is-active-brand {
    opacity: 1;
}

.tooto-image-carousel--brand-details .splide__slide:hover {
    opacity: 1;
}

/* Tooto Custom Pagination */
.tooto-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 48px;
	gap: 10px;
	/* Ensure full width if inside a grid/flex container */
	width: 100%;
	grid-column: 1 / -1;
}

.tooto-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 10px;
	border-radius: 4px;
	text-decoration: none;
	color: #333;
	font-weight: 500;
	transition: all 0.3s;
	line-height: 1;
}

.tooto-pagination .page-numbers.current {
	background-color: #d12b2b;
	color: #fff;
}

.tooto-pagination .page-numbers.dots {
	background: transparent;
	color: inherit;
	cursor: default;
}

.tooto-pagination-jump {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-left: 20px;
	font-size: 14px;
	color: #666;
	white-space: nowrap;
}

.tooto-pagination-select-wrapper {
	position: relative;
	display: inline-flex;
	align-items: center;
}

.tooto-pagination-select {
	padding: 4px 24px 4px 8px;
	border: 1px solid #D8D8D8 !important;
	border-radius: 4px;
	background: #fff;
	color: inherit;
	cursor: pointer;
	font-size: inherit;
	outline: none;
	min-width: 60px;
	height: initial;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.tooto-select-arrow {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	display: inline-flex;
	align-items: center;
	color: inherit;
}

.tooto-select-arrow svg {
	display: block;
	width: 10px; /* Adjust based on your SVG size preference */
	height: auto;
}

/* SVG Icon Support */
.tooto-pagination .page-numbers svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

/* Hide standard Elementor pagination if custom is enabled (using :has selector) */
.elementor-widget-tooto-loop-grid:has(.tooto-pagination) .elementor-pagination {
	display: none !important;
}

/* Mobile Responsive Styles for Custom Pagination */
@media (max-width: 767px) {
	.tooto-pagination {
		gap: 6px;
		margin-top: 30px;
	}
	
	.tooto-pagination .page-numbers {
		min-width: 28px;
		height: 28px;
		padding: 0 4px;
		font-size: 14px;
	}

	/* Jump section moves to a new line on mobile */
	.tooto-pagination-jump {
		margin-left: 0;
		width: 100%;
		justify-content: center;
		margin-top: 10px;
	}
}

/* Text Type Widget */
.tooto-text-type {
	display: inline-block;
	white-space: pre-wrap;
	letter-spacing: normal;
	min-height: 1.2em; /* Ensure height even when empty */
	min-width: 2px;
	max-width: 450px;
}

.tooto-text-type__text {
	display: flex;
	justify-content: start;
	min-height: 140px;
	text-shadow: 
	4px 4px 0 #fff,
	4px -4px 0 #fff,
	-4px 4px 0 #fff,
	-4px -4px 0 #fff,
	4px 0 0 #fff,
	-4px 0 0 #fff,
	0 4px 0 #fff,
	0 -4px 0 #fff;
}

.tooto-text-type__cursor {
	display: inline-block;
	margin-left: 2px;
	font-weight: 100;
	animation: tooto-blink 1s step-end infinite;
}

.tooto-text-type__cursor.tooto-hidden {
	visibility: hidden;
}

@keyframes tooto-blink {
	0%, 100% {
		opacity: 1;
	}
	50% {
		opacity: 0;
	}
}

/* File Download Widget */
.tooto-file-download {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.tooto-file-download__input {
	width: 100%;
	padding: 12px 16px;
	border: 1px solid #e5e5e5;
	border-radius: 4px;
	font-size: 14px;
	line-height: 1.5;
	outline: none;
	transition: border-color 0.2s;
}

.tooto-file-download__input:focus {
	border-color: #c2272d;
}

.tooto-file-download__input.error {
	border-color: #c2272d;
}

.tooto-file-download__error-message {
	display: none;
	color: #c2272d;
	font-size: 12px;
	margin-top: 4px;
	line-height: 1.2;
}

.tooto-file-download__button {
	width: 100%;
	padding: 12px 16px;
	background-color: #c2272d;
	color: #ffffff;
	border: none;
	border-radius: 4px;
	font-size: 16px;
	font-weight: 500;
	cursor: pointer;
	transition: background-color 0.2s;
	text-align: center;
}

.tooto-file-download__button:hover {
	background-color: #a01f24;
}

.tooto-file-download__button:disabled {
	opacity: 0.7;
	cursor: not-allowed;
}

/* Product Stock Status Shortcode */
.tooto-product-stock-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
}

.tooto-product-stock-status__icon {
	display: flex;
	align-items: center;
	justify-content: center;
}

/* 颜色状态定义 */
.tooto-product-stock-status--in-stock {
	color: #078100;
}

.tooto-product-stock-status--restocking {
	color: #FF7300;
}

.tooto-product-stock-status--out-of-stock {
	color: #6F6F6F;
}

.tooto-product-stock-status--pre-order {
	color: #2D6CFF;
}

.pre-order-availability-date {
	display: none;
}

.tooto-case-add-to-cart {

}

.tooto-case-add-to-cart__button {
	flex: 1;
	height: 46px;
	background-color: #C1272D;
	color: #ffffff;
	border: none;
	border-radius: 4px;
	font-size: 16px;
	font-weight: 500;
	cursor: pointer;
	transition: background-color 0.2s;
	text-align: center;
}
.tooto-case-add-to-cart__button.tooto-case-add-to-cart__button--disabled {
	opacity: 0.5;
	cursor: not-allowed;
}
.tooto-case-add-to-cart__quantity-label {
	font-size: 16px;
	font-weight: normal;
	line-height: 140%;
	color: #878282;
	margin-bottom: 8px;
}

.tooto-case-add-to-cart__wrapper {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 8px;
}

.tooto-case-add-to-cart__quantity-selector {
	padding: 12px;
	display: flex;
	align-items: center;
	line-height: 1;
	border: 1px solid #D8D8D8;
	border-radius: 4px;
}

.tooto-case-add-to-cart__quantity-input {
	width: auto;
	border: none;
	text-align: center;
	font-size: 16px;
	padding: 0;
	margin: 0;
	-moz-appearance: textfield;
	background: transparent;
	outline: none;
	min-width: 20px !important;
	max-width: 56px !important;
    padding: 0 !important;
	height: auto !important;
    border: 0 !important;
	margin-inline: 12px !important;
}

.tooto-case-add-to-cart__quantity-input::-webkit-outer-spin-button,
.tooto-case-add-to-cart__quantity-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.tooto-case-add-to-cart__quantity-btn {
	background-color: transparent;
	font-size: 20px;
	width: 20px;
	height: 20px;
	cursor: pointer;
	transition: background-color 0.3s;
}

.tooto-case-add-to-cart__quantity-btn:hover {
	background-color: #C1272D;
	color: #fff !important;
}
.tooto-case-add-to-cart__case-info {
	font-size: 18px;
	font-weight: 500;
	line-height: 140%;
	color: #000;
}

.tooto-case-add-to-cart__disclaimer {
	font-size: 14px;
	line-height: 1.4;
	color: #3E3333;
	margin-bottom: 40px;
}

.tooto-case-add-to-cart__disclaimer strong{
	font-weight: 600;
	color: #C1272D;
}
.added_to_cart {
	width: 100%;
	margin-top: 10px;
}
.tooto-case-add-to-cart__actions:has(.tooto-case-add-to-cart__more-details) .wc-forward {
	margin-top: 0;
}

.tooto-order-sidebar-card {
	display: flex;
	flex-direction: column;
	
}
/* Discount Table Shortcode */
.tooto-discount-table-wrapper {
    width: 100%;
    overflow-x: auto;
}

.tooto-discount-table {
    display: flex;
    flex-direction: column;
    border: 1px solid #EBEBEB;
    border-radius: 8px;
    background-color: #F8F8F8;
    width: 100%;
    overflow: hidden;
	padding-block: 7px;
}

.tooto-dt-row {
    display: flex;
    flex-direction: row;
    width: 100%;
}

.tooto-dt-row:not(:last-child) {
    border-bottom: 1px solid #EBEBEB;
}

.tooto-dt-cell {
    flex: 1;
    padding: 12px;
    text-align: center;
    border-right: 1px solid #EBEBEB;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1D1D1F;
}

.tooto-dt-cell:last-child {
    border-right: none;
}

/* Header Column (Quantity/Unit Price) */
.tooto-dt-head {
    flex: 0 0 140px; /* Fixed width for the label column */
    justify-content: center;
    font-weight: 400;
}

.tooto-dt-range {
    font-weight: 500;
}

.tooto-dt-price {
    font-weight: 600;
}

/* Responsive adjustments */
@media (max-width: 600px) {
    .tooto-dt-head {
        flex: 0 0 100px;
        font-size: 14px;
        padding: 12px;
    }
    .tooto-dt-cell {
        padding: 4px 6px;
        font-size: 13px;
    }
	.tooto-discount-table-wrapper {
		width: 100%;
	}
}

/* Hover Image Menu Widget */
.tooto-hover-image-menu {
    display: flex;
    width: 100%;
    align-items: center;
}

.tooto-hover-image-menu__list {
    display: flex;
    flex-direction: column;
}
.tooto-hover-image-menu__list .list__text {
	padding-right: 5vw;
}
@media(min-width: 1600px) {
	.tooto-hover-image-menu__list .list__text {
		padding-right: 10vw;
	}
}
.tooto-hover-image-menu__item {
    text-decoration: none;
    cursor: pointer;
    transition: color 0.3s ease;
    display: block;
}

.tooto-hover-image-menu__item:hover,
.tooto-hover-image-menu__item.active {
    /* Color handled by Elementor controls */
}

.tooto-hover-image-menu__images {
    position: relative;
    height: 100%;
    overflow: hidden;
}

.tooto-hover-image-menu__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
    pointer-events: none;
}

.tooto-hover-image-menu__image.active {
    opacity: 1;
    z-index: 1;
}

/* Ensure container has height for absolute images if not set explicitly */
.tooto-hover-image-menu__images {
    min-height: inherit; 
}

/* Hover Image Menu Entrance Animation */
@keyframes tootoSlideDownFade {
    0% {
        opacity: 0;
        transform: translateY(-20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Base state: If visible via JS (IntersectionObserver) or in Active Menu */
.tooto-hover-image-menu.tooto-animate-entrance.is-visible,
.menu-item.ct-active .tooto-hover-image-menu.tooto-animate-entrance {
    animation: tootoSlideDownFade 0.6s ease-out forwards;
}

/* Stagger effect for items */
.tooto-hover-image-menu.tooto-animate-entrance .tooto-hover-image-menu__item {
    /* Initially hide items ONLY when we are about to animate them to avoid FOUC in other contexts */
    opacity: 1; 
}

/* Only hide and animate when parent is active/visible */
.tooto-hover-image-menu.tooto-animate-entrance.is-visible .tooto-hover-image-menu__item,
.menu-item.ct-active .tooto-hover-image-menu.tooto-animate-entrance .tooto-hover-image-menu__item {
    opacity: 0; /* Start hidden for animation */
    animation: tootoSlideDownFade 0.4s ease-out forwards;
}

.tooto-hover-image-menu.tooto-animate-entrance.is-visible .tooto-hover-image-menu__item:nth-child(1),
.menu-item.ct-active .tooto-hover-image-menu.tooto-animate-entrance .tooto-hover-image-menu__item:nth-child(1) { animation-delay: 0.1s; }

.tooto-hover-image-menu.tooto-animate-entrance.is-visible .tooto-hover-image-menu__item:nth-child(2),
.menu-item.ct-active .tooto-hover-image-menu.tooto-animate-entrance .tooto-hover-image-menu__item:nth-child(2) { animation-delay: 0.15s; }

.tooto-hover-image-menu.tooto-animate-entrance.is-visible .tooto-hover-image-menu__item:nth-child(3),
.menu-item.ct-active .tooto-hover-image-menu.tooto-animate-entrance .tooto-hover-image-menu__item:nth-child(3) { animation-delay: 0.2s; }

.tooto-hover-image-menu.tooto-animate-entrance.is-visible .tooto-hover-image-menu__item:nth-child(4),
.menu-item.ct-active .tooto-hover-image-menu.tooto-animate-entrance .tooto-hover-image-menu__item:nth-child(4) { animation-delay: 0.25s; }

.tooto-hover-image-menu.tooto-animate-entrance.is-visible .tooto-hover-image-menu__item:nth-child(5),
.menu-item.ct-active .tooto-hover-image-menu.tooto-animate-entrance .tooto-hover-image-menu__item:nth-child(5) { animation-delay: 0.3s; }

.tooto-hover-image-menu.tooto-animate-entrance.is-visible .tooto-hover-image-menu__item:nth-child(6),
.menu-item.ct-active .tooto-hover-image-menu.tooto-animate-entrance .tooto-hover-image-menu__item:nth-child(6) { animation-delay: 0.35s; }

.tooto-hover-image-menu.tooto-animate-entrance.is-visible .tooto-hover-image-menu__item:nth-child(7),
.menu-item.ct-active .tooto-hover-image-menu.tooto-animate-entrance .tooto-hover-image-menu__item:nth-child(7) { animation-delay: 0.4s; }

.tooto-hover-image-menu.tooto-animate-entrance.is-visible .tooto-hover-image-menu__item:nth-child(8),
.menu-item.ct-active .tooto-hover-image-menu.tooto-animate-entrance .tooto-hover-image-menu__item:nth-child(8) { animation-delay: 0.45s; }

.tooto-hover-image-menu.tooto-animate-entrance.is-visible .tooto-hover-image-menu__item:nth-child(9),
.menu-item.ct-active .tooto-hover-image-menu.tooto-animate-entrance .tooto-hover-image-menu__item:nth-child(9) { animation-delay: 0.5s; }

.tooto-hover-image-menu.tooto-animate-entrance.is-visible .tooto-hover-image-menu__item:nth-child(10),
.menu-item.ct-active .tooto-hover-image-menu.tooto-animate-entrance .tooto-hover-image-menu__item:nth-child(10) { animation-delay: 0.55s; }

/* Responsive */
@media (max-width: 768px) {
    .tooto-hover-image-menu {
        flex-direction: column;
    }
    
    .tooto-hover-image-menu__list,
    .tooto-hover-image-menu__images {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100%;
    }
    
    .tooto-hover-image-menu__images {
        margin-top: 20px;
        min-height: 300px; /* Fallback for mobile */
    }
	.tooto-case-add-to-cart__quantity-label {
		font-size: 13px;
	}
	.tooto-case-add-to-cart__quantity-selector {
		padding: 8px 12px;
	}
	.tooto-case-add-to-cart__quantity-input {
		margin-inline: 0 6px !important;
		font-size: 13px !important;
	}
	.tooto-case-add-to-cart__case-info {
		font-size: 16px;
	}
	.tooto-case-add-to-cart__disclaimer {
		font-size: 12px;
		margin-bottom: 24px;
	}
	.tooto-case-add-to-cart__button {
		font-size: 13px;
		height: 35px;
		border-radius: 2px;
	}
	.tooto-case-add-to-cart__button .added_to_cart {
		font-size: 13px;
	}
	.tooto-case-add-to-cart__more-details {
		height: 35px !important;
		font-size: 13px;
	}
	.tooto-product-stock-status__icon {
		width: 18px;
		height: 18px;
	}
	.tooto-file-download {
		gap: 12px;
	}
	.tooto-file-download__input-wrapper .tooto-file-download__input {
		margin-bottom: 0 !important;
		min-height: 38px;
		height: 38px;
	}
	.tooto-file-download__button {
		font-size: 13px;
		line-height: 1;
		height: 38px;
	}
	.added_to_cart {
		height: 35px;
		min-height: auto;
		font-size: 13px;
	}
}

/* Loop Carousel */
.tooto-loop-carousel .splide__track {
    overflow: hidden;
}

.tooto-loop-carousel .splide__list {
    display: flex !important;
    grid-template-columns: none !important;
    flex-wrap: nowrap !important;
    padding: 0 !important;
    margin: 0 !important;
}

.tooto-loop-carousel .splide__slide {
    flex-shrink: 0;
    list-style: none !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: var(--tooto-carousel-gap, 20px) !important; 
    height: auto;
    display: block;
}

/* Fix Elementor Grid items inside carousel */
.tooto-loop-carousel .elementor-loop-item {
    width: 100%; /* Splide controls width of the slide wrapper */
}

/* Navigation: Top Right (Header) */
.tooto-loop-carousel.tooto-nav-top-right {
    position: relative;
}

.tooto-loop-carousel.tooto-nav-top-right .splide__arrows {
    position: absolute;
    top: -110px; /* Approximate header height offset */
    right: 0;
    display: flex;
    gap: 16px;
    z-index: 5;
	width: 150px;
}

/* Default Navigation */
.tooto-loop-carousel:not(.tooto-nav-top-right) .splide__arrow--prev {
    left: -20px;
}

.tooto-loop-carousel:not(.tooto-nav-top-right) .splide__arrow--next {
    right: -20px;
}
header.woocommerce-Address-title.title h2,.woocommerce-MyAccount-content h2{
	font-weight: 600;
	font-family: 'poppins', sans-serif;
	text-transform: capitalize;
	margin-bottom: 0;
}
/* Mobile Load More Behavior */
@media (max-width: 767px) {
    .tooto-loop-carousel[data-mobile-behavior="load_more"] .splide__track {
        overflow: visible;
    }

    .tooto-loop-carousel[data-mobile-behavior="load_more"] .splide__list {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: var(--tooto-carousel-gap, 20px) !important;
    }
	header.woocommerce-Address-title.title h2,.woocommerce-MyAccount-content h2 {
		font-size: 16px;
	}
	.tooto-edit-address-wrapper .woocommerce-Addresses>* {
		padding: 10px 14px;
	}
	.woocommerce-MyAccount-content a{
		font-size: 12px;
	}
	div.tooto-edit-address-wrapper address {
		font-size: 13px;
	}
    .tooto-loop-carousel[data-mobile-behavior="load_more"] .splide__slide {
        width: auto !important;
        margin: 0 !important;
    }

    .tooto-loop-carousel[data-mobile-behavior="load_more"] .splide__arrows {
        display: none !important;
    }
}

.tooto-mobile-load-more-container {
    text-align: center;
    margin-top: 20px;
    clear: both;
}

.tooto-mobile-load-more-btn {
    display: inline-block;
    padding: 10px 30px;
    background-color: transparent;
    color: #C1272D;
    border: 1px solid #C1272D;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s;
    border-radius: 4px;
}

.tooto-mobile-load-more-btn:hover {
    background-color: #C1272D;
    color: #fff;
}
.tooto-loop-carousel .splide__arrow {
    background: rgba(193, 39, 45, 0.8);
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s;
    opacity: 1;
    color: #fff;
}

.tooto-loop-carousel .splide__arrow:hover {
    background: rgba(193, 39, 45, 0.9);;
}

.tooto-loop-carousel .splide__arrow:disabled {
    opacity: 0.3;
    cursor: default;
}

.tooto-loop-carousel .splide__arrow svg {
    fill: currentColor;
    width: 20px;
    height: 24px;
    transform: none; /* Prevent Splide from rotating the icon */
}

.tooto-loop-carousel .splide__arrow--prev svg {
    transform: none !important; /* Force reset for prev arrow specifically */
}

.elementor-element-edit-mode .tooto-loop-carousel .splide__track .elementor-loop-container{
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
}

.tooto-hover-image-menu__list {
	display: flex;
	justify-content: center;
	align-items: center;
}
.list__text {
	display: flex;
	flex-direction: column;
	max-width: 50%;
}
.tooto-price-range {
	font-size: 24px;
	font-weight: 500;
	line-height: normal;
}
.single-product .tooto-price-range {
	font-weight: 600;
}
.home .tooto-price-range {
	font-weight: 600;
}


#shipping_address_type_field {
    width: 100%;
}
#shipping_address_type_field .woocommerce-input-wrapper {
	display: flex;
	align-items: center;
	gap: 8px;
}

#shipping_address_type_field .woocommerce-input-wrapper .radio{
	margin-bottom: 0;
}

.woocommerce-input-wrapper .radio .required {
	display: none;
}

/* mobile css */
@media (max-width: 768px) {
	.tooto-text-type {
		max-width: 100%;
	}
	.tooto-price-range {
		font-size: 16px;
	}
	.tooto-text-type__text {
		min-height: 62px;
			text-shadow: 
			4px 4px 0 #fff,
			4px -4px 0 #fff,
			-4px 4px 0 #fff,
			-4px -4px 0 #fff,
			4px 0 0 #fff,
			-4px 0 0 #fff,
			0 4px 0 #fff,
			0 -4px 0 #fff;
	}
	.tooto-image-carousel--brand-details .tooto-brand-title {
		font-size: 24px;
		margin-bottom: 12px;
	}
	.tooto-image-carousel--brand-details .tooto-brand-subtitle {
		font-size: 14px;
	}
	.tooto-image-carousel--continuous .splide__track {
		width: 100vw;
		margin-inline: -20px;
	}
	.tooto-image-carousel--brand-details .tooto-brand-details-container {
		margin-top: 32px;
	}
	.tooto-image-carousel--brand-details .tooto-brand-description {
		font-size: 13px;
		margin-bottom: 20px;
	}
	.tooto-image-carousel--brand-details .tooto-brand-pagination {
		margin-top: 32px;
		gap: 2px;
	}
	.tooto-image-carousel--brand-details .tooto-brand-dot {
		width: 3px;
		height: 3px;
	}
	.tooto-image-carousel--brand-details .tooto-brand-dot.is-active {
		width: 12px;
	}
	#shipping_address_type_field .woocommerce-input-wrapper {
		display: grid;
		grid-template-columns: 24px 1fr;
	}
	.tooto-success-dialog-title {
		font-size: 18px;
	}
	.tooto-success-dialog-message {
		font-size: 14px;
	}
}


/* .checkout .woocommerce-shipping-fields__field-wrapper p input,
.checkout .woocommerce-shipping-fields__field-wrapper p .radio,
.checkout .woocommerce-shipping-fields__field-wrapper p select,
.checkout .woocommerce-input-wrapper{
	cursor: not-allowed;
} */

/* Custom Radio Button Style - Red Circle with White Dot */
.woocommerce-shipping-fields input[type="radio"]{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 18px;
	height: 18px;
	border: 1px solid #d1d5db;
	border-radius: 50%;
	outline: none;
	cursor: pointer;
	position: relative;
	background-color: #fff;
	transition: all 0.2s ease-in-out;
	vertical-align: middle;
	margin-top: -2px; /* Alignment adjustment */
}

.woocommerce-shipping-fields input[type="radio"]:checked{
	background-color: #b91b1b; /* Red Color */
	border-color: #b91b1b;
}

.woocommerce-shipping-fields input[type="radio"]::before {
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	background-color: #fff;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(0);
	transition: transform 0.2s ease-in-out;
}

.woocommerce-shipping-fields input[type="radio"]:checked::before {
	transform: translate(-50%, -50%) scale(1);
}

.checkout #customer_details .col-2 .form-row:last-child {
	margin-bottom: 1.5rem;
}

/* Checkout Page Custom Heading */
.shipping_address .tooto-checkout-heading {
	font-size: 24px;
	font-weight: 600;
	color: #111;
	margin-bottom: 24px;
	line-height: 1.2;
	text-transform: uppercase;
}

.tooto-loading-overlay {
	position: fixed;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,0.6);
	z-index: 9999;
}

.tooto-loading-spinner {
	width: 48px;
	height: 48px;
	border: 3px solid #e5e7eb;
	border-top-color: #C1272D;
	border-radius: 50%;
	animation: tooto-spin 0.8s linear infinite;
}

@keyframes tooto-spin {
	to { transform: rotate(360deg); }
}

html.tooto-no-scroll,
body.tooto-no-scroll {
	overflow: hidden !important;
	touch-action: none;
	overscroll-behavior: none;
}

/* Checkout Billing Layout: first two rows two columns, rest single column */
@media (min-width: 768px) {

	.woocommerce-checkout #shipping_address_1_field {
		float: right;
		width: 48%;
		overflow: visible;
		clear: none;
	}
	.woocommerce-checkout #customer_details .col-1 .woocommerce-billing-fields__field-wrapper {
		display: flex;
		flex-wrap: wrap;
		column-gap: 24px;
	}
	/* Pair rows: Row 1 (Company | Tax ID) */
	.woocommerce-checkout #billing_company_field,
	.woocommerce-checkout #billing_tax_id_field,
	.woocommerce-checkout #billing_email_field,
	.woocommerce-checkout #billing_address_1_field {
		flex: 0 0 calc(50% - 24px);
		max-width: calc(50% - 24px);
		float: none !important;
	}
	/* Pair rows: Row 2 (Country | City) */
	.woocommerce-checkout #billing_country_field,
	.woocommerce-checkout #billing_city_field,
	.woocommerce-checkout #billing_first_name_field,
	.woocommerce-checkout #billing_phone_field {
		flex: 0 0 calc(50% - 24px);
		max-width: calc(50% - 24px);
		float: none !important;
	}
	/* Single rows for the rest */
	.woocommerce-checkout #billing_state_field,
	.woocommerce-checkout #billing_postcode_field {
		flex: 0 0 100%;
		max-width: 100%;
		float: none !important;
	}
}
