/* v1.0.48.0 - broad mobile overhaul */
@media (max-width: 960px) {
  html {
    scroll-padding-top: 78px;
  }

  .container,
  .single-main .container,
  .site-main .container {
    width: min(calc(100% - 20px), var(--t112-container)) !important;
  }

  .top-strip {
    display: none !important;
  }

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

  .masthead {
    box-shadow: 0 10px 28px rgba(2,6,23,.18) !important;
  }

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

  .brand-block,
  .header-actions {
    min-width: 0;
  }

  .text-logo-main {
    font-size: clamp(30px, 9vw, 42px) !important;
    line-height: .92 !important;
  }

  .text-logo-sub {
    display: none !important;
  }

  .header-actions {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 8px !important;
  }

  .header-tip-button {
    min-width: 46px !important;
    min-height: 46px !important;
    padding: 0 14px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
  }

  .header-tip-button span {
    margin-right: 0 !important;
  }

  .menu-toggle {
    flex: 0 0 46px !important;
  }

  .main-navigation {
    width: min(92vw, 380px) !important;
  }

  .main-navigation a {
    min-height: 50px !important;
    padding: 0 14px !important;
    font-size: 15px !important;
  }

  .main-layout,
  .single-layout,
  .site-sidebar,
  .footer-top,
  .footer-widgets,
  .related-grid,
  .news-grid,
  .main-layout.has-no-sidebar .news-grid {
    grid-template-columns: 1fr !important;
  }

  .site-main {
    padding-top: 16px !important;
  }

  .content-feed,
  .t112-clean-feed,
  .sidebar-card,
  .archive-intro,
  .search-results,
  .no-results,
  .faq-section,
  .contact-card,
  .legal-card,
  .t112-regio-overview,
  .t112-regio-posts,
  .t112-regio-intro,
  .t112-region-card,
  .t112-dossier-card,
  .t112-dossier-post-card,
  .post-navigation-custom,
  .related-posts,
  .share-box,
  .single-header,
  .single-featured,
  .article-content-wrap {
    border-radius: 20px !important;
  }

  .t112-clean-top,
  .t112-clean-actions,
  .t112-clean-feed-head,
  .t112-regio-filterbar,
  .archive-header,
  .page-header,
  .section-heading,
  .share-box,
  .post-navigation-custom {
    gap: 12px !important;
  }

  .t112-clean-hero-card,
  .hero-card {
    border-radius: 20px !important;
  }

  .t112-clean-hero-media,
  .t112-clean-hero-media img,
  .t112-clean-hero-image,
  .t112-clean-hero-media .post-thumb,
  .t112-clean-hero-media .thumb-placeholder,
  .hero-media,
  .hero-image,
  .hero-media .post-thumb,
  .hero-media .thumb-placeholder {
    min-height: 220px !important;
  }

  .t112-clean-hero-copy,
  .hero-content {
    padding: 18px !important;
  }

  .t112-clean-hero-copy h1,
  .hero-content h1,
  .single-title,
  .archive-header h1,
  .page-header h1,
  .section-heading h1,
  .section-heading h2 {
    font-size: clamp(2rem, 8.5vw, 2.9rem) !important;
    line-height: .98 !important;
    letter-spacing: -.05em !important;
  }

  .t112-clean-hero-copy p,
  .hero-content p,
  .article-content p,
  .entry-content p,
  .search-results p,
  .page-content p,
  .t112-regio-intro p,
  .faq-answer,
  .contact-card p,
  .legal-card p {
    font-size: 1rem !important;
    line-height: 1.68 !important;
  }

  .t112-clean-side {
    display: grid !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
    gap: 10px !important;
    padding: 0 !important;
  }

  .t112-clean-side-title,
  .t112-clean-top-card {
    min-width: 0 !important;
  }

  .t112-clean-top-link,
  .t112-clean-news-card,
  .news-card,
  .t112-place-related-card.news-card,
  .t112-regio-post-card {
    grid-template-columns: 108px minmax(0,1fr) !important;
    min-height: 112px !important;
    border-radius: 16px !important;
  }

  .t112-clean-top-copy,
  .t112-clean-news-card .t112-clean-card-body,
  .news-card .card-body,
  .t112-regio-post-copy {
    padding: 12px !important;
  }

  .t112-clean-top-copy strong,
  .t112-clean-news-card .card-title,
  .news-card .card-title,
  .t112-regio-post-copy h2,
  .t112-place-related-card .card-title {
    font-size: 1.02rem !important;
    line-height: 1.12 !important;
    margin: 4px 0 !important;
  }

  .entry-meta,
  .card-meta,
  .t112-clean-top-copy .entry-meta,
  .t112-clean-news-card .entry-meta,
  .t112-regio-post-copy .entry-meta {
    font-size: .74rem !important;
    line-height: 1.4 !important;
  }

  .t112-clean-actions {
    grid-template-columns: 1fr 1fr !important;
  }

  .t112-clean-actions a {
    min-height: 82px !important;
    padding: 14px !important;
    border-radius: 16px !important;
  }

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

  .t112-clean-actions a small {
    font-size: .72rem !important;
    line-height: 1.35 !important;
  }

  .t112-clean-feed,
  .content-feed,
  .archive-intro,
  .search-results,
  .no-results,
  .t112-regio-posts,
  .t112-regio-overview {
    padding: 16px !important;
  }

  .t112-clean-feed-search,
  .header-search,
  .mobile-menu-search,
  .search-form {
    min-height: 48px !important;
    border-radius: 16px !important;
  }

  .t112-clean-feed-search input,
  .mobile-menu-search input,
  .search-form input,
  .wpcf7 input[type="text"],
  .wpcf7 input[type="email"],
  .wpcf7 input[type="tel"],
  .wpcf7 input[type="search"],
  .wpcf7 textarea,
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="search"],
  input[type="url"],
  select,
  textarea {
    font-size: 16px !important;
    border-radius: 14px !important;
  }

  button,
  .button,
  input[type="submit"],
  .wp-element-button,
  .header-search button,
  .t112-clean-feed-search button,
  .mobile-menu-search button,
  .header-tip-button,
  .t112-article-tip-button,
  .tip-strip-button {
    min-height: 46px !important;
    border-radius: 14px !important;
  }

  .single-header {
    padding: 18px 16px !important;
    text-align: left !important;
  }

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

  .single-featured-image,
  .single-featured img {
    min-height: 220px !important;
    object-fit: cover !important;
  }

  .article-content-wrap {
    padding: 14px !important;
  }

  .article-content {
    padding: 18px !important;
    font-size: 1rem !important;
    border-radius: 16px !important;
  }

  .article-content h2,
  .article-content h3,
  .entry-content h2,
  .entry-content h3,
  .page-content h2,
  .page-content h3 {
    font-size: clamp(1.45rem, 6vw, 1.9rem) !important;
    line-height: 1.12 !important;
  }

  .share-box,
  .post-navigation-custom,
  .related-posts {
    padding: 16px !important;
  }

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

  .related-grid .card-media,
  .related-posts .card-media {
    min-height: 102px !important;
  }

  .t112-place-related-grid,
  .persportal-gallery-thumbs,
  .t112-clean-topic-row,
  .t112-regio-place-pills,
  .cat-badges {
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .t112-place-related-grid::-webkit-scrollbar,
  .persportal-gallery-thumbs::-webkit-scrollbar,
  .t112-clean-topic-row::-webkit-scrollbar,
  .t112-regio-place-pills::-webkit-scrollbar,
  .cat-badges::-webkit-scrollbar {
    display: none;
  }

  .footer-top,
  .footer-widgets,
  .footer-bottom,
  .footer-legal,
  .t112-footer-v34-legal {
    gap: 10px !important;
  }

  .site-footer {
    margin-top: 22px !important;
  }

  .site-footer .container,
  .footer-top,
  .footer-bottom {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .t112-dark-toggle {
    right: 12px !important;
    bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    box-shadow: 0 14px 28px rgba(15,23,42,.2) !important;
    z-index: 9998 !important;
  }

  body.single-post .t112-dark-toggle {
    bottom: calc(14px + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 640px) {
  .container,
  .single-main .container,
  .site-main .container {
    width: min(calc(100% - 16px), var(--t112-container)) !important;
  }

  .masthead-inner {
    min-height: 70px !important;
    padding: 8px 0 !important;
  }

  .text-logo-main {
    font-size: clamp(28px, 10vw, 36px) !important;
  }

  .header-tip-button {
    padding: 0 12px !important;
    font-size: 0 !important;
    width: 46px !important;
  }

  .header-tip-button span {
    font-size: 18px !important;
  }

  .t112-clean-actions {
    grid-template-columns: 1fr !important;
  }

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

  .t112-clean-feed,
  .content-feed,
  .archive-intro,
  .search-results,
  .no-results,
  .single-header,
  .article-content-wrap,
  .share-box,
  .post-navigation-custom,
  .related-posts,
  .t112-regio-posts,
  .t112-regio-overview,
  .faq-section,
  .contact-card,
  .legal-card {
    padding: 14px !important;
    border-radius: 18px !important;
  }

  .article-content {
    padding: 16px !important;
  }

  .t112-clean-hero-copy h1,
  .hero-content h1,
  .single-title,
  .archive-header h1,
  .page-header h1,
  .section-heading h1,
  .section-heading h2,
  .persportal-gallery-head h2,
  .t112-article-tip-card h2 {
    font-size: clamp(1.85rem, 9vw, 2.4rem) !important;
  }

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