/* =========================
   10. KONTAKT I STOPKA
   ========================= */
#kontakt{
  --contactMinH:100svh;
  --contactCardMax:1180px;
  --contactPadY:clamp(34px,4.6vh,56px);
  --contactCardPad:clamp(24px,3vw,38px);
  --contactGridGap:22px;
  --contactTitleSize:clamp(2rem,3.2vw,3.35rem);
  --contactLeadSize:clamp(1rem,1.2vw,1.12rem);
  --contactBoxTitleSize:clamp(1.22rem,1.45vw,1.55rem);

  --contactPanelBg:rgba(255,255,255,.82);
  --contactPanelBgStrong:rgba(255,255,255,.88);
  --contactPanelBorder:1px solid rgba(252,245,238,.72);
  --contactPanelShadow:0 22px 48px rgba(81,49,27,.12);

  --committeeAccent:#b7a18f;
  --committeeAccentSoft:rgba(183,161,143,.18);
  --committeeBorder:#b7a18f;
  --committeeFrameBg:rgba(252,245,238,.30);
  --committeeIdleBg:rgba(206,194,183,.95);
  --committeeIdleBorder:rgba(183,161,143,.54);
  --committeeStroke:4px;
  --committeeRadius:22px;
  --committeeTabRadius:18px;

  position:relative;
  isolation:isolate;
  min-height:var(--contactMinH);
  overflow:hidden;
  background:var(--bgSoft);
  color:var(--text);
}

#kontakt::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:url("szczegoly.jpg?v=20260323_01") center center / cover no-repeat;
  transform:scale(1.03);
}

#kontakt::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(253,247,242,.74) 0%, rgba(253,247,242,.82) 100%),
    linear-gradient(90deg, rgba(253,247,242,.40) 0%, rgba(253,247,242,.18) 100%);
}

#kontakt > .container{
  position:relative;
  z-index:1;
  width:min(1320px,94vw);
  height:auto;
  min-height:100%;
  padding:var(--contactPadY) 0 clamp(20px,3.6vh,28px);
}

.contact-shell{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:22px;
  min-height:100%;
}

.contact-overlay-card{
  width:min(var(--contactCardMax),100%);
  margin:0 auto;
  padding:var(--contactCardPad);
  border:var(--contactPanelBorder);
  border-radius:28px;
  background:var(--contactPanelBg);
  box-shadow:var(--contactPanelShadow);
  backdrop-filter:blur(5px);
}

.contact-header{
  max-width:920px;
  margin:0 auto 24px;
  text-align:center;
}

.contact-header h2{
  margin:0;
  font-family:var(--fontA);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  line-height:1;
  font-size:var(--contactTitleSize);
  color:var(--heading);
}

.contact-header p{
  margin:14px auto 0;
  max-width:860px;
  font-size:var(--contactLeadSize);
  line-height:1.55;
  color:var(--text);
}

.contact-grid{
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);
  gap:var(--contactGridGap);
  align-items:start;
}

.contact-card{
  min-height:0;
  padding:24px 24px 22px;
  border:1px solid rgba(98,57,29,.12);
  border-radius:22px;
  background:var(--contactPanelBgStrong);
  box-shadow:0 12px 28px rgba(98,57,29,.08);
}

.contact-card h3{
  margin:0 0 18px;
  font-family:var(--fontA);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  line-height:1.1;
  font-size:var(--contactBoxTitleSize);
  color:var(--heading);
}

.contact-card-contact{
  display:flex;
  flex-direction:column;
}

.contact-list{
  display:grid;
  gap:16px;
}

.contact-item{
  padding-bottom:14px;
  border-bottom:1px solid rgba(98,57,29,.10);
}

.contact-item:last-child{
  padding-bottom:0;
  border-bottom:0;
}

.contact-label{
  display:inline-block;
  margin-bottom:6px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:.88rem;
  color:rgba(98,57,29,.72);
}

.contact-item p{
  margin:0 0 8px;
  font-size:1rem;
  line-height:1.55;
  color:var(--text);
}

.contact-item p:last-child{
  margin-bottom:0;
}

.contact-item a{
  color:var(--heading);
  text-decoration:underline;
  text-decoration-color:rgba(98,57,29,.28);
  text-underline-offset:3px;
}

.contact-item a:hover{
  text-decoration-color:rgba(98,57,29,.58);
}

.contact-payment .payment-account{
  display:inline-block;
  margin:2px 0 8px;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(98,57,29,.08);
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size:.98rem;
  font-weight:800;
  letter-spacing:.04em;
  color:var(--heading);
  overflow-wrap:anywhere;
}

.contact-payment strong{
  color:var(--heading);
}
/* =========================
   10a. KOMITETY
   ========================= */
.contact-card-committees{
  display:flex;
  flex-direction:column;
  gap:12px;
  height:var(--committeeCardHeight, auto);
  min-height:0;
}

.committee-widget{
  flex:1;
  min-height:0;
}

.committee-frame{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:0;
  height:100%;
  min-height:0;
}

.committee-tabs-nav{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:end;
}

.committee-tab{
  appearance:none;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-height:96px;
  padding:16px 14px 18px;
  border:2px solid var(--committeeIdleBorder);
  border-radius:var(--committeeTabRadius) var(--committeeTabRadius) 14px 14px;
  background:var(--committeeIdleBg);
  cursor:pointer;
}

.committee-tab:hover{
  background:rgba(206,194,183,.98);
}

.committee-tab.is-active{
  z-index:4;
  margin-bottom:calc(-1 * var(--committeeStroke));
  padding-bottom:calc(18px + var(--committeeStroke));
  border:var(--committeeStroke) solid var(--committeeBorder);
  border-bottom:0;
  border-radius:var(--committeeTabRadius) var(--committeeTabRadius) 0 0;
  background:var(--detailsBtnBg);
}

.committee-tab.is-active::after{
  content:"";
  position:absolute;
  left:calc(-1 * var(--committeeStroke));
  right:calc(-1 * var(--committeeStroke));
  bottom:calc(-1 * var(--committeeStroke) - 1px);
  height:calc(var(--committeeStroke) - 12px);
  background:var(--detailsBtnBg);
  pointer-events:none;
}

.committee-tab-name,
.committee-tab-count{
  display:block;
  width:100%;
  font-family:var(--fontA);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
  line-height:1.02;
  text-align:center;
  color:var(--detailsBtnText);
}

.committee-tab-name{
  font-size:1rem;
}

.committee-tab-count{
  font-size:.86rem;
  line-height:1.2;
  color:rgba(252,245,238,.92);
}

.committee-panels{
  position:relative;
  z-index:1;
  min-height:0;
  height:100%;
  padding:16px 14px 14px;
  border:var(--committeeStroke) solid var(--committeeBorder);
  background:var(--committeeFrameBg);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42);
  overflow:hidden;
  border-radius:0 var(--committeeRadius) var(--committeeRadius) var(--committeeRadius);
}

.committee-widget[data-active-panel="committee-panel-scientific"] .committee-panels{
  border-radius:0 var(--committeeRadius) var(--committeeRadius) var(--committeeRadius);
}

.committee-widget[data-active-panel="committee-panel-organizing"] .committee-panels{
  border-radius:var(--committeeRadius) 0 var(--committeeRadius) var(--committeeRadius);
}

.committee-panel{
  display:none;
  height:100%;
  min-height:0;
}

.committee-panel.is-active{
  display:block;
}

.committee-mobile-title{
  display:none;
  margin:0 0 12px;
  font-family:var(--fontA);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  line-height:1.1;
  font-size:1rem;
  color:var(--heading);
}

.committee-scroll{
  width:100%;
  height:100%;
  min-height:0;
  overflow-y:scroll;
  overflow-x:hidden;
  padding-right:14px;
  scrollbar-gutter:stable;
  scrollbar-width:auto;
  scrollbar-color:rgba(98,57,29,.48) rgba(98,57,29,.10);
}

.committee-scroll::-webkit-scrollbar{
  width:14px;
}

.committee-scroll::-webkit-scrollbar-track{
  background:rgba(98,57,29,.10);
  border-radius:999px;
}

.committee-scroll::-webkit-scrollbar-thumb{
  background:rgba(98,57,29,.48);
  border-radius:999px;
  border:2px solid rgba(255,255,255,.55);
}

.committee-scroll::-webkit-scrollbar-thumb:hover{
  background:rgba(98,57,29,.62);
}

.committee-list{
  margin:0;
  padding:0;
}

.committee-list-compact{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:start;
}

.committee-list li{
  position:relative;
  padding:11px 12px 11px 36px;
  border:1px solid rgba(98,57,29,.10);
  border-radius:14px;
  background:rgba(252,245,238,.68);
  font-size:.95rem;
  line-height:1.42;
  color:var(--text);
  font-weight:600;
}

.committee-list li::before{
  content:"";
  position:absolute;
  top:17px;
  left:14px;
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--detailsBtnBg);
  box-shadow:0 0 0 4px rgba(174,151,134,.18);
}


/* =========================
   10b. STOPKA
   ========================= */
.footer{
  width:min(var(--contactCardMax),100%);
  margin:0 auto;
}

.footer-bar{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:64px;
  padding:14px 18px;
  border:1px solid rgba(252,245,238,.72);
  border-radius:18px;
  background:rgba(255,255,255,.72);
  box-shadow:0 10px 24px rgba(98,57,29,.08);
  text-align:center;
}

.footer-bar span{
  font-size:.98rem;
  line-height:1.45;
  color:rgba(98,57,29,.86);
}

/* =========================
   10m. TABLET
   ========================= */
@media (max-width:1180px){
  .contact-grid{
    grid-template-columns:1fr;
  }

  .contact-card-committees{
    height:auto !important;
  }

  .committee-widget{
    min-height:auto;
  }

  .committee-frame{
    height:auto;
    min-height:auto;
  }

  .committee-panels{
    min-height:auto;
  }

  .committee-scroll{
    max-height:min(52svh,520px);
  }
}

@media (max-width:1100px){
  #kontakt{
    --contactCardMax:980px;
    --contactGridGap:18px;
  }

  .contact-overlay-card{
    border-radius:24px;
  }

  .contact-card{
    padding:22px 20px 20px;
  }
}

/* =========================
   10m. MOBILE
   ========================= */
@media (max-width:900px){
  #kontakt{
    --contactMinH:auto;
    --contactPadY:22px;
    --contactCardPad:18px;
    --contactGridGap:14px;
    --contactTitleSize:clamp(1.8rem,7.4vw,2.45rem);
    --contactLeadSize:.98rem;
  }

  #kontakt::before{
    transform:none;
  }

  #kontakt > .container{
    min-height:auto;
    padding:22px 0 20px;
  }

  .contact-shell{
    gap:16px;
  }

  .contact-overlay-card{
    border-radius:22px;
  }

  .contact-header{
    margin-bottom:18px;
  }

  .contact-card{
    padding:18px 16px;
    border-radius:18px;
  }

  .contact-card h3{
    margin-bottom:14px;
  }

  .contact-card-committees{
    height:auto !important;
  }

  .committee-frame{
    display:block;
    height:auto;
    min-height:auto;
  }

  .committee-tabs-nav{
    display:none;
  }

  .committee-panels{
    display:block;
    height:auto;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
  }

  .committee-panel{
    display:block !important;
    height:auto;
    min-height:auto;
  }

  .committee-panel + .committee-panel{
    margin-top:18px;
  }

  .committee-mobile-title{
    display:block;
  }

  .committee-scroll{
    height:auto;
    max-height:none;
    min-height:auto;
    overflow:visible;
    padding-right:0;
    scrollbar-gutter:auto;
  }

  .committee-list-compact{
    grid-template-columns:1fr;
    gap:10px;
  }

  .committee-list li{
    padding:11px 12px 11px 36px;
    font-size:.94rem;
  }

  .committee-list li::before{
    left:14px;
    width:9px;
    height:9px;
  }

  .footer-bar{
    min-height:auto;
    border-radius:16px;
    padding:14px 12px;
  }

  .footer-bar span{
    font-size:.92rem;
  }
}

@media (max-width:520px){
  #kontakt{
    --contactCardPad:16px;
  }

  .contact-header p{
    margin-top:12px;
    font-size:.95rem;
  }

  .contact-item p,
  .committee-list li{
    font-size:.93rem;
  }

  .contact-label{
    font-size:.82rem;
  }

  .committee-mobile-title{
    font-size:.96rem;
  }
}

@media (prefers-reduced-motion:reduce){
  #kontakt::before,
  .committee-tab{
    transition:none;
  }
}