/*
 * Photovoltaikplatte.de · Mobile layout corrections v1.0.0
 * Source: WordPress archive/search templates (pv-category-main, pv-search-main)
 * and the PV Project Bridge consent button (#pv-consent-settings).
 * Loaded as an external file by pv-mobile-layout.php; no inline CSS/JS added.
 * Scoped intentionally: no alterations to the desktop layout or other domains.
 */

@media (max-width: 781px) {
  /* Compact, edge-to-edge article cards within their existing page gutter. */
  html body :is(.pv-category-main, .pv-search-main)
    .wp-block-query .pv-click-card {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-bottom: 18px !important;
    padding: clamp(16px, 4.6vw, 21px) !important;
    border-radius: 18px;
  }

  /* WordPress Columns' desktop 200px media column becomes full width. */
  html body :is(.pv-category-main, .pv-search-main)
    .pv-archive-card-row {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px !important;
    width: 100%;
    max-width: 100% !important;
    min-width: 0;
  }

  html body :is(.pv-category-main, .pv-search-main)
    .pv-archive-card-row > .wp-block-column {
    box-sizing: border-box;
    flex: 0 1 auto !important;
    flex-basis: auto !important;
    min-width: 0;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  html body :is(.pv-category-main, .pv-search-main)
    .pv-archive-card-row .wp-block-post-featured-image {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow: hidden;
    border-radius: 12px;
  }

  html body :is(.pv-category-main, .pv-search-main)
    .pv-archive-card-row .wp-block-post-featured-image a {
    display: block;
    width: 100%;
  }

  html body :is(.pv-category-main, .pv-search-main)
    .pv-archive-card-row .wp-block-post-featured-image img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover;
    border-radius: 12px;
  }

  html body :is(.pv-category-main, .pv-search-main)
    .pv-archive-card-row .wp-block-post-title {
    margin: 0 0 10px !important;
    font-size: clamp(1.24rem, 5.2vw, 1.55rem) !important;
    line-height: 1.24 !important;
    letter-spacing: -0.015em;
    hyphens: auto;
    overflow-wrap: break-word;
    text-wrap: pretty;
  }

  html body :is(.pv-category-main, .pv-search-main)
    .pv-archive-card-row .wp-block-post-title a {
    text-decoration: none;
    color: #123249;
  }

  html body :is(.pv-category-main, .pv-search-main)
    .pv-archive-card-row .wp-block-post-excerpt {
    width: 100%;
    margin: 0;
    font-size: clamp(0.94rem, 3.9vw, 1rem) !important;
    line-height: 1.55 !important;
    color: #425b68;
  }

  html body :is(.pv-category-main, .pv-search-main)
    .pv-archive-card-row .wp-block-post-excerpt__excerpt {
    margin: 0 0 12px;
  }

  html body :is(.pv-category-main, .pv-search-main)
    .pv-archive-card-row .wp-block-post-excerpt__more-text {
    display: block;
    margin: 0;
  }

  html body :is(.pv-category-main, .pv-search-main)
    .pv-archive-card-row .wp-block-post-excerpt__more-link {
    display: inline-block;
    padding-block: 7px;
    font-size: 0.98rem;
    font-weight: 650;
    line-height: 1.35;
    text-underline-offset: 3px;
  }

  /* Reduce the floating consent settings control to a 44px touch target.
   * It stays fixed: the consent script intentionally focuses this control
   * after a choice; making it static would jump users to the page footer. */
  html body #pv-consent-settings {
    box-sizing: border-box !important;
    position: fixed !important;
    inset: auto auto calc(10px + env(safe-area-inset-bottom, 0px)) 10px !important;
    display: grid !important;
    place-items: center;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    border: 1px solid #bcd6d8 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 1 !important;
    box-shadow: 0 3px 12px #12324920;
    z-index: 9998 !important;
  }

  html body #pv-consent-settings::after {
    content: "⚙";
    color: #075e66;
    font-size: 23px;
    line-height: 1;
  }

  html body #pv-consent-settings:focus-visible {
    outline: 3px solid #d99d25 !important;
    outline-offset: 4px;
  }
}

@media (max-width: 360px) {
  html body :is(.pv-category-main, .pv-search-main)
    .wp-block-query .pv-click-card {
    padding: 15px !important;
  }

  html body :is(.pv-category-main, .pv-search-main)
    .pv-archive-card-row .wp-block-post-title {
    font-size: 1.2rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body :is(.pv-category-main, .pv-search-main) .pv-click-card {
    transition: none;
  }
}
