/**
 * JT Promo Cards (Fashion) widget styles.
 *
 * Extracted verbatim from the shared jt-widgets.css Promo Cards
 * section. Already scoped by stable classes (.jt-promo-cards-wrapper
 * etc.), not per-instance IDs, so no selector rewriting was needed.
 */

/* --- JT Promo Cards (Fashion) Styles --- */
.jt-promo-cards-wrapper { 
	position: relative; width: 100%; padding: 0; 
}

/* Header */
.jt-promo-cards-wrapper .jt-pc-header { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 10px; padding: 0 4px; }
.jt-promo-cards-wrapper .jt-pc-header-text { flex: 1; }
.jt-promo-cards-wrapper .jt-pc-title { font-size: 22px; font-weight: 800; color: #0f172a; margin: 0 0 2px 0; letter-spacing: -0.5px; line-height: 1.2; }
.jt-promo-cards-wrapper .jt-pc-subtitle { font-size: 14px; color: #64748b; margin: 0; font-weight: 500; }
.jt-promo-cards-wrapper .jt-header-btn { background: #f8fafc; color: #0f172a; padding: 10px 20px; border-radius: 100px; font-size: 14px; font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; transition: all 0.2s; border: 1px solid #e2e8f0; flex-shrink: 0; }
.jt-promo-cards-wrapper .jt-header-btn:hover { background: #0f172a; color: #ffffff; border-color: #0f172a; box-shadow: 0 4px 12px rgba(15,23,42,0.15); }

/* Layout Configurations */
.jt-promo-cards-wrapper.jt-pc-layout-carousel .jt-promo-track { 
	display: grid; grid-template-rows: repeat(var(--mj-pc-rows, 1), 1fr); grid-auto-flow: column; grid-auto-columns: calc( (100% - (var(--mj-pc-gap, 16px) * (var(--mj-pc-cols, 6) - 1))) / var(--mj-pc-cols, 6) );
	gap: var(--mj-pc-gap, 16px); overflow-x: auto; scroll-snap-type: x mandatory; 
	scrollbar-width: none; padding: 15px calc(var(--mj-pc-gap, 16px) * 2) 15px 5px; -webkit-overflow-scrolling: touch; align-items: flex-start;
}
.jt-promo-cards-wrapper.jt-pc-layout-carousel .jt-promo-track::-webkit-scrollbar { display: none; }

.jt-promo-cards-wrapper.jt-pc-layout-carousel .jt-pc-card {
	flex: none; min-width: 0; width: 100%; height: 100%; scroll-snap-align: start;
}

.jt-promo-cards-wrapper.jt-pc-layout-grid .jt-promo-track {
	display: flex; flex-wrap: wrap; justify-content: center; gap: var(--mj-pc-gap, 16px); padding: 15px 0 0;
}
.jt-promo-cards-wrapper.jt-pc-layout-grid .jt-pc-card {
	flex: 0 0 calc((100% - (var(--mj-pc-gap, 16px) * (var(--mj-pc-cols, 6) - 1))) / var(--mj-pc-cols, 6) - 0.1px);
	max-width: calc((100% - (var(--mj-pc-gap, 16px) * (var(--mj-pc-cols, 6) - 1))) / var(--mj-pc-cols, 6) - 0.1px);
	width: 100%; height: auto;
}

/* Card Base (4:5 Portrait Ratio) */
.jt-promo-cards-wrapper .jt-pc-card { 
	position: relative; display: flex; flex-direction: column; justify-content: flex-end; 
	aspect-ratio: 4/5; border-radius: var(--mj-pc-radius, 12px); overflow: hidden; text-decoration: none; 
	box-shadow: 0 4px 15px rgba(0,0,0,0.05); transform: translateZ(0);
	background: #f1f5f9;
	min-height: 140px;
}

/* Image Zoom on Hover */
.jt-promo-cards-wrapper .jt-pc-img-wrap { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; }
.jt-promo-cards-wrapper .jt-pc-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); display: block; }
.jt-promo-cards-wrapper .jt-pc-card:hover .jt-pc-img-wrap img { transform: scale(1.08); }

/* Gradient Overlay */
.jt-promo-cards-wrapper .jt-pc-overlay { 
	position: relative; z-index: 2; padding: 40px 14px 12px; text-align: center; color: #ffffff; 
	background: linear-gradient(to top, var(--mj-pc-grad1, #ea580c) 0%, var(--mj-pc-grad2, #e11d48) 50%, transparent 100%);
	display: flex; flex-direction: column; align-items: center;
}

/* Typography */
.jt-promo-cards-wrapper .jt-pc-cat { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 3px; opacity: 0.95; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.jt-promo-cards-wrapper .jt-pc-discount { font-size: 20px; font-weight: 900; line-height: 1.15; margin-bottom: 4px; letter-spacing: -0.5px; text-shadow: 0 2px 4px rgba(0,0,0,0.1); word-wrap: break-word; }
.jt-promo-cards-wrapper .jt-pc-btn { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; display: inline-flex; align-items: center; gap: 4px; opacity: 0.9; transition: opacity 0.2s; }
.jt-promo-cards-wrapper .jt-pc-btn i { font-size: 9px; }
.jt-promo-cards-wrapper .jt-pc-card:hover .jt-pc-btn { opacity: 1; transform: translateY(-2px); }

/* Arrows */
.jt-promo-cards-wrapper .jt-nav-arrow {
	position: absolute; top: calc(50% + 15px); transform: translateY(-50%); z-index: 10;
	width: 40px; height: 40px; border-radius: 50%; background: #ffffff; border: 1px solid #f1f5f9;
	color: #0f172a; box-shadow: 0 4px 15px rgba(0,0,0,0.08); cursor: pointer; display: flex;
	align-items: center; justify-content: center; font-size: 14px; transition: all 0.3s ease;
}
.jt-promo-cards-wrapper .jt-nav-arrow:hover { background: #0f172a; color: #ffffff; box-shadow: 0 8px 20px rgba(15,23,42,0.2); }
.jt-promo-cards-wrapper .jt-nav-arrow.prev { left: -15px; }
.jt-promo-cards-wrapper .jt-nav-arrow.next { right: -15px; }

/* Tablet Adjustments */
@media (max-width: 1024px) {
	.jt-promo-cards-wrapper .jt-pc-title { font-size: 20px; }
	.jt-promo-cards-wrapper .jt-pc-subtitle { font-size: 13px; }
	.jt-promo-cards-wrapper .jt-pc-overlay { padding: 25px 10px 10px; }
	.jt-promo-cards-wrapper .jt-pc-cat { font-size: 10px; margin-bottom: 2px; }
	.jt-promo-cards-wrapper .jt-pc-discount { font-size: 16px; margin-bottom: 4px; }
	.jt-promo-cards-wrapper .jt-pc-btn { font-size: 10px; }
}

/* Mobile Adjustments */
@media (max-width: 767px) {
	.jt-promo-cards-wrapper .jt-pc-header { padding: 0; margin-bottom: 10px; gap: 8px; }
	.jt-promo-cards-wrapper .jt-pc-title { font-size: 17px; }
	.jt-promo-cards-wrapper .jt-pc-subtitle { font-size: 13px; margin-top: 2px; }
	.jt-promo-cards-wrapper .jt-header-btn { padding: 6px 12px; font-size: 11px; }
	.jt-promo-cards-wrapper .jt-pc-card { min-height: 120px; }
	
	/* Dynamic Font Scaling based on Column Count */
	.jt-promo-cards-wrapper .jt-pc-overlay { padding: 15px max(3px, calc(12px - var(--mj-pc-cols, 3) * 2px)) 6px; }
	.jt-promo-cards-wrapper .jt-pc-cat { font-size: max(7.5px, calc(13px - var(--mj-pc-cols, 3) * 1.2px)); margin-bottom: 2px; letter-spacing: 0.5px; }
	.jt-promo-cards-wrapper .jt-pc-discount { font-size: max(11px, calc(22px - var(--mj-pc-cols, 3) * 2.5px)); margin-bottom: 3px; letter-spacing: -0.2px; line-height: 1.15; }
	.jt-promo-cards-wrapper .jt-pc-btn { font-size: max(8px, calc(13px - var(--mj-pc-cols, 3) * 1.2px)); gap: 2px; letter-spacing: 0.2px; }
	.jt-promo-cards-wrapper .jt-pc-btn i { font-size: max(6px, calc(11px - var(--mj-pc-cols, 3) * 1.2px)); }
	.jt-promo-cards-wrapper .jt-nav-arrow { display: none; }
}

