/* TIFAM Blocks Suite (stable) */
.tifam-inner{width:100%;max-width:var(--tifam-max-w,1200px);margin:0 auto;}
/* wrapper */
.tifam-wrapper{background:var(--tifam-bg,#fff);color:var(--tifam-text,#111827);border:var(--tifam-border-w,0px) var(--tifam-border-style,solid) var(--tifam-border,transparent);border-radius:var(--tifam-radius,18px);padding:var(--tifam-pad,22px);box-shadow:var(--tifam-shadow,0 12px 30px rgba(0,0,0,.06));}
.tifam-separator{width:100%;margin:18px 0}
.tifam-separator__line{display:block;width:var(--tifam-sep-w,100%);height:var(--tifam-sep-h,3px);border-radius:var(--tifam-sep-radius,999px);background:var(--tifam-sep-color,#111827);margin:0 auto}
.tifam-separator[data-style="double"] .tifam-separator__line{height:calc(var(--tifam-sep-h,3px)*2);background:linear-gradient(180deg,var(--tifam-sep-color,#111827) 0 40%,transparent 40% 60%,var(--tifam-sep-color,#111827) 60% 100%);}
.tifam-separator[data-style="dashed"] .tifam-separator__line{background:transparent;border-top:var(--tifam-sep-h,3px) dashed var(--tifam-sep-color,#111827);}
.tifam-button{display:flex}
.tifam-button__link{display:inline-flex;align-items:center;justify-content:center;background:var(--tifam-btn-bg,#111827);color:var(--tifam-btn-text,#fff);text-decoration:none;border-radius:var(--tifam-btn-radius,999px);padding:var(--tifam-btn-pad-y,12px) var(--tifam-btn-pad-x,18px);box-shadow:var(--tifam-btn-shadow,0 12px 25px rgba(0,0,0,.18));font-family:var(--tifam-btn-font-family,inherit);font-weight:var(--tifam-btn-font-weight,800);font-style:var(--tifam-btn-font-style,normal);transition:transform .15s ease,box-shadow .15s ease}
.tifam-button__link:hover{transform:translateY(-1px);box-shadow:var(--tifam-btn-hover-shadow,0 18px 34px rgba(0,0,0,.24))}
.tifam-heading{color:var(--tifam-h-color,#111827);font-family:var(--tifam-h-font,inherit);font-style:var(--tifam-h-style,normal);font-weight:var(--tifam-h-weight,800);text-decoration:var(--tifam-h-decor,none);font-size:var(--tifam-h-size,32px);line-height:1.1}

/* posts */
.tifam-posts{background:var(--tifam-bg,transparent);color:var(--tifam-text,inherit)}
.tifam-posts .tifam-inner{display:grid;gap:18px}
.tifam-posts--list .tifam-inner{grid-template-columns:1fr}
.tifam-posts--grid .tifam-inner{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.tifam-posts--module-1 .tifam-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
.tifam-posts--module-2 .tifam-inner{grid-template-columns:2fr 1fr;grid-auto-rows:1fr}
.tifam-posts--module-2 .tifam-card:nth-child(1){grid-row:1/span 2}
.tifam-posts--module-2 .tifam-card:nth-child(n+4){display:none}
.tifam-posts--module-3 .tifam-inner{grid-template-columns:repeat(3,minmax(0,1fr))}
.tifam-posts--module-4 .tifam-inner{grid-template-columns:repeat(4,minmax(0,1fr))}
.tifam-posts--module-5 .tifam-inner{grid-template-columns:1fr 2fr;grid-auto-rows:1fr}
.tifam-posts--module-5 .tifam-card:nth-child(1){grid-column:2;grid-row:1/span 3}
.tifam-posts--module-5 .tifam-card:nth-child(2){grid-column:1;grid-row:1}
.tifam-posts--module-5 .tifam-card:nth-child(3){grid-column:1;grid-row:2}
.tifam-posts--module-5 .tifam-card:nth-child(4){grid-column:1;grid-row:3}
.tifam-posts--module-5 .tifam-card:nth-child(n+5){display:none}
@media (max-width:900px){
  .tifam-posts--module-1 .tifam-inner,.tifam-posts--module-2 .tifam-inner,.tifam-posts--module-3 .tifam-inner{grid-template-columns:1fr}
  .tifam-posts--module-4 .tifam-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tifam-posts--module-2 .tifam-card:nth-child(n+4){display:block}
}
.wp-block-tifam-grid-container .tifam-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:700px){.wp-block-tifam-grid-container .tifam-inner{grid-template-columns:1fr}}

.tifam-card{background:var(--tifam-card-bg,#fff);color:var(--tifam-card-text,#111827);border-radius:var(--tifam-card-radius,16px);box-shadow:var(--tifam-card-shadow,0 10px 25px rgba(0,0,0,.08));overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}
.tifam-card:hover{transform:translateY(var(--tifam-hover-lift,-2px));box-shadow:var(--tifam-hover-shadow,0 16px 30px rgba(0,0,0,.14))}
.tifam-card__link{display:block;padding:var(--tifam-card-pad,18px);color:inherit;text-decoration:none}
.tifam-card__img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;margin-bottom:12px;border-radius:14px}
.tifam-card__terms{font-size:var(--tifam-meta-size,13px);opacity:.85;margin-bottom:6px}
.tifam-card__title{margin:0 0 8px;font-size:var(--tifam-title-size,22px);line-height:1.15;font-family:var(--tifam-font-family,inherit);font-style:var(--tifam-font-style,normal);font-weight:var(--tifam-font-weight,800)}
.tifam-card__meta{font-size:var(--tifam-meta-size,13px);opacity:.78;margin-bottom:8px}
.tifam-card__excerpt{font-size:var(--tifam-excerpt-size,15px);opacity:.92}

/* hero */
.tifam-hero-post{position:relative;min-height:var(--tifam-min-h,56vh);background:var(--tifam-bg,#111827);background-size:cover;background-position:center;color:var(--tifam-text,#fff);border-radius:18px;overflow:hidden}
.tifam-hero-post__overlay{position:absolute;inset:0;background:var(--tifam-overlay,rgba(0,0,0,.45))}
.tifam-hero-post__content{position:relative;z-index:2;display:flex;min-height:var(--tifam-min-h,56vh);align-items:center;justify-content:center;padding:clamp(18px,4vw,40px)}
.tifam-hero-post__card{background:var(--tifam-card-bg,rgba(255,255,255,.06));color:var(--tifam-card-text,#fff);padding:var(--tifam-card-pad,22px);border-radius:var(--tifam-card-radius,18px);max-width:820px;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18)}
.tifam-hero-post__title{margin:8px 0;font-size:var(--tifam-title-size,34px);line-height:1.08;font-family:var(--tifam-font-family,inherit);font-style:var(--tifam-font-style,normal);font-weight:var(--tifam-font-weight,800)}
.tifam-hero-post__title a{color:inherit;text-decoration:none}
.tifam-hero-post__meta,.tifam-hero-post__terms{font-size:var(--tifam-meta-size,13px);opacity:.92}
.tifam-hero-post__excerpt{margin-top:10px;font-size:var(--tifam-excerpt-size,16px);opacity:.95}

/* ticker */
.tifam-ticker{background:var(--tifam-bg,#111827);color:var(--tifam-text,#fff);border-radius:14px;padding:12px 0;overflow:hidden}
.tifam-ticker__items{display:flex;align-items:center;gap:var(--tifam-ticker-gap,28px);white-space:nowrap;will-change:transform;animation:tifamTicker var(--tifam-ticker-duration,26s) linear infinite;padding:0 18px;font-family:var(--tifam-font-family,inherit);font-weight:var(--tifam-font-weight,700);font-style:var(--tifam-font-style,normal);font-size:var(--tifam-title-size,14px)}
.tifam-ticker[data-pause="1"]:hover .tifam-ticker__items{animation-play-state:paused}
.tifam-ticker__item{color:inherit;text-decoration:none}
.tifam-ticker__item:hover{color:var(--tifam-accent,#f59e0b)}
.tifam-ticker__sep{opacity:.7}
@keyframes tifamTicker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* Full-bleed fallback */
.alignfull.wp-block-tifam-cinematic-hero,
.alignfull.wp-block-tifam-post-list-1,
.alignfull.wp-block-tifam-post-list-2,
.alignfull.wp-block-tifam-grid-container,
.alignfull.wp-block-tifam-news-tracker,
.alignfull.wp-block-tifam-post-module-1,
.alignfull.wp-block-tifam-post-module-2,
.alignfull.wp-block-tifam-post-module-3,
.alignfull.wp-block-tifam-post-module-4,
.alignfull.wp-block-tifam-post-module-5,
.alignfull.wp-block-tifam-post-module-6,
.alignfull.wp-block-tifam-wrapper{
  width:100vw;max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

/* Post List 2: two-column media cards */
.tifam-posts--list .tifam-inner{
  grid-template-columns: repeat(2, minmax(0,1fr));
}
.tifam-posts--list .tifam-card__link{
  display:grid;
  grid-template-columns: 140px 1fr;
  gap: 14px;
  align-items:center;
}
.tifam-posts--list .tifam-card__img{
  aspect-ratio: 4 / 3;
  border-radius: 12px;
  margin: 0;
}
@media (max-width: 900px){
  .tifam-posts--list .tifam-inner{ grid-template-columns: 1fr; }
  .tifam-posts--list .tifam-card__link{ grid-template-columns: 120px 1fr; }
}

/* Post Module 6: small square cards */
.tifam-posts--module-6 .tifam-inner{
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
}
.tifam-posts--module-6 .tifam-card__link{ padding: 12px; }
.tifam-posts--module-6 .tifam-card__title{ font-size: 16px; }
.tifam-posts--module-6 .tifam-card__excerpt{ font-size: 13px; }
