/* Dialoda Theme - Components: cards, grids, sections, buttons */

/* Buttons */
.dialoda-btn {
	display: inline-block;
	padding: 0.5rem 1rem;
	border-radius: 6px;
	font-size: 0.875rem;
	text-decoration: none;
	cursor: pointer;
	border: none;
	background: #e2e8f0;
	color: #1e293b;
}
.dialoda-btn:hover { background: #cbd5e1; }
.dialoda-btn-primary {
	background: var(--dialoda-primary);
	color: #fff;
}
.dialoda-btn-primary:hover { background: var(--dialoda-primary-hover); color: #fff; }

/* Grid */
.dialoda-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
}
@media (min-width: 480px) {
	.dialoda-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
}
@media (min-width: 768px) {
	.dialoda-grid-products,
	.dialoda-grid-deals { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
	.dialoda-grid-coupons { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
	.dialoda-grid-stores { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
}

/* Cards */
.dialoda-card {
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0,0,0,0.08);
	transition: box-shadow 0.2s;
}
.dialoda-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.dialoda-card-link { text-decoration: none; color: inherit; display: block; }
.dialoda-card-thumb {
	aspect-ratio: 1;
	background: #f1f5f9;
	overflow: hidden;
}
.dialoda-card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.dialoda-card-thumb-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #94a3b8;
	font-size: 2rem;
}
.dialoda-card-body { padding: 0.75rem; }
.dialoda-card-title {
	margin: 0 0 0.35rem;
	font-size: 0.95rem;
	line-height: 1.3;
	font-weight: 600;
}
.dialoda-card-price { margin: 0; font-weight: 600; color: var(--dialoda-coupons); }
.dialoda-card-meta { margin: 0; font-size: 0.8rem; color: #64748b; }
.dialoda-card-prices { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem; margin: 0.25rem 0; }
.dialoda-price-current { font-weight: 600; color: var(--dialoda-coupons); }
.dialoda-price-original { text-decoration: line-through; color: #94a3b8; font-size: 0.85rem; }
.dialoda-discount-badge {
	background: var(--dialoda-deals);
	color: #fff;
	font-size: 0.75rem;
	padding: 0.15rem 0.4rem;
	border-radius: 4px;
}
.dialoda-badge {
	display: inline-block;
	font-size: var(--dialoda-font-size-xs);
	font-weight: 600;
	padding: 0.25rem 0.5rem;
	border-radius: 6px;
}
.dialoda-badge-coupons { background: var(--dialoda-coupons-light); color: var(--dialoda-coupons); }
.dialoda-store-header-stats { margin: 0.25rem 0 0; }
.dialoda-deal-found-by,
.dialoda-deal-votes { margin: 0.2rem 0; font-size: 0.8rem; color: #64748b; }

/* Coupon card - tiket sobek */
.dialoda-coupon-ticket {
	display: flex;
	padding: 0;
	overflow: hidden;
}
.dialoda-coupon-ticket-left {
	flex: 0 0 90px;
	background: var(--dialoda-coupons);
	color: #fff;
	padding: 0.75rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: var(--dialoda-font-size-sm);
	text-align: center;
}
.dialoda-coupon-ticket-right {
	flex: 1;
	padding: 0.75rem 1rem;
	border-left: 2px dashed var(--dialoda-border);
}
.dialoda-card-coupon .dialoda-card-body { padding: 1rem; }
.dialoda-coupon-store { margin: 0 0 0.25rem; font-size: 0.8rem; color: var(--dialoda-text-muted); }
.dialoda-coupon-discount { margin: 0.25rem 0; font-weight: 600; color: var(--dialoda-coupons); }
.dialoda-coupon-code-wrap {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0.5rem 0;
}
.dialoda-coupon-code {
	display: inline-block;
	padding: 0.4rem 0.6rem;
	background: var(--dialoda-bg);
	border: 1px dashed var(--dialoda-border);
	border-radius: 4px;
	font-family: monospace;
	font-size: 0.9rem;
}
.dialoda-btn-copy { flex-shrink: 0; }
.dialoda-btn-coupon-cta {
	display: inline-block;
	margin-top: 0.5rem;
	padding: 0.5rem 0.75rem;
	background: var(--dialoda-coupons);
	color: #fff;
	border-radius: 6px;
	font-size: var(--dialoda-font-size-xs);
	font-weight: 600;
	text-decoration: none;
}
.dialoda-btn-coupon-cta:hover { background: var(--dialoda-coupons-hover); color: #fff; }

/* Store card */
.dialoda-card-store .dialoda-card-thumb-placeholder { font-size: 1.5rem; }

/* Hero (base – overridden by homepage.css on front page) */
.dialoda-hero {
	background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
	color: #fff;
	padding: 2.5rem 0;
	text-align: center;
}
.dialoda-hero-title { margin: 0 0 0.5rem; font-size: 1.75rem; }
.dialoda-hero-desc { margin: 0 0 1.5rem; opacity: 0.9; max-width: 560px; margin-left: auto; margin-right: auto; }
.dialoda-hero-search {
	display: flex;
	gap: 0.5rem;
	justify-content: center;
	flex-wrap: wrap;
	max-width: 480px;
	margin: 0 auto;
}
.dialoda-hero-search-input {
	flex: 1;
	min-width: 200px;
	padding: 0.6rem 0.75rem;
	border: none;
	border-radius: 6px;
	font-size: 1rem;
}
.dialoda-section-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem; }
.dialoda-section-head .dialoda-section-title { margin: 0; }
.dialoda-section-link { font-size: 0.9rem; color: #2563eb; text-decoration: none; }
.dialoda-section-link:hover { text-decoration: underline; }

/* Breadcrumb */
.dialoda-breadcrumb { margin-bottom: 1rem; padding: 0.5rem 0; }
.dialoda-breadcrumb-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem;
	font-size: 0.875rem;
	color: #64748b;
}
.dialoda-breadcrumb-item { display: inline-flex; align-items: center; gap: 0.25rem; }
.dialoda-breadcrumb-item a { color: #64748b; text-decoration: none; }
.dialoda-breadcrumb-item a:hover { color: #2563eb; }
.dialoda-breadcrumb-sep { color: #94a3b8; user-select: none; }
.dialoda-breadcrumb-current { color: #1e293b; font-weight: 500; }

/* Sections */
.dialoda-section { padding: 1.5rem 0; }
.dialoda-section:nth-child(even) { background: #fff; }
.dialoda-section-title { margin: 0 0 1rem; font-size: 1.25rem; }
.dialoda-section-more { margin: 1rem 0 0; text-align: center; }

/* Category list */
.dialoda-cat-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
}
.dialoda-cat-list a { text-decoration: none; }
.dialoda-cat-list .count { color: #94a3b8; font-size: 0.85rem; }

/* Single post / product / deal / coupon */
/* Single page layout */
.dialoda-single { margin-bottom: 2rem; }
.dialoda-single-header {
	margin-bottom: 1.5rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #e2e8f0;
}
.dialoda-single-title { margin: 0 0 0.5rem; font-size: 1.5rem; }
@media (min-width: 768px) {
	.dialoda-single-title { font-size: 1.75rem; }
}
.dialoda-single-thumb { margin: 0.5rem 0; }
.dialoda-single-thumb img { max-width: 100%; height: auto; border-radius: 8px; }
.dialoda-single-content { margin: 1rem 0; }
.dialoda-single-content p { margin: 0.5rem 0; }
.dialoda-single-content h2 { margin: 1.25rem 0 0.5rem; font-size: 1.15rem; }
.dialoda-single-content h3 { margin: 1rem 0 0.35rem; font-size: 1.05rem; }

/* Product single */
.dialoda-product-brand { margin: 0 0 0.25rem; color: #64748b; font-size: 0.9rem; }
.dialoda-product-rating { margin: 0.25rem 0; }
.dialoda-specs-table,
.dialoda-offers-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0.5rem 0;
}
.dialoda-specs-table th,
.dialoda-specs-table td,
.dialoda-offers-table th,
.dialoda-offers-table td {
	padding: 0.5rem 0.75rem;
	text-align: left;
	border-bottom: 1px solid #e2e8f0;
}
.dialoda-specs-table th,
.dialoda-offers-table th { background: #f8fafc; font-weight: 600; }
.dialoda-related-deals ul { list-style: none; margin: 0; padding: 0; }
.dialoda-related-deals li { margin: 0.25rem 0; }

/* Deal single */
.dialoda-deal-meta { margin: 0.5rem 0; }
.dialoda-deal-prices { display: flex; align-items: center; gap: 0.5rem; margin: 0.5rem 0; }
.dialoda-deal-vote-wrap { margin: 0.5rem 0; }
.dialoda-btn-vote { background: #f1f5f9; }
.dialoda-btn-vote:hover { background: #e2e8f0; }
.dialoda-btn-cta { margin: 0.5rem 0; font-size: 1rem; padding: 0.6rem 1.25rem; }
.dialoda-deal-expiry { margin: 0.25rem 0; font-size: 0.9rem; color: #64748b; }

/* Coupon single */
.dialoda-coupon-discount-big { font-size: 1.25rem; font-weight: 600; color: var(--dialoda-coupons); margin: 0.5rem 0; }
.dialoda-coupon-code-wrap { margin: 0.75rem 0; }
.dialoda-coupon-no-code { color: #64748b; }
.dialoda-coupon-expiry { font-size: 0.9rem; color: #64748b; margin: 0.25rem 0; }
.dialoda-more-coupons { margin-top: 2rem; }
.dialoda-more-coupons h2 { margin-bottom: 1rem; font-size: 1.1rem; }

/* Ad slot */
.dialoda-ad-slot {
	min-height: 90px;
	margin: 1rem 0;
	text-align: center;
}

/* 404 */
.dialoda-404 { text-align: center; padding: 3rem 1rem; }
.dialoda-404-title { margin: 0 0 0.5rem; }
.dialoda-404 .dialoda-search-form { justify-content: center; margin: 1rem 0; }
