/* Shared editorial rhythm for articles, QR guides and tour descriptions. */
.article-hero{padding-block:clamp(36px,6vw,76px);background:#f0f5fa;border-bottom:1px solid #dce5ee}
.article-hero h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.12;letter-spacing:-.035em;color:#14294b}
.article-layout{max-width:1200px;gap:clamp(28px,5vw,64px);padding-block:48px;align-items:start}
.article-body,.page-content:not(.elementor),.tour-content>.rich-text{color:#34465b;line-height:1.85;overflow-wrap:anywhere;min-width:0}
.article-body>p:first-of-type,.page-content:not(.elementor)>p:first-of-type{font-size:1.15rem;color:#243b57;line-height:1.8}
.article-body p,.page-content:not(.elementor) p,.tour-content>.rich-text p{margin:0 0 1.35em}
.article-body h2,.page-content:not(.elementor) h2{font-size:clamp(1.35rem,2.5vw,1.85rem);line-height:1.3;color:#14294b;margin:2em 0 .75em;scroll-margin-top:110px}
.article-body h3,.tour-content>.rich-text h3{color:#14294b;font-size:1.15rem;line-height:1.4;margin:1.8em 0 .8em}
.article-body li,.page-content:not(.elementor) li,.tour-content>.rich-text li{padding-left:4px;margin-bottom:.7em}
.article-body a:not(.button),.page-content:not(.elementor) a:not(.button){color:#20578d;text-decoration:underline;text-underline-offset:3px}
.article-body .featured-image{aspect-ratio:16/9;object-fit:cover;border-radius:18px;margin-bottom:28px}
.reading-index{display:block!important;background:#f0f5fa;border:1px solid #dce5ee;border-radius:16px;padding:24px;margin:0 0 32px;width:100%;color:#14294b}
.reading-index strong{font-size:1.05rem}.reading-index ol{margin:14px 0 0;padding-left:22px}.reading-index li:last-child{margin-bottom:0}.reading-index a{display:inline-block;padding-block:4px}
.reading-practical{background:#fff7ed;border-left:4px solid #df7c39;border-radius:0 16px 16px 0;padding:24px;margin-top:36px}.reading-practical h2{margin-top:0}.reading-practical ul{padding-left:20px}.reading-practical p:last-child{margin-bottom:0}
.digital-guide.article-layout{max-width:1100px;grid-template-columns:minmax(0,1fr)}
.digital-guide.article-layout aside{display:none}.digital-guide .guide-print{border-radius:10px;letter-spacing:0;margin-bottom:24px}
.digital-guide .guide-stop{background:#f0f5fa;border:1px solid #dce5ee;border-radius:16px;padding:24px;margin-block:20px}.digital-guide .guide-stop h2{margin-top:0}
.tour-content>.rich-text{max-width:75ch}.tour-content>.rich-text .tour-programme{list-style:none;padding:8px 24px;border-left:3px solid #df7c39;background:#f3f7fb;border-radius:0 14px 14px 0;margin:20px 0 28px}.tour-programme li{padding-block:10px;border-bottom:1px solid #dce5ee}.tour-programme li:last-child{border:0;margin-bottom:0}
.article-body blockquote{margin:28px 0;padding:18px 24px;border-left:3px solid #df7c39;background:#f3f7fb}.article-body table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.article-body td,.article-body th{padding:12px;border:1px solid #dce5ee;text-align:left}
@media(max-width:767px){.article-layout{padding:28px 20px}.reading-index,.reading-practical,.digital-guide .guide-stop{padding:20px}.article-body{font-size:16px}.article-body h2{scroll-margin-top:90px}.article-body .featured-image{border-radius:12px}.tour-content>.rich-text .tour-programme{padding-inline:16px}}
@media print{.reading-index,.guide-print{display:none!important}.article-hero{background:white;padding:16px}.article-hero h1{font-size:26pt}.article-body,.page-content:not(.elementor){color:black;line-height:1.5}.article-body h2{break-after:avoid;font-size:17pt}.reading-practical,.guide-stop{background:white;break-inside:avoid}.digital-guide .featured-image{max-height:180px}.article-layout{padding:16px}}

.partner-description{color:#34465b;line-height:1.85;max-width:75ch}.partner-description p{margin:0 0 1.35em}.partner-description h3{font-size:1.2rem;color:#14294b;margin:1.8em 0 .8em}.partner-description li{margin-bottom:.7em}
.page-content.elementor .elementor-widget-text-editor{line-height:1.85;color:#34465b}.page-content.elementor .elementor-widget-text-editor p{margin-bottom:1.25em}.page-content.elementor .elementor-widget-heading h2{line-height:1.25;letter-spacing:-.02em}
