/* J.E.C. Kongresse: plugin-owned, Elementor/theme-independent frontend. */
.jecv-congress-app,
.jecv-congress-app * { box-sizing: border-box; }
.jecv-congress-app { --jecv-olive:#4f5238; --jecv-gold:#9a8233; --jecv-line:#e3dfcc;
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif; color:#34392f; max-width:1100px; margin:0 auto; }
.jecv-congress-app a { text-decoration:none; color:inherit; }
.jecv-congress-app a:focus-visible { outline:3px solid #b99837; outline-offset:4px; }
.jecv-congress-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.jecv-congress-card { position:relative; display:flex; align-items:flex-start; gap:19px;
  padding:22px; background:#fffefa; border:1px solid var(--jecv-line); border-radius:15px;
  box-shadow:0 5px 18px rgba(39,44,27,.045); transition:box-shadow .18s,border-color .18s,transform .18s; }
.jecv-congress-card:hover { border-color:#c9bc82; box-shadow:0 10px 28px rgba(41,46,27,.11); transform:translateY(-2px); }
.jecv-congress-card__year { flex:0 0 auto; padding:10px 12px; border-radius:9px;
  background:#eee9d6; color:#554b23; font-size:17px; font-weight:750; font-variant-numeric:tabular-nums; }
.jecv-congress-card__content { flex:1; min-width:0; }
.jecv-congress-card h3 { margin:0 0 7px; padding:0; color:#30382e; font-size:1.13rem; line-height:1.4; font-weight:750; }
.jecv-congress-card h3 a::after { content:""; position:absolute; inset:0; border-radius:inherit; }
.jecv-congress-card h3 a:focus-visible::after { outline:3px solid #b99837; outline-offset:3px; }
.jecv-congress-card__arrow { margin-left:8px; font-size:17px; color:var(--jecv-gold); }
.jecv-congress-card p { margin:0 0 13px; color:#606653; font-size:.91rem; line-height:1.55; }
.jecv-congress-card__footer { display:flex; flex-wrap:wrap; align-items:center; gap:11px; font-size:.77rem; color:#74765f; }
.jecv-congress-detail { overflow:hidden; border:1px solid var(--jecv-line); border-radius:18px; background:#fffefa; }
.jecv-congress-breadcrumb { margin:0 0 17px; font-size:.91rem; color:#61552b; font-weight:650; }
.jecv-congress-breadcrumb a:hover, .jecv-congress-bottom a:hover { color:var(--jecv-gold); text-decoration:underline; }
.jecv-congress-detail__header { padding:clamp(24px,4vw,42px); background:linear-gradient(115deg,#f4f0df,#faf9f3); border-bottom:1px solid var(--jecv-line); }
.jecv-congress-kicker { display:inline-block; margin-bottom:13px; color:#756322; font-size:.78rem; font-weight:750; letter-spacing:.1em; }
.jecv-congress-detail h2 { color:#2f3a2a; font-size:clamp(24px,4vw,36px); margin:0 0 15px; line-height:1.18; }
.jecv-congress-detail__meta { display:flex; flex-wrap:wrap; gap:9px 16px; color:#5c624e; font-size:.9rem; }
.jecv-congress-detail__meta span + span::before { content:"/"; margin-right:14px; color:#b4aa87; }
.jecv-congress-detail__description { padding:28px clamp(22px,4vw,42px) 2px; font-size:.97rem; line-height:1.65; }
.jecv-congress-detail__description p { margin:0 0 18px; }
.jecv-congress-detail__docs { padding:24px clamp(22px,4vw,42px) 40px; }
.jecv-congress-detail__docs h3 { margin:0 0 20px; font-size:1.23rem; color:#353b2b; }
.jecv-congress-doc-group { margin-bottom:22px; }
.jecv-congress-doc-group h4 { margin:0 0 10px; font-size:.95rem; color:#626341; }
.jecv-congress-downloads { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.jecv-congress-download { padding:15px 17px; border:1px solid #d9d2b6; background:#fff; border-radius:11px;
  display:flex; align-items:center; justify-content:space-between; gap:12px; transition:border-color .18s,background .18s; }
.jecv-congress-download:hover { background:#f5f2e4; border-color:#a89a68; }
.jecv-congress-download strong { display:block; font-size:.91rem; color:#363d2d; line-height:1.45; }
.jecv-congress-download small { display:block; margin-top:4px; color:#777b69; font-size:.79rem; }
.jecv-congress-download > span:last-child { font-size:1.3rem; color:#756427; }
.jecv-congress-bottom { margin:22px 0 0; font-size:.91rem; font-weight:650; color:#625526; }
.jecv-congress-empty { padding:18px 20px; border:1px solid #e5dfca; border-radius:10px; background:#faf8ef; color:#54563e; }
@media (max-width:740px) {
  .jecv-congress-list,.jecv-congress-downloads { grid-template-columns:1fr; }
  .jecv-congress-card { padding:17px; gap:13px; }
  .jecv-congress-card__year { font-size:15px; }
  .jecv-congress-detail__meta span + span::before { content:none; }
}

/* Beta 8: compact classic archive, replacing the visually heavy default cards. */
.jecv-congress-archive { --jecv-archive-link:#125cb2; padding:8px 0 24px; }
.jecv-congress-archive__header { text-align:center; margin:10px auto 28px; }
.jecv-congress-archive__header h2 { font-weight:750; font-size:clamp(27px,3.2vw,40px); line-height:1.25; letter-spacing:-.025em;
  color:#252a23; margin:0 0 14px; }
.jecv-congress-archive__header p { white-space:pre-line; font-size:1rem; line-height:1.6; color:#757b78; margin:0 auto; max-width:660px; }
.jecv-congress-archive__columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  background:#fbfaf6; border-radius:12px; border:1px solid #ece7d8; padding:26px clamp(16px,3vw,34px); gap:18px 44px; }
.jecv-congress-archive__list { list-style:none; margin:0; padding:0; min-width:0; }
.jecv-congress-archive__list li { position:relative; margin:0; padding:3px 0 3px 17px;
  line-height:1.65; font-size:clamp(14px,1.15vw,17px); overflow-wrap:anywhere; }
.jecv-congress-archive__list li::before { content:'\2022'; color:#bea734; position:absolute; left:3px; top:3px; }
.jecv-congress-app .jecv-congress-archive__list a { color:var(--jecv-archive-link); text-decoration:none; }
.jecv-congress-app .jecv-congress-archive__list a:hover { color:#755f16; text-decoration:underline; text-underline-offset:3px; }
.jecv-congress-archive__list strong { font-weight:780; font-variant-numeric:tabular-nums; }

/* Independently selected current congress - can be used above the archive. */
.jecv-congress-current { max-width:none; width:100%; text-align:center; background:#f8f5e9;
  border-top:0; border-bottom:1px solid #ebe2c6;
  padding:clamp(32px,4vw,55px) clamp(16px,4vw,44px); }
.jecv-congress-current h2 { margin:0 0 16px; color:#292d24; font-size:clamp(26px,3vw,37px);
  font-weight:720; line-height:1.25; }
.jecv-congress-current h3 { margin:0 0 19px; font-size:clamp(20px,2.35vw,31px); font-weight:730;
  line-height:1.3; color:#826d16; }
.jecv-congress-current__meta { font-size:clamp(15px,1.5vw,19px); line-height:1.6; color:#5d5e58; margin:0 0 24px; }
.jecv-congress-current__intro { white-space:pre-line; font-size:1rem; line-height:1.7; color:#6d6c62; max-width:800px;
  margin:0 auto 24px; }

/* Beta 8.1: one uncluttered panorama instead of an additional beige card.
 * The panorama is independent of Elementor/the active theme. */
.jecv-congress-app.jecv-congress-hero { position:relative; isolation:isolate; overflow:hidden; max-width:none;
  background:#f5f3eb; display:block; text-align:center; padding:0; border:0; border-radius:0;
  box-shadow:none; min-height:0; }
.jecv-congress-hero--full { width:100vw; max-width:100vw; margin:0 0 0 calc(50% - 50vw); }
.jecv-congress-hero--contained { width:100%; max-width:100%; margin:0 auto; }
.jecv-congress-hero__visual { position:relative; isolation:isolate; width:100%; min-width:0;
  min-height:clamp(300px,32vw,510px); display:flex; align-items:center; justify-content:center;
  overflow:hidden; background:linear-gradient(140deg,#f2edda,#e9e3ce); }
.jecv-congress-hero--poster .jecv-congress-hero__visual { display:block; min-height:0; }
.jecv-congress-hero .jecv-congress-hero__poster { display:block; position:relative; width:100%; max-width:none; height:auto;
  margin:0; border:0; border-radius:0; object-fit:contain; }
.jecv-congress-hero .jecv-congress-hero__background { position:absolute; inset:0; display:block;
  width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; z-index:0; border:0; border-radius:0; }
.jecv-congress-hero--text.jecv-congress-hero--image .jecv-congress-hero__visual::before { content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.48) 0%,rgba(255,255,255,.33) 42%,rgba(255,255,255,.14) 100%);
  pointer-events:none; z-index:1; }
.jecv-congress-hero__inner { position:relative; z-index:2; width:min(100%,1460px); margin:0 auto;
  padding:clamp(30px,4vw,60px) clamp(18px,4vw,54px); background:transparent; box-shadow:none;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:clamp(8px,1.5vw,22px); }
.jecv-congress-app.jecv-congress-hero .jecv-congress-hero__title { margin:0; padding:0; border:0; background:none;
  text-align:center; font-size:clamp(30px,4.1vw,72px); line-height:1.15; font-weight:750; letter-spacing:.035em;
  text-transform:uppercase; color:#08275e; text-shadow:0 2px 12px rgba(255,255,255,.84); overflow-wrap:break-word; }
.jecv-congress-app.jecv-congress-hero .jecv-congress-hero__dates { margin:0; padding:0; max-width:100%;
  font-size:clamp(26px,4.1vw,64px); line-height:1.17; font-weight:450; letter-spacing:.005em;
  color:#c52224; text-shadow:0 2px 12px rgba(255,255,255,.86); font-variant-numeric:tabular-nums; }
.jecv-congress-app.jecv-congress-hero .jecv-congress-hero__place { margin:0; padding:0; max-width:100%;
  font-size:clamp(18px,2.1vw,32px); line-height:1.34; color:#1d2523;
  font-weight:420; text-shadow:0 2px 9px rgba(255,255,255,.9); }
.jecv-congress-app.jecv-congress-hero .jecv-congress-hero__subtitle { margin:0; padding:0; max-width:900px;
  font-size:clamp(15px,1.45vw,22px); line-height:1.45; color:#3f4538; text-shadow:0 2px 9px rgba(255,255,255,.9); }
.jecv-congress-hero__actions { background:#faf8ee; padding:19px 18px 29px; }
.jecv-congress-hero__actions .jecv-congress-ctas { margin:0; }
.jecv-congress-hero__finish { height:19px; background:linear-gradient(180deg,#cabc49 0 4px,#777016 4px 17px,#d4c886 17px 19px); }
.jecv-congress-ctas { display:flex; align-items:center; justify-content:center; gap:clamp(12px,3vw,42px);
  flex-wrap:wrap; margin:30px auto 0; }
.jecv-congress-app .jecv-congress-cta { min-width:175px; padding:15px 22px; background:#ddc841;
  border:1px solid #cdbb36; box-shadow:7px 7px 0 #746719; color:#443e1b; text-transform:uppercase;
  font-size:.84rem; line-height:1.4; letter-spacing:.15em; font-weight:740; text-decoration:none;
  display:inline-flex; align-items:center; justify-content:center; gap:13px; transition:background .17s,transform .17s,box-shadow .17s; }
.jecv-congress-app .jecv-congress-cta:hover { background:#f0db55; color:#39341a; transform:translate(2px,2px); box-shadow:5px 5px 0 #746719; }
.jecv-congress-cta span { font-size:1rem; font-weight:900; }
.jecv-congress-detail__event-docs { padding:12px clamp(22px,4vw,42px) 24px; }
.jecv-congress-ctas--detail { margin:18px auto 0; }
@media (max-width:680px) {
  .jecv-congress-archive__columns { grid-template-columns:1fr; gap:0; padding:19px 18px; }
  .jecv-congress-archive__list li { font-size:15px; }
  .jecv-congress-current { padding:29px 16px 38px; }
  .jecv-congress-hero__visual { min-height:310px; }
  .jecv-congress-hero--poster .jecv-congress-hero__visual { min-height:0; }
  .jecv-congress-hero__inner { gap:12px; padding:24px 13px; }
  .jecv-congress-app.jecv-congress-hero .jecv-congress-hero__title { font-size:clamp(25px,6.7vw,37px); }
  .jecv-congress-app.jecv-congress-hero .jecv-congress-hero__dates { font-size:clamp(23px,5.4vw,32px); }
  .jecv-congress-app.jecv-congress-hero .jecv-congress-hero__place { font-size:clamp(17px,4.4vw,24px); }
  .jecv-congress-hero__finish { height:13px; background:linear-gradient(180deg,#cabc49 0 3px,#777016 3px 12px,#d4c886 12px 13px); }
  .jecv-congress-ctas { gap:12px; }
  .jecv-congress-app .jecv-congress-cta { min-width:0; width:min(100%,270px); }
}
@media (prefers-reduced-motion:reduce) {
  .jecv-congress-app .jecv-congress-cta { transition:none; }
}

.jecv-congress-archive__cancelled { color:#454b40; }
/* Ready-made historical poster images may already contain their own gold footer. */
.jecv-congress-hero--poster .jecv-congress-hero__finish { display:none; }


/* Beta 8.4: accessible, plugin-owned archive popup; fallback is the normal detail URL. */
body.jecv-congress-popup-open { overflow: hidden !important; }
dialog.jecv-congress-popup { position: fixed; inset: 0; width: min(900px, calc(100vw - 32px));
  max-width: none; max-height: min(92dvh, 980px); margin: auto; padding: 0;
  border: 1px solid #d8cba4; border-radius: 16px; background: #fffefa; color: #34392f;
  box-shadow: 0 28px 80px rgba(17, 23, 14, .35); overflow: hidden;
  font-family: system-ui, -apple-system, 'Segoe UI', sans-serif; }
dialog.jecv-congress-popup::backdrop { background: rgba(23, 28, 20, .69); }
.jecv-congress-popup__frame { display: flex; flex-direction: column; max-height: min(92dvh, 980px); }
.jecv-congress-popup__toolbar { flex: 0 0 auto; display:flex; align-items:center;
  justify-content:space-between; gap: 12px; padding: 13px 20px; border-bottom: 1px solid #e5dcc0;
  background: #f6f3e7; font-size: .84rem; font-weight: 720; color: #6e612c; letter-spacing:.03em; }
.jecv-congress-popup__close { appearance:none; display:inline-flex; align-items:center; justify-content:center;
  gap:8px; background:#fffefa; color:#4b442c; border:1px solid #d5c59c; border-radius:8px;
  padding:9px 13px; min-height:42px; font:inherit; font-size:.91rem; letter-spacing:normal; cursor:pointer; }
.jecv-congress-popup__close:hover { background:#eae2c5; }
.jecv-congress-popup__close:focus-visible { outline: 3px solid #9a8233; outline-offset: 3px; }
.jecv-congress-popup__close span { font-size:1.35rem; line-height:1; }
.jecv-congress-popup__body { flex: 1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; }
.jecv-congress-popup__body .jecv-congress-app { width:100%; max-width:none; margin:0; }
.jecv-congress-popup__body .jecv-congress-detail { background:#fffefa; border:0; border-radius:0; }
.jecv-congress-popup__body .jecv-congress-detail__header { padding:clamp(20px,3vw,34px); }
.jecv-congress-popup__body .jecv-congress-detail__docs { padding-bottom:26px; }
.jecv-congress-popup__footer { flex:0 0 auto; display:flex; justify-content:flex-end;
  padding:12px 20px; border-top:1px solid #ece6d6; background:#fcfaf3; font-size:.86rem; }
.jecv-congress-popup__footer a { color:#66551e; font-weight:680; text-decoration:underline; }
.jecv-congress-popup__footer a:hover { color:#2d3927; }
.jecv-congress-popup__footer a:focus-visible { outline: 3px solid #9a8233; outline-offset:3px; }
@media (max-width:680px) {
  dialog.jecv-congress-popup { width:calc(100vw - 16px); max-height:95dvh; border-radius:12px; }
  .jecv-congress-popup__frame { max-height:95dvh; }
  .jecv-congress-popup__toolbar { padding:10px 13px; }
  .jecv-congress-popup__footer { padding:12px 15px; }
  .jecv-congress-popup__body .jecv-congress-detail__header { padding:22px 18px; }
  .jecv-congress-popup__body .jecv-congress-detail__docs { padding:18px; }
}

/* Beta 8.6: cancelled years retain the compact historical timeline treatment. */
.jecv-congress-archive__status { color:#636753; font-size:.91em; font-weight:500; white-space:nowrap; }
