/*
 * ps-hub.css — Region-Hub-Styles (Dep + Provinz + Distrikt)
 *
 * Quelle: ausgelagert aus taxonomy-ps_destination.php (Inline-Block).
 * Theme-Farbe als CSS-Custom-Property --ps-hub-color (gesetzt im
 * Template-Inline-<style> da Avia-Color dynamisch ist).
 *
 * Stand: 2026-05-29 (JOB 2)
 */

.ps-tax-dest-entry { font-size: 16px; line-height: 1.65; color: #1f2937; }
.ps-tax-header { margin: 0 0 28px; }

/* H1 sichtbar im Content (vor AI-Summary), JOB 3 2026-05-29 */
.ps-hub-h1 {
	font-size: 30px; font-weight: 700; line-height: 1.2;
	color: var(--ps-hub-color, #1f6dcc);
	margin: 0 0 16px;
	max-width: 820px;
}
@media (max-width: 767px) {
	.ps-hub-h1 { font-size: 24px; margin-bottom: 12px; }
}
.ps-tax-description { font-size: 17px; line-height: 1.6; color: #4b5563; margin: 0 0 16px; max-width: 820px; }
.ps-tax-description p { margin: 0 0 1em; }

/* S3 AI-Summary — Header-Block oben im Hub */
.ps-hub-ai-summary {
	font-size: 17px; line-height: 1.65; color: #1f2937;
	margin: 0 0 18px; padding: 18px 22px;
	background: linear-gradient(135deg, #f0f7fc 0%, #e8f1f8 100%);
	border-left: 4px solid var(--ps-hub-color, #1f6dcc);
	border-radius: 6px; max-width: 820px;
}
.ps-hub-ai-summary p { margin: 0 0 0.9em; }
.ps-hub-ai-summary p:last-child { margin-bottom: 0; }
@media (max-width: 640px) {
	.ps-hub-ai-summary { padding: 14px 16px; font-size: 16px; }
	.ps-hub-ai-summary p { margin: 0 0 1em; }
}
.ps-tax-description-fallback {
	margin: 0 0 16px; max-width: 820px;
	font-size: 14px; color: #6b7280;
}
.ps-tax-description-fallback summary {
	cursor: pointer; padding: 4px 0; font-weight: 500;
	color: var(--ps-hub-color, #1f6dcc);
}
.ps-tax-description-fallback[open] summary { margin-bottom: 8px; }
.ps-tax-description-fallback p { margin: 0 0 0.8em; line-height: 1.55; }

.ps-tax-stats {
	list-style: none; margin: 0; padding: 12px 16px;
	background: #f9fafb; border-radius: 6px;
	display: flex; flex-wrap: wrap; gap: 28px;
}
.ps-tax-stats li { display: flex; flex-direction: column; }
.ps-tax-stat-num { font-size: 22px; font-weight: 700; color: var(--ps-hub-color, #1f6dcc); line-height: 1.2; }
.ps-tax-stat-lbl { font-size: 12px; color: #6b7280; text-transform: uppercase; letter-spacing: 0.4px; }

.ps-tax-section { margin: 0 0 36px; }
.ps-tax-section-title {
	margin: 0 0 16px; font-size: 22px; font-weight: 700;
	color: var(--ps-hub-color, #1f6dcc);
	border-bottom: 1px solid #e5e7eb; padding-bottom: 8px;
}

.ps-tax-grid {
	display: grid; gap: 16px;
	grid-template-columns: repeat( auto-fill, minmax(220px, 1fr) );
}
.ps-tax-card {
	display: block; background: #fff; border: 1px solid #e5e7eb;
	border-radius: 6px; overflow: hidden;
	text-decoration: none; color: #1f2937;
	transition: box-shadow .15s, border-color .15s;
}
.ps-tax-card:hover {
	box-shadow: 0 4px 12px rgba(0,0,0,0.08);
	border-color: var(--ps-hub-color, #1f6dcc);
	color: var(--ps-hub-color, #1f6dcc);
}
.ps-tax-card-img { width: 100%; height: 140px; object-fit: cover; display: block; }
.ps-tax-card-title { display: block; padding: 10px 12px; font-size: 14px; font-weight: 600; line-height: 1.35; }
.ps-tax-card-price { display: block; padding: 0 12px 10px; font-size: 12px; color: #6b7280; }

.ps-tax-more { margin: 14px 0 0; }
.ps-tax-more a { font-size: 14px; font-weight: 600; color: var(--ps-hub-color, #1f6dcc); text-decoration: none; }
.ps-tax-more a:hover { text-decoration: underline; }

.ps-tax-children { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ps-tax-children li { margin: 0; }
.ps-tax-children a {
	display: inline-block; padding: 6px 14px;
	background: #f3f4f6; color: #1f2937;
	border-radius: 999px; font-size: 14px;
	text-decoration: none;
	transition: background .15s;
}
.ps-tax-children a:hover { background: #dbeafe; color: #1e3a8a; }
.ps-tax-child-count { font-size: 12px; color: #6b7280; margin-left: 4px; }

/* Region-Hub Phase 1 Pilot (R1) — Sidebar-Layout */
.ps-hub-layout {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 36px;
	align-items: start;
}
.ps-hub-layout > .ps-tax-dest-entry { min-width: 0; }
.ps-hub-sidebar {
	position: sticky; top: 90px;
	max-height: calc(100vh - 110px); overflow-y: auto;
	padding: 18px; background: #fafbfc;
	border: 1px solid #e5e7eb; border-radius: 8px;
	font-size: 14px;
}
.ps-hub-block-title {
	margin: 18px 0 8px;
	font-size: 11px; text-transform: uppercase; letter-spacing: 0.8px;
	color: #6b7280; font-weight: 700;
	border-bottom: 1px solid #e5e7eb; padding-bottom: 4px;
}
.ps-hub-block-title:first-child { margin-top: 0; }
.ps-hub-card {
	background: #fff; border: 1px solid #e5e7eb; border-radius: 6px;
	padding: 12px 14px; margin-bottom: 10px;
}
.ps-hub-card-title {
	margin: 0 0 8px; font-size: 14px; font-weight: 600;
	color: var(--ps-hub-color, #1f6dcc);
}
.ps-hub-score {
	font-size: 28px; font-weight: 700; line-height: 1.1;
	color: var(--ps-hub-color, #1f6dcc);
}
.ps-hub-score small { font-size: 14px; color: #6b7280; font-weight: 400; }
.ps-hub-score--warn { color: #b45309; }
.ps-hub-good { color: #047857; font-weight: 600; margin: 0; }
.ps-hub-meta { font-size: 12px; color: #6b7280; margin-top: 2px; }
.ps-hub-line { margin: 0 0 4px; font-size: 14px; }
.ps-hub-summary { margin: 8px 0 0; font-size: 13px; color: #4b5563; line-height: 1.5; }
.ps-hub-mini-list, .ps-hub-link-list { list-style: none; margin: 8px 0 0; padding: 0; }
.ps-hub-mini-list li, .ps-hub-link-list li {
	font-size: 13px; color: #4b5563;
	padding: 3px 0; border-bottom: 1px dotted #e5e7eb;
}
.ps-hub-mini-list li:last-child, .ps-hub-link-list li:last-child { border-bottom: none; }
.ps-hub-link-list a { color: #1f2937; text-decoration: none; }
.ps-hub-link-list a:hover { color: var(--ps-hub-color, #1f6dcc); text-decoration: underline; }

/* JOB 3 Sektionen (2026-05-29) ---------------------------------------- */

/* Section 3: Warum reisen? */
.ps-hub-warum-text { font-size: 16px; line-height: 1.7; color: #374151; max-width: 820px; }
.ps-hub-warum-text p { margin: 0 0 1em; }

/* Section 4: Reisecluster */
.ps-hub-cluster-grid {
	display: grid; gap: 18px;
	grid-template-columns: repeat( auto-fill, minmax(260px, 1fr) );
}
.ps-hub-cluster-item {
	background: #fff; border: 1px solid #e5e7eb; border-radius: 8px;
	overflow: hidden;
}
.ps-hub-cluster-img { width: 100%; height: 160px; object-fit: cover; display: block; }
.ps-hub-cluster-name { margin: 12px 14px 4px; font-size: 17px; font-weight: 600; }
.ps-hub-cluster-name a { color: var(--ps-hub-color, #1f6dcc); text-decoration: none; }
.ps-hub-cluster-desc { margin: 0 14px 14px; font-size: 14px; color: #6b7280; line-height: 1.5; }

/* Section 10: Reiseplanung */
.ps-hub-reisedauer { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; grid-template-columns: repeat( auto-fill, minmax(220px, 1fr) ); }
.ps-hub-reisedauer li {
	background: #f9fafb; border-radius: 6px; padding: 12px 14px;
	display: flex; flex-direction: column; gap: 4px;
}
.ps-hub-reisedauer-tage { font-size: 18px; font-weight: 700; color: var(--ps-hub-color, #1f6dcc); }
.ps-hub-reisedauer-text { font-size: 14px; color: #4b5563; }

/* Section 12: Praktische Hinweise */
.ps-hub-praktische { display: grid; gap: 18px; grid-template-columns: repeat( auto-fill, minmax(240px, 1fr) ); }
.ps-hub-praktische-item { background: #f9fafb; border-left: 3px solid var(--ps-hub-color, #1f6dcc); padding: 12px 14px; border-radius: 4px; }
.ps-hub-praktische-titel { margin: 0 0 6px; font-size: 14px; font-weight: 600; color: #1f2937; }
.ps-hub-praktische-text { margin: 0; font-size: 14px; color: #4b5563; line-height: 1.5; }

/* Section 15: FAQ */
.ps-hub-faq { max-width: 820px; }
.ps-hub-faq-item { border-bottom: 1px solid #e5e7eb; padding: 10px 0; }
.ps-hub-faq-q { cursor: pointer; font-weight: 600; color: #1f2937; padding: 6px 0; }
.ps-hub-faq-q:hover { color: var(--ps-hub-color, #1f6dcc); }
.ps-hub-faq-item[open] .ps-hub-faq-q { color: var(--ps-hub-color, #1f6dcc); }
.ps-hub-faq-a { margin: 8px 0 4px; font-size: 15px; color: #4b5563; line-height: 1.6; }

/* Section 2: Einordnung (Parent + Sibling-Pills) */
.ps-tax-section--einordnung {
	background: #f9fafb; border-left: 3px solid var(--ps-hub-color, #1f6dcc);
	padding: 12px 18px; border-radius: 4px; margin-bottom: 24px;
}
.ps-hub-einordnung-line { margin: 0 0 8px; font-size: 15px; color: #1f2937; }
.ps-hub-einordnung-line a { color: var(--ps-hub-color, #1f6dcc); font-weight: 600; text-decoration: none; }
.ps-hub-einordnung-line a:hover { text-decoration: underline; }
.ps-hub-einordnung-siblings-label { margin: 6px 0 4px; font-size: 12px; color: #6b7280; }
.ps-hub-einordnung-siblings { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.ps-hub-einordnung-siblings a {
	display: inline-block; padding: 4px 10px; background: #fff; color: #374151;
	border: 1px solid #d1d5db; border-radius: 999px; font-size: 13px; text-decoration: none;
}
.ps-hub-einordnung-siblings a:hover { background: #dbeafe; color: #1e3a8a; border-color: var(--ps-hub-color, #1f6dcc); }

/* Section 8: Beste Reisezeit (Body) + Macro-Cards */
.ps-tax-section--reisezeit-body { /* base */ }
.ps-hub-reisezeit-body { max-width: 1100px; }
.ps-hub-reisezeit-text { margin: 0 0 14px; font-size: 15px; color: #4b5563; line-height: 1.6; }
.ps-hub-reisezeit-line { margin: 0 0 8px; font-size: 16px; color: #1f2937; }
.ps-hub-reisezeit-line strong { color: #047857; }
.ps-hub-reisezeit-line--soft strong { color: #6b7280; }

/* Macro-Card-Grid: 1-3 Klimazonen pro Region */
.ps-hub-macro-grid {
	display: grid; gap: 14px;
	grid-template-columns: repeat( auto-fill, minmax(280px, 1fr) );
	margin-top: 18px;
}
.ps-hub-macro-card {
	background: #fff; border: 1px solid #e5e7eb; border-left: 4px solid #9ca3af;
	border-radius: 6px; padding: 14px 16px;
}
.ps-hub-macro-card--p { border-left-color: var(--ps-hub-color, #1f6dcc); }
.ps-hub-macro-card--s { border-left-color: #8b5cf6; }
.ps-hub-macro-card--t { border-left-color: #f59e0b; }
.ps-hub-macro-head { margin-bottom: 10px; }
.ps-hub-macro-label { margin: 0; font-size: 17px; font-weight: 700; color: #1f2937; line-height: 1.2; }
.ps-hub-macro-subtitle {
	margin: 2px 0 0; font-size: 12px; color: #6b7280; font-weight: 500;
	letter-spacing: 0.2px;
}
.ps-hub-macro-card--p .ps-hub-macro-subtitle { color: var(--ps-hub-color, #1f6dcc); }
.ps-hub-macro-line { margin: 4px 0; font-size: 14px; color: #374151; line-height: 1.5; }
.ps-hub-macro-line strong { color: #1f2937; }
.ps-hub-macro-note {
	margin: 8px 0 0; font-size: 13px; color: #6b5b22;
	background: #fef9e7; padding: 7px 12px; border-radius: 4px; line-height: 1.5;
}
.ps-hub-macro-note strong { color: #57471c; }

/* AI-generierte Reisezeit-Zusammenfassung unter dem Macro-Grid */
.ps-hub-reisezeit-ai {
	margin: 20px 0 0; padding: 16px 20px;
	background: linear-gradient(135deg, #f0f7fc 0%, #e8f1f8 100%);
	border-left: 4px solid var(--ps-hub-color, #1f6dcc);
	border-radius: 6px;
	font-size: 15px; line-height: 1.65; color: #1f2937;
	max-width: 1100px;
}
.ps-hub-reisezeit-ai-title {
	margin: 0 0 10px; font-size: 16px; font-weight: 700; line-height: 1.3;
	color: var(--ps-hub-color, #1f6dcc);
}
.ps-hub-reisezeit-ai-body { font-size: 15px; line-height: 1.65; color: #1f2937; }
.ps-hub-reisezeit-ai-body p { margin: 0 0 0.9em; }
.ps-hub-reisezeit-ai-body p:last-child { margin-bottom: 0; }
@media (max-width: 640px) {
	.ps-hub-reisezeit-ai { padding: 14px 16px; font-size: 14.5px; }
	.ps-hub-reisezeit-ai-body p { margin: 0 0 1em; }
}

/* Section 9: Sicherheit (Body) */
.ps-tax-section--sicherheit-body { /* base */ }
.ps-hub-sicherheit-body { max-width: 820px; }
.ps-hub-sicherheit-line { margin: 0 0 8px; font-size: 16px; color: #1f2937; }
.ps-hub-sicherheit-line strong { color: var(--ps-hub-color, #1f6dcc); }
.ps-hub-sicherheit-summary { margin: 10px 0; font-size: 15px; color: #374151; line-height: 1.6; }
.ps-hub-sicherheit-quellen { margin: 12px 0 0; font-size: 12px; color: #9ca3af; font-style: italic; }
.ps-hub-sicherheit-quellen a { color: #6b7280; text-decoration: underline; }

/* Section 13: Natur & Schutzgebiete (ANP-Cards) */
.ps-hub-natur-grid {
	display: grid; gap: 14px;
	grid-template-columns: repeat( auto-fill, minmax(260px, 1fr) );
}
.ps-hub-natur-item {
	background: #f0f7f3; border-left: 3px solid #047857;
	padding: 12px 16px; border-radius: 6px;
}
.ps-hub-natur-name { margin: 0 0 4px; font-size: 16px; font-weight: 600; color: #064e3b; }
.ps-hub-natur-cat  { margin: 0 0 4px; font-size: 13px; color: #047857; font-weight: 500; }
.ps-hub-natur-ha   { margin: 0; font-size: 13px; color: #6b7280; }
.ps-hub-natur-quelle {
	margin: 12px 0 0; font-size: 12px; color: #9ca3af; font-style: italic;
}
.ps-hub-natur-quelle a { color: #6b7280; text-decoration: underline; }

/* Section 14: Daten & Quellen Akkordeon */
.ps-hub-quellen {
	max-width: 820px; background: #f9fafb;
	border: 1px solid #e5e7eb; border-radius: 6px; padding: 12px 18px;
}
.ps-hub-quellen-summary {
	cursor: pointer; font-weight: 600; font-size: 14px;
	color: var(--ps-hub-color, #1f6dcc); padding: 4px 0;
}
.ps-hub-quellen-summary:hover { text-decoration: underline; }
.ps-hub-quellen[open] .ps-hub-quellen-summary { margin-bottom: 12px; border-bottom: 1px solid #e5e7eb; padding-bottom: 8px; }
.ps-hub-quellen-list { list-style: none; margin: 0; padding: 0; }
.ps-hub-quellen-item {
	margin: 0 0 10px; padding: 8px 0;
	border-bottom: 1px dotted #e5e7eb;
}
.ps-hub-quellen-item:last-child { border-bottom: none; }
.ps-hub-quellen-name {
	display: block; font-weight: 600; font-size: 14px; color: #1f2937;
	text-decoration: none; margin-bottom: 2px;
}
.ps-hub-quellen-name:hover { color: var(--ps-hub-color, #1f6dcc); text-decoration: underline; }
.ps-hub-quellen-desc { font-size: 13px; color: #4b5563; line-height: 1.5; }
.ps-hub-quellen-stand { margin: 12px 0 0; font-size: 11px; color: #9ca3af; font-style: italic; }

/* Section 16: Weiterführende Links */
.ps-hub-weiter-parent {
	display: inline-block; padding: 8px 16px; background: var(--ps-hub-color, #1f6dcc);
	color: #fff; border-radius: 4px; text-decoration: none; font-weight: 600;
	margin-bottom: 14px;
}
.ps-hub-weiter-parent:hover { background: #15518f; color: #fff; }
.ps-hub-weiter-siblings { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ps-hub-weiter-siblings a {
	display: inline-block; padding: 6px 12px; background: #f3f4f6; color: #1f2937;
	border-radius: 999px; font-size: 14px; text-decoration: none;
}
.ps-hub-weiter-siblings a:hover { background: #dbeafe; color: #1e3a8a; }

/* Responsive */
@media (max-width: 1024px) {
	.ps-hub-layout { grid-template-columns: 1fr; }
	.ps-hub-sidebar { position: static; max-height: none; }
}
@media (max-width: 767px) {
	.ps-tax-stats { gap: 16px; }
	.ps-tax-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
	.ps-tax-card-img { height: 100px; }
}
@media (max-width: 479px) {
	.ps-tax-grid { grid-template-columns: 1fr; }
}

/* ============================================================
 * Section 10 — Anreise & Aufenthaltsdauer (F3, 2026-05-31)
 * ============================================================ */

.ps-tax-section--anreise { margin: 28px 0; }
.ps-hub-anreise-body { display: flex; flex-direction: column; gap: 16px; }

.ps-hub-anreise-table {
	width: 100%; border-collapse: collapse;
	background: #fff; border: 1px solid #e5e7eb; border-radius: 8px;
	overflow: hidden;
}
.ps-hub-anreise-table thead { background: #f9fafb; }
.ps-hub-anreise-table th {
	text-align: left; padding: 10px 14px;
	font-size: 13px; font-weight: 600; color: #6b7280;
	text-transform: uppercase; letter-spacing: 0.4px;
	border-bottom: 1px solid #e5e7eb;
}
.ps-hub-anreise-table td {
	padding: 12px 14px;
	font-size: 15px; color: #1f2937;
	border-bottom: 1px solid #f3f4f6;
}
.ps-hub-anreise-table tbody tr:last-child td { border-bottom: 0; }
.ps-hub-anreise-table tbody tr:hover { background: #f9fafb; }

.ps-hub-anreise-mode {
	display: inline-block;
	padding: 2px 10px; border-radius: 12px;
	font-size: 13px; font-weight: 500;
	background: #eef2ff; color: #4338ca;
}
.ps-hub-anreise-mode--flight { background: #fef3c7; color: #92400e; }
.ps-hub-anreise-mode--bus    { background: #dbeafe; color: #1e40af; }
.ps-hub-anreise-mode--auto   { background: #d1fae5; color: #065f46; }
.ps-hub-anreise-mode--train  { background: #e0e7ff; color: #3730a3; }
.ps-hub-anreise-mode--boat   { background: #cffafe; color: #155e75; }

.ps-hub-anreise-estadia {
	padding: 14px 18px; background: #f9fafb;
	border-left: 3px solid var(--ps-hub-color, #1f6dcc);
	border-radius: 4px;
}
.ps-hub-anreise-estadia-title {
	font-size: 15px; font-weight: 600; margin: 0 0 6px; color: #1f2937;
}
.ps-hub-anreise-estadia-range {
	font-size: 18px; margin: 0; color: var(--ps-hub-color, #1f6dcc);
}
.ps-hub-anreise-estadia-kat {
	font-size: 13px; color: #6b7280; font-weight: normal; margin-left: 8px;
}
.ps-hub-anreise-estadia-avg {
	font-size: 13px; color: #6b7280; margin: 4px 0 0;
}

.ps-hub-anreise-sources {
	font-size: 12px; color: #9ca3af; margin: 4px 0 0;
}

@media (max-width: 767px) {
	.ps-hub-anreise-table th,
	.ps-hub-anreise-table td { padding: 8px 10px; font-size: 14px; }
	.ps-hub-anreise-mode { font-size: 12px; padding: 1px 8px; }
}

/* ============================================================
 * Sehensw-Cluster Beratungsblock (F4, 2026-05-31)
 * ============================================================ */

.ps-hub-sehensw-cluster { margin: 0 0 24px; }
.ps-hub-sehensw-cluster-title {
	font-size: 17px; font-weight: 600; margin: 0 0 12px;
	color: #1f2937;
}
.ps-hub-sehensw-cluster-table {
	width: 100%; border-collapse: collapse;
	background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; overflow: hidden;
}
.ps-hub-sehensw-cluster-table thead { background: #f9fafb; }
.ps-hub-sehensw-cluster-table th {
	text-align: left; padding: 10px 14px;
	font-size: 12px; font-weight: 600; color: #6b7280;
	text-transform: uppercase; letter-spacing: 0.4px;
	border-bottom: 1px solid #e5e7eb;
}
.ps-hub-sehensw-cluster-table td {
	padding: 12px 14px;
	font-size: 14px; color: #1f2937; line-height: 1.5;
	border-bottom: 1px solid #f3f4f6;
	vertical-align: top;
}
.ps-hub-sehensw-cluster-table tbody tr:last-child td { border-bottom: 0; }
.ps-hub-sehensw-cluster-name { font-weight: 600; color: var(--ps-hub-color, #1f6dcc); }
.ps-hub-sehensw-cluster-reise { font-size: 12px; color: #6b7280; }

.ps-hub-cluster-prio, .ps-hub-cluster-typ {
	display: inline-block; padding: 2px 8px; border-radius: 10px;
	font-size: 12px; font-weight: 500; background: #eef2ff; color: #4338ca;
}
.ps-hub-cluster-prio--must   { background: #fee2e2; color: #991b1b; }
.ps-hub-cluster-prio--high   { background: #fef3c7; color: #92400e; }
.ps-hub-cluster-prio--medium { background: #dbeafe; color: #1e40af; }
.ps-hub-cluster-prio--low    { background: #f3f4f6; color: #4b5563; }
.ps-hub-cluster-prio--niche  { background: #f3f4f6; color: #6b7280; }

.ps-hub-cluster-typ--city         { background: #cffafe; color: #155e75; }
.ps-hub-cluster-typ--tagesausflug { background: #dbeafe; color: #1e40af; }
.ps-hub-cluster-typ--mehrtaegig   { background: #ddd6fe; color: #5b21b6; }
.ps-hub-cluster-typ--trekking     { background: #d1fae5; color: #065f46; }
.ps-hub-cluster-typ--combo        { background: #e0e7ff; color: #3730a3; }

.ps-hub-sehensw-cluster-empty { color: #9ca3af; font-style: italic; }
.ps-hub-sehensw-cluster-note {
	font-size: 12px; color: #9ca3af; margin: 8px 0 0;
}

@media (max-width: 767px) {
	.ps-hub-sehensw-cluster-table th,
	.ps-hub-sehensw-cluster-table td { padding: 8px 10px; font-size: 13px; }
	.ps-hub-cluster-prio, .ps-hub-cluster-typ { font-size: 11px; padding: 1px 6px; }
}

/* ============================================================
 * Section 11 — Top-Touren (A2, 2026-05-31)
 * ============================================================ */

.ps-tax-section--top-touren { margin: 28px 0; }
.ps-hub-touren-intro { font-size: 14px; color: #6b7280; margin: 0 0 14px; max-width: 720px; }
.ps-hub-touren-grid {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 16px;
}
.ps-hub-tour-card {
	display: flex; flex-direction: column;
	background: #fff; border: 1px solid #e5e7eb; border-radius: 8px;
	overflow: hidden; text-decoration: none; color: inherit;
	transition: box-shadow 0.2s, transform 0.2s;
}
.ps-hub-tour-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,0.12); transform: translateY(-2px); }
.ps-hub-tour-img { width: 100%; height: 160px; background-size: cover; background-position: center; background-color: #f3f4f6; }
.ps-hub-tour-body { padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.ps-hub-tour-badge {
	display: inline-block; padding: 2px 8px; border-radius: 10px;
	font-size: 11px; font-weight: 500; background: #eef2ff; color: #4338ca; align-self: flex-start;
}
.ps-hub-tour-badge--half_day  { background: #dbeafe; color: #1e40af; }
.ps-hub-tour-badge--day_trip  { background: #d1fae5; color: #065f46; }
.ps-hub-tour-badge--multi_day { background: #ddd6fe; color: #5b21b6; }
.ps-hub-tour-badge--city_tour { background: #cffafe; color: #155e75; }
.ps-hub-tour-badge--food      { background: #fef3c7; color: #92400e; }
.ps-hub-tour-title { font-size: 15px; font-weight: 600; line-height: 1.3; margin: 0; color: #1f2937; }
.ps-hub-tour-meta { display: flex; gap: 10px; font-size: 13px; color: #6b7280; align-items: center; }
.ps-hub-tour-rating { color: #f59e0b; font-weight: 600; }
.ps-hub-tour-reviews, .ps-hub-tour-dur { font-size: 12px; color: #9ca3af; }
.ps-hub-tour-fichas { font-size: 12px; color: #6b7280; margin: 0; font-style: italic; }
.ps-hub-tour-footer {
	display: flex; justify-content: space-between; align-items: center;
	margin-top: auto; padding-top: 8px; border-top: 1px solid #f3f4f6;
}
.ps-hub-tour-price { font-size: 14px; font-weight: 600; color: var(--ps-hub-color, #1f6dcc); }
.ps-hub-tour-cta { font-size: 13px; color: var(--ps-hub-color, #1f6dcc); font-weight: 500; }
.ps-hub-touren-note { font-size: 11px; color: #9ca3af; margin: 10px 0 0; text-align: center; }
.ps-hub-tour-feats { display: flex; gap: 6px; flex-wrap: wrap; margin: 0; }
.ps-hub-tour-feat {
	display: inline-block; padding: 2px 8px; border-radius: 10px;
	font-size: 11px; font-weight: 500;
}
.ps-hub-tour-feat--unesco { background: #fef3c7; color: #92400e; border: 1px solid #fcd34d; }
.ps-hub-tour-feat--j4     { background: #fee2e2; color: #991b1b; border: 1px solid #fca5a5; }
.ps-hub-tour-feat--j3     { background: #fed7aa; color: #9a3412; border: 1px solid #fdba74; }
@media (max-width: 767px) {
	.ps-hub-touren-grid { grid-template-columns: 1fr; }
	.ps-hub-tour-img { height: 140px; }
}
