/*
  Firma LTD – Block Patterns (v1.0.7)
  Scoped styles only for blocks inserted from these patterns.
*/

/* ----------------------------
   Services strip – základní
---------------------------- */

.fl-services-strip {
  background: #fff;
  padding: 36px 0;
}

.fl-services-strip__inner {
  margin: 0 auto;
  max-width: 1200px;
  padding-left: 24px;
  padding-right: 24px;
}

/* ----------------------------
   Logo strip (fl-services-strip--img)
   Kompletní přepsání — WP přidává
   wp-block-group__inner-container mezi
   .fl-service a jeho potomky, takže
   flex chain musíme táhnout přes něj.
---------------------------- */

/* Sloupce: stejná výška + přebití WP layout tříd */
.fl-services-strip--img .fl-services-grid.wp-block-columns {
  gap: 20px !important;
  align-items: stretch !important;
}

.fl-services-strip--img .fl-services-grid .wp-block-column {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

/* Karta: flex column přes celou výšku */
.fl-services-strip--img .fl-service {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  flex: 1 !important;
  height: 100% !important;
}

/* WP vkládá .wp-block-group__inner-container – musí taky být flex column */
.fl-services-strip--img .fl-service > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;   /* horizontálně na střed */
  text-align: center !important;
  flex: 1 !important;
  height: 100% !important;
}

/* Obrázek-logo: velký, na střed */
.fl-services-strip--img .fl-service__icon {
  width: 160px !important;
  height: 160px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 16px !important;
  flex-shrink: 0 !important;
}

/* Přebití inline style="width:85px" aj. */
.fl-services-strip--img .fl-service__icon img {
  width: 160px !important;
  height: 160px !important;
  max-width: 160px !important;
  object-fit: contain !important;
  aspect-ratio: auto !important;
}

/* Nadpis: žádné dělení slov, rezerva 2 řádky */
.fl-services-strip--img .fl-service__title {
  margin: 0 0 8px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  min-height: calc(2 * 1.15em) !important;
  hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  text-align: center !important;
}

/* Text popis */
.fl-services-strip--img .fl-service__text {
  margin: 0 0 4px !important;
  text-align: center !important;
  color: #5b6670;
  line-height: 1.5;
}

/* "Více info" – přitlačit na spodek */
.fl-services-strip--img .fl-service__link {
  margin-top: auto !important;
  padding-top: 12px !important;
  margin-bottom: 0 !important;
  font-weight: 700;
  text-align: center !important;
  width: 100% !important;
}

.fl-services-strip--img .fl-service__link a {
  color: inherit;
  text-decoration: none;
}
.fl-services-strip--img .fl-service__link a:hover {
  text-decoration: underline;
}

/* ----------------------------
   Standardní service strip (SVG ikony)
   – beze změny původní logiky
---------------------------- */

.fl-services-grid.wp-block-columns {
  gap: 28px;
  align-items: stretch;
}

.fl-services-grid.wp-block-columns > .wp-block-column {
  display: flex;
  align-items: stretch;
}

.fl-service {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 100%;
}

.fl-service__icon {
  width: 112px;
  height: 112px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

/* Inline SVG */
.fl-service__icon svg {
  width: 112px;
  height: 112px;
  fill: none;
  stroke: #c4161c;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Image icons – základní (beze strip--img) */
.fl-service__icon img {
  width: 112px;
  height: 112px;
  object-fit: contain;
}

.fl-service__title {
  margin: 0 0 10px;
  font-weight: 800;
  line-height: 1.1;
  min-height: 2.4em;
}

.fl-service__text {
  margin: 0;
  color: #5b6670;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

.fl-service__link {
  margin-top: auto !important;
  padding-top: 18px;
  font-weight: 700;
  margin-bottom: 0 !important;
}

.fl-service__link a {
  color: inherit;
  text-decoration: none;
}
.fl-service__link a:hover {
  text-decoration: underline;
}

/* ----------------------------
   Blog strip
---------------------------- */

.fl-blog-strip {
  background: #fff;
  padding: 36px 0 44px;
}

.fl-blog-strip__inner {
  margin: 0 auto;
  max-width: 1200px;
  padding-left: 24px;
  padding-right: 24px;
}

.fl-blog-strip__title {
  margin: 0 0 18px;
  font-weight: 800;
}

/* ----------------------------
   Responsive
---------------------------- */

@media (max-width: 1100px) {
  .fl-services-strip__inner {
    padding-left: 18px;
    padding-right: 18px;
  }
  .fl-services-grid.wp-block-columns {
    gap: 22px !important;
  }
}

@media (max-width: 900px) {
  .fl-service__icon,
  .fl-service__icon svg,
  .fl-service__icon img {
    width: 96px !important;
    height: 96px !important;
    max-width: 96px !important;
  }
  .fl-services-strip--img .fl-service__icon,
  .fl-services-strip--img .fl-service__icon img {
    width: 110px !important;
    height: 110px !important;
    max-width: 110px !important;
  }
  .fl-services-grid.wp-block-columns {
    gap: 16px !important;
  }
}

@media (max-width: 781px) {
  .fl-services-grid.wp-block-columns {
    gap: 0 !important;
  }
  .fl-services-grid.wp-block-columns > .wp-block-column {
    margin-bottom: 28px;
  }
}

/* ----------------------------
   Blog strip – homepage 4-column grid
---------------------------- */

.fl-post-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Equal-height featured image thumbnails */
.fl-post-card .wp-block-post-featured-image,
.fl-post-card .wp-block-post-featured-image a {
  display: block;
}

.fl-post-card .wp-block-post-featured-image img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  border-radius: 6px 6px 0 0;
}

/* Push date/excerpt down so titles align */
.fl-post-card .fl-post-card__title {
  flex-shrink: 0;
}

@media (max-width: 781px) {
  .fl-post-card .wp-block-post-featured-image img {
    height: 180px;
  }
}
