/*!
 * SERPsKit Amazon Kit — Frontend Styles
 * High-converting, fully responsive product blocks
 */

/* ─── Design tokens ────────────────────────────── */
:root {
	--sak-primary:       #ff9900;
	--sak-primary-dark:  #e68a00;
	--sak-primary-hover: #ffa726;
	--sak-text:          #0f172a;
	--sak-text-muted:    #64748b;
	--sak-border:        #e5e7eb;
	--sak-border-strong: #cbd5e1;
	--sak-bg:            #ffffff;
	--sak-bg-soft:       #f8fafc;
	--sak-bg-hover:      #f1f5f9;
	--sak-success:       #10b981;
	--sak-danger:        #ef4444;
	--sak-warning:       #f59e0b;
	--sak-prime:         #00a8e1;
	--sak-star:          #ffa41c;
	--sak-radius-sm:     6px;
	--sak-radius:        12px;
	--sak-radius-lg:     16px;
	--sak-shadow-sm:     0 1px 2px rgba(15, 23, 42, .05);
	--sak-shadow:        0 4px 16px rgba(15, 23, 42, .08);
	--sak-shadow-lg:     0 12px 28px rgba(15, 23, 42, .12);
	--sak-transition:    all .2s cubic-bezier(.4, 0, .2, 1);
	--sak-font:          -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* ─── Base reset for our blocks ─────────────────── */
[class^="sak-"], [class*=" sak-"] {
	box-sizing: border-box;
}
.sak-product-box, .sak-comparison-wrap, .sak-product-list,
.sak-pros-cons, .sak-deal-box {
	font-family: var(--sak-font);
	color: var(--sak-text);
	line-height: 1.5;
	margin: 24px 0;
}

/* ─── Shared: CTA button ────────────────────────── */
.sak-cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 12px 22px;
	background: var(--sak-primary);
	color: #111 !important;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none !important;
	border-radius: 999px;
	border: none;
	cursor: pointer;
	transition: var(--sak-transition);
	box-shadow: 0 2px 6px rgba(255, 153, 0, .3);
	white-space: nowrap;
}
.sak-cta-btn:hover {
	background: var(--sak-primary-hover);
	transform: translateY(-1px);
	box-shadow: 0 6px 14px rgba(255, 153, 0, .4);
	color: #111 !important;
}
.sak-cta-btn:active { transform: translateY(0); }
.sak-cta-btn svg { transition: transform .2s; }
.sak-cta-btn:hover svg { transform: translateX(3px); }
.sak-cta-lg { padding: 14px 26px; font-size: 15px; }
.sak-cta-deal {
	background: var(--sak-danger);
	color: #fff !important;
	box-shadow: 0 2px 6px rgba(239, 68, 68, .35);
	font-size: 15px;
	padding: 14px 28px;
}
.sak-cta-deal:hover {
	background: #dc2626;
	color: #fff !important;
	box-shadow: 0 6px 14px rgba(239, 68, 68, .5);
}

/* ─── Shared: Stars ─────────────────────────────── */
.sak-stars {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	font-size: 15px;
}
.sak-star { color: var(--sak-star); letter-spacing: 1px; }
.sak-star-empty { color: #d1d5db; }
.sak-star-half {
	background: linear-gradient(90deg, var(--sak-star) 50%, #d1d5db 50%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.sak-rating-number {
	margin-left: 6px;
	font-weight: 600;
	color: var(--sak-text);
	font-size: 14px;
}
.sak-rating-count {
	margin-left: 4px;
	color: var(--sak-text-muted);
	font-size: 13px;
}

/* ─── Shared: Prime badge ───────────────────────── */
.sak-prime-badge {
	display: inline-flex;
	align-items: center;
	padding: 2px 8px;
	background: var(--sak-prime);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	border-radius: 3px;
	letter-spacing: .3px;
	text-transform: uppercase;
	line-height: 1.4;
}

/* ─── Shared: Price ─────────────────────────────── */
.sak-price-now {
	font-size: 22px;
	font-weight: 800;
	color: var(--sak-danger);
	line-height: 1;
}
.sak-price-was {
	font-size: 13px;
	color: var(--sak-text-muted);
	text-decoration: line-through;
	margin-left: 6px;
}
.sak-price-save {
	display: inline-block;
	margin-left: 6px;
	padding: 2px 6px;
	background: var(--sak-success);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	border-radius: 3px;
}
.sak-price-deal {
	font-size: 28px;
	color: var(--sak-danger);
}
.sak-price-na {
	font-size: 13px;
	color: var(--sak-text-muted);
}

/* ─── Shared: Discount badge ────────────────────── */
.sak-discount-badge {
	position: absolute;
	top: 8px;
	left: 8px;
	background: var(--sak-danger);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	padding: 4px 8px;
	border-radius: var(--sak-radius-sm);
	box-shadow: var(--sak-shadow-sm);
	z-index: 2;
}

/* ─── Shared: Disclosure ────────────────────────── */
.sak-disclosure {
	margin-top: 16px;
	padding: 10px 14px;
	background: var(--sak-bg-soft);
	border-left: 3px solid var(--sak-primary);
	border-radius: var(--sak-radius-sm);
	font-size: 12px;
	color: var(--sak-text-muted);
	font-style: italic;
}

/* ─── Placeholder ───────────────────────────────── */
.sak-placeholder {
	padding: 24px;
	border: 2px dashed var(--sak-border-strong);
	background: var(--sak-bg-soft);
	border-radius: var(--sak-radius);
	text-align: center;
	color: var(--sak-text-muted);
	font-size: 14px;
}

/* ═══ PRODUCT BOX ═══════════════════════════════ */
.sak-product-box {
	position: relative;
	background: var(--sak-bg);
	border: 1px solid var(--sak-border);
	border-radius: var(--sak-radius-lg);
	box-shadow: var(--sak-shadow-sm);
	overflow: hidden;
	transition: var(--sak-transition);
	display: flex;
	gap: 20px;
	padding: 20px;
}
.sak-product-box:hover {
	box-shadow: var(--sak-shadow);
	transform: translateY(-2px);
}
.sak-product-box.sak-layout-vertical {
	flex-direction: column;
	align-items: stretch;
	text-align: center;
	max-width: 380px;
	margin-left: auto;
	margin-right: auto;
}

.sak-badge {
	position: absolute;
	top: 16px;
	right: 16px;
	background: linear-gradient(135deg, var(--sak-primary), #ff6b00);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	padding: 5px 10px;
	border-radius: 999px;
	letter-spacing: .5px;
	text-transform: uppercase;
	z-index: 2;
	box-shadow: 0 4px 10px rgba(255, 107, 0, .35);
}

.sak-product-media {
	flex: 0 0 180px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--sak-bg-soft);
	border-radius: var(--sak-radius);
	padding: 12px;
	min-height: 180px;
}
.sak-product-media img {
	max-width: 100%;
	max-height: 160px;
	height: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
}
.sak-layout-vertical .sak-product-media {
	flex: 0 0 auto;
	width: 100%;
	min-height: 240px;
}
.sak-layout-vertical .sak-product-media img {
	max-height: 220px;
}

.sak-product-body {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.sak-product-brand {
	font-size: 12px;
	font-weight: 600;
	color: var(--sak-text-muted);
	text-transform: uppercase;
	letter-spacing: .5px;
	margin-bottom: 4px;
}
.sak-product-title {
	font-size: 17px !important;
	font-weight: 700 !important;
	margin: 0 0 8px !important;
	line-height: 1.35 !important;
	color: var(--sak-text) !important;
}
.sak-product-title a {
	color: inherit !important;
	text-decoration: none !important;
}
.sak-product-title a:hover {
	color: var(--sak-primary-dark) !important;
}
.sak-product-rating {
	margin: 4px 0 12px;
}

.sak-product-features {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 16px !important;
}
.sak-product-features li {
	position: relative;
	padding-left: 22px;
	font-size: 14px;
	color: var(--sak-text);
	margin: 4px 0;
	line-height: 1.5;
}
.sak-product-features li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--sak-success);
	font-weight: 800;
}

.sak-product-footer {
	margin-top: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding-top: 12px;
	flex-wrap: wrap;
}
.sak-product-price {
	display: flex;
	align-items: baseline;
	gap: 6px;
	flex-wrap: wrap;
}

/* Vertical layout footer adjustments */
.sak-layout-vertical .sak-product-footer {
	flex-direction: column;
	align-items: stretch;
}
.sak-layout-vertical .sak-product-price {
	justify-content: center;
}
.sak-layout-vertical .sak-cta-btn {
	width: 100%;
}

/* ═══ COMPARISON TABLE ══════════════════════════ */
.sak-comparison-wrap {
	margin: 32px 0;
}
.sak-table-title {
	font-size: 22px !important;
	font-weight: 800 !important;
	margin: 0 0 16px !important;
	color: var(--sak-text) !important;
}
.sak-table-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border-radius: var(--sak-radius-lg);
	box-shadow: var(--sak-shadow-sm);
	border: 1px solid var(--sak-border);
	background: var(--sak-bg);
}
.sak-comparison-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	background: var(--sak-bg);
}
.sak-comparison-table thead {
	background: linear-gradient(135deg, #1e293b, #0f172a);
	color: #fff;
}
.sak-comparison-table th {
	padding: 14px 12px;
	text-align: left;
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .5px;
	white-space: nowrap;
	position: sticky;
	top: 0;
}
.sak-sortable-col {
	cursor: pointer;
	user-select: none;
	transition: var(--sak-transition);
}
.sak-sortable-col:hover {
	background: rgba(255, 255, 255, .08);
}
.sak-sort-icon {
	opacity: .5;
	margin-left: 4px;
	font-size: 10px;
}
.sak-sortable-col.sak-sort-asc .sak-sort-icon,
.sak-sortable-col.sak-sort-desc .sak-sort-icon {
	opacity: 1;
	color: var(--sak-primary);
}
.sak-sortable-col.sak-sort-asc .sak-sort-icon::before { content: "▲"; }
.sak-sortable-col.sak-sort-desc .sak-sort-icon::before { content: "▼"; }
.sak-sortable-col.sak-sort-asc .sak-sort-icon,
.sak-sortable-col.sak-sort-desc .sak-sort-icon {
	font-size: 9px;
}
.sak-sortable-col.sak-sort-asc .sak-sort-icon,
.sak-sortable-col.sak-sort-desc .sak-sort-icon { color: var(--sak-primary); }

.sak-comparison-table tbody tr {
	border-bottom: 1px solid var(--sak-border);
	transition: var(--sak-transition);
}
.sak-comparison-table tbody tr:last-child { border-bottom: none; }
.sak-comparison-table tbody tr:hover {
	background: var(--sak-bg-hover);
}
.sak-row-highlight {
	background: linear-gradient(90deg, rgba(255, 153, 0, .08), rgba(255, 153, 0, .02)) !important;
	border-left: 4px solid var(--sak-primary);
}
.sak-comparison-table td {
	padding: 16px 12px;
	vertical-align: middle;
}

.sak-col-rank {
	width: 70px;
	text-align: center;
}
.sak-rank-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	background: var(--sak-text);
	color: #fff;
	border-radius: 50%;
	font-weight: 800;
	font-size: 14px;
}
.sak-row-highlight .sak-rank-badge {
	background: var(--sak-primary);
}
.sak-best-tag {
	display: block;
	margin-top: 6px;
	font-size: 10px;
	font-weight: 700;
	color: var(--sak-primary-dark);
	text-transform: uppercase;
	letter-spacing: .5px;
}

.sak-col-image {
	width: 110px;
}
.sak-col-image img {
	width: 80px;
	height: 80px;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.sak-col-title {
	min-width: 200px;
	max-width: 280px;
}
.sak-col-title a {
	color: var(--sak-text);
	text-decoration: none;
	font-weight: 600;
	line-height: 1.4;
}
.sak-col-title a:hover { color: var(--sak-primary-dark); }
.sak-cell-brand {
	display: block;
	color: var(--sak-text-muted);
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	margin-bottom: 4px;
	letter-spacing: .3px;
}

.sak-col-rating { white-space: nowrap; }
.sak-col-price { white-space: nowrap; min-width: 120px; }
.sak-col-price .sak-price-now { font-size: 18px; }

.sak-col-features ul {
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 13px;
}
.sak-col-features li {
	position: relative;
	padding-left: 14px;
	margin: 2px 0;
}
.sak-col-features li::before {
	content: "•";
	position: absolute;
	left: 0;
	color: var(--sak-primary);
}
.sak-col-cta { width: 160px; text-align: center; }

/* ═══ PRODUCT LIST ══════════════════════════════ */
.sak-product-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.sak-list-title {
	font-size: 24px !important;
	font-weight: 800 !important;
	margin: 0 0 8px !important;
}
.sak-list-item {
	position: relative;
	display: grid;
	grid-template-columns: 80px 180px 1fr 200px;
	gap: 20px;
	align-items: center;
	background: var(--sak-bg);
	border: 1px solid var(--sak-border);
	border-radius: var(--sak-radius-lg);
	padding: 20px 24px;
	box-shadow: var(--sak-shadow-sm);
	transition: var(--sak-transition);
}
.sak-list-item:hover {
	box-shadow: var(--sak-shadow);
	transform: translateY(-2px);
	border-color: var(--sak-primary);
}

.sak-list-rank {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 900;
	font-size: 28px;
	color: var(--sak-primary);
}
.sak-rank-badge.sak-list-rank,
.sak-list-rank.sak-rank-badge {
	width: 60px;
	height: 60px;
	background: linear-gradient(135deg, var(--sak-primary), #ff6b00);
	color: #fff;
	border-radius: 50%;
	box-shadow: 0 4px 12px rgba(255, 153, 0, .35);
	font-size: 22px;
}
.sak-list-rank.sak-rank-medal {
	font-size: 40px;
	background: none;
	color: inherit;
	width: auto;
	height: auto;
	box-shadow: none;
}

.sak-list-image {
	position: relative;
	background: var(--sak-bg-soft);
	border-radius: var(--sak-radius);
	padding: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 160px;
}
.sak-list-image img {
	max-width: 100%;
	max-height: 140px;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.sak-list-body {
	min-width: 0;
}
.sak-list-brand {
	font-size: 11px;
	font-weight: 700;
	color: var(--sak-text-muted);
	text-transform: uppercase;
	letter-spacing: .5px;
	margin-bottom: 4px;
}
.sak-list-item-title {
	font-size: 18px !important;
	font-weight: 700 !important;
	margin: 0 0 8px !important;
	line-height: 1.35 !important;
}
.sak-list-item-title a {
	color: var(--sak-text);
	text-decoration: none;
}
.sak-list-item-title a:hover { color: var(--sak-primary-dark); }
.sak-list-rating { margin: 4px 0 10px; }
.sak-list-features {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	font-size: 13px;
}
.sak-list-features li {
	position: relative;
	padding-left: 20px;
	margin: 3px 0;
	line-height: 1.5;
}
.sak-list-features li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--sak-success);
	font-weight: 800;
}

.sak-list-action {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
	text-align: center;
}
.sak-list-price {
	margin-bottom: 4px;
}
.sak-list-action .sak-cta-btn { width: 100%; }
.sak-list-prime { margin-top: 4px; }

/* ═══ PROS & CONS ═══════════════════════════════ */
.sak-pros-cons {
	background: var(--sak-bg);
	border-radius: var(--sak-radius-lg);
	padding: 24px;
	border: 1px solid var(--sak-border);
	box-shadow: var(--sak-shadow-sm);
}
.sak-pc-heading {
	font-size: 20px !important;
	font-weight: 800 !important;
	text-align: center;
	margin: 0 0 20px !important;
}
.sak-pc-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
.sak-pc-col {
	border-radius: var(--sak-radius);
	padding: 20px;
	border: 2px solid;
}
.sak-pc-pros {
	background: #ecfdf5;
	border-color: #a7f3d0;
}
.sak-pc-cons {
	background: #fef2f2;
	border-color: #fca5a5;
}
.sak-pc-header {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	font-weight: 800;
	margin-bottom: 14px;
	text-transform: uppercase;
	letter-spacing: .5px;
}
.sak-pc-pros .sak-pc-header { color: var(--sak-success); }
.sak-pc-cons .sak-pc-header { color: var(--sak-danger); }
.sak-pc-col ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.sak-pc-col li {
	position: relative;
	padding-left: 24px;
	margin: 8px 0;
	font-size: 14px;
	line-height: 1.5;
}
.sak-pc-pros li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--sak-success);
	font-weight: 800;
	font-size: 16px;
}
.sak-pc-cons li::before {
	content: "✕";
	position: absolute;
	left: 0;
	color: var(--sak-danger);
	font-weight: 800;
	font-size: 16px;
}

/* ═══ DEAL BOX ══════════════════════════════════ */
.sak-deal-box {
	position: relative;
	background: linear-gradient(135deg, #fff5e6, #ffecd1);
	border-radius: var(--sak-radius-lg);
	overflow: hidden;
	box-shadow: var(--sak-shadow);
	border: 2px solid var(--sak-primary);
}
.sak-deal-ribbon {
	display: flex;
	align-items: center;
	gap: 6px;
	background: linear-gradient(135deg, var(--sak-danger), #b91c1c);
	color: #fff;
	padding: 10px 20px;
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
	animation: sak-pulse-bg 2s ease-in-out infinite;
}
@keyframes sak-pulse-bg {
	0%, 100% { background: linear-gradient(135deg, var(--sak-danger), #b91c1c); }
	50% { background: linear-gradient(135deg, #dc2626, #991b1b); }
}
.sak-deal-inner {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 24px;
	padding: 24px;
	background: #fff;
	margin: 2px;
	border-radius: 0 0 calc(var(--sak-radius-lg) - 2px) calc(var(--sak-radius-lg) - 2px);
}
.sak-deal-media {
	position: relative;
	background: var(--sak-bg-soft);
	border-radius: var(--sak-radius);
	padding: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 200px;
}
.sak-deal-media img {
	max-width: 100%;
	max-height: 180px;
	object-fit: contain;
	mix-blend-mode: multiply;
}
.sak-deal-discount {
	position: absolute;
	top: 10px;
	right: 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	background: var(--sak-danger);
	color: #fff;
	padding: 10px 14px;
	border-radius: 50%;
	width: 70px;
	height: 70px;
	justify-content: center;
	box-shadow: 0 6px 16px rgba(239, 68, 68, .4);
	transform: rotate(-8deg);
}
.sak-deal-save {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1;
}
.sak-deal-percent {
	font-size: 20px;
	font-weight: 900;
	line-height: 1;
}
.sak-deal-body { display: flex; flex-direction: column; }
.sak-deal-title {
	font-size: 20px !important;
	font-weight: 800 !important;
	margin: 0 0 8px !important;
	line-height: 1.3 !important;
}
.sak-deal-title a {
	color: var(--sak-text) !important;
	text-decoration: none !important;
}
.sak-deal-title a:hover { color: var(--sak-primary-dark) !important; }
.sak-deal-rating { margin: 4px 0 12px; }
.sak-deal-pricing {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin-bottom: 16px;
}

.sak-countdown {
	background: linear-gradient(135deg, #fef3c7, #fde68a);
	border-radius: var(--sak-radius);
	padding: 12px 16px;
	margin-bottom: 16px;
	border-left: 4px solid var(--sak-danger);
}
.sak-countdown-label {
	font-size: 12px;
	font-weight: 700;
	color: var(--sak-danger);
	text-transform: uppercase;
	letter-spacing: .5px;
	display: block;
	margin-bottom: 6px;
}
.sak-countdown-units {
	display: flex;
	gap: 10px;
	align-items: center;
}
.sak-countdown-unit {
	display: flex;
	flex-direction: column;
	align-items: center;
	background: var(--sak-text);
	color: #fff;
	padding: 6px 10px;
	border-radius: var(--sak-radius-sm);
	min-width: 48px;
}
.sak-countdown-unit b {
	font-size: 18px;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}
.sak-countdown-unit small {
	font-size: 10px;
	text-transform: uppercase;
	opacity: .8;
}
.sak-deal-prime {
	margin-top: 10px;
	font-size: 12px;
	color: var(--sak-text-muted);
}

/* ─── Style variants ────────────────────────────── */
.sak-style-minimal {
	border: 1px solid var(--sak-border);
	box-shadow: none;
}
.sak-style-minimal:hover {
	border-color: var(--sak-primary);
}
.sak-style-bold .sak-cta-btn {
	background: var(--sak-text);
	color: #fff !important;
}
.sak-style-bold .sak-cta-btn:hover {
	background: #000;
	color: #fff !important;
}
.sak-style-glass {
	background: rgba(255, 255, 255, .75);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, .4);
}

/* ═══════════════════════════════════════════════ */
/* RESPONSIVE — Mobile-first breakpoints            */
/* ═══════════════════════════════════════════════ */

/* Tablet ≤ 900px */
@media (max-width: 900px) {
	.sak-list-item {
		grid-template-columns: 60px 140px 1fr;
		grid-template-rows: auto auto;
	}
	.sak-list-rank { grid-row: 1 / 3; }
	.sak-list-image { grid-row: 1 / 3; }
	.sak-list-action {
		grid-column: 1 / -1;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		padding-top: 12px;
		border-top: 1px solid var(--sak-border);
	}
	.sak-list-action .sak-cta-btn { width: auto; flex: 1; margin-left: 12px; }

	.sak-deal-inner {
		grid-template-columns: 160px 1fr;
		padding: 16px;
	}
}

/* Mobile ≤ 640px */
@media (max-width: 640px) {
	.sak-product-box {
		flex-direction: column;
		padding: 16px;
		gap: 16px;
	}
	.sak-product-media {
		flex: 0 0 auto;
		width: 100%;
		min-height: 200px;
	}
	.sak-product-media img { max-height: 180px; }
	.sak-product-footer {
		flex-direction: column;
		align-items: stretch;
	}
	.sak-product-footer .sak-cta-btn { width: 100%; }
	.sak-product-price { justify-content: center; }

	.sak-list-item {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		text-align: center;
	}
	.sak-list-rank {
		grid-row: auto;
		margin: 0 auto;
	}
	.sak-list-image {
		grid-row: auto;
		height: 180px;
	}
	.sak-list-features li { text-align: left; }
	.sak-list-action {
		grid-column: 1;
		flex-direction: column;
	}
	.sak-list-action .sak-cta-btn { width: 100%; margin: 0; }

	.sak-pc-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.sak-deal-inner {
		grid-template-columns: 1fr;
		text-align: center;
	}
	.sak-deal-media { min-height: 180px; }
	.sak-deal-pricing { justify-content: center; }

	.sak-comparison-table {
		font-size: 13px;
	}
	.sak-comparison-table th,
	.sak-comparison-table td {
		padding: 10px 8px;
	}
	.sak-col-title { min-width: 150px; }
	.sak-col-image img { width: 60px; height: 60px; }

	.sak-countdown-units { flex-wrap: wrap; }
}

/* Small mobile ≤ 400px */
@media (max-width: 400px) {
	.sak-product-title,
	.sak-list-item-title,
	.sak-deal-title {
		font-size: 16px !important;
	}
	.sak-price-now { font-size: 20px; }
	.sak-price-deal { font-size: 24px; }
	.sak-cta-btn { padding: 10px 16px; font-size: 13px; }
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
	.sak-dark-auto {
		--sak-text:          #f1f5f9;
		--sak-text-muted:    #94a3b8;
		--sak-border:        #334155;
		--sak-border-strong: #475569;
		--sak-bg:            #1e293b;
		--sak-bg-soft:       #0f172a;
		--sak-bg-hover:      #334155;
	}
}

/* Print */
@media print {
	.sak-cta-btn, .sak-deal-ribbon, .sak-countdown {
		display: none !important;
	}
}
