/* My Puppy Schedule — warm journal/scrapbook theme */
:root{
  --cream:#FDF6EC;
  --paper:#FFFDF8;
  --amber:#D97706;
  --amber-dark:#B45309;
  --ink:#44403C;
  --ink-soft:#6B6259;
  --sage:#84CC16;
  --sage-dark:#4D7C0F;
  --line:#EAD9BF;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--cream);
  background-image:repeating-linear-gradient(transparent,transparent 31px,rgba(217,119,6,.045) 31px,rgba(217,119,6,.045) 32px);
  color:var(--ink);
  font:18px/1.65 "Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
}
.wrap{max-width:820px;margin:0 auto;padding:0 22px}
a{color:var(--amber-dark);text-decoration-color:rgba(217,119,6,.45);text-underline-offset:3px}
a:hover{color:var(--amber)}

/* header */
header.site{border-bottom:3px double var(--line);background:var(--cream);padding:14px 0 10px}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;max-width:980px}
.brand img{display:block;height:72px;width:auto}
nav.main{display:flex;flex-wrap:wrap;gap:4px 18px;margin-left:auto;font-size:.92rem}
nav.main a{text-decoration:none;color:var(--ink);border-bottom:2px dotted rgba(217,119,6,.5);padding-bottom:1px}
nav.main a:hover{color:var(--amber-dark)}
nav.main .nav-cta{background:var(--amber);color:#fff;border:0;border-radius:999px;padding:6px 16px}
nav.main .nav-cta:hover{background:var(--amber-dark);color:#fff}

/* headings — hand-feel */
h1,h2,h3{font-family:"Bradley Hand","Segoe Print","Comic Sans MS","Iowan Old Style",Georgia,serif;line-height:1.25;color:var(--ink)}
h1{font-size:2.1rem;margin:1.6em 0 .4em}
h1::after{content:"";display:block;width:120px;height:4px;margin-top:10px;border-radius:2px;background:linear-gradient(90deg,var(--amber),var(--sage))}
h2{font-size:1.45rem;margin:1.8em 0 .5em;color:var(--amber-dark)}
h3{font-size:1.15rem;margin:1.4em 0 .4em}
.lead{font-size:1.12rem;color:var(--ink-soft);font-style:italic}

/* journal entry card */
.entry,.wl-card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:6px;
  box-shadow:2px 3px 0 rgba(217,119,6,.12);
  padding:6px 26px 18px;
  margin:1.4em 0;
}
.entry{position:relative}
.entry::before{
  content:"";position:absolute;top:-9px;left:50%;transform:translateX(-50%) rotate(-2deg);
  width:110px;height:20px;background:rgba(132,204,22,.28);
  border-left:1px dashed rgba(77,124,15,.4);border-right:1px dashed rgba(77,124,15,.4);
}

/* week navigator — ticket stubs */
.week-nav{display:flex;flex-wrap:wrap;gap:12px;margin:1.4em 0;padding:0;list-style:none}
.week-nav a{
  display:block;background:var(--paper);border:2px dashed var(--amber);
  border-radius:10px;padding:10px 16px;text-decoration:none;color:var(--ink);
  text-align:center;min-width:118px;transition:transform .12s ease;
}
.week-nav a:hover{transform:rotate(-1.5deg) translateY(-2px);background:#FFF6E6}
.week-nav .wk{display:block;font-family:"Bradley Hand","Segoe Print","Comic Sans MS",Georgia,serif;font-size:1.25rem;color:var(--amber-dark)}
.week-nav .sub{display:block;font-size:.78rem;color:var(--ink-soft)}

/* lists with paw bullets */
main ul{padding-left:6px;list-style:none}
main ul li{padding-left:26px;position:relative;margin:.45em 0}
main ul li::before{content:"\1F43E";position:absolute;left:0;top:.1em;font-size:.8em;filter:hue-rotate(0deg)}
main ol{padding-left:24px}
main ol li{margin:.45em 0}

/* margin note */
.margin-note{
  border-left:4px solid var(--sage);background:rgba(132,204,22,.08);
  padding:10px 16px;margin:1.3em 0;border-radius:0 6px 6px 0;
  font-size:.95rem;color:var(--ink-soft);
}
.margin-note strong{color:var(--sage-dark)}

/* sister-site pointer */
.sister{
  border:1px dashed var(--amber);background:#FFF6E6;border-radius:6px;
  padding:10px 16px;margin:1.3em 0;font-size:.95rem;
}

/* FAQ */
.faq details{border-bottom:1px dotted var(--line);padding:10px 2px}
.faq summary{cursor:pointer;font-weight:600;color:var(--amber-dark)}
.faq p{margin:.6em 0 .3em}

/* vet note */
.vetnote{font-size:.9rem;color:var(--ink-soft);border-top:1px dotted var(--line);margin-top:2.4em;padding-top:1em}

/* waitlist */
.waitlist{margin:1.6em 0 2.6em}
.wl-card{border:2px solid var(--amber);box-shadow:4px 5px 0 rgba(217,119,6,.18);padding-top:2px}
.wl-card h2{margin-top:.9em}
.waitlist-form{display:flex;flex-wrap:wrap;gap:10px;margin:.6em 0 .4em}
.waitlist-form input[type=email]{
  flex:1;min-width:220px;font:inherit;padding:10px 14px;
  border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);
}
.waitlist-form button{
  font:inherit;font-weight:700;background:var(--amber);color:#fff;border:0;
  border-radius:6px;padding:10px 22px;cursor:pointer;
}
.waitlist-form button:hover{background:var(--amber-dark)}
.waitlist-form button:disabled{opacity:.6;cursor:wait}
.wl-msg{flex-basis:100%;margin:2px 0 0;font-size:.92rem;color:var(--sage-dark);min-height:1.3em}
.wl-msg.err{color:#B91C1C}

/* footer */
footer.site{border-top:3px double var(--line);margin-top:2em;padding:26px 0 34px;background:var(--cream);font-size:.92rem}
footer.site .cols{display:flex;flex-wrap:wrap;gap:28px 48px}
footer.site ul{list-style:none;padding:0;margin:.4em 0}
footer.site li{margin:.3em 0}
footer.site .legal{color:var(--ink-soft);font-size:.82rem;margin-top:1.6em}

.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media(max-width:640px){
  body{font-size:16.5px}
  .brand img{height:54px}
  h1{font-size:1.65rem}
  .entry,.wl-card{padding:4px 18px 14px}
}
