/**
 * Arik Elementor Widgets - Frontend Styles
 * Version: 2.0.1
 *
 * CODING STANDARD:
 * - All base styles are defined first by widget
 * - All responsive styles are organized at the end by breakpoint
 * - Breakpoints: 1600px, 1200px, 1024px, 768px, 480px, print
 * 
 **/
/* ====================================
   1. ARIK DYNAMIC TABLE WIDGET
   ==================================== */
.arikedtw-table-wrapper {
	overflow-x: auto;
}

.arikedtw-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	padding: 0;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.arikedtw-table thead th {
	font-weight: bold;
	text-align: left;
	background-color: #f8f9fa;
	padding: 12px 15px;
	border: 1px solid #dee2e6;
}

.arikedtw-table tbody td {
	padding: 12px 15px;
	border: 1px solid #dee2e6;
}

.arikedtw-table tbody tr {
	transition: background-color 0.2s ease;
}

.arikedtw-table tbody tr:hover {
	background-color: #f1f3f5;
}

/* ====================================
   2. ARIK TABS WIDGET
   ==================================== */
.arik-tabs-wrapper {
	display: flex;
	flex-direction: column;
}

.arik-tabs-nav {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: -1px;
}

.arik-tabs-nav-item {
	cursor: pointer;
	padding: 10px 20px;
	border: 1px solid #ddd;
	background-color: #f1f1f1;
	transition: background-color 0.3s, color 0.3s;
	margin-right: 5px;
	margin-bottom: 5px;
	border-radius: 4px 4px 0 0;
}

.arik-tabs-nav-item.active {
	background-color: #fff;
	border-bottom-color: #fff;
}

.arik-tabs-content-wrapper {
	border: 1px solid #ddd;
	background-color: #fff;
	width: 100%;
}

.arik-tabs-content {
	display: none;
	padding: 20px;
}

.arik-tabs-content.active {
	display: block;
}

/* Justified Tabs */
[class*="arik-tabs-justify-stretch"] .arik-tabs-nav .arik-tabs-nav-item {
	flex-grow: 1;
	text-align: center;
}

/* Vertical Left Tabs */
[class*="arik-tabs-direction-left"] .arik-tabs-wrapper {
	flex-direction: row;
}

[class*="arik-tabs-direction-left"] .arik-tabs-nav {
	flex-direction: column;
	margin-bottom: 0;
	margin-right: -1px;
}

[class*="arik-tabs-direction-left"] .arik-tabs-nav-item {
	margin-right: 0;
	border-radius: 4px 0 0 4px;
}

[class*="arik-tabs-direction-left"] .arik-tabs-nav-item.active {
	border-right-color: #fff;
	border-bottom-color: #ddd;
}

/* Vertical Right Tabs */
[class*="arik-tabs-direction-right"] .arik-tabs-wrapper {
	flex-direction: row-reverse;
}

[class*="arik-tabs-direction-right"] .arik-tabs-nav {
	flex-direction: column;
	margin-bottom: 0;
	margin-left: -1px;
}

[class*="arik-tabs-direction-right"] .arik-tabs-nav-item {
	margin-right: 0;
	border-radius: 0 4px 4px 0;
}

[class*="arik-tabs-direction-right"] .arik-tabs-nav-item.active {
	border-left-color: #fff;
	border-bottom-color: #ddd;
}

/* ====================================
   3. ARIK HEADING WIDGET
   ==================================== */
.arik-heading-wrapper .arik-heading {
	margin: 0;
}

.arik-heading-wrapper .arik-subheading {
	margin: 0;
}

.arik-heading-gradient {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-fill-color: transparent;
	display: inline-block;
}

/* ====================================
   4. ARIK PRICING TABLE WIDGET
   ==================================== */
.arik-pricing-table {
	background: #fff;
	border: 1px solid #eee;
	border-radius: 8px;
	padding: 30px;
	text-align: center;
	position: relative;
	overflow: hidden;
	box-shadow: 0 5px 25px rgba(0, 0, 0, 0.07);
	transition: all 0.3s ease;
}

.arik-pricing-table:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

.arik-pricing-table-header,
.arik-pricing-table-price,
.arik-pricing-table-features {
	margin-bottom: 25px;
}

.arik-pricing-table-heading {
	font-size: 22px;
	font-weight: 600;
	margin: 0;
}

.arik-pricing-table-currency {
	font-size: 26px;
	font-weight: 600;
	vertical-align: super;
	margin-right: 2px;
}

.arik-pricing-table-amount {
	font-size: 52px;
	font-weight: 700;
}

.arik-pricing-table-period {
	font-size: 14px;
	color: #888;
	margin-top: 5px;
}

.arik-pricing-table-features-list {
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: left;
	display: inline-block;
}

.arik-pricing-table-feature-item {
	padding: 8px 0;
	display: flex;
	align-items: center;
}

.arik-pricing-table-feature-item i {
	color: #27ae60;
	margin-right: 10px;
}

.arik-pricing-table-button {
	display: inline-block;
	padding: 12px 30px;
	border: 1px solid #ddd;
	border-radius: 50px;
	text-decoration: none;
	color: #333;
	font-weight: 600;
	transition: all 0.3s ease;
}

.arik-pricing-table-button:hover {
	background-color: #333;
	color: #fff;
	border-color: #333;
}

/* Pricing Table Ribbon */
.arik-pricing-table-ribbon {
	position: absolute;
	top: -10px;
	width: 150px;
	height: 150px;
	overflow: hidden;
}

.arik-pricing-table-ribbon.ribbon-right {
	right: -10px;
}

.arik-pricing-table-ribbon.ribbon-left {
	left: -10px;
}

.arik-pricing-table-ribbon span {
	position: absolute;
	display: block;
	width: 225px;
	padding: 10px 0;
	background-color: #6a24ea;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	text-align: center;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.arik-pricing-table-ribbon.ribbon-right span {
	right: -75px;
	top: 30px;
	transform: rotate(45deg);
}

.arik-pricing-table-ribbon.ribbon-left span {
	left: -75px;
	top: 30px;
	transform: rotate(-45deg);
}

/* ====================================
   5. ARIK PRICE MENU WIDGET
   ==================================== */
.arik-price-menu-header {
	margin-bottom: 20px;
}

.arik-price-menu-main-title {
	margin: 0 0 10px;
}

.arik-price-menu-main-description {
	margin: 0;
}

.arik-price-menu-item {
	display: flex;
	align-items: flex-start;
	margin-bottom: 25px;
}

.arik-price-menu-item-image {
	margin-right: 20px;
	flex-shrink: 0;
}

.arik-price-menu-item-image img {
	width: 80px;
	height: 80px;
	object-fit: cover;
	border-radius: 50%;
}

.arik-price-menu-item-details {
	flex-grow: 1;
}

.arik-price-menu-item-header {
	display: flex;
	align-items: baseline;
	margin-bottom: 5px;
}

.arik-price-menu-item-title {
	font-weight: 600;
	white-space: nowrap;
}

.arik-price-menu-item-separator {
	flex-grow: 1;
	border-bottom: 1px dotted #ccc;
	margin: 0 10px;
}

.arik-price-menu-item-price {
	font-weight: 600;
	white-space: nowrap;
}

.arik-price-menu-item-description {
	margin: 0;
	color: #777;
}

/* ====================================
   6. ARIK AUTHORS CARD WIDGET
   ==================================== */
.arik-authors-card {
	border: 1px solid #eee;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
	background: #fff;
}

.arik-authors-card-identity {
	position: relative;
	margin-bottom: 60px;
}

.arik-authors-card-cover img {
	width: 100%;
	height: 150px;
	object-fit: cover;
	display: block;
}

.arik-authors-card-profile {
	position: absolute;
	bottom: -50px;
	left: 50%;
	transform: translateX(-50%);
	width: 100px;
	height: 100px;
}

.arik-authors-card-profile img {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: 4px solid #fff;
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
}

.arik-authors-card-bio {
	text-align: center;
	padding: 0 20px 20px;
}

.arik-authors-card-bio h2,
.arik-authors-card-bio h3,
.arik-authors-card-bio p {
	margin: 0 0 10px;
}

.arik-authors-card-icons {
	display: grid;
	gap: 15px;
	padding: 0 20px 20px;
}

.arik-authors-card-icon-item {
	display: flex;
	align-items: center;
	text-decoration: none;
	color: #333;
	gap: 10px;
	padding: 10px;
	background: #f9f9f9;
	border-radius: 4px;
	transition: background 0.3s ease;
}

.arik-authors-card-icon-item:hover {
	background: #f1f1f1;
}

.arik-authors-card-icon-item .elementor-icon {
	font-size: 18px;
	display: flex;
	align-items: center;
}

.arik-authors-card-icon-item .elementor-icon svg {
	width: 1em;
	height: 1em;
}

.arik-authors-card-footer {
	text-align: center;
	padding: 0 20px 30px;
}

.arik-authors-card-cta-btn {
	display: inline-block;
	padding: 12px 35px;
	text-decoration: none;
	border: 1px solid #ddd;
	border-radius: 4px;
	color: #333;
	font-weight: 600;
	transition: all 0.3s ease;
}

.arik-authors-card-cta-btn:hover {
	background: #333;
	color: #fff;
	border-color: #333;
}

/* ====================================
   7. ARIK GRID IMAGE BOX WIDGET
   ==================================== */
.arik-image-box-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.arik-image-box-item {
	display: flex;
	text-decoration: none;
	color: inherit;
	transition: all 0.3s ease;
}

.arik-image-box-grid.arik-equal-height {
	grid-auto-rows: 1fr;
}

.arik-image-box-grid.arik-equal-height .arik-image-box-item {
	height: 100%;
}

.arik-image-box-img-pos-top .arik-image-box-item {
	flex-direction: column;
}

.arik-image-box-img-pos-left .arik-image-box-item {
	flex-direction: row;
	align-items: flex-start;
}

.arik-image-box-img-pos-right .arik-image-box-item {
	flex-direction: row-reverse;
	align-items: flex-start;
}

.arik-image-box-image {
	position: relative;
	overflow: hidden;
	width: 100%;
}

.arik-image-box-img-pos-left .arik-image-box-image,
.arik-image-box-img-pos-right .arik-image-box-image {
	flex-shrink: 0;
}

.arik-image-box-img-pos-top .arik-image-box-image::before {
	content: '';
	display: block;
	padding-bottom: 66.67%;
}

.arik-image-box-img-pos-top .arik-image-box-image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.arik-image-box-img-pos-left .arik-image-box-image img,
.arik-image-box-img-pos-right .arik-image-box-image img {
	width: 100%;
	height: auto;
	display: block;
}

.arik-image-box-content {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.arik-image-box-title {
	margin: 0 0 10px 0;
	font-size: 1.5em;
	font-weight: 600;
}

.arik-image-box-description {
	margin: 0 0 15px 0;
	flex-grow: 1;
}

.arik-image-box-button {
	display: inline-block;
	padding: 10px 20px;
	background-color: #0073aa;
	color: #fff;
	text-decoration: none;
	border-radius: 3px;
	transition: all 0.3s ease;
	align-self: flex-start;
}

.arik-image-box-button:hover {
	background-color: #005177;
	transform: translateY(-2px);
}

/* Grid Dividers */
.arik-grid-dividers-yes .arik-image-box-grid {
	--divider-style: solid;
	--divider-color: #ddd;
	--divider-width: 1px;
	gap: 0;
}

.arik-grid-dividers-yes .arik-image-box-item {
	border-right: var(--divider-width) var(--divider-style) var(--divider-color);
	border-bottom: var(--divider-width) var(--divider-style) var(--divider-color);
}

.arik-grid-dividers-yes .arik-image-box-item:nth-child(3n) {
	border-right: none;
}

/* ====================================
   8. ARIK TEXT GRID BOX WIDGET
   ==================================== */
.arik-text-box-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.arik-text-box-grid.arik-equal-height {
	grid-auto-rows: 1fr;
}

.arik-text-box-grid.arik-equal-height .arik-text-box-item {
	height: 100%;
}

.arik-text-box-item {
	display: flex;
	flex-direction: column;
	background: #fff;
	transition: all 0.3s ease;
}

.arik-text-box-title {
	margin: 0 0 15px 0;
	font-size: 1.5em;
	font-weight: 600;
	line-height: 1.3;
}

.arik-text-box-content {
	margin: 0 0 20px 0;
	flex-grow: 1;
	line-height: 1.6;
}

.arik-text-box-content p {
	margin: 0 0 10px 0;
}

.arik-text-box-content p:last-child {
	margin-bottom: 0;
}

.arik-text-box-button {
	display: inline-block;
	padding: 10px 20px;
	background-color: #0073aa;
	color: #fff;
	text-decoration: none;
	border-radius: 3px;
	transition: all 0.3s ease;
	align-self: flex-start;
	cursor: pointer;
}

.arik-text-box-button:hover {
	background-color: #005177;
	transform: translateY(-2px);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* ====================================
   9. ARIK IMAGE CAPTIONS WIDGET
   ==================================== */
.arik-image-caption-wrapper {
	position: relative;
	display: block;
	overflow: hidden;
	line-height: 0;
}

.arik-image-caption-wrapper img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.4s ease;
}

.arik-image-caption-wrapper:hover img {
	transform: scale(1.1);
}

.arik-image-caption-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.4s ease;
}

.arik-image-caption-wrapper:hover .arik-image-caption-overlay {
	opacity: 1;
}

.arik-image-caption-content {
	text-align: center;
	padding: 20px;
	color: #fff;
}

.arik-image-caption-title {
	margin: 0 0 10px;
}

.arik-image-caption-description {
	margin: 0 0 15px;
}

.arik-image-caption-button {
	display: inline-block;
	padding: 8px 16px;
	border: 1px solid #fff;
	text-decoration: none;
	color: #fff;
	transition: background 0.3s, color 0.3s;
}

.arik-image-caption-wrapper:hover .arik-image-caption-button {
	background: #fff;
	color: #000;
}

/* ====================================
   10. ARIK CONTACT INFO WIDGET
   ==================================== */
.arik-contact-info-layout-list .arik-contact-info-wrapper {
	display: flex;
	flex-direction: column;
}

.arik-contact-info-layout-grid .arik-contact-info-wrapper {
	display: grid;
}

.arik-contact-info-item {
	display: flex;
	align-items: center;
	text-decoration: none;
	color: inherit;
}

.arik-contact-info-icon {
	line-height: 1;
}

.arik-contact-info-icon .elementor-icon {
	display: flex;
}

.arik-contact-info-icon .elementor-icon svg {
	width: 1em;
	height: 1em;
}

.arik-contact-info-content {
	flex-grow: 1;
}

.arik-contact-info-title,
.arik-contact-info-detail {
	margin: 0;
}

.arik-contact-info-icon__inner {
	display: inline-flex;
	line-height: 1;
	color: inherit;
	width: 1em;
	height: 1em;
	fill: currentColor;
}

/* ====================================
   11. ARIK PRODUCT MAGAZINE GRID WIDGET
   MAGAZINE + GRID LAYOUTS
   ==================================== */

/* Magazine Layout (1 large + 2 small) */
.arik-product-magazine-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: 15px;
	min-height: 500px;
	width: 100%;
}

.arik-product-left-column {
	display: flex;
}

.arik-product-right-column {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

/* Grid Layout (2x2 equal) */
.arik-product-grid-layout {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 15px;
	min-height: 500px;
	width: 100%;
}

/* Common Product Item Styles */
.arik-product-item {
	position: relative;
	overflow: hidden;
	border-radius: 8px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	display: flex;
	width: 100%;
	min-height: 240px;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.arik-product-item:hover {
	transform: scale(1.02);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.arik-product-left-column .arik-product-item {
	height: 100%;
}

.arik-product-right-column .arik-product-item {
	flex: 1;
}

/* Product Overlay */
.arik-product-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.4);
	transition: background-color 0.3s ease;
	z-index: 1;
}

.arik-product-item:hover .arik-product-overlay {
	background-color: rgba(0, 0, 0, 0.6);
}

/* Product Content Container */
.arik-product-content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	width: 100%;
	padding: 30px;
	text-align: left;
}

/* Product Category */
.arik-product-category {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #ffffff;
	opacity: 0.9;
	width: 100%;
}

.arik-product-category a {
	color: #ffffff;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.arik-product-category a:hover {
	opacity: 0.7;
}

/* Product Title */
.arik-product-title {
	margin: 0 0 10px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
	color: #ffffff;
	text-transform: uppercase;
	width: 100%;
}

.arik-product-title a {
	color: #ffffff;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.arik-product-title a:hover {
	opacity: 0.8;
}

/* Product Rating */
.arik-product-rating {
	margin: 0 0 10px;
	width: 100%;
}

.arik-product-rating .star-rating {
	color: #ffc107;
	font-size: 14px;
}

.arik-product-rating .star-rating::before {
	color: rgba(255, 255, 255, 0.3);
}

/* Product Price */
.arik-product-price {
	margin: 0 0 20px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	color: #ffffff;
	width: 100%;
}

.arik-product-price del {
	opacity: 0.6;
	font-size: 0.8em;
	margin-right: 8px;
	font-weight: 400;
}

.arik-product-price ins {
	text-decoration: none;
	color: #ffffff;
}

.arik-product-price .woocommerce-Price-amount {
	font-weight: 700;
}

/* Product Button */
.arik-product-button {
	display: inline-block;
	padding: 12px 30px;
	background-color: #ffffff;
	color: #333333;
	text-decoration: none;
	font-weight: 600;
	font-size: 14px;
	border-radius: 4px;
	transition: all 0.3s ease;
	text-transform: capitalize;
	border: none;
	cursor: pointer;
	text-align: center;
}

.arik-product-button:hover {
	background-color: #f0f0f0;
	color: #333333;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.arik-product-button:focus {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

/* Sale Badge */
.arik-product-item .onsale {
	position: absolute;
	top: 15px;
	right: 15px;
	z-index: 3;
	background: #ff0000;
	color: #ffffff;
	padding: 6px 12px;
	border-radius: 3px;
	font-weight: 600;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Out of Stock Badge */
.arik-product-item .out-of-stock-badge {
	position: absolute;
	top: 15px;
	left: 15px;
	z-index: 3;
	background: #999999;
	color: #ffffff;
	padding: 6px 12px;
	border-radius: 3px;
	font-weight: 600;
	font-size: 12px;
	text-transform: uppercase;
}

/* WooCommerce Compatibility */
.arik-product-item .added_to_cart {
	display: none !important;
}


/* Loading State */
.arik-product-button.loading {
	opacity: 0.6;
	cursor: wait;
	pointer-events: none;
}

.arik-product-button.loading::after {
	content: '...';
	animation: arikProductLoading 1.5s infinite;
}

@keyframes arikProductLoading {
	0%, 20% {
		content: '.';
	}
	40% {
		content: '..';
	}
	60%, 100% {
		content: '...';
	}
}

/* Added to Cart State */
.arik-product-button.added {
	background-color: #27ae60;
	color: #ffffff;
}

.arik-product-button.added:hover {
	background-color: #229954;
	color: #ffffff;
}

/* Print Styles */

/* ====================================
   12. ARIK FEATURED MEDIA WIDGET
   ==================================== */
.arik-featured-media-wrapper {
	width: 100%;
}

.arik-featured-media-container {
	display: grid;
	width: 100%;
	align-items: center;
	grid-template-areas: "media content";
}

.arik-featured-media-pos-right .arik-featured-media-container {
	grid-template-areas: "content media";
}

.arik-featured-media-item {
	grid-area: media;
	width: 100%;
	position: relative;
}

.arik-featured-media-content {
	grid-area: content;
	display: flex;
	flex-direction: column;
}

.arik-featured-media-item img {
	width: 100%;
	height: auto;
	display: block;
}

.arik-video-wrapper {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	background: #000;
}

.arik-video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.arik-video-error {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 300px;
	background: #f5f5f5;
	border: 2px dashed #ddd;
	border-radius: 8px;
}

.arik-video-error p {
	color: #666;
	font-size: 14px;
	text-align: center;
	padding: 20px;
	margin: 0;
}

.arik-featured-title {
	margin: 0 0 15px;
	line-height: 1.3;
}

.arik-featured-description {
	margin: 0 0 20px;
	line-height: 1.6;
}

.arik-featured-description p:last-child {
	margin-bottom: 0;
}

.arik-featured-button-wrapper {
	margin-top: auto;
}

.arik-featured-button {
	display: inline-block;
	text-decoration: none;
	transition: all 0.3s ease;
	cursor: pointer;
}

/* ====================================
   13. ARIK GALLERY WIDGET
   ==================================== */
.elementor-widget-arik-gallery .arik-gallery-grid {
	width: 100%;
}

.elementor-widget-arik-gallery .arik-gallery-item {
	position: relative;
	overflow: hidden;
}

.elementor-widget-arik-gallery .arik-gallery-item a,
.elementor-widget-arik-gallery .arik-gallery-item div {
	display: block;
	position: relative;
	line-height: 0;
}

.elementor-widget-arik-gallery .arik-gallery-item img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.4s ease, opacity 0.3s ease;
}

.elementor-widget-arik-gallery .arik-gallery-item a:hover img,
.elementor-widget-arik-gallery .arik-gallery-item div:hover img {
	transform: scale(1.05);
}

/* Grid Layout */
.elementor-widget-arik-gallery.arik-gallery-layout-grid .arik-gallery-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
}

.elementor-widget-arik-gallery.arik-gallery-layout-grid .arik-gallery-item img {
	object-fit: cover;
	height: 100%;
}

/* Justified Layout */
.elementor-widget-arik-gallery.arik-gallery-layout-justified .arik-gallery-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.elementor-widget-arik-gallery.arik-gallery-layout-justified .arik-gallery-item {
	flex: 1 1 auto;
	min-width: 200px;
}

.elementor-widget-arik-gallery.arik-gallery-layout-justified .arik-gallery-item img {
	object-fit: cover;
	height: 100%;
	min-height: 200px;
}

/* Masonry Layout */
.elementor-widget-arik-gallery.arik-gallery-layout-masonry .arik-gallery-grid {
	display: block;
	column-count: 4;
	column-gap: 10px;
}

.elementor-widget-arik-gallery.arik-gallery-layout-masonry .arik-gallery-item {
	break-inside: avoid;
	display: inline-block;
	width: 100%;
	margin-bottom: 10px;
}

.elementor-widget-arik-gallery.arik-gallery-layout-masonry .arik-gallery-item img {
	height: auto;
}

/* Lightbox */
.elementor-widget-arik-gallery .arik-gallery-item a[data-elementor-open-lightbox="yes"] {
	cursor: pointer;
}

/* Loading Animation */
.elementor-widget-arik-gallery .arik-gallery-item img[loading="lazy"] {
	opacity: 0;
	animation: arikGalleryFadeIn 0.3s ease-in forwards;
}

@keyframes arikGalleryFadeIn {
	to {
		opacity: 1;
	}
}

/* ====================================
   14. ARIK PRODUCT TABLE WIDGET
   ==================================== */
.arik-product-table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #eee;
}

.arik-product-table th,
.arik-product-table td {
	padding: 15px;
	border-bottom: 1px solid #eee;
	text-align: left;
	vertical-align: middle;
}

.arik-product-table th {
	background-color: #008080;
	color: #fff;
}

.arik-product-table tbody tr {
	border-bottom: 1px solid #eee;
}

.arik-product-table tbody tr:hover {
	background-color: #f9f9f9;
}

.arik-product-table td img {
	max-width: 60px;
	height: auto;
	border: 1px solid #eee;
	border-radius: 4px;
}

.arik-product-table .quantity .qty {
	width: 60px;
	padding: 8px;
	text-align: center;
}

.arik-product-table .button {
	background-color: #008080;
	color: #fff;
	padding: 10px 15px;
	border-radius: 4px;
	text-decoration: none;
	white-space: nowrap;
}

.arik-product-table .price del {
	opacity: 0.7;
	margin-right: 5px;
}

/* ====================================
   15. ARIK PRODUCT TAG STYLE WIDGET
   ==================================== */
.arik-product-tag-grid {
	display: grid;
	width: 100%;
	align-items: stretch;
}

.arik-product-tag-item {
	background: #fff;
	border: 1px solid #eee;
	border-radius: 8px;
	overflow: hidden;
	transition: all 0.3s ease;
	text-align: center;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.arik-product-tag-item:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	transform: translateY(-2px);
}

.arik-product-tag-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 20px;
}

.arik-product-tag-title {
	margin: 0;
	width: 100%;
}

.arik-product-tag-title a {
	text-decoration: none;
	color: #333;
	font-weight: 600;
	transition: color 0.3s ease;
	display: block;
}

.arik-product-tag-title a:hover {
	color: #0073aa;
}

/* ====================================
   16. ARIK PRODUCT CATEGORY SLIDER WIDGET
   ==================================== */

/* Slider Container */
.arik-category-slider {
	position: relative;
	overflow: hidden;
	width: 100%;
	padding-bottom: 50px;
}

/* Swiper Wrapper */
.arik-category-slider .swiper-wrapper {
	display: flex;
}

/* Individual Slide */
.arik-category-slider .swiper-slide {
	flex-shrink: 0;
	width: 100%;
	height: auto;
	position: relative;
}

/* Category Item */
.arik-category-item {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
	height: 100%;
	width: 100%;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.arik-category-item:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Image Container */
.arik-category-image {
	display: block;
	width: 100%;
	margin-bottom: 15px;
	text-align: left;
	overflow: hidden;
}

.arik-category-image img {
	width: 100%;
	height: auto;
	display: inline-block;
	vertical-align: middle;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.arik-category-item:hover .arik-category-image img {
	transform: scale(1.05);
}

/* Content Container */
.arik-category-content {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 0;
}

/* Title */
.arik-category-title {
	margin: 0 0 10px 0;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.3;
}

.arik-category-title a {
	text-decoration: none;
	transition: color 0.3s ease;
	color: inherit;
}

.arik-category-title a:hover {
	opacity: 0.8;
}

/* Description */
.arik-category-description {
	margin: 0 0 15px 0;
	font-size: 14px;
	line-height: 1.6;
	color: #666;
}

/* Button */
.arik-category-button {
	display: inline-block;
	padding: 10px 20px;
	background-color: #0073aa;
	color: #fff;
	text-decoration: none;
	border-radius: 4px;
	transition: background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
	align-self: flex-start;
	width: auto;
	box-sizing: border-box;
	border: none;
	cursor: pointer;
	text-align: center;
	font-weight: 500;
}

.arik-category-button:hover {
	background-color: #005a87;
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.arik-category-button[style*="align-self: stretch"] {
	display: block !important;
	width: 100% !important;
	text-align: center;
}

/* Swiper Navigation Arrows */
.arik-category-slider .swiper-button-next,
.arik-category-slider .swiper-button-prev {
	position: absolute;
	top: 50%;
	width: 44px;
	height: 44px;
	margin-top: -22px;
	z-index: 10;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #007aff;
	transition: all 0.3s ease;
}

.arik-category-slider .swiper-button-next::after,
.arik-category-slider .swiper-button-prev::after {
	font-family: swiper-icons;
	font-size: 24px;
	text-transform: none !important;
	letter-spacing: 0;
	font-variant: initial;
	line-height: 1;
}

.arik-category-slider .swiper-button-prev {
	left: 10px;
	right: auto;
}

.arik-category-slider .swiper-button-next {
	right: 10px;
	left: auto;
}

.arik-category-slider .swiper-button-next:hover,
.arik-category-slider .swiper-button-prev:hover {
	opacity: 0.7;
}

.arik-category-slider .swiper-button-next.swiper-button-disabled,
.arik-category-slider .swiper-button-prev.swiper-button-disabled {
	opacity: 0.35;
	cursor: auto;
	pointer-events: none;
}

/* Swiper Pagination (Dots) */
.arik-category-slider .swiper-pagination {
	position: absolute;
	text-align: center;
	transition: opacity 0.3s;
	transform: translate3d(0, 0, 0);
	z-index: 10;
	bottom: -40px;
	left: 0;
	width: 100%;
}

.arik-category-slider .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	display: inline-block;
	border-radius: 50%;
	background: #000;
	opacity: 0.3;
	margin: 0 5px;
	cursor: pointer;
	transition: all 0.3s ease;
}

.arik-category-slider .swiper-pagination-bullet-active {
	opacity: 1;
	background: #007aff;
	transform: scale(1.2);
}

.arik-category-slider .swiper-pagination-bullet:hover {
	opacity: 0.6;
}

/* Accessibility */
.arik-category-slider .swiper-button-next:focus,
.arik-category-slider .swiper-button-prev:focus,
.arik-category-button:focus {
	outline: 2px solid #007aff;
	outline-offset: 2px;
}

/* ====================================
   17. ARIK PRODUCT CATEGORY INLINE WIDGET
   ==================================== */
.arik-inline-grid {
	width: 100%;
	max-width: 100%;
}

.arik-inline-grid .arik-inline-grid-inner {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px 20px;
	align-items: start;
}

.arik-inline-grid .arik-category-item {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition: all 0.3s ease;
}

.arik-inline-grid .arik-category-image {
	display: block;
	margin-bottom: 15px;
}

.arik-inline-grid .arik-category-image img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.arik-inline-grid .arik-category-content {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.arik-inline-grid .arik-category-title {
	margin: 0 0 10px 0;
	font-size: 18px;
	font-weight: bold;
}

.arik-inline-grid .arik-category-title a {
	text-decoration: none;
	color: inherit;
}

.arik-inline-grid .arik-category-description {
	margin: 0 0 15px 0;
	font-size: 14px;
	color: #666;
}

.arik-inline-grid .arik-category-button {
	display: inline-block;
	padding: 10px 20px;
	background-color: #007cba;
	color: white;
	text-decoration: none;
	border-radius: 4px;
	text-align: center;
	transition: background-color 0.3s ease;
}

.arik-inline-grid .arik-category-button:hover {
	background-color: #005a87;
	color: white;
}

/* Load More Button */
.arik-inline-grid .load-more-wrapper {
	margin-top: 30px;
	text-align: center;
}

.arik-inline-grid .load-more-categories {
	padding: 12px 24px;
	background-color: #f0f0f0;
	color: #333;
	border: 1px solid #ddd;
	border-radius: 4px;
	cursor: pointer;
	font-size: 16px;
	transition: all 0.3s ease;
}

.arik-inline-grid .load-more-categories:hover {
	background-color: #e0e0e0;
}

.arik-inline-grid .load-more-categories:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.load-more-categories.loading {
	opacity: 0.6;
	cursor: not-allowed;
}

/* ====================================
   18. ARIK PRODUCT CATEGORY GRID WIDGET
   ==================================== */
.arik-category-grid {
	width: 100%;
	max-width: 100%;
}

.arik-category-grid-inner {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	align-items: start;
}

.arik-category-grid-item {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition: all 0.3s ease;
	background: #fff;
}

.arik-category-grid-image {
	display: block;
	overflow: hidden;
	position: relative;
}

.arik-category-grid-image a {
	display: block;
}

.arik-category-grid-image img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.4s ease;
}

/* Image Hover Effects */
.arik-category-grid-image.hover-zoom img {
	transition: transform 0.4s ease;
}

.arik-category-grid-item:hover .arik-category-grid-image.hover-zoom img {
	transform: scale(1.1);
}

.arik-category-grid-item:hover .arik-category-grid-image.hover-zoom-out img {
	transform: scale(0.9);
}

.arik-category-grid-item:hover .arik-category-grid-image.hover-rotate img {
	transform: rotate(5deg) scale(1.1);
}

.arik-category-grid-item:hover .arik-category-grid-image.hover-grayscale img {
	filter: grayscale(100%);
}

/* Content */
.arik-category-grid-content {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	padding: 20px;
}

.arik-category-grid-title {
	margin: 0 0 10px 0;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.4;
}

.arik-category-grid-title a {
	text-decoration: none;
	color: #333;
	transition: color 0.3s ease;
}

.arik-category-grid-title a:hover {
	color: #007cba;
}

.arik-category-grid-description {
	margin: 0 0 15px 0;
	font-size: 14px;
	line-height: 1.6;
	color: #666;
}

.arik-category-grid-count {
	margin: 0 0 20px 0;
	font-size: 13px;
	color: #999;
	font-weight: 500;
}

/* Button Wrapper */
.arik-category-grid-button-wrapper {
	display: flex;
	justify-content: center;
	margin-top: auto;
}

.arik-category-grid-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 24px;
	background-color: #007cba;
	color: #fff;
	text-decoration: none;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 500;
	transition: all 0.3s ease;
	border: 2px solid transparent;
	line-height: 1.5;
}

.arik-category-grid-button:hover {
	background-color: #005a87;
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 124, 186, 0.3);
}

/* Button Icons */
.arik-category-grid-button .button-icon-before,
.arik-category-grid-button .button-icon-after {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	flex-shrink: 0;
}

.arik-category-grid-button i {
	font-size: 16px;
	width: 1em;
	height: 1em;
	line-height: 1;
	transition: all 0.3s ease;
}

.arik-category-grid-button svg {
	width: 1em;
	height: 1em;
	min-width: 1em;
	min-height: 1em;
	display: inline-block;
	vertical-align: middle;
	transition: all 0.3s ease;
}

.arik-category-grid-button svg path {
	fill: currentColor;
}

.arik-category-grid-button .button-text {
	display: inline-block;
	line-height: 1.5;
}

.arik-category-grid-button:hover i,
.arik-category-grid-button:hover svg {
	transform: scale(1.1);
}

.arik-category-grid-button .button-icon-before {
	margin-right: 8px;
}

.arik-category-grid-button .button-icon-after {
	margin-left: 8px;
}

.arik-category-grid-button-wrapper.justify .arik-category-grid-button {
	width: 100%;
}

.arik-no-categories {
	text-align: center;
	padding: 40px 20px;
	font-size: 16px;
	color: #999;
}
/* ===================================
   Equal Height Boxes
   =================================== */
.arik-equal-height-yes .arik-category-grid-item {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
}

.arik-equal-height-yes .arik-category-grid-content {
	flex-grow: 1 !important;
	display: flex !important;
	flex-direction: column !important;
}

/* Ensure image doesn't grow with flex */
.arik-equal-height-yes .arik-category-grid-image {
	flex-shrink: 0;
}

/* ====================================
   19. ARIK PRODUCT CATEGORY HIERARCHY GRID
   ==================================== */
.arik-hierarchy-magazine-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: 15px;
	min-height: 500px;
	width: 100%;
}

.arik-hierarchy-left-column {
	display: flex;
}

.arik-hierarchy-right-column {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.arik-hierarchy-item {
	position: relative;
	overflow: hidden;
	border-radius: 8px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	display: flex;
	width: 100%;
	min-height: 240px;
	transition: transform 0.3s ease;
}

.arik-hierarchy-item:hover {
	transform: scale(1.02);
}

.arik-hierarchy-left-column .arik-hierarchy-item {
	height: 100%;
}

.arik-hierarchy-right-column .arik-hierarchy-item {
	flex: 1;
}

.arik-hierarchy-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.4);
	transition: background-color 0.3s ease;
	z-index: 1;
}

.arik-hierarchy-item:hover .arik-hierarchy-overlay {
	background-color: rgba(0, 0, 0, 0.6);
}

.arik-hierarchy-content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	width: 100%;
	padding: 30px;
	text-align: left;
}

.arik-hierarchy-title {
	margin: 0 0 10px;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
	color: #ffffff;
	text-transform: uppercase;
	width: 100%;
}

.arik-hierarchy-subtitle {
	margin: 0 0 20px;
	font-size: 16px;
	line-height: 1.4;
	color: #ffffff;
	width: 100%;
}

.arik-hierarchy-button {
	display: inline-block;
	padding: 12px 30px;
	background-color: #ffffff;
	color: #333333;
	text-decoration: none;
	font-weight: 600;
	font-size: 14px;
	border-radius: 4px;
	transition: all 0.3s ease;
	text-transform: capitalize;
}

.arik-hierarchy-button:hover {
	background-color: #f0f0f0;
	color: #333333;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* ====================================
   20. ARIK PRODUCT CATEGORY HIERARCHY TWO
   ==================================== */
   
/* ============================================
   CSS VARIABLES
   ============================================ */
.arik-cat-grid {
	--gap-size: 15px;
	--item-height: 300px;
	--columns: 3;
}

/* ============================================
   ERROR MESSAGE
   ============================================ */
.arik-cat-error {
	padding: 20px;
	background: #f8d7da;
	border: 1px solid #f5c6cb;
	border-radius: 4px;
	color: #721c24;
	font-size: 14px;
}

/* ============================================
   MAGAZINE LAYOUT
   ============================================ */
.arik-layout-magazine {
	display: grid;
	grid-template-columns: 1fr 2fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: var(--gap-size);
	grid-template-areas:
		"left-top center right-top"
		"left-bottom center right-bottom";
}

.arik-layout-magazine .arik-left-top {
	grid-area: left-top;
}

.arik-layout-magazine .arik-left-bottom {
	grid-area: left-bottom;
}

.arik-layout-magazine .arik-center {
	grid-area: center;
}

.arik-layout-magazine .arik-right-top {
	grid-area: right-top;
}

.arik-layout-magazine .arik-right-bottom {
	grid-area: right-bottom;
}

.arik-layout-magazine .arik-cat-item:not(.arik-center) {
	min-height: calc(var(--item-height) / 2);
}

.arik-layout-magazine .arik-cat-item.arik-center {
	min-height: var(--item-height);
}

/* Center Item - Larger Typography */
.arik-layout-magazine .arik-center .arik-cat-content {
	padding: 40px;
}

.arik-layout-magazine .arik-center .arik-cat-title {
	font-size: 42px;
	margin-bottom: 15px;
}

.arik-layout-magazine .arik-center .arik-cat-desc {
	font-size: 16px;
}

/* ============================================
   GRID LAYOUT
   ============================================ */
.arik-layout-grid {
	display: grid;
	grid-template-columns: repeat(var(--columns), 1fr);
	gap: var(--gap-size);
}

.arik-layout-grid .arik-cat-item {
	min-height: var(--item-height);
}

/* ============================================
   MASONRY LAYOUT
   ============================================ */
.arik-layout-masonry {
	display: grid;
	grid-template-columns: repeat(var(--columns), 1fr);
	grid-auto-rows: calc(var(--item-height) / 2);
	gap: var(--gap-size);
	grid-auto-flow: dense;
}

.arik-layout-masonry .arik-large {
	grid-column: span 2;
	grid-row: span 2;
}

.arik-layout-masonry .arik-medium {
	grid-column: span 2;
	grid-row: span 1;
}

.arik-layout-masonry .arik-small {
	grid-column: span 1;
	grid-row: span 1;
}

/* ============================================
   CATEGORY ITEM - BASE STYLES
   ============================================ */
.arik-cat-item {
	position: relative;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	height: 100%;
}

.arik-cat-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
}

/* ============================================
   CATEGORY LINK
   ============================================ */
.arik-cat-link {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	min-height: inherit;
	text-decoration: none;
	color: inherit;
}

/* ============================================
   CATEGORY IMAGE - FIXED HEIGHT ISSUE
   ============================================ */
.arik-cat-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* Aspect Ratio Support */
.arik-cat-wrapper.aspect-ratio-1-1 .arik-cat-img {
	aspect-ratio: 1 / 1;
	height: auto;
	min-height: 100%;
}

.arik-cat-wrapper.aspect-ratio-4-3 .arik-cat-img {
	aspect-ratio: 4 / 3;
	height: auto;
	min-height: 100%;
}

.arik-cat-wrapper.aspect-ratio-16-9 .arik-cat-img {
	aspect-ratio: 16 / 9;
	height: auto;
	min-height: 100%;
}

.arik-cat-wrapper.aspect-ratio-21-9 .arik-cat-img {
	aspect-ratio: 21 / 9;
	height: auto;
	min-height: 100%;
}

.arik-cat-wrapper.aspect-ratio-3-4 .arik-cat-img {
	aspect-ratio: 3 / 4;
	height: auto;
	min-height: 100%;
}

.arik-cat-wrapper.aspect-ratio-9-16 .arik-cat-img {
	aspect-ratio: 9 / 16;
	height: auto;
	min-height: 100%;
}

/* ============================================
   OVERLAY
   ============================================ */
.arik-cat-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.65) 100%);
	z-index: 1;
	transition: background 0.3s ease;
}

.arik-cat-item:hover .arik-cat-overlay {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.8) 100%);
}

/* ============================================
   CONTENT WRAPPER
   ============================================ */
.arik-cat-content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	height: 100%;
	width: 100%;
	padding: 30px;
	box-sizing: border-box;
}

/* ============================================
   TITLE
   ============================================ */
.arik-cat-title {
	margin: 0 0 10px 0;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
	color: #ffffff;
	text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
	width: 100%;
}

.arik-cat-title a {
	color: inherit;
	text-decoration: none;
}

/* ============================================
   DESCRIPTION
   ============================================ */
.arik-cat-desc {
	margin: 0 0 15px 0;
	font-size: 14px;
	line-height: 1.5;
	color: #ffffff;
	opacity: 0.95;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
	width: 100%;
}

/* ============================================
   BUTTON
   ============================================ */
.arik-cat-btn {
	display: inline-block;
	padding: 12px 28px;
	background: #ffffff;
	color: #333333;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	border-radius: 4px;
	transition: all 0.3s ease;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
	cursor: pointer;
}

.arik-cat-item:hover .arik-cat-btn {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
}


/* ====================================
   21. ARIK PRODUCT PRODUCT HIERARCHY STYLE
   ==================================== */

/* ============================================
   CSS VARIABLES
   ============================================ */
.arik-prod-grid {
	--gap-size: 15px;
	--item-height: 250px;
	--columns: 3;
}

/* ============================================
   ERROR MESSAGE
   ============================================ */
.arik-prod-error {
	padding: 20px;
	background: #f8d7da;
	border: 1px solid #f5c6cb;
	border-radius: 4px;
	color: #721c24;
	font-size: 14px;
}

/* ============================================
   MAGAZINE LAYOUT - HEIGHT FIXED
   ============================================ */
.arik-layout-magazine {
	display: grid;
	grid-template-columns: 1fr 2fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: var(--gap-size);
	grid-template-areas:
		"left-top center right-top"
		"left-bottom center right-bottom";
	height: calc((var(--item-height) * 2) + var(--gap-size));
}

.arik-layout-magazine .arik-left-top {
	grid-area: left-top;
}

.arik-layout-magazine .arik-left-bottom {
	grid-area: left-bottom;
}

.arik-layout-magazine .arik-center {
	grid-area: center;
}

.arik-layout-magazine .arik-right-top {
	grid-area: right-top;
}

.arik-layout-magazine .arik-right-bottom {
	grid-area: right-bottom;
}

/* Magazine items fill grid cells properly */
.arik-layout-magazine .arik-prod-item {
	height: 100%;
	min-height: unset;
}

/* Center Item - Larger Typography */
.arik-layout-magazine .arik-center .arik-prod-content {
	padding: 30px;
}

.arik-layout-magazine .arik-center .arik-prod-title {
	font-size: 32px;
	margin-bottom: 12px;
}

.arik-layout-magazine .arik-center .arik-prod-price {
	font-size: 20px;
}

/* ============================================
   GRID LAYOUT
   ============================================ */
.arik-layout-grid {
	display: grid;
	grid-template-columns: repeat(var(--columns), 1fr);
	gap: var(--gap-size);
}

.arik-layout-grid .arik-prod-item {
	min-height: var(--item-height);
}

/* ============================================
   MASONRY LAYOUT
   ============================================ */
.arik-layout-masonry {
	display: grid;
	grid-template-columns: repeat(var(--columns), 1fr);
	grid-auto-rows: calc(var(--item-height) / 2);
	gap: var(--gap-size);
	grid-auto-flow: dense;
}

.arik-layout-masonry .arik-large {
	grid-column: span 2;
	grid-row: span 2;
}

.arik-layout-masonry .arik-medium {
	grid-column: span 2;
	grid-row: span 1;
}

.arik-layout-masonry .arik-small {
	grid-column: span 1;
	grid-row: span 1;
}

/* ============================================
   PRODUCT ITEM - BASE STYLES
   ============================================ */
.arik-prod-item {
	position: relative;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	height: 100%;
}

.arik-prod-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
}

/* ============================================
   PRODUCT LINK
   ============================================ */
.arik-prod-link {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	min-height: inherit;
	text-decoration: none;
	color: inherit;
}

/* ============================================
   PRODUCT IMAGE - FIXED HEIGHT ISSUE
   ============================================ */
.arik-prod-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* Aspect Ratio Support */
.arik-prod-wrapper.aspect-ratio-1-1 .arik-prod-img {
	aspect-ratio: 1 / 1;
	height: auto;
	min-height: 100%;
}

.arik-prod-wrapper.aspect-ratio-4-3 .arik-prod-img {
	aspect-ratio: 4 / 3;
	height: auto;
	min-height: 100%;
}

.arik-prod-wrapper.aspect-ratio-16-9 .arik-prod-img {
	aspect-ratio: 16 / 9;
	height: auto;
	min-height: 100%;
}

.arik-prod-wrapper.aspect-ratio-21-9 .arik-prod-img {
	aspect-ratio: 21 / 9;
	height: auto;
	min-height: 100%;
}

.arik-prod-wrapper.aspect-ratio-3-4 .arik-prod-img {
	aspect-ratio: 3 / 4;
	height: auto;
	min-height: 100%;
}

.arik-prod-wrapper.aspect-ratio-9-16 .arik-prod-img {
	aspect-ratio: 9 / 16;
	height: auto;
	min-height: 100%;
}

/* ============================================
   OVERLAY
   ============================================ */
.arik-prod-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.65) 100%);
	z-index: 1;
	transition: background 0.3s ease;
}

.arik-prod-item:hover .arik-prod-overlay {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.8) 100%);
}

/* ============================================
   SALE BADGE
   ============================================ */
.arik-prod-sale-badge {
	position: absolute;
	top: 15px;
	left: 15px;
	background: #ff6b6b;
	color: #ffffff;
	padding: 6px 14px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-radius: 4px;
	z-index: 3;
	box-shadow: 0 2px 8px rgba(255, 107, 107, 0.4);
}

/* ============================================
   CONTENT WRAPPER - FIXED ALIGNMENT
   ============================================ */
.arik-prod-content {
	position: relative;
	z-index: 2;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-end;
	align-items: flex-start;
	height: 100%;
	width: 100%;
	padding: 25px;
	box-sizing: border-box;
	text-align: left;
}

/* ============================================
   TITLE - ALIGNMENT SUPPORT
   ============================================ */
.arik-prod-title {
	margin: 0 0 8px 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: #ffffff;
	text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
	width: 100%;
	display: block;
}

.arik-prod-title a {
	color: inherit;
	text-decoration: none;
}

/* ============================================
   PRICE - ALIGNMENT SUPPORT
   ============================================ */
.arik-prod-price {
	margin: 0 0 8px 0;
	font-size: 16px;
	font-weight: 700;
	color: #ffffff;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
	width: 100%;
	display: block;
}

.arik-prod-price del {
	opacity: 0.7;
	font-weight: 400;
	margin-right: 8px;
}

.arik-prod-price ins {
	text-decoration: none;
	color: #ff6b6b;
}

.arik-prod-price .amount {
	font-weight: 700;
}

/* ============================================
   RATING - ALIGNMENT SUPPORT
   ============================================ */
.arik-prod-rating {
	margin: 0 0 10px 0;
	width: 100%;
	display: block;
}

.arik-prod-rating .star-rating {
	color: #ffc107;
	font-size: 14px;
}

/* ============================================
   EXCERPT - ALIGNMENT SUPPORT
   ============================================ */
.arik-prod-excerpt {
	margin: 0 0 12px 0;
	font-size: 13px;
	line-height: 1.5;
	color: #ffffff;
	opacity: 0.95;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
	width: 100%;
	display: block;
}

/* ============================================
   BUTTON - ALIGNMENT SUPPORT
   ============================================ */
.arik-prod-btn {
	display: inline-block;
	padding: 10px 24px;
	background: #ffffff;
	color: #333333;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	border-radius: 4px;
	transition: all 0.3s ease;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
	cursor: pointer;
	margin: 0;
}

.arik-prod-item:hover .arik-prod-btn {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
}


/* ============================================
   ACCESSIBILITY & FOCUS STATES
   ============================================ */
.arik-prod-link:focus {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

.arik-prod-btn:focus {
	outline: 2px solid #ffffff;
	outline-offset: 3px;
}

/* ============================================
   WOOCOMMERCE COMPATIBILITY
   ============================================ */
.arik-prod-price .woocommerce-Price-amount {
	font-weight: inherit;
}

.arik-prod-price .woocommerce-Price-currencySymbol {
	font-size: 0.85em;
}

.arik-prod-rating .woocommerce-product-rating {
	margin: 0;
}

.arik-prod-rating .star-rating {
	float: none;
	margin: 0;
}

/* ====================================
   22. ARIK PRODUCT HIERARCHY ONE GRID STYLE
   ==================================== */

/* ============================================
   CSS VARIABLES
   ============================================ */
.arik-prod-one-grid {
	--gap-size: 15px;
	--item-height: 500px;
}

/* ============================================
   ERROR MESSAGE
   ============================================ */
.arik-prod-one-error {
	padding: 20px;
	background: #f8d7da;
	border: 1px solid #f5c6cb;
	border-radius: 4px;
	color: #721c24;
	font-size: 14px;
}

/* ============================================
   FEATURED LEFT LAYOUT - 1 LARGE LEFT + 4 SMALL RIGHT - FIXED NO OVERLAP
   ============================================ */
.arik-layout-featured-left {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: var(--gap-size);
	height: var(--item-height);
}

.arik-layout-featured-left .arik-prod-featured {
	grid-column: 1 / 2;
	grid-row: 1 / 3;
}

.arik-layout-featured-left .arik-prod-small:nth-child(2) {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
}

.arik-layout-featured-left .arik-prod-small:nth-child(3) {
	grid-column: 3 / 4;
	grid-row: 1 / 2;
}

.arik-layout-featured-left .arik-prod-small:nth-child(4) {
	grid-column: 2 / 3;
	grid-row: 2 / 3;
}

.arik-layout-featured-left .arik-prod-small:nth-child(5) {
	grid-column: 3 / 4;
	grid-row: 2 / 3;
}

/* Remove wrapper grid */
.arik-layout-featured-left .arik-prod-one-right-grid {
	display: contents;
}

/* ============================================
   FEATURED RIGHT LAYOUT - 4 SMALL LEFT + 1 LARGE RIGHT - FIXED NO OVERLAP
   ============================================ */
.arik-layout-featured-right {
	display: grid;
	grid-template-columns: 1fr 1fr 2fr;
	grid-template-rows: 1fr 1fr;
	gap: var(--gap-size);
	height: var(--item-height);
}

.arik-layout-featured-right .arik-prod-small:nth-child(1) {
	grid-column: 1 / 2;
	grid-row: 1 / 2;
}

.arik-layout-featured-right .arik-prod-small:nth-child(2) {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
}

.arik-layout-featured-right .arik-prod-small:nth-child(3) {
	grid-column: 1 / 2;
	grid-row: 2 / 3;
}

.arik-layout-featured-right .arik-prod-small:nth-child(4) {
	grid-column: 2 / 3;
	grid-row: 2 / 3;
}

.arik-layout-featured-right .arik-prod-featured {
	grid-column: 3 / 4;
	grid-row: 1 / 3;
}

/* Remove wrapper grid */
.arik-layout-featured-right .arik-prod-one-left-grid {
	display: contents;
}

/* ============================================
   GRID LAYOUT - EQUAL SIZES
   ============================================ */
.arik-layout-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: var(--gap-size);
	height: auto;
}

.arik-layout-grid .arik-prod-one-item {
	min-height: 300px;
}

/* ============================================
   MASONRY LAYOUT - MIXED SIZES
   ============================================ */
.arik-layout-masonry {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	grid-auto-rows: 150px;
	gap: var(--gap-size);
	grid-auto-flow: dense;
	height: auto;
}

.arik-layout-masonry .arik-prod-large {
	grid-column: span 2;
	grid-row: span 2;
}

.arik-layout-masonry .arik-prod-medium {
	grid-column: span 2;
	grid-row: span 1;
}

.arik-layout-masonry .arik-prod-small {
	grid-column: span 1;
	grid-row: span 1;
}

/* ============================================
   PRODUCT ITEM - BASE STYLES
   ============================================ */
.arik-prod-one-item {
	position: relative;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	height: 100%;
}

.arik-prod-one-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
	z-index: 10;
}

/* Featured Item Specific */
.arik-prod-featured {
	min-height: var(--item-height);
}

/* Small Items Specific */
.arik-prod-small {
	min-height: calc((var(--item-height) - var(--gap-size)) / 2);
}

/* Grid Items */
.arik-prod-grid {
	min-height: 300px;
}

/* ============================================
   PRODUCT LINK
   ============================================ */
.arik-prod-one-link {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	min-height: inherit;
	text-decoration: none;
	color: inherit;
}

/* ============================================
   PRODUCT IMAGE
   ============================================ */
.arik-prod-one-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* Aspect Ratio Support */
.arik-prod-one-wrapper.aspect-ratio-1-1 .arik-prod-one-img {
	aspect-ratio: 1 / 1;
	height: auto;
	min-height: 100%;
}

.arik-prod-one-wrapper.aspect-ratio-4-3 .arik-prod-one-img {
	aspect-ratio: 4 / 3;
	height: auto;
	min-height: 100%;
}

.arik-prod-one-wrapper.aspect-ratio-16-9 .arik-prod-one-img {
	aspect-ratio: 16 / 9;
	height: auto;
	min-height: 100%;
}

.arik-prod-one-wrapper.aspect-ratio-21-9 .arik-prod-one-img {
	aspect-ratio: 21 / 9;
	height: auto;
	min-height: 100%;
}

.arik-prod-one-wrapper.aspect-ratio-3-4 .arik-prod-one-img {
	aspect-ratio: 3 / 4;
	height: auto;
	min-height: 100%;
}

.arik-prod-one-wrapper.aspect-ratio-9-16 .arik-prod-one-img {
	aspect-ratio: 9 / 16;
	height: auto;
	min-height: 100%;
}

/* ============================================
   OVERLAY
   ============================================ */
.arik-prod-one-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.65) 100%);
	z-index: 1;
	transition: background 0.3s ease;
}

.arik-prod-one-item:hover .arik-prod-one-overlay {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.8) 100%);
}

/* ============================================
   SALE BADGE
   ============================================ */
.arik-prod-one-sale-badge {
	position: absolute;
	top: 15px;
	left: 15px;
	background: #ff6b6b;
	color: #ffffff;
	padding: 6px 14px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-radius: 4px;
	z-index: 3;
	box-shadow: 0 2px 8px rgba(255, 107, 107, 0.4);
}

/* ============================================
   CONTENT WRAPPER - FIXED ALIGNMENT
   ============================================ */
.arik-prod-one-content {
	position: relative;
	z-index: 2;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-end;
	align-items: flex-start;
	height: 100%;
	width: 100%;
	padding: 25px;
	box-sizing: border-box;
	text-align: left;
}

/* Featured Product - Larger Padding */
.arik-prod-featured .arik-prod-one-content {
	padding: 40px;
}

/* Small Products - Smaller Padding */
.arik-prod-small .arik-prod-one-content {
	padding: 20px;
}

/* ============================================
   TITLE - ALIGNMENT SUPPORT
   ============================================ */
.arik-prod-one-title {
	margin: 0 0 8px 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: #ffffff;
	text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
	width: 100%;
	display: block;
}

/* Featured Product Title - Larger */
.arik-prod-featured .arik-prod-one-title {
	font-size: 32px;
	margin-bottom: 12px;
}

/* Small Product Title - Smaller */
.arik-prod-small .arik-prod-one-title {
	font-size: 16px;
	margin-bottom: 6px;
}

/* Grid Product Title */
.arik-prod-grid .arik-prod-one-title {
	font-size: 20px;
	margin-bottom: 8px;
}

.arik-prod-one-title a {
	color: inherit;
	text-decoration: none;
}

/* ============================================
   PRICE - ALIGNMENT SUPPORT
   ============================================ */
.arik-prod-one-price {
	margin: 0 0 8px 0;
	font-size: 16px;
	font-weight: 700;
	color: #ffffff;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
	width: 100%;
	display: block;
}

/* Featured Product Price - Larger */
.arik-prod-featured .arik-prod-one-price {
	font-size: 24px;
	margin-bottom: 12px;
}

/* Small Product Price */
.arik-prod-small .arik-prod-one-price {
	font-size: 14px;
}

/* Grid Product Price */
.arik-prod-grid .arik-prod-one-price {
	font-size: 18px;
}

.arik-prod-one-price del {
	opacity: 0.7;
	font-weight: 400;
	margin-right: 8px;
}

.arik-prod-one-price ins {
	text-decoration: none;
	color: #ff6b6b;
}

.arik-prod-one-price .amount {
	font-weight: 700;
}

/* ============================================
   RATING - ALIGNMENT SUPPORT
   ============================================ */
.arik-prod-one-rating {
	margin: 0 0 10px 0;
	width: 100%;
	display: block;
}

.arik-prod-one-rating .star-rating {
	color: #ffc107;
	font-size: 14px;
}

/* Small Product Rating */
.arik-prod-small .arik-prod-one-rating {
	margin: 0 0 6px 0;
}

.arik-prod-small .arik-prod-one-rating .star-rating {
	font-size: 12px;
}

/* ============================================
   EXCERPT - ALIGNMENT SUPPORT
   ============================================ */
.arik-prod-one-excerpt {
	margin: 0 0 12px 0;
	font-size: 14px;
	line-height: 1.5;
	color: #ffffff;
	opacity: 0.95;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
	width: 100%;
	display: block;
}

/* Featured Product Excerpt */
.arik-prod-featured .arik-prod-one-excerpt {
	font-size: 15px;
	margin-bottom: 15px;
}

/* Hide excerpt on small products for better layout */
.arik-prod-small .arik-prod-one-excerpt {
	display: none;
}

/* Grid Product Excerpt */
.arik-prod-grid .arik-prod-one-excerpt {
	font-size: 13px;
}

/* ============================================
   BUTTON - ALIGNMENT SUPPORT
   ============================================ */
.arik-prod-one-btn {
	display: inline-block;
	padding: 10px 24px;
	background: #ffffff;
	color: #333333;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	border-radius: 4px;
	transition: all 0.3s ease;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
	cursor: pointer;
	margin: 0;
}

/* Featured Product Button - Larger */
.arik-prod-featured .arik-prod-one-btn {
	padding: 12px 32px;
	font-size: 14px;
}

/* Small Product Button - Smaller */
.arik-prod-small .arik-prod-one-btn {
	padding: 8px 18px;
	font-size: 12px;
}

/* Grid Product Button */
.arik-prod-grid .arik-prod-one-btn {
	padding: 10px 24px;
	font-size: 13px;
}

.arik-prod-one-item:hover .arik-prod-one-btn {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
}


/* ============================================
   ACCESSIBILITY & FOCUS STATES
   ============================================ */
.arik-prod-one-link:focus {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

.arik-prod-one-btn:focus {
	outline: 2px solid #ffffff;
	outline-offset: 3px;
}

/* ============================================
   WOOCOMMERCE COMPATIBILITY
   ============================================ */
.arik-prod-one-price .woocommerce-Price-amount {
	font-weight: inherit;
}

.arik-prod-one-price .woocommerce-Price-currencySymbol {
	font-size: 0.85em;
}

.arik-prod-one-rating .woocommerce-product-rating {
	margin: 0;
}

.arik-prod-one-rating .star-rating {
	float: none;
	margin: 0;
}


/* ====================================
   ALL RESPONSIVE STYLES (ALL BREAKPOINTS)
   ==================================== */

/* Large Desktop (1600px and below) */

/* Desktop (1200px and below) */

/* Tablet and Below (1024px and below) */

/* Mobile (768px and below) */

/* Extra Small Mobile (480px and below) */

/* Print Styles */

/* ====================================
   ALL RESPONSIVE STYLES
   Media queries organized by breakpoint
   ==================================== */


/* Large Desktop */
@media (max-width: 1600px) {
	.arik-category-grid-inner {
			grid-template-columns: repeat(4, 1fr);
		}
}


/* Desktop */
@media (max-width: 1200px) {
	.arik-category-grid-inner {
			grid-template-columns: repeat(3, 1fr);
		}
}


/* Tablet Landscape */
@media (max-width: 1024px) {
	.arik-product-magazine-grid {
			grid-template-columns: 1fr 1fr;
			min-height: 400px;
		}

		.arik-product-grid-layout {
			grid-template-columns: repeat(2, 1fr);
		}

		.arik-product-title {
			font-size: 20px;
		}

		.arik-product-price {
			font-size: 18px;
		}
	.arik-hierarchy-magazine-grid {
			grid-template-columns: 1fr 1fr;
			min-height: 400px;
		}
	.arik-layout-magazine {
			grid-template-columns: 1fr 1fr;
			grid-template-areas:
				"left-top center"
				"left-bottom center"
				"right-top right-bottom";
		}

		.arik-layout-magazine .arik-center .arik-cat-title {
			font-size: 36px;
		}

		.arik-cat-content {
			padding: 25px;
		}
	.arik-layout-magazine {
			grid-template-columns: 1fr 1fr;
			grid-template-areas:
				"left-top center"
				"left-bottom center"
				"right-top right-bottom";
			height: auto;
		}

		.arik-layout-magazine .arik-center .arik-prod-title {
			font-size: 28px;
		}

		.arik-layout-magazine .arik-center .arik-prod-price {
			font-size: 18px;
		}

		.arik-prod-content {
			padding: 20px;
		}

		.arik-prod-title {
			font-size: 16px;
		}
	/* Featured Left Layout - Stack */
		.arik-layout-featured-left {
			grid-template-columns: 1fr 1fr;
			grid-template-rows: auto auto auto;
			height: auto;
		}

		.arik-layout-featured-left .arik-prod-featured {
			grid-column: 1 / 3;
			grid-row: 1 / 2;
			min-height: 400px;
		}

		.arik-layout-featured-left .arik-prod-small:nth-child(2) {
			grid-column: 1 / 2;
			grid-row: 2 / 3;
		}

		.arik-layout-featured-left .arik-prod-small:nth-child(3) {
			grid-column: 2 / 3;
			grid-row: 2 / 3;
		}

		.arik-layout-featured-left .arik-prod-small:nth-child(4) {
			grid-column: 1 / 2;
			grid-row: 3 / 4;
		}

		.arik-layout-featured-left .arik-prod-small:nth-child(5) {
			grid-column: 2 / 3;
			grid-row: 3 / 4;
		}

		/* Featured Right Layout - Stack */
		.arik-layout-featured-right {
			grid-template-columns: 1fr 1fr;
			grid-template-rows: auto auto auto;
			height: auto;
		}

		.arik-layout-featured-right .arik-prod-small:nth-child(1) {
			grid-column: 1 / 2;
			grid-row: 1 / 2;
		}

		.arik-layout-featured-right .arik-prod-small:nth-child(2) {
			grid-column: 2 / 3;
			grid-row: 1 / 2;
		}

		.arik-layout-featured-right .arik-prod-small:nth-child(3) {
			grid-column: 1 / 2;
			grid-row: 2 / 3;
		}

		.arik-layout-featured-right .arik-prod-small:nth-child(4) {
			grid-column: 2 / 3;
			grid-row: 2 / 3;
		}

		.arik-layout-featured-right .arik-prod-featured {
			grid-column: 1 / 3;
			grid-row: 3 / 4;
			min-height: 400px;
		}

		.arik-prod-featured .arik-prod-one-title {
			font-size: 28px;
		}

		.arik-prod-featured .arik-prod-one-price {
			font-size: 20px;
		}

		.arik-prod-featured .arik-prod-one-content {
			padding: 30px;
		}

		.arik-prod-small .arik-prod-one-content {
			padding: 18px;
		}

		.arik-prod-small {
			min-height: 250px;
		}

		/* Grid Layout */
		.arik-layout-grid {
			grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
		}

		/* Masonry Layout */
		.arik-layout-masonry {
			grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
		}
	/* Image Box Grid */
		.arik-image-box-grid {
			grid-template-columns: repeat(2, 1fr);
		}

		.arik-grid-dividers-yes .arik-image-box-item:nth-child(3n) {
			border-right: var(--divider-width) var(--divider-style) var(--divider-color);
		}

		.arik-grid-dividers-yes .arik-image-box-item:nth-child(2n) {
			border-right: none;
		}

		/* Text Box Grid */
		.arik-text-box-grid {
			grid-template-columns: repeat(2, 1fr);
		}

		/* Gallery Widget */
		.elementor-widget-arik-gallery.arik-gallery-layout-grid .arik-gallery-grid {
			grid-template-columns: repeat(3, 1fr);
		}

		.elementor-widget-arik-gallery.arik-gallery-layout-masonry .arik-gallery-grid {
			column-count: 3;
		}

		.elementor-widget-arik-gallery.arik-gallery-layout-justified .arik-gallery-item {
			min-width: 150px;
		}

		.elementor-widget-arik-gallery.arik-gallery-layout-justified .arik-gallery-item img {
			min-height: 150px;
		}

		/* Category Inline Layout */
		.arik-inline-grid .arik-inline-grid-inner {
			grid-template-columns: repeat(3, 1fr);
			gap: 15px;
		}

		/* Category Grid */
		.arik-category-grid-inner {
			grid-template-columns: repeat(2, 1fr);
		}

		/* Category Slider */
		.arik-category-slider {
			padding-bottom: 45px;
		}

		.arik-category-slider .swiper-pagination {
			bottom: -35px;
		}

		.arik-category-slider .swiper-button-next,
		.arik-category-slider .swiper-button-prev {
			width: 36px;
			height: 36px;
			margin-top: -18px;
		}

		.arik-category-slider .swiper-button-next::after,
		.arik-category-slider .swiper-button-prev::after {
			font-size: 18px;
		}
}


/* Tablet Portrait */
@media (max-width: 768px) {
	.arik-product-magazine-grid,
		.arik-product-grid-layout {
			grid-template-columns: 1fr;
			gap: 10px;
			min-height: auto;
		}

		.arik-product-left-column .arik-product-item {
			min-height: 350px;
		}

		.arik-product-item {
			min-height: 280px;
		}

		.arik-product-content {
			padding: 20px;
		}

		.arik-product-title {
			font-size: 18px;
			margin-bottom: 8px;
		}

		.arik-product-price {
			font-size: 16px;
			margin-bottom: 15px;
		}

		.arik-product-button {
			padding: 10px 24px;
			font-size: 13px;
		}

		.arik-product-category {
			font-size: 11px;
			margin-bottom: 6px;
		}
	.arik-hierarchy-magazine-grid {
			grid-template-columns: 1fr;
			gap: 10px;
		}

		.arik-hierarchy-left-column .arik-hierarchy-item {
			min-height: 300px;
		}

		.arik-hierarchy-title {
			font-size: 24px;
		}

		.arik-hierarchy-subtitle {
			font-size: 14px;
		}

		.arik-hierarchy-content {
			padding: 20px;
		}
	.arik-layout-magazine {
			grid-template-columns: 1fr;
			grid-template-areas:
				"center"
				"left-top"
				"left-bottom"
				"right-top"
				"right-bottom";
		}

		.arik-layout-magazine .arik-cat-item.arik-center {
			min-height: 400px;
		}

		.arik-layout-grid {
			grid-template-columns: repeat(2, 1fr);
		}

		.arik-layout-masonry {
			grid-template-columns: repeat(2, 1fr);
		}

		.arik-cat-content {
			padding: 20px;
		}

		.arik-cat-title {
			font-size: 22px;
		}

		.arik-layout-magazine .arik-center .arik-cat-title {
			font-size: 28px;
		}

		.arik-cat-desc {
			font-size: 13px;
		}

		.arik-cat-btn {
			padding: 10px 20px;
			font-size: 13px;
		}
	.arik-layout-magazine {
			grid-template-columns: 1fr;
			grid-template-areas:
				"center"
				"left-top"
				"left-bottom"
				"right-top"
				"right-bottom";
			height: auto;
		}

		.arik-layout-magazine .arik-prod-item {
			min-height: 300px;
		}

		.arik-layout-grid {
			grid-template-columns: repeat(2, 1fr);
		}

		.arik-layout-masonry {
			grid-template-columns: repeat(2, 1fr);
		}

		.arik-prod-content {
			padding: 20px;
		}

		.arik-prod-title {
			font-size: 16px;
		}

		.arik-layout-magazine .arik-center .arik-prod-title {
			font-size: 22px;
		}

		.arik-prod-price {
			font-size: 15px;
		}

		.arik-prod-excerpt {
			font-size: 12px;
		}

		.arik-prod-btn {
			padding: 8px 18px;
			font-size: 12px;
		}

		.arik-prod-sale-badge {
			font-size: 10px;
			padding: 5px 10px;
			top: 10px;
			left: 10px;
		}
	/* Featured Layouts - Full Stack */
		.arik-layout-featured-left,
		.arik-layout-featured-right {
			grid-template-columns: 1fr 1fr;
			grid-template-rows: auto;
			height: auto;
		}

		.arik-layout-featured-left .arik-prod-featured,
		.arik-layout-featured-right .arik-prod-featured {
			grid-column: 1 / 3;
			min-height: 350px;
		}

		.arik-layout-featured-left .arik-prod-featured {
			grid-row: 1 / 2;
		}

		.arik-layout-featured-left .arik-prod-small:nth-child(2) {
			grid-column: 1 / 2;
			grid-row: 2 / 3;
		}

		.arik-layout-featured-left .arik-prod-small:nth-child(3) {
			grid-column: 2 / 3;
			grid-row: 2 / 3;
		}

		.arik-layout-featured-left .arik-prod-small:nth-child(4) {
			grid-column: 1 / 2;
			grid-row: 3 / 4;
		}

		.arik-layout-featured-left .arik-prod-small:nth-child(5) {
			grid-column: 2 / 3;
			grid-row: 3 / 4;
		}

		.arik-layout-featured-right .arik-prod-small:nth-child(1) {
			grid-column: 1 / 2;
			grid-row: 1 / 2;
		}

		.arik-layout-featured-right .arik-prod-small:nth-child(2) {
			grid-column: 2 / 3;
			grid-row: 1 / 2;
		}

		.arik-layout-featured-right .arik-prod-small:nth-child(3) {
			grid-column: 1 / 2;
			grid-row: 2 / 3;
		}

		.arik-layout-featured-right .arik-prod-small:nth-child(4) {
			grid-column: 2 / 3;
			grid-row: 2 / 3;
		}

		.arik-layout-featured-right .arik-prod-featured {
			grid-row: 3 / 4;
		}

		.arik-prod-featured .arik-prod-one-title {
			font-size: 24px;
		}

		.arik-prod-featured .arik-prod-one-price {
			font-size: 18px;
		}

		.arik-prod-featured .arik-prod-one-content {
			padding: 25px;
		}

		.arik-prod-small .arik-prod-one-title {
			font-size: 15px;
		}

		.arik-prod-small .arik-prod-one-price {
			font-size: 13px;
		}

		.arik-prod-small .arik-prod-one-content {
			padding: 15px;
		}

		.arik-prod-small {
			min-height: 200px;
		}

		.arik-prod-one-sale-badge {
			font-size: 10px;
			padding: 5px 10px;
			top: 10px;
			left: 10px;
		}

		/* Grid Layout */
		.arik-layout-grid {
			grid-template-columns: repeat(2, 1fr);
		}

		.arik-layout-grid .arik-prod-one-item {
			min-height: 250px;
		}

		/* Masonry Layout */
		.arik-layout-masonry {
			grid-template-columns: repeat(2, 1fr);
			grid-auto-rows: 125px;
		}
	/* Magazine Layout */
		.arik-magazine-item-meta-row {
			gap: 8px;
			font-size: 13px;
		}

		.arik-magazine-item-price {
			font-size: 16px;
		}

		/* Featured Media */
		.arik-featured-media-container {
			grid-template-columns: 1fr !important;
			grid-template-areas: "media" "content" !important;
		}

		.arik-featured-title {
			font-size: 24px;
		}

		/* Image Box Grid */
		.arik-image-box-grid {
			grid-template-columns: 1fr;
		}

		.arik-grid-dividers-yes .arik-image-box-item:nth-child(2n) {
			border-right: var(--divider-width) var(--divider-style) var(--divider-color);
		}

		.arik-grid-dividers-yes .arik-image-box-item {
			border-right: none;
		}

		.arik-image-box-img-pos-left .arik-image-box-item,
		.arik-image-box-img-pos-right .arik-image-box-item {
			flex-direction: column;
		}

		.arik-image-box-img-pos-left .arik-image-box-image,
		.arik-image-box-img-pos-right .arik-image-box-image {
			width: 100% !important;
			margin-right: 0 !important;
			margin-left: 0 !important;
			margin-bottom: 15px;
		}

		/* Text Box Grid */
		.arik-text-box-grid {
			grid-template-columns: 1fr;
		}

		/* Gallery Widget */
		.elementor-widget-arik-gallery.arik-gallery-layout-grid .arik-gallery-grid {
			grid-template-columns: repeat(2, 1fr);
		}

		.elementor-widget-arik-gallery.arik-gallery-layout-masonry .arik-gallery-grid {
			column-count: 2;
		}

		.elementor-widget-arik-gallery.arik-gallery-layout-justified .arik-gallery-item {
			min-width: 120px;
		}

		.elementor-widget-arik-gallery.arik-gallery-layout-justified .arik-gallery-item img {
			min-height: 120px;
		}

		/* Category Inline Layout */
		.arik-inline-grid .arik-inline-grid-inner {
			grid-template-columns: repeat(2, 1fr);
			gap: 10px;
		}

		/* Category Grid */
		.arik-category-grid-inner {
			grid-template-columns: 1fr;
			gap: 15px;
		}

		.arik-category-grid-content {
			padding: 15px;
		}

		.arik-category-grid-button i,
		.arik-category-grid-button svg {
			font-size: 14px;
			width: 14px;
			height: 14px;
		}

		/* Category Slider */
		.arik-category-slider {
			padding-bottom: 40px;
		}

		.arik-category-slider .swiper-pagination {
			bottom: -30px;
		}

		.arik-category-title {
			font-size: 16px;
		}

		.arik-category-description {
			font-size: 13px;
			margin-bottom: 12px;
		}

		.arik-category-button {
			padding: 8px 16px;
			font-size: 14px;
		}

		.arik-category-slider .swiper-button-next,
		.arik-category-slider .swiper-button-prev {
			width: 32px;
			height: 32px;
			margin-top: -16px;
		}

		.arik-category-slider .swiper-button-next::after,
		.arik-category-slider .swiper-button-prev::after {
			font-size: 16px;
		}

		.arik-category-slider .swiper-pagination-bullet {
			width: 8px;
			height: 8px;
			margin: 0 4px;
		}
}


/* Mobile */
@media (max-width: 480px) {
	.arik-product-item {
			min-height: 250px !important;
		}

		.arik-product-content {
			padding: 15px;
		}

		.arik-product-title {
			font-size: 16px;
			margin-bottom: 6px;
		}

		.arik-product-price {
			font-size: 15px;
			margin-bottom: 12px;
		}

		.arik-product-button {
			padding: 8px 20px;
			font-size: 12px;
		}

		.arik-product-category {
			font-size: 10px;
		}

		.arik-product-item .onsale,
		.arik-product-item .out-of-stock-badge {
			top: 10px;
			right: 10px;
			left: 10px;
			padding: 4px 8px;
			font-size: 10px;
		}
	.arik-hierarchy-item {
			min-height: 250px !important;
		}

		.arik-hierarchy-title {
			font-size: 20px;
		}

		.arik-hierarchy-button {
			padding: 10px 20px;
			font-size: 13px;
		}
	.arik-layout-grid,
		.arik-layout-masonry {
			grid-template-columns: 1fr;
		}

		.arik-layout-masonry .arik-large,
		.arik-layout-masonry .arik-medium {
			grid-column: span 1;
			grid-row: span 1;
		}

		.arik-prod-content {
			padding: 15px;
		}

		.arik-prod-title {
			font-size: 15px;
			margin-bottom: 6px;
		}

		.arik-prod-excerpt {
			display: none;
		}
	.arik-layout-featured-left,
		.arik-layout-featured-right {
			grid-template-columns: 1fr;
		}

		.arik-layout-featured-left .arik-prod-featured {
			grid-column: 1 / 2;
			min-height: 300px;
		}

		.arik-layout-featured-left .arik-prod-small:nth-child(2),
		.arik-layout-featured-left .arik-prod-small:nth-child(3),
		.arik-layout-featured-left .arik-prod-small:nth-child(4),
		.arik-layout-featured-left .arik-prod-small:nth-child(5) {
			grid-column: 1 / 2;
		}

		.arik-layout-featured-right .arik-prod-featured,
		.arik-layout-featured-right .arik-prod-small:nth-child(1),
		.arik-layout-featured-right .arik-prod-small:nth-child(2),
		.arik-layout-featured-right .arik-prod-small:nth-child(3),
		.arik-layout-featured-right .arik-prod-small:nth-child(4) {
			grid-column: 1 / 2;
		}

		.arik-prod-small {
			min-height: 220px;
		}

		.arik-prod-featured .arik-prod-one-title {
			font-size: 20px;
		}

		.arik-prod-small .arik-prod-one-title {
			font-size: 14px;
		}

		.arik-prod-one-excerpt {
			display: none;
		}

		/* Grid Layout */
		.arik-layout-grid {
			grid-template-columns: 1fr;
		}

		/* Masonry Layout */
		.arik-layout-masonry {
			grid-template-columns: 1fr;
		}

		.arik-layout-masonry .arik-prod-large,
		.arik-layout-masonry .arik-prod-medium {
			grid-column: span 1;
		}
	.elementor-widget-arik-gallery.arik-gallery-layout-grid .arik-gallery-grid {
			grid-template-columns: repeat(1, 1fr);
		}

		.elementor-widget-arik-gallery.arik-gallery-layout-masonry .arik-gallery-grid {
			column-count: 1;
		}

		.elementor-widget-arik-gallery.arik-gallery-layout-justified .arik-gallery-item {
			min-width: 100%;
		}

		/* Category Inline Layout */
		.arik-inline-grid .arik-inline-grid-inner {
			grid-template-columns: repeat(1, 1fr);
			gap: 10px;
		}

		/* Category Grid */
		.arik-category-grid-content {
			padding: 12px;
		}

		.arik-category-grid-title {
			font-size: 18px;
		}

		.arik-category-grid-button {
			padding: 10px 20px;
			font-size: 13px;
		}

		.arik-category-grid-button i,
		.arik-category-grid-button svg {
			font-size: 12px;
			width: 12px;
			height: 12px;
		}
}


/* Print Styles */
@media print {
	.arik-product-item {
			break-inside: avoid;
			page-break-inside: avoid;
		}

		.arik-product-button {
			display: none;
		}
	.arik-prod-item:hover {
			transform: none;
			box-shadow: none;
		}

		.arik-prod-btn {
			border: 1px solid #333;
		}

		.arik-prod-overlay {
			opacity: 0.5;
		}
	.arik-prod-one-item:hover {
			transform: none;
			box-shadow: none;
		}

		.arik-prod-one-btn {
			border: 1px solid #333;
		}

		.arik-prod-one-overlay {
			opacity: 0.5;
		}
	.elementor-widget-arik-gallery .arik-gallery-grid {
			break-inside: avoid;
		}

		.elementor-widget-arik-gallery .arik-gallery-item {
			break-inside: avoid;
			page-break-inside: avoid;
		}

		.elementor-widget-arik-gallery .arik-gallery-item a:hover img,
		.elementor-widget-arik-gallery .arik-gallery-item div:hover img {
			transform: none;
		}
}