/* =========================================================
   My Elementor Addons - Frontend Styles
   ========================================================= */

.mea-no-results {
	padding: 20px;
	background: #f3f4f6;
	border-radius: 6px;
	color: #6b7280;
	text-align: center;
}

/* ---------- Posts Widget ---------- */
.mea-posts-wrap {
	--mea-columns: 3;
	--mea-gap: 24px;
}

/* Grid layout */
.mea-posts-grid {
	display: grid;
	grid-template-columns: repeat(var(--mea-columns), 1fr);
	gap: var(--mea-gap);
}

/* Masonry layout (CSS multi-column technique - no JS required) */
.mea-posts-masonry {
	column-count: var(--mea-columns);
	column-gap: var(--mea-gap);
}
.mea-posts-masonry .mea-post-card {
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	margin-bottom: var(--mea-gap);
	display: inline-flex;
	width: 100%;
}

/* List layout */
.mea-posts-list {
	display: flex;
	flex-direction: column;
	gap: var(--mea-gap);
}
.mea-posts-list .mea-post-card {
	flex-direction: row;
}
.mea-posts-list .mea-post-thumb {
	width: 260px;
	flex-shrink: 0;
	height: auto !important;
}
.mea-posts-list .mea-post-thumb img { height: 100%; object-fit: cover; }
.mea-posts-list .mea-post-body { flex: 1; }

/* Carousel layout */
.mea-posts-carousel { position: relative; }
.mea-posts-carousel-viewport {
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.mea-posts-carousel-viewport::-webkit-scrollbar { display: none; }
.mea-posts-carousel-track {
	display: flex;
	flex-wrap: nowrap;
}
.mea-posts-carousel-track .mea-post-card {
	flex: 0 0 calc((100% - (var(--mea-columns) - 1) * var(--mea-gap)) / var(--mea-columns));
	scroll-snap-align: start;
	margin-right: var(--mea-gap);
}
.mea-posts-carousel-track .mea-post-card:last-child { margin-right: 0; }
.mea-posts-carousel-arrow {
	position: absolute; top: 40%; transform: translateY(-50%);
	width: 40px; height: 40px; border-radius: 50%; border: none;
	background: rgba(17,24,39,.55); color: #fff; font-size: 22px; cursor: pointer; z-index: 5;
}
.mea-posts-carousel-prev { left: -10px; }
.mea-posts-carousel-next { right: -10px; }
.mea-posts-carousel-dots {
	display: flex; justify-content: center; gap: 8px; margin-top: 18px;
}
.mea-posts-carousel-dots .mea-dot {
	width: 9px; height: 9px; border-radius: 50%; border: 2px solid #d1d5db;
	background: transparent; cursor: pointer; padding: 0;
}
.mea-posts-carousel-dots .mea-dot.active { background: #2563eb; border-color: #2563eb; }

/* Card base */
.mea-post-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	position: relative;
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.mea-post-thumb { display: block; overflow: hidden; }
.mea-post-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }

.mea-post-body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.mea-post-meta { font-size: 13px; color: #9ca3af; margin-bottom: 8px; display: flex; gap: 10px; }
.mea-post-title { margin: 0 0 10px; font-size: 20px; line-height: 1.3; }
.mea-post-title a { text-decoration: none; color: inherit; transition: color .2s ease; }
.mea-post-excerpt { color: #6b7280; font-size: 15px; line-height: 1.6; margin-bottom: 14px; flex: 1; }
.mea-post-btn {
	display: inline-block;
	align-self: flex-start;
	padding: 10px 20px;
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
	background: #2563eb;
	color: #fff;
	transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

/* Glassmorphism */
.mea-glass .mea-post-card {
	background-color: rgba(255, 255, 255, .18);
	border: 1px solid rgba(255, 255, 255, .35);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

/* Hover animation presets */
.mea-hover-lift .mea-post-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 16px 34px rgba(0,0,0,.12);
}
.mea-hover-zoom .mea-post-card:hover .mea-post-thumb img {
	transform: scale(1.08);
}
.mea-hover-glow .mea-post-card:hover {
	box-shadow: 0 0 0 1px rgba(37,99,235,.25), 0 16px 40px rgba(37,99,235,.28);
}
.mea-hover-border .mea-post-card {
	border: 2px solid transparent;
}
.mea-hover-border .mea-post-card:hover {
	border-color: #2563eb;
}
.mea-hover-none .mea-post-card:hover { transform: none; box-shadow: none; }

.mea-pagination { margin-top: 30px; text-align: center; }
.mea-pagination ul { list-style: none; display: inline-flex; gap: 6px; padding: 0; margin: 0; }
.mea-pagination .page-numbers,
.mea-pagination a, .mea-pagination span {
	display: inline-block;
	padding: 8px 14px;
	border-radius: 4px;
	background: #f3f4f6;
	color: #374151;
	text-decoration: none;
	font-size: 14px;
}
.mea-pagination .current, .mea-pagination a:hover { background: #2563eb; color: #fff; }

@media (max-width: 767px) {
	.mea-posts-list .mea-post-card { flex-direction: column; }
	.mea-posts-list .mea-post-thumb { width: 100%; height: 200px !important; }
}

/* ---------- Portfolio Widget ---------- */
.mea-portfolio-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 24px;
}
.mea-portfolio-filter button {
	background: none;
	border: 1px solid transparent;
	border-bottom: 2px solid transparent;
	padding: 6px 4px;
	font-size: 15px;
	cursor: pointer;
	color: #555;
	transition: color .2s ease, border-color .2s ease;
}
.mea-portfolio-filter button.active,
.mea-portfolio-filter button:hover { color: #2563eb; border-color: #2563eb; }

.mea-portfolio-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
.mea-portfolio-grid.mea-columns-2 { grid-template-columns: repeat(2, 1fr); }
.mea-portfolio-grid.mea-columns-3 { grid-template-columns: repeat(3, 1fr); }
.mea-portfolio-grid.mea-columns-4 { grid-template-columns: repeat(4, 1fr); }
.mea-portfolio-grid.mea-columns-5 { grid-template-columns: repeat(5, 1fr); }

.mea-portfolio-item { position: relative; }
.mea-portfolio-item.mea-hidden { display: none; }
.mea-portfolio-link { display: block; position: relative; overflow: hidden; }
.mea-portfolio-link img { width: 100%; height: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; transition: transform .4s ease; }
.mea-portfolio-placeholder { width: 100%; aspect-ratio: 1/1; background: #e5e7eb; }

.mea-portfolio-overlay {
	position: absolute;
	inset: 0;
	background-color: rgba(20,20,20,.75);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 20px;
	opacity: 0;
	transition: opacity .3s ease;
}
.mea-portfolio-item:hover .mea-portfolio-overlay { opacity: 1; }
.mea-portfolio-item:hover .mea-portfolio-link img { transform: scale(1.08); }
.mea-portfolio-title { color: #fff; font-size: 18px; margin: 0 0 6px; }
.mea-portfolio-cat { color: #d1d5db; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; }

/* ---------- Gallery Widget ---------- */
.mea-gallery-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
}
.mea-gallery-grid.mea-columns-2 { grid-template-columns: repeat(2, 1fr); }
.mea-gallery-grid.mea-columns-3 { grid-template-columns: repeat(3, 1fr); }
.mea-gallery-grid.mea-columns-4 { grid-template-columns: repeat(4, 1fr); }
.mea-gallery-grid.mea-columns-5 { grid-template-columns: repeat(5, 1fr); }
.mea-gallery-grid.mea-columns-6 { grid-template-columns: repeat(6, 1fr); }

.mea-gallery-item { overflow: hidden; position: relative; }
.mea-gallery-item img { width: 100%; height: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; }
.mea-gallery-grid.mea-zoom .mea-gallery-item img { transition: transform .4s ease; }
.mea-gallery-grid.mea-zoom .mea-gallery-item:hover img { transform: scale(1.1); }
.mea-gallery-lightbox-link { display: block; cursor: zoom-in; }

.mea-lightbox-overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,.9);
	z-index: 999999;
	align-items: center;
	justify-content: center;
}
.mea-lightbox-overlay.mea-open { display: flex; }
.mea-lightbox-image { max-width: 90vw; max-height: 85vh; display: block; }
.mea-lightbox-caption { position: absolute; bottom: 24px; left: 0; right: 0; text-align: center; color: #fff; font-size: 14px; }
.mea-lightbox-close, .mea-lightbox-prev, .mea-lightbox-next {
	position: absolute; color: #fff; font-size: 28px; cursor: pointer;
	background: rgba(255,255,255,.1); width: 44px; height: 44px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center; user-select: none;
}
.mea-lightbox-close { top: 20px; right: 20px; }
.mea-lightbox-prev { left: 20px; top: 50%; transform: translateY(-50%); }
.mea-lightbox-next { right: 20px; top: 50%; transform: translateY(-50%); }

/* ---------- Call to Action Widget ---------- */
.mea-cta-box {
	position: relative;
	background-color: #111827;
	background-size: cover;
	background-position: center;
	padding: 60px 40px;
	text-align: center;
}
.mea-cta-overlay { position: absolute; inset: 0; background: #000; opacity: .5; }
.mea-cta-content { position: relative; z-index: 1; max-width: 640px; margin: 0 auto; }
.mea-cta-title { margin: 0 0 14px; font-size: 32px; font-weight: 700; color: #fff; }
.mea-cta-desc { margin: 0 0 24px; color: #d1d5db; font-size: 17px; line-height: 1.6; }
.mea-cta-btn {
	display: inline-block;
	padding: 14px 32px;
	background: #fff;
	color: #111827;
	text-decoration: none;
	font-weight: 600;
	border-radius: 4px;
	transition: transform .2s ease, opacity .2s ease;
}
.mea-cta-btn:hover { transform: translateY(-2px); opacity: .9; color: #111827; }

/* ---------- Share Buttons Widget ---------- */
.mea-share-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.mea-share-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 40px;
	height: 40px;
	padding: 0 12px;
	background: #6b7280;
	color: #fff;
	text-decoration: none;
	font-size: 16px;
	border: none;
	cursor: pointer;
	transition: transform .2s ease, opacity .2s ease;
}
.mea-share-buttons:not(:has(.mea-share-label)) .mea-share-btn { padding: 0; }
.mea-share-btn:hover { transform: translateY(-2px); opacity: .9; color: #fff; }
.mea-shape-circle .mea-share-btn { border-radius: 50%; }
.mea-shape-square .mea-share-btn { border-radius: 8px; }
.mea-shape-none .mea-share-btn { border-radius: 0; }
.mea-share-label { font-size: 13px; font-weight: 600; white-space: nowrap; }

.mea-share-icon { width: 1em; height: 1em; display: inline-block; position: relative; }
.mea-share-icon::before { font-family: sans-serif; font-weight: bold; font-size: 14px; }
.mea-icon-facebook::before { content: "f"; }
.mea-icon-twitter::before { content: "X"; }
.mea-icon-linkedin::before { content: "in"; font-size: 11px; }
.mea-icon-pinterest::before { content: "P"; }
.mea-icon-whatsapp::before { content: "W"; }
.mea-icon-envelope::before { content: "@"; }
.mea-icon-link::before { content: "\1F517"; font-size: 14px; }

/* ---------- Blockquote Widget ---------- */
.mea-blockquote {
	--mea-accent: #2563eb;
	margin: 0;
	padding: 30px;
	position: relative;
}
.mea-blockquote-mark {
	font-size: 60px;
	line-height: 1;
	color: var(--mea-accent);
	opacity: .25;
	font-family: Georgia, serif;
	margin-bottom: -10px;
}
.mea-style-bordered { border-left: 4px solid var(--mea-accent); background: #f9fafb; }
.mea-style-card { background: #fff; border-radius: 10px; box-shadow: 0 4px 20px rgba(0,0,0,.08); }
.mea-style-minimal { padding-left: 0; }
.mea-style-minimal .mea-blockquote-mark { display: none; }

.mea-blockquote-text { font-size: 22px; font-style: italic; line-height: 1.6; margin: 0 0 20px; color: #1f2937; }
.mea-blockquote-author { display: flex; align-items: center; gap: 12px; }
.mea-style-minimal .mea-blockquote-author,
.mea-blockquote[style*="center"] .mea-blockquote-author { justify-content: center; }
.mea-blockquote-author-img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.mea-blockquote-author-info { display: flex; flex-direction: column; }
.mea-blockquote-author-name { font-style: normal; font-weight: 700; color: #111827; }
.mea-blockquote-author-title { font-size: 13px; color: #9ca3af; }

/* ---------- Video Playlist Widget ---------- */
.mea-video-playlist { display: flex; gap: 20px; }
.mea-vp-position-bottom { flex-direction: column; }
.mea-vp-position-right { flex-direction: row; }

.mea-vp-player { flex: 2; position: relative; aspect-ratio: 16/9; background: #000; }
.mea-vp-iframe { width: 100%; height: 100%; display: block; border: 0; }

.mea-vp-list { flex: 1; display: flex; flex-direction: column; gap: 8px; max-height: 500px; overflow-y: auto; }
.mea-vp-position-bottom .mea-vp-list { flex-direction: row; flex-wrap: wrap; max-height: none; }

.mea-vp-item {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #f9fafb;
	border: 1px solid transparent;
	border-radius: 6px;
	padding: 8px;
	text-align: left;
	cursor: pointer;
	transition: background .2s ease, border-color .2s ease;
}
.mea-vp-item:hover { background: #f3f4f6; }
.mea-vp-item.active { border-color: #2563eb; background: rgba(37,99,235,0.08); }

.mea-vp-item-thumb { position: relative; width: 90px; height: 54px; flex-shrink: 0; border-radius: 4px; overflow: hidden; background: #e5e7eb; }
.mea-vp-item-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mea-vp-play-icon {
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	color: #fff; font-size: 14px; background: rgba(0,0,0,.25);
}
.mea-vp-item-info { display: flex; flex-direction: column; gap: 2px; overflow: hidden; }
.mea-vp-item-title { font-size: 14px; font-weight: 600; color: #111827; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mea-vp-item-duration { font-size: 12px; color: #9ca3af; }

/* ---------- Responsive ---------- */
@media (max-width: 767px) {
	.mea-portfolio-grid,
	.mea-gallery-grid { grid-template-columns: repeat(2, 1fr) !important; }
	.mea-video-playlist { flex-direction: column; }
	.mea-vp-list { flex-direction: row; flex-wrap: wrap; max-height: none; }
}
@media (max-width: 480px) {
	.mea-portfolio-grid,
	.mea-gallery-grid { grid-template-columns: 1fr !important; }
}

/* =========================================================
   Countdown
   ========================================================= */
.mea-countdown { display: flex; flex-wrap: wrap; }
.mea-cd-box {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	padding: 18px 20px; min-width: 80px;
}
.mea-cd-number { font-size: 32px; font-weight: 700; line-height: 1; }
.mea-cd-label { font-size: 12px; text-transform: uppercase; letter-spacing: .05em; margin-top: 6px; }
.mea-cd-expired { font-size: 20px; font-weight: 600; }

/* =========================================================
   Flip Box
   ========================================================= */
.mea-flipbox { perspective: 1200px; width: 100%; }
.mea-flip-inner {
	position: relative; width: 100%; height: 100%; text-align: center;
	transition: transform .6s; transform-style: preserve-3d;
}
.mea-flip-front, .mea-flip-back {
	position: absolute; inset: 0; display: flex; flex-direction: column;
	align-items: center; justify-content: center; padding: 30px;
	backface-visibility: hidden; box-sizing: border-box;
}
.mea-flip-back { transform: rotateY(180deg); }
.mea-flip-left .mea-flipbox:hover .mea-flip-inner,
.mea-flip-left:hover .mea-flip-inner { transform: rotateY(180deg); }
.mea-flip-right .mea-flip-back { transform: rotateY(-180deg); }
.mea-flip-right:hover .mea-flip-inner { transform: rotateY(-180deg); }
.mea-flip-up .mea-flip-back { transform: rotateX(-180deg); }
.mea-flip-up:hover .mea-flip-inner { transform: rotateX(-180deg); }
.mea-flip-down .mea-flip-back { transform: rotateX(180deg); }
.mea-flip-down:hover .mea-flip-inner { transform: rotateX(180deg); }
.mea-flip-icon { font-size: 40px; margin-bottom: 14px; }
.mea-flip-title { font-size: 20px; font-weight: 700; margin: 0 0 10px; }
.mea-flip-desc { font-size: 14px; line-height: 1.6; }
.mea-flip-btn {
	display: inline-block; margin-top: 16px; padding: 8px 20px; border-radius: 4px;
	font-size: 13px; font-weight: 600; text-decoration: none;
}

/* =========================================================
   Price Table
   ========================================================= */
.mea-price-table {
	position: relative; border-radius: 12px; padding: 36px 28px; text-align: center;
	box-shadow: 0 2px 14px rgba(0,0,0,.06); border: 1px solid #e5e7eb;
}
.mea-price-featured { border-color: #2563eb; box-shadow: 0 8px 24px rgba(37,99,235,.15); transform: scale(1.03); }
.mea-price-ribbon {
	position: absolute; top: 16px; right: -30px; color: #fff; font-size: 12px; font-weight: 700;
	padding: 4px 34px; transform: rotate(45deg);
}
.mea-price-name { font-size: 15px; text-transform: uppercase; letter-spacing: .06em; color: #6b7280; margin: 0 0 12px; }
.mea-price-amount { font-size: 44px; font-weight: 800; line-height: 1; margin-bottom: 10px; }
.mea-price-currency { font-size: 20px; vertical-align: top; margin-right: 2px; }
.mea-price-period { font-size: 14px; font-weight: 400; color: #9ca3af; margin-left: 4px; }
.mea-price-desc { font-size: 14px; color: #6b7280; margin: 0 0 20px; }
.mea-price-features { list-style: none; margin: 0 0 26px; padding: 0; text-align: left; }
.mea-price-features li { display: flex; align-items: center; gap: 10px; padding: 8px 0; font-size: 14px; border-bottom: 1px solid #f3f4f6; }
.mea-feature-icon { width: 20px; height: 20px; flex-shrink: 0; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; }
.mea-feature-yes .mea-feature-icon { background: rgba(37,99,235,.12); }
.mea-feature-no { color: #b0b7c3; text-decoration: line-through; }
.mea-feature-no .mea-feature-icon { background: #f3f4f6; color: #b0b7c3; }
.mea-price-btn {
	display: inline-block; width: 100%; padding: 13px 20px; border-radius: 8px; border: 2px solid transparent;
	color: #fff; font-weight: 700; text-decoration: none; box-sizing: border-box;
}

/* =========================================================
   Price List
   ========================================================= */
.mea-price-list { display: flex; flex-direction: column; gap: 22px; }
.mea-pl-item { display: flex; gap: 16px; }
.mea-pl-image { width: 64px; height: 64px; border-radius: 8px; overflow: hidden; flex-shrink: 0; }
.mea-pl-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mea-pl-content { flex: 1; min-width: 0; }
.mea-pl-row { display: flex; align-items: baseline; gap: 8px; }
.mea-pl-title { font-weight: 700; font-size: 16px; white-space: nowrap; }
.mea-pl-dots { flex: 1; border-bottom: 2px dotted #d1d5db; height: 0; margin-bottom: 5px; }
.mea-pl-price { font-weight: 700; font-size: 16px; white-space: nowrap; }
.mea-pl-desc { font-size: 13px; color: #6b7280; margin-top: 4px; line-height: 1.5; }

/* =========================================================
   Animated Headline
   ========================================================= */
.mea-headline { margin: 0; font-size: 34px; font-weight: 700; line-height: 1.3; }
.mea-headline-rotate { position: relative; display: inline-block; min-width: 1px; vertical-align: top; }
.mea-headline-word { display: inline-block; }
.mea-anim-fade .mea-headline-word { opacity: 1; transition: opacity .5s ease; }
.mea-anim-fade .mea-word-enter { opacity: 0; }
.mea-anim-fade .mea-word-exit { position: absolute; left: 0; top: 0; opacity: 0; }
.mea-anim-slide { overflow: hidden; }
.mea-anim-slide .mea-headline-word { display: inline-block; transform: translateY(0); opacity: 1; transition: transform .4s ease, opacity .4s ease; }
.mea-anim-slide .mea-word-enter { transform: translateY(100%); opacity: 0; }
.mea-anim-slide .mea-word-exit { position: absolute; left: 0; top: 0; transform: translateY(-100%); opacity: 0; }
.mea-anim-typing .mea-headline-word::after {
	content: '|'; display: inline-block; margin-left: 2px; animation: mea-caret-blink 1s steps(1) infinite;
}
@keyframes mea-caret-blink { 50% { opacity: 0; } }

/* =========================================================
   Menu
   ========================================================= */
.mea-menu-widget { position: relative; width: 100%; }
.mea-menu { list-style: none; display: flex; margin: 0; padding: 0; align-items: center; }
.mea-menu-vertical .mea-menu { flex-direction: column; align-items: flex-start; }
.mea-menu > li { position: relative; margin-right: 28px; }
.mea-menu > li:last-child { margin-right: 0; }
.mea-menu a { text-decoration: none; font-weight: 500; font-size: 15px; display: inline-block; padding: 6px 0; }
.mea-menu .sub-menu { list-style: none; margin: 0; padding: 10px; position: absolute; top: 100%; left: 0; min-width: 200px;
	background: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.12); border-radius: 8px; display: none; z-index: 100; }
.mea-menu li:hover > .sub-menu { display: block; }
.mea-menu .sub-menu li { margin: 0; }
.mea-menu .sub-menu a { display: block; padding: 8px 10px; border-radius: 6px; }
.mea-menu .sub-menu a:hover { background: #f3f4f6; }
.mea-submenu-toggle { display: none; background: none; border: none; cursor: pointer; padding: 4px 8px; }
.mea-menu-toggle { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 6px; }
.mea-menu-toggle span { width: 24px; height: 2px; background: #111827; display: block; }

@media (max-width: 880px) {
	.mea-menu-collapsible .mea-menu-toggle { display: flex; }
	.mea-menu-collapsible .mea-menu { display: none; flex-direction: column; align-items: flex-start; width: 100%; }
	.mea-menu-collapsible.mea-menu-open .mea-menu { display: flex; }
	.mea-menu-collapsible .mea-menu > li { margin-right: 0; width: 100%; }
	.mea-menu-collapsible .sub-menu { position: static; box-shadow: none; display: none; width: 100%; }
	.mea-menu-collapsible .mea-submenu-toggle { display: inline-block; float: right; }
}

/* =========================================================
   Search
   ========================================================= */
.mea-search-widget { position: relative; width: 100%; }
.mea-search-form { position: relative; display: flex; align-items: center; }
.mea-search-input { flex: 1; border: none; padding: 12px 16px; font-size: 14px; outline: none; box-sizing: border-box; }
.mea-search-btn { border: none; padding: 10px 16px; cursor: pointer; color: #fff; display: flex; align-items: center; justify-content: center; }
.mea-search-results {
	display: none; position: absolute; top: 100%; left: 0; right: 0; margin-top: 6px;
	background: #fff; border-radius: 8px; box-shadow: 0 10px 30px rgba(0,0,0,.15); overflow: hidden; z-index: 200;
}
.mea-search-results.mea-has-results { display: block; }
.mea-search-result-item { display: flex; align-items: center; gap: 10px; padding: 10px 14px; text-decoration: none; color: #111827; font-size: 14px; }
.mea-search-result-item:hover { background: #f3f4f6; }
.mea-search-result-item img { width: 36px; height: 36px; object-fit: cover; border-radius: 4px; }
.mea-search-noresults { padding: 14px; font-size: 13px; color: #9ca3af; }
.mea-search-skin-icon .mea-search-form { display: none; position: absolute; top: 100%; right: 0; width: 320px; margin-top: 10px; box-shadow: 0 10px 30px rgba(0,0,0,.15); border-radius: 8px; overflow: hidden; }
.mea-search-skin-icon.mea-search-open .mea-search-form { display: flex; }
.mea-search-icon-toggle { background: none; border: none; cursor: pointer; padding: 8px; }

/* =========================================================
   Off-Canvas
   ========================================================= */
.mea-offcanvas-trigger { display: inline-flex; align-items: center; gap: 8px; border: none; padding: 10px 16px; border-radius: 6px; cursor: pointer; font-size: 14px; font-weight: 600; }
.mea-offcanvas-overlay {
	position: fixed; inset: 0; background: rgba(0,0,0,.5); opacity: 0; visibility: hidden;
	transition: opacity .3s ease; z-index: 9998;
}
.mea-offcanvas-overlay.mea-offcanvas-active { opacity: 1; visibility: visible; }
.mea-offcanvas-panel {
	position: fixed; top: 0; bottom: 0; width: 340px; max-width: 85vw; background: #fff; z-index: 9999;
	box-shadow: 0 0 40px rgba(0,0,0,.2); transition: transform .35s ease; padding: 50px 28px 28px;
	box-sizing: border-box; overflow-y: auto;
}
.mea-offcanvas-left { left: 0; transform: translateX(-100%); }
.mea-offcanvas-left.mea-offcanvas-active { transform: translateX(0); }
.mea-offcanvas-right { right: 0; transform: translateX(100%); }
.mea-offcanvas-right.mea-offcanvas-active { transform: translateX(0); }
.mea-offcanvas-top { top: 0; left: 0; right: 0; width: 100% !important; max-width: 100%; height: 260px; transform: translateY(-100%); }
.mea-offcanvas-top.mea-offcanvas-active { transform: translateY(0); }
.mea-offcanvas-close { position: absolute; top: 14px; right: 18px; background: none; border: none; font-size: 28px; line-height: 1; cursor: pointer; color: inherit; }
body.mea-offcanvas-locked { overflow: hidden; }

/* =========================================================
   Code Highlight
   ========================================================= */
.mea-code-wrap { background: #2d2d2d; }
.mea-code-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 8px 16px; background: rgba(255,255,255,.05); }
.mea-code-lang { font-size: 11px; letter-spacing: .08em; color: #9ca3af; font-weight: 700; }
.mea-code-copy { background: rgba(255,255,255,.1); border: none; color: #e5e7eb; font-size: 12px; padding: 5px 12px; border-radius: 4px; cursor: pointer; }
.mea-code-copy:hover { background: rgba(255,255,255,.2); }
.mea-code-block { margin: 0 !important; }

/* =========================================================
   Media Carousel
   ========================================================= */
.mea-carousel { position: relative; }
.mea-carousel-viewport { overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.mea-carousel-viewport::-webkit-scrollbar { display: none; }
.mea-carousel-track { display: flex; }
.mea-carousel-slide {
	flex: 0 0 calc((100% - (var(--mea-slides, 3) - 1) * 16px) / var(--mea-slides, 3));
	scroll-snap-align: start; position: relative;
}
.mea-carousel-slide img { width: 100%; height: 220px; object-fit: cover; display: block; }
.mea-carousel-caption {
	position: absolute; left: 0; right: 0; bottom: 0; padding: 10px 12px; font-size: 13px; color: #fff;
	background: linear-gradient(to top, rgba(0,0,0,.6), transparent);
}
.mea-carousel-arrow {
	position: absolute; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 50%;
	background: rgba(0,0,0,.4); border: none; font-size: 22px; cursor: pointer; z-index: 5;
}
.mea-carousel-prev { left: 10px; }
.mea-carousel-next { right: 10px; }
.mea-carousel-dots { display: flex; justify-content: center; gap: 8px; margin-top: 14px; }
.mea-carousel-dot { width: 9px; height: 9px; border-radius: 50%; border: 2px solid #d1d5db; background: transparent; cursor: pointer; padding: 0; }

/* =========================================================
   Lottie
   ========================================================= */
.mea-lottie-wrap { line-height: 0; }

/* =========================================================
   PayPal Button
   ========================================================= */
.mea-paypal-form { display: inline-block; }
.mea-paypal-btn { display: inline-flex; align-items: center; border: none; padding: 12px 28px; font-weight: 700; font-size: 15px; cursor: pointer; }

/* ---------- New widgets: mobile responsive ---------- */
@media (max-width: 767px) {
	.mea-carousel-slide { flex: 0 0 100%; }
	.mea-price-list .mea-pl-image { width: 52px; height: 52px; }
	.mea-headline { font-size: 26px; }
}
