/* Komilfo content pages */
.komilfo-content-page,
.komilfo-faq-page,
.komilfo-stores-page,
.komilfo-page {
	font-family: 'Roboto', Arial, sans-serif;
	color: #222;
	max-width: 100%;
	padding: 0 20px;
	box-sizing: border-box;
}

.komilfo-content-page__article,
.komilfo-page article,
.komilfo-faq-page article,
.komilfo-stores-page article {
	max-width: 100%;
	margin: 40px auto 60px;

	box-sizing: border-box;
}

.komilfo-content-page__header,
.komilfo-faq-page .entry-title,
.komilfo-stores-page .entry-title,
.komilfo-page .entry-title {
	text-align: center;
	margin: 0 0 30px;
	font-size: 28px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: #1a1918;
	position: relative;
	display: block;
	padding-bottom: 15px;
}

.komilfo-content-page__header::after,
.komilfo-faq-page .entry-title::after,
.komilfo-stores-page .entry-title::after,
.komilfo-page .entry-title::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 50px;
	height: 3px;
	background-color: #b969dd;
	border-radius: 2px;
}

.komilfo-content-page__body,
.komilfo-faq-page .entry-content,
.komilfo-stores-page .entry-content,
.komilfo-page .entry-content {
	line-height: 1.75;
	font-size: 15px;
	color: #333333;
}

/* Rounded Images inside Content */
.komilfo-content-page__body img,
.komilfo-faq-page .entry-content img,
.komilfo-stores-page .entry-content img,
.komilfo-page .entry-content img,
.komilfo-content-page__body figure,
.komilfo-page .entry-content figure {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 20px auto;
	border-radius: 12px;
	border: 1px solid #f1e9f6;
	box-shadow: 0 8px 24px rgba(185, 105, 221, 0.03);
}

.komilfo-content-page__body h2,
.komilfo-content-page__body h3,
.komilfo-faq-page .entry-content h2,
.komilfo-page .entry-content h2,
.komilfo-page .entry-content h3 {
	margin: 2rem 0 1rem;
	font-size: 20px;
	font-weight: 600;
	color: #1a1918;
}

.komilfo-content-page__body p,
.komilfo-faq-page .entry-content p,
.komilfo-stores-page .entry-content p,
.komilfo-page .entry-content p {
	margin: 0 0 1.25rem;
}

.komilfo-content-page__body a,
.komilfo-faq-page .entry-content a,
.komilfo-stores-page .entry-content a,
.komilfo-page .entry-content a {
	color: #b969dd;
	text-decoration: none;
	transition: color 0.2s ease;
}

.komilfo-content-page__body a:hover,
.komilfo-faq-page .entry-content a:hover,
.komilfo-stores-page .entry-content a:hover,
.komilfo-page .entry-content a:hover {
	color: #9c4cb8;
}

/* FAQ accordion */
.komilfo-faq__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 16px 0;
	border: 0;
	border-top: 1px solid #f0f0f0;
	background: transparent;
	color: #1a1918;
	font-family: 'Roboto', Arial, sans-serif;
	font-size: 16px;
	font-weight: 500;
	text-align: left;
	cursor: pointer;
	text-decoration: none;
	transition: color 0.25s ease, border-color 0.25s ease;
	outline: none;
}

.komilfo-faq__question:hover {
	color: #b969dd;
}

.komilfo-faq__question:focus-visible {
	outline: 2px solid #b969dd;
	outline-offset: 2px;
	border-radius: 4px;
}

.komilfo-faq__question::after {
	content: "\f078";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 11px;
	color: #999;
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), color 0.25s ease;
}

.komilfo-faq__question:hover::after {
	color: #b969dd;
}

.komilfo-faq__item.is-open .komilfo-faq__question {
	color: #b969dd;
	font-weight: 600;
}

.komilfo-faq__item.is-open .komilfo-faq__question::after {
	transform: rotate(180deg);
	color: #b969dd;
}

.komilfo-faq__answer {
	display: none;
	padding: 8px 0 20px;
	font-size: 15px;
	line-height: 1.75;
	color: #444;
}

.komilfo-faq__answer video {
	max-width: 100%;
	width: 100%;
	height: auto;
	border-radius: 10px;
}

@media (max-width: 768px) {

	.komilfo-content-page__article,
	.komilfo-page article,
	.komilfo-faq-page article,
	.komilfo-stores-page article {

		margin: 20px auto 40px;
		border-radius: 12px;
	}

	.komilfo-content-page__header,
	.komilfo-faq-page .entry-title,
	.komilfo-stores-page .entry-title,
	.komilfo-page .entry-title {
		font-size: 22px;
		margin-bottom: 20px;
	}
}

/* -------------------------------------------------------------
   Page-Specific Content Styling
------------------------------------------------------------- */

/* Generic Content Enhancement */
.komilfo-content-page__body iframe,
.komilfo-page .entry-content iframe {
	width: 100%;
	height: 400px;
	border-radius: 16px;
	border: 1px solid #f1e9f6;
	box-shadow: 0 10px 30px rgba(185, 105, 221, 0.04);
	margin: 30px auto;
	display: block;
}

.komilfo-content-page__body ul,
.komilfo-page .entry-content ul {
	margin: 25px 0 25px 20px;
	padding: 0;
	list-style: none;
}

.komilfo-content-page__body ul li,
.komilfo-page .entry-content ul li {
	position: relative;

	margin-bottom: 12px;
	font-size: 15px;
	line-height: 1.6;
	color: #444444;
}

.komilfo-content-page__body ul li::before,
.komilfo-page .entry-content ul li::before {
	content: "\f00c";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: absolute;
	left: 0;
	top: 3px;
	color: #b969dd;
	font-size: 12px;
	margin-left: -22px;
}

/* 1. HTML5 Video Player wrappers */
.komilfo-page-video-wrap {
	position: relative;
	max-width: 800px;
	margin: 35px auto;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 20px 45px rgba(185, 105, 221, 0.12);
	border: 1px solid #ebdcf5;
	background-color: #000000;
}

.komilfo-page-video-play-btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 60px;
	height: 60px;
	background: rgba(185, 105, 221, 0.85);
	color: #ffffff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	cursor: pointer;
	z-index: 5;
	transition: all 0.3s ease;
	pointer-events: none;
	box-shadow: 0 4px 15px rgba(185, 105, 221, 0.4);
}

.komilfo-page-video-wrap:hover .komilfo-page-video-play-btn {
	background: #b969dd;
	transform: translate(-50%, -50%) scale(1.1);
	box-shadow: 0 6px 20px rgba(185, 105, 221, 0.6);
}

.komilfo-page-video-wrap.is-playing .komilfo-page-video-play-btn {
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, -50%) scale(0.8);
}

.komilfo-page-video {
	width: 100%;
	display: block;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

/* 2. About Page - Stats Cards */
.komilfo-about-stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin: 40px 0;
}

.komilfo-about-stat-card {
	background: linear-gradient(135deg, #ffffff, #faf7fc);
	border: 1px solid #f1e9f6;
	border-radius: 16px;
	padding: 24px;
	text-align: center;
	box-shadow: 0 10px 25px rgba(185, 105, 221, 0.03);
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.komilfo-about-stat-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 35px rgba(185, 105, 221, 0.08);
	border-color: #ebdcf5;
}

.komilfo-about-stat-card__icon-wrap {
	width: 70px;
	height: 70px;
	margin: 0 auto 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
	border-radius: 50%;
	border: 1px solid #f5edf8;
	box-shadow: 0 4px 10px rgba(185, 105, 221, 0.04);
}

.komilfo-about-stat-card__icon-wrap img {
	max-width: 40px;
	height: auto;
	transition: transform 0.3s ease;
}

.komilfo-about-stat-card:hover .komilfo-about-stat-card__icon-wrap img {
	transform: scale(1.1);
}

.komilfo-about-stat-card__text {
	font-size: 15px;
	color: #333333;
	font-weight: 500;
	line-height: 1.4;
}

/* 2. About Page - Technologists */
.komilfo-about-techs-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 25px;
	margin: 40px 0;
}

.komilfo-about-tech-card {
	background: #ffffff;
	border: 1px solid #ebdcf5;
	border-radius: 16px;
	padding: 35px 25px;
	text-align: center;
	box-shadow: 0 12px 30px rgba(185, 105, 221, 0.04);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	transition: all 0.3s ease;
}

.komilfo-about-tech-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 40px rgba(185, 105, 221, 0.08);
	border-color: #b969dd;
}

.komilfo-about-tech-card__avatar-wrap {
	width: 90px;
	height: 90px;
	border-radius: 50%;
	background: linear-gradient(135deg, #b969dd, #e0a3f7);
	padding: 3px;
	margin-bottom: 20px;
	box-shadow: 0 8px 18px rgba(185, 105, 221, 0.2);
}

.komilfo-about-tech-card__avatar-placeholder {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #b969dd;
	font-size: 28px;
}

.komilfo-about-tech-card__name {
	font-size: 19px;
	font-weight: 600;
	color: #1a1918;
	margin: 0 0 12px;
}

.komilfo-about-tech-card__bio {
	font-size: 14px;
	color: #666666;
	line-height: 1.6;
	margin: 0 0 24px;
	flex-grow: 1;
}

.komilfo-about-tech-card__btn {
	display: inline-block;
	padding: 10px 24px;
	background: transparent;
	border: 2px solid #b969dd;
	color: #b969dd;
	border-radius: 30px;
	font-weight: 600;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: all 0.3s ease;
	text-decoration: none;
}

.komilfo-about-tech-card__btn:hover {
	background: #b969dd;
	color: #ffffff !important;
	box-shadow: 0 6px 15px rgba(185, 105, 221, 0.3);
}

/* 3. Master Classes Page - Schedule Cards */
.komilfo-schedule-cards-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 20px;
	margin: 30px 0 45px;
}

.komilfo-schedule-card {
	background: #fdfbff;
	border: 1px solid #f1e9f6;
	border-left: 4px solid #b969dd;
	border-radius: 10px;
	padding: 20px;
	box-shadow: 0 6px 18px rgba(185, 105, 221, 0.02);
	display: flex;
	flex-direction: column;
	gap: 12px;
	transition: all 0.3s ease;
}

.komilfo-schedule-card:hover {
	transform: translateX(4px);
	background: #ffffff;
	box-shadow: 0 10px 25px rgba(185, 105, 221, 0.08);
}

.komilfo-schedule-card__city,
.komilfo-schedule-card__date,
.komilfo-schedule-card__time {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
}

.komilfo-schedule-card__city {
	font-weight: 600;
	color: #1a1918;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.komilfo-schedule-card__city i {
	color: #b969dd;
}

.komilfo-schedule-card__date {
	color: #333333;
	font-weight: 500;
}

.komilfo-schedule-card__date i {
	color: #e0a3f7;
}

.komilfo-schedule-card__time {
	color: #666666;
	font-size: 13px;
}

.komilfo-schedule-card__time i {
	color: #999999;
}

/* 3. Master Classes Page - Teachers */
.komilfo-teachers-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin: 40px 0;
}

.komilfo-teacher-card {
	background: #ffffff;
	border: 1px solid #f1e9f6;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 10px 25px rgba(185, 105, 221, 0.03);
	transition: all 0.3s ease;
}

.komilfo-teacher-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 36px rgba(185, 105, 221, 0.08);
	border-color: #ebdcf5;
}

.komilfo-teacher-card__image-wrap {
	width: 100%;
	aspect-ratio: 1;
	overflow: hidden;
	background: #faf7fc;
	border-bottom: 1px solid #f5edf8;
}

.komilfo-teacher-card__image-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.komilfo-teacher-card:hover .komilfo-teacher-card__image-wrap img {
	transform: scale(1.06);
}

.komilfo-teacher-card__info {
	padding: 20px 15px;
	text-align: center;
}

.komilfo-teacher-card__name {
	font-size: 16px;
	font-weight: 600;
	color: #1a1918;
	margin: 0 0 8px;
}

.komilfo-teacher-card__city {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	color: #b969dd;
	background: #faf0fe;
	padding: 4px 12px;
	border-radius: 20px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.komilfo-teacher-card__city i {
	margin-right: 4px;
}

/* 4. Representatives Page (Stores shortcode) Override */
.stores-list .city-section {
	margin-bottom: 50px;
}

.stores-list .city-title {
	background: transparent;
	border: none;
	margin-bottom: 30px;
	text-align: left;
}

.stores-list .city-title::before {
	display: none;
}

.stores-list .city-title span {
	font-family: 'Roboto', Arial, sans-serif;
	font-size: 24px;
	font-weight: 600;
	color: #1a1918;
	padding: 0;
	border-bottom: 3px solid #b969dd;
	padding-bottom: 6px;
	background: transparent;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.stores-list .stores-container {
	padding: 0;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 30px;
}

.stores-list .store-separator {
	display: none;
}

.stores-list .store-item {
	background: #faf8fc;
	border: 1px solid #f1e9f6;
	border-radius: 16px;
	padding: 30px;
	box-shadow: 0 8px 24px rgba(185, 105, 221, 0.02);
	transition: all 0.3s ease;
	display: flex;
	gap: 24px;
	align-items: stretch;
	margin: 0;
}

.stores-list .store-item:hover {
	transform: translateY(-4px);
	background: #ffffff;
	border-color: #ebdcf5;
	box-shadow: 0 15px 35px rgba(185, 105, 221, 0.08);
}

.stores-list .store-left {
	flex: 1;
	padding-right: 0;
	text-align: left;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

.stores-list .store-left h2 {
	font-size: 17px;
	font-weight: 600;
	color: #1a1918;
	margin: 0 0 15px;
	text-transform: uppercase;
	line-height: 1.3;
}

.stores-list .store-left .store-image {
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid #ebdcf5;
	background: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px;
	box-shadow: inset 0 2px 6px rgba(185, 105, 221, 0.02);
	height: 110px;
}

.stores-list .store-left img {
	max-height: 90px;
	width: auto;
	object-fit: contain;
}

.stores-list .store-right {
	flex: 1.2;
	padding-top: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.stores-list .list-custom__content {
	font-size: 14px;
	line-height: 1.6;
	color: #444444;
}

.stores-list .list-custom__content p {
	margin-bottom: 8px;
	color: #444444;
	line-height: 1.5;
}

.stores-list .list-custom__content p:last-child {
	margin-bottom: 0;
}

.stores-list .list-custom__content strong {
	color: #1a1918;
	font-weight: 600;
}

.stores-list .list-custom__content a {
	color: #b969dd;
	font-weight: 500;
	transition: color 0.2s ease;
	word-break: break-all;
}

.stores-list .list-custom__content a:hover {
	color: #9c4cb8;
	text-decoration: none;
}

/* Responsive Overrides */
@media (max-width: 992px) {
	.komilfo-about-stats-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.komilfo-about-techs-grid {
		grid-template-columns: 1fr;
		max-width: 450px;
		margin: 40px auto;
	}

	.komilfo-teachers-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.stores-list .stores-container {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.stores-list .store-item {
		flex-direction: column;
		padding: 20px;
	}

	.stores-list .store-left .store-image {
		margin-top: 15px;
	}

	.komilfo-content-page__body iframe,
	.komilfo-page .entry-content iframe {
		height: 250px;
	}
}

@media (max-width: 480px) {
	.komilfo-about-stats-grid {
		grid-template-columns: 1fr;
	}

	.komilfo-teachers-grid {
		grid-template-columns: 1fr;
		max-width: 320px;
		margin: 40px auto;
	}
}

/* 5. Sponsorship Page specific styling */
.komilfo-page-hero {
	position: relative;
	width: calc(100% + 80px);
	/* Span past the standard container padding */
	margin-left: -40px;
	margin-right: -40px;
	margin-top: -40px;
	margin-bottom: 40px;
	height: 380px;
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
	justify-content: center;
	border-top-left-radius: 16px;
	border-top-right-radius: 16px;
	overflow: hidden;
}

.komilfo-page-hero__overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(26, 25, 24, 0.45);
	z-index: 1;
}

.komilfo-page-hero__title {
	position: relative;
	z-index: 2;
	color: #ffffff;
	font-family: 'Roboto', sans-serif;
	font-size: 72px;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	margin: 0;
	text-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.komilfo-championship-section {
	margin-bottom: 60px;
	border-bottom: 1px solid #f1e9f6;
	padding-bottom: 50px;
}

.komilfo-championship-section:last-of-type {
	border-bottom: 0;
	padding-bottom: 0;
}

.komilfo-championship-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 40px;
	margin-bottom: 30px;
}

.komilfo-championship-info {
	flex: 1.5;
}

.komilfo-championship-info h2 {
	font-family: 'Roboto', Arial, sans-serif;
	font-size: 24px;
	font-weight: 700;
	color: #1a1918;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin: 0 0 16px 0;
}

.komilfo-championship-desc p {
	font-size: 15px;
	line-height: 1.7;
	color: #555555;
	margin-bottom: 12px;
}

.komilfo-championship-desc p:last-child {
	margin-bottom: 0;
}

.komilfo-championship-logo {
	flex: 0.8;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	min-height: 120px;
}

.komilfo-championship-logo__img-wrap {
	background: #ffffff;
	padding: 15px;
	border-radius: 12px;
	border: 1px solid #f1e9f6;
	box-shadow: 0 8px 20px rgba(185, 105, 221, 0.03);
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 220px;
	width: 100%;
}

.komilfo-championship-logo__img-wrap img {
	max-width: 100%;
	max-height: 100px;
	object-fit: contain;
	border-radius: 0;
	border: none;
	box-shadow: none;
	margin: 0;
}

.komilfo-championship-media-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 30px;
}

.komilfo-championship-media-item {
	position: relative;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(185, 105, 221, 0.04);
	border: 1px solid #f1e9f6;
	background: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1.4;
}

.komilfo-championship-media-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: none;
	border-radius: 0;
	box-shadow: none;
	margin: 0;
	transition: transform 0.4s ease;
}

.komilfo-championship-media-item:hover img {
	transform: scale(1.05);
}

.komilfo-championship-media-item .komilfo-page-video-wrap {
	width: 100%;
	height: 100%;
	margin: 0;
	border-radius: 0;
	border: none;
	box-shadow: none;
}

.komilfo-championship-media-item video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Diplomas Gallery & Slider */
.komilfo-diplomas-gallery {
	margin-top: 50px;
	border-top: 2px dashed #f1e9f6;
	padding-top: 50px;
}

.komilfo-diplomas-gallery__title {
	text-align: center;
	font-family: 'Roboto', Arial, sans-serif;
	font-size: 26px;
	font-weight: 700;
	color: #1a1918;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0 0 35px 0;
}

.komilfo-diplomas-slider-container {
	position: relative;
	max-width: 600px;
	margin: 0 auto;
	background: #ffffff;
	border: 1px solid #f1e9f6;
	border-radius: 16px;
	padding: 40px;
	box-shadow: 0 15px 35px rgba(185, 105, 221, 0.05);
	display: flex;
	align-items: center;
	justify-content: center;
}

.komilfo-diplomas-slider-viewport {
	position: relative;
	width: 100%;
	aspect-ratio: 0.8;
	overflow: hidden;
	border-radius: 8px;
}

.komilfo-diplomas-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	z-index: 1;
	transition: opacity 0.4s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fdfbff;
}

.komilfo-diplomas-slide.is-active {
	opacity: 1;
	z-index: 2;
}

.komilfo-diplomas-slide img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	border-radius: 4px;
	border: none;
	box-shadow: none;
	margin: 0;
}

.komilfo-diplomas-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: #ffffff;
	border: 1px solid #ebdcf5;
	color: #b969dd;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	z-index: 10;
	box-shadow: 0 4px 12px rgba(185, 105, 221, 0.1);
	transition: all 0.3s ease;
}

.komilfo-diplomas-arrow:hover {
	background: #b969dd;
	color: #ffffff;
	border-color: #b969dd;
	box-shadow: 0 6px 15px rgba(185, 105, 221, 0.25);
}

.komilfo-diplomas-arrow--prev {
	left: -23px;
}

.komilfo-diplomas-arrow--next {
	right: -23px;
}

.komilfo-diplomas-thumbnails {
	display: flex;
	gap: 12px;
	overflow-x: auto;
	margin: 30px auto 0;
	padding: 10px 5px;
	justify-content: flex-start;
	max-width: 680px;
	scrollbar-width: thin;
	scrollbar-color: #b969dd #faf7fc;
}

.komilfo-diplomas-thumbnails::-webkit-scrollbar {
	height: 6px;
}

.komilfo-diplomas-thumbnails::-webkit-scrollbar-track {
	background: #faf7fc;
	border-radius: 3px;
}

.komilfo-diplomas-thumbnails::-webkit-scrollbar-thumb {
	background-color: #e0a3f7;
	border-radius: 3px;
}

.komilfo-diplomas-thumb {
	flex: 0 0 68px;
	width: 68px;
	height: 68px;
	border-radius: 8px;
	border: 2px solid #ebdcf5;
	overflow: hidden;
	cursor: pointer;
	opacity: 0.5;
	transition: all 0.2s ease;
	background: #ffffff;
}

.komilfo-diplomas-thumb.is-active,
.komilfo-diplomas-thumb:hover {
	opacity: 1;
	border-color: #b969dd;
	transform: scale(1.03);
}

.komilfo-diplomas-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
	border: none;
	box-shadow: none;
	margin: 0;
}

/* Responsiveness overrides for Sponsorship page */
@media (max-width: 992px) {
	.komilfo-diplomas-slider-container {
		max-width: 500px;
		padding: 25px;
	}
}

@media (max-width: 768px) {
	.komilfo-page-hero {
		height: 250px;
		width: calc(100% + 40px);
		margin-left: -20px;
		margin-right: -20px;
		margin-top: -24px;
	}

	.komilfo-page-hero__title {
		font-size: 38px;
		letter-spacing: 0.1em;
	}

	.komilfo-championship-header {
		flex-direction: column;
		gap: 20px;
	}

	.komilfo-championship-logo {
		justify-content: center;
		width: 100%;
		min-height: auto;
	}

	.komilfo-championship-media-grid {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	.komilfo-championship-media-item {
		aspect-ratio: 16 / 9;
	}

	.komilfo-diplomas-slider-container {
		max-width: 100%;
		padding: 20px;
	}

	.komilfo-diplomas-arrow--prev {
		left: -10px;
	}

	.komilfo-diplomas-arrow--next {
		right: -10px;
	}

	.komilfo-diplomas-thumbnails {
		max-width: 100%;
	}
}

/* -------------------------------------------------------------
   Social Networks Page Styling
   ------------------------------------------------------------- */
.komilfo-social-page {
	width: 100%;
	box-sizing: border-box;
	overflow-x: hidden;
}

.komilfo-social-page img,
.komilfo-social-page video {
	max-width: 100% !important;
	height: auto !important;
	display: block;
}

/* Банери на всю ширину */
.social-hero-banner,
.social-footer-banner {
	width: 100vw !important;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw !important;
	margin-right: -50vw !important;
	margin-bottom: 50px;
}

.social-hero-banner img,
.social-footer-banner img {
	width: 100% !important;
	object-fit: cover;
}

/* Вступний текст */
.social-intro-text {
	max-width: 1000px !important;
	margin: 0 auto 60px auto !important;
	text-align: center;
	padding: 0 20px;
}

.social-intro-text p {
	font-size: 16px;
	line-height: 1.6;
	color: #555;
}

/* Рядки соцмереж (Flexbox) */
.social-row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	max-width: 1200px !important;
	margin: 0 auto 60px auto !important;
	padding: 0 20px;
	gap: 50px;
	border-bottom: 1px solid #eee;
	padding-bottom: 60px;
}

.social-row:last-of-type {
	border-bottom: none;
}

/* Зворотній порядок (відео зліва, текст справа) */
.social-row.reverse-layout {
	flex-direction: row-reverse !important;
}

/* Текстовий блок соцмережі */
.social-info {
	flex: 1 !important;
}

.social-info h2 {
	font-size: 24px !important;
	text-transform: uppercase;
	font-weight: 300;
	letter-spacing: 2px;
	margin-top: 0 !important;
	margin-bottom: 20px !important;
	color: #000;
}

.social-info ul {
	padding-left: 20px !important;
	margin-bottom: 30px !important;
	list-style: disc !important;
}

.social-info ul li {
	font-size: 15px;
	line-height: 1.6;
	margin-bottom: 10px;
	color: #555;
	padding-left: 0 !important;
}

.social-info ul li::before {
	display: none !important;
}

.social-info ul li a {
	color: #000;
	text-decoration: underline;
}

/* Кнопка */
.social-btn {
	display: inline-block !important;
	background-color: #000 !important;
	color: #fff !important;
	padding: 12px 30px !important;
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: 1px;
	text-decoration: none !important;
	transition: opacity 0.3s ease;
}

.social-btn:hover {
	opacity: 0.8;
	color: #fff !important;
}

/* Блок з відео */
.social-media-wrapper {
	flex: 0 0 350px !important;
	/* Фіксована ширина для відео, щоб воно не розтягувалося */
	max-width: 350px !important;
}

.social-media-wrapper video {
	width: 100% !important;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

/* Нижній блок (Слоган та іконки) */
.social-footer-bottom {
	text-align: center;
	max-width: 1200px !important;
	margin: 0 auto 50px auto !important;
	padding: 0 20px;
}

.footer-logo-img {
	margin: 0 auto 10px auto !important;
	max-width: 300px !important;
}

.social-footer-bottom p {
	text-transform: uppercase;
	font-size: 14px;
	letter-spacing: 1px;
	color: #555;
	margin-bottom: 40px !important;
}

/* Ряд з міні-іконками */
.social-icons-row {
	display: flex !important;
	justify-content: center !important;
	gap: 20px !important;
	flex-wrap: wrap;
}

.social-icons-row a {
	display: block;
}

.social-icons-row img {
	width: 40px !important;
	/* Розмір нижніх іконок */
	height: 40px !important;
	object-fit: contain;
	transition: transform 0.3s ease;
}

.social-icons-row img:hover {
	transform: scale(1.1);
}

/* Адаптивність для планшетів та телефонів */
@media (max-width: 992px) {

	.social-row,
	.social-row.reverse-layout {
		flex-direction: column !important;
		/* На мобільному відео стає під текстом */
		text-align: center;
		gap: 30px;
	}

	.social-info ul {
		text-align: left;
	}

	.social-media-wrapper {
		flex: 1 !important;
		max-width: 100% !important;
		width: 100%;
	}
}

/* -------------------------------------------------------------
   New Sponsorship Page Layout (champ-)
   ------------------------------------------------------------- */
.championship-wrapper {
	max-width: 1200px;
	margin: 0 auto;
	font-family: Arial, Helvetica, sans-serif;
	color: #333;
	padding: 0 15px;
}

.champ-hero {
	margin-bottom: 40px;
}

.champ-hero img {
	width: 100%;
	height: auto;
	display: block;
}

.champ-section {
	padding: 40px 0;
	border-bottom: 1px solid #e0e0e0;
}

.champ-section:last-of-type {
	border-bottom: none;
}

.champ-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 40px;
	margin-bottom: 30px;
}

.champ-info {
	flex: 1;
}

.champ-info h2 {
	font-size: 22px;
	text-transform: uppercase;
	font-weight: normal;
	letter-spacing: 1px;
	margin-top: 0;
	margin-bottom: 15px;
}

.champ-info p {
	font-size: 15px;
	line-height: 1.6;
	margin-bottom: 15px;
	color: #555;
}

.champ-logo {
	flex: 0 0 250px;
	display: flex;
	justify-content: flex-end;
}

.champ-logo img {
	max-width: 100%;
	max-height: 120px;
	object-fit: contain;
}

.champ-media-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.media-item {
	position: relative;
	aspect-ratio: 16 / 9;
	background: #000;
	overflow: hidden;
}

.media-item img,
.media-item video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.media-item .komilfo-page-video-wrap {
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	border-radius: 0 !important;
	border: none !important;
	box-shadow: none !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
}

.media-item video {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.champ-scroller-section {
	padding: 60px 0;
	text-align: center;
}

.scroller-logo-wrap {
	margin-bottom: 30px;
}

.scroller-logo-wrap img {
	max-width: 300px;
	height: auto;
}

.scroller-preview-wrap {
	max-width: 480px;
	margin: 0 auto 30px auto;
	border: 1px solid #ebdcf5;
	border-radius: 12px;
	padding: 15px;
	box-shadow: 0 8px 24px rgba(185, 105, 221, 0.04);
	background: #fff;
}

#scroller-active-img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
	object-fit: contain;
	max-height: 500px;
	transition: opacity 0.2s ease-in-out;
}

.scroller-thumbnails {
	display: flex;
	justify-content: center;
	gap: 5px;
	overflow-x: auto;
	padding-bottom: 15px;
}

.scroller-thumbnails img {
	width: 65px;
	height: 60px;
	object-fit: cover;
	opacity: 0.5;
	cursor: pointer;
	transition: all 0.3s ease;
}

.scroller-thumbnails img:hover,
.scroller-thumbnails img.active {
	opacity: 1;
}

@media (max-width: 768px) {
	.champ-header {
		flex-direction: column;
	}

	.champ-logo {
		justify-content: flex-start;
		margin-top: 20px;
	}

	.champ-media-grid {
		grid-template-columns: 1fr;
	}

	.scroller-thumbnails {
		justify-content: flex-start;
	}
}

/* -------------------------------------------------------------
   Wholesale (Opt) Page Custom Styles
   ------------------------------------------------------------- */
.komilfo-opt-page {
	max-width: 100%;
	margin: 0 auto;
}

.komilfo-opt-page .opt-intro {
	text-align: center;
	padding: 35px 40px;
	background: #ffffff;
	border: 1px solid #ebdcf5;
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(185, 105, 221, 0.04);
	margin-bottom: 30px;
}

.komilfo-opt-page .opt-intro h1 {
	font-size: 28px;
	font-weight: 700;
	color: #1a1918;
	margin: 0 0 20px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.komilfo-opt-page .opt-intro p {
	font-size: 15px;
	line-height: 1.7;
	color: #444;
	max-width: 100%;
	margin: 0 auto 15px;
}

.komilfo-opt-page .opt-intro p:last-child {
	margin-bottom: 0;
}

.komilfo-opt-page .opt-columns {
	display: grid;
	grid-template-columns: 1fr 1.3fr;
	gap: 30px;
	align-items: start;
	margin-bottom: 40px;
}

@media (min-width: 869px) {
	.komilfo-opt-page .opt-contacts {
		position: -webkit-sticky;
		position: sticky;
		top: 140px;
		z-index: 10;
	}
}

.komilfo-opt-page .opt-column {
	background: #ffffff;
	border: 1px solid #ebdcf5;
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(185, 105, 221, 0.04);
	padding: 35px 30px;
}

.komilfo-opt-page .opt-column h2 {
	font-size: 20px;
	font-weight: 700;
	color: #1a1918;
	margin: 0 0 25px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border-bottom: 2px solid #b969dd;
	padding-bottom: 10px;
	display: inline-block;
}

.komilfo-opt-page .opt-contacts__list {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.komilfo-opt-page .opt-contact-item {
	display: flex;
	align-items: flex-start;
	gap: 15px;
}

.komilfo-opt-page .opt-contact-icon {
	font-size: 20px;
	color: #b969dd;
	background: #faf0fe;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	border: 1px solid #f5edf8;
}

.komilfo-opt-page .opt-contact-details {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.komilfo-opt-page .opt-contact-details strong {
	font-size: 13px;
	color: #777;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.komilfo-opt-page .opt-contact-details a,
.komilfo-opt-page .opt-contact-details span {
	font-size: 16px;
	color: #1a1918;
	font-weight: 600;
	text-decoration: none;
}

.komilfo-opt-page .opt-contact-details a:hover {
	color: #b969dd;
}

.komilfo-opt-page .opt-form-desc {
	font-size: 14px;
	line-height: 1.5;
	color: #666;
	margin-bottom: 25px;
}

/* Form Styles Override */
.komilfo-opt-page .wpcf7-form p {
	margin-bottom: 20px;
}

.komilfo-opt-page .wpcf7-form label {
	font-size: 13px;
	font-weight: 600;
	color: #444;
	display: block;
	margin-bottom: 6px;
}

.komilfo-opt-page .wpcf7-form input[type="text"],
.komilfo-opt-page .wpcf7-form input[type="email"],
.komilfo-opt-page .wpcf7-form input[type="tel"],
.komilfo-opt-page .wpcf7-form textarea,
.komilfo-opt-page .wpcf7-form select {
	width: 100%;
	padding: 12px 16px;
	background: #fbfbfd;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	font-size: 14px;
	color: #1a1918;
	box-sizing: border-box;
	transition: all 0.3s ease;
}

.komilfo-opt-page .wpcf7-form input:focus,
.komilfo-opt-page .wpcf7-form textarea:focus,
.komilfo-opt-page .wpcf7-form select:focus {
	border-color: #b969dd;
	background: #ffffff;
	box-shadow: 0 0 0 3px rgba(185, 105, 221, 0.12);
	outline: none;
}

.komilfo-opt-page .wpcf7-form input[type="submit"] {
	background: #000000;
	color: #ffffff;
	border: none;
	border-radius: 30px;
	font-weight: 700;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 12px 35px;
	cursor: pointer;
	transition: all 0.3s ease;
	width: auto;
	display: inline-block;
}

.komilfo-opt-page .wpcf7-form input[type="submit"]:hover {
	background: #b969dd;
	box-shadow: 0 5px 15px rgba(185, 105, 221, 0.3);
}

@media (max-width: 868px) {
	.komilfo-opt-page .opt-columns {
		grid-template-columns: 1fr;
		gap: 25px;
	}

	.komilfo-opt-page .opt-intro {
		padding: 25px;
	}

	.komilfo-opt-page .opt-column {
		padding: 25px 20px;
	}
}

/* Salon Partner Program specific styles */
.komilfo-salon-page .salon-block {
	margin-bottom: 20px;
}

.komilfo-salon-page .salon-block h3 {
	font-size: 15px;
	font-weight: 700;
	color: #1a1918;
	margin: 0 0 12px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.komilfo-salon-page .salon-list {
	margin: 0 0 20px 0;
	padding: 0;
	list-style: none;
}

.komilfo-salon-page .salon-list li {
	position: relative;
	padding-left: 30px;
	margin-bottom: 12px;
	font-size: 15px;
	line-height: 1.6;
	color: #444;
	display: flex;
	align-items: center;
}

.komilfo-salon-page .salon-list li i {
	position: absolute;
	left: 0;
	color: #b969dd;
	font-size: 14px;
	width: 20px;
	text-align: center;
}

.komilfo-salon-page .salon-bonus-item {
	background: #faf7fc;
	border: 1px solid #f5edf8;
	border-radius: 12px;
	padding: 18px 20px;
	margin-bottom: 15px;
}

.komilfo-salon-page .salon-bonus-item strong {
	font-size: 15px;
	color: #1a1918;
	display: block;
	margin-bottom: 6px;
}

.komilfo-salon-page .salon-bonus-item p {
	font-size: 14px;
	line-height: 1.5;
	color: #555;
	margin: 0;
}

.komilfo-salon-page .salon-bonus-item .salon-list {
	margin-top: 12px;
	margin-bottom: 0;
}

.komilfo-salon-page .salon-bonus-item .salon-list li {
	font-size: 14px;
	margin-bottom: 8px;
}

.komilfo-salon-page .salon-bonus-item .salon-list li:last-child {
	margin-bottom: 0;
}

.komilfo-salon-page .salon-important-block {
	background: #fff9f0;
	border: 1px solid #ffe8cc;
	border-radius: 12px;
	padding: 20px;
}

.komilfo-salon-page .salon-important-block h3 {
	font-size: 16px;
	font-weight: 700;
	color: #d97706;
	margin: 0 0 10px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.komilfo-salon-page .salon-important-block p {
	font-size: 14px;
	line-height: 1.6;
	color: #6b4c1b;
	margin: 0;
}

.komilfo-salon-page .salon-contacts-section h3 {
	font-size: 18px;
	font-weight: 700;
	color: #1a1918;
	margin: 0 0 20px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border-bottom: 2px solid #b969dd;
	padding-bottom: 8px;
	display: inline-block;
}

/* ==========================================================================
   10. LOYALTY PROGRAM PAGE DESIGN
   ========================================================================== */
.page-id-143228 .komilfo-content-page__body,
.page-id-143274 .komilfo-content-page__body,
.page-id-143292 .komilfo-content-page__body {
	max-width: 100%;
	margin: 0 auto;
}

/* Styled headings with left purple border */
.page-id-143228 h3.wp-block-heading,
.page-id-143274 h3.wp-block-heading,
.page-id-143292 h3.wp-block-heading {
	font-size: 20px;
	font-weight: 700;
	color: #1a1918;
	margin: 45px 0 20px !important;
	padding-left: 16px !important;
	border-left: 4px solid #b969dd !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* Paragraph styling */
.page-id-143228 .komilfo-content-page__body p,
.page-id-143274 .komilfo-content-page__body p,
.page-id-143292 .komilfo-content-page__body p {
	font-size: 15px;
	line-height: 1.8;
	color: #444444;
	margin-bottom: 22px;
}

.page-id-143228 .komilfo-content-page__body p strong,
.page-id-143274 .komilfo-content-page__body p strong,
.page-id-143292 .komilfo-content-page__body p strong {
	color: #111111;
}

/* Table styling override */
.page-id-143228 .wp-block-table,
.page-id-143274 .wp-block-table,
.page-id-143292 .wp-block-table {
	margin: 35px auto !important;
	border: 1px solid #ebdcf5 !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	box-shadow: 0 10px 25px rgba(185, 105, 221, 0.05) !important;
}

.page-id-143228 .wp-block-table table,
.page-id-143274 .wp-block-table table,
.page-id-143292 .wp-block-table table {
	width: 100% !important;
	border-collapse: collapse !important;
}

.page-id-143228 .wp-block-table th,
.page-id-143274 .wp-block-table th,
.page-id-143292 .wp-block-table th {
	background: #fdf8ff !important;
	color: #1a1918 !important;
	font-weight: 700 !important;
	padding: 16px 20px !important;
	font-size: 13px !important;
	border-bottom: 2px solid #ebdcf5 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
}

.page-id-143228 .wp-block-table td,
.page-id-143274 .wp-block-table td,
.page-id-143292 .wp-block-table td {
	padding: 16px 20px !important;
	font-size: 15px !important;
	color: #444444 !important;
	border-bottom: 1px solid #f5edf8 !important;
}

.page-id-143228 .wp-block-table tr:last-child td,
.page-id-143274 .wp-block-table tr:last-child td,
.page-id-143292 .wp-block-table tr:last-child td {
	border-bottom: 0 !important;
}

.page-id-143228 .wp-block-table tr:nth-child(even) td,
.page-id-143274 .wp-block-table tr:nth-child(even) td,
.page-id-143292 .wp-block-table tr:nth-child(even) td {
	background: #faf8fc !important;
}

.page-id-143228 .wp-block-table td:last-child,
.page-id-143274 .wp-block-table td:last-child,
.page-id-143292 .wp-block-table td:last-child {
	font-weight: 700 !important;
	color: #b969dd !important;
	font-size: 16px !important;
}

/* Ordered list styling for conditions */
.page-id-143228 ol.wp-block-list,
.page-id-143274 ol.wp-block-list,
.page-id-143292 ol.wp-block-list {
	counter-reset: loyalty-counter;
	list-style: none !important;
	padding-left: 0 !important;
	margin: 25px 0 !important;
}

.page-id-143228 ol.wp-block-list li,
.page-id-143274 ol.wp-block-list li,
.page-id-143292 ol.wp-block-list li {
	position: relative !important;
	padding-left: 44px !important;
	margin-bottom: 16px !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
	color: #444444 !important;
}

.page-id-143228 ol.wp-block-list li::before,
.page-id-143274 ol.wp-block-list li::before,
.page-id-143292 ol.wp-block-list li::before {
	counter-increment: loyalty-counter;
	content: counter(loyalty-counter) !important;
	position: absolute !important;
	left: 0 !important;
	top: 2px !important;
	width: 28px !important;
	height: 28px !important;
	background: #fdf8ff !important;
	border: 1px solid #ebdcf5 !important;
	border-radius: 50% !important;
	color: #b969dd !important;
	font-weight: 700 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 13px !important;
	box-shadow: 0 4px 10px rgba(185, 105, 221, 0.06) !important;
}

/* Unordered list styling for limits */
.page-id-143228 ul.wp-block-list,
.page-id-143274 ul.wp-block-list,
.page-id-143292 ul.wp-block-list {
	list-style: none !important;
	padding-left: 0 !important;
	margin: 25px 0 !important;
}

.page-id-143228 ul.wp-block-list li,
.page-id-143274 ul.wp-block-list li,
.page-id-143292 ul.wp-block-list li {
	position: relative !important;
	padding-left: 32px !important;
	margin-bottom: 14px !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
	color: #444444 !important;
}

.page-id-143228 ul.wp-block-list li::before,
.page-id-143274 ul.wp-block-list li::before,
.page-id-143292 ul.wp-block-list li::before {
	content: "\f00c" !important;
	font-family: "Font Awesome 5 Free" !important;
	font-weight: 900 !important;
	position: absolute !important;
	left: 0 !important;
	top: 3px !important;
	color: #b969dd !important;
	font-size: 13px !important;
}

/* ==========================================================================
   Page-Specific Styling Fixes and Layout Optimizations
   ========================================================================== */

/* 1. Affiliate Program Page (/komilfo-affiliate-program-for-salons/) */
.page-id-755973 article {
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Hide duplicate checkmark bullets from global list styles, since lists here have custom FontAwesome icons */
.komilfo-salon-page .salon-list li::before {
	display: none !important;
}

/* 2. Representatives Page (/de-kupyty/) */
.page-id-35308 article {
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.komilfo-stores-page .list-custom__content {
	line-height: 1.6 !important;
}

/* 3. Payment and Delivery Page (/payment-and-delivery/) */
.page-id-68033 article {
	margin-left: auto !important;
	margin-right: auto !important;
}

/* 4. Exchange and Return Page (/exchange-and-return/) */
.page-id-68031 article {
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Premium ordered list styling (matching loyalty program style) */
.page-id-68031 ol {
	counter-reset: komilfo-counter;
	list-style: none !important;
	padding-left: 0 !important;
	margin: 25px 0 !important;
}

.page-id-68031 ol li {
	position: relative !important;
	padding-left: 44px !important;
	margin-bottom: 16px !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
	color: #444444 !important;
}

.page-id-68031 ol li::before {
	counter-increment: komilfo-counter;
	content: counter(komilfo-counter) !important;
	position: absolute !important;
	left: 0 !important;
	top: 2px !important;
	width: 28px !important;
	height: 28px !important;
	background: #fdf8ff !important;
	border: 1px solid #ebdcf5 !important;
	border-radius: 50% !important;
	color: #b969dd !important;
	font-weight: 700 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 13px !important;
	box-shadow: 0 4px 10px rgba(185, 105, 221, 0.06) !important;
}

/* Clean unordered list styling */
.main .page-id-68031 ul {
	list-style: none !important;
	padding-left: 0 !important;
	margin: 25px 0 !important;
}

.main .page-id-68031 ul li {
	position: relative !important;
	padding-left: 32px !important;
	margin-bottom: 14px !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
	color: #444444 !important;
}

.main .page-id-68031 ul li::before {
	content: "\f00c" !important;
	font-family: "Font Awesome 5 Free" !important;
	font-weight: 900 !important;
	position: absolute !important;
	left: 0 !important;
	top: 3px !important;
	color: #b969dd !important;
	font-size: 13px !important;
}

/* -------------------------------------------------------------
   New Collaborations Page Layout (.collab-)
   ------------------------------------------------------------- */
.collab-wrapper {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 15px;
}

.collab-hero {
	margin-bottom: 40px;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.05);
}

.collab-hero img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 16px;
}

.collab-intro {
	text-align: center;
	max-width: 800px;
	margin: 0 auto 50px;
	font-size: 16px;
	line-height: 1.8;
}

.collab-intro p {
	color: black;
	font-weight: 500;
	margin-bottom: 25px;
}

.collab-intro h1 {
	font-size: 32px;
	text-transform: uppercase;
	font-weight: 700;
	color: black;
	margin-top: 30px;
	margin-bottom: 20px;
	position: relative;
	display: inline-block;
	padding-bottom: 15px;
	letter-spacing: 0.05em;
}

.collab-intro h1::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 3px;
	background-color: black;
	border-radius: 2px;
}

.collab-section {
	padding: 60px 0;
	border-bottom: 1px solid #f1e9f6;
}

.collab-section:last-of-type {
	border-bottom: none;
}

.collab-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 50px;
	margin-bottom: 40px;
}

.collab-info {
	flex: 1;
	text-align: left;
}

.collab-info h2 {
	font-size: 26px;
	font-weight: 600;
	text-transform: uppercase;
	color: black;
	margin-top: 0;
	margin-bottom: 20px;
	letter-spacing: 0.05em;
	line-height: 1.35;
}

.collab-info p {
	font-size: 16px;
	line-height: 1.8;
	color: #b89047;
	margin-bottom: 0;
	font-weight: 500;
}

.collab-author-img {
	flex: 0 0 320px;
	max-width: 320px;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.collab-author-img:hover {
	transform: translateY(-4px);
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
}

.collab-author-img img {
	width: 100%;
	height: auto;
	display: block;
}

.collab-media-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 40px;
}

.collab-media-grid .media-item {
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
}

.collab-media-grid .media-item:hover {
	transform: translateY(-6px);
	box-shadow: 0 16px 35px rgba(0, 0, 0, 0.1);
}

.collab-media-grid .media-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 4 / 3;
	display: block;
	border-radius: 12px;
	transition: transform 0.5s ease;
}

.collab-media-grid .media-item:hover img {
	transform: scale(1.04);
}

.collab-media-grid .media-item .komilfo-page-video-wrap {
	width: 100%;
	margin: 0;
	border: none;
	border-radius: 12px;
	aspect-ratio: 4 / 3;
	box-shadow: none;
}

.collab-media-grid .media-item video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 4 / 3;
}

.collab-feedback {
	background: linear-gradient(135deg, #fdfbff, #faf7fc);
	border: 1px solid #ebdcf5;
	border-radius: 16px;
	padding: 50px 40px;
	text-align: center;
	margin: 80px auto 40px;
	max-width: 850px;
	box-shadow: 0 15px 35px rgba(185, 105, 221, 0.05);
}

.collab-feedback h4 {
	font-size: 22px;
	font-weight: 600;
	color: black;
	margin-top: 0;
	margin-bottom: 20px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.collab-feedback p {
	font-size: 16px;
	line-height: 1.8;
	color: #b89047;
	margin-bottom: 0;
	font-weight: 500;
}

.collab-feedback strong {
	color: #b969dd;
}

@media (max-width: 768px) {
	.collab-header {
		flex-direction: column;
		gap: 30px;
		text-align: center;
	}

	.collab-info {
		text-align: center;
	}

	.collab-author-img {
		flex: 0 0 auto;
		max-width: 280px;
		margin: 0 auto;
	}

	.collab-media-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.collab-media-grid .media-item img,
	.collab-media-grid .media-item video,
	.collab-media-grid .media-item .komilfo-page-video-wrap {
		aspect-ratio: 16 / 9;
	}

	.collab-hero {
		margin-bottom: 30px;
	}

	.collab-intro h1 {
		font-size: 26px;
	}

	.collab-info h2 {
		font-size: 20px;
		margin-bottom: 15px;
	}

	.collab-feedback {
		padding: 35px 20px;
		margin-top: 50px;
	}
}

/* Category SEO Text Collapsible */
.komilfo-category-seo-text-container {
	position: relative;
}

.komilfo-category-seo-text.is-collapsible {
	position: relative;
	max-height: 155px;
	overflow: hidden;
	transition: max-height 0.4s ease-in-out;
}

.komilfo-category-seo-text.is-collapsible::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 55px;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 75%, #ffffff 100%);
	pointer-events: none;
	transition: opacity 0.3s ease;
}

.komilfo-category-seo-text.is-expanded {
	max-height: none;
}

.komilfo-category-seo-text.is-expanded::after {
	opacity: 0;
}

.komilfo-seo-text-toggle:hover {
	background-color: #b969dd !important;
	color: #ffffff !important;
	border-color: #b969dd !important;
	box-shadow: 0 4px 12px rgba(185, 105, 221, 0.25);
}

.komilfo-seo-text-toggle.is-expanded .komilfo-seo-text-toggle__icon {
	transform: rotate(180deg);
}