
/* ====== KGV Starter Forms v1.6.3 ====== */

/* Global safety to prevent horizontal scroll on small screens */
html, body{ overflow-x:hidden; }

/* Make images responsive everywhere (esp. Gutenberg/Elementor blocks inside our pages) */
.kgv-note img,
.kgv-note figure img,
.kgv-infotafel-page img,
.kgv-termine-page img,
.kgv-freiegaerten-page img{ max-width:100%; height:auto; }

/* Break very long words/links to avoid overflow */
.kgv-note, .kgv-card, .kgv-excerpt, .kgv-post-title{
  word-wrap: break-word; overflow-wrap:anywhere;
}

/* Grid for [kgv_posts] */
.kgv-grid{ display:grid; gap:22px; }
.kgv-grid.cols-2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.kgv-grid.cols-3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.kgv-grid.cols-4{ grid-template-columns: repeat(4, minmax(0,1fr)); }
@media(max-width:1024px){ .kgv-grid.cols-3, .kgv-grid.cols-4{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media(max-width:768px){ .kgv-grid, .kgv-grid.cols-2, .kgv-grid.cols-3, .kgv-grid.cols-4{ grid-template-columns: 1fr; } }

.kgv-card{
  background:#fff; border:1px solid #E6E1D8; border-radius:14px; box-shadow:0 6px 18px rgba(0,0,0,.08);
  padding:16px;
}
.kgv-card .kgv-thumb img{ width:100%; height:auto; display:block; border-radius:10px; }
.kgv-card .kgv-meta{ font-size:.92rem; color:#5C6A63; margin-top:8px; }
.kgv-card .kgv-title{ font-size:1.12rem; margin:.35rem 0; line-height:1.25; }
.kgv-card .kgv-title a{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.kgv-card .kgv-excerpt{ margin:.35rem 0 .4rem; font-size:1rem; line-height:1.45;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.kgv-card .kgv-more{ display:inline-block; margin-top:6px; text-decoration:none; }

/* Single note card */
.kgv-note{
  --paper-bg:#fff; --paper-border:#E6E1D8; --paper-shadow:0 8px 24px rgba(0,0,0,.12);
  background:var(--paper-bg); border:1px solid var(--paper-border); border-radius:16px;
  box-shadow:var(--paper-shadow); padding:min(5vw,28px); position:relative; overflow:hidden;
  max-width: min(920px, 94vw); margin: 0 auto; /* ограничение ширины и центрирование */
}
.kgv-post-title{ margin:0 0 .6rem; font-size:clamp(1.35rem, 2.5vw, 2rem); line-height:1.2; }

.kgv-note:before{ content:''; position:absolute; inset:0; pointer-events:none;
  background: radial-gradient(rgba(0,0,0,.04), transparent 40%) top left/220px 220px no-repeat,
              radial-gradient(rgba(0,0,0,.03), transparent 40%) bottom right/220px 220px no-repeat; opacity:.3; }
.kgv-note:after{ content:''; position:absolute; top:0; right:0; width:28px; height:28px;
  background:linear-gradient(135deg, rgba(0,0,0,.06), rgba(0,0,0,0)); clip-path:polygon(0 0, 100% 0, 100% 100%); opacity:.6; }

/* Mobile/tablet typography & paddings */
@media (max-width: 992px){
  .kgv-card{ padding:14px; }
  .kgv-card .kgv-title{ font-size:1.06rem; }
  .kgv-card .kgv-excerpt{ font-size:.98rem; -webkit-line-clamp:3; }
  .kgv-note{ padding:20px; max-width: min(860px, 95vw); }
}
@media (max-width: 768px){
  .kgv-card{ padding:12px; }
  .kgv-card .kgv-title{ font-size:1.02rem; }
  .kgv-card .kgv-excerpt{ font-size:.97rem; }
  .kgv-note{ padding:16px; max-width: 96vw; } /* шире на телефоне */
}

/* One-column grids on key pages */
@media (max-width: 768px){
  .kgv-infotafel-page .wp-block-columns,
  .kgv-termine-page .wp-block-columns,
  .kgv-freiegaerten-page .wp-block-columns{ display:block !important; gap:0 !important; }
  .kgv-infotafel-page .wp-block-column,
  .kgv-termine-page .wp-block-column,
  .kgv-freiegaerten-page .wp-block-column{ width:100% !important; margin:0 0 16px 0 !important; }
  .kgv-infotafel-page .wp-block-column:last-child,
  .kgv-termine-page .wp-block-column:last-child,
  .kgv-freiegaerten-page .wp-block-column:last-child{ margin-bottom:0 !important; }

  .kgv-infotafel-page [class*="posts-grid"],
  .kgv-infotafel-page [class*="post-grid"],
  .kgv-infotafel-page [class*="grid"],
  .kgv-termine-page [class*="posts-grid"],
  .kgv-termine-page [class*="post-grid"],
  .kgv-termine-page [class*="grid"],
  .kgv-freiegaerten-page [class*="posts-grid"],
  .kgv-freiegaerten-page [class*="post-grid"],
  .kgv-freiegaerten-page [class*="grid"]{
    grid-template-columns: 1fr !important;
  }
  .kgv-infotafel-page .elementor-posts-container,
  .kgv-termine-page .elementor-posts-container,
  .kgv-freiegaerten-page .elementor-posts-container{
    display:grid !important; grid-template-columns: 1fr !important;
  }
  .kgv-infotafel-page .elementor-post,
  .kgv-termine-page .elementor-post,
  .kgv-freiegaerten-page .elementor-post{ width:100% !important; }
}

/* Sticky footer */
body.kgv-sticky-footer{ min-height:100vh; display:flex; flex-direction:column; }
body.kgv-sticky-footer main,
body.kgv-sticky-footer #content,
body.kgv-sticky-footer .site-content,
body.kgv-sticky-footer .elementor-location-content,
body.kgv-sticky-footer .elementor-section-wrap{ flex:1 0 auto; }
body.kgv-sticky-footer footer{ margin-top:auto; }

/* Decorative helper */
.kgv-box{ padding:12px 16px; border:1px dashed #E0DBD0; border-radius:10px; background:#fff; }

/* === KGV back button (v1.6.5) === */
.kgv-back-wrap{ margin-top:24px; margin-bottom:48px }
.kgv-back-btn,.kgv-back-link{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:10px 14px;border:1px solid var(--border,#E6E1D8);border-radius:12px;
  text-decoration:none;font-weight:600;line-height:1;background:var(--bg2,#fff);
  color:var(--text,#1E2420);box-shadow:var(--shadow-sm,0 3px 8px rgba(0,0,0,.06));
  transition:transform .06s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease
}
.kgv-back-btn:hover{ transform:translateY(-1px);box-shadow:var(--shadow-md,0 8px 24px rgba(0,0,0,.10));border-color:#d7d2c7 }
.kgv-back-ic{ width:18px;height:18px }

