.header-espa-trigger{
  position:absolute;
  left:var(--espa-left, 130px);
  top:50%;
  transform:translateY(-50%);
  z-index:10055;
  width:var(--espa-width, 240px);
  max-width:none;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:.08rem .02rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  background:#fff;
  box-shadow:0 8px 22px rgba(0,0,0,.12);
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease, opacity .12s ease;
}

.header-espa-trigger:hover{
  transform:translateY(calc(-50% - 1px));
  box-shadow:0 10px 26px rgba(0,0,0,.16);
  border-color:rgba(255,255,255,.34);
}

.header-espa-trigger:focus-visible{
  outline:3px solid rgba(255,255,255,.85);
  outline-offset:3px;
  box-shadow:0 0 0 5px rgba(30,97,29,.85);
}

.header-espa-banner{
  display:block;
  width:100%;
  height:56px;
  max-height:none;
  object-fit:contain;
}

.espa-modal{
  position:fixed;
  inset:0;
  z-index:20000;
  display:grid;
  place-items:center;
  padding:1rem;
}

.espa-modal[hidden]{
  display:none;
}

.espa-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.58);
  backdrop-filter:blur(4px);
}

.espa-modal-dialog{
  position:relative;
  z-index:1;
  width:min(680px, 100%);
  max-height:min(78vh, 680px);
  overflow:auto;
  padding:1.35rem 1.45rem;
  border-radius:22px;
  background:#fff;
  color:var(--text);
  border:1px solid rgba(18,18,18,.10);
  box-shadow:0 22px 70px rgba(0,0,0,.28);
}

.espa-modal-title{
  margin:0 2.4rem .75rem 0;
  font-size:clamp(1.15rem, 2vw, 1.55rem);
  line-height:1.2;
}

.espa-modal-copy{
  margin:0;
  color:var(--muted);
  font-size:1rem;
  line-height:1.65;
}

.espa-modal-close{
  position:absolute;
  top:.75rem;
  right:.75rem;
  width:2.15rem;
  height:2.15rem;
  display:grid;
  place-items:center;
  border:1px solid rgba(18,18,18,.12);
  border-radius:999px;
  background:#fff;
  color:var(--text);
  font-size:1.35rem;
  line-height:1;
  cursor:pointer;
}

.espa-modal-close:hover{
  background:var(--bg-soft);
}

body.espa-modal-open{
  overflow:hidden;
}

@media (max-width: 1099px){
  .header-espa-trigger{
    top:100%;
    transform:none;
  }

  .header-espa-trigger:hover{
    transform:translateY(-1px);
  }

  .header-espa-banner{
    height:36px;
  }
}

@media (max-width: 699px){
  .header-espa-trigger{
    padding:.05rem .12rem;
    border-radius:9px;
  }

  .header-espa-banner{
    height:28px;
  }

  .espa-modal-dialog{
    padding:1.1rem 1rem;
    border-radius:18px;
  }

  .espa-modal-copy{
    font-size:.94rem;
    line-height:1.55;
  }
}

@media (max-width: 449px){
  .header-espa-banner{
    height:24px;
  }

  .espa-modal{
    padding:.75rem;
  }
}

@media (max-width: 350px){
  .header-espa-banner{
    height:20px;
  }
}


/* Only the ESPA banner changes position; the Sorogka header stays intact. */
.header-espa-trigger[data-placement]{
  top:var(--espa-top);
  transform:translateY(-50%);
}
.header-espa-trigger[data-placement]:hover{transform:translateY(calc(-50% - 1px));}
.header-espa-trigger[data-placement="below"]{transform:none;}
.header-espa-trigger[data-placement="below"]:hover{transform:translateY(-1px);}
.header-espa-trigger[data-placement] .header-espa-banner{height:var(--espa-image-height);}
