/**
 * Dizi Product Bundles & Deals - Public CSS
 */

:root {
	--dizi-primary: #4f46e5;
	--dizi-primary-light: #e0e7ff;
	--dizi-success: #16a34a;
	--dizi-success-bg: #dcfce7;
	--dizi-border: #e2e8f0;
	--dizi-dark: #0f172a;
	--dizi-radius: 8px;
}

/* ==========================================================================
   1. BUNDLE PRODUCT SINGLE PAGE CONTAINER
   ========================================================================== */
.dizi-bundle-single-box {
	background: #ffffff;
	border: 1px solid var(--dizi-border);
	border-radius: var(--dizi-radius);
	padding: 20px;
	margin: 20px 0;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
	box-sizing: border-box;
}

.dizi-bundle-box-title {
	font-size: 16px;
	font-weight: 700;
	margin: 0 0 14px 0;
	color: var(--dizi-dark);
	display: flex;
	align-items: center;
	gap: 8px;
}

.dizi-bundle-items-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	margin-bottom: 18px;
	table-layout: fixed;
}

.dizi-bundle-items-table col.dizi-col-img {
	width: 54px;
}

.dizi-bundle-items-table col.dizi-col-name {
	width: auto;
}

.dizi-bundle-items-table col.dizi-col-qty {
	width: 65px;
}

.dizi-bundle-items-table col.dizi-col-price {
	width: 95px;
}

.dizi-bundle-items-table thead th {
	background: #f8fafc;
	color: #475569;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 9px 10px;
	border-top: 1px solid #e2e8f0;
	border-bottom: 2px solid #e2e8f0;
	vertical-align: middle;
	box-sizing: border-box;
}

.dizi-bundle-items-table thead th.dizi-th-item {
	text-align: center;
	padding: 9px 10px;
}

.dizi-bundle-items-table thead th.dizi-th-qty {
	text-align: center;
	width: 65px;
	white-space: nowrap;
}

.dizi-bundle-items-table thead th.dizi-th-price {
	text-align: right;
	width: 95px;
	white-space: nowrap;
	padding-right: 10px;
}

.dizi-bundle-items-table tbody tr {
	border-bottom: 1px solid #f1f5f9;
	transition: background-color 0.15s ease;
}

.dizi-bundle-items-table tbody tr:hover {
	background-color: #fafafa;
}

.dizi-bundle-items-table tbody td {
	padding: 10px 8px;
	vertical-align: middle;
	font-size: 14px;
	border-bottom: 1px solid #f1f5f9;
	box-sizing: border-box;
}

.dizi-bundle-item-img {
	width: 54px !important;
	max-width: 54px !important;
	min-width: 54px !important;
	padding: 10px 4px 10px 8px !important;
	vertical-align: middle !important;
	text-align: center;
	box-sizing: border-box !important;
}

.dizi-bundle-item-img img,
.dizi-bundle-item-img .dizi-item-thumb {
	width: 42px !important;
	height: 42px !important;
	min-width: 42px !important;
	min-height: 42px !important;
	max-width: 42px !important;
	max-height: 42px !important;
	border-radius: 6px;
	border: 1px solid #e2e8f0;
	object-fit: cover;
	display: block;
	margin: 0 auto;
}

.dizi-bundle-item-name {
	padding: 10px 8px 10px 4px !important;
	line-height: 1.4;
	text-align: left;
	vertical-align: middle !important;
	width: auto !important;
	word-break: break-word;
}

.dizi-bundle-item-name strong {
	color: var(--dizi-dark);
	font-size: 14px;
	display: block;
	font-weight: 600;
}

.dizi-bundle-item-name .dizi-variation-meta {
	display: block;
	font-size: 12px;
	color: #64748b;
	margin-top: 2px;
}

.dizi-bundle-item-qty {
	text-align: center;
	width: 65px !important;
	max-width: 65px !important;
	min-width: 65px !important;
	white-space: nowrap;
	vertical-align: middle !important;
	padding: 10px 4px !important;
	box-sizing: border-box !important;
}

.dizi-qty-badge {
	display: inline-block;
	min-width: 28px;
	padding: 3px 8px;
	background: #f1f5f9;
	border: 1px solid #e2e8f0;
	color: #334155;
	font-weight: 700;
	font-size: 13px;
	border-radius: 4px;
	line-height: 1.2;
	text-align: center;
}

.dizi-bundle-item-price {
	text-align: right;
	width: 95px !important;
	max-width: 95px !important;
	min-width: 95px !important;
	white-space: nowrap;
	font-weight: 600;
	color: #0f172a;
	font-size: 14px;
	vertical-align: middle !important;
	padding: 10px 10px 10px 4px !important;
	box-sizing: border-box !important;
}

/* Bundle Price & Savings Breakdown */
.dizi-bundle-summary-bar {
	background: #f8fafc;
	border: 1px dashed #cbd5e1;
	border-radius: 8px;
	padding: 10px 14px;
	box-sizing: border-box;
}

.dizi-bundle-summary-top {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 6px;
}

.dizi-bundle-summary-label {
	font-size: 12px;
	font-weight: 700;
	color: #475569;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.dizi-bundle-prices-wrap {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	white-space: nowrap;
}

.dizi-bundle-regular-total del {
	color: #94a3b8;
	font-size: 14px;
	font-weight: 500;
}

.dizi-bundle-final-price {
	font-size: 20px;
	font-weight: 800;
	color: var(--dizi-primary, #4f46e5);
	line-height: 1.2;
}

.dizi-bundle-summary-bottom {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
	line-height: 1.2;
}

.dizi-savings-badge,
.dizi-savings-pill,
.dizi-pb-savings-badge {
	background: var(--dizi-success-bg, #dcfce7) !important;
	color: var(--dizi-success, #16a34a) !important;
	border: 1px solid #bbf7d0 !important;
	font-weight: 700 !important;
	font-size: 11px !important;
	padding: 2px 8px !important;
	border-radius: 20px !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
	vertical-align: middle !important;
	white-space: nowrap !important;
	line-height: 1.3 !important;
}

/* ==========================================================================
   2. BUY X GET Y PRODUCT & LOOP BADGES
   ========================================================================== */
.dizi-deal-product-badge {
	margin: 12px 0 16px 0;
	display: block;
	width: auto;
	max-width: 100%;
}

.dizi-deal-badge-inner {
	display: inline-flex;
	align-items: flex-start;
	gap: 12px;
	background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
	border: 1px solid #fcd34d;
	border-radius: 8px;
	padding: 10px 16px;
	color: #78350f;
	max-width: 100%;
	box-sizing: border-box;
}

.dizi-deal-badge-icon {
	font-size: 22px;
	line-height: 1;
	flex-shrink: 0;
	margin-top: 2px;
}

.dizi-deal-badge-content {
	flex: 1;
	min-width: 0;
}

.dizi-deal-badge-content strong {
	display: block;
	font-size: 14.5px;
	line-height: 1.3;
	white-space: normal !important;
	word-break: break-word !important;
}

.dizi-deal-badge-sub {
	font-size: 12.5px;
	color: #92400e;
	display: block;
	margin-top: 4px;
	line-height: 1.45;
	white-space: normal !important;
	word-break: break-word !important;
	overflow: visible !important;
	text-overflow: unset !important;
}

.dizi-deal-badge-date {
	font-size: 11.5px;
	color: #b45309;
	font-weight: 600;
	display: block;
	margin-top: 4px;
	line-height: 1.3;
	letter-spacing: 0.2px;
	white-space: normal !important;
	word-break: break-word !important;
}

.dizi-loop-deal-tag {
	margin: 6px 0;
}

.dizi-loop-deal-tag span {
	background: #fef08a;
	color: #854d0e;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 4px;
	display: inline-block;
}

/* ==========================================================================
   3. CART DYNAMIC PROGRESS BANNER
   ========================================================================== */
.dizi-cart-deal-progress {
	background: #ffffff;
	border: 1px solid var(--dizi-border);
	border-left: 4px solid var(--dizi-primary);
	border-radius: 6px;
	padding: 14px 18px;
	margin-bottom: 20px;
	box-shadow: 0 2px 4px rgba(0,0,0,0.04);
}

.dizi-progress-header {
	margin-bottom: 10px;
}

.dizi-progress-title {
	font-size: 14px;
	color: var(--dizi-dark);
}

.dizi-progress-bar-bg {
	background: #e2e8f0;
	border-radius: 10px;
	height: 8px;
	overflow: hidden;
	width: 100%;
}

.dizi-progress-bar-fill {
	background: linear-gradient(90deg, #4f46e5 0%, #10b981 100%);
	height: 100%;
	border-radius: 10px;
	transition: width 0.4s ease;
}

.dizi-product-deal-status {
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	color: #166534;
	padding: 8px 12px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 12px;
}

/* ==========================================================================
   4. SHORTCODES & GRID LAYOUTS
   ========================================================================== */
.dizi-bundle-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 24px;
	margin: 20px 0;
}

.dizi-bundle-card {
	background: #ffffff;
	border: 1px solid var(--dizi-border);
	border-radius: var(--dizi-radius);
	padding: 20px;
	box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.dizi-bundle-card-header {
	display: flex;
	gap: 14px;
	margin-bottom: 14px;
}

.dizi-bundle-card-img img {
	width: 60px;
	height: 60px;
	border-radius: 6px;
	object-fit: cover;
}

.dizi-bundle-title {
	margin: 0 0 6px 0;
	font-size: 16px;
}

.dizi-bundle-title a {
	color: var(--dizi-dark);
	text-decoration: none;
}

.dizi-bundle-items-list {
	list-style: none;
	padding: 0;
	margin: 0 0 16px 0;
	font-size: 13px;
}

.dizi-bundle-items-list li {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 4px 0;
	color: #475569;
}

.dizi-check {
	color: var(--dizi-success);
	font-weight: bold;
}

.dizi-btn-add-bundle {
	width: 100%;
	text-align: center;
	padding: 10px !important;
	border-radius: 6px !important;
	font-weight: 600 !important;
}
