/* Ease Camp Elementor bridge v0.9.8
 * Intentionally does not restyle Pinpoint. Elementor owns the presentation.
 */
.eccf-bridge-marker{display:none!important}

/* Give an Elementor container this CSS class and put [ease_camp_optie code="..."]
 * somewhere inside it. The bridge then turns the whole container into a tile.
 */
.easecamp-option-tile{
  max-width:100%;
  min-width:0;
  overflow-wrap:anywhere;
  cursor:pointer;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.easecamp-option-tile:hover{transform:translateY(-1px)}
.easecamp-option-tile.is-easecamp-selected{
  outline:2px solid #1d6b42;
  outline-offset:2px;
}
.easecamp-option-tile.is-easecamp-disabled{
  cursor:not-allowed;
  opacity:.55;
}

/* The engine can be put off-screen after the complete Elementor facade is ready.
 * Do not use engine mode while you still need native Pinpoint controls such as the
 * date picker or customer fields.
 */
.eccf-elementor-bridge.is-engine-only .eccf-bridge-engine{
  position:fixed!important;
  left:-12000px!important;
  top:0!important;
  width:1180px!important;
  max-width:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
  z-index:-9999!important;
}

.eccf-bridge-codes{
  margin:18px 0;
  padding:16px;
  border:1px solid #dcdcde;
  border-radius:8px;
  background:#fff;
  font-size:13px;
}
.eccf-bridge-codes p{margin:6px 0 10px}
.eccf-bridge-codes-list{display:grid;gap:6px}
.eccf-bridge-code-row{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(260px,2fr);
  gap:12px;
  padding:7px 9px;
  border-radius:5px;
  background:#f6f7f7;
  align-items:start;
}
.eccf-bridge-code-row code{user-select:all;word-break:break-word}
.eccf-bridge-code-row small{color:#646970}
.eccf-bridge-codes-empty{color:#646970;font-style:italic}
@media(max-width:700px){
  .eccf-bridge-code-row{grid-template-columns:1fr}
}

@media(max-width:480px){
  .easecamp-option-tile{touch-action:manipulation}
}

/* v0.18.35 - keyboard-friendly checkout and information pop-ups. */
.easecamp-option-tile .ecui-option-info-link,
.ecui-terms-info-link,
.ecui-popup-link{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  padding:0;
  color:#1d5f3b;
  font:inherit;
  font-size:14px;
  line-height:1.35;
  text-decoration:underline;
  text-underline-offset:2px;
  cursor:pointer;
}
.easecamp-option-tile .ecui-option-info-link{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin-top:8px;
  position:relative;
  z-index:2;
}
.ecui-terms-info-link{
  display:inline-flex;
  margin:7px 0 0 30px;
}
.ecui-popup-link:focus-visible,
.ecui-engine-host.is-checkout-inline .pbs.calendar .ecui-live-details-content input:focus-visible,
.ecui-engine-host.is-checkout-inline .pbs.calendar .ecui-live-details-content textarea:focus-visible,
.ecui-engine-host.is-checkout-inline .pbs.calendar .ecui-live-details-content .dot-select-select:focus-visible{
  outline:2px solid #1d5f3b!important;
  outline-offset:3px!important;
}
body.ecui-info-popup-open{overflow:hidden!important}
.ecui-info-popups[hidden],
.ecui-info-popup-panel[hidden]{display:none!important}
.ecui-info-popups{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  box-sizing:border-box;
}
.ecui-info-popup-backdrop{
  position:absolute;
  inset:0;
  background:rgba(17,28,22,.58);
}
.ecui-info-popup-dialog{
  position:relative;
  z-index:1;
  width:min(900px,100%);
  max-height:min(86vh,900px);
  overflow:auto;
  overscroll-behavior:contain;
  background:#fff;
  border-radius:16px;
  box-shadow:0 24px 70px rgba(0,0,0,.24);
  padding:28px 30px 30px;
  box-sizing:border-box;
}
.ecui-info-popup-close{
  position:sticky;
  float:right;
  top:0;
  z-index:3;
  width:40px;
  height:40px;
  margin:-8px -8px 4px 16px;
  border:1px solid #dce4df;
  border-radius:50%;
  background:#fff;
  color:#202723;
  font-size:28px;
  line-height:34px;
  cursor:pointer;
}
.ecui-info-popup-panel>h2{
  margin:0 52px 20px 0!important;
  color:#202723!important;
  font-size:28px!important;
  line-height:1.2!important;
}
.ecui-info-popup-content{clear:both;color:#202723}
.ecui-info-popup-content>*:first-child{margin-top:0}
.ecui-info-popup-content>*:last-child{margin-bottom:0}
@media(max-width:600px){
  .ecui-info-popups{padding:12px}
  .ecui-info-popup-dialog{max-height:92vh;padding:20px 18px 22px;border-radius:13px}
  .ecui-info-popup-panel>h2{font-size:23px!important}
  .ecui-terms-info-link{margin-left:30px}
}
