/*
 * Tilburg112 1.0.49.0 — consolidated mobile-first rebuild.
 * This file replaces the former mobile-single-fix and mobile-site-overhaul layers.
 */

:root {
  --t112-mobile-bg: #f2f5f8;
  --t112-mobile-surface: #ffffff;
  --t112-mobile-surface-soft: #f7f9fc;
  --t112-mobile-text: #07111f;
  --t112-mobile-muted: #64748b;
  --t112-mobile-line: rgba(15, 23, 42, .09);
  --t112-mobile-shadow: 0 10px 28px rgba(15, 23, 42, .075);
  --t112-mobile-radius: 18px;
  --t112-mobile-nav-height: 66px;
}

html.t112-dark {
  --t112-mobile-bg: #07111f;
  --t112-mobile-surface: #0f1b2d;
  --t112-mobile-surface-soft: #142238;
  --t112-mobile-text: #f8fafc;
  --t112-mobile-muted: #b8c5d6;
  --t112-mobile-line: #2a3b52;
  --t112-mobile-shadow: 0 12px 30px rgba(0, 0, 0, .24);
}

@media (max-width: 1024px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  html {
    scroll-padding-top: 82px;
  }

  body {
    background: var(--t112-mobile-bg) !important;
  }

  img,
  video,
  iframe,
  embed,
  object,
  svg,
  canvas {
    max-width: 100%;
  }

  .container,
  .narrow-container,
  .site-main .container,
  .single-main .container,
  .t112-clean-container,
  .snd-pr-shell {
    width: min(calc(100% - 24px), var(--t112-container)) !important;
    max-width: 100% !important;
    margin-inline: auto !important;
  }

  .site-main {
    padding: 18px 0 42px !important;
  }

  .main-layout,
  .single-layout,
  .main-layout.has-sidebar,
  .main-layout.has-no-sidebar,
  .single-layout.has-sidebar,
  .single-layout.has-no-sidebar,
  .footer-top,
  .footer-widgets,
  .t112-contact-grid,
  .t112-contact-main-actions,
  .t112-contact-route-grid,
  .t112-contact-social-grid,
  .t112-disclaimer-layout,
  .t112-dossiers-grid,
  .t112-dossier-post-grid,
  .t112-loc-index,
  .t112-loc-grid,
  .snd-pr-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .site-sidebar,
  .t112-premium-side-modules,
  .snd-pr-side {
    position: static !important;
    top: auto !important;
    width: 100% !important;
  }

  .site-sidebar {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-top: 20px !important;
  }

  .breadcrumbs {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    max-width: 100% !important;
    margin: 0 0 12px !important;
    padding: 2px 0 6px !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    scrollbar-width: none;
  }

  .breadcrumbs::-webkit-scrollbar {
    display: none;
  }

  .breadcrumbs > * {
    flex: 0 0 auto;
  }

  table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  pre,
  code {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  /* Touch devices should not wait for reveal animations or content-visibility. */
  .t112-js .t112-reveal,
  .t112-js .news-card,
  .t112-js .compact-post,
  .t112-js .related-posts,
  .t112-js .sidebar-widget,
  .t112-js .t112-premium-module {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
    transition-delay: 0s !important;
    will-change: auto !important;
  }

  .news-card,
  .compact-post,
  .related-posts,
  .sidebar-section,
  .persportal-gallery-under-text,
  .site-footer,
  .article-content > *,
  img[loading="lazy"] {
    content-visibility: visible !important;
    contain: none !important;
    contain-intrinsic-size: auto !important;
  }

  a:hover,
  .news-card:hover,
  .t112-clean-news-card:hover,
  .t112-clean-top-link:hover,
  .t112-clean-actions a:hover {
    transform: none !important;
  }
}

@media (max-width: 820px) {
  body {
    padding-bottom: calc(var(--t112-mobile-nav-height) + env(safe-area-inset-bottom) + 12px) !important;
  }

  .top-strip,
  .breaking-bar,
  .latest-ticker {
    display: none !important;
  }

  .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1005 !important;
    margin: 0 !important;
  }

  body.admin-bar .site-header {
    top: 0 !important;
  }

  .masthead {
    background: linear-gradient(135deg, #07111f, #101c30) !important;
    box-shadow: 0 8px 24px rgba(2, 6, 23, .2) !important;
  }

  .masthead-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 70px !important;
    padding: 8px 0 !important;
  }

  .brand-block,
  .text-logo,
  .header-actions {
    min-width: 0 !important;
  }

  .text-logo-main {
    display: block !important;
    max-width: 100% !important;
    font-size: clamp(29px, 9.5vw, 39px) !important;
    line-height: .9 !important;
    letter-spacing: -.055em !important;
    white-space: nowrap !important;
  }

  .text-logo-sub,
  .header-search,
  .header-tip-button {
    display: none !important;
  }

  .header-actions {
    display: flex !important;
    justify-content: flex-end !important;
    margin: 0 !important;
  }

  .menu-toggle {
    display: inline-flex !important;
    position: relative !important;
    z-index: 1008 !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, .08) !important;
    box-shadow: none !important;
  }

  .menu-toggle span:not(.screen-reader-text) {
    width: 21px !important;
    height: 2px !important;
  }

  .main-navigation {
    display: block !important;
    position: fixed !important;
    inset: 0 0 0 auto !important;
    z-index: 1007 !important;
    width: min(90vw, 380px) !important;
    height: 100dvh !important;
    max-height: none !important;
    padding: 80px 14px calc(24px + env(safe-area-inset-bottom)) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    visibility: hidden !important;
    opacity: 0 !important;
    transform: translate3d(104%, 0, 0) !important;
    transition: transform .24s ease, opacity .2s ease, visibility 0s linear .24s !important;
    background: linear-gradient(180deg, #07111f, #0d1a2d) !important;
    border: 0 !important;
    box-shadow: -22px 0 56px rgba(2, 6, 23, .44) !important;
  }

  .main-navigation.is-open {
    visibility: visible !important;
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
    transition-delay: 0s !important;
  }

  .main-navigation .nav-inner {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  .mobile-menu-search {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 6px !important;
    width: 100% !important;
    margin: 0 0 14px !important;
    padding: 6px !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, .08) !important;
  }

  .mobile-menu-search input,
  .mobile-menu-search input[type="search"] {
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    padding: 0 12px !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: #ffffff !important;
    color: #07111f !important;
    font-size: 16px !important;
  }

  .mobile-menu-search button {
    min-width: 68px !important;
    min-height: 42px !important;
    padding: 0 12px !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: #ffd60a !important;
    color: #07111f !important;
  }

  .main-navigation ul,
  .main-navigation .menu {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .main-navigation li {
    display: block !important;
    width: 100% !important;
  }

  .main-navigation a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 49px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(255, 255, 255, .08) !important;
    border-radius: 13px !important;
    background: rgba(255, 255, 255, .94) !important;
    color: #07111f !important;
    font-size: 15px !important;
    font-weight: 850 !important;
  }

  .main-navigation .sub-menu {
    display: grid !important;
    position: static !important;
    width: 100% !important;
    margin: 6px 0 0 !important;
    padding: 0 0 0 12px !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .main-navigation .sub-menu a {
    min-height: 43px !important;
    background: rgba(255, 255, 255, .82) !important;
    font-size: 14px !important;
  }

  .t112-menu-backdrop {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 1006 !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    background: rgba(2, 6, 23, .55) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .2s ease, visibility 0s linear .2s !important;
  }

  body.menu-open .t112-menu-backdrop {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition-delay: 0s !important;
  }

  body.menu-open {
    overflow: hidden !important;
  }

  /* One and only one bottom navigation. */
  .t112-mobile-app-nav,
  .t112-floating-tip,
  .t112-dark-toggle,
  #t112-floating-tip-hardfix,
  #t112-floating-tip-hardfix-js {
    display: none !important;
  }

  .t112-mobile-bottom .t112-dark-toggle {
    display: grid !important;
  }

  .t112-mobile-bottom {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    position: fixed !important;
    inset: auto 0 0 0 !important;
    z-index: 10010 !important;
    width: 100% !important;
    min-height: calc(var(--t112-mobile-nav-height) + env(safe-area-inset-bottom)) !important;
    padding: 6px max(8px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)) !important;
    border-top: 1px solid rgba(15, 23, 42, .12) !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 -10px 28px rgba(15, 23, 42, .14) !important;
    backdrop-filter: blur(18px) saturate(1.2) !important;
  }

  .t112-mobile-bottom-item,
  .t112-mobile-bottom > a,
  .t112-mobile-bottom > button {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: grid !important;
    grid-template-rows: 27px 18px !important;
    place-items: center !important;
    gap: 1px !important;
    min-width: 0 !important;
    min-height: 53px !important;
    margin: 0 !important;
    padding: 3px 2px !important;
    border: 0 !important;
    border-radius: 13px !important;
    background: transparent !important;
    color: #64748b !important;
    box-shadow: none !important;
    font: inherit !important;
    text-decoration: none !important;
    cursor: pointer !important;
  }

  .t112-mobile-bottom-item > span,
  .t112-mobile-bottom > a > span,
  .t112-mobile-bottom > button > span {
    display: grid !important;
    place-items: center !important;
    width: 27px !important;
    height: 27px !important;
    margin: 0 !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: inherit !important;
    font-size: 20px !important;
    line-height: 1 !important;
  }

  .t112-mobile-bottom-item > b,
  .t112-mobile-bottom > a > b,
  .t112-mobile-bottom > button > b {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    color: inherit !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .t112-mobile-bottom-item.is-current,
  .t112-mobile-bottom-item.is-tip,
  .t112-mobile-bottom > a.is-current,
  .t112-mobile-bottom > a.is-tip {
    color: #07111f !important;
    background: rgba(255, 214, 10, .2) !important;
  }

  .t112-mobile-bottom-item.is-tip > span {
    background: #ffd60a !important;
    color: #07111f !important;
  }

  .t112-mobile-bottom-item.is-live > span {
    color: #e30613 !important;
  }

  html.t112-dark .t112-mobile-bottom {
    border-top-color: #2a3b52 !important;
    background: rgba(10, 22, 38, .97) !important;
    box-shadow: 0 -10px 28px rgba(0, 0, 0, .32) !important;
  }

  html.t112-dark .t112-mobile-bottom-item,
  html.t112-dark .t112-mobile-bottom > a,
  html.t112-dark .t112-mobile-bottom > button {
    color: #b8c5d6 !important;
  }

  html.t112-dark .t112-mobile-bottom-item.is-current,
  html.t112-dark .t112-mobile-bottom-item.is-tip {
    color: #ffffff !important;
    background: rgba(255, 214, 10, .14) !important;
  }

  /* Homepage */
  body.home .site-main,
  body.blog .site-main,
  .t112-home-main {
    padding-top: 12px !important;
  }

  .t112-clean-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    margin: 0 0 12px !important;
  }

  .t112-clean-hero-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    min-height: 0 !important;
    height: auto !important;
    border: 1px solid var(--t112-mobile-line) !important;
    border-radius: var(--t112-mobile-radius) !important;
    background: var(--t112-mobile-surface) !important;
    box-shadow: var(--t112-mobile-shadow) !important;
  }

  .t112-clean-hero-media {
    display: block !important;
    aspect-ratio: 16 / 10 !important;
    min-height: 0 !important;
    height: auto !important;
    background: #dbe4ee !important;
  }

  .t112-clean-hero-media img,
  .t112-clean-hero-image,
  .t112-clean-hero-media .post-thumb,
  .t112-clean-hero-media .thumb-placeholder {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
  }

  .t112-clean-hero-copy {
    display: grid !important;
    gap: 10px !important;
    padding: 18px !important;
    background: var(--t112-mobile-surface) !important;
    color: var(--t112-mobile-text) !important;
  }

  .t112-clean-hero-copy h1 {
    margin: 0 !important;
    font-size: clamp(2rem, 8vw, 2.8rem) !important;
    line-height: .98 !important;
    letter-spacing: -.052em !important;
    text-wrap: pretty !important;
  }

  .t112-clean-hero-copy p {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 4 !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: var(--t112-mobile-muted) !important;
    font-size: .98rem !important;
    line-height: 1.58 !important;
  }

  .t112-clean-hero-meta {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin: 0 !important;
  }

  .t112-clean-read {
    min-height: 42px !important;
    padding: 0 14px !important;
    white-space: nowrap !important;
  }

  .t112-clean-side {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 9px !important;
    width: 100% !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .t112-clean-side-title,
  .t112-clean-top-link {
    border: 1px solid var(--t112-mobile-line) !important;
    border-radius: 16px !important;
    background: var(--t112-mobile-surface) !important;
    box-shadow: var(--t112-mobile-shadow) !important;
  }

  .t112-clean-side-title {
    padding: 14px 15px !important;
  }

  .t112-clean-side-title strong {
    margin-top: 6px !important;
    color: var(--t112-mobile-text) !important;
    font-size: 1.2rem !important;
  }

  .t112-clean-top-card {
    min-width: 0 !important;
    width: 100% !important;
  }

  .t112-clean-top-link {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    min-height: 106px !important;
    overflow: hidden !important;
  }

  .t112-clean-top-copy {
    min-width: 0 !important;
    padding: 11px 12px !important;
  }

  .t112-clean-top-copy strong {
    color: var(--t112-mobile-text) !important;
    font-size: 1rem !important;
    line-height: 1.12 !important;
    -webkit-line-clamp: 3 !important;
  }

  .t112-clean-top-copy small {
    color: var(--t112-mobile-muted) !important;
    font-size: .72rem !important;
  }

  .t112-clean-actions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 0 12px !important;
  }

  .t112-clean-actions a {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 32px auto !important;
    justify-items: center !important;
    align-content: center !important;
    gap: 6px !important;
    min-width: 0 !important;
    min-height: 74px !important;
    padding: 8px 4px !important;
    overflow: hidden !important;
    border: 1px solid var(--t112-mobile-line) !important;
    border-radius: 15px !important;
    background: var(--t112-mobile-surface) !important;
    box-shadow: 0 7px 18px rgba(15, 23, 42, .055) !important;
    text-align: center !important;
    contain: layout paint !important;
  }

  .t112-clean-actions a > span {
    grid-row: auto !important;
    width: 32px !important;
    height: 32px !important;
    margin: 0 !important;
    border-radius: 10px !important;
    background: #07111f !important;
    color: #ffd60a !important;
    font-size: 15px !important;
  }

  .t112-clean-actions a strong {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    overflow-wrap: anywhere !important;
    color: var(--t112-mobile-text) !important;
    font-size: clamp(.68rem, 2.9vw, .82rem) !important;
    line-height: 1.08 !important;
  }

  .t112-clean-actions a small {
    display: none !important;
  }

  .t112-clean-actions a[data-t112-latest-news-tab] {
    border-color: #07111f !important;
    background: #07111f !important;
  }

  .t112-clean-actions a[data-t112-latest-news-tab] strong {
    color: #ffffff !important;
  }

  .t112-clean-actions a[data-t112-latest-news-tab] > span {
    background: #ffd60a !important;
    color: #07111f !important;
  }

  #laatste-berichten {
    scroll-margin-top: 80px !important;
  }

  .t112-clean-feed,
  .content-feed {
    width: 100% !important;
    min-width: 0 !important;
    padding: 15px !important;
    border: 1px solid var(--t112-mobile-line) !important;
    border-radius: var(--t112-mobile-radius) !important;
    background: var(--t112-mobile-surface) !important;
    box-shadow: var(--t112-mobile-shadow) !important;
  }

  .t112-clean-feed-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 11px !important;
    margin: 0 0 12px !important;
    padding: 0 0 12px !important;
  }

  .t112-clean-feed-head h1 {
    max-width: none !important;
    margin: 8px 0 0 !important;
    font-size: clamp(1.75rem, 7.5vw, 2.35rem) !important;
    line-height: 1 !important;
  }

  .t112-clean-feed-search,
  .search-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 5px !important;
    border-radius: 15px !important;
  }

  .t112-clean-feed-search input,
  .search-form input[type="search"] {
    width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    padding: 0 10px !important;
    font-size: 16px !important;
  }

  .t112-clean-feed-search button,
  .search-form button {
    min-height: 40px !important;
    padding: 0 13px !important;
    white-space: nowrap !important;
  }

  .t112-clean-topic-row,
  .t112-regio-place-pills,
  .cat-badges,
  .tag-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 7px !important;
    max-width: 100% !important;
    margin-bottom: 12px !important;
    padding: 0 0 5px !important;
    overflow-x: auto !important;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .t112-clean-topic-row::-webkit-scrollbar,
  .t112-regio-place-pills::-webkit-scrollbar,
  .cat-badges::-webkit-scrollbar,
  .tag-list::-webkit-scrollbar {
    display: none;
  }

  .t112-clean-topic-row > *,
  .t112-regio-place-pills > *,
  .cat-badges > *,
  .tag-list > * {
    flex: 0 0 auto !important;
  }

  .t112-clean-news-grid,
  .news-grid,
  .archive-grid,
  .related-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  .t112-clean-news-card,
  .news-card {
    display: grid !important;
    grid-template-columns: 116px minmax(0, 1fr) !important;
    min-height: 112px !important;
    overflow: hidden !important;
    border: 1px solid var(--t112-mobile-line) !important;
    border-radius: 16px !important;
    background: var(--t112-mobile-surface) !important;
    box-shadow: 0 7px 18px rgba(15, 23, 42, .055) !important;
  }

  .t112-clean-news-card .t112-clean-card-media,
  .news-card .card-media {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 112px !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
    background: #dbe4ee !important;
  }

  .t112-clean-news-card .t112-clean-card-media img,
  .news-card .card-media img,
  .news-card .post-thumb,
  .news-card .thumb-placeholder {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .t112-clean-news-card .t112-clean-card-body,
  .news-card .card-body {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 6px !important;
    min-width: 0 !important;
    padding: 10px 11px !important;
  }

  .t112-clean-news-card .card-title,
  .news-card .card-title {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: var(--t112-mobile-text) !important;
    font-size: 1rem !important;
    line-height: 1.12 !important;
    letter-spacing: -.025em !important;
  }

  .t112-clean-news-card .entry-meta,
  .news-card .entry-meta {
    margin: 0 !important;
    color: var(--t112-mobile-muted) !important;
    font-size: .7rem !important;
    line-height: 1.35 !important;
  }

  .t112-clean-news-card .card-excerpt,
  .t112-clean-news-card .t112-clean-more,
  .news-card .card-excerpt,
  .news-card .read-more {
    display: none !important;
  }

  .pagination,
  .nav-links {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 6px !important;
    margin-top: 18px !important;
  }

  .pagination a,
  .pagination span,
  .page-numbers {
    min-width: 39px !important;
    min-height: 39px !important;
    padding: 0 9px !important;
  }

  /* Articles */
  .single-main {
    padding-top: 12px !important;
  }

  .single-header {
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 17px 15px !important;
    border: 1px solid var(--t112-mobile-line) !important;
    border-radius: var(--t112-mobile-radius) !important;
    background: var(--t112-mobile-surface) !important;
    box-shadow: var(--t112-mobile-shadow) !important;
    text-align: left !important;
  }

  .single-header::before,
  .single-header::after {
    display: none !important;
  }

  .single-header .cat-badges,
  .single-header .entry-meta {
    justify-content: flex-start !important;
  }

  .single-title {
    margin: 10px 0 12px !important;
    color: var(--t112-mobile-text) !important;
    font-size: clamp(2rem, 8.6vw, 2.8rem) !important;
    line-height: .98 !important;
    letter-spacing: -.052em !important;
    overflow-wrap: anywhere !important;
    text-wrap: pretty !important;
  }

  .single-location {
    margin: 0 0 10px !important;
    color: var(--t112-mobile-muted) !important;
  }

  .single-featured {
    width: 100% !important;
    margin: 0 0 12px !important;
    overflow: hidden !important;
    border-radius: var(--t112-mobile-radius) !important;
    background: #07111f !important;
    box-shadow: var(--t112-mobile-shadow) !important;
  }

  .single-featured-media,
  .single-featured.has-video-hero .single-featured-video-media {
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 10 !important;
  }

  .single-featured-image,
  .single-featured img,
  .single-featured-media img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: cover !important;
  }

  .single-featured-credit,
  .t112-photo-credit-card {
    padding: 12px 13px !important;
    border-radius: 0 !important;
  }

  .share-box {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 13px !important;
    border: 1px solid var(--t112-mobile-line) !important;
    border-radius: 16px !important;
    background: var(--t112-mobile-surface) !important;
    box-shadow: var(--t112-mobile-shadow) !important;
  }

  .share-box > * {
    max-width: 100% !important;
  }

  .share-links,
  .share-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
  }

  .single-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  .article-content-wrap {
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .article-content,
  .page-main .article-content,
  .page-content,
  .entry-content {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 19px 17px !important;
    border: 1px solid var(--t112-mobile-line) !important;
    border-radius: var(--t112-mobile-radius) !important;
    background: var(--t112-mobile-surface) !important;
    color: var(--t112-mobile-text) !important;
    box-shadow: var(--t112-mobile-shadow) !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
  }

  .article-content p,
  .entry-content p,
  .page-content p {
    margin: 0 0 1.15em !important;
    font-size: 1rem !important;
    line-height: 1.72 !important;
  }

  .article-content h2,
  .article-content h3,
  .entry-content h2,
  .entry-content h3,
  .page-content h2,
  .page-content h3 {
    margin-top: 1.35em !important;
    font-size: clamp(1.45rem, 6vw, 1.9rem) !important;
    line-height: 1.1 !important;
    overflow-wrap: anywhere !important;
  }

  .article-content figure,
  .entry-content figure,
  .page-content figure,
  .wp-block-image {
    max-width: 100% !important;
    margin-inline: 0 !important;
  }

  .article-content iframe,
  .article-content video,
  .wp-block-embed__wrapper,
  .wp-block-embed__wrapper iframe {
    width: 100% !important;
    max-width: 100% !important;
  }

  .article-content blockquote {
    margin-inline: 0 !important;
    padding: 14px 14px 14px 17px !important;
  }

  .t112-article-tip-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 13px !important;
    width: 100% !important;
    margin: 14px 0 0 !important;
    padding: 19px 17px !important;
    border-radius: var(--t112-mobile-radius) !important;
    background: radial-gradient(circle at 100% 0%, rgba(255, 214, 10, .22), transparent 34%), linear-gradient(135deg, #07111f, #111827) !important;
    box-shadow: var(--t112-mobile-shadow) !important;
  }

  .t112-article-tip-card h2 {
    margin: 10px 0 7px !important;
    color: #ffffff !important;
    font-size: clamp(1.75rem, 7.4vw, 2.25rem) !important;
    line-height: 1 !important;
  }

  .t112-article-tip-card p {
    margin: 0 !important;
    color: rgba(255, 255, 255, .78) !important;
    font-size: .96rem !important;
    line-height: 1.6 !important;
  }

  .t112-article-tip-button {
    width: 100% !important;
    min-height: 48px !important;
    border-radius: 14px !important;
  }

  .persportal-gallery,
  .persportal-gallery-under-text {
    width: 100% !important;
    max-width: 100% !important;
    margin: 14px 0 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--t112-mobile-line) !important;
    border-radius: var(--t112-mobile-radius) !important;
    background: var(--t112-mobile-surface) !important;
    box-shadow: var(--t112-mobile-shadow) !important;
  }

  .persportal-gallery-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 9px !important;
    min-height: 0 !important;
    padding: 15px !important;
    border-radius: 0 !important;
  }

  .persportal-gallery-head h2 {
    margin: 0 !important;
    font-size: clamp(1.65rem, 7vw, 2.2rem) !important;
    line-height: 1 !important;
  }

  .persportal-gallery-head strong {
    min-height: 31px !important;
    padding: 5px 9px !important;
    font-size: .75rem !important;
  }

  .persportal-gallery-stage {
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    min-height: 0 !important;
    border-radius: 0 !important;
    background: #020617 !important;
  }

  .persportal-gallery-stage .gallery-open,
  .persportal-gallery-stage .gallery-main-image,
  .persportal-gallery-stage img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  .persportal-gallery-photo-info {
    display: grid !important;
    gap: 6px !important;
    padding: 12px 14px !important;
    background: var(--t112-mobile-surface) !important;
  }

  .persportal-gallery-thumbs {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 10px !important;
    overflow-x: auto !important;
    background: var(--t112-mobile-surface-soft) !important;
    scrollbar-width: none;
  }

  .persportal-gallery-thumbs::-webkit-scrollbar {
    display: none;
  }

  .gallery-thumb {
    flex: 0 0 72px !important;
    width: 72px !important;
    height: 58px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
  }

  .gallery-nav {
    width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
  }

  .post-navigation-custom {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    margin-top: 14px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .post-navigation-custom > div,
  .post-navigation-custom a {
    width: 100% !important;
    min-width: 0 !important;
  }

  .post-navigation-custom a {
    display: block !important;
    padding: 14px !important;
    border: 1px solid var(--t112-mobile-line) !important;
    border-radius: 15px !important;
    background: var(--t112-mobile-surface) !important;
    color: var(--t112-mobile-text) !important;
    box-shadow: var(--t112-mobile-shadow) !important;
  }

  .related-posts,
  .comments-area {
    width: 100% !important;
    margin: 14px 0 0 !important;
    padding: 15px !important;
    border: 1px solid var(--t112-mobile-line) !important;
    border-radius: var(--t112-mobile-radius) !important;
    background: var(--t112-mobile-surface) !important;
    box-shadow: var(--t112-mobile-shadow) !important;
  }

  .related-posts .news-card,
  .related-grid .news-card,
  .t112-place-related-card.news-card {
    grid-template-columns: 98px minmax(0, 1fr) !important;
    min-height: 100px !important;
  }

  /* Archives, search, region and location pages. */
  .archive-header,
  .search-header,
  .page-header,
  .t112-regio-intro,
  .t112-regio-overview,
  .t112-regio-posts,
  .t112-loc-hero,
  .t112-loc-list,
  .t112-404-hero,
  .t112-404-card,
  .t112-404-search-card {
    width: 100% !important;
    margin-bottom: 14px !important;
    padding: 17px 15px !important;
    border: 1px solid var(--t112-mobile-line) !important;
    border-radius: var(--t112-mobile-radius) !important;
    background: var(--t112-mobile-surface) !important;
    color: var(--t112-mobile-text) !important;
    box-shadow: var(--t112-mobile-shadow) !important;
  }

  .archive-title,
  .page-title,
  .t112-loc-hero h1,
  .t112-404-copy h1 {
    font-size: clamp(2rem, 8vw, 2.75rem) !important;
    line-height: .98 !important;
    overflow-wrap: anywhere !important;
  }

  .t112-regio-filterbar,
  .t112-regio-place-pills {
    max-width: 100% !important;
  }

  .t112-regio-post-card,
  .t112-loc-card {
    display: grid !important;
    grid-template-columns: 108px minmax(0, 1fr) !important;
    min-height: 106px !important;
    overflow: hidden !important;
    border: 1px solid var(--t112-mobile-line) !important;
    border-radius: 16px !important;
    background: var(--t112-mobile-surface) !important;
    color: var(--t112-mobile-text) !important;
    box-shadow: 0 7px 18px rgba(15, 23, 42, .055) !important;
  }

  .t112-regio-post-thumb,
  .t112-loc-thumb {
    width: 100% !important;
    height: 100% !important;
    min-height: 106px !important;
  }

  .t112-regio-post-thumb img,
  .t112-loc-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .t112-regio-post-copy,
  .t112-loc-card > span:last-child,
  .t112-loc-card > div {
    min-width: 0 !important;
    padding: 11px 12px !important;
  }

  .t112-regio-post-copy h2,
  .t112-loc-card h2,
  .t112-loc-card strong {
    font-size: 1rem !important;
    line-height: 1.12 !important;
  }

  .t112-loc-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
    margin-bottom: 14px !important;
  }

  .t112-loc-stats > div {
    min-width: 0 !important;
    padding: 12px 7px !important;
    border: 1px solid var(--t112-mobile-line) !important;
    border-radius: 14px !important;
    background: var(--t112-mobile-surface) !important;
    text-align: center !important;
  }

  .t112-loc-stats strong,
  .t112-loc-stats span {
    overflow-wrap: anywhere !important;
  }

  /* Contact, FAQ, legal and standard pages. */
  .t112-contact-hero,
  .t112-disclaimer-hero,
  .t112-dossiers-hero,
  .t112-team-hero,
  .snd-pr-page-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 13px !important;
    margin-bottom: 14px !important;
    padding: 21px 17px !important;
    border-radius: 21px !important;
  }

  .t112-contact-hero h1,
  .t112-disclaimer-hero h1,
  .t112-dossiers-hero h1,
  .t112-team-hero h1,
  .snd-pr-page-head h1 {
    margin: 0 !important;
    font-size: clamp(2rem, 8.5vw, 2.8rem) !important;
    line-height: .98 !important;
    overflow-wrap: anywhere !important;
  }

  .t112-contact-card,
  .t112-contact-panel,
  .t112-contact-mini-card,
  .t112-disclaimer-short,
  .t112-disclaimer-short-card,
  .t112-disclaimer-highlights,
  .t112-disclaimer-help-strip,
  .t112-disclaimer-sidebar-card,
  .t112-disclaimer-contact-card,
  .t112-disclaimer-content-wrap,
  .t112-disclaimer-document-card,
  .t112-disclaimer-bottom-cta,
  .faq-card,
  .faq-section,
  .t112-dossier-card,
  .t112-dossier-post-card,
  .snd-pr-card,
  .snd-pr-side-card {
    min-width: 0 !important;
    padding: 16px !important;
    border: 1px solid var(--t112-mobile-line) !important;
    border-radius: var(--t112-mobile-radius) !important;
    background: var(--t112-mobile-surface) !important;
    color: var(--t112-mobile-text) !important;
    box-shadow: var(--t112-mobile-shadow) !important;
  }

  .t112-contact-grid,
  .t112-contact-main-actions,
  .t112-contact-route-grid,
  .t112-contact-social-grid,
  .t112-disclaimer-highlights,
  .t112-disclaimer-short,
  .snd-pr-grid,
  .snd-pr-side {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  .t112-disclaimer-sidebar {
    display: none !important;
  }

  .t112-disclaimer-mobile-nav {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 7px !important;
    max-width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 0 5px !important;
    overflow-x: auto !important;
    scrollbar-width: none;
  }

  .t112-disclaimer-mobile-nav::-webkit-scrollbar {
    display: none;
  }

  .t112-disclaimer-content-wrap,
  .t112-disclaimer-document-card,
  .t112-disclaimer-content {
    max-width: 100% !important;
  }

  .t112-disclaimer-content {
    padding: 0 !important;
  }

  .faq-question,
  summary {
    min-height: 48px !important;
    padding: 12px 13px !important;
  }

  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="search"],
  input[type="url"],
  input[type="number"],
  input[type="date"],
  input[type="time"],
  select,
  textarea,
  .snd-pr-page input,
  .snd-pr-page select,
  .snd-pr-page textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    font-size: 16px !important;
    border-radius: 13px !important;
  }

  textarea {
    min-height: 120px !important;
  }

  button,
  .button,
  input[type="submit"],
  .wp-element-button,
  .snd-pr-btn {
    min-height: 46px !important;
    border-radius: 13px !important;
  }

  .snd-pr-page {
    padding: 12px 0 36px !important;
    background: var(--t112-mobile-bg) !important;
  }

  .snd-pr-full {
    grid-column: auto !important;
  }

  .snd-pr-choices {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 7px !important;
  }

  .snd-pr-choices label {
    width: 100% !important;
    border-radius: 13px !important;
  }

  .snd-pr-check {
    width: 100% !important;
  }

  .snd-pr-btn {
    width: 100% !important;
  }

  /* Footer */
  .site-footer {
    margin-top: 20px !important;
    padding-bottom: 8px !important;
  }

  .footer-top,
  .footer-widgets,
  .footer-bottom,
  .footer-legal,
  .t112-footer-v34-legal {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
  }

  .footer-menu,
  .footer-links,
  .social-links {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 12px !important;
  }

  .site-footer a,
  .site-footer p,
  .site-footer span {
    overflow-wrap: anywhere !important;
  }

  .t112-alert-modal,
  .t112-municipality-alert-modal {
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100dvh - var(--t112-mobile-nav-height) - 30px) !important;
    overflow-y: auto !important;
  }
}

@media (max-width: 520px) {
  .container,
  .narrow-container,
  .site-main .container,
  .single-main .container,
  .t112-clean-container,
  .snd-pr-shell {
    width: calc(100% - 16px) !important;
  }

  .masthead-inner {
    min-height: 66px !important;
  }

  .text-logo-main {
    font-size: clamp(27px, 10.5vw, 34px) !important;
  }

  .main-navigation {
    width: 100vw !important;
    max-width: none !important;
  }

  .t112-clean-hero-copy,
  .single-header,
  .article-content,
  .page-main .article-content,
  .page-content,
  .entry-content,
  .t112-contact-card,
  .t112-contact-panel,
  .t112-disclaimer-content-wrap,
  .t112-disclaimer-document-card,
  .snd-pr-card,
  .snd-pr-side-card {
    padding: 15px !important;
  }

  .t112-clean-top-link,
  .t112-clean-news-card,
  .news-card,
  .t112-regio-post-card,
  .t112-loc-card {
    grid-template-columns: 96px minmax(0, 1fr) !important;
    min-height: 98px !important;
  }

  .t112-clean-news-card .t112-clean-card-media,
  .news-card .card-media,
  .t112-regio-post-thumb,
  .t112-loc-thumb {
    min-height: 98px !important;
  }

  .t112-clean-news-card .card-title,
  .news-card .card-title,
  .t112-clean-top-copy strong {
    font-size: .94rem !important;
    -webkit-line-clamp: 3 !important;
  }

  .t112-premium-front-labels-cleancard .t112-premium-chip,
  .t112-premium-front-labels-cleantop .t112-premium-chip {
    min-height: 21px !important;
    padding: 0 6px !important;
    font-size: 8px !important;
  }

  .t112-clean-actions {
    gap: 6px !important;
  }

  .t112-clean-actions a {
    min-height: 70px !important;
  }

  .t112-clean-actions a strong {
    font-size: .68rem !important;
  }

  .t112-clean-feed,
  .content-feed {
    padding: 13px !important;
  }

  .t112-clean-feed-search,
  .search-form {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .t112-clean-feed-search button,
  .search-form button {
    width: 100% !important;
  }

  .t112-clean-hero-meta {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .t112-clean-read {
    width: 100% !important;
  }

  .persportal-gallery-head {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .persportal-gallery-head strong {
    justify-self: start !important;
  }

  .t112-loc-stats {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .t112-mobile-bottom-item > b,
  .t112-mobile-bottom > a > b,
  .t112-mobile-bottom > button > b {
    font-size: 9px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

@media print {
  .t112-mobile-bottom,
  .main-navigation,
  .menu-toggle,
  .t112-menu-backdrop {
    display: none !important;
  }

  body {
    padding-bottom: 0 !important;
  }
}
