.dt-container { max-width: 100%; }
.dt-container h2.dt-page-title { margin-top: 0.5em; }
.dt-block { margin: 1.5em 0; padding: 1em 1.25em; border: 1px solid #e2e2e2; border-radius: 6px; background: #fafafa; }
.dt-block h3 { margin-top: 0; font-size: 1.25em; }
.dt-islamic-date .dt-hijri-date { font-size: 1.4em; font-weight: 600; margin: 0.2em 0; }
.dt-islamic-date .dt-gregorian-date { color: #555; margin: 0; }
.dt-prayer-table { width: 100%; border-collapse: collapse; margin-top: 0.75em; }
.dt-prayer-table th, .dt-prayer-table td { padding: 0.5em 0.75em; border-bottom: 1px solid #e2e2e2; text-align: left; }
.dt-prayer-table thead th { background: #f0f0f0; }
.dt-next-prayer { font-size: 1.05em; margin: 0 0 0.5em; }
.dt-method-note { font-size: 0.85em; color: #666; margin-top: 0.75em; }
.dt-ramadan-row { padding: 0.4em 0; border-bottom: 1px dashed #ddd; }
.dt-ramadan-row:last-of-type { border-bottom: none; }
.dt-ramadan-note { font-size: 0.85em; color: #666; margin-top: 0.75em; }
.dt-badge { display: inline-block; font-size: 0.72em; padding: 0.1em 0.5em; border-radius: 3px; margin-left: 0.4em; vertical-align: middle; }
.dt-badge.dt-confirmed { background: #d7f0d7; color: #1a5c1a; }
.dt-badge.dt-expected { background: #fdf0d5; color: #7a5b00; }
.dt-faq-item { margin-bottom: 0.9em; }
.dt-faq-item h4 { margin: 0 0 0.2em; font-size: 1.05em; }
.dt-faq-item p { margin: 0; }
.dt-breadcrumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 0.35em; padding: 0; margin: 0 0 0.75em; font-size: 0.9em; }
.dt-breadcrumbs li:not(:last-child)::after { content: "›"; margin-left: 0.35em; color: #999; }
.dt-city-list, .dt-country-list { columns: 2; column-gap: 2em; }
.dt-unavailable { color: #a33; font-style: italic; }
.dt-location-search { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 1em 0; }
.dt-location-search input[type="search"] { flex: 1 1 240px; padding: 0.5em; }
.dt-detect-location { padding: 0.5em 1em; }
.dt-search-results { width: 100%; }
.dt-search-results ul { list-style: none; margin: 0.5em 0 0; padding: 0; border: 1px solid #e2e2e2; border-radius: 4px; }
.dt-search-results li a { display: block; padding: 0.5em 0.75em; text-decoration: none; }
.dt-search-results li a:hover { background: #f0f0f0; }

.dt-calendar-nav { display: flex; justify-content: space-between; gap: 1em; margin: 0.75em 0; font-size: 0.95em; }
.dt-calendar-nav-bottom { margin-top: 1em; }
.dt-calendar-nav a { text-decoration: none; }

.dt-events-table { width: 100%; border-collapse: collapse; margin-top: 0.5em; }
.dt-events-table th, .dt-events-table td { padding: 0.45em 0.7em; border-bottom: 1px solid #e6e6e6; text-align: left; font-size: 0.95em; }
.dt-events-table thead th { background: #f0f0f0; }

/* Compact 7-column month calendar grid — replaces a 30-row vertical list */
.dt-calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; margin-top: 0.5em; }
.dt-cal-dow { text-align: center; font-size: 0.75em; font-weight: 600; color: #777; padding: 0.25em 0; text-transform: uppercase; }
.dt-cal-cell { background: #fff; border: 1px solid #e6e6e6; border-radius: 4px; padding: 0.4em 0.3em; min-height: 4.4em; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.dt-cal-cell.dt-cal-empty { background: transparent; border-color: transparent; }
.dt-cal-cell .dt-cal-greg { font-weight: 600; font-size: 0.95em; }
.dt-cal-cell .dt-cal-hijri { font-size: 0.68em; color: #666; margin-top: 0.2em; line-height: 1.25; word-break: break-word; hyphens: auto; }
.dt-cal-cell.dt-today { background: #eef6ff; border-color: #8fc2ff; }
.dt-cal-cell.dt-today .dt-cal-greg { color: #1a5cab; }

@media (max-width: 480px) {
	.dt-calendar-grid { gap: 2px; }
	.dt-cal-cell { min-height: 3.8em; padding: 0.25em 0.15em; }
	.dt-cal-cell .dt-cal-greg { font-size: 0.85em; }
	.dt-cal-cell .dt-cal-hijri { font-size: 0.56em; line-height: 1.15; }
	.dt-cal-dow { font-size: 0.65em; }
}

/* Compact multi-column Ramadan day cards — replaces a 29/30-row vertical list */
.dt-ramadan-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 0.5em; margin-top: 0.75em; }
.dt-ramadan-day-card { border: 1px solid #e6e6e6; border-radius: 5px; padding: 0.5em 0.6em; background: #fff; display: flex; flex-direction: column; gap: 0.15em; font-size: 0.88em; }
.dt-ramadan-day-card .dt-rd-day { font-weight: 700; font-size: 0.95em; }
.dt-ramadan-day-card .dt-rd-date { color: #555; margin-bottom: 0.2em; }
.dt-ramadan-day-card .dt-rd-time strong { font-weight: 600; }
.dt-ramadan-grid-compact .dt-ramadan-day-card { flex-direction: row; justify-content: space-between; align-items: center; gap: 0.5em; }

.dt-calendar-month, .dt-ramadan-timetable { overflow-x: visible; }
.dt-block-loading { opacity: 0.5; pointer-events: none; transition: opacity 0.15s ease; }
.dt-search-message { font-size: 0.9em; color: #666; margin: 0.5em 0 0; }

