/*
CTC Separate Stylesheet
Updated: 2026-07-01 00:00:00
*/


/* GLOBAL */
html {
	height: 100%;
	overflow-x: clip !important;
}

body {
	display: flex;
    flex-direction: column;
    height: 100%;
	overflow-x: clip !important;
}

body #content {
	--e-global-color-text: #000;
}


/* NOTIFICATIONS */
.woocommerce-message {
	display: flex;
    align-items: center;
	position: absolute;
    width: 100%;
    z-index: 100;
    max-width: 1510px;
    left: 50%;
	line-height: 1 !important;
    transform: translate3d(-50%, 0, 0);
}

.woocommerce-message a,
.woocommerce-NoticeGroup a{
	color: #000 !important;
}

@media (max-width: 767px) {
	.woocommerce-message {
		flex-direction: column;
		align-content: center;
		text-align: center;
	}
	
	.woocommerce-message .button {
		margin-right: auto !important;
		margin-top: 8px !important;
	}
}

.woocommerce-message .button {
	margin-left: auto !important;
}

.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before {
    position: relative;
    top: 0;
    left: 0;
	margin-right: 8px;
	display: none;
}

/* NAV */
.c-mobile-menu .elementor-menu-toggle {
	width: 52px;
	height: 52px;
}

.c-mobile-menu .elementor-menu-toggle__icon--close, 
.c-mobile-menu .elementor-menu-toggle__icon--open {
	display: flex;
}

/* SEARCH */
.c-search svg {
	width: 1.3em !important;
}

.c-search .elementor-button {
	width: 52px !important;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
}

.c-search-inline-result .elementor-page-title {
	display: block !important;
}

.search-inline-result__button .elementor-icon-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
}

/* BUTTON */
.c-button .elementor-button {
	position: relative;
}

.c-button .elementor-button .elementor-button-icon {
	position: absolute;
	right: 36px;
	opacity: 0;
	transition: ease 300ms;
	transition-property: opacity, transform;
}

.c-button:hover .elementor-button .elementor-button-icon {
	transform: translate3d(12px, 0, 0);
	opacity: 1;
}

.c-button .elementor-button .elementor-button-text {
	transition: ease 300ms;
	transition-property: opacity, transform;
}

.c-button:hover .elementor-button .elementor-button-text {
	transform: translate3d(-12px, 0, 0);
}

.button--dark .elementor-button {
	background-color: #000 !important;
}

.button--simple .elementor-button {
	background-color: transparent !important;
	color: #000 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.button--simple .elementor-button .elementor-button-icon {
	fill: #000 !important;
}

.button--simple .elementor-button:hover {
	color: #000;
}

/* CIRCLE LABEL */
.c-circle-label {
	pointer-events: none;
}

@media (max-width: 767px) {
	.c-circle-label svg {
		transform: scale(0.75) !important;
		transform-origin: left top !important;
	}
}

/* RIBBON */
@keyframes ribbonAnimation {
	0% {
    	transform: translate3d(0, 0, 0);
	}
	100% {
		transform: translate3d(-168px, 0, 0);
	}
}

.c-ribbon {
    display: flex;
    gap: 48px;
    white-space: nowrap;
    align-items: center;
    padding: 24px;
    z-index: 10;
    font-weight: 500;
    color: #000;
    font-size: 20px;
    animation-name: ribbonAnimation;
    animation-duration: 3200ms;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

.ribbon__text {
    position: relative;
}

.ribbon__text::after {
    content: "-";
    position: absolute;
    right: -26px;
    top: 50%;
    transform: translate3d(0, -50%, 0);
}

.ribbon--container {
	overflow: hidden !important;
	transform: rotate(-1deg)
}

/* ROTATION CAROUSEL */
.c-rotation-carousel .swiper-slide .swiper-slide-inner{
    transition: transform 2.4s ease;
    transform-origin: center center;
	width: calc(100% - 48px) !important;
	height: auto !important;
	position: relative !important;
	padding-bottom: 60% !important;
}

.c-rotation-carousel .swiper-slide img {
	height: 100%; 
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	object-fit: cover !important;
}

.c-rotation-carousel .pos-active .swiper-slide-inner{
    transform: rotate(0deg) translate3d(0, 0, 0);;
}

.c-rotation-carousel .pos-right-1 .swiper-slide-inner{
    transform: rotate(4deg) translate3d(0, 8%, 0);;
}

.c-rotation-carousel .pos-right-2 .swiper-slide-inner{
    transform: rotate(8deg) translate3d(0, 26%, 0);;
}

.c-rotation-carousel .pos-right-3 .swiper-slide-inner{
    transform: rotate(12deg) translate3d(0, 56%, 0);;
}

.c-rotation-carousel .pos-right-4 .swiper-slide-inner{
    transform: rotate(16deg) translate3d(0, 80%, 0);;
}

.c-rotation-carousel .pos-left-1 .swiper-slide-inner{
    transform: rotate(-4deg) translate3d(0, 8%, 0);;
}

.c-rotation-carousel .pos-left-2 .swiper-slide-inner{
    transform: rotate(-8deg) translate3d(0, 26%, 0);;
}

.c-rotation-carousel .pos-left-3 .swiper-slide-inner{
    transform: rotate(-12deg) translate3d(0, 56%, 0);;
}

.c-rotation-carousel .pos-left-4 .swiper-slide-inner{
    transform: rotate(-16deg) translate3d(0, 80%, 0);
}

.c-rotation-carousel .swiper {
	overflow: visible !important;
}

/* FAQ */

.c-faq {
	counter-reset: section;
}

.c-faq details {
	padding-left: 56px;
}

.c-faq details::before {
	counter-increment: section;
	content: counter(section) ".";
	width: 40px;
	height: 40px;
	border-radius: 40px;
	border: 2px solid var(--e-global-color-accent);
	display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
	position: absolute;
    left: 0;
    top: 6px;
}

/* PRODUCT SLIDER */
.c-product-loop .swiper {
	padding: 96px 24px !important;
	margin: -96px -24px !important;
}

.c-product-loop .elementor-swiper-button {
	background-color: #000;
    width: 52px;
    height: 52px;
    border-radius: 8px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transform: translate3d(26px, -12px, 0) !important;
}

.c-product-loop .elementor-swiper-button-prev {
    transform: translate3d(-26px, -12px, 0) !important;
}

/* PRODUCT CARD */
.c-product-card {
	justify-content: space-between !important;
	overflow: hidden !important;
	transition: ease 600ms !important;
	transition-property: transform, filter !important;
}

.c-product-card:hover {
	transform: rotate(1deg);
	filter: drop-shadow(0 12px 26px rgba(0,0,0,0.25));
}

.product-card__price {
	white-space: nowrap !important;
}

.product-card__image::before {
	content: '';
	width: 100%;
	height: 96px;
	position: absolute;
	top: 0;
	background-image: linear-gradient(0deg, rgba(255,255,255,0), rgba(255,255,255,1))
}

.product-card__button {
	left: 50% !important;
    transform: translate3d(-50%, 100%, 0);
    white-space: nowrap;
    bottom: 8px !important;
	opacity: 0;
	visibility: hidden;
	transition: ease 600ms !important;
	transition-property: transform, opacity, visibility !important;	
}

.product-card__button .elementor-button-link::after {
	content: '';
    width: 400%;
    height: 2000%;
    position: absolute;
    bottom: -100%;
    left: -200%;
}

.c-product-card:hover .product-card__button {
	opacity: 1;
	visibility: visible;
    transform: translate3d(-50%, 0, 0);
}

.product-card__description {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* PRODUCT CATEGORIES */
.c-product-categories .woocommerce-loop-category__title {
	width: 100%;
	position: absolute;
	bottom: 48px;
}

.c-product-categories .product-category a{
	position: relative;
	overflow: hidden;
	display: inline-block;
}

.c-product-categories .product-category a::before,
.c-product-categories .product-category a::after {
	content: '';
	position: absolute;
	bottom: 0;
}

.c-product-categories .product-category a::before {
	width: 100%;
	height: 96px;
	left: 0;
	background-image: linear-gradient(0deg, rgba(0,0,0,1), rgba(0,0,0,0));
	border-radius: 0 0 8px 8px; 
}

.c-product-categories .product-category a::after {
	width: 52px;
	height: 52px;
	right: 0;
	border-radius: 8px;
	background-color: #000;
	background-size: 20px;
    background-repeat: no-repeat;
	background-position: center, center;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath fill='white' d='M569 337C578.4 327.6 578.4 312.4 569 303.1L401 135C391.6 125.6 376.4 125.6 367.1 135C357.8 144.4 357.7 159.6 367.1 168.9L494.1 295.9L88 295.9C74.7 295.9 64 306.6 64 319.9C64 333.2 74.7 343.9 88 343.9L494.1 343.9L367.1 470.9C357.7 480.3 357.7 495.5 367.1 504.8C376.5 514.1 391.7 514.2 401 504.8L569 337z'/%3E%3C/svg%3E");
}

.c-product-categories .product-category a img {
	margin-bottom: 0 !important;
}

/* SINGLE PRODUCT */
.single-product .cart {
	display: flex;
    align-items: flex-end;
    justify-content: flex-end;
	z-index: 60;
	position: relative;
	flex-wrap: wrap;
}

.single-product .e-atc-qty-button-holder {
	justify-content: flex-end;
}

.single-product .single_variation_wrap {
	display: flex;
    align-items: center;
    gap: 24px;
}

.single-product .price {
	color: var( --e-global-color-secondary ) !important;
    font-weight: 700 !important;
	margin-bottom: 0px;
}

.single-product .variations {
	width: fit-content !important;
    margin-right: auto;
}

.single-product .variations tr {
	display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

.single-product .variations .label {
	padding: 0;
}

.single-product table tbody>tr>td, table tbody>tr>th {
	background-color: transparent !important;
}

.single-product .variations .reset_variations {
	display: none !important;
}

.single-product .elementor-widget-woocommerce-product-images {
	overflow: hidden;
	border-radius: 0 0 24px 24px;
}


/* FOOTER */
footer:has(.c-footer) {
	position: relative;
    margin-top: auto;
    padding-top: 52px;
    transition: ease 300ms;
    transition-property: opacity, visibility;
}

footer:has(.c-footer)::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 0;
	width: calc(100% - 24px);
    height: 100%;
    background-color: var(--e-global-color-0b1548d);
    border-radius: 12px 12px 0 0;
    margin-top: auto;
}

.footer__nav ul {
	display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* CHECKOUT */
.woocommerce .blockUI {
	background-color: #fef5e3 !important;
}

/* OPENING HOURS */
.u-opening-hours {
    display: flex;
    flex-wrap: wrap;
	color: #fff;
	line-height: 1.4;
}

.opening-hours__day {
    min-width: 68px;
}

.opening-hours__time {
    width: calc(100% - 68px);
}