.meinwau {
  font-family: Arial, Helvetica, sans-serif;
  color: #111;
  background: #fff;
  margin: 0 auto;
  max-width: 100%;
  --mw-accent: #6f7747;
}
.meinwau * {
  box-sizing: border-box;
}
.mw-hero {
  min-height: 290px;
  background-position: center 42%;
  background-size: cover;
  display: flex;
  align-items: center;
  color: #fff;
}
.mw-hero-inner {
  width: min(1280px, calc(100% - 10vw));
  margin: auto;
}
.mw-hero h1 {
  font:
    500 clamp(2.6rem, 5vw, 4.4rem) / 1 Arial,
    Helvetica,
    sans-serif;
  margin: 0 0 0.65rem;
}
.mw-hero p {
  font-size: clamp(1.1rem, 2vw, 1.65rem);
  margin: 0;
}
.mw-welcome,
.mw-section-head,
.mw-login-intro,
.mw-my-bookings,
.mw-invoices {
  width: min(1280px, calc(100% - 10vw));
  margin: auto;
}
.mw-welcome {
  display: flex;
  justify-content: space-between;
  align-items: end;
  padding: 2rem 0 1.25rem;
}
.mw-welcome h2,
.mw-login-intro h2,
.mw-section-head h2,
.mw-my-bookings h2,
.mw-invoices h2 {
  font:
    500 2rem/1.2 Arial,
    Helvetica,
    sans-serif;
  margin: 0 0 0.35rem;
}
.mw-welcome p,
.mw-section-head p {
  margin: 0;
}
.mw-subnav {
  display: flex;
  gap: 1.4rem;
}
.mw-subnav a,
.meinwau a {
  color: #596036;
  text-decoration: none;
  border-bottom: 1px solid var(--mw-accent);
}
.mw-dashboard {
  width: min(1280px, calc(100% - 10vw));
  margin: 0 auto 3rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1.15fr;
  gap: 1rem;
}
.mw-summary {
  border: 1px solid #d9dcd3;
  background: #f7f8f5;
  padding: 1.5rem;
  min-height: 215px;
}
.mw-summary h3 {
  font-size: 1.35rem;
  margin: 0 0 1rem;
}
.mw-summary > strong {
  display: block;
  font-size: 1.1rem;
}
.mw-summary .mw-credit {
  color: var(--mw-accent);
  font-size: 1.4rem;
}
.mw-progress {
  height: 10px;
  background: #dfe1dc;
  margin: 1rem 0;
}
.mw-progress span {
  display: block;
  height: 100%;
  background: var(--mw-accent);
}
.mw-upcoming ul {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
}
.mw-upcoming li {
  display: grid;
  grid-template-columns: 6rem 1fr;
  gap: 0.15rem 1rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid #d9dcd3;
}
.mw-upcoming li small {
  grid-column: 2;
}
.mw-booking {
  background: #f3f5f2;
  padding: 3.5rem 5vw;
}
.mw-section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-bottom: 1.5rem;
}
.mw-week-nav {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.mw-calendar {
  width: min(1280px, 100%);
  margin: auto;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  border: 1px solid #d6d9d1;
  background: #fff;
}
.mw-day {
  min-height: 270px;
  border-right: 1px solid #d6d9d1;
}
.mw-day:last-child {
  border-right: 0;
}
.mw-day > h3 {
  font-size: 1rem;
  text-align: center;
  background: #f0f2ee;
  margin: 0;
  padding: 0.8rem;
}
.mw-day > h3 span {
  display: block;
  font-weight: 400;
  margin-top: 0.2rem;
}
.mw-empty {
  color: #777;
  text-align: center;
  font-size: 0.85rem;
}
.mw-event {
  padding: 1rem;
  border-bottom: 1px solid #e1e3dd;
}
.mw-event time,
.mw-event strong,
.mw-event small {
  display: block;
  margin-bottom: 0.35rem;
}
.mw-event small {
  font-size: 0.82rem;
}
.mw-button {
  display: inline-block;
  background: var(--mw-accent);
  border: 1px solid var(--mw-accent);
  color: #fff !important;
  padding: 0.7rem 1.25rem;
  text-decoration: none !important;
  cursor: pointer;
  border-radius: 0;
  font-weight: 600;
}
.mw-button-small {
  width: 100%;
  padding: 0.45rem 0.6rem;
  margin-top: 0.65rem;
}
.mw-button-outline {
  background: #fff;
  color: #596036 !important;
}
.mw-soldout {
  display: block;
  color: #777;
  margin-top: 0.7rem;
}
.mw-offers {
  padding: 3.5rem 5vw;
}
.mw-offer-grid {
  width: min(1280px, 100%);
  margin: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.mw-offer-grid article {
  border-top: 4px solid var(--mw-accent);
  background: #f7f8f5;
  padding: 1.5rem;
  min-height: 240px;
}
.mw-offer-grid h3 {
  font-size: 1.35rem;
  margin-top: 0;
}
.mw-my-bookings,
.mw-invoices {
  padding: 2.5rem 0;
}
.mw-invoices {
  border-top: 1px solid #d6d9d1;
}
.mw-table-wrap {
  overflow: auto;
}
.meinwau table {
  width: 100%;
  border-collapse: collapse;
}
.meinwau th,
.meinwau td {
  text-align: left;
  padding: 0.85rem;
  border-bottom: 1px solid #d6d9d1;
}
.meinwau th {
  background: #f3f5f2;
}
.mw-link-button {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--mw-accent);
  color: #596036;
  padding: 0;
  cursor: pointer;
}
.mw-login-intro {
  text-align: center;
  padding: 4rem 0;
}
.mw-login-intro p {
  max-width: 680px;
  margin: 1rem auto 1.5rem;
}
.mw-login-actions {
  display: flex;
  justify-content: center;
  gap: 1rem;
}
.mw-booking-confirmation {
  width: min(1280px, calc(100% - 10vw));
  margin: 24px auto;
  padding: 24px 28px;
  border: 2px solid var(--mw-accent);
  border-radius: 14px;
  background: #f2f6ec;
  color: #293b2c;
  box-shadow: 0 7px 24px rgba(37, 61, 41, 0.12);
}
.mw-booking-confirmation strong {
  display: block;
  font-size: 1.45rem;
  margin-bottom: 0.4rem;
}
.mw-booking-confirmation p {
  margin: 0;
}
@media (max-width: 1050px) {
  .mw-dashboard {
    grid-template-columns: 1fr 1fr;
  }
  .mw-upcoming {
    grid-column: 1/-1;
  }
  .mw-calendar {
    grid-template-columns: repeat(2, 1fr);
  }
  .mw-day:nth-child(2n) {
    border-right: 0;
  }
  .mw-offer-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 700px) {
  .mw-hero {
    min-height: 220px;
  }
  .mw-welcome,
  .mw-section-head {
    display: block;
  }
  .mw-subnav,
  .mw-week-nav {
    margin-top: 1rem;
    flex-wrap: wrap;
  }
  .mw-dashboard,
  .mw-calendar,
  .mw-offer-grid {
    grid-template-columns: 1fr;
  }
  .mw-upcoming {
    grid-column: auto;
  }
  .mw-day {
    border-right: 0;
    border-bottom: 1px solid #d6d9d1;
  }
  .mw-summary {
    min-height: 0;
  }
  .mw-login-actions {
    display: grid;
  }
  .mw-welcome,
  .mw-dashboard,
  .mw-section-head,
  .mw-login-intro,
  .mw-my-bookings,
  .mw-invoices,
  .mw-booking-confirmation {
    width: calc(100% - 2rem);
  }
  .mw-booking,
  .mw-offers {
    padding: 2.5rem 1rem;
  }
  .meinwau th,
  .meinwau td {
    padding: 0.65rem;
    white-space: nowrap;
  }
}
.meinwau .mw-dog-area{padding:36px 0}.meinwau .mw-dog-card{background:#fff;border:1px solid #dde4d8;border-radius:16px;padding:22px;margin:18px auto;box-shadow:0 5px 22px rgba(37,61,41,.06);max-width:1150px}
.meinwau .mw-dog-card h3{margin-top:0}.meinwau .mw-dog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px}
.meinwau .mw-dog-card label{display:flex;flex-direction:column;gap:6px;font-weight:600}.meinwau .mw-dog-card input,.meinwau .mw-dog-card select,.meinwau .mw-dog-card textarea{border:1px solid #b8c6b3;border-radius:8px;padding:11px 12px;width:100%;background:#fff;min-height:43px}
.meinwau .mw-dog-card textarea{resize:vertical}.meinwau .mw-dog-card details summary{cursor:pointer;color:#476044;font-weight:700;margin:10px 0 20px}.meinwau .mw-dog-card .mw-button{margin-top:20px}.meinwau .mw-dog-note{color:#526354}
@media(max-width:700px){.meinwau .mw-dog-grid{grid-template-columns:1fr}}

/* 1.8.1: match the WAU Effects typography, olive buttons and soft green sections. */
.meinwau .mw-password-card{max-width:1160px;scroll-margin-top:1rem}
.meinwau .mw-password-card p{color:#596159}
.meinwau{--mw-accent:#707949;--mw-ink:#242424;--mw-muted:#596159;--mw-line:#d8dfd5;--mw-mist:#eaf0e9;font-family:inherit;color:var(--mw-ink);line-height:1.55}
.meinwau :focus-visible{outline:3px solid #a3ad76;outline-offset:3px}
.meinwau h1,.meinwau h2,.meinwau h3{font-weight:500;line-height:1.25}
.meinwau a{color:#535d32;text-underline-offset:.18em}
.mw-hero{min-height:clamp(235px,28vw,340px)}
.mw-hero-inner,.mw-welcome,.mw-dashboard,.mw-section-head,.mw-login-intro,.mw-my-bookings,.mw-invoices,.mw-calendar,.mw-offer-grid,.mw-booking-confirmation,.meinwau .mw-dog-card,.mw-dog-note{width:min(1160px,calc(100% - 48px));margin-left:auto;margin-right:auto}
.mw-hero h1{font-size:clamp(2.8rem,5vw,4.2rem)}
.mw-hero p{font-size:clamp(1.05rem,1.8vw,1.45rem);max-width:680px}
.mw-login-intro{max-width:740px;padding:clamp(3rem,6vw,5rem) 0}
.mw-login-form{display:grid;gap:.55rem;max-width:440px;margin:1.6rem auto 0;text-align:left}
.mw-login-form label{font-weight:600;color:var(--mw-ink)}
.mw-login-form input{width:100%;min-height:44px;padding:.65rem .8rem;margin:0 0 .65rem;border:1px solid #aebaae;border-radius:0;background:#fff;color:var(--mw-ink);font:inherit}
.mw-login-form .mw-button{width:100%}
.mw-login-intro .mw-login-help{margin:.85rem auto 1.35rem}
.meinwau .mw-account-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.25rem;margin:1.6rem 0 0;padding-top:1.25rem;border-top:1px solid var(--mw-line)}
.meinwau .mw-account-details dt{font-size:.9rem;font-weight:600;color:var(--mw-muted)}
.meinwau .mw-account-details dd{margin:.15rem 0 0;overflow-wrap:anywhere}
@media(max-width:650px){.meinwau .mw-account-details{grid-template-columns:1fr}}
.mw-login-actions{flex-wrap:wrap;gap:.75rem}
.mw-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:#707949;border-color:#707949;font:inherit;font-weight:600;transition:background .18s ease,border-color .18s ease}
.mw-button:hover{background:#535d32;border-color:#535d32;color:#fff!important}
.mw-button-outline{background:transparent;color:#535d32!important}
.mw-button-outline:hover{color:#fff!important}
.mw-welcome{align-items:center;gap:1.5rem;padding:2.2rem 0 1.5rem}
.mw-welcome h2,.mw-section-head h2{font-size:clamp(1.65rem,2.6vw,2.25rem)}
.mw-welcome p,.mw-section-head p{color:var(--mw-muted)}
.mw-subnav{gap:.45rem;flex-wrap:wrap}
.mw-subnav a{display:inline-block;padding:.45rem .7rem;border:1px solid var(--mw-line);font-weight:600;font-size:.92rem;text-decoration:none}
.mw-subnav a:hover{background:var(--mw-mist)}
.mw-dashboard{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:3.4rem}
.mw-summary{min-width:0;min-height:0;background:#fff;border-color:var(--mw-line)}
.mw-summary:nth-child(2){background:var(--mw-mist)}
.mw-summary .mw-credit{color:#535d32}
.mw-booking,.mw-offers{padding:3.4rem 0}
.mw-booking{background:var(--mw-mist)}
.mw-section-head{gap:1.5rem}
.mw-week-nav{gap:.5rem;flex-wrap:wrap;white-space:nowrap;font-size:.92rem}
.mw-week-nav a{padding:.55rem .7rem;border:1px solid var(--mw-line);background:#fff;text-decoration:none}
.mw-calendar{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;border:0;background:transparent}
.mw-day,.mw-day:nth-child(2n),.mw-day:last-child{min-width:0;min-height:0;border:1px solid var(--mw-line);background:#fff}
.mw-day>h3{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--mw-line);background:#f4f6f1;font-weight:600}
.mw-day>h3 span{margin:0}
.mw-empty{text-align:left;margin:1rem;color:var(--mw-muted)}
.mw-event{border-color:var(--mw-line)}
.mw-event time{color:#535d32;font-weight:700;font-size:.88rem}
.mw-event small{color:var(--mw-muted)}
.mw-offer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.mw-offer-grid article{display:flex;flex-direction:column;min-width:0;min-height:0;border:1px solid var(--mw-line);border-top:3px solid #707949;background:#fff}
.mw-offer-grid article form{margin-top:auto;padding-top:.8rem}
.mw-invoices,.meinwau th,.meinwau td{border-color:var(--mw-line)}
.meinwau th{background:var(--mw-mist)}
.mw-booking-confirmation{margin-top:1.5rem;border:0;border-left:4px solid #707949;border-radius:0;background:var(--mw-mist);box-shadow:none}
.meinwau .mw-dog-area{padding:2.5rem 0}
.meinwau .mw-dog-card{border-color:var(--mw-line);border-radius:0;box-shadow:none;padding:1.5rem;margin-top:.9rem;margin-bottom:.9rem}
.meinwau .mw-dog-grid{gap:1rem 1.25rem}
.meinwau .mw-dog-card label{font-size:.92rem;min-width:0}
.meinwau .mw-dog-card input,.meinwau .mw-dog-card select,.meinwau .mw-dog-card textarea{border-color:#aebaae;border-radius:0;color:var(--mw-ink);font:inherit;font-weight:400}
.meinwau .mw-dog-card input[readonly]{background:#f5f7f4;color:var(--mw-muted)}
.meinwau .mw-dog-card details summary{color:#535d32;margin:0;padding:.2rem 0}
.meinwau .mw-dog-card details[open] summary{margin-bottom:1.25rem}
.meinwau .mw-dog-card .mw-button{margin-top:1.25rem;margin-right:.4rem}
.meinwau .mw-dog-note{color:var(--mw-muted);font-size:.9rem}
@media(max-width:980px){.mw-dashboard,.mw-calendar,.mw-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mw-upcoming{grid-column:1/-1}.mw-section-head,.mw-welcome{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.mw-hero-inner,.mw-welcome,.mw-dashboard,.mw-section-head,.mw-login-intro,.mw-my-bookings,.mw-invoices,.mw-calendar,.mw-offer-grid,.mw-booking-confirmation,.meinwau .mw-dog-card,.mw-dog-note{width:calc(100% - 32px)}.mw-dashboard,.mw-calendar,.mw-offer-grid,.meinwau .mw-dog-grid{grid-template-columns:1fr}.mw-upcoming{grid-column:auto}.mw-booking,.mw-offers{padding:2.5rem 0}.mw-week-nav{white-space:normal}.meinwau .mw-dog-card{padding:1.1rem}.meinwau .mw-dog-card .mw-button{width:100%;margin-right:0}}

.meinwau .mw-button.mw-booked:disabled{background:#e1e1e1!important;border-color:#ccc!important;color:#666!important;cursor:not-allowed;opacity:1;box-shadow:none;pointer-events:none}
.meinwau .mw-booking-review{max-width:720px;margin:2rem auto;padding:2rem;background:#fff;border:1px solid #ddd;border-radius:8px}
.meinwau .mw-review-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:1.5rem}
