/* ==========================================
   LA PIAZZETTA – HOME ANNOUNCEMENTS / AKTUELLES
   Scope: public Home page only
========================================== */

.lp-home-announcements{
  position: relative;
  padding-top: clamp(18px, 3vw, 30px);
  padding-bottom: clamp(34px, 5vw, 64px);
}

.lp-ann-shell{
  position: relative;
  background: rgba(255,252,247,0.50);
  border: 1px solid rgba(58,29,22,0.06);
  padding-top: clamp(20px, 2.4vw, 32px);
  padding-right: clamp(16px, 2.4vw, 30px);
  padding-bottom: clamp(24px, 3vw, 38px);
  padding-left: clamp(16px, 2.4vw, 30px);
  box-shadow: 0 20px 44px rgba(58,29,22,0.05);
}

.lp-ann-shell::before{
  content: "";
  position: absolute;
  left: clamp(16px, 2.4vw, 30px);
  right: clamp(16px, 2.4vw, 30px);
  bottom: clamp(10px, 1.2vw, 16px);
  height: 6px;
  background:
    linear-gradient(
      90deg,
      rgba(183,150,99,0.03) 0%,
      rgba(183,150,99,0.42) 18%,
      rgba(183,150,99,0.58) 50%,
      rgba(183,150,99,0.42) 82%,
      rgba(183,150,99,0.03) 100%
    ) top / 100% 1px no-repeat,
    linear-gradient(
      90deg,
      rgba(183,150,99,0.03) 0%,
      rgba(183,150,99,0.42) 18%,
      rgba(183,150,99,0.58) 50%,
      rgba(183,150,99,0.42) 82%,
      rgba(183,150,99,0.03) 100%
    ) bottom / 100% 2px no-repeat;
  pointer-events: none;
}

.lp-ann-shell::after{
  content: none;
  display: none;
}

.lp-ann-head{
  display: grid;
  grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr);
  align-items: center;
  gap: clamp(14px, 2.2vw, 28px);
  margin-bottom: clamp(24px, 3.4vw, 40px);
  text-align: center;
}

.lp-ann-head__line{
  height: 2px;
  background: linear-gradient(
    90deg,
    rgba(183,150,99,0.06),
    rgba(183,150,99,0.55),
    rgba(183,150,99,0.06)
  );
}

.lp-ann-head__content{
  width: min(620px, 100%);
}

.lp-ann-head .lp-kicker{
  color: rgba(42,37,33,0.56);
}

.lp-ann-head .lp-title{
  margin: 0 0 8px;
  color: var(--lp-bg-dark);
}

.lp-ann-head .lp-lead{
  color: rgba(42,37,33,0.76);
  line-height: 1.75;
}

.lp-home-announcements .lp-announcements{
  width: 100%;
  gap: clamp(18px, 2.4vw, 26px);
  padding-bottom: clamp(18px, 2vw, 26px);
}

.lp-home-announcements .lp-ann-card{
  position: relative;
  display: grid;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  align-items: stretch;
  background: rgba(255,255,255,0.78);
  border: 2px solid rgba(183,150,99,0.50);
  box-shadow: 0 18px 38px rgba(58,29,22,0.055);
  overflow: hidden;
}

.lp-home-announcements .lp-ann-card.has-no-image{
  grid-template-columns: 1fr;
}

.lp-home-announcements .lp-ann-card::before,
.lp-home-announcements .lp-ann-card:nth-child(even)::before{
  content: none;
  display: none;
}

.lp-home-announcements .lp-ann-media{
  width: 300px;
  height: 300px;
  max-width: 100%;
  max-height: none;
  min-height: 0;
  align-self: center;
  justify-self: center;
  overflow: hidden;
  background: var(--lp-cream);
  border-right: 1px solid rgba(183,150,99,0.38);
}

.lp-home-announcements .lp-ann-card:nth-child(even).has-image .lp-ann-media{
  order: 2;
  border-right: 0;
  border-left: 1px solid rgba(183,150,99,0.38);
}

.lp-home-announcements .lp-ann-img{
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  object-position: center;
  display: block;
  padding: clamp(10px, 1.4vw, 18px);
  filter: saturate(0.97) contrast(1.02) brightness(0.99);
}

.lp-home-announcements .lp-ann-body{
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 300px;
  padding: clamp(22px, 3.2vw, 38px);
}

.lp-home-announcements .lp-ann-meta{
  margin-bottom: 12px;
  color: rgba(42,37,33,0.62);
}

.lp-home-announcements .lp-ann-badge{
  background: rgba(31,107,58,0.08);
  border-color: rgba(31,107,58,0.18);
  color: var(--lp-green);
  font-weight: 600;
}

.lp-home-announcements .lp-ann-title{
  margin-bottom: 14px;
  font-size: clamp(1.45rem, 2.6vw, 2.15rem);
  color: var(--lp-bg-dark);
}

.lp-home-announcements .lp-ann-text{
  max-width: 62ch;
  font-size: clamp(0.98rem, 1.15vw, 1.04rem);
  line-height: 1.85;
  color: rgba(42,37,33,0.80);
}

.lp-home-announcements .lp-ann-text ul,
.lp-home-announcements .lp-ann-text ol{
  margin: 0 0 12px 20px;
  padding: 0;
}

.lp-home-announcements .lp-ann-text li{
  margin: 5px 0;
}

@media (max-width: 991.98px){
  .lp-ann-head{
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .lp-ann-head__line{
    width: min(320px, 100%);
    margin: 0 auto;
  }

  .lp-home-announcements .lp-ann-card,
  .lp-home-announcements .lp-ann-card.has-no-image{
    grid-template-columns: 1fr;
  }

  .lp-home-announcements .lp-ann-card:nth-child(even).has-image .lp-ann-media{
    order: 0;
    border-left: 0;
  }

  .lp-home-announcements .lp-ann-media{
    width: min(300px, calc(100vw - 72px));
    height: min(300px, calc(100vw - 72px));
    margin: clamp(16px, 4vw, 22px) auto 0;
    border-right: 0;
    border-bottom: 1px solid rgba(183,150,99,0.38);
  }

  .lp-home-announcements .lp-ann-card:nth-child(even).has-image .lp-ann-media{
    border-right: 0;
    border-bottom: 1px solid rgba(183,150,99,0.38);
  }

  .lp-home-announcements .lp-ann-body{
    min-height: 0;
  }
}

@media (max-width: 575.98px){
  .lp-ann-shell{
    padding: 18px 14px 26px;
  }

  .lp-ann-shell::before{
    left: 14px;
    right: 14px;
    bottom: 10px;
  }

  .lp-home-announcements .lp-ann-body{
    padding: 22px 18px;
  }

  .lp-home-announcements .lp-ann-meta{
    gap: 8px;
  }

  .lp-home-announcements .lp-ann-media{
    width: min(240px, calc(100vw - 68px));
    height: min(240px, calc(100vw - 68px));
  }

  .lp-home-announcements .lp-ann-img{
    padding: 12px;
  }
}
