/* CA Elementor Collection - Posts widget */
.ca-ec-posts-wrap{ width:100%; --ca-ec-gap:16px; --ca-ec-cols-d:3; --ca-ec-cols-t:2; --ca-ec-cols-m:1; }
.ca-ec-posts-filter{ margin:0 0 2rem 0; }
.ca-ec-posts-filter ul{ list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; align-items:center; gap:.25rem; }
.ca-ec-posts-filter.align-left ul{ justify-content:flex-start; }
.ca-ec-posts-filter.align-center ul{ justify-content:center; }
.ca-ec-posts-filter.align-right ul{ justify-content:flex-end; }
.ca-ec-posts-filter li{ cursor:pointer; opacity:.75; transition:opacity .2s ease, transform .2s ease; font-weight:500; }
.ca-ec-posts-filter li:not(:last-child)::after{ content: " / "; margin: 0 .5rem; opacity:.6; }
.ca-ec-posts-filter li:hover{ opacity:1; transform: translateY(-1px); }
.ca-ec-posts-filter li.active{ opacity:1; text-decoration:underline; }

/* Grid layout */
.ca-ec-posts-grid{ display:grid; grid-template-columns: repeat(var(--ca-ec-cols-d), 1fr); gap: var(--ca-ec-gap); }
@media (max-width: 992px){ .ca-ec-posts-grid{ grid-template-columns: repeat(var(--ca-ec-cols-t), 1fr); } }
@media (max-width: 600px){ .ca-ec-posts-grid{ grid-template-columns: repeat(var(--ca-ec-cols-m), 1fr); } }

/* Masonry variant (CSS-only) */
.ca-ec-posts-wrap.layout-masonry .ca-ec-posts-grid{ column-count: var(--ca-ec-cols-d); column-gap: var(--ca-ec-gap); display:block; }
@media (max-width: 992px){ .ca-ec-posts-wrap.layout-masonry .ca-ec-posts-grid{ column-count: var(--ca-ec-cols-t); } }
@media (max-width: 600px){ .ca-ec-posts-wrap.layout-masonry .ca-ec-posts-grid{ column-count: var(--ca-ec-cols-m); } }

/* Card */
.ca-ec-posts-card{ display:block; position:relative; overflow:hidden; border-radius:8px; text-decoration:none; }
.ca-ec-posts-wrap.layout-masonry .ca-ec-posts-card{ break-inside:avoid; display:block; margin:0 0 var(--ca-ec-gap); }

.ca-ec-posts-image{ 
    display:block; width:100%; padding-bottom:70%; background-size:cover; 
    background-position:center; transform: scale(1.095) translateX(0%);
    transition: transform 1s cubic-bezier(0.33, 0.02, 0, 0.93); 
}

.ca-ec-posts-overlay{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:14px 16px; background-color: rgba(0,0,0,.55); opacity:0; transition: opacity .25s ease; }
.ca-ec-posts-overlay h3{ margin:0; font-size:1rem; color:#fff; opacity: 0; transform: translateY(30px); transition: 0.66s cubic-bezier(0.33, 0.02, 0, 0.93) 0.14s;}
.ca-ec-posts-card:hover .ca-ec-posts-overlay{ opacity:1; }
.ca-ec-posts-card:hover .ca-ec-posts-overlay h3{ 
    opacity: 1;
    transform: translateY(0px);
    transition: 0.66s cubic-bezier(0.33, 0.02, 0, 0.93) 0.14s; 
}
.ca-ec-posts-card:hover .ca-ec-posts-image{ 
    transform: scale(1.095) translateX(4%);
    transition: transform 1s cubic-bezier(0.33, 0.02, 0, 0.93); 
}




.ca-ec-posts-card.hidden{ display:none !important; }

/* Masonry/Grid Logic */
.ca-ec-posts-wrap.layout-masonry .ca-ec-posts-card .ca-ec-posts-image{ padding-bottom: 0; height: auto; }
.ca-ec-posts-wrap.layout-masonry .ca-ec-posts-card.is-landscape .ca-ec-posts-image{ height: 300px; } /* Landscape → 300px */
.ca-ec-posts-wrap.layout-masonry .ca-ec-posts-card.is-portrait .ca-ec-posts-image{ height: 600px; } /* Portrait → 600px */
.ca-ec-posts-wrap.layout-masonry .ca-ec-posts-card:not(.is-portrait):not(.is-landscape) .ca-ec-posts-image{ height: 300px; } /* Fallback */

/* Load more */
.ca-ec-posts-load{ display:flex; justify-content:center; margin-top:1rem; }
.ca-ec-posts-loadmore{ cursor:pointer; padding:.6rem 1rem; border:1px solid rgba(0,0,0,.15); border-radius:8px; background:#fff; }

/* === CA EC Table === */
.ca-ec-table{ --ca-ec-row-gap: 0px; display:flex; flex-direction:column; gap: var(--ca-ec-row-gap); }
.ca-ec-table .ca-ec-table-head{ display:grid; grid-template-columns: 1fr; font-weight:600; margin-bottom:.25rem; }
.ca-ec-table.layout-two .ca-ec-table-head{ grid-template-columns: 30% 70%; }
.ca-ec-table .ca-ec-th{ padding:.5rem .75rem; }
.ca-ec-table .ca-ec-table-row{ display:grid; grid-template-columns: 1fr; align-items:start; background:#fff; }
.ca-ec-table.layout-two .ca-ec-table-row{ grid-template-columns: 30% 70%; }
.ca-ec-table .ca-ec-table-title{ padding: .75rem .9rem; font-weight:600; }
.ca-ec-table .ca-ec-table-content{ padding: .75rem .9rem; }

/* === CA EC Accordion === */
.ca-ec-accordion{ --ca-ec-acc-gap: 12px; display:flex; flex-direction:column; gap: var(--ca-ec-acc-gap); }
.ca-ec-acc-item{ background:#fff; overflow:hidden; }
.ca-ec-acc-item-title{ width:100%; text-align:left; padding:.75rem 1rem; border:0; background:#f5f7fb; display:flex; justify-content:space-between; align-items:center; cursor:pointer; }
.ca-ec-acc-item.is-open .ca-ec-acc-item-title{ background:#eef4ff; }
.ca-ec-acc-item-content{ display:none; padding:1rem; }
.ca-ec-acc-title-icon{ font-weight:bold; }


/* === CA EC Cards === */
.ca-ec-cards{
  position:relative;
  width:100%;
  height:550px; 
  border:1px solid #222;
  overflow:hidden;
}
.ca-ec-cards .ca-ec-cards-content{
  position:absolute; inset:0;
  display:flex; width:100%; height:100%;
  z-index:1; cursor:pointer;
}
.ca-ec-card{
  position:relative;
  display:block; text-decoration:none;
  width:calc(100% / var(--cards));
  height:100%;
  user-select:none; overflow:hidden;
  background-size:cover;
  background-repeat:no-repeat;
  transition:width .4s cubic-bezier(1,0,0,1);
}
.ca-ec-card.active{ width:200%; left:0; }

.ca-ec-card::before{
  content:""; position:absolute; inset:0;
  background: rgba(44, 62, 80, .76);
  transition: background .4s ease;
  z-index:0;
}
.ca-ec-card.active::before{ background: rgba(44, 62, 80, .20); }

.ca-ec-card-title{
  position:absolute; bottom:20px; left:20px;
  margin:0; padding:0; color:#fff;
  font-size:20px; line-height:1.3em;
  writing-mode: vertical-lr;
  text-transform: uppercase;
  transition: all .4s ease;
  z-index:2;
}
.ca-ec-card.active .ca-ec-card-title{
  writing-mode:unset; transform:rotate(0deg);
  left:35px; bottom:0;
}

/* Maus verlässt die Fläche → keine aktive Karte */
.ca-ec-cards:hover .ca-ec-card:hover{ /* no-op: nur specificity helper */ }
