/* Animalta – Tiere 0.5.0
 * Design-Basis für Tierkarte 1.0, Tierprofil 1.0, Badges, Fakten und Filter.
 * Elementor kann alle Werte überschreiben. Die Variablen sind bewusst zentral gehalten.
 */
:root{
  --animalta-green:#173d2f;
  --animalta-green-soft:#e7eee8;
  --animalta-orange:#ef6b2e;
  --animalta-orange-dark:#c94e1d;
  --animalta-cream:#f8f3e9;
  --animalta-sand:#eee4d5;
  --animalta-text:#20352b;
  --animalta-muted:#6e776f;
  --animalta-border:rgba(32,53,43,.12);
  --animalta-shadow:0 14px 38px rgba(25,48,37,.09);
  --animalta-radius:20px;
}

/* Badges */
.animalta-badges{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}
.animalta-badge{display:inline-flex;align-items:center;min-height:1.75rem;padding:.28rem .68rem;border-radius:999px;font-size:.72rem;font-weight:750;line-height:1.1;letter-spacing:.025em;background:var(--animalta-green-soft);color:var(--animalta-green)}
.animalta-badge--notfall{background:var(--animalta-orange);color:#fff}
.animalta-badge--patenschaft{background:#f6e8d5;color:#70431f}
.animalta-badge--status-reserviert{background:#f2dfb5;color:#604c1f}
.animalta-badge--status-vermittelt{background:#dcebdd;color:#24552d}
.animalta-badge--status-regenbogenbruecke{background:#ece8ef;color:#594c61}
.animalta-badge--tierart{background:#fff;border:1px solid var(--animalta-border)}

/* Steckbrief */
.animalta-facts{display:grid;gap:.7rem .85rem}
.animalta-facts--grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
.animalta-facts--list{grid-template-columns:1fr}
.animalta-fact{display:flex;flex-direction:column;gap:.16rem;padding:.86rem 1rem;border:1px solid var(--animalta-border);border-radius:14px;background:rgba(255,255,255,.72)}
.animalta-fact__label{font-size:.7rem;font-weight:750;letter-spacing:.055em;text-transform:uppercase;color:var(--animalta-muted)}
.animalta-fact__value{font-size:.98rem;font-weight:650;color:var(--animalta-text)}

/* Tierkarte 1.0 */
.animalta-card{height:100%;overflow:hidden;border:1px solid var(--animalta-border);border-radius:var(--animalta-radius);background:#fff;box-shadow:var(--animalta-shadow);color:var(--animalta-text);transition:transform .2s ease,box-shadow .2s ease}
.animalta-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(25,48,37,.13)}
.animalta-card__media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--animalta-sand)}
.animalta-card__image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.animalta-card:hover .animalta-card__image{transform:scale(1.025)}
.animalta-card__placeholder{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--animalta-cream),var(--animalta-sand))}
.animalta-card__badge-layer{position:absolute;left:.85rem;bottom:.8rem;right:.85rem;z-index:2;pointer-events:none}
.animalta-card__badge-layer .animalta-badges{gap:.35rem}
.animalta-card__badge-layer .animalta-badge{box-shadow:0 4px 12px rgba(20,40,30,.12)}
.animalta-card__body{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;padding:1.03rem 1.08rem 1.15rem}
.animalta-card__title{margin:0;font-size:clamp(1.18rem,2vw,1.38rem);font-weight:750;line-height:1.12;color:var(--animalta-text)}
.animalta-card__title a,.animalta-card__link{color:inherit;text-decoration:none}
.animalta-card__meta{font-size:.86rem;line-height:1.45;color:var(--animalta-muted)}
.animalta-card__desc{margin:.05rem 0 .1rem;font-size:.94rem;line-height:1.55;color:#46544c}
.animalta-card__link{display:inline-flex;align-items:center;gap:.45rem;margin-top:auto;padding-top:.12rem;font-size:.88rem;font-weight:750;color:var(--animalta-green)}
.animalta-card__link span:last-child{transition:transform .2s ease}
.animalta-card__link:hover span:last-child{transform:translateX(3px)}

/* Startseiten-Tabs */
.animalta-tabs{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}
.animalta-tab{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:.38rem .78rem;border:1px solid transparent;border-radius:999px;color:var(--animalta-text);font-size:.88rem;font-weight:650;text-decoration:none;transition:background .18s ease,border-color .18s ease,color .18s ease}
.animalta-tab:hover{border-color:var(--animalta-border);background:#fff;color:var(--animalta-green)}
.animalta-tab.is-active{background:var(--animalta-green);color:#fff}

/* Erweiterter Filter */
.animalta-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;padding:.8rem;border:1px solid var(--animalta-border);border-radius:16px;background:#fff}
.animalta-filters select,.animalta-filters button{min-height:42px;border-radius:999px;padding:.55rem 1rem}
.animalta-filters select{border:1px solid rgba(33,54,40,.2);background:#fff;color:var(--animalta-text)}
.animalta-filters button{border:0;background:var(--animalta-green);color:#fff;font-weight:750;cursor:pointer}
.animalta-filter-check{display:inline-flex;align-items:center;gap:.35rem;min-height:42px;color:var(--animalta-text)}
.animalta-filter-reset{font-size:.9rem;color:var(--animalta-muted)}

/* Tierprofil 1.0 */
.animalta-profile{color:var(--animalta-text)}
.animalta-profile-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);overflow:hidden;border:1px solid var(--animalta-border);border-radius:28px;background:var(--animalta-cream);box-shadow:var(--animalta-shadow)}
.animalta-profile-hero__media{min-height:520px;background:var(--animalta-sand)}
.animalta-profile-hero__image{display:block;width:100%;height:100%;min-height:520px;object-fit:cover}
.animalta-profile-hero__placeholder{display:block;width:100%;height:100%;min-height:520px;background:linear-gradient(135deg,var(--animalta-cream),var(--animalta-sand))}
.animalta-profile-hero__content{display:flex;flex-direction:column;justify-content:center;gap:.8rem;padding:clamp(1.5rem,4vw,3.6rem)}
.animalta-profile-hero__eyebrow,.animalta-profile-cta__eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--animalta-orange)}
.animalta-profile-hero__title{margin:0;font-size:clamp(2.5rem,5.2vw,4.9rem);font-weight:720;line-height:.95;letter-spacing:-.035em;color:var(--animalta-green)}
.animalta-profile-hero__meta{font-size:.95rem;font-weight:650;line-height:1.5;color:var(--animalta-muted)}
.animalta-profile-hero__lead{margin:.35rem 0 .45rem;max-width:48rem;font-size:clamp(1.05rem,1.7vw,1.25rem);line-height:1.58;color:#3d4c44}
.animalta-profile-hero .animalta-facts{margin-top:.3rem;grid-template-columns:repeat(3,minmax(0,1fr))}
.animalta-profile__story{max-width:900px;margin:clamp(2.5rem,6vw,5.5rem) auto;font-size:1.07rem;line-height:1.75}
.animalta-profile__story h2,.animalta-profile__story h3{color:var(--animalta-green)}

/* CTA */
.animalta-profile-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;margin-top:clamp(2.5rem,5vw,5rem);padding:clamp(1.5rem,4vw,3rem);border-radius:24px;background:linear-gradient(120deg,#f7ecdc,#fff7ee);border:1px solid rgba(239,107,46,.14)}
.animalta-profile-cta__copy{max-width:760px}
.animalta-profile-cta h2{margin:.3rem 0 .55rem;font-size:clamp(1.75rem,3.4vw,3rem);line-height:1.06;color:var(--animalta-green)}
.animalta-profile-cta p{margin:0;line-height:1.65;color:#47564e}
.animalta-profile-cta__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem}
.animalta-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.72rem 1.15rem;border-radius:999px;font-size:.9rem;font-weight:750;text-decoration:none;white-space:nowrap;transition:transform .18s ease,background .18s ease,color .18s ease}
.animalta-button:hover{transform:translateY(-1px)}
.animalta-button--primary{background:var(--animalta-orange);color:#fff}
.animalta-button--primary:hover{background:var(--animalta-orange-dark);color:#fff}
.animalta-button--secondary{border:1px solid var(--animalta-green);background:transparent;color:var(--animalta-green)}
.animalta-button--secondary:hover{background:var(--animalta-green);color:#fff}

/* Fokus */
.animalta-card a:focus-visible,.animalta-tab:focus-visible,.animalta-button:focus-visible,.animalta-filters button:focus-visible,.animalta-filters select:focus-visible{outline:3px solid rgba(239,107,46,.42);outline-offset:3px}

/* Astra-Fallback: keine Blog-Metadaten/Kategorieschnipsel. */
.single-animalta_tier .entry-meta,.post-type-archive-animalta_tier .entry-meta,.tax-animalta_tierart .entry-meta,.tax-animalta_status .entry-meta{display:none!important}

@media(max-width:1024px){
  .animalta-profile-hero{grid-template-columns:1fr}
  .animalta-profile-hero__media,.animalta-profile-hero__image,.animalta-profile-hero__placeholder{min-height:0;aspect-ratio:16/10}
  .animalta-profile-hero__content{padding:clamp(1.4rem,5vw,2.6rem)}
  .animalta-profile-cta{grid-template-columns:1fr}
  .animalta-profile-cta__actions{justify-content:flex-start}
}
@media(max-width:767px){
  .animalta-facts--grid,.animalta-profile-hero .animalta-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .animalta-filters{align-items:stretch}
  .animalta-filters label{flex:1 1 45%}
  .animalta-filters select{width:100%}
  .animalta-card{border-radius:16px}
  .animalta-profile-hero{border-radius:20px}
  .animalta-profile-hero__title{font-size:clamp(2.4rem,12vw,4rem)}
}
@media(max-width:480px){
  .animalta-facts--grid,.animalta-profile-hero .animalta-facts{grid-template-columns:1fr 1fr}
  .animalta-filters label{flex-basis:100%}
  .animalta-tabs{gap:.25rem}
  .animalta-tab{min-height:34px;padding:.34rem .62rem;font-size:.82rem}
  .animalta-profile-cta__actions{display:grid;grid-template-columns:1fr;width:100%}
  .animalta-button{width:100%}
}


/* Vermittlungs-UX 2.0 ------------------------------------------------------ */
.animalta-listing-controls{display:grid;gap:1rem;margin-block:1rem 1.35rem}
.animalta-filter-panel{border:1px solid var(--animalta-border);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(25,48,37,.045)}
.animalta-filter-toggle{display:none;width:100%;align-items:center;gap:.55rem;min-height:52px;padding:.75rem 1rem;border:0;background:transparent;color:var(--animalta-text);font:inherit;font-weight:750;text-align:left;cursor:pointer}
.animalta-filter-toggle__count{display:inline-flex;align-items:center;justify-content:center;min-width:1.55rem;height:1.55rem;padding:0 .38rem;border-radius:999px;background:var(--animalta-orange);color:#fff;font-size:.76rem}
.animalta-filter-toggle__icon{position:relative;width:1rem;height:1rem;margin-left:auto}
.animalta-filter-toggle__icon:before,.animalta-filter-toggle__icon:after{content:"";position:absolute;left:50%;top:50%;width:.75rem;height:2px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%);transition:transform .18s ease}
.animalta-filter-toggle__icon:after{transform:translate(-50%,-50%) rotate(90deg)}
.animalta-filter-panel.is-open .animalta-filter-toggle__icon:after{transform:translate(-50%,-50%) rotate(0)}
.animalta-filter-panel__body{padding:.9rem}

.animalta-filters--v2{display:grid;gap:.9rem;padding:0;border:0;border-radius:0;box-shadow:none}
.animalta-filter-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
.animalta-filter-field{display:grid;gap:.34rem;min-width:0}
.animalta-filter-field>span,.animalta-sort-form label>span{font-size:.72rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase;color:var(--animalta-muted)}
.animalta-filter-field select,.animalta-sort-form select{width:100%;min-height:46px;padding:.58rem 2.25rem .58rem .85rem;border:1px solid rgba(33,54,40,.18);border-radius:12px;background:#fff;color:var(--animalta-text);font:inherit;font-size:.92rem}
.animalta-filter-switches{display:flex;flex-wrap:wrap;gap:.55rem}
.animalta-filters--v2 .animalta-filter-check{position:relative;display:inline-flex;align-items:center;min-height:38px;padding:.45rem .72rem;border:1px solid var(--animalta-border);border-radius:999px;background:var(--animalta-cream);cursor:pointer}
.animalta-filters--v2 .animalta-filter-check input{width:1rem;height:1rem;margin:0 .42rem 0 0;accent-color:var(--animalta-green)}
.animalta-filters--v2 .animalta-filter-check span{font-size:.86rem;font-weight:650}
.animalta-filter-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;padding-top:.05rem}
.animalta-filter-submit{min-height:44px!important;padding:.62rem 1.05rem!important;border-radius:999px!important;background:var(--animalta-green)!important;color:#fff!important;font-size:.9rem;font-weight:750;cursor:pointer}
.animalta-filter-reset{display:inline-flex;align-items:center;min-height:40px;color:var(--animalta-muted);font-size:.86rem;font-weight:650;text-decoration:none}
.animalta-filter-reset:hover{color:var(--animalta-green)}

.animalta-resultsbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;min-height:48px;padding:.15rem .1rem}
.animalta-resultsbar__summary{display:grid;gap:.48rem;min-width:0}
.animalta-resultsbar__count{font-size:.96rem;color:var(--animalta-text)}
.animalta-active-filters{display:flex;flex-wrap:wrap;gap:.38rem}
.animalta-filter-chip{display:inline-flex;align-items:center;gap:.42rem;min-height:30px;padding:.28rem .58rem;border-radius:999px;background:var(--animalta-green-soft);color:var(--animalta-green);font-size:.78rem;font-weight:700;text-decoration:none}
.animalta-filter-chip:hover{background:var(--animalta-green);color:#fff}
.animalta-sort-form{display:flex;align-items:flex-end;gap:.45rem;flex:0 0 auto}
.animalta-sort-form label{display:grid;gap:.28rem}
.animalta-sort-form select{min-width:190px;min-height:42px;border-radius:10px;font-size:.86rem}
.animalta-sort-submit{min-height:42px;padding:.55rem .8rem;border:0;border-radius:10px;background:var(--animalta-green);color:#fff;font-weight:700;cursor:pointer}
.animalta-sort-form.is-js .animalta-sort-submit{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.animalta-empty-state{display:grid;justify-items:center;gap:.65rem;max-width:760px;margin:2rem auto;padding:clamp(1.5rem,5vw,3.2rem);border:1px dashed rgba(32,53,43,.2);border-radius:22px;background:linear-gradient(145deg,var(--animalta-cream),#fff);text-align:center}
.animalta-empty-state__mark{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--animalta-green-soft);color:var(--animalta-green);font-size:1.5rem;line-height:1}
.animalta-empty-state h3{margin:.15rem 0 0;font-size:clamp(1.4rem,3vw,2rem);color:var(--animalta-green)}
.animalta-empty-state p{max-width:590px;margin:0 0 .35rem;line-height:1.65;color:#536059}

.animalta-filter-toggle:focus-visible,.animalta-filter-chip:focus-visible,.animalta-sort-form select:focus-visible{outline:3px solid rgba(239,107,46,.42);outline-offset:3px}

@media(max-width:900px){
  .animalta-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .animalta-filter-panel{border-radius:16px}
  .animalta-filter-panel.is-js .animalta-filter-toggle{display:flex}
  .animalta-filter-panel.is-js:not(.is-open) .animalta-filter-panel__body{display:none}
  .animalta-filter-panel__body{padding:.3rem .75rem .85rem}
  .animalta-filter-fields{grid-template-columns:1fr}
  .animalta-filter-switches{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}
  .animalta-filters--v2 .animalta-filter-check{justify-content:flex-start;border-radius:12px;background:#fff}
  .animalta-filter-actions{display:grid;grid-template-columns:1fr;text-align:center}
  .animalta-filter-submit{width:100%}
  .animalta-filter-reset{justify-content:center}
  .animalta-resultsbar{align-items:stretch;flex-direction:column}
  .animalta-sort-form{width:100%}
  .animalta-sort-form label{width:100%}
  .animalta-sort-form select{width:100%;min-width:0}
}
@media(max-width:430px){
  .animalta-filter-switches{grid-template-columns:1fr}
}
