@charset "utf-8";

:root {
  --bwc-paper: #fffdf8;
  --bwc-cream: #f3eee4;
  --bwc-cream-deep: #e8ddcc;
  --bwc-ink: #302a27;
  --bwc-muted: #746f69;
  --bwc-line: #d8cdbd;
  --bwc-red: #b94f42;
  --bwc-red-dark: #8f382f;
  --bwc-green: #465c4b;
  --bwc-gold: #a9854f;
  --bwc-sans: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", sans-serif;
  --bwc-serif: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  min-width: 0;
  margin: 0;
  color: var(--bwc-ink);
  font-family: var(--bwc-sans);
  background: var(--bwc-paper);
}

body,
button,
input,
textarea {
  font-family: var(--bwc-sans);
}

a {
  color: inherit;
  text-underline-offset: 0.22em;
}

button,
input,
textarea {
  font-size: 1rem;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

.bwc-header {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  align-items: center;
  gap: 36px;
  min-height: 150px;
  padding: 32px clamp(24px, 6vw, 86px);
  background: var(--bwc-paper);
  border-bottom: 1px solid var(--bwc-line);
}

.bwc-header.is-admin {
  color: #fff;
  background: var(--bwc-green);
  border-bottom: 0;
}

.bwc-logo {
  display: inline-grid;
  grid-template-columns: 76px auto;
  align-items: center;
  gap: 15px;
  width: fit-content;
  text-decoration: none;
}

.bwc-logo-mark {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  color: #fff;
  font-family: Georgia, serif;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  background: var(--bwc-red);
  border-radius: 50%;
}

.bwc-logo > span:last-child {
  display: grid;
  gap: 3px;
}

.bwc-logo strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.25rem, 2.4vw, 2rem);
  line-height: 1;
  letter-spacing: 0.02em;
}

.bwc-logo small {
  color: var(--bwc-gold);
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.2em;
}

.bwc-header.is-admin .bwc-logo small {
  color: #e3d7b9;
}

.bwc-header nav,
.bwc-footer nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 24px;
}

.bwc-header nav a,
.bwc-footer nav a {
  font-size: 0.76rem;
  font-weight: 800;
}

.bwc-header nav a:hover {
  color: var(--bwc-red);
}

.bwc-header.is-admin nav a:hover {
  color: #f0d59f;
}

main {
  width: 100%;
}

.bwc-kicker {
  margin: 0;
  color: var(--bwc-red);
  font-family: Arial, sans-serif;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.2em;
}

.bwc-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(330px, 0.8fr);
  align-items: stretch;
  width: min(1280px, calc(100% - 64px));
  margin: 62px auto 0;
}

.bwc-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 520px;
  padding: clamp(42px, 8vw, 100px);
  color: #fff;
  background: var(--bwc-green);
}

.bwc-hero-copy .bwc-kicker {
  color: #e7cf9d;
}

.bwc-hero-copy h1 {
  margin: 22px 0 25px;
  font-family: var(--bwc-serif);
  font-size: clamp(3.2rem, 7.3vw, 7rem);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.bwc-hero-copy h1 em {
  color: #f0cf8c;
  font-style: normal;
}

.bwc-hero-copy > p:not(.bwc-kicker) {
  max-width: 620px;
  margin: 0;
  color: #edf0eb;
  line-height: 1.95;
}

.bwc-hero-copy > a {
  width: fit-content;
  margin-top: 30px;
  padding: 14px 22px;
  color: #fff;
  font-size: 0.8rem;
  font-weight: 800;
  text-decoration: none;
  background: var(--bwc-red);
}

.bwc-hero-note,
.bwc-car-main-photo,
.bwc-photo-stream > div,
.bwc-car-card-photo {
  position: relative;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 10px;
  overflow: hidden;
  color: var(--bwc-ink);
  text-align: center;
  text-decoration: none;
  background-color: var(--bwc-cream);
  background-image:
    linear-gradient(135deg, rgba(169, 133, 79, 0.1) 25%, transparent 25%),
    linear-gradient(315deg, rgba(169, 133, 79, 0.1) 25%, transparent 25%);
  background-position: 0 0, 14px 14px;
  background-size: 28px 28px;
  border: 1px solid var(--bwc-line);
}

.bwc-hero-note::before,
.bwc-car-main-photo::before,
.bwc-photo-stream > div::before,
.bwc-car-card-photo::before {
  content: "";
  position: absolute;
  inset: 13px;
  border: 1px solid rgba(169, 133, 79, 0.32);
}

.bwc-hero-note span,
.bwc-car-main-photo span,
.bwc-photo-stream span,
.bwc-car-card-photo span {
  position: relative;
  z-index: 1;
  color: var(--bwc-red);
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.19em;
}

.bwc-hero-note strong,
.bwc-car-main-photo strong,
.bwc-photo-stream strong,
.bwc-car-card-photo strong {
  position: relative;
  z-index: 1;
  max-width: 84%;
  font-family: var(--bwc-serif);
  font-size: clamp(1rem, 2vw, 1.45rem);
}

.bwc-hero-note small,
.bwc-car-main-photo small,
.bwc-photo-stream small,
.bwc-car-card-photo small {
  position: relative;
  z-index: 1;
  max-width: 82%;
  color: var(--bwc-muted);
  font-size: 0.66rem;
  line-height: 1.6;
}

.bwc-photo-stream {
  display: grid;
  grid-template-columns: repeat(5, minmax(220px, 1fr));
  gap: 7px;
  width: 100%;
  margin: 74px 0 0;
  padding: 0 7px;
  overflow-x: auto;
}

.bwc-photo-stream > div {
  min-height: 310px;
  padding: 28px;
}

.bwc-photo-stream > div:nth-child(even) {
  min-height: 380px;
}

.bwc-intro,
.bwc-date-finder,
.bwc-calendar-section,
.bwc-location-section,
.bwc-menu-section {
  width: min(1120px, calc(100% - 48px));
  margin: 110px auto 0;
}

.bwc-intro > h2,
.bwc-section-head h2,
.bwc-admin-head h1,
.bwc-story-tabs h2 {
  font-family: var(--bwc-serif);
  font-weight: 500;
}

.bwc-intro > h2 {
  max-width: 780px;
  margin: 14px 0 45px;
  font-size: clamp(2.25rem, 5.2vw, 4.6rem);
  line-height: 1.28;
}

.bwc-intro-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--bwc-line);
  border-bottom: 1px solid var(--bwc-line);
}

.bwc-intro-grid article {
  padding: 35px 30px 40px;
}

.bwc-intro-grid article + article {
  border-left: 1px solid var(--bwc-line);
}

.bwc-intro-grid b {
  color: var(--bwc-red);
  font-family: Georgia, serif;
  font-size: 0.78rem;
}

.bwc-intro-grid h3 {
  margin: 20px 0 12px;
  font-family: var(--bwc-serif);
  font-size: 1.45rem;
}

.bwc-intro-grid p,
.bwc-calendar-help,
.bwc-story-tabs p,
.bwc-admin-head > p:last-child {
  color: var(--bwc-muted);
  line-height: 1.85;
}

.bwc-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 25px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--bwc-line);
}

.bwc-section-head h2 {
  margin: 10px 0 0;
  font-size: clamp(1.9rem, 4vw, 3.35rem);
}

.bwc-section-head > strong {
  display: grid;
  place-items: center;
  min-width: 70px;
  min-height: 70px;
  padding: 10px;
  color: #fff;
  background: var(--bwc-red);
  border-radius: 50%;
}

.bwc-date-controls {
  display: grid;
  grid-template-columns: 120px 120px minmax(220px, 1fr);
  gap: 10px;
  margin-top: 30px;
  padding: 28px;
  background: var(--bwc-cream);
  border-left: 5px solid var(--bwc-gold);
}

.bwc-date-controls button,
.bwc-date-controls input,
.bwc-month-nav button,
.bwc-coordinate-actions button,
.bwc-form-actions button {
  min-height: 50px;
  padding: 10px 15px;
  color: var(--bwc-ink);
  font-weight: 800;
  background: #fff;
  border: 1px solid var(--bwc-line);
  border-radius: 0;
  cursor: pointer;
}

.bwc-date-controls button:hover,
.bwc-month-nav button:hover,
.bwc-coordinate-actions button:hover {
  color: #fff;
  background: var(--bwc-green);
  border-color: var(--bwc-green);
}

.bwc-date-controls label {
  display: grid;
  grid-template-columns: auto minmax(160px, 1fr);
  align-items: center;
  gap: 13px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.bwc-date-controls label span {
  color: var(--bwc-muted);
  font-size: 0.72rem;
  font-weight: 700;
}

.bwc-date-controls input {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.bwc-selected-date {
  margin: 32px 0 18px;
  color: var(--bwc-red);
  font-size: 0.82rem;
  font-weight: 800;
}

.bwc-car-list {
  display: grid;
  gap: 26px;
}

.bwc-car-card {
  display: grid;
  grid-template-columns: minmax(250px, 0.8fr) minmax(300px, 1.2fr) minmax(280px, 0.8fr);
  min-width: 0;
  background: #fff;
  border: 1px solid var(--bwc-line);
}

.bwc-car-card-photo {
  min-height: 390px;
  padding: 25px;
}

.bwc-car-card-copy {
  padding: 34px 30px;
}

.bwc-car-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.bwc-car-tags span {
  padding: 6px 9px;
  color: var(--bwc-green);
  font-size: 0.66rem;
  font-weight: 800;
  background: #edf0ea;
}

.bwc-car-card h3 {
  margin: 20px 0 10px;
  font-family: var(--bwc-serif);
  font-size: 1.85rem;
}

.bwc-car-card h3 a {
  text-decoration: none;
}

.bwc-car-card-copy > p {
  color: var(--bwc-muted);
  line-height: 1.75;
}

.bwc-today-location {
  display: grid;
  gap: 7px;
  margin-top: 24px;
  padding: 18px;
  background: var(--bwc-cream);
  border-left: 4px solid var(--bwc-red);
}

.bwc-today-location > span {
  color: var(--bwc-red);
  font-size: 0.66rem;
  font-weight: 800;
}

.bwc-today-location small {
  color: var(--bwc-muted);
  line-height: 1.6;
}

.bwc-card-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 11px;
  margin-top: 24px;
}

.bwc-card-actions a,
.bwc-qr-link,
.bwc-location-card > a,
.bwc-coordinate-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 15px;
  color: var(--bwc-green);
  font-size: 0.76rem;
  font-weight: 800;
  text-decoration: none;
  border: 1px solid var(--bwc-green);
}

.bwc-card-actions a.is-primary,
.bwc-qr-link,
.bwc-location-card > a {
  color: #fff;
  background: var(--bwc-red);
  border-color: var(--bwc-red);
}

.bwc-card-map,
.bwc-map {
  display: block;
  width: 100%;
  min-height: 390px;
  border: 0;
  border-left: 1px solid var(--bwc-line);
}

.bwc-empty {
  padding: 44px 25px;
  text-align: center;
  background: var(--bwc-cream);
  border: 1px solid var(--bwc-line);
}

.bwc-empty[hidden] {
  display: none;
}

.bwc-empty strong {
  font-family: var(--bwc-serif);
  font-size: 1.35rem;
}

.bwc-empty p {
  margin-bottom: 0;
  color: var(--bwc-muted);
}

.bwc-footer {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto auto;
  align-items: center;
  gap: 32px;
  min-height: 210px;
  margin-top: 120px;
  padding: 48px clamp(24px, 6vw, 90px);
  color: #fff;
  background: #2d3931;
}

.bwc-logo.is-footer {
  grid-template-columns: 64px auto;
}

.bwc-logo.is-footer .bwc-logo-mark {
  width: 64px;
  height: 64px;
  background: var(--bwc-red);
}

.bwc-logo.is-footer strong {
  font-size: 1.35rem;
}

.bwc-footer > small {
  color: #c8cec9;
  font-size: 0.62rem;
}

/* Kitchen car public page */
.bwc-breadcrumb,
.bwc-car-hero,
.bwc-story-tabs,
.bwc-admin-head,
.bwc-admin-layout {
  width: min(1180px, calc(100% - 48px));
  margin-right: auto;
  margin-left: auto;
}

.bwc-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 30px;
  color: var(--bwc-muted);
  font-size: 0.7rem;
}

.bwc-car-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.8fr);
  align-items: stretch;
  margin-top: 34px;
}

.bwc-car-hero > div:first-child {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 450px;
  padding: clamp(40px, 7vw, 82px);
  color: #fff;
  background: var(--bwc-green);
}

.bwc-car-hero .bwc-kicker {
  color: #e6cd9e;
}

.bwc-car-hero h1 {
  margin: 22px 0 18px;
  font-family: var(--bwc-serif);
  font-size: clamp(2.65rem, 6vw, 5.8rem);
  font-weight: 500;
  line-height: 1.12;
}

.bwc-car-hero > div:first-child > p:not(.bwc-kicker) {
  max-width: 600px;
  margin: 0 0 20px;
  color: #edf0eb;
  line-height: 1.8;
}

.bwc-car-main-photo {
  min-height: 450px;
  padding: 30px;
}

.bwc-photo-stream.is-car {
  grid-template-columns: repeat(6, minmax(210px, 1fr));
  margin-top: 70px;
}

.bwc-photo-stream.is-car > div,
.bwc-photo-stream.is-car > div:nth-child(even) {
  min-height: 285px;
}

.bwc-story-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 100px;
  border-top: 1px solid var(--bwc-line);
  border-bottom: 1px solid var(--bwc-line);
}

.bwc-story-tabs article {
  padding: 38px 32px 44px;
}

.bwc-story-tabs article + article {
  border-left: 1px solid var(--bwc-line);
}

.bwc-story-tabs h2 {
  margin: 13px 0 18px;
  font-size: 1.55rem;
}

.bwc-calendar-section {
  padding: clamp(28px, 5vw, 50px);
  background: var(--bwc-cream);
  border-left: 5px solid var(--bwc-gold);
}

.bwc-calendar-help {
  margin: 22px 0 28px;
  font-size: 0.84rem;
}

.bwc-month-nav {
  display: grid;
  grid-template-columns: 48px minmax(120px, auto) 48px;
  align-items: center;
  gap: 9px;
}

.bwc-month-nav strong {
  text-align: center;
  white-space: nowrap;
}

.bwc-month-nav button {
  min-width: 48px;
  min-height: 48px;
  padding: 0;
}

.bwc-calendar-week,
.bwc-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
}

.bwc-calendar-week {
  margin-bottom: 6px;
}

.bwc-calendar-week span {
  padding: 8px 4px;
  color: var(--bwc-muted);
  font-size: 0.68rem;
  font-weight: 800;
  text-align: center;
}

.bwc-calendar-week span:first-child {
  color: var(--bwc-red);
}

.bwc-calendar-grid > button,
.bwc-calendar-grid > span {
  min-width: 0;
  min-height: 92px;
  padding: 9px;
  text-align: left;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid var(--bwc-line);
  border-radius: 0;
}

.bwc-calendar-grid > button {
  display: grid;
  align-content: start;
  gap: 8px;
  color: var(--bwc-ink);
  cursor: pointer;
}

.bwc-calendar-grid > button b {
  font-size: 0.86rem;
}

.bwc-calendar-grid > button small {
  min-width: 0;
  overflow: hidden;
  color: var(--bwc-muted);
  font-size: 0.6rem;
  line-height: 1.35;
  text-overflow: ellipsis;
}

.bwc-calendar-grid > button.has-schedule {
  color: #fff;
  background: var(--bwc-green);
  border-color: var(--bwc-green);
}

.bwc-calendar-grid > button.has-schedule small {
  color: #e7eee8;
}

.bwc-calendar-grid > button.is-selected {
  outline: 4px solid var(--bwc-red);
  outline-offset: -4px;
}

.bwc-calendar-grid > button:hover {
  border-color: var(--bwc-red);
}

.bwc-calendar-grid > span.is-blank {
  opacity: 0.32;
}

.bwc-location-section {
  padding-top: 8px;
}

.bwc-location-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) minmax(400px, 1.15fr);
  margin-top: 28px;
  border: 1px solid var(--bwc-line);
}

.bwc-location-layout[hidden] {
  display: none;
}

.bwc-location-card {
  padding: clamp(28px, 5vw, 50px);
  background: #fff;
}

.bwc-live-badge,
.bwc-saved-badge {
  display: inline-flex;
  padding: 6px 9px;
  color: #fff;
  font-size: 0.66rem;
  font-weight: 800;
  background: var(--bwc-red);
}

.bwc-location-card h3 {
  margin: 20px 0;
  font-family: var(--bwc-serif);
  font-size: clamp(1.7rem, 3vw, 2.5rem);
}

.bwc-location-card dl {
  margin: 0 0 26px;
}

.bwc-location-card dl > div {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--bwc-line);
}

.bwc-location-card dt {
  color: var(--bwc-red);
  font-size: 0.72rem;
  font-weight: 800;
}

.bwc-location-card dd {
  margin: 0;
  line-height: 1.65;
}

.bwc-location-section > .bwc-empty {
  margin-top: 28px;
}

.bwc-map {
  min-height: 480px;
}

.bwc-menu-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 30px;
}

.bwc-menu-grid article {
  display: grid;
  align-content: center;
  gap: 11px;
  min-height: 220px;
  padding: 26px;
  background: var(--bwc-cream);
  border: 1px solid var(--bwc-line);
}

.bwc-menu-grid article span {
  color: var(--bwc-red);
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.bwc-menu-grid article strong {
  font-family: var(--bwc-serif);
  font-size: 1.25rem;
}

.bwc-menu-grid article small {
  color: var(--bwc-muted);
  line-height: 1.5;
}

.bwc-qr-link {
  margin-top: 20px;
}

.bwc-qr-link.is-disabled {
  color: var(--bwc-muted);
  background: var(--bwc-cream);
  border-color: var(--bwc-line);
  cursor: default;
}

/* Admin */
.bwc-admin-page {
  background: #f7f4ed;
}

.bwc-admin-head {
  margin-top: 65px;
}

.bwc-admin-head h1 {
  margin: 13px 0 15px;
  font-size: clamp(2.4rem, 6vw, 5rem);
}

.bwc-admin-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(390px, 0.85fr);
  align-items: start;
  gap: 28px;
  margin-top: 45px;
}

.bwc-admin-layout .bwc-calendar-section {
  width: auto;
  margin: 0;
}

.bwc-calendar-section.is-admin .bwc-calendar-grid > button:not(.has-schedule) small {
  opacity: 0.55;
}

.bwc-schedule-form {
  display: grid;
  gap: 22px;
  padding: clamp(25px, 4vw, 38px);
  background: #fff;
  border: 1px solid var(--bwc-line);
}

.bwc-schedule-form .bwc-section-head {
  align-items: center;
}

.bwc-schedule-form .bwc-section-head h2 {
  font-size: clamp(1.55rem, 3vw, 2.3rem);
}

.bwc-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 17px;
}

.bwc-form-grid label {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.bwc-form-grid label.is-wide {
  grid-column: 1 / -1;
}

.bwc-form-grid label > span {
  color: var(--bwc-muted);
  font-size: 0.7rem;
  font-weight: 800;
}

.bwc-form-grid label > small {
  color: var(--bwc-muted);
  font-size: 0.68rem;
  line-height: 1.6;
}

#scheduleLocationState.is-valid {
  color: var(--bwc-green);
}

#scheduleLocationState.is-error {
  color: #b94b37;
}

.bwc-form-grid input,
.bwc-form-grid textarea {
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  color: var(--bwc-ink);
  background: #fff;
  border: 1px solid var(--bwc-line);
  border-radius: 0;
}

.bwc-form-grid textarea {
  resize: vertical;
}

.bwc-form-grid input:focus,
.bwc-form-grid textarea:focus {
  border-color: var(--bwc-green);
  outline: 2px solid rgba(70, 92, 75, 0.15);
}

.bwc-coordinate-actions,
.bwc-form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.bwc-coordinate-actions a[hidden] {
  display: none;
}

.bwc-map-placeholder {
  display: grid;
  place-items: center;
  min-height: 260px;
  padding: 28px;
  text-align: center;
  background: var(--bwc-cream);
  border: 1px dashed var(--bwc-gold);
}

.bwc-map-placeholder[hidden] {
  display: none;
}

.bwc-map-placeholder p {
  max-width: 330px;
  margin: 8px 0 0;
  color: var(--bwc-muted);
  font-size: 0.78rem;
  line-height: 1.65;
}

.bwc-map.is-admin {
  min-height: 320px;
  border: 1px solid var(--bwc-line);
}

.bwc-map.is-admin[hidden] {
  display: none;
}

.bwc-form-state {
  min-height: 1.5em;
  margin: 0;
  color: var(--bwc-muted);
  font-size: 0.78rem;
}

.bwc-form-state.is-success {
  color: #25633d;
  font-weight: 800;
}

.bwc-form-state.is-error {
  color: var(--bwc-red-dark);
  font-weight: 800;
}

.bwc-form-actions {
  padding-top: 20px;
  border-top: 1px solid var(--bwc-line);
}

.bwc-form-actions .is-save {
  margin-left: auto;
  color: #fff;
  background: var(--bwc-red);
  border-color: var(--bwc-red);
}

.bwc-form-actions .is-delete {
  color: var(--bwc-red-dark);
  border-color: var(--bwc-red);
}

@media (max-width: 1060px) {
  .bwc-hero,
  .bwc-car-hero {
    grid-template-columns: 1fr;
  }

  .bwc-hero-note,
  .bwc-car-main-photo {
    min-height: 420px;
  }

  .bwc-car-card {
    grid-template-columns: minmax(250px, 0.8fr) minmax(0, 1.2fr);
  }

  .bwc-card-map {
    grid-column: 1 / -1;
    min-height: 330px;
    border-top: 1px solid var(--bwc-line);
    border-left: 0;
  }

  .bwc-menu-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bwc-admin-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .bwc-header {
    grid-template-columns: 1fr;
    gap: 22px;
    min-height: 0;
    padding: 22px 18px;
  }

  .bwc-header nav {
    gap: 10px 17px;
  }

  .bwc-logo {
    grid-template-columns: 52px auto;
    gap: 11px;
  }

  .bwc-logo-mark {
    width: 52px;
    height: 52px;
    font-size: 0.78rem;
  }

  .bwc-logo strong {
    font-size: 1.18rem;
  }

  .bwc-hero,
  .bwc-breadcrumb,
  .bwc-car-hero,
  .bwc-story-tabs,
  .bwc-admin-head,
  .bwc-admin-layout,
  .bwc-intro,
  .bwc-date-finder,
  .bwc-calendar-section,
  .bwc-location-section,
  .bwc-menu-section {
    width: min(100% - 24px, 1180px);
  }

  .bwc-hero {
    margin-top: 18px;
  }

  .bwc-hero-copy,
  .bwc-car-hero > div:first-child {
    min-height: 0;
    padding: 42px 24px;
  }

  .bwc-hero-copy h1 {
    font-size: clamp(2.75rem, 16vw, 4.7rem);
  }

  .bwc-hero-note,
  .bwc-car-main-photo {
    min-height: 310px;
  }

  .bwc-photo-stream {
    grid-template-columns: repeat(5, minmax(74vw, 1fr));
    margin-top: 34px;
  }

  .bwc-photo-stream.is-car {
    grid-template-columns: repeat(6, minmax(74vw, 1fr));
    margin-top: 34px;
  }

  .bwc-photo-stream > div,
  .bwc-photo-stream > div:nth-child(even),
  .bwc-photo-stream.is-car > div,
  .bwc-photo-stream.is-car > div:nth-child(even) {
    min-height: 290px;
  }

  .bwc-intro,
  .bwc-date-finder,
  .bwc-calendar-section,
  .bwc-location-section,
  .bwc-menu-section {
    margin-top: 72px;
  }

  .bwc-intro-grid,
  .bwc-story-tabs {
    grid-template-columns: 1fr;
  }

  .bwc-intro-grid article + article,
  .bwc-story-tabs article + article {
    border-top: 1px solid var(--bwc-line);
    border-left: 0;
  }

  .bwc-section-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .bwc-date-controls {
    grid-template-columns: 1fr 1fr;
    padding: 20px 17px;
  }

  .bwc-date-controls label {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
  }

  .bwc-car-card {
    grid-template-columns: 1fr;
  }

  .bwc-car-card-photo {
    min-height: 320px;
  }

  .bwc-card-map {
    grid-column: auto;
    min-height: 300px;
  }

  .bwc-car-hero h1 {
    font-size: clamp(2.45rem, 13vw, 4rem);
  }

  .bwc-calendar-section {
    padding: 22px 12px;
  }

  .bwc-month-nav {
    width: 100%;
    grid-template-columns: 46px 1fr 46px;
  }

  .bwc-calendar-week,
  .bwc-calendar-grid {
    gap: 3px;
  }

  .bwc-calendar-grid > button,
  .bwc-calendar-grid > span {
    min-height: 63px;
    padding: 6px;
  }

  .bwc-calendar-grid > button small {
    display: none;
  }

  .bwc-location-layout {
    grid-template-columns: 1fr;
  }

  .bwc-map {
    min-height: 340px;
    border-top: 1px solid var(--bwc-line);
    border-left: 0;
  }

  .bwc-location-card dl > div {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .bwc-menu-grid {
    grid-template-columns: 1fr;
  }

  .bwc-menu-grid article {
    min-height: 150px;
  }

  .bwc-admin-head {
    margin-top: 42px;
  }

  .bwc-admin-head h1 {
    font-size: 2.1rem;
  }

  .bwc-admin-layout {
    margin-top: 30px;
  }

  .bwc-schedule-form {
    padding: 23px 17px;
  }

  .bwc-form-grid {
    grid-template-columns: 1fr;
  }

  .bwc-form-grid label.is-wide {
    grid-column: auto;
  }

  .bwc-form-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .bwc-form-actions button,
  .bwc-form-actions .is-save {
    width: 100%;
    margin: 0;
  }

  .bwc-footer {
    grid-template-columns: 1fr;
    min-height: 0;
    margin-top: 78px;
    padding: 44px 24px;
  }
}

@media (max-width: 390px) {
  .bwc-calendar-grid > button,
  .bwc-calendar-grid > span {
    min-height: 56px;
  }

  .bwc-calendar-grid > button b {
    font-size: 0.74rem;
  }
}

/* --------------------------------------------------------------------------
   COCOICOTTO public format: kitchen-car list and detail pages
   -------------------------------------------------------------------------- */
.bwc-public-root {
  font-size: 13px;
}

.bwc-public-page {
  --bwc-paper: #e9f0ee;
  --bwc-cream: #edf3f1;
  --bwc-cream-deep: #dfe9e6;
  --bwc-ink: #0e211f;
  --bwc-muted: #6c7a76;
  --bwc-line: #d3c2a4;
  --bwc-red: #ef7457;
  --bwc-red-dark: #d95f45;
  --bwc-green: #1d9d86;
  --bwc-gold: #ad8950;
  --bwc-serif: var(--bwc-sans);
  --coco-recess: #edf3f1;
  --coco-deep: rgba(31, 70, 62, 0.13);
  --coco-light: rgba(255, 255, 255, 0.94);
  --coco-gold-line: rgba(173, 137, 80, 0.36);
  font-size: 13px;
  background: #e9f0ee;
}

.bwc-public-page * {
  border-radius: 0 !important;
}

.bwc-public-page main {
  background: #e9f0ee;
}

.bwc-public-page .coco-public-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) 68px;
  align-items: center;
  gap: 22px;
  min-height: 108px;
  padding: 16px clamp(18px, 4vw, 58px);
  background: var(--coco-recess);
  border: 0;
  box-shadow:
    inset 0 -7px 14px rgba(31, 70, 62, 0.08),
    inset 0 5px 10px rgba(255, 255, 255, 0.78);
  outline: 1px solid var(--coco-gold-line);
  outline-offset: -4px;
}

.bwc-public-page .coco-public-brand {
  display: inline-grid;
  grid-template-columns: 76px auto;
  align-items: center;
  gap: 17px;
  width: fit-content;
  color: #231815;
  text-decoration: none;
}

.bwc-public-page .coco-public-brand img {
  display: block;
  width: 76px;
  height: auto;
  margin: 0;
}

.bwc-public-page .coco-public-brand > span {
  display: grid;
  gap: 4px;
}

.bwc-public-page .coco-public-brand strong {
  font-size: 1.15rem;
  line-height: 1.1;
  letter-spacing: 0.04em;
}

.bwc-public-page .coco-public-brand small {
  color: #1d9d86;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.bwc-public-page .coco-public-nav {
  justify-content: flex-end;
  gap: 10px;
}

.bwc-public-page .coco-public-nav a {
  min-width: 112px;
  padding: 11px 14px;
  color: #0e211f;
  text-align: center;
  text-decoration: none;
  background: #e8efed;
  border: 0;
  box-shadow:
    inset 4px 4px 8px var(--coco-deep),
    inset -4px -4px 8px var(--coco-light);
  outline: 1px solid var(--coco-gold-line);
  outline-offset: -4px;
}

.bwc-public-page .coco-my-menu-trigger {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 3px;
  width: 68px;
  min-width: 68px;
  min-height: 58px;
  padding: 0;
  color: #231815;
  background: transparent;
  border: 0;
  box-shadow: none;
  cursor: pointer;
}

.bwc-public-page .coco-person-icon,
.bwc-public-page .coco-person-icon img {
  display: block;
  width: 36px;
  height: 36px;
}

.bwc-public-page .coco-person-icon img {
  object-fit: contain;
}

.bwc-public-page .coco-my-menu-trigger > strong {
  font-size: 0.68rem;
  line-height: 1;
  white-space: nowrap;
}

.bwc-public-page .coco-my-menu-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9998;
  visibility: hidden;
  background: rgba(14, 33, 31, 0.34);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.24s ease, visibility 0s linear 0.24s;
}

.bwc-public-page .coco-my-menu-panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  display: grid;
  grid-template-rows: auto 1fr;
  width: min(60vw, 280px);
  min-height: 100dvh;
  color: #231815;
  background: #edf3f1;
  box-shadow: -16px 0 34px rgba(24, 51, 46, 0.17);
  visibility: hidden;
  transform: translateX(100%);
  transition: transform 0.28s ease, visibility 0s linear 0.28s;
  overflow-y: auto;
}

.bwc-public-page.coco-my-menu-open {
  overflow: hidden;
}

.bwc-public-page.coco-my-menu-open .coco-my-menu-backdrop {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition-delay: 0s;
}

.bwc-public-page.coco-my-menu-open .coco-my-menu-panel {
  visibility: visible;
  transform: translateX(0);
  transition-delay: 0s;
}

.bwc-public-page .coco-my-menu-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 84px;
  padding: 16px;
  border-bottom: 1px solid rgba(35, 24, 21, 0.13);
}

.bwc-public-page .coco-my-menu-panel-head h2 {
  margin: 0;
  font-size: 1.15rem;
}

.bwc-public-page .coco-my-menu-close {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0 0 3px;
  color: #231815;
  font: 300 2rem/1 Arial, sans-serif;
  background: transparent;
  border: 1px solid rgba(35, 24, 21, 0.26);
  border-radius: 50% !important;
  cursor: pointer;
}

.bwc-public-page .coco-my-menu-panel-body {
  padding: 24px 20px;
}

.bwc-public-page .bwc-kicker,
.bwc-public-page .bwc-selected-date,
.bwc-public-page .bwc-location-card dt,
.bwc-public-page .bwc-menu-grid article span {
  color: var(--bwc-green);
}

/* TOPページの文字密度に合わせた公開ページ用タイポグラフィ。 */
.bwc-public-page .bwc-hero-copy h1 {
  font-size: clamp(2.4rem, 6vw, 4.2rem);
}

.bwc-public-page .bwc-intro > h2 {
  font-size: clamp(1.65rem, 3.4vw, 2.5rem);
}

.bwc-public-page .bwc-section-head h2 {
  font-size: clamp(1.45rem, 3vw, 2.25rem);
}

.bwc-public-page.bwc-car-page .bwc-car-hero h1 {
  font-size: clamp(2rem, 5vw, 3.7rem);
}

.bwc-public-page.bwc-car-page .bwc-car-hero > div:first-child > p:not(.bwc-kicker) {
  font-size: 0.96rem;
}

.bwc-public-page.bwc-car-page .bwc-story-tabs h2 {
  font-size: 1.25rem;
}

.bwc-public-page.bwc-car-page .bwc-story-tabs p {
  font-size: 0.92rem;
}

.bwc-public-page.bwc-car-page .bwc-location-card h3 {
  font-size: clamp(1.35rem, 2.5vw, 1.85rem);
}

.bwc-public-page.bwc-car-page .bwc-location-card dd,
.bwc-public-page.bwc-car-page .bwc-calendar-help {
  font-size: 0.9rem;
}

.bwc-public-page.bwc-car-page .bwc-menu-grid article strong {
  font-size: 1.08rem;
}

.bwc-public-page .bwc-hero-copy,
.bwc-public-page .bwc-car-hero > div:first-child {
  color: var(--bwc-ink);
  background: var(--coco-recess);
  box-shadow:
    inset 10px 10px 22px rgba(31, 70, 62, 0.12),
    inset -10px -10px 22px var(--coco-light);
  outline: 1px solid var(--coco-gold-line);
  outline-offset: -4px;
}

.bwc-public-page .bwc-hero-copy .bwc-kicker,
.bwc-public-page .bwc-car-hero .bwc-kicker {
  color: var(--bwc-green);
}

.bwc-public-page .bwc-hero-copy h1 em {
  color: var(--bwc-green);
}

.bwc-public-page .bwc-hero-copy > p:not(.bwc-kicker),
.bwc-public-page .bwc-car-hero > div:first-child > p:not(.bwc-kicker) {
  color: var(--bwc-muted);
}

.bwc-public-page .bwc-hero-copy > a {
  background: var(--bwc-red);
  box-shadow:
    inset 4px 4px 8px rgba(111, 42, 27, 0.24),
    inset -3px -3px 7px rgba(255, 163, 140, 0.3);
  outline: 1px solid var(--coco-gold-line);
  outline-offset: -4px;
}

.bwc-public-page .bwc-hero-note,
.bwc-public-page .bwc-car-main-photo,
.bwc-public-page .bwc-photo-stream > div,
.bwc-public-page .bwc-car-card-photo {
  background-color: #edf3f1;
  border: 0;
  box-shadow:
    inset 7px 7px 15px rgba(31, 70, 62, 0.11),
    inset -7px -7px 15px var(--coco-light);
}

.bwc-public-page .bwc-hero-note span,
.bwc-public-page .bwc-car-main-photo span,
.bwc-public-page .bwc-photo-stream span,
.bwc-public-page .bwc-car-card-photo span {
  color: var(--bwc-red);
}

/* 横スライダー写真は大きさを約半分にし、一度に複数枚見せる。 */
.bwc-public-page .bwc-photo-stream {
  grid-template-columns: repeat(5, minmax(150px, 1fr));
}

.bwc-public-page .bwc-photo-stream.is-car {
  grid-template-columns: repeat(6, minmax(150px, 1fr));
}

.bwc-public-page .bwc-photo-stream > div,
.bwc-public-page .bwc-photo-stream > div:nth-child(even),
.bwc-public-page .bwc-photo-stream.is-car > div,
.bwc-public-page .bwc-photo-stream.is-car > div:nth-child(even) {
  min-height: 170px;
  padding: 16px;
}

.bwc-public-page .bwc-intro-grid,
.bwc-public-page .bwc-story-tabs {
  gap: 9px;
  padding: 9px;
  background: var(--coco-recess);
  border: 0;
  box-shadow:
    inset 7px 7px 15px rgba(31, 70, 62, 0.11),
    inset -7px -7px 15px var(--coco-light);
  outline: 1px solid var(--coco-gold-line);
  outline-offset: -4px;
}

.bwc-public-page .bwc-intro-grid article,
.bwc-public-page .bwc-story-tabs article {
  background: #e8efed;
  border: 0 !important;
  box-shadow:
    inset 4px 4px 8px var(--coco-deep),
    inset -4px -4px 8px var(--coco-light);
  outline: 1px solid var(--coco-gold-line);
  outline-offset: -4px;
}

.bwc-public-page .bwc-intro-grid b {
  color: var(--bwc-red);
}

.bwc-public-page .bwc-date-finder,
.bwc-public-page .bwc-calendar-section,
.bwc-public-page .bwc-location-section,
.bwc-public-page .bwc-menu-section {
  padding: clamp(24px, 4vw, 42px);
  background: var(--coco-recess);
  border: 0;
  box-shadow:
    inset 7px 7px 15px rgba(31, 70, 62, 0.11),
    inset -7px -7px 15px var(--coco-light);
  outline: 1px solid var(--coco-gold-line);
  outline-offset: -4px;
}

.bwc-public-page .bwc-section-head {
  border-color: rgba(173, 137, 80, 0.36);
}

.bwc-public-page .bwc-section-head > strong,
.bwc-public-page .bwc-live-badge {
  background: var(--bwc-red);
  box-shadow:
    inset 3px 3px 6px rgba(111, 42, 27, 0.24),
    inset -2px -2px 5px rgba(255, 163, 140, 0.3);
  outline: 1px solid var(--coco-gold-line);
  outline-offset: -4px;
}

.bwc-public-page .bwc-date-controls {
  background: #e8efed;
  border: 0;
  box-shadow:
    inset 7px 7px 15px rgba(31, 70, 62, 0.11),
    inset -7px -7px 15px var(--coco-light);
  outline: 1px solid var(--coco-gold-line);
  outline-offset: -4px;
}

.bwc-public-page .bwc-date-controls button,
.bwc-public-page .bwc-date-controls input,
.bwc-public-page .bwc-month-nav button,
.bwc-public-page .bwc-card-actions a,
.bwc-public-page .bwc-qr-link,
.bwc-public-page .bwc-location-card > a {
  background: #e8efed;
  border: 0;
  box-shadow:
    inset 4px 4px 8px var(--coco-deep),
    inset -4px -4px 8px var(--coco-light);
  outline: 1px solid var(--coco-gold-line);
  outline-offset: -4px;
}

.bwc-public-page .bwc-card-actions a.is-primary,
.bwc-public-page .bwc-location-card > a {
  color: #fff;
  background: var(--bwc-red);
  box-shadow:
    inset 4px 4px 8px rgba(111, 42, 27, 0.24),
    inset -3px -3px 7px rgba(255, 163, 140, 0.3);
}

.bwc-public-page .bwc-car-card {
  background: var(--coco-recess);
  border: 0;
  box-shadow:
    inset 8px 8px 17px rgba(31, 70, 62, 0.12),
    inset -8px -8px 17px var(--coco-light);
}

.bwc-public-page .bwc-car-tags span,
.bwc-public-page .bwc-today-location,
.bwc-public-page .bwc-empty,
.bwc-public-page .bwc-location-card,
.bwc-public-page .bwc-menu-grid article {
  background: #e8efed;
  border: 0;
  box-shadow:
    inset 4px 4px 8px var(--coco-deep),
    inset -4px -4px 8px var(--coco-light);
  outline: 1px solid var(--coco-gold-line);
  outline-offset: -4px;
}

.bwc-public-page .bwc-location-layout {
  gap: 9px;
  padding: 9px;
  background: var(--coco-recess);
  border: 0;
  box-shadow:
    inset 7px 7px 15px rgba(31, 70, 62, 0.11),
    inset -7px -7px 15px var(--coco-light);
  outline: 1px solid var(--coco-gold-line);
  outline-offset: -4px;
}

.bwc-public-page .bwc-card-map,
.bwc-public-page .bwc-map {
  border: 0;
  filter: grayscale(1) contrast(0.92) brightness(1.04);
}

.bwc-public-page .bwc-calendar-grid > button,
.bwc-public-page .bwc-calendar-grid > span {
  background: #e8efed;
  border: 0;
  box-shadow:
    inset 3px 3px 7px rgba(31, 70, 62, 0.12),
    inset -3px -3px 7px rgba(255, 255, 255, 0.9);
  outline: 1px solid var(--coco-gold-line);
  outline-offset: -4px;
}

.bwc-public-page .bwc-calendar-grid > button.has-schedule {
  color: #fff;
  background: var(--bwc-green);
  box-shadow:
    inset 4px 4px 8px rgba(7, 66, 56, 0.28),
    inset -3px -3px 7px rgba(93, 214, 190, 0.28);
}

.bwc-public-page .coco-public-footer {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto auto;
  align-items: center;
  gap: 32px;
  min-height: 190px;
  margin-top: 90px;
  padding: 42px clamp(24px, 6vw, 90px);
  color: #231815;
  background: #e4ece9;
  box-shadow:
    inset 0 8px 16px rgba(31, 70, 62, 0.1),
    inset 0 -5px 10px rgba(255, 255, 255, 0.75);
  outline: 1px solid var(--coco-gold-line);
  outline-offset: -4px;
}

.bwc-public-page .coco-public-footer .coco-public-brand {
  grid-template-columns: 76px auto;
}

.bwc-public-page .coco-public-footer nav {
  gap: 12px 24px;
}

.bwc-public-page .coco-public-footer nav a,
.bwc-public-page .coco-public-footer > small {
  color: #231815;
}

@media (max-width: 760px) {
  .bwc-public-page .coco-public-header {
    grid-template-columns: minmax(0, 1fr) 68px;
    gap: 10px;
    min-height: 92px;
    padding: 9px 14px;
  }

  .bwc-public-page .coco-public-nav {
    display: none;
  }

  .bwc-public-page .coco-public-brand {
    grid-template-columns: 76px minmax(0, auto);
    gap: 17px;
  }

  .bwc-public-page .coco-public-brand strong {
    font-size: 1rem;
  }

  .bwc-public-page .bwc-breadcrumb,
  .bwc-public-page .bwc-hero,
  .bwc-public-page .bwc-car-hero,
  .bwc-public-page .bwc-story-tabs,
  .bwc-public-page .bwc-intro,
  .bwc-public-page .bwc-date-finder,
  .bwc-public-page .bwc-calendar-section,
  .bwc-public-page .bwc-location-section,
  .bwc-public-page .bwc-menu-section {
    width: min(100% - 24px, 1180px);
  }

  .bwc-public-page .bwc-date-finder,
  .bwc-public-page .bwc-calendar-section,
  .bwc-public-page .bwc-location-section,
  .bwc-public-page .bwc-menu-section {
    padding: 18px 15px;
  }

  .bwc-public-page .bwc-date-controls label {
    position: relative;
    min-inline-size: 0;
    max-inline-size: 100%;
    overflow: hidden;
  }

  .bwc-public-page .bwc-date-controls label::after {
    content: "";
    position: absolute;
    right: 14px;
    bottom: 19px;
    width: 12px;
    height: 11px;
    border: 1.5px solid #0e211f;
    background: linear-gradient(#0e211f, #0e211f) 0 3px / 100% 1px no-repeat;
    pointer-events: none;
  }

  .bwc-public-page .bwc-date-controls input[type="date"] {
    width: calc(100vw - 88px);
    min-width: 0;
    max-width: calc(100vw - 88px);
    inline-size: calc(100vw - 88px);
    min-inline-size: 0;
    max-inline-size: calc(100vw - 88px);
    margin: 0;
    text-align: center;
    -webkit-appearance: none;
    appearance: none;
  }

  .bwc-public-page .bwc-date-controls input[type="date"]::-webkit-date-and-time-value {
    min-width: 0;
    text-align: center;
  }

  .bwc-public-page .bwc-photo-stream {
    grid-template-columns: repeat(5, minmax(38vw, 1fr));
  }

  .bwc-public-page .bwc-photo-stream.is-car {
    grid-template-columns: repeat(6, minmax(38vw, 1fr));
  }

  .bwc-public-page .bwc-photo-stream > div,
  .bwc-public-page .bwc-photo-stream > div:nth-child(even),
  .bwc-public-page .bwc-photo-stream.is-car > div,
  .bwc-public-page .bwc-photo-stream.is-car > div:nth-child(even) {
    min-height: 150px;
    padding: 12px;
  }

  .bwc-public-page .coco-public-footer {
    grid-template-columns: 1fr;
    min-height: 0;
    margin-top: 72px;
    padding: 34px 18px;
  }

  .bwc-public-page .coco-public-footer .coco-public-brand {
    grid-template-columns: 76px auto;
  }
}

@media (min-width: 800px) {
  .bwc-public-root,
  .bwc-public-page {
    font-size: 15px;
  }
}

/* --------------------------------------------------------------------------
   COCOICOTTO format: kitchen-car operator screen
   -------------------------------------------------------------------------- */
.coco-kitchen-admin-page .coco-admin-label {
  display: grid;
  place-items: center;
  width: 68px;
  min-width: 68px;
  min-height: 58px;
  color: #231815;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  background: #e8efed;
  box-shadow:
    inset 4px 4px 8px var(--coco-deep),
    inset -4px -4px 8px var(--coco-light);
  outline: 1px solid var(--coco-gold-line);
  outline-offset: -4px;
}

.coco-kitchen-admin-page main {
  padding: 0 0 12px;
}

.coco-kitchen-admin-page .bwc-admin-head {
  margin-top: 46px;
  padding: clamp(26px, 4vw, 42px);
  background: var(--coco-recess);
  border: 0;
  box-shadow:
    inset 8px 8px 17px rgba(31, 70, 62, 0.12),
    inset -8px -8px 17px var(--coco-light);
  outline: 1px solid var(--coco-gold-line);
  outline-offset: -4px;
}

.coco-kitchen-admin-page .bwc-admin-head h1 {
  margin: 12px 0 13px;
  font-size: clamp(1.9rem, 4vw, 3.2rem);
  line-height: 1.3;
  letter-spacing: 0.01em;
}

.coco-kitchen-admin-page .bwc-admin-head > p:last-child {
  max-width: 760px;
  margin: 0;
  font-size: 0.9rem;
}

.coco-kitchen-admin-page .bwc-admin-layout {
  grid-template-columns: minmax(0, 1fr) minmax(390px, 0.9fr);
  gap: 28px;
  margin-top: 28px;
}

.coco-kitchen-admin-page .bwc-calendar-section,
.coco-kitchen-admin-page .bwc-schedule-form {
  min-width: 0;
  padding: clamp(24px, 3.4vw, 38px);
  background: var(--coco-recess);
  border: 0;
  box-shadow:
    inset 8px 8px 17px rgba(31, 70, 62, 0.12),
    inset -8px -8px 17px var(--coco-light);
  outline: 1px solid var(--coco-gold-line);
  outline-offset: -4px;
}

.coco-kitchen-admin-page .bwc-section-head {
  border-bottom: 1px solid var(--coco-gold-line);
}

.coco-kitchen-admin-page .bwc-section-head h2,
.coco-kitchen-admin-page .bwc-schedule-form .bwc-section-head h2 {
  font-size: clamp(1.35rem, 2.7vw, 2rem);
  line-height: 1.35;
}

.coco-kitchen-admin-page .bwc-month-nav button,
.coco-kitchen-admin-page .bwc-coordinate-actions button,
.coco-kitchen-admin-page .bwc-coordinate-actions a,
.coco-kitchen-admin-page .bwc-form-actions button,
.coco-kitchen-admin-page .bwc-form-grid input,
.coco-kitchen-admin-page .bwc-form-grid textarea,
.coco-kitchen-admin-page .bwc-map-placeholder {
  border: 0;
  background: #e8efed;
  box-shadow:
    inset 4px 4px 8px var(--coco-deep),
    inset -4px -4px 8px var(--coco-light);
  outline: 1px solid var(--coco-gold-line);
  outline-offset: -4px;
}

.coco-kitchen-admin-page .bwc-form-grid input,
.coco-kitchen-admin-page .bwc-form-grid textarea {
  padding: 13px 14px;
  color: var(--bwc-ink);
}

.coco-kitchen-admin-page .bwc-form-grid input:focus,
.coco-kitchen-admin-page .bwc-form-grid textarea:focus {
  border: 0;
  outline: 2px solid rgba(29, 157, 134, 0.34);
  outline-offset: -4px;
  box-shadow:
    inset 5px 5px 10px rgba(31, 70, 62, 0.17),
    inset -4px -4px 8px var(--coco-light);
}

.coco-kitchen-admin-page .bwc-form-grid label > span {
  color: var(--bwc-ink);
  font-size: 0.74rem;
}

.coco-kitchen-admin-page .bwc-coordinate-actions button,
.coco-kitchen-admin-page .bwc-coordinate-actions a,
.coco-kitchen-admin-page .bwc-form-actions button {
  justify-content: center;
  min-height: 50px;
  padding: 12px 17px;
  color: var(--bwc-ink);
  text-decoration: none;
}

.coco-kitchen-admin-page .bwc-coordinate-actions button:hover,
.coco-kitchen-admin-page .bwc-month-nav button:hover {
  color: #fff;
  background: var(--bwc-green);
}

.coco-kitchen-admin-page .bwc-calendar-grid > button,
.coco-kitchen-admin-page .bwc-calendar-grid > span {
  background: #e8efed;
  border: 0;
  box-shadow:
    inset 3px 3px 7px rgba(31, 70, 62, 0.12),
    inset -3px -3px 7px rgba(255, 255, 255, 0.9);
  outline: 1px solid var(--coco-gold-line);
  outline-offset: -4px;
}

.coco-kitchen-admin-page .bwc-calendar-grid > button.has-schedule {
  color: #fff;
  background: var(--bwc-green);
  box-shadow:
    inset 4px 4px 8px rgba(7, 66, 56, 0.28),
    inset -3px -3px 7px rgba(93, 214, 190, 0.28);
}

.coco-kitchen-admin-page .bwc-calendar-grid > button.is-selected {
  outline: 3px solid var(--bwc-red);
  outline-offset: -5px;
}

.coco-kitchen-admin-page .bwc-saved-badge {
  background: var(--bwc-green);
  box-shadow:
    inset 3px 3px 6px rgba(7, 66, 56, 0.26),
    inset -2px -2px 5px rgba(93, 214, 190, 0.3);
  outline: 1px solid var(--coco-gold-line);
  outline-offset: -3px;
}

.coco-kitchen-admin-page .bwc-map-placeholder {
  min-height: 240px;
}

.coco-kitchen-admin-page .bwc-map.is-admin {
  border: 0;
  outline: 1px solid var(--coco-gold-line);
  outline-offset: -4px;
  filter: grayscale(1) contrast(0.92) brightness(1.04);
}

.coco-kitchen-admin-page .bwc-form-actions {
  border-top-color: var(--coco-gold-line);
}

.coco-kitchen-admin-page .bwc-form-actions .is-save {
  color: #fff;
  background: var(--bwc-red);
  border: 0;
  box-shadow:
    inset 4px 4px 8px rgba(111, 42, 27, 0.24),
    inset -3px -3px 7px rgba(255, 163, 140, 0.3);
}

.coco-kitchen-admin-page .bwc-form-actions .is-delete {
  color: #9b3828;
  background: #e8efed;
  border: 0;
}

@media (max-width: 1060px) {
  .coco-kitchen-admin-page .bwc-admin-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .coco-kitchen-admin-page .coco-public-header {
    grid-template-columns: minmax(0, 1fr) 68px;
  }

  .coco-kitchen-admin-page .bwc-admin-head,
  .coco-kitchen-admin-page .bwc-admin-layout {
    width: min(100% - 24px, 1180px);
  }

  .coco-kitchen-admin-page .bwc-admin-head {
    margin-top: 18px;
    padding: 23px 18px;
  }

  .coco-kitchen-admin-page .bwc-admin-head h1 {
    font-size: 1.72rem;
  }

  .coco-kitchen-admin-page .bwc-admin-layout {
    gap: 18px;
    margin-top: 18px;
  }

  .coco-kitchen-admin-page .bwc-calendar-section,
  .coco-kitchen-admin-page .bwc-schedule-form {
    padding: 20px 15px;
  }

  .coco-kitchen-admin-page .bwc-section-head {
    gap: 17px;
  }

  .coco-kitchen-admin-page .bwc-section-head h2,
  .coco-kitchen-admin-page .bwc-schedule-form .bwc-section-head h2 {
    font-size: 1.35rem;
  }

  .coco-kitchen-admin-page .bwc-month-nav {
    grid-template-columns: 46px minmax(0, 1fr) 46px;
  }

  .coco-kitchen-admin-page .bwc-calendar-grid > button,
  .coco-kitchen-admin-page .bwc-calendar-grid > span {
    min-height: 60px;
    padding: 6px 4px;
  }

  .coco-kitchen-admin-page .bwc-form-grid {
    gap: 16px;
  }

  .coco-kitchen-admin-page .bwc-coordinate-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .coco-kitchen-admin-page .bwc-coordinate-actions button,
  .coco-kitchen-admin-page .bwc-coordinate-actions a {
    width: 100%;
  }

  .coco-kitchen-admin-page .bwc-map-placeholder {
    min-height: 190px;
    padding: 24px 18px;
  }

  .coco-kitchen-admin-page .bwc-map.is-admin {
    min-height: 280px;
  }
}

/* Cocoicotto wordmark used by the kitchen-car public/admin shell. */
.bwc-public-page .cocoicotto-wordmark-brand {
  display: inline-grid !important;
  grid-template-columns: minmax(98px, 112px) auto !important;
  align-items: center;
  gap: 12px !important;
  width: fit-content !important;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.bwc-public-page .cocoicotto-wordmark-brand > .cocoicotto-wordmark-logo {
  display: block;
  width: 112px !important;
  height: auto !important;
  max-width: 100%;
  max-height: 30px !important;
  margin: 0 !important;
  object-fit: contain;
  object-position: left center;
  filter: none !important;
}

.bwc-public-page .cocoicotto-wordmark-brand > span {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.bwc-public-page .cocoicotto-wordmark-brand strong,
.bwc-public-page .cocoicotto-wordmark-brand small {
  line-height: 1;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .bwc-public-page .cocoicotto-wordmark-brand {
    grid-template-columns: 88px auto !important;
    gap: 8px !important;
  }

  .bwc-public-page .cocoicotto-wordmark-brand > .cocoicotto-wordmark-logo {
    width: 88px !important;
    max-height: 24px !important;
  }
}
