/* AZLink — product boxes. Theme-agnostic, no external assets, dark-mode aware. */

.azlink-box {
	display: flex;
	gap: 1.25rem;
	align-items: flex-start;
	border: 1px solid rgba(0, 0, 0, .12);
	border-radius: 10px;
	padding: 1.1rem 1.25rem;
	margin: 1.75rem 0;
	background: #fff;
	flex-wrap: wrap;
}

.azlink-box-img { flex: 0 0 150px; max-width: 150px; }
.azlink-box-img img { width: 100%; height: auto; display: block; }

.azlink-box-body { flex: 1 1 260px; min-width: 0; }

.azlink-box-title {
	display: block;
	font-weight: 700;
	font-size: 1.05rem;
	line-height: 1.35;
	text-decoration: none;
	margin-bottom: .35rem;
}

.azlink-box-brand { font-size: .85rem; opacity: .7; margin-bottom: .5rem; }

.azlink-box-features {
	margin: .5rem 0 0;
	padding-left: 1.1rem;
	font-size: .9rem;
	line-height: 1.5;
}
.azlink-box-features li { margin-bottom: .2rem; }

.azlink-box-cta {
	flex: 0 0 190px;
	display: flex;
	flex-direction: column;
	gap: .55rem;
	align-items: stretch;
}

.azlink-box-price { font-size: 1.2rem; font-weight: 700; text-align: center; }

.azlink-btn {
	display: block;
	text-align: center;
	padding: .7rem 1.1rem;
	border-radius: 8px;
	background: #ff9900;
	color: #111 !important;
	font-weight: 700;
	text-decoration: none !important;
	line-height: 1.2;
	transition: filter .15s ease;
}
.azlink-btn:hover { filter: brightness(.93); }

.azlink-box-min { justify-content: center; }
.azlink-box-min .azlink-box-cta { flex: 0 0 auto; }

/* A product we know is gone: keep the text, drop the dead outbound link. */
.azlink-dead { text-decoration: line-through; opacity: .65; }
.azlink-box-dead { opacity: .55; }

/* ---------------------------------------------------------------------------
   Comparison table — pivot layout mirroring AAWP's structure: each .azlink-tb__row
   is an attribute (thumb / title / star_rating / button) and each .azlink-tb__data
   within it is one product column.
   --------------------------------------------------------------------------- */

.azlink-tb-wrap { overflow-x: auto; margin: 1.75rem 0; }

.azlink-tb {
	display: table;
	width: 100%;
	min-width: 480px;
	border-collapse: collapse;
}

.azlink-tb__row { display: table-row; }

.azlink-tb__head,
.azlink-tb__data {
	display: table-cell;
	padding: .85rem .7rem;
	border-bottom: 1px solid rgba(0, 0, 0, .1);
	vertical-align: middle;
	text-align: center;
	position: relative;
}

.azlink-tb__head {
	width: 8rem;
	text-align: left;
	font-weight: 600;
	font-size: .9rem;
	opacity: .75;
}

/* When labels are hidden the head column collapses entirely. */
.azlink-tb--hide-labels .azlink-tb__head { width: 0; padding: 0; border-bottom: 0; }

.azlink-tb__data--highlight { background: rgba(0, 0, 0, .025); }

/* Ribbon sits above the first cell of a highlighted column. */
.azlink-tb-ribbon {
	display: block;
	margin: -.85rem -.7rem .6rem;
	padding: .3rem .5rem;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: #111;
	background: #dbca7a;
}

.azlink-tb-thumb img { max-width: 130px; height: auto; display: inline-block; }
.azlink-tb-thumb--empty { min-height: 60px; }

.azlink-tb-product-data-title a {
	font-weight: 600;
	font-size: .92rem;
	line-height: 1.35;
	text-decoration: none;
	display: block;
}

.azlink-tb-product-data-star_rating { white-space: nowrap; }
.azlink-stars { color: #ff9900; font-size: 1.05rem; letter-spacing: .04em; }
.azlink-reviews { font-size: .82rem; opacity: .7; }

.azlink-tb-product-data-price { font-weight: 700; white-space: nowrap; }
.azlink-tb-product-data-button .azlink-btn { padding: .55rem .8rem; font-size: .88rem; }

@media (max-width: 600px) {
	.azlink-tb { min-width: 380px; }
	.azlink-tb__head, .azlink-tb__data { padding: .6rem .4rem; }
	.azlink-tb-thumb img { max-width: 84px; }
	.azlink-tb-product-data-title a { font-size: .84rem; }
}

@media (prefers-color-scheme: dark) {
	.azlink-tb__head, .azlink-tb__data { border-bottom-color: rgba(255, 255, 255, .14); }
	.azlink-tb__data--highlight { background: rgba(255, 255, 255, .04); }
}

@media (max-width: 600px) {
	.azlink-box { gap: .9rem; }
	.azlink-box-img { flex-basis: 100px; max-width: 100px; }
	.azlink-box-cta { flex: 1 1 100%; }
}

@media (prefers-color-scheme: dark) {
	.azlink-box { background: #1e1e1e; border-color: rgba(255, 255, 255, .16); }
	.azlink-table td { border-bottom-color: rgba(255, 255, 255, .14); }
}
