/* The Local Detour native newsletter signup.
   The visible form is now owned by this site, not injected/rebuilt by EmailOctopus.
   Desktop: 4 across. Portrait mobile: 2 + 1 + 1. Very narrow: stack.
*/
.ld-signup-zone{
  --signup-surround:#f7f2e8;
  background:var(--signup-surround);
  padding:20px 22px 26px;
}
.ld-signup-zone--fall{
  --signup-surround:#fffdf7;
  background:transparent;
  padding:28px 0 0;
}
.ld-signup-zone--join{
  --signup-surround:#fffdf8;
  background:var(--signup-surround);
  padding:18px 22px 24px;
}
.ld-signup-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:min(100%,1120px);
  min-height:306px;
  margin:0 auto;
  border:1px solid rgba(87,73,54,.18);
  border-radius:20px;
  box-shadow:0 10px 28px rgba(8,42,66,.10);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:26px 32px 20px;
  color:#fff;
  background:var(--signup-surround);
}
.ld-signup-zone--fall .ld-signup-card{
  width:100%;
  max-width:1000px;
}
.ld-signup-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  background:url("/assets/signup-fall-festival.webp") center 52%/cover no-repeat;
}
.ld-signup-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(
      to bottom,
      rgba(247,242,232,1) 0%,
      rgba(247,242,232,.80) 5%,
      rgba(247,242,232,.22) 12%,
      rgba(247,242,232,0) 20%,
      rgba(247,242,232,0) 80%,
      rgba(247,242,232,.24) 89%,
      rgba(247,242,232,.84) 96%,
      rgba(247,242,232,1) 100%
    ),
    radial-gradient(
      ellipse 72% 78% at 50% 47%,
      rgba(0,0,0,.70) 0%,
      rgba(0,0,0,.61) 28%,
      rgba(0,0,0,.45) 50%,
      rgba(0,0,0,.20) 69%,
      rgba(0,0,0,0) 88%
    );
}
.ld-signup-zone--fall .ld-signup-card::after,
.ld-signup-zone--join .ld-signup-card::after{
  background:
    linear-gradient(
      to bottom,
      rgba(255,253,247,1) 0%,
      rgba(255,253,247,.80) 5%,
      rgba(255,253,247,.22) 12%,
      rgba(255,253,247,0) 20%,
      rgba(255,253,247,0) 80%,
      rgba(255,253,247,.24) 89%,
      rgba(255,253,247,.84) 96%,
      rgba(255,253,247,1) 100%
    ),
    radial-gradient(
      ellipse 72% 78% at 50% 47%,
      rgba(0,0,0,.70) 0%,
      rgba(0,0,0,.61) 28%,
      rgba(0,0,0,.45) 50%,
      rgba(0,0,0,.20) 69%,
      rgba(0,0,0,0) 88%
    );
}
.ld-signup-inner{
  position:relative;
  z-index:1;
  width:min(100%,1020px);
  margin:0 auto;
  text-align:center;
}
.ld-signup-card h2{
  width:min(100%,980px);
  margin:0 auto 5px;
  color:#fff;
  font:700 clamp(40px,3.7vw,48px)/1 Georgia,"Times New Roman",serif;
  letter-spacing:-.8px;
  text-wrap:balance;
  text-shadow:0 2px 2px rgba(0,0,0,.96),0 5px 17px rgba(0,0,0,.72);
}
.ld-signup-copy{
  width:min(100%,780px);
  margin:0 auto 14px;
  color:#fff;
  font:700 13px/1.34 Georgia,"Times New Roman",serif;
  text-shadow:0 1px 2px rgba(0,0,0,.98),0 3px 10px rgba(0,0,0,.70);
}
.ld-signup-form-host{
  width:100%;
  max-width:1020px;
  margin:0 auto;
}
.ld-native-signup{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.04fr) minmax(0,1.14fr) minmax(0,1.22fr);
  gap:8px;
  align-items:stretch;
  width:100%;
  margin:0;
}
.ld-native-field{
  min-width:0;
}
.ld-native-first{grid-column:1}
.ld-native-email{grid-column:2}
.ld-native-source{grid-column:3}
.ld-native-submit{grid-column:4}
.ld-native-field label{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}
.ld-native-signup input[type="text"]:not(.ld-honeypot),
.ld-native-signup input[type="email"],
.ld-native-signup select,
.ld-native-signup button{
  box-sizing:border-box;
  display:block;
  width:100%;
  min-width:0;
  height:44px;
  margin:0;
  border-radius:6px;
  font:500 13px/1.2 Georgia,"Times New Roman",serif;
}
.ld-native-signup input[type="text"]:not(.ld-honeypot),
.ld-native-signup input[type="email"],
.ld-native-signup select{
  padding:0 12px;
  border:1px solid rgba(12,25,34,.84);
  background:rgba(255,255,255,.97);
  color:#243746;
  box-shadow:0 2px 2px rgba(0,0,0,.29),0 7px 18px rgba(0,0,0,.18);
}
.ld-native-signup input::placeholder{
  color:#65737d;
  opacity:1;
}
.ld-native-signup select{
  appearance:auto;
  cursor:pointer;
}
.ld-native-signup input:focus,
.ld-native-signup select:focus{
  outline:0;
  border-color:#d7a84b;
  box-shadow:0 0 0 3px rgba(215,168,75,.28),0 7px 18px rgba(0,0,0,.18);
}
.ld-native-signup button{
  padding:0 11px;
  border:1px solid rgba(8,26,17,.90);
  background:#2d7a32;
  color:#fff;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:0 2px 2px rgba(0,0,0,.33),0 7px 18px rgba(0,0,0,.19);
  text-shadow:0 1px 2px rgba(0,0,0,.50);
}
.ld-native-signup button:hover{background:#25682a}
.ld-native-signup button:disabled{
  cursor:wait;
  opacity:.78;
}
.ld-honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.ld-signup-status{
  grid-column:1/-1;
  min-height:0;
  margin:0;
  color:#fff;
  font:700 11px/1.35 "Trebuchet MS",Arial,sans-serif;
  text-align:center;
  text-shadow:0 1px 2px rgba(0,0,0,.9);
}
.ld-signup-status:not(:empty){
  margin-top:1px;
}
.ld-signup-status a{
  color:#fff;
  text-decoration:underline;
}
.ld-emailoctopus-credit{
  margin-top:5px;
  color:rgba(255,255,255,.91);
  text-align:center;
  font:700 8px/1.2 "Trebuchet MS",Arial,sans-serif;
  text-shadow:0 1px 2px rgba(0,0,0,.82);
}
.ld-signup-noscript{
  margin:7px auto 0;
  color:#fff;
  font-size:10px;
  text-align:center;
}
.ld-signup-noscript a{color:#fff;text-decoration:underline}
.ld-signup-proof{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 18px;
  margin:10px auto 0;
  color:#fff;
  font-size:10px;
  font-weight:800;
  line-height:1.15;
  text-shadow:0 1px 2px rgba(0,0,0,.98),0 3px 8px rgba(0,0,0,.74);
}
.ld-signup-proof span{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.ld-signup-proof b{
  display:inline-grid;
  place-items:center;
  width:18px;
  height:18px;
  border:1px solid rgba(13,31,22,.76);
  border-radius:50%;
  background:rgba(236,245,224,.94);
  color:#215c38;
  font-size:9px;
  line-height:1;
  box-shadow:0 2px 5px rgba(0,0,0,.22);
  text-shadow:none;
}

/* Existing Join details */
.ld-join-details{max-width:1000px;margin:0 auto;padding:22px 22px 58px}
.ld-join-details-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:start}
.ld-join-details h2{margin:0 0 15px;font-size:clamp(31px,3vw,40px)}
.ld-join-details .bullet-checks{margin-top:0}
.ld-join-details .email-sample{margin-top:0}

/* Portrait phones/tablets: 2 + 1 + 1. */
@media (orientation:portrait) and (max-width:700px){
  .ld-signup-zone,.ld-signup-zone--join{padding-left:12px;padding-right:12px}
  .ld-signup-card{
    min-height:448px;
    padding:36px 16px 28px;
    border-radius:16px;
  }
  .ld-signup-card::before{background-position:57% 50%}
  .ld-signup-card h2{
    width:min(100%,350px);
    font-size:36px;
    line-height:1.02;
    letter-spacing:-.65px;
    margin-bottom:6px;
  }
  .ld-signup-copy{
    width:min(100%,345px);
    font-size:12.5px;
    line-height:1.35;
    margin-bottom:14px;
  }
  .ld-native-signup{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:7px;
  }
  .ld-native-first{grid-column:1}
  .ld-native-email{grid-column:2}
  .ld-native-source{grid-column:1/-1}
  .ld-native-submit{grid-column:1/-1}
  .ld-native-signup input[type="text"]:not(.ld-honeypot),
  .ld-native-signup input[type="email"],
  .ld-native-signup select,
  .ld-native-signup button{
    height:43px;
    font-size:13px;
  }
  .ld-signup-proof{
    width:min(100%,350px);
    gap:8px 13px;
    margin-top:10px;
    font-size:9.75px;
  }
}
/* Narrow-phone fallback. */
@media (orientation:portrait) and (max-width:340px){
  .ld-native-signup{grid-template-columns:1fr}
  .ld-native-first,.ld-native-email,.ld-native-source,.ld-native-submit{grid-column:1}
  .ld-signup-card{min-height:510px}
}
/* Phone landscape: keep the clean four-across treatment. */
@media (orientation:landscape) and (max-height:520px){
  .ld-signup-zone,.ld-signup-zone--join{padding-top:9px;padding-bottom:11px}
  .ld-signup-zone--fall{padding-top:14px}
  .ld-signup-card{
    min-height:282px;
    padding:22px 26px 18px;
    border-radius:16px;
  }
  .ld-signup-card h2{font-size:39px;margin-bottom:4px}
  .ld-signup-copy{font-size:12px;margin-bottom:11px}
  .ld-native-signup{gap:7px}
  .ld-native-signup input[type="text"]:not(.ld-honeypot),
  .ld-native-signup input[type="email"],
  .ld-native-signup select,
  .ld-native-signup button{
    height:42px;
    font-size:12.5px;
  }
  .ld-signup-proof{margin-top:9px;font-size:9.5px;gap:7px 14px}
}
@media(max-width:700px){
  .ld-join-details-grid{grid-template-columns:1fr;gap:24px}
}

/* Official EmailOctopus form bridge.
   Kept rendered off-screen so EO's own JavaScript and anti-bot logic can operate,
   while the user only sees the stable Local Detour native controls. */
.ld-eo-bridge{
  position:fixed!important;
  left:-200vw!important;
  top:0!important;
  width:500px!important;
  max-width:500px!important;
  height:auto!important;
  overflow:visible!important;
  opacity:0!important;
  pointer-events:none!important;
  z-index:-1!important;
}
