/**************************
** minuteblog.css
** struckblock general css 
*************************/
/*
a:visited   { color: blue!important; }
a:hover     { background-color: grey; }
*/

ul.breadcrumb li            { display: inline; }
ul.breadcrumb li+li:before  { padding: 0.5em;  content: "/\00a0"; }
ul.breadcrumb li a:hover    { text-decoration: underline; }

.richtext-image.left        { float: left; margin-right: 0.5em; }
.richtext-image.right       { float: right; margin-left: 0.5em; }



/* thumbnail gallery */
.thumbnail-gallery__grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}
.thumbnail-gallery__cell    { list-style: none; }
.thumbnail-item__media img  { width: 100%; height: auto; display: block; object-fit: cover; }
.thumbnail-item__caption    { font-size: 0.9rem; margin-top: 0.25rem; color: #333; text-align: center; }

/*cropped image*/
.cropped-images-with-text .grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.cropped-image-item__media img { width: 100%; height: 100%; display: block; object-fit: cover; }

/* Modifiers for ratios (ensure container respects aspect ratio) */
.cropped-image-item { display: flex; flex-direction: column; }
.cropped-image-item__media { width: 100%; position: relative; overflow: hidden; }
.cropped-image-item--1x1 .cropped-image-item__media { aspect-ratio: 1 / 1; }
.cropped-image-item--4x3 .cropped-image-item__media { aspect-ratio: 4 / 3; }
.cropped-image-item--16x9 .cropped-image-item__media { aspect-ratio: 16 / 9; }

.cropped-image-item__content { padding: 0.5rem 0; }
.cropped-image-item__title { margin: 0 0 0.25rem; font-size: 1rem; }
.cropped-image-item__text { color: #444; font-size: 0.95rem; }

/* image slider*/
.image-slider { position: relative; overflow: hidden; }
.image-slider__track { display:flex; transition: transform 0.4s ease; width:100%; }
.image-slider__slide { min-width:100%; box-sizing: border-box; }
.image-slider__prev, .image-slider__next {
  position: absolute; top:50%; transform: translateY(-50%); background: rgba(0,0,0,0.5); color:#fff; border:none; padding: .5rem .75rem; cursor:pointer;
}
.image-slider__prev { left: .5rem; }
.image-slider__next { right: .5rem; }
.image-slider__dots { text-align:center; margin-top:.5rem; }
.image-slider__dot { background:#ccc; border:none; width:10px; height:10px; border-radius:50%; margin:0 .25rem; display:inline-block; }
.image-slider__dot.active { background:#333; }

/* image text block */
/* Small helpers integrating with w3.css */
.image-text-block__inner { align-items: center; display: flex; flex-wrap: wrap; }

/* Ensure columns stack on small screens; w3.css already provides responsiveness but enforce order handling */
@media (max-width: 768px) {
  .image-text-block--reverse-mobile .image-text-block__media { order: 2; }
  .image-text-block--reverse-mobile .image-text-block__content { order: 1; }
  .image-text-block__media, .image-text-block__content { width: 100% !important; }
}

/* Background variant styling */
.image-text-block__bg { padding: 2rem; color: #fff; }

/* Optional: limit image height and crop with object-fit */
.image-text-block__media img { max-height: 500px; width:100%; display:block; }

/* Text alignment helpers fallback (if w3-<alignment> classes missing) */
.image-text-block__content.w3-left { text-align: left; }
.image-text-block__content.w3-center { text-align: center; }
.image-text-block__content.w3-right { text-align: right; }
.image-text-block__content.w3-justify { text-align: justify; }

/* stylized hr */
.stylized-hr { width:100%; box-sizing:border-box; }
.stylized-hr__line {
  position: relative;
  text-align: center;
  margin: 0;
  /* ensure the line fills available width; label sits visually on top */
}
.stylized-hr__line::before {
  content: "";
  display: block;
  border-top: inherit; /* uses inline border defined in template */
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 0;
}

/* Label sits above the pseudo-line; padding to avoid overlapping */
.stylized-hr__label {
  display: inline-block;
  position: relative;
  z-index: 1;
  padding: 0 .75rem;
  font-size: 0.95rem;
  line-height: 1;
  vertical-align: middle;
  margin: 0 auto;
}

/* Plain hr fallback */
.stylized-hr__plain { display:block; }

/* footer links column*/
.footer-links-column { padding: 1rem; }
.footer-links-header { display: flex; align-items: center; gap: .5rem; margin-bottom: .5rem; }
.footer-logo img { display: block; border-radius: 4px; }
.footer-links-list { list-style: none; padding: 0; margin: 0; }
.footer-link-item a { color: inherit; text-decoration: none; }
.footer-link-item a:hover { text-decoration: underline; }

/* layout: columns container example (utiliser dans template de page) */
.footer-columns { display: flex; gap: 2rem; flex-wrap: wrap; }
.footer-columns .footer-links-column { flex: 1 1 200px; }


