:root {
  --japan-trip-bg: #f8f1e7;
  --japan-trip-paper: #fffaf2;
  --japan-trip-ink: #241c18;
  --japan-trip-muted: #6e6259;
  --japan-trip-line: rgba(36, 28, 24, 0.14);
  --japan-trip-accent: #9f443b;
  --japan-trip-tokyo: #b94646;
  --japan-trip-kanazawa: #b08a2e;
  --japan-trip-kyoto: #7b5aa6;
  --japan-trip-fukuoka: #2e7d73;
  --japan-trip-beppu: #d2763f;
  --japan-trip-return: #445f8f;
  --jpy-eur-rate: 0.00540;
}

.japan-trip,
.japan-trip-page {
  color: var(--japan-trip-ink);
  background: radial-gradient(circle at top left, rgba(159,68,59,.10), transparent 24rem), var(--japan-trip-bg);
  font-family: inherit;
}

.japan-trip :where(h1,h2,h3),
.japan-trip-page :where(h1,h2,h3) {
  letter-spacing: -0.02em;
}

.trip-hero,
.wp-block-cover.trip-hero {
  min-height: 420px;
  border-radius: 28px;
  overflow: hidden;
  margin-block: 1.5rem 2rem;
  box-shadow: 0 24px 70px rgba(36,28,24,.18);
}

.trip-hero .wp-block-cover__inner-container {
  max-width: 920px;
}

.trip-card,
.trip-section,
.trip-module-card,
.is-style-trip-card,
.is-style-trip-section,
.is-style-trip-module {
  background: color-mix(in srgb, var(--japan-trip-paper) 92%, white);
  border: 1px solid var(--japan-trip-line);
  border-radius: 24px;
  padding: clamp(1rem, 2vw, 1.6rem);
  box-shadow: 0 14px 38px rgba(36,28,24,.08);
}

.trip-module-card img,
.trip-card img,
.trip-card-image img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 18px;
}

.trip-main-nav,
.is-style-trip-nav {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  margin-block: 1rem 2rem;
}

.trip-main-nav a,
.trip-local-nav a,
.is-style-trip-nav .wp-block-button__link,
.trip-button .wp-block-button__link {
  border-radius: 999px;
  padding: .55rem .85rem;
  text-decoration: none;
  border: 1px solid var(--japan-trip-line);
  background: rgba(255,250,242,.78);
  color: var(--japan-trip-ink);
}

.city-tokyo { --city-color: var(--japan-trip-tokyo); }
.city-kanazawa { --city-color: var(--japan-trip-kanazawa); }
.city-kyoto { --city-color: var(--japan-trip-kyoto); }
.city-fukuoka { --city-color: var(--japan-trip-fukuoka); }
.city-beppu { --city-color: var(--japan-trip-beppu); }
.city-return { --city-color: var(--japan-trip-return); }

.city-tokyo,
.city-kanazawa,
.city-kyoto,
.city-fukuoka,
.city-beppu,
.city-return {
  border-color: color-mix(in srgb, var(--city-color) 40%, var(--japan-trip-line));
}

.city-tokyo .trip-city-label,
.city-kanazawa .trip-city-label,
.city-kyoto .trip-city-label,
.city-fukuoka .trip-city-label,
.city-beppu .trip-city-label,
.city-return .trip-city-label {
  color: var(--city-color);
}

.trip-city-chip,
.trip-day-chip {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border-radius: 999px;
  padding: .35rem .7rem;
  background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 16%, white);
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 72%, black);
  border: 1px solid color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 38%, transparent);
}

.trip-budget,
.is-style-trip-budget {
  background: linear-gradient(135deg, rgba(176,138,46,.12), rgba(159,68,59,.08));
  border: 1px solid rgba(176,138,46,.22);
  border-radius: 22px;
  padding: 1.2rem;
}

.trip-budget .eur-estimate,
.jpy-budget .eur-estimate,
[data-jpy] .eur-estimate {
  color: var(--japan-trip-muted);
  font-weight: 500;
}

.trip-map,
iframe.trip-map {
  width: 100%;
  min-height: 340px;
  border: 0;
  border-radius: 22px;
  box-shadow: 0 14px 34px rgba(36,28,24,.10);
}

.trip-note {
  color: var(--japan-trip-muted);
  font-size: .95rem;
}

/* Version 0.2.2: safer Gutenberg hero built from Group + Image blocks, not Cover. */
.japan-trip .trip-hero,
.trip-hero {
  position: relative;
  display: grid;
  min-height: clamp(360px, 48vw, 560px);
  border-radius: 28px;
  overflow: hidden;
  margin-block: 1.5rem 2rem;
  box-shadow: 0 24px 70px rgba(36,28,24,.18);
  background: #201713;
}

.trip-hero > * {
  grid-area: 1 / 1;
}

.trip-hero .trip-hero-image,
.trip-hero .trip-hero-image img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  margin: 0;
}

.trip-hero .trip-hero-image img {
  display: block;
  object-fit: cover;
  filter: saturate(.92) contrast(.94) brightness(.72);
}

.trip-hero::after {
  content: "";
  grid-area: 1 / 1;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(18,12,9,.72), rgba(18,12,9,.36) 48%, rgba(18,12,9,.14)),
    linear-gradient(0deg, rgba(18,12,9,.42), transparent 46%);
  pointer-events: none;
}

.trip-hero .trip-hero-content {
  z-index: 2;
  align-self: center;
  max-width: 780px;
  padding: clamp(1.4rem, 5vw, 4rem);
  color: #fffaf2;
  text-shadow: 0 2px 22px rgba(0,0,0,.42);
}

.trip-hero .trip-hero-content h1 {
  font-size: clamp(2rem, 4vw, 4.2rem);
  line-height: .96;
  max-width: 12ch;
  margin-block: .2rem .9rem;
}

.trip-hero .trip-lead,
.trip-lead {
  font-size: clamp(1.05rem, 1.55vw, 1.55rem);
  line-height: 1.42;
  max-width: 34em;
  margin: 0;
}

.jt-eyebrow {
  font-size: clamp(.82rem, 1vw, 1rem);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  opacity: .9;
  margin: 0 0 .5rem;
}

@media (max-width: 700px) {
  .trip-hero {
    min-height: 460px;
    border-radius: 22px;
  }
  .trip-hero::after {
    background: linear-gradient(0deg, rgba(18,12,9,.74), rgba(18,12,9,.32));
  }
  .trip-hero .trip-hero-content h1 {
    max-width: 100%;
  }
}

/* Version 0.2.3: cleaned WordPress page layout for actual matkakirja pages. */
.japan-trip-page {
  max-width: min(100%, 1040px);
  margin-inline: auto;
  padding: clamp(1rem, 2vw, 1.6rem);
  border-radius: 0 0 28px 28px;
  overflow: hidden;
}

.japan-trip-page :where(h1,h2,h3,p,figure,.wp-block-columns) {
  box-sizing: border-box;
}

.trip-book-nav {
  margin: 0 0 1.25rem;
  padding: .85rem;
  border-radius: 20px;
  background: rgba(255,250,242,.86);
  border: 1px solid var(--japan-trip-line);
  box-shadow: 0 10px 28px rgba(36,28,24,.06);
}
.trip-book-nav__title {
  display: block;
  margin: 0 0 .55rem;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--japan-trip-muted);
  font-weight: 800;
}
.trip-book-nav__row {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
}
.trip-book-nav__group {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .32rem;
  padding: .18rem;
  border-radius: 999px;
  background: rgba(255,255,255,.45);
  border: 1px solid rgba(36,28,24,.07);
}
.trip-book-nav__group-label,
.trip-book-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: .35rem .62rem;
  border-radius: 999px;
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
  font-size: .84rem;
}
.trip-book-nav__group-label {
  font-weight: 800;
  color: #fffaf2;
  background: var(--city-color, var(--japan-trip-accent));
}
.trip-book-nav a {
  color: var(--japan-trip-ink);
  background: rgba(255,250,242,.88);
  border: 1px solid rgba(36,28,24,.08);
}
.trip-book-nav a:hover,
.trip-book-nav a[aria-current="page"] {
  color: #fffaf2;
  background: var(--city-color, var(--japan-trip-accent));
}
.trip-book-nav__group.city-tokyo { --city-color: var(--japan-trip-tokyo); }
.trip-book-nav__group.city-kanazawa { --city-color: var(--japan-trip-kanazawa); }
.trip-book-nav__group.city-kyoto { --city-color: var(--japan-trip-kyoto); }
.trip-book-nav__group.city-fukuoka { --city-color: var(--japan-trip-fukuoka); }
.trip-book-nav__group.city-beppu { --city-color: var(--japan-trip-beppu); }
.trip-book-nav__group.city-return { --city-color: var(--japan-trip-return); }

.trip-hero-photo {
  position: relative;
  display: grid;
  min-height: clamp(380px, 48vw, 610px);
  margin: 0 0 1.45rem;
  border-radius: 28px;
  overflow: hidden;
  background: #1e1511;
  box-shadow: 0 24px 70px rgba(36,28,24,.18);
}
.trip-hero-photo > * { grid-area: 1 / 1; }
.trip-hero-photo .trip-hero-image,
.trip-hero-photo .trip-hero-image img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  margin: 0;
}
.trip-hero-photo .trip-hero-image img {
  display: block;
  object-fit: cover;
  filter: saturate(.94) contrast(.96) brightness(.72);
}
.trip-hero-photo::after {
  content: "";
  grid-area: 1 / 1;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(20,14,10,.78), rgba(20,14,10,.36) 54%, rgba(20,14,10,.08)),
    linear-gradient(0deg, rgba(20,14,10,.46), transparent 46%);
  pointer-events: none;
}
.trip-hero-copy {
  z-index: 2;
  align-self: end;
  max-width: 760px;
  padding: clamp(1.4rem, 5vw, 4rem);
  color: #fffaf2;
  text-shadow: 0 2px 24px rgba(0,0,0,.48);
}
.trip-hero-copy h1 {
  font-size: clamp(2.15rem, 4.2vw, 4.4rem);
  line-height: .98;
  max-width: 12ch;
  margin: .25rem 0 1rem;
}
.trip-hero-copy .trip-lead {
  max-width: 35em;
  font-size: clamp(1.04rem, 1.45vw, 1.38rem);
  line-height: 1.5;
}
.trip-kicker,
.jt-eyebrow {
  margin: 0 0 .4rem;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
  font-size: .82rem;
}

.trip-intro-note {
  margin: 0 0 1.1rem;
  padding: clamp(1rem, 2vw, 1.35rem);
  border-radius: 22px;
  background: rgba(255,250,242,.86);
  border: 1px solid var(--japan-trip-line);
  box-shadow: 0 10px 28px rgba(36,28,24,.06);
}

.trip-section-nav {
  margin: 0 0 1.75rem;
  padding: .65rem;
  border-radius: 999px;
  background: rgba(255,250,242,.74);
  border: 1px solid var(--japan-trip-line);
}
.trip-section-nav p {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.trip-section-nav a {
  display: inline-flex;
  padding: .48rem .72rem;
  border-radius: 999px;
  text-decoration: none;
  background: #fffaf2;
  border: 1px solid rgba(36,28,24,.08);
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 72%, black);
  font-weight: 700;
  font-size: .88rem;
}

.trip-card-grid {
  gap: clamp(1rem, 2.4vw, 1.6rem);
  margin-bottom: clamp(1rem, 2vw, 1.6rem);
}
.trip-card-grid .wp-block-column {
  min-width: 0;
}
.trip-module-card {
  height: 100%;
}
.trip-module-card :where(h3,p) {
  margin-top: .8rem;
}
.trip-module-card a {
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 76%, black);
  text-decoration-thickness: .08em;
  text-underline-offset: .18em;
}

.trip-budget-card,
.is-style-trip-budget {
  margin: 1.5rem 0;
  background: linear-gradient(135deg, rgba(176,138,46,.16), rgba(159,68,59,.08));
  border: 1px solid rgba(176,138,46,.26);
  border-radius: 24px;
  padding: clamp(1.1rem, 2.2vw, 1.7rem);
  box-shadow: 0 16px 36px rgba(36,28,24,.07);
}
.trip-budget-card h2,
.is-style-trip-budget h2 {
  margin-top: 0;
}

.trip-map-card {
  margin: 0 0 2rem;
  padding: clamp(1rem, 2vw, 1.3rem);
  background: rgba(255,250,242,.7);
  border: 1px solid var(--japan-trip-line);
  border-radius: 24px;
}
.trip-map-card .trip-map,
.trip-map iframe,
.trip-map-card iframe,
.trip-map-frame {
  display: block;
  width: 100% !important;
  height: clamp(320px, 42vw, 460px) !important;
  min-height: 320px;
  border: 0;
  border-radius: 20px;
  box-shadow: 0 14px 34px rgba(36,28,24,.10);
  background: #efe6da;
}

@media (max-width: 780px) {
  .japan-trip-page { padding: .8rem; }
  .trip-book-nav__group { border-radius: 18px; }
  .trip-hero-photo { border-radius: 22px; min-height: 480px; }
  .trip-hero-photo::after { background: linear-gradient(0deg, rgba(20,14,10,.78), rgba(20,14,10,.24)); }
  .trip-hero-copy h1 { max-width: 100%; }
  .trip-section-nav { border-radius: 20px; }
}


/* Version 0.2.4: airier matkakirja navigation and module meta tags. */
.trip-book-nav {
  padding: clamp(1rem, 2vw, 1.35rem);
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(255,250,242,.94), rgba(248,241,231,.88));
}
.trip-book-nav__title {
  margin-bottom: .9rem;
  font-size: .82rem;
}
.trip-book-nav__row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  align-items: stretch;
}
.trip-book-nav__group {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: .42rem;
  padding: .55rem;
  border-radius: 18px;
  background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 8%, rgba(255,250,242,.92));
  border: 1px solid color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 24%, transparent);
}
.trip-book-nav__group-label {
  min-height: 2.15rem;
  padding-inline: .8rem;
  font-size: .82rem;
  flex: 0 0 auto;
}
.trip-book-nav a {
  min-width: 2.15rem;
  min-height: 2.15rem;
  padding: .45rem .68rem;
  font-size: .9rem;
  font-weight: 700;
  box-shadow: 0 4px 10px rgba(36,28,24,.04);
}
.trip-book-nav__group > a:first-child:last-child {
  min-width: auto;
  padding-inline: .9rem;
}
.trip-module-card {
  overflow: hidden;
}
.trip-module-card .trip-card-image {
  margin-bottom: .95rem;
}
.trip-module-card h3 {
  margin-top: .45rem;
}
.trip-module-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: .9rem 0 .2rem;
  padding: 0;
  list-style: none;
}
.trip-module-meta li,
.trip-tag {
  display: inline-flex;
  align-items: center;
  gap: .32rem;
  min-height: 2rem;
  padding: .36rem .75rem;
  border-radius: 999px;
  font-size: .86rem;
  font-weight: 800;
  line-height: 1;
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 70%, #261b15);
  background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 13%, #fffaf2);
  border: 1px solid color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 24%, transparent);
}
.trip-module-meta .tag-easy,
.trip-tag.tag-easy { color: #3d6a3f; background: #e6f1df; border-color: #d4e5cc; }
.trip-module-meta .tag-medium,
.trip-tag.tag-medium { color: #735526; background: #eee5d5; border-color: #e4d7c2; }
.trip-module-meta .tag-fixed,
.trip-tag.tag-fixed { color: #7a3935; background: #edd0cf; border-color: #e4bcba; }
.trip-module-meta .tag-optional,
.trip-tag.tag-optional { color: #5b6470; background: #ece7dd; border-color: #ded6c9; }
.trip-module-meta .tag-walk,
.trip-tag.tag-walk { color: #4d452d; background: #eee4d2; border-color: #e2d3bb; }
.trip-module-meta .tag-food,
.trip-tag.tag-food { color: #7d4c26; background: #f2dfce; border-color: #e8cbb2; }
.trip-hero-photo {
  margin-top: 1rem;
}
@media (max-width: 980px) {
  .trip-book-nav__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .trip-book-nav { border-radius: 20px; }
  .trip-book-nav__row { grid-template-columns: 1fr; }
  .trip-book-nav__group { align-items: flex-start; border-radius: 16px; }
  .trip-book-nav__group-label { min-width: 7.25rem; justify-content: center; }
  .trip-book-nav a { min-width: 2rem; min-height: 2rem; }
}


/* Version 0.2.5: editable Gutenberg block for matkakirja module tags. */
.wp-block-gastrodontti-trip-tags {
  margin-top: .9rem;
  margin-bottom: .2rem;
}
.trip-module-meta .tag-time,
.trip-tag.tag-time {
  color: #574630;
  background: #eee5d5;
  border-color: #e4d7c2;
}
.trip-module-meta .tag-place,
.trip-tag.tag-place {
  color: #315d6c;
  background: #dfedf1;
  border-color: #cbe0e7;
}
.trip-module-meta .tag-money,
.trip-tag.tag-money {
  color: #74531f;
  background: #f1e4c8;
  border-color: #e4d2ab;
}
.block-editor-block-inspector .jt-tag-editor-row {
  margin: 0 0 1rem;
  padding: 0 0 1rem;
  border-bottom: 1px solid #ddd;
}
.block-editor-block-inspector .jt-tag-preset-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}

/* Version 0.2.6: make Matkan kaari hero title lighter on dark/photographic backgrounds. */
.japan-trip.trip-arc .trip-hero .trip-hero-content :where(h1,h2,.trip-lead,.jt-eyebrow),
.japan-trip .trip-hero .trip-hero-content :where(h1,h2,.trip-lead,.jt-eyebrow),
.japan-trip .trip-hero-photo .trip-hero-copy :where(h1,h2,.trip-lead,.jt-eyebrow) {
  color: #fffaf2 !important;
}

.japan-trip.trip-arc .trip-hero .trip-hero-content h1,
.japan-trip .trip-hero .trip-hero-content h1 {
  text-shadow: 0 3px 28px rgba(0,0,0,.62), 0 1px 2px rgba(0,0,0,.5);
}

.editor-styles-wrapper .japan-trip.trip-arc .trip-hero .trip-hero-content :where(h1,h2,.trip-lead,.jt-eyebrow),
.editor-styles-wrapper .japan-trip .trip-hero .trip-hero-content :where(h1,h2,.trip-lead,.jt-eyebrow) {
  color: #fffaf2 !important;
}


/* Version 0.2.7: kaupunkisivu, majoitusalueet and transit rhythm. */
.trip-city-page .trip-city-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
  gap: clamp(1rem, 2.5vw, 1.7rem);
  margin: 0 0 clamp(1.2rem, 2vw, 1.8rem);
}
.trip-city-page .trip-city-facts,
.trip-city-page .trip-stay-card,
.trip-city-page .trip-route-card,
.trip-city-page .trip-day-link-card {
  background: rgba(255,250,242,.82);
  border: 1px solid var(--japan-trip-line);
  border-radius: 24px;
  padding: clamp(1rem, 2vw, 1.45rem);
  box-shadow: 0 12px 30px rgba(36,28,24,.06);
}
.trip-city-page .trip-city-facts h2,
.trip-city-page .trip-stay-card h3,
.trip-city-page .trip-route-card h3,
.trip-city-page .trip-day-link-card h3 {
  margin-top: 0;
}
.trip-city-page .trip-stay-grid,
.trip-city-page .trip-route-grid,
.trip-city-page .trip-day-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(.9rem, 2vw, 1.25rem);
  margin: 0 0 clamp(1.2rem, 2vw, 1.8rem);
}
.trip-city-page .trip-route-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.trip-city-page .trip-day-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.trip-city-page .trip-stay-card.is-recommended {
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 34%, var(--japan-trip-line));
  background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 9%, rgba(255,250,242,.92));
}
.trip-city-page .trip-route-line {
  display: inline-flex;
  align-items: center;
  margin: .2rem 0 .5rem;
  padding: .35rem .65rem;
  border-radius: 999px;
  font-size: .82rem;
  font-weight: 800;
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 72%, #241c18);
  background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 13%, #fffaf2);
  border: 1px solid color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 24%, transparent);
}
.trip-city-page .trip-day-link-card a,
.trip-city-page .trip-city-link-list a {
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 76%, black);
  font-weight: 800;
  text-decoration-thickness: .08em;
  text-underline-offset: .18em;
}
.trip-city-page .trip-city-link-list {
  columns: 2;
  column-gap: 2rem;
}
.trip-city-page .trip-city-link-list li {
  break-inside: avoid;
  margin-bottom: .35rem;
}
.trip-arc .trip-arc-card-link {
  display: inline-flex;
  margin-top: .8rem;
  padding: .55rem .85rem;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 800;
  color: #fffaf2;
  background: var(--city-color, var(--japan-trip-accent));
}
@media (max-width: 900px) {
  .trip-city-page .trip-city-overview,
  .trip-city-page .trip-stay-grid,
  .trip-city-page .trip-route-grid,
  .trip-city-page .trip-day-grid {
    grid-template-columns: 1fr;
  }
  .trip-city-page .trip-city-link-list { columns: 1; }
}

/* Version 0.2.7: city link in main matkakirja navigation + city-colored day borders. */
.trip-book-nav__group {
  align-items: center;
  gap: .5rem;
}
.trip-book-nav__group .trip-book-nav__city-link {
  color: #fffaf2;
  background: var(--city-color, var(--japan-trip-accent));
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 72%, #000 8%);
  box-shadow: 0 8px 18px color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 18%, transparent);
  min-width: auto;
  padding-inline: .95rem;
  font-weight: 850;
}
.trip-book-nav__group .trip-book-nav__city-link:hover,
.trip-book-nav__group .trip-book-nav__city-link:focus-visible {
  color: #fffaf2;
  filter: brightness(1.04);
  transform: translateY(-1px);
}
.trip-book-nav__group a:not(.trip-book-nav__city-link) {
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 70%, #241812);
  background: rgba(255,250,242,.9);
  border: 1.5px solid color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 58%, rgba(36,28,24,.08));
}
.trip-book-nav__group a:not(.trip-book-nav__city-link):hover,
.trip-book-nav__group a:not(.trip-book-nav__city-link)[aria-current="page"] {
  color: #fffaf2;
  background: var(--city-color, var(--japan-trip-accent));
  border-color: var(--city-color, var(--japan-trip-accent));
}
.trip-book-nav__group.trip-book-nav__home .trip-book-nav__city-link {
  background: linear-gradient(135deg, var(--japan-trip-ink), var(--japan-trip-return));
  border-color: rgba(255,250,242,.22);
}
.trip-book-nav__group-label {
  display: none;
}
@media (max-width: 720px) {
  .trip-book-nav__group .trip-book-nav__city-link {
    min-width: 7.25rem;
    justify-content: center;
  }
}



/* Version 0.2.8: editable main navigation block. */
.wp-block-gastrodontti-trip-main-nav {
  margin-block: clamp(1rem, 2vw, 1.75rem);
}
.wp-block-gastrodontti-trip-main-nav .trip-book-nav {
  margin: 0;
}
.block-editor-block-list__block .trip-book-nav.wp-block-gastrodontti-trip-main-nav {
  pointer-events: none;
}

/* Version 0.2.9: make the Matkan kaari front page use the same generous book layout as day pages. */
.japan-trip.trip-arc,
.japan-trip-page.trip-front-page {
  max-width: min(100%, 1040px);
  margin-inline: auto;
  padding: clamp(1rem, 2vw, 1.6rem);
  border-radius: 0 0 28px 28px;
  overflow: hidden;
}

.japan-trip.trip-arc > .wp-block-gastrodontti-trip-main-nav,
.trip-front-page > .wp-block-gastrodontti-trip-main-nav {
  margin-block: 0 clamp(1rem, 2vw, 1.4rem);
}

.japan-trip.trip-arc .trip-hero,
.trip-front-page .trip-hero,
.trip-front-page .trip-hero-photo {
  margin-top: 0;
}

.trip-front-page .trip-arc-grid,
.japan-trip.trip-arc .trip-arc-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2.4vw, 1.55rem);
  margin-block: 1rem 1.75rem;
}

.trip-front-page .trip-arc-card,
.japan-trip.trip-arc .trip-arc-card {
  height: 100%;
  background: color-mix(in srgb, var(--japan-trip-paper) 93%, white);
  border: 1px solid color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 28%, var(--japan-trip-line));
  border-radius: 24px;
  padding: clamp(1rem, 2vw, 1.45rem);
  box-shadow: 0 14px 38px rgba(36,28,24,.07);
}

.trip-front-page .trip-arc-card h3,
.japan-trip.trip-arc .trip-arc-card h3 {
  margin-top: 0;
}

.trip-front-page .trip-arc-card-link,
.japan-trip.trip-arc .trip-arc-card-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: .8rem;
  padding: .55rem .85rem;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 850;
  color: #fffaf2;
  background: var(--city-color, var(--japan-trip-accent));
  border: 1px solid color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 70%, #000 10%);
}

@media (max-width: 820px) {
  .trip-front-page .trip-arc-grid,
  .japan-trip.trip-arc .trip-arc-grid {
    grid-template-columns: 1fr;
  }
}

/* Version 0.2.10: compact matkakirja navigation block. */
.trip-book-nav,
.wp-block-gastrodontti-trip-main-nav .trip-book-nav {
  padding: clamp(.55rem, 1.2vw, .8rem);
  border-radius: 18px;
  margin-block: 0 clamp(.75rem, 1.5vw, 1rem);
}

.trip-book-nav__title {
  margin: 0 0 .42rem;
  font-size: .72rem;
  letter-spacing: .055em;
}

.trip-book-nav__row {
  display: flex;
  flex-wrap: wrap;
  gap: .38rem;
  align-items: center;
}

.trip-book-nav__group {
  display: inline-flex;
  flex: 0 1 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: .22rem;
  padding: .22rem;
  border-radius: 999px;
  min-height: 0;
}

.trip-book-nav__group .trip-book-nav__city-link,
.trip-book-nav__group-label,
.trip-book-nav a {
  min-height: 1.78rem;
  padding: .28rem .56rem;
  font-size: .75rem;
  line-height: 1;
  box-shadow: none;
}

.trip-book-nav__group .trip-book-nav__city-link,
.trip-book-nav__group-label {
  padding-inline: .68rem;
}

.trip-book-nav__group a:not(.trip-book-nav__city-link) {
  min-width: 1.78rem;
  padding-inline: .42rem;
}

.japan-trip.trip-arc > .wp-block-gastrodontti-trip-main-nav,
.trip-front-page > .wp-block-gastrodontti-trip-main-nav,
.japan-trip-page > .wp-block-gastrodontti-trip-main-nav:first-child {
  margin-bottom: clamp(.7rem, 1.6vw, 1rem);
}

@media (max-width: 720px) {
  .trip-book-nav,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav {
    padding: .5rem;
    border-radius: 16px;
  }
  .trip-book-nav__row {
    gap: .28rem;
  }
  .trip-book-nav__group {
    border-radius: 14px;
    padding: .18rem;
  }
  .trip-book-nav__group .trip-book-nav__city-link {
    min-width: auto;
  }
  .trip-book-nav a,
  .trip-book-nav__group .trip-book-nav__city-link {
    min-height: 1.7rem;
    font-size: .72rem;
  }
}

/* Version 0.2.11: automatic state colouring for Matkakirjan sisällys navigation. */
.trip-book-nav.is-state-aware .trip-book-nav__group.is-current-city {
  background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 12%, rgba(255,250,242,.92));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 34%, transparent);
}

.trip-book-nav.is-state-aware .trip-book-nav__city-link.is-current-city {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 22%, transparent);
}

.trip-book-nav.is-state-aware a.is-past-day {
  color: #fffaf2;
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 86%, #2b1b16),
    color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 72%, #fffaf2)
  );
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 78%, #2b1b16);
  box-shadow: inset 0 0 0 1px rgba(255,250,242,.16);
  opacity: .96;
}

.trip-book-nav.is-state-aware a.is-current-day {
  color: #fffaf2;
  background: linear-gradient(135deg, var(--city-color, var(--japan-trip-accent)), color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 76%, #2b1b16));
  border-color: var(--city-color, var(--japan-trip-accent));
  box-shadow: 0 0 0 2px rgba(255,250,242,.9), 0 9px 22px color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 28%, transparent);
  transform: translateY(-1px);
}

.trip-book-nav.is-state-aware a.is-future-day {
  opacity: .64;
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 54%, #5b4c43);
  background: rgba(255,250,242,.62);
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 36%, var(--japan-trip-line));
}

.trip-book-nav.is-state-aware a.is-future-day:hover {
  opacity: 1;
}

.trip-book-nav.is-state-aware a.is-past-day:hover,
.trip-book-nav.is-state-aware a.is-current-day:hover {
  filter: brightness(1.04);
}

/* Version 0.2.12: sidepath cards and sidepath groups for small optional places. */
.trip-sidepath-group,
.wp-block-gastrodontti-trip-sidepath-group {
  margin-block: clamp(1.5rem, 3vw, 2.4rem);
  padding: clamp(1rem, 2.4vw, 1.45rem);
  border-radius: 24px;
  background: color-mix(in srgb, var(--japan-trip-paper) 91%, #fff 9%);
  border: 1px solid color-mix(in srgb, var(--japan-trip-line) 72%, transparent);
  box-shadow: 0 16px 42px rgba(36,28,24,.06);
}

.trip-sidepath-group__title {
  margin: 0 0 .35rem;
}

.trip-sidepath-group__intro {
  max-width: 68ch;
  margin: 0 0 1rem;
  color: color-mix(in srgb, var(--japan-trip-ink) 82%, transparent);
}

.trip-sidepath-group__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(.9rem, 2vw, 1.25rem);
}

.trip-sidepath-card,
.wp-block-gastrodontti-trip-sidepath {
  position: relative;
  overflow: clip;
  border-radius: 22px;
  background: rgba(255,250,242,.92);
  border: 1px solid color-mix(in srgb, var(--japan-trip-line) 80%, transparent);
  box-shadow: 0 14px 34px rgba(36,28,24,.08);
}

.trip-sidepath__figure {
  margin: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: color-mix(in srgb, var(--japan-trip-paper) 84%, #d9c7ad);
}

.trip-sidepath__figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .28s ease, filter .28s ease;
}

.trip-sidepath-card:hover .trip-sidepath__figure img,
.trip-sidepath-card:focus-within .trip-sidepath__figure img {
  transform: scale(1.035);
  filter: brightness(.8) saturate(.95);
}

.trip-sidepath__body {
  padding: clamp(.9rem, 2vw, 1.15rem);
}

.trip-sidepath__kicker {
  margin: 0 0 .25rem;
  font-size: .75rem;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--city-color, var(--japan-trip-accent));
}

.trip-sidepath__title {
  margin: 0 0 .55rem;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
}

.trip-sidepath__intro {
  margin: .55rem 0 0;
}

.trip-sidepath__hover-panel {
  position: absolute;
  inset: auto .85rem .85rem .85rem;
  z-index: 3;
  max-height: calc(100% - 1.7rem);
  overflow: auto;
  padding: .85rem .95rem;
  border-radius: 18px;
  color: #fffaf2;
  background: linear-gradient(135deg, rgba(30,22,18,.94), rgba(70,42,30,.9));
  border: 1px solid rgba(255,250,242,.18);
  box-shadow: 0 18px 40px rgba(0,0,0,.28);
  opacity: 0;
  transform: translateY(.55rem);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

.trip-sidepath__hover-panel strong {
  display: block;
  margin-bottom: .35rem;
  color: #fff3d8;
}

.trip-sidepath__hover-panel p {
  margin: .45rem 0;
}

.trip-sidepath-card:hover .trip-sidepath__hover-panel,
.trip-sidepath-card:focus-within .trip-sidepath__hover-panel {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.trip-sidepath__hover-panel a {
  color: #fff3d8;
  text-decoration: underline;
  text-underline-offset: .18em;
  font-weight: 850;
}

.trip-sidepath__hover-panel a:hover,
.trip-sidepath__hover-panel a:focus {
  color: #ffffff;
}

.trip-sidepath__details {
  margin-top: .8rem;
  padding-top: .7rem;
  border-top: 1px solid color-mix(in srgb, var(--japan-trip-line) 70%, transparent);
}

.trip-sidepath__details summary {
  cursor: pointer;
  color: var(--city-color, var(--japan-trip-accent));
  font-weight: 850;
}

.trip-sidepath__more p:first-child { margin-top: .7rem; }
.trip-sidepath__maplink a {
  font-weight: 850;
  color: var(--city-color, var(--japan-trip-accent));
}

.block-editor-block-list__block .trip-sidepath__hover-panel {
  display: none;
}

@media (hover: hover) and (pointer: fine) {
  .trip-sidepath__details {
    display: none;
  }
}

@media (max-width: 760px) {
  .trip-sidepath-group__grid {
    grid-template-columns: 1fr;
  }
  .trip-sidepath__hover-panel {
    display: none;
  }
  .trip-sidepath__details {
    display: block;
  }
}


/* Sivupolun kuvavalitsin editorissa */
.wp-block-gastrodontti-trip-sidepath .trip-sidepath__figure {
  position: relative;
}

.trip-sidepath__image-actions {
  position: absolute;
  right: 0.75rem;
  bottom: 0.75rem;
  z-index: 4;
}

.trip-sidepath__image-actions .components-button {
  box-shadow: 0 0.45rem 1.4rem rgba(0, 0, 0, 0.22);
}

.trip-media-control__buttons {
  display: flex;
  gap: 0.65rem;
  align-items: center;
  flex-wrap: wrap;
}

/* Version 0.2.15: editable extra text for sidepath groups. */
.trip-sidepath-group__extra {
  max-width: 72ch;
  margin: -.35rem 0 1.15rem;
  padding: .85rem 1rem;
  border-radius: 16px;
  background: rgba(255,250,242,.72);
  border: 1px solid color-mix(in srgb, var(--japan-trip-line) 68%, transparent);
  color: color-mix(in srgb, var(--japan-trip-ink) 78%, transparent);
  font-size: .96rem;
  line-height: 1.65;
}

.block-editor-block-list__block .trip-sidepath-group__extra {
  min-height: 2.4rem;
}

/* Version 0.2.18: compact collapsible sidepath groups. */
.trip-sidepath-group--collapsible {
  position: relative;
}

.trip-sidepath-group__toggle {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin: .35rem 0 1rem;
  padding: .55rem .85rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 42%, var(--japan-trip-line));
  background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 12%, #fffaf2);
  color: var(--city-color, var(--japan-trip-accent));
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(36,28,24,.06);
}

.trip-sidepath-group__toggle::after {
  content: '↓';
  font-size: .95em;
  transition: transform .18s ease;
}

.trip-sidepath-group--collapsible.is-open .trip-sidepath-group__toggle::after {
  transform: rotate(180deg);
}

.trip-sidepath-group--collapsible:not(.is-open) .trip-sidepath-group__extra,
.trip-sidepath-group--collapsible:not(.is-open) .trip-sidepath-group__grid {
  display: none;
}

.trip-sidepath-group--collapsible:not(.is-open) {
  padding-bottom: clamp(.85rem, 2vw, 1.15rem);
}

.trip-sidepath-group__grid {
  grid-template-columns: 1fr;
}

@media (min-width: 860px) {
  .trip-sidepath-group__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .trip-sidepath-group__grid .trip-sidepath__title {
    font-size: clamp(.98rem, 1.35vw, 1.12rem);
  }
  .trip-sidepath-group__grid .trip-sidepath__body {
    padding: .9rem;
  }
}

@media (min-width: 761px) and (max-width: 859px) {
  .trip-sidepath-group__grid {
    grid-template-columns: 1fr;
  }
}

/* Version 0.2.19: optional custom links for sidepaths and sidepath groups. */
.trip-sidepath__extralink {
  margin: .45rem 0 0;
  font-weight: 850;
}

.trip-sidepath__extralink a {
  color: var(--city-color, var(--japan-trip-accent));
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  text-underline-offset: .18em;
}

.trip-sidepath__extralink a:hover,
.trip-sidepath__extralink a:focus-visible {
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 78%, #2a120b);
}

.trip-sidepath__hover-panel .trip-sidepath__extralink a {
  color: #fff6e8;
  border-bottom-color: rgba(255,246,232,.75);
}

.trip-sidepath-group > .trip-sidepath__extralink {
  margin: -.45rem 0 1.15rem;
  padding-left: .15rem;
}

.trip-sidepath-group--collapsible:not(.is-open) > .trip-sidepath__extralink {
  display: none;
}

/* Matkakirjan kartta -blokki */
.trip-google-map {
  margin: clamp(1.5rem, 3vw, 2.5rem) 0;
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 22px;
  background: rgba(15, 23, 24, 0.52);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18);
  overflow: hidden;
}

.trip-google-map__title {
  margin: 0 0 0.85rem;
  color: #f7efe0;
  font-size: clamp(1.15rem, 2vw, 1.55rem);
}

.trip-google-map__frame {
  display: block;
  width: 100%;
  min-height: 220px;
  border: 0;
  border-radius: 18px;
  background: rgba(255,255,255,0.08);
}

.trip-google-map__placeholder {
  min-height: 220px;
  display: grid;
  place-items: center;
  padding: 1.5rem;
  border-radius: 18px;
  border: 1px dashed rgba(255,255,255,0.25);
  color: rgba(247, 239, 224, 0.78);
  text-align: center;
}

.trip-google-map__caption {
  margin: 0.75rem 0 0;
  color: rgba(247, 239, 224, 0.76);
  font-size: 0.95rem;
  line-height: 1.55;
}

.trip-google-map__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.9rem;
  color: #f7c873;
  text-decoration: none;
  font-weight: 700;
}

.trip-google-map__link:hover,
.trip-google-map__link:focus-visible {
  text-decoration: underline;
}

/* Version 0.2.22: soft closing sections stay inside the same visual card language. */
.trip-soft-box,
.trip-budget-box {
  margin: 0 0 clamp(1.1rem, 2.2vw, 1.6rem);
  padding: clamp(1rem, 2.2vw, 1.45rem);
  border-radius: 24px;
  background: color-mix(in srgb, var(--japan-trip-paper) 92%, white);
  border: 1px solid color-mix(in srgb, var(--japan-trip-line) 76%, transparent);
  box-shadow: 0 14px 38px rgba(36,28,24,.06);
  box-sizing: border-box;
}

.trip-soft-box > :first-child,
.trip-budget-box > :first-child {
  margin-top: 0;
}

.trip-soft-box > :last-child,
.trip-budget-box > :last-child {
  margin-bottom: 0;
}

.japan-trip-page > :where(h2,h3) {
  max-width: 100%;
}

.japan-trip-page > :where(.trip-soft-box,.trip-budget-box,.wp-block-gastrodontti-trip-google-map,.trip-map-card) {
  max-width: 100%;
}


/* Version 0.2.23: keep day-page layout width consistent with the working Day 7 layout. */
.japan-trip-page > :where(.trip-module-card,.trip-soft-box,.trip-budget-box,.wp-block-gastrodontti-trip-google-map,.trip-map-card,.trip-sidepath-group) {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.japan-trip-page > .trip-card-grid,
.japan-trip-page > .wp-block-columns.trip-card-grid {
  width: 100% !important;
  max-width: 100% !important;
}

.japan-trip-page > .trip-module-card {
  height: auto;
}

/* Version 0.2.26: clean restaurant/card action links inside trip cards. */
.japan-trip-page .trip-module-card .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  align-items: stretch;
  margin-top: 1rem;
  margin-bottom: 0;
}

.japan-trip-page .trip-module-card .wp-block-button {
  margin: 0 !important;
  flex: 1 1 8.5rem;
  min-width: 0;
}

.japan-trip-page .trip-module-card .wp-block-button__link,
.japan-trip-page .trip-soft-box .wp-block-button__link,
.japan-trip-page .trip-budget-box .wp-block-button__link {
  box-sizing: border-box;
  display: inline-flex;
  width: 100%;
  min-height: 0;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  padding: .62rem .78rem;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 38%, #5b3720);
  background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 32%, #8b4a20);
  color: #fff8ef !important;
  font-size: .84rem;
  font-weight: 850;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  box-shadow: none;
}

.japan-trip-page .trip-module-card .wp-block-button.is-style-outline .wp-block-button__link,
.japan-trip-page .trip-soft-box .wp-block-button.is-style-outline .wp-block-button__link,
.japan-trip-page .trip-budget-box .wp-block-button.is-style-outline .wp-block-button__link {
  background: color-mix(in srgb, var(--japan-trip-paper) 86%, white);
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 54%, #4a2d1a) !important;
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 46%, var(--japan-trip-line));
}

.japan-trip-page .trip-module-card .wp-block-button__link:hover,
.japan-trip-page .trip-module-card .wp-block-button__link:focus-visible,
.japan-trip-page .trip-soft-box .wp-block-button__link:hover,
.japan-trip-page .trip-soft-box .wp-block-button__link:focus-visible,
.japan-trip-page .trip-budget-box .wp-block-button__link:hover,
.japan-trip-page .trip-budget-box .wp-block-button__link:focus-visible {
  transform: translateY(-1px);
  filter: brightness(1.04);
  text-decoration: none;
}

.japan-trip-page .trip-module-card .wp-block-button__link:focus-visible,
.japan-trip-page .trip-soft-box .wp-block-button__link:focus-visible,
.japan-trip-page .trip-budget-box .wp-block-button__link:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 65%, white);
  outline-offset: 2px;
}

@media (max-width: 760px) {
  .japan-trip-page .trip-module-card .wp-block-button {
    flex-basis: 100%;
  }
}

/* Trip nav v0.2.29: tool links and hover submenus */
.trip-book-nav,
.wp-block-gastrodontti-trip-main-nav.trip-book-nav {
  overflow: visible;
  position: relative;
  z-index: 20;
}

.trip-book-nav__row {
  overflow: visible;
}

.trip-book-nav__group {
  position: relative;
  overflow: visible;
}

.trip-book-nav__submenu {
  position: absolute;
  top: calc(100% + 0.45rem);
  left: 0;
  width: min(24rem, 86vw);
  max-height: 70vh;
  overflow: auto;
  z-index: 999;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.28rem;
  padding: 0.85rem;
  border: 1px solid color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 38%, rgba(255,255,255,0.6));
  border-radius: 18px;
  background: color-mix(in srgb, var(--japan-trip-surface) 94%, white 6%);
  box-shadow: 0 18px 48px rgba(20, 14, 8, 0.22);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-0.35rem);
  pointer-events: none;
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.trip-book-nav__group:hover .trip-book-nav__submenu,
.trip-book-nav__group:focus-within .trip-book-nav__submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.trip-book-nav__submenu-title {
  display: block;
  margin: 0 0 0.25rem;
  padding: 0 0 0.45rem;
  border-bottom: 1px solid color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 28%, transparent);
  color: var(--city-color, var(--japan-trip-accent));
  font-family: var(--japan-trip-serif, inherit);
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.trip-book-nav__submenu a,
.trip-book-nav.is-state-aware .trip-book-nav__submenu a,
.wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu a {
  min-width: 0;
  min-height: 0;
  justify-content: flex-start;
  padding: 0.42rem 0.62rem;
  border-radius: 11px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--japan-trip-text);
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: left;
  box-shadow: none;
}

.trip-book-nav__submenu a:hover,
.trip-book-nav__submenu a:focus-visible {
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 38%, transparent);
  background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 10%, transparent);
  color: var(--city-color, var(--japan-trip-accent));
}

.trip-book-nav__tools {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid color-mix(in srgb, var(--japan-trip-muted) 18%, transparent);
}

.trip-book-nav__tools a,
.wp-block-gastrodontti-trip-main-nav .trip-book-nav__tools a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: 0.45rem 0.8rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--japan-trip-text) 18%, transparent);
  background: color-mix(in srgb, var(--japan-trip-surface) 88%, white 12%);
  color: var(--japan-trip-text);
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: none;
}

.trip-book-nav__tools a:hover,
.trip-book-nav__tools a:focus-visible {
  border-color: color-mix(in srgb, var(--japan-trip-accent) 45%, transparent);
  background: color-mix(in srgb, var(--japan-trip-accent) 12%, transparent);
  color: var(--japan-trip-accent);
}

@media (max-width: 760px) {
  .trip-book-nav__submenu {
    display: none;
  }

  .trip-book-nav__tools {
    justify-content: flex-start;
  }
}


/* Trip nav v0.2.30: precise submenus and quieter utility rail */
.trip-book-nav,
.wp-block-gastrodontti-trip-main-nav.trip-book-nav,
.wp-block-gastrodontti-trip-main-nav .trip-book-nav {
  isolation: isolate;
}

.trip-book-nav__item {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
}

.trip-book-nav__group > .trip-book-nav__item > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.trip-book-nav__submenu,
.wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu {
  top: calc(100% + 0.58rem);
  width: min(25rem, 86vw);
  padding: 0.95rem;
  border: 1px solid color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 34%, #fffaf2 66%);
  background: #fffaf2;
  color: var(--japan-trip-text, #241b14);
  box-shadow: 0 22px 58px rgba(20, 14, 8, 0.26), 0 0 0 1px rgba(255, 250, 242, 0.92) inset;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.trip-book-nav__submenu--day {
  width: min(18.5rem, 82vw);
}

.trip-book-nav__submenu--city {
  width: min(26rem, 88vw);
}

.trip-book-nav__group:hover .trip-book-nav__submenu,
.trip-book-nav__group:focus-within .trip-book-nav__submenu {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-0.35rem);
}

.trip-book-nav__item:hover > .trip-book-nav__submenu,
.trip-book-nav__item:focus-within > .trip-book-nav__submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.trip-book-nav__submenu::before {
  content: "";
  position: absolute;
  inset: -0.65rem 0 auto 0;
  height: 0.65rem;
}

.trip-book-nav__submenu-title {
  color: var(--city-color, var(--japan-trip-accent));
}

.trip-book-nav__submenu a,
.trip-book-nav.is-state-aware .trip-book-nav__submenu a,
.wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu a {
  color: var(--japan-trip-text, #241b14);
  background: rgba(255,255,255,0.34);
}

.trip-book-nav__submenu a:hover,
.trip-book-nav__submenu a:focus-visible {
  background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 12%, #fffaf2 88%);
}

.trip-book-nav__tools {
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: max-content;
  max-width: 100%;
  margin: 0.78rem auto 0;
  padding: 0.38rem;
  border: 1px solid color-mix(in srgb, var(--japan-trip-line) 70%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--japan-trip-paper) 86%, #fff 14%);
  box-shadow: 0 10px 28px rgba(36, 28, 24, 0.055);
}

.trip-book-nav__tools::before {
  content: "Koosteet";
  padding: 0 0.35rem 0 0.5rem;
  color: color-mix(in srgb, var(--japan-trip-muted) 74%, var(--japan-trip-text) 26%);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.trip-book-nav__tools a,
.wp-block-gastrodontti-trip-main-nav .trip-book-nav__tools a {
  min-height: 1.85rem;
  padding: 0.42rem 0.78rem;
  border: 1px solid color-mix(in srgb, var(--japan-trip-muted) 18%, transparent);
  background: #fffaf2;
  color: color-mix(in srgb, var(--japan-trip-text) 88%, var(--japan-trip-muted) 12%);
  box-shadow: 0 1px 0 rgba(255,255,255,0.7) inset;
}

.trip-book-nav__tools a:hover,
.trip-book-nav__tools a:focus-visible {
  border-color: color-mix(in srgb, var(--japan-trip-accent) 42%, transparent);
  background: color-mix(in srgb, var(--japan-trip-accent) 9%, #fffaf2 91%);
  color: color-mix(in srgb, var(--japan-trip-accent) 78%, #1d1712 22%);
}

@media (max-width: 760px) {
  .trip-book-nav__tools {
    width: 100%;
    justify-content: flex-start;
    border-radius: 18px;
  }

  .trip-book-nav__tools::before {
    flex-basis: 100%;
    padding-bottom: 0.1rem;
  }
}


/* Trip nav v0.2.31: forgiving hover and structured city menus */
.trip-book-nav__item.is-submenu-open > .trip-book-nav__submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.trip-book-nav__submenu,
.wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu {
  transition: opacity 160ms ease, transform 160ms ease, visibility 0s linear 180ms;
}

.trip-book-nav__item:hover > .trip-book-nav__submenu,
.trip-book-nav__item:focus-within > .trip-book-nav__submenu,
.trip-book-nav__item.is-submenu-open > .trip-book-nav__submenu {
  transition-delay: 0s;
}

.trip-book-nav__submenu--city-index {
  width: min(42rem, calc(100vw - 3rem));
  max-height: min(70vh, 46rem);
  padding: 1rem;
}

.trip-book-nav__submenu-city-main,
.wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu-city-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 0.7rem;
  padding: 0.72rem 0.85rem;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 24%, #fffaf2 76%);
  background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 10%, #fffaf2 90%);
  color: var(--city-color, var(--japan-trip-accent)) !important;
  font-weight: 850;
  text-decoration: none;
}

.trip-book-nav__submenu-city-main::after {
  content: "→";
  opacity: 0.72;
}

.trip-book-nav__submenu-days {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr));
  gap: 0.62rem;
}

.trip-book-nav__submenu-section {
  display: grid;
  gap: 0.22rem;
  align-content: start;
  padding: 0.54rem;
  border-radius: 15px;
  background: rgba(255,255,255,0.42);
  border: 1px solid color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 12%, transparent);
}

.trip-book-nav__submenu-day-heading,
.wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu-day-heading {
  display: inline-flex;
  align-items: center;
  min-height: 0;
  margin: 0 0 0.16rem;
  padding: 0.38rem 0.46rem;
  border-radius: 10px;
  background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 14%, #fffaf2 86%);
  color: var(--city-color, var(--japan-trip-accent)) !important;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
}

.trip-book-nav__submenu .trip-book-nav__submenu-link,
.wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu .trip-book-nav__submenu-link {
  font-size: 0.82rem;
  font-weight: 700;
  padding: 0.35rem 0.46rem;
  border-radius: 9px;
}

.trip-book-nav__submenu--day .trip-book-nav__submenu-link,
.wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu--day .trip-book-nav__submenu-link {
  font-size: 0.88rem;
  padding: 0.44rem 0.58rem;
}

.trip-book-nav__submenu-day-title,
.wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu-day-title {
  color: var(--city-color, var(--japan-trip-accent)) !important;
  font-weight: 900 !important;
}

.trip-book-nav__submenu--day {
  width: min(20rem, 82vw);
}

.trip-book-nav__submenu--day .trip-book-nav__submenu-primary {
  background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 12%, #fffaf2 88%);
}

@media (max-width: 960px) {
  .trip-book-nav__submenu--city-index {
    width: min(34rem, calc(100vw - 2rem));
  }
}

/* Trip nav v0.2.32: stronger submenu hover/focus targets */
.trip-book-nav__submenu .trip-book-nav__submenu-link,
.wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu .trip-book-nav__submenu-link,
.trip-book-nav__submenu-city-main,
.trip-book-nav__submenu-day-heading {
  position: relative;
  border: 1px solid transparent;
  transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease, transform 120ms ease, box-shadow 120ms ease;
}

.trip-book-nav__submenu .trip-book-nav__submenu-link:hover,
.trip-book-nav__submenu .trip-book-nav__submenu-link:focus-visible,
.wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu .trip-book-nav__submenu-link:hover,
.wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu .trip-book-nav__submenu-link:focus-visible,
.trip-book-nav__submenu-city-main:hover,
.trip-book-nav__submenu-city-main:focus-visible,
.trip-book-nav__submenu-day-heading:hover,
.trip-book-nav__submenu-day-heading:focus-visible {
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 42%, #fffaf2 58%);
  background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 19%, #fffaf2 81%) !important;
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 82%, #1d1712 18%) !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 16%, transparent), 0 0 0 1px rgba(255,255,255,0.84) inset;
  transform: translateX(0.16rem);
  outline: none;
}

.trip-book-nav__submenu .trip-book-nav__submenu-link:hover::before,
.trip-book-nav__submenu .trip-book-nav__submenu-link:focus-visible::before,
.wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu .trip-book-nav__submenu-link:hover::before,
.wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu .trip-book-nav__submenu-link:focus-visible::before,
.trip-book-nav__submenu-day-heading:hover::before,
.trip-book-nav__submenu-day-heading:focus-visible::before {
  content: "";
  position: absolute;
  left: 0.18rem;
  top: 0.28rem;
  bottom: 0.28rem;
  width: 0.22rem;
  border-radius: 99px;
  background: var(--city-color, var(--japan-trip-accent));
}

.trip-book-nav__submenu .trip-book-nav__submenu-link:hover,
.trip-book-nav__submenu .trip-book-nav__submenu-link:focus-visible,
.wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu .trip-book-nav__submenu-link:hover,
.wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu .trip-book-nav__submenu-link:focus-visible,
.trip-book-nav__submenu-day-heading:hover,
.trip-book-nav__submenu-day-heading:focus-visible {
  padding-left: 0.72rem;
}

.trip-book-nav__submenu-city-main:hover::after,
.trip-book-nav__submenu-city-main:focus-visible::after {
  transform: translateX(0.12rem);
  opacity: 1;
}

/* Trip nav v0.2.33: mobile tap submenus */
.trip-book-nav__submenu-toggle,
.trip-book-nav__submenu-close {
  display: none;
}

@media (max-width: 760px) {
  .trip-book-nav,
  .wp-block-gastrodontti-trip-main-nav.trip-book-nav,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav {
    z-index: 50;
  }

  .trip-book-nav__row {
    gap: 0.42rem;
  }

  .trip-book-nav__item {
    display: inline-flex;
    align-items: center;
    gap: 0.18rem;
  }

  .trip-book-nav__submenu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    margin-left: -0.18rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 38%, #fffaf2 62%);
    background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 10%, #fffaf2 90%);
    color: var(--city-color, var(--japan-trip-accent));
    font-size: 0.82rem;
    font-weight: 950;
    line-height: 1;
    box-shadow: 0 1px 0 rgba(255,255,255,0.8) inset;
  }

  .trip-book-nav__submenu-toggle[aria-expanded="true"] {
    background: var(--city-color, var(--japan-trip-accent));
    color: #fffaf2;
    border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 78%, #1d1712 22%);
  }

  .trip-book-nav__submenu-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: end;
    min-height: 0;
    margin: 0 0 0.25rem auto;
    padding: 0.42rem 0.68rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 24%, #fffaf2 76%);
    background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 9%, #fffaf2 91%);
    color: var(--city-color, var(--japan-trip-accent));
    font-size: 0.78rem;
    font-weight: 850;
  }

  .trip-book-nav__submenu,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu,
  .trip-book-nav__submenu--day,
  .trip-book-nav__submenu--city,
  .trip-book-nav__submenu--city-index {
    display: grid;
    position: fixed;
    left: 0.82rem;
    right: 0.82rem;
    bottom: 0.82rem;
    top: auto;
    width: auto;
    max-width: none;
    max-height: min(72vh, 36rem);
    padding: 0.85rem;
    overflow: auto;
    border-radius: 22px;
    background: color-mix(in srgb, var(--japan-trip-surface) 97%, white 3%);
    box-shadow: 0 24px 70px rgba(20, 14, 8, 0.34), 0 0 0 999vmax rgba(20, 14, 8, 0.26);
    opacity: 0;
    visibility: hidden;
    transform: translateY(0.65rem);
    pointer-events: none;
    z-index: 10000;
  }

  .trip-book-nav__item.is-mobile-submenu-open > .trip-book-nav__submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }

  .trip-book-nav__item:hover > .trip-book-nav__submenu:not(.trip-book-nav__submenu--open),
  .trip-book-nav__item:focus-within > .trip-book-nav__submenu:not(.trip-book-nav__submenu--open) {
    /* On touch layouts, only the explicit button opens the sheet. */
  }

  .trip-book-nav__submenu-days {
    grid-template-columns: 1fr;
  }

  .trip-book-nav__submenu-section {
    padding: 0.62rem;
  }

  .trip-book-nav__submenu-title {
    font-size: 1.05rem;
  }

  .trip-book-nav__submenu a,
  .trip-book-nav.is-state-aware .trip-book-nav__submenu a,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu a {
    min-height: 2.35rem;
    font-size: 0.95rem;
    padding: 0.58rem 0.72rem;
  }

  .trip-book-nav__tools {
    margin-top: 0.7rem;
  }
}

@media (max-width: 760px) {
  .trip-book-nav__item:hover > .trip-book-nav__submenu,
  .trip-book-nav__item:focus-within > .trip-book-nav__submenu,
  .trip-book-nav__item.is-submenu-open > .trip-book-nav__submenu {
    opacity: 0;
    visibility: hidden;
    transform: translateY(0.65rem);
    pointer-events: none;
  }

  .trip-book-nav__item.is-mobile-submenu-open > .trip-book-nav__submenu,
  .trip-book-nav__item.is-mobile-submenu-open:hover > .trip-book-nav__submenu,
  .trip-book-nav__item.is-mobile-submenu-open:focus-within > .trip-book-nav__submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }
}

/* Trip nav v0.2.34: make the mobile sheet truly opaque and modal */
@media (max-width: 760px) {
  .trip-book-nav__item:not(.is-mobile-submenu-open) > .trip-book-nav__submenu,
  .trip-book-nav__item:not(.is-mobile-submenu-open):hover > .trip-book-nav__submenu,
  .trip-book-nav__item:not(.is-mobile-submenu-open):focus-within > .trip-book-nav__submenu,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__item:not(.is-mobile-submenu-open) > .trip-book-nav__submenu {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .trip-book-nav__item.is-mobile-submenu-open > .trip-book-nav__submenu,
  .trip-book-nav__item.is-mobile-submenu-open:hover > .trip-book-nav__submenu,
  .trip-book-nav__item.is-mobile-submenu-open:focus-within > .trip-book-nav__submenu,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__item.is-mobile-submenu-open > .trip-book-nav__submenu {
    display: grid !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    background: #fffaf2 !important;
    background-color: #fffaf2 !important;
    color: #241b14;
    box-shadow:
      0 30px 80px rgba(20, 14, 8, 0.42),
      0 0 0 999vmax rgba(20, 14, 8, 0.46) !important;
    border: 1px solid color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 34%, #fffaf2 66%) !important;
    isolation: isolate;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .trip-book-nav__item.is-mobile-submenu-open > .trip-book-nav__submenu::before,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__item.is-mobile-submenu-open > .trip-book-nav__submenu::before {
    background: #fffaf2 !important;
    opacity: 1 !important;
  }

  .trip-book-nav__item.is-mobile-submenu-open > .trip-book-nav__submenu > *,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__item.is-mobile-submenu-open > .trip-book-nav__submenu > * {
    position: relative;
    z-index: 1;
  }

  .trip-book-nav__item.is-mobile-submenu-open > .trip-book-nav__submenu .trip-book-nav__submenu-section,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__item.is-mobile-submenu-open > .trip-book-nav__submenu .trip-book-nav__submenu-section {
    background: #fffdf8 !important;
  }
}

/* Trip nav v0.2.35: calmer mobile index and content handoff */
.trip-book-nav__mobile-toggle {
  display: none;
}

@media (max-width: 760px) {
  .trip-book-nav,
  .wp-block-gastrodontti-trip-main-nav.trip-book-nav,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav {
    padding: 1rem;
  }

  .trip-book-nav__title {
    display: block;
    margin-bottom: 0.65rem;
  }

  .trip-book-nav__mobile-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.42rem;
    width: 100%;
    min-height: 2.7rem;
    margin: 0;
    padding: 0.72rem 1rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--japan-trip-ink) 12%, #fffaf2 88%);
    background: linear-gradient(135deg, #fffdf8, #f7efe3);
    color: var(--japan-trip-ink);
    font-size: 0.94rem;
    font-weight: 900;
    letter-spacing: 0.01em;
    box-shadow: 0 10px 22px rgba(44, 32, 22, 0.08), 0 1px 0 rgba(255,255,255,0.92) inset;
  }

  .trip-book-nav__mobile-toggle::after {
    content: "↓";
    opacity: 0.72;
    font-weight: 950;
  }

  .trip-book-nav.is-mobile-nav-open .trip-book-nav__mobile-toggle::after {
    content: "↑";
  }

  .trip-book-nav:not(.is-mobile-nav-open) .trip-book-nav__row,
  .trip-book-nav:not(.is-mobile-nav-open) .trip-book-nav__tools {
    display: none !important;
  }

  .trip-book-nav.is-mobile-nav-open .trip-book-nav__row {
    display: flex !important;
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(70, 55, 42, 0.12);
  }

  .trip-book-nav.is-mobile-nav-open .trip-book-nav__tools {
    display: flex !important;
    margin-top: 0.75rem;
  }

  .trip-book-nav__submenu-toggle,
  .trip-book-nav__item > .trip-book-nav__submenu-toggle,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu-toggle {
    display: none !important;
  }

  .trip-book-nav__item {
    gap: 0 !important;
  }

  .trip-book-nav__city-link,
  .trip-book-nav__day-link {
    touch-action: manipulation;
  }

  .trip-book-nav__city-link::after,
  .trip-book-nav__day-link::after {
    content: "";
  }

  .trip-book-nav__group {
    margin-bottom: 0.2rem;
  }

  .trip-book-nav__item.is-mobile-submenu-open > .trip-book-nav__submenu,
  .trip-book-nav__item.is-mobile-submenu-open:hover > .trip-book-nav__submenu,
  .trip-book-nav__item.is-mobile-submenu-open:focus-within > .trip-book-nav__submenu,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__item.is-mobile-submenu-open > .trip-book-nav__submenu {
    max-height: min(64vh, 30rem) !important;
  }

  .trip-book-nav__submenu-title {
    padding-right: 5.25rem;
  }

  .trip-hero-photo,
  .trip-front-hero,
  .japan-trip-page > .wp-block-group:not(.wp-block-gastrodontti-trip-main-nav) {
    scroll-margin-top: 0.8rem;
  }
}

/* Trip nav v0.2.37: keep edge submenus inside the viewport */
@media (min-width: 761px) {
  .trip-book-nav__group.city-beppu .trip-book-nav__submenu,
  .trip-book-nav__group.city-return .trip-book-nav__submenu,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__group.city-beppu .trip-book-nav__submenu,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__group.city-return .trip-book-nav__submenu {
    left: auto;
    right: 0;
  }

  .trip-book-nav__group.city-beppu .trip-book-nav__submenu::before,
  .trip-book-nav__group.city-return .trip-book-nav__submenu::before {
    left: auto;
    right: 0;
  }

  .trip-book-nav__group.city-fukuoka .trip-book-nav__day-item:nth-last-child(-n+2) > .trip-book-nav__submenu,
  .trip-book-nav__group.city-beppu .trip-book-nav__day-item > .trip-book-nav__submenu,
  .trip-book-nav__group.city-return .trip-book-nav__day-item > .trip-book-nav__submenu {
    left: auto;
    right: 0;
  }

  .trip-book-nav__submenu,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu {
    max-width: calc(100vw - 2rem);
  }

  .trip-book-nav__submenu--day,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu--day {
    width: min(20rem, calc(100vw - 2rem));
  }

  .trip-book-nav__submenu--city-index,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu--city-index {
    width: min(42rem, calc(100vw - 2rem));
  }
}

/* Version 0.2.38: prevent sidepath groups from overflowing on narrow screens */
.trip-sidepath-group,
.wp-block-gastrodontti-trip-sidepath-group {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}

.trip-sidepath-group *,
.wp-block-gastrodontti-trip-sidepath-group * {
  box-sizing: border-box;
}

.trip-sidepath-group__intro,
.trip-sidepath-group__extra,
.trip-sidepath-group__grid,
.trip-sidepath-card,
.wp-block-gastrodontti-trip-sidepath {
  max-width: 100%;
  min-width: 0;
}

@media (max-width: 760px) {
  .japan-trip-page > :where(.trip-sidepath-group,.wp-block-gastrodontti-trip-sidepath-group),
  .trip-sidepath-group,
  .wp-block-gastrodontti-trip-sidepath-group {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: clamp(0.95rem, 4vw, 1.15rem);
    padding-right: clamp(0.95rem, 4vw, 1.15rem);
    overflow: hidden;
  }

  .trip-sidepath-group__title {
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  .trip-sidepath-group__intro,
  .trip-sidepath-group__extra {
    overflow-wrap: anywhere;
  }

  .trip-sidepath-group__grid {
    width: 100%;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .trip-sidepath-card,
  .wp-block-gastrodontti-trip-sidepath {
    width: 100%;
  }

  .trip-sidepath-group .trip-tag,
  .wp-block-gastrodontti-trip-sidepath-group .trip-tag {
    max-width: 100%;
    white-space: normal;
  }
}

/* Version 0.2.39: keep the Google Maps block inside the trip page on desktop and mobile. */
.japan-trip-page .trip-google-map,
.japan-trip-page .wp-block-gastrodontti-trip-google-map,
.japan-trip-page .trip-google-map *,
.japan-trip-page .wp-block-gastrodontti-trip-google-map * {
  box-sizing: border-box;
}

.japan-trip-page .trip-google-map,
.japan-trip-page .wp-block-gastrodontti-trip-google-map {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow: hidden !important;
}

.japan-trip-page .trip-google-map__frame,
.japan-trip-page .trip-google-map iframe,
.japan-trip-page iframe.trip-google-map__frame {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.japan-trip-page .trip-google-map__caption,
.japan-trip-page .trip-google-map__link,
.japan-trip-page .trip-google-map__title {
  max-width: 100%;
  overflow-wrap: anywhere;
}

@media (max-width: 700px) {
  .japan-trip-page .trip-google-map,
  .japan-trip-page .wp-block-gastrodontti-trip-google-map {
    padding: 0.9rem !important;
    border-radius: 18px !important;
  }

  .japan-trip-page .trip-google-map__frame,
  .japan-trip-page .trip-google-map iframe,
  .japan-trip-page iframe.trip-google-map__frame {
    border-radius: 14px !important;
  }
}

/* Version 0.2.40: dark/light integration for Gastrodontti theme mode. */
:where(
  html[data-theme="dark"],
  html[data-color-scheme="dark"],
  html[data-appearance="dark"],
  html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"],
  body[data-color-scheme="dark"],
  body[data-appearance="dark"],
  body.dark,
  body.dark-mode,
  body.is-dark,
  body.is-dark-theme,
  body.gd-dark,
  body.gd-theme-dark,
  body.has-dark-mode
) :where(.japan-trip, .japan-trip-page) {
  --japan-trip-bg: #15110d;
  --japan-trip-paper: #211a14;
  --japan-trip-ink: #f8efe3;
  --japan-trip-muted: #c7b8a4;
  --japan-trip-line: rgba(248, 239, 227, 0.16);
  --japan-trip-accent: #d48466;
  --japan-trip-tokyo: #d66a63;
  --japan-trip-kanazawa: #d1a742;
  --japan-trip-kyoto: #a887d5;
  --japan-trip-fukuoka: #55b7a7;
  --japan-trip-beppu: #ee9258;
  --japan-trip-return: #7694cf;
  color: var(--japan-trip-ink);
  background:
    radial-gradient(circle at top left, rgba(212, 132, 102, .16), transparent 24rem),
    radial-gradient(circle at 90% 8%, rgba(85, 183, 167, .10), transparent 20rem),
    linear-gradient(180deg, #18120e, #100d0a 65%, #0d0b09);
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .japan-trip-page :where(h1,h2,h3,h4,p,li,figcaption),
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .japan-trip :where(h1,h2,h3,h4,p,li,figcaption) {
  color: inherit;
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .japan-trip-page a:not(.trip-book-nav a):not(.trip-section-nav a):not(.wp-block-button__link):not(.trip-google-map__link),
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .japan-trip a:not(.trip-book-nav a):not(.trip-section-nav a):not(.wp-block-button__link):not(.trip-google-map__link) {
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 72%, #fff2d8);
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) :where(.trip-card,.trip-section,.trip-module-card,.is-style-trip-card,.is-style-trip-section,.is-style-trip-module,.trip-intro-note,.trip-soft-box,.trip-budget-box,.trip-front-page .trip-arc-card) {
  background: linear-gradient(180deg, rgba(42, 34, 27, .96), rgba(31, 25, 20, .96));
  border-color: rgba(248, 239, 227, .14);
  box-shadow: 0 18px 50px rgba(0,0,0,.34);
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) :where(.trip-card,.trip-section,.trip-module-card,.trip-intro-note,.trip-soft-box,.trip-budget-box) :where(p,li) {
  color: #eadfcf;
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-hero-photo {
  background: #0e0a08;
  box-shadow: 0 28px 90px rgba(0,0,0,.48);
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-hero-photo .trip-hero-image img {
  filter: saturate(.82) contrast(.98) brightness(.56);
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-hero-photo::after {
  background:
    linear-gradient(90deg, rgba(5,4,3,.84), rgba(5,4,3,.50) 54%, rgba(5,4,3,.20)),
    linear-gradient(0deg, rgba(5,4,3,.62), transparent 46%);
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav {
  background: rgba(28, 22, 17, .94);
  border-color: rgba(248, 239, 227, .15);
  box-shadow: 0 18px 50px rgba(0,0,0,.38);
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav__title,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav__utility-label {
  color: #bfb1a0;
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav__group {
  background: rgba(255,255,255,.035);
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-line)) 34%, rgba(248,239,227,.12));
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav a,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav__utility-link {
  background: rgba(255, 248, 236, .055);
  border-color: rgba(248, 239, 227, .14);
  color: #efe4d5;
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav a:hover,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav a[aria-current="page"],
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav__utility-link:hover,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav__utility-link:focus-visible {
  background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 74%, #1b120d);
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 70%, #fff4df);
  color: #fff9ef;
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav__submenu,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu {
  background: #211a14 !important;
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 44%, rgba(248,239,227,.14));
  box-shadow: 0 22px 70px rgba(0,0,0,.55);
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav__submenu-title,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav__submenu-day-heading,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav__submenu-city-main {
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 75%, #fff2dc) !important;
  background: rgba(255,255,255,.035);
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav__submenu .trip-book-nav__submenu-link,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu .trip-book-nav__submenu-link {
  color: #efe3d2;
  background: rgba(255,255,255,.035);
  border-color: rgba(248,239,227,.08);
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-section-nav {
  background: rgba(31, 25, 20, .78);
  border-color: rgba(248,239,227,.13);
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-section-nav a {
  background: rgba(255,255,255,.045);
  border-color: rgba(248,239,227,.12);
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 72%, #fff1d8);
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-tag {
  background: rgba(255,255,255,.055) !important;
  border-color: rgba(248,239,227,.12) !important;
  color: #eadfce !important;
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-tag.tag-easy { color: #aadf9f !important; background: rgba(115, 174, 95, .16) !important; }
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-tag.tag-medium { color: #e7c98b !important; background: rgba(205, 158, 79, .16) !important; }
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-tag.tag-fixed { color: #efaaa3 !important; background: rgba(214, 106, 99, .16) !important; }
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-tag.tag-place { color: #9ddbd1 !important; background: rgba(85, 183, 167, .15) !important; }
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-tag.tag-food, 
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-tag.tag-money { color: #f0b47d !important; background: rgba(238, 146, 88, .15) !important; }

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-sidepath-group,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .wp-block-gastrodontti-trip-sidepath-group,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-sidepath-card,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .wp-block-gastrodontti-trip-sidepath {
  background: linear-gradient(180deg, rgba(42,34,27,.96), rgba(29,24,20,.96));
  border-color: rgba(248,239,227,.14);
  box-shadow: 0 18px 50px rgba(0,0,0,.36);
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-sidepath-group__toggle {
  background: rgba(255,255,255,.045);
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 75%, #fff2dc);
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 44%, rgba(248,239,227,.15));
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-google-map,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .wp-block-gastrodontti-trip-google-map {
  background: linear-gradient(180deg, rgba(52, 47, 42, .92), rgba(34, 30, 26, .96));
  border-color: rgba(248,239,227,.14);
  box-shadow: 0 18px 55px rgba(0,0,0,.42);
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-google-map__frame,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-google-map iframe {
  filter: saturate(.86) contrast(.96) brightness(.82);
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-google-map__title {
  color: #fff3e3;
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-google-map__caption {
  color: #d8caba;
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .japan-trip-page .trip-module-card .wp-block-button.is-style-outline .wp-block-button__link,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .japan-trip-page .trip-soft-box .wp-block-button.is-style-outline .wp-block-button__link,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .japan-trip-page .trip-budget-box .wp-block-button.is-style-outline .wp-block-button__link {
  background: rgba(255,255,255,.045);
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 74%, #fff2dc) !important;
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 48%, rgba(248,239,227,.16));
}


/* Version 0.2.41: robust theme-mode bridge and safer desktop submenu clamping. */
@media (min-width: 761px) {
  .trip-book-nav__submenu.is-viewport-clamped,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu.is-viewport-clamped {
    max-width: calc(100vw - 1.5rem) !important;
  }
}

html.trip-theme-dark :where(.japan-trip, .japan-trip-page) {
  --japan-trip-bg: #15110d;
  --japan-trip-paper: #211a14;
  --japan-trip-surface: #2a221b;
  --japan-trip-ink: #f8efe3;
  --japan-trip-text: #f8efe3;
  --japan-trip-muted: #c7b8a4;
  --japan-trip-line: rgba(248, 239, 227, 0.16);
  --japan-trip-accent: #d48466;
  --japan-trip-tokyo: #d66a63;
  --japan-trip-kanazawa: #d1a742;
  --japan-trip-kyoto: #a887d5;
  --japan-trip-fukuoka: #55b7a7;
  --japan-trip-beppu: #ee9258;
  --japan-trip-return: #7694cf;
  color: var(--japan-trip-ink);
  background:
    radial-gradient(circle at top left, rgba(212, 132, 102, .16), transparent 24rem),
    radial-gradient(circle at 90% 8%, rgba(85, 183, 167, .10), transparent 20rem),
    linear-gradient(180deg, #18120e, #100d0a 65%, #0d0b09);
}

html.trip-theme-dark .japan-trip-page :where(h1,h2,h3,h4,p,li,figcaption),
html.trip-theme-dark .japan-trip :where(h1,h2,h3,h4,p,li,figcaption) {
  color: inherit;
}

html.trip-theme-dark :where(.trip-card,.trip-section,.trip-module-card,.is-style-trip-card,.is-style-trip-section,.is-style-trip-module,.trip-intro-note,.trip-soft-box,.trip-budget-box,.trip-front-page .trip-arc-card) {
  background: linear-gradient(180deg, rgba(42, 34, 27, .96), rgba(31, 25, 20, .96));
  border-color: rgba(248, 239, 227, .14);
  box-shadow: 0 18px 50px rgba(0,0,0,.34);
}

html.trip-theme-dark :where(.trip-card,.trip-section,.trip-module-card,.trip-intro-note,.trip-soft-box,.trip-budget-box) :where(p,li) {
  color: #eadfcf;
}

html.trip-theme-dark .trip-hero-photo {
  background: #0e0a08;
  box-shadow: 0 28px 90px rgba(0,0,0,.48);
}

html.trip-theme-dark .trip-hero-photo .trip-hero-image img {
  filter: saturate(.82) contrast(.98) brightness(.56);
}

html.trip-theme-dark .trip-hero-photo::after {
  background:
    linear-gradient(90deg, rgba(5,4,3,.84), rgba(5,4,3,.50) 54%, rgba(5,4,3,.20)),
    linear-gradient(0deg, rgba(5,4,3,.62), transparent 46%);
}

html.trip-theme-dark .trip-book-nav {
  background: rgba(28, 22, 17, .96);
  border-color: rgba(248, 239, 227, .15);
  box-shadow: 0 18px 50px rgba(0,0,0,.38);
}

html.trip-theme-dark .trip-book-nav__title,
html.trip-theme-dark .trip-book-nav__tools::before {
  color: #bfb1a0;
}

html.trip-theme-dark .trip-book-nav__group {
  background: rgba(255,255,255,.035);
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-line)) 34%, rgba(248,239,227,.12));
}

html.trip-theme-dark .trip-book-nav a,
html.trip-theme-dark .trip-book-nav__tools a,
html.trip-theme-dark .wp-block-gastrodontti-trip-main-nav .trip-book-nav__tools a {
  background: rgba(255, 248, 236, .055);
  border-color: rgba(248, 239, 227, .14);
  color: #efe4d5;
}

html.trip-theme-dark .trip-book-nav a:hover,
html.trip-theme-dark .trip-book-nav a[aria-current="page"],
html.trip-theme-dark .trip-book-nav__tools a:hover,
html.trip-theme-dark .trip-book-nav__tools a:focus-visible {
  background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 74%, #1b120d);
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 70%, #fff4df);
  color: #fff9ef;
}

html.trip-theme-dark .trip-book-nav__submenu,
html.trip-theme-dark .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu {
  background: #211a14 !important;
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 44%, rgba(248,239,227,.14));
  box-shadow: 0 22px 70px rgba(0,0,0,.55);
}

html.trip-theme-dark .trip-book-nav__submenu-title,
html.trip-theme-dark .trip-book-nav__submenu-day-heading,
html.trip-theme-dark .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu-day-heading,
html.trip-theme-dark .trip-book-nav__submenu-city-main,
html.trip-theme-dark .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu-city-main {
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 75%, #fff2dc) !important;
  background: rgba(255,255,255,.035);
}

html.trip-theme-dark .trip-book-nav__submenu .trip-book-nav__submenu-link,
html.trip-theme-dark .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu .trip-book-nav__submenu-link {
  color: #efe3d2;
  background: rgba(255,255,255,.035);
  border-color: rgba(248,239,227,.08);
}

html.trip-theme-dark .trip-section-nav,
html.trip-theme-dark .trip-book-nav__tools {
  background: rgba(31, 25, 20, .78);
  border-color: rgba(248,239,227,.13);
}

html.trip-theme-dark .trip-section-nav a {
  background: rgba(255,255,255,.045);
  border-color: rgba(248,239,227,.12);
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 72%, #fff1d8);
}

html.trip-theme-dark .trip-tag {
  background: rgba(255,255,255,.055) !important;
  border-color: rgba(248,239,227,.12) !important;
  color: #eadfce !important;
}
html.trip-theme-dark .trip-tag.tag-easy { color: #aadf9f !important; background: rgba(115, 174, 95, .16) !important; }
html.trip-theme-dark .trip-tag.tag-medium { color: #e7c98b !important; background: rgba(205, 158, 79, .16) !important; }
html.trip-theme-dark .trip-tag.tag-fixed { color: #efaaa3 !important; background: rgba(214, 106, 99, .16) !important; }
html.trip-theme-dark .trip-tag.tag-place { color: #9ddbd1 !important; background: rgba(85, 183, 167, .15) !important; }
html.trip-theme-dark .trip-tag.tag-food,
html.trip-theme-dark .trip-tag.tag-money { color: #f0b47d !important; background: rgba(238, 146, 88, .15) !important; }

html.trip-theme-dark .trip-sidepath-group,
html.trip-theme-dark .wp-block-gastrodontti-trip-sidepath-group,
html.trip-theme-dark .trip-sidepath-card,
html.trip-theme-dark .wp-block-gastrodontti-trip-sidepath {
  background: linear-gradient(180deg, rgba(42,34,27,.96), rgba(29,24,20,.96));
  border-color: rgba(248,239,227,.14);
  box-shadow: 0 18px 50px rgba(0,0,0,.36);
}

html.trip-theme-dark .trip-sidepath-group__toggle {
  background: rgba(255,255,255,.045);
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 75%, #fff2dc);
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 44%, rgba(248,239,227,.15));
}

html.trip-theme-dark .trip-google-map,
html.trip-theme-dark .wp-block-gastrodontti-trip-google-map {
  background: linear-gradient(180deg, rgba(52, 47, 42, .92), rgba(34, 30, 26, .96));
  border-color: rgba(248,239,227,.14);
  box-shadow: 0 18px 55px rgba(0,0,0,.42);
}

html.trip-theme-dark .trip-google-map__frame,
html.trip-theme-dark .trip-google-map iframe {
  filter: saturate(.86) contrast(.96) brightness(.82);
}

html.trip-theme-dark .trip-google-map__title {
  color: #fff3e3;
}


/* Version 0.2.43: viewport-fixed desktop submenus and calmer dark active navigation. */
@media (min-width: 761px) {
  .trip-book-nav__submenu.is-viewport-fixed,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu.is-viewport-fixed {
    position: fixed !important;
    z-index: 10050 !important;
    right: auto !important;
    transform: none !important;
    overflow: auto;
    overscroll-behavior: contain;
  }

  .trip-book-nav__submenu.is-viewport-fixed::before {
    display: none;
  }
}

:where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav.is-state-aware .trip-book-nav__group.is-current-city,
:where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav.is-state-aware .trip-book-nav__group.is-current-city {
  background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 18%, rgba(26, 20, 16, .88));
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 44%, rgba(248,239,227,.12));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 22%, transparent), 0 10px 22px rgba(0,0,0,.18);
}

:where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav.is-state-aware .trip-book-nav__city-link.is-current-city,
:where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav.is-state-aware .trip-book-nav__city-link.is-current-city {
  background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 56%, #1b130f);
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 58%, rgba(248,239,227,.28));
  color: #fff4e5;
  box-shadow: 0 6px 16px color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 16%, transparent);
}

:where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav.is-state-aware a.is-current-day,
:where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav.is-state-aware a.is-current-day {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 62%, #1b130f),
    color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 44%, #120e0b)
  );
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 62%, rgba(248,239,227,.22));
  color: #fff4e5;
  box-shadow: 0 0 0 2px rgba(248,239,227,.26), 0 8px 20px color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 16%, transparent);
}

:where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav.is-state-aware a.is-past-day,
:where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav.is-state-aware a.is-past-day {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 52%, #1b130f),
    color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 34%, #120e0b)
  );
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 50%, rgba(248,239,227,.16));
  color: #f5eadc;
  box-shadow: inset 0 0 0 1px rgba(248,239,227,.10);
}

:where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav.is-state-aware a.is-future-day,
:where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav.is-state-aware a.is-future-day {
  background: rgba(255,248,236,.045);
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 26%, rgba(248,239,227,.12));
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 58%, #b9aa98);
  opacity: .78;
}

/* Version 0.2.44: compact return submenu. */
@media (min-width: 761px) {
  .trip-book-nav__group.city-return > .trip-book-nav__submenu--city-index,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__group.city-return > .trip-book-nav__submenu--city-index {
    width: min(24rem, calc(100vw - 3rem));
  }

  .trip-book-nav__group.city-return > .trip-book-nav__submenu--city-index .trip-book-nav__submenu-days,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__group.city-return > .trip-book-nav__submenu--city-index .trip-book-nav__submenu-days {
    grid-template-columns: 1fr;
  }

  .trip-book-nav__group.city-return > .trip-book-nav__submenu--city-index .trip-book-nav__submenu-section,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__group.city-return > .trip-book-nav__submenu--city-index .trip-book-nav__submenu-section {
    min-width: 0;
  }
}


/* Version 0.2.45: clearer section-link affordance and safer compact return submenu. */
.trip-section-nav a,
.wp-block-gastrodontti-trip-main-nav ~ .trip-section-nav a {
  position: relative;
  transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease;
}

.trip-section-nav a::after {
  content: "↗";
  font-size: .78em;
  line-height: 1;
  opacity: 0;
  transform: translateX(-.18rem);
  transition: opacity .16s ease, transform .16s ease;
}

.trip-section-nav a:hover,
.trip-section-nav a:focus-visible {
  background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 16%, #fffaf2);
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 54%, rgba(36,28,24,.14));
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 70%, #1f160f);
  box-shadow: 0 8px 18px rgba(36,28,24,.10), inset 0 0 0 1px color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 18%, transparent);
  transform: translateY(-1px);
  text-decoration: none;
}

.trip-section-nav a:hover::after,
.trip-section-nav a:focus-visible::after {
  opacity: .88;
  transform: translateX(.08rem);
}

:where(html.gd-theme-dark, html.trip-theme-dark) .trip-section-nav a:hover,
:where(html.gd-theme-dark, html.trip-theme-dark) .trip-section-nav a:focus-visible {
  background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 24%, rgba(26,20,16,.94));
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 58%, rgba(248,239,227,.18));
  color: #fff2df;
  box-shadow: 0 10px 22px rgba(0,0,0,.22), inset 0 0 0 1px color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 28%, transparent);
}

@media (min-width: 761px) {
  .trip-book-nav__group.city-return > .trip-book-nav__submenu--city-index,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__group.city-return > .trip-book-nav__submenu--city-index,
  .trip-book-nav__group.city-return > .trip-book-nav__submenu--city-index.is-viewport-fixed,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__group.city-return > .trip-book-nav__submenu--city-index.is-viewport-fixed {
    width: min(27.5rem, calc(100vw - 2rem)) !important;
    max-width: min(27.5rem, calc(100vw - 2rem)) !important;
  }

  .trip-book-nav__group.city-return > .trip-book-nav__submenu--city-index .trip-book-nav__submenu-section,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__group.city-return > .trip-book-nav__submenu--city-index .trip-book-nav__submenu-section {
    padding: .72rem;
  }
}

/* Version 0.2.46: dark-mode mobile navigation sheets. */
@media (max-width: 760px) {
  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__mobile-toggle,
  :where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__mobile-toggle {
    background: linear-gradient(135deg, rgba(56, 45, 36, 0.98), rgba(30, 23, 18, 0.98)) !important;
    color: #f6efe5 !important;
    border-color: rgba(230, 199, 154, 0.28) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,0.34), 0 1px 0 rgba(255,255,255,0.06) inset !important;
  }

  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav.is-mobile-nav-open .trip-book-nav__row {
    border-top-color: rgba(230, 199, 154, 0.15) !important;
  }

  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__item.is-mobile-submenu-open > .trip-book-nav__submenu,
  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__item.is-mobile-submenu-open:hover > .trip-book-nav__submenu,
  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__item.is-mobile-submenu-open:focus-within > .trip-book-nav__submenu,
  :where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__item.is-mobile-submenu-open > .trip-book-nav__submenu {
    background: #1b130e !important;
    background-color: #1b130e !important;
    color: #f6efe5 !important;
    border-color: color-mix(in srgb, var(--city-color, #d89a66) 52%, #2a1b13 48%) !important;
    box-shadow:
      0 30px 80px rgba(0,0,0,0.74),
      0 0 0 999vmax rgba(0,0,0,0.62) !important;
  }

  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__item.is-mobile-submenu-open > .trip-book-nav__submenu::before,
  :where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__item.is-mobile-submenu-open > .trip-book-nav__submenu::before {
    background: #1b130e !important;
    opacity: 1 !important;
  }

  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__submenu-title,
  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__submenu-day-heading,
  :where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu-title,
  :where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu-day-heading {
    color: color-mix(in srgb, var(--city-color, #e7a06c) 62%, #f9efe2 38%) !important;
    border-bottom-color: color-mix(in srgb, var(--city-color, #e7a06c) 42%, transparent 58%) !important;
  }

  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__submenu-close,
  :where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu-close {
    background: rgba(255, 247, 235, 0.07) !important;
    color: color-mix(in srgb, var(--city-color, #e7a06c) 58%, #f9efe2 42%) !important;
    border-color: color-mix(in srgb, var(--city-color, #e7a06c) 56%, rgba(255,255,255,0.12) 44%) !important;
    box-shadow: 0 1px 0 rgba(255,255,255,0.05) inset !important;
  }

  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__item.is-mobile-submenu-open > .trip-book-nav__submenu .trip-book-nav__submenu-section,
  :where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__item.is-mobile-submenu-open > .trip-book-nav__submenu .trip-book-nav__submenu-section {
    background: rgba(255, 248, 238, 0.07) !important;
    border-color: rgba(255, 248, 238, 0.12) !important;
  }

  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__submenu .trip-book-nav__submenu-link,
  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__submenu .trip-book-nav__submenu-city-main,
  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__submenu a,
  :where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu .trip-book-nav__submenu-link,
  :where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu .trip-book-nav__submenu-city-main,
  :where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu a {
    background: rgba(255, 247, 235, 0.075) !important;
    color: #f7efe5 !important;
    border-color: rgba(255, 247, 235, 0.10) !important;
    text-shadow: none !important;
  }

  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__submenu .trip-book-nav__submenu-link:hover,
  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__submenu .trip-book-nav__submenu-link:focus-visible,
  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__submenu .trip-book-nav__submenu-city-main:hover,
  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__submenu .trip-book-nav__submenu-city-main:focus-visible {
    background: color-mix(in srgb, var(--city-color, #e7a06c) 24%, rgba(255,247,235,0.10) 76%) !important;
    color: #fffaf2 !important;
    border-color: color-mix(in srgb, var(--city-color, #e7a06c) 68%, rgba(255,255,255,0.12) 32%) !important;
    box-shadow: 0 10px 22px rgba(0,0,0,0.26) !important;
  }
}

/* Version 0.2.47: warmer dark desktop city submenus. */
@media (min-width: 761px) {
  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__submenu,
  :where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu {
    background: linear-gradient(180deg, #211810, #18120d) !important;
  }

  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__submenu--city-index .trip-book-nav__submenu-section,
  :where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu--city-index .trip-book-nav__submenu-section {
    background: linear-gradient(180deg,
      color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 9%, rgba(43, 33, 25, .94) 91%),
      rgba(34, 26, 20, .96)
    ) !important;
    border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 25%, rgba(248,239,227,.13) 75%) !important;
    box-shadow: inset 0 1px 0 rgba(255,247,235,.035), 0 8px 22px rgba(0,0,0,.18) !important;
  }

  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__submenu--city-index .trip-book-nav__submenu-day-heading,
  :where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu--city-index .trip-book-nav__submenu-day-heading {
    background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 14%, rgba(30,23,17,.92) 86%) !important;
    border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 28%, rgba(248,239,227,.10) 72%) !important;
  }

  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__submenu--city-index .trip-book-nav__submenu-link,
  :where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu--city-index .trip-book-nav__submenu-link,
  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__submenu--city-index .trip-book-nav__submenu-primary {
    background: rgba(255, 244, 226, .055) !important;
    border-color: rgba(255, 244, 226, .10) !important;
    color: #f3e8d8 !important;
  }

  :where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__submenu-city-main,
  :where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu-city-main {
    background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 13%, rgba(31,23,17,.94) 87%) !important;
    border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 34%, rgba(248,239,227,.11) 66%) !important;
  }
}

/* Version 0.2.48: editor compatibility and calmer dark Matkan kaari button. */
:where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__group.trip-book-nav__home,
:where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__group.trip-book-nav__home {
  --city-color: #8d9ab4;
}

:where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__group.trip-book-nav__home .trip-book-nav__city-link,
:where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__group.trip-book-nav__home .trip-book-nav__city-link {
  background: linear-gradient(135deg, rgba(35, 38, 50, .96), rgba(25, 28, 38, .98)) !important;
  color: #eee5d6 !important;
  border-color: rgba(205, 214, 232, .34) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 8px 18px rgba(0,0,0,.22) !important;
}

:where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__group.trip-book-nav__home .trip-book-nav__city-link:hover,
:where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__group.trip-book-nav__home .trip-book-nav__city-link:focus-visible,
:where(html.gd-theme-dark, html.trip-theme-dark) .trip-book-nav__group.trip-book-nav__home .trip-book-nav__city-link[aria-current="page"],
:where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__group.trip-book-nav__home .trip-book-nav__city-link:hover,
:where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__group.trip-book-nav__home .trip-book-nav__city-link:focus-visible,
:where(html.gd-theme-dark, html.trip-theme-dark) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__group.trip-book-nav__home .trip-book-nav__city-link[aria-current="page"] {
  background: linear-gradient(135deg, rgba(55, 61, 78, .96), rgba(34, 39, 54, .98)) !important;
  color: #fff7e8 !important;
  border-color: rgba(224, 232, 248, .48) !important;
  box-shadow: 0 0 0 3px rgba(141, 154, 180, .14), inset 0 1px 0 rgba(255,255,255,.07), 0 10px 24px rgba(0,0,0,.26) !important;
}

/* Version 0.2.49: darker dark-mode map cards and safer Google Maps iframes. */
html.gd-theme-dark .japan-trip-page .trip-google-map,
html.gd-theme-dark .japan-trip-page .wp-block-gastrodontti-trip-google-map,
html.trip-theme-dark .japan-trip-page .trip-google-map,
html.trip-theme-dark .japan-trip-page .wp-block-gastrodontti-trip-google-map {
  background: linear-gradient(180deg, rgba(26, 18, 13, .98), rgba(16, 11, 8, .99)) !important;
  border-color: rgba(238, 160, 92, .22) !important;
  box-shadow: 0 20px 70px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.035) !important;
  color: #f6ead9 !important;
}

html.gd-theme-dark .japan-trip-page .trip-google-map__title,
html.trip-theme-dark .japan-trip-page .trip-google-map__title {
  color: #fff4e7 !important;
}

html.gd-theme-dark .japan-trip-page .trip-google-map__caption,
html.trip-theme-dark .japan-trip-page .trip-google-map__caption {
  color: rgba(246,234,217,.84) !important;
}

html.gd-theme-dark .japan-trip-page .trip-google-map__link,
html.trip-theme-dark .japan-trip-page .trip-google-map__link {
  color: #f3bf6f !important;
}

html.gd-theme-dark .japan-trip-page .trip-google-map__frame,
html.gd-theme-dark .japan-trip-page .trip-google-map iframe,
html.trip-theme-dark .japan-trip-page .trip-google-map__frame,
html.trip-theme-dark .japan-trip-page .trip-google-map iframe {
  background: #130e0b !important;
  filter: saturate(.9) contrast(.96) brightness(.88) !important;
}


/* Version 0.2.50: dark-mode city page cards must stay dark and readable. */
html.gd-theme-dark .trip-city-page :where(.trip-city-facts,.trip-stay-card,.trip-route-card,.trip-day-link-card),
html.trip-theme-dark .trip-city-page :where(.trip-city-facts,.trip-stay-card,.trip-route-card,.trip-day-link-card) {
  background: linear-gradient(180deg, rgba(38, 29, 22, .97), rgba(24, 18, 14, .985)) !important;
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 26%, rgba(248,239,227,.14)) !important;
  box-shadow: 0 18px 52px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.035) !important;
  color: #f4e8d7 !important;
}

html.gd-theme-dark .trip-city-page .trip-stay-card.is-recommended,
html.trip-theme-dark .trip-city-page .trip-stay-card.is-recommended {
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 16%, rgba(38,29,22,.98)),
    rgba(25, 18, 13, .99)
  ) !important;
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 48%, rgba(248,239,227,.16)) !important;
  box-shadow: 0 20px 58px rgba(0,0,0,.50), inset 0 1px 0 rgba(255,255,255,.045) !important;
}

html.gd-theme-dark .trip-city-page :where(.trip-city-facts,.trip-stay-card,.trip-route-card,.trip-day-link-card) :where(h2,h3,h4),
html.trip-theme-dark .trip-city-page :where(.trip-city-facts,.trip-stay-card,.trip-route-card,.trip-day-link-card) :where(h2,h3,h4) {
  color: #fff3e4 !important;
}

html.gd-theme-dark .trip-city-page :where(.trip-city-facts,.trip-stay-card,.trip-route-card,.trip-day-link-card) :where(p,li),
html.trip-theme-dark .trip-city-page :where(.trip-city-facts,.trip-stay-card,.trip-route-card,.trip-day-link-card) :where(p,li) {
  color: rgba(246,234,217,.88) !important;
}

html.gd-theme-dark .trip-city-page :where(.trip-city-facts,.trip-stay-card,.trip-route-card,.trip-day-link-card) a,
html.trip-theme-dark .trip-city-page :where(.trip-city-facts,.trip-stay-card,.trip-route-card,.trip-day-link-card) a {
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 58%, #ffd9a4) !important;
}


/* Version 0.2.51: robust map embeds, legacy tags and dark city-grid surfaces. */
.trip-single-tag-block,
.wp-block-gastrodontti-trip-tag {
  display: inline-flex;
  margin: .18rem .25rem .18rem 0;
}

/* Legacy HTML tags from early pages: support both .trip-tag and old .trip-module-meta li / .tag-* markup. */
.trip-module-meta :where(li, span, a)[class*="tag-"],
.trip-legacy-tags :where(li, span, a),
.trip-tags :where(li, span, a) {
  display: inline-flex;
  align-items: center;
  gap: .32rem;
  min-height: 2rem;
  padding: .36rem .75rem;
  border-radius: 999px;
  font-size: .86rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 70%, #261b15);
  background: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 13%, #fffaf2);
  border: 1px solid color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 24%, transparent);
}

html.gd-theme-dark .trip-module-meta :where(li, span, a)[class*="tag-"],
html.trip-theme-dark .trip-module-meta :where(li, span, a)[class*="tag-"],
html.gd-theme-dark .trip-legacy-tags :where(li, span, a),
html.trip-theme-dark .trip-legacy-tags :where(li, span, a),
html.gd-theme-dark .trip-tags :where(li, span, a),
html.trip-theme-dark .trip-tags :where(li, span, a) {
  color: #eadfce !important;
  background: rgba(255,255,255,.055) !important;
  border-color: rgba(248,239,227,.12) !important;
}
html.gd-theme-dark .trip-module-meta :where(.tag-easy),
html.trip-theme-dark .trip-module-meta :where(.tag-easy) { color: #aadf9f !important; background: rgba(115,174,95,.16) !important; }
html.gd-theme-dark .trip-module-meta :where(.tag-medium,.tag-time,.tag-walk),
html.trip-theme-dark .trip-module-meta :where(.tag-medium,.tag-time,.tag-walk) { color: #e7c98b !important; background: rgba(205,158,79,.16) !important; }
html.gd-theme-dark .trip-module-meta :where(.tag-fixed),
html.trip-theme-dark .trip-module-meta :where(.tag-fixed) { color: #efaaa3 !important; background: rgba(214,106,99,.16) !important; }
html.gd-theme-dark .trip-module-meta :where(.tag-place),
html.trip-theme-dark .trip-module-meta :where(.tag-place) { color: #9ddbd1 !important; background: rgba(85,183,167,.15) !important; }
html.gd-theme-dark .trip-module-meta :where(.tag-food,.tag-money),
html.trip-theme-dark .trip-module-meta :where(.tag-food,.tag-money) { color: #f0b47d !important; background: rgba(238,146,88,.15) !important; }

/* City-page grids sometimes contain old group/card blocks without the newer card class. */
html.gd-theme-dark .trip-city-page :where(.trip-day-grid,.trip-stay-grid,.trip-route-grid) > :where(.wp-block-group,.wp-block-column,div),
html.trip-theme-dark .trip-city-page :where(.trip-day-grid,.trip-stay-grid,.trip-route-grid) > :where(.wp-block-group,.wp-block-column,div) {
  background: linear-gradient(180deg, rgba(38,29,22,.97), rgba(24,18,14,.985)) !important;
  border-color: color-mix(in srgb, var(--city-color, var(--japan-trip-accent)) 26%, rgba(248,239,227,.14)) !important;
  color: #f4e8d7 !important;
}
html.gd-theme-dark .trip-city-page :where(.trip-day-grid,.trip-stay-grid,.trip-route-grid) > :where(.wp-block-group,.wp-block-column,div) :where(h2,h3,h4,p,li),
html.trip-theme-dark .trip-city-page :where(.trip-day-grid,.trip-stay-grid,.trip-route-grid) > :where(.wp-block-group,.wp-block-column,div) :where(h2,h3,h4,p,li) {
  color: #f4e8d7 !important;
}

html.gd-theme-dark .trip-google-map,
html.trip-theme-dark .trip-google-map {
  background: linear-gradient(180deg, rgba(24,18,14,.98), rgba(13,9,7,.985)) !important;
  border-color: rgba(179,116,66,.34) !important;
}
html.gd-theme-dark .trip-google-map__placeholder,
html.trip-theme-dark .trip-google-map__placeholder {
  background: rgba(255,255,255,.055) !important;
  color: rgba(246,234,217,.74) !important;
}


/* 0.2.61: legacy map block is a safe link-card fallback; My Maps embeds use the separate plugin. */
.trip-book-nav--safe .trip-book-nav__row {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
}
.trip-book-nav--safe .trip-book-nav__group {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .25rem;
  align-items: center;
}
.trip-book-nav--safe .trip-book-nav__city-link,
.trip-book-nav--safe .trip-book-nav__day-link,
.trip-book-nav--safe .trip-book-nav__tools a {
  position: static;
}
.trip-book-nav--safe .trip-book-nav__submenu,
.trip-book-nav--safe .trip-book-nav__submenu-toggle,
.trip-book-nav--safe .trip-book-nav__mobile-toggle,
.trip-book-nav--safe .trip-book-nav__submenu-close {
  display: none !important;
}
.trip-google-map--safe .trip-google-map__placeholder {
  display: grid;
  place-items: center;
  border-radius: 18px;
  border: 1px dashed rgba(120, 95, 72, .45);
  background: rgba(54, 39, 29, .10);
  color: inherit;
  padding: 1rem;
  text-align: center;
}
html.gd-theme-dark .trip-google-map--safe .trip-google-map__placeholder,
body.gd-theme-dark .trip-google-map--safe .trip-google-map__placeholder {
  background: rgba(20, 15, 12, .72);
  border-color: rgba(204, 151, 85, .32);
  color: rgba(255, 246, 231, .88);
}

/* Version 0.2.54: CSS-only fix for legacy custom-HTML trip-module-meta tags in dark mode.
   These selectors intentionally include both html and body dark-mode markers because the
   parent theme may apply the active theme state on either element. */
:where(
  html[data-theme="dark"],
  html[data-color-scheme="dark"],
  html[data-appearance="dark"],
  html.dark,
  html.gd-theme-dark,
  html.trip-theme-dark,
  body[data-theme="dark"],
  body[data-color-scheme="dark"],
  body[data-appearance="dark"],
  body.dark,
  body.dark-mode,
  body.is-dark,
  body.is-dark-theme,
  body.gd-dark,
  body.gd-theme-dark,
  body.has-dark-mode
) .japan-trip-page .trip-module-meta > :where(li, span, a)[class*="tag-"] {
  color: #eadfce !important;
  background: rgba(245, 232, 214, .105) !important;
  border-color: rgba(245, 232, 214, .22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 8px 18px rgba(0,0,0,.16) !important;
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .japan-trip-page .trip-module-meta > :where(.tag-easy, .tag-light, .tag-kevyt) {
  color: #d8f2d2 !important;
  background: rgba(116, 170, 95, .22) !important;
  border-color: rgba(154, 212, 136, .36) !important;
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .japan-trip-page .trip-module-meta > :where(.tag-medium, .tag-time, .tag-walk) {
  color: #f1d49b !important;
  background: rgba(205, 158, 79, .23) !important;
  border-color: rgba(231, 201, 139, .34) !important;
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .japan-trip-page .trip-module-meta > :where(.tag-optional) {
  color: #efe4d4 !important;
  background: rgba(235, 222, 204, .14) !important;
  border-color: rgba(235, 222, 204, .27) !important;
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .japan-trip-page .trip-module-meta > :where(.tag-food) {
  color: #ffd7b3 !important;
  background: rgba(238, 146, 88, .23) !important;
  border-color: rgba(255, 184, 126, .36) !important;
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .japan-trip-page .trip-module-meta > :where(.tag-fixed) {
  color: #ffc3bd !important;
  background: rgba(214, 106, 99, .22) !important;
  border-color: rgba(239, 170, 163, .35) !important;
}


/* Version 0.2.55: CSS-only dark-mode fix for intro notes and main nav pill backgrounds. */
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .japan-trip-page .trip-intro-note {
  background: linear-gradient(180deg, rgba(42, 34, 27, .96), rgba(29, 22, 17, .98)) !important;
  border-color: rgba(238, 205, 158, .22) !important;
  color: #efe5d7 !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.045) !important;
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .japan-trip-page .trip-intro-note :where(p,li,strong,em,a) {
  color: #efe5d7 !important;
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .wp-block-gastrodontti-trip-main-nav.trip-book-nav,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .wp-block-gastrodontti-trip-main-nav .trip-book-nav,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav {
  background: rgba(23, 17, 13, .94) !important;
  border-color: rgba(238, 205, 158, .18) !important;
  color: #efe5d7 !important;
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav__group,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__group {
  background: color-mix(in srgb, var(--city-color, #d89a66) 9%, rgba(30, 23, 18, .92) 91%) !important;
  border-color: color-mix(in srgb, var(--city-color, #d89a66) 35%, rgba(238,205,158,.13) 65%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav__group a:not(.trip-book-nav__city-link),
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__group a:not(.trip-book-nav__city-link) {
  background: rgba(255, 247, 235, .075) !important;
  color: color-mix(in srgb, var(--city-color, #d89a66) 55%, #f6ead8 45%) !important;
  border-color: color-mix(in srgb, var(--city-color, #d89a66) 42%, rgba(246,234,216,.15) 58%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 5px 14px rgba(0,0,0,.14) !important;
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav__group a:not(.trip-book-nav__city-link):hover,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav__group a:not(.trip-book-nav__city-link):focus-visible,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav__group a:not(.trip-book-nav__city-link)[aria-current="page"] {
  background: color-mix(in srgb, var(--city-color, #d89a66) 58%, rgba(26,18,13,.96) 42%) !important;
  color: #fff8eb !important;
  border-color: color-mix(in srgb, var(--city-color, #d89a66) 70%, rgba(255,248,235,.24) 30%) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--city-color, #d89a66) 16%, transparent 84%), 0 8px 18px rgba(0,0,0,.20) !important;
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav__tools,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__tools {
  background: rgba(45, 37, 30, .86) !important;
  border-color: rgba(238, 205, 158, .20) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav__tools::before {
  color: #efe5d7 !important;
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav__tools a,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__tools a {
  background: rgba(255, 247, 235, .075) !important;
  color: #f3e8d8 !important;
  border-color: rgba(238, 205, 158, .24) !important;
}

:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav__tools a:hover,
:where(
  html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], html.dark,
  html.gd-theme-dark, html.trip-theme-dark,
  body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"], body.dark,
  body.dark-mode, body.is-dark, body.is-dark-theme, body.gd-dark, body.gd-theme-dark, body.has-dark-mode
) .trip-book-nav__tools a:focus-visible {
  background: rgba(214, 151, 87, .22) !important;
  color: #fff8eb !important;
  border-color: rgba(238, 205, 158, .38) !important;
}


/* Version 0.2.56: restore trip-tags block color controls in light mode.
   Later legacy tag safety rules had made block-generated tags inherit the city color.
   These rules are scoped to the actual Gutenberg trip-tags block and only to non-dark mode. */
:where(html:not(.gd-theme-dark):not(.trip-theme-dark):not(.dark):not([data-theme="dark"]):not([data-color-scheme="dark"]):not([data-appearance="dark"])) body:not(.gd-theme-dark):not(.trip-theme-dark):not(.dark):not(.dark-mode):not(.is-dark):not(.is-dark-theme):not(.gd-dark):not(.has-dark-mode) .japan-trip-page .wp-block-gastrodontti-trip-tags > .trip-tag.tag-easy,
.editor-styles-wrapper .wp-block-gastrodontti-trip-tags > .trip-tag.tag-easy {
  color: #3d6a3f !important;
  background: #e6f1df !important;
  border-color: #d4e5cc !important;
}
:where(html:not(.gd-theme-dark):not(.trip-theme-dark):not(.dark):not([data-theme="dark"]):not([data-color-scheme="dark"]):not([data-appearance="dark"])) body:not(.gd-theme-dark):not(.trip-theme-dark):not(.dark):not(.dark-mode):not(.is-dark):not(.is-dark-theme):not(.gd-dark):not(.has-dark-mode) .japan-trip-page .wp-block-gastrodontti-trip-tags > .trip-tag.tag-medium,
.editor-styles-wrapper .wp-block-gastrodontti-trip-tags > .trip-tag.tag-medium {
  color: #735526 !important;
  background: #eee5d5 !important;
  border-color: #e4d7c2 !important;
}
:where(html:not(.gd-theme-dark):not(.trip-theme-dark):not(.dark):not([data-theme="dark"]):not([data-color-scheme="dark"]):not([data-appearance="dark"])) body:not(.gd-theme-dark):not(.trip-theme-dark):not(.dark):not(.dark-mode):not(.is-dark):not(.is-dark-theme):not(.gd-dark):not(.has-dark-mode) .japan-trip-page .wp-block-gastrodontti-trip-tags > .trip-tag.tag-fixed,
.editor-styles-wrapper .wp-block-gastrodontti-trip-tags > .trip-tag.tag-fixed {
  color: #7a3935 !important;
  background: #edd0cf !important;
  border-color: #e4bcba !important;
}
:where(html:not(.gd-theme-dark):not(.trip-theme-dark):not(.dark):not([data-theme="dark"]):not([data-color-scheme="dark"]):not([data-appearance="dark"])) body:not(.gd-theme-dark):not(.trip-theme-dark):not(.dark):not(.dark-mode):not(.is-dark):not(.is-dark-theme):not(.gd-dark):not(.has-dark-mode) .japan-trip-page .wp-block-gastrodontti-trip-tags > .trip-tag.tag-optional,
.editor-styles-wrapper .wp-block-gastrodontti-trip-tags > .trip-tag.tag-optional {
  color: #5b6470 !important;
  background: #ece7dd !important;
  border-color: #ded6c9 !important;
}
:where(html:not(.gd-theme-dark):not(.trip-theme-dark):not(.dark):not([data-theme="dark"]):not([data-color-scheme="dark"]):not([data-appearance="dark"])) body:not(.gd-theme-dark):not(.trip-theme-dark):not(.dark):not(.dark-mode):not(.is-dark):not(.is-dark-theme):not(.gd-dark):not(.has-dark-mode) .japan-trip-page .wp-block-gastrodontti-trip-tags > .trip-tag.tag-walk,
.editor-styles-wrapper .wp-block-gastrodontti-trip-tags > .trip-tag.tag-walk {
  color: #4d452d !important;
  background: #eee4d2 !important;
  border-color: #e2d3bb !important;
}
:where(html:not(.gd-theme-dark):not(.trip-theme-dark):not(.dark):not([data-theme="dark"]):not([data-color-scheme="dark"]):not([data-appearance="dark"])) body:not(.gd-theme-dark):not(.trip-theme-dark):not(.dark):not(.dark-mode):not(.is-dark):not(.is-dark-theme):not(.gd-dark):not(.has-dark-mode) .japan-trip-page .wp-block-gastrodontti-trip-tags > .trip-tag.tag-food,
.editor-styles-wrapper .wp-block-gastrodontti-trip-tags > .trip-tag.tag-food {
  color: #7d4c26 !important;
  background: #f2dfce !important;
  border-color: #e8cbb2 !important;
}
:where(html:not(.gd-theme-dark):not(.trip-theme-dark):not(.dark):not([data-theme="dark"]):not([data-color-scheme="dark"]):not([data-appearance="dark"])) body:not(.gd-theme-dark):not(.trip-theme-dark):not(.dark):not(.dark-mode):not(.is-dark):not(.is-dark-theme):not(.gd-dark):not(.has-dark-mode) .japan-trip-page .wp-block-gastrodontti-trip-tags > .trip-tag.tag-time,
.editor-styles-wrapper .wp-block-gastrodontti-trip-tags > .trip-tag.tag-time {
  color: #574630 !important;
  background: #eee5d5 !important;
  border-color: #e4d7c2 !important;
}
:where(html:not(.gd-theme-dark):not(.trip-theme-dark):not(.dark):not([data-theme="dark"]):not([data-color-scheme="dark"]):not([data-appearance="dark"])) body:not(.gd-theme-dark):not(.trip-theme-dark):not(.dark):not(.dark-mode):not(.is-dark):not(.is-dark-theme):not(.gd-dark):not(.has-dark-mode) .japan-trip-page .wp-block-gastrodontti-trip-tags > .trip-tag.tag-place,
.editor-styles-wrapper .wp-block-gastrodontti-trip-tags > .trip-tag.tag-place {
  color: #315d6c !important;
  background: #dfedf1 !important;
  border-color: #cbe0e7 !important;
}
:where(html:not(.gd-theme-dark):not(.trip-theme-dark):not(.dark):not([data-theme="dark"]):not([data-color-scheme="dark"]):not([data-appearance="dark"])) body:not(.gd-theme-dark):not(.trip-theme-dark):not(.dark):not(.dark-mode):not(.is-dark):not(.is-dark-theme):not(.gd-dark):not(.has-dark-mode) .japan-trip-page .wp-block-gastrodontti-trip-tags > .trip-tag.tag-money,
.editor-styles-wrapper .wp-block-gastrodontti-trip-tags > .trip-tag.tag-money {
  color: #74531f !important;
  background: #f1e4c8 !important;
  border-color: #e4d2ab !important;
}

/* Version 0.2.58: desktop nav polish after restoring hover navigation.
   Keep hover panels readable, contained and warm in dark mode. */
@media (min-width: 761px) {
  .wp-block-gastrodontti-trip-main-nav,
  .wp-block-gastrodontti-trip-main-nav.trip-book-nav,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav,
  .trip-book-nav,
  .trip-book-nav__row,
  .trip-book-nav__group,
  .trip-book-nav__item {
    overflow: visible !important;
  }

  .trip-book-nav__submenu.is-viewport-fixed,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu.is-viewport-fixed {
    z-index: 9999 !important;
    box-sizing: border-box !important;
    overflow: auto !important;
    overscroll-behavior: contain;
  }

  .trip-book-nav__submenu--city-index.is-viewport-fixed,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu--city-index.is-viewport-fixed {
    max-width: min(760px, calc(100vw - 28px)) !important;
  }

  .trip-book-nav__submenu--day.is-viewport-fixed,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu--day.is-viewport-fixed {
    max-width: min(360px, calc(100vw - 28px)) !important;
  }

  .trip-book-nav__submenu--city-index .trip-book-nav__submenu-days,
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu--city-index .trip-book-nav__submenu-days {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
    gap: .55rem !important;
  }
}

:where(html.gd-theme-dark, html.trip-theme-dark, body.gd-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme) .trip-book-nav__submenu,
:where(html.gd-theme-dark, html.trip-theme-dark, body.gd-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu {
  background: linear-gradient(180deg, rgba(29, 21, 15, .985), rgba(17, 12, 9, .992)) !important;
  border-color: color-mix(in srgb, var(--city-color, #c89148) 42%, rgba(238,205,158,.20) 58%) !important;
  box-shadow: 0 24px 60px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.045) !important;
}

:where(html.gd-theme-dark, html.trip-theme-dark, body.gd-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme) .trip-book-nav__submenu-primary,
:where(html.gd-theme-dark, html.trip-theme-dark, body.gd-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme) .trip-book-nav__submenu-section,
:where(html.gd-theme-dark, html.trip-theme-dark, body.gd-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu-primary,
:where(html.gd-theme-dark, html.trip-theme-dark, body.gd-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu-section {
  background: linear-gradient(180deg, rgba(52, 40, 30, .88), rgba(34, 25, 19, .92)) !important;
  border-color: color-mix(in srgb, var(--city-color, #c89148) 35%, rgba(238,205,158,.18) 65%) !important;
  color: #f3e5d2 !important;
}

:where(html.gd-theme-dark, html.trip-theme-dark, body.gd-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme) .trip-book-nav__submenu-day-heading,
:where(html.gd-theme-dark, html.trip-theme-dark, body.gd-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme) .trip-book-nav__submenu-city-main,
:where(html.gd-theme-dark, html.trip-theme-dark, body.gd-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme) .trip-book-nav__submenu .trip-book-nav__submenu-link,
:where(html.gd-theme-dark, html.trip-theme-dark, body.gd-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu-day-heading,
:where(html.gd-theme-dark, html.trip-theme-dark, body.gd-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu-city-main,
:where(html.gd-theme-dark, html.trip-theme-dark, body.gd-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme) .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu .trip-book-nav__submenu-link {
  background: rgba(255, 247, 235, .055) !important;
  color: color-mix(in srgb, var(--city-color, #c89148) 55%, #f7ebd9 45%) !important;
  border-color: color-mix(in srgb, var(--city-color, #c89148) 48%, rgba(248,235,216,.16) 52%) !important;
}

:where(html.gd-theme-dark, html.trip-theme-dark, body.gd-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme) .trip-book-nav__submenu-day-heading:hover,
:where(html.gd-theme-dark, html.trip-theme-dark, body.gd-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme) .trip-book-nav__submenu-city-main:hover,
:where(html.gd-theme-dark, html.trip-theme-dark, body.gd-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme) .trip-book-nav__submenu .trip-book-nav__submenu-link:hover,
:where(html.gd-theme-dark, html.trip-theme-dark, body.gd-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme) .trip-book-nav__submenu-day-heading:focus-visible,
:where(html.gd-theme-dark, html.trip-theme-dark, body.gd-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme) .trip-book-nav__submenu-city-main:focus-visible,
:where(html.gd-theme-dark, html.trip-theme-dark, body.gd-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme) .trip-book-nav__submenu .trip-book-nav__submenu-link:focus-visible {
  background: color-mix(in srgb, var(--city-color, #c89148) 24%, rgba(255,247,235,.08) 76%) !important;
  color: #fff8eb !important;
  border-color: color-mix(in srgb, var(--city-color, #c89148) 68%, rgba(255,248,235,.22) 32%) !important;
}

@media (max-width: 760px) {
  .wp-block-gastrodontti-trip-main-nav .trip-book-nav__submenu,
  .trip-book-nav__submenu {
    max-width: calc(100vw - 28px) !important;
    box-sizing: border-box !important;
  }
}

/* Version 0.2.60: hard restore color controls for the dynamic "Matkakirjan tagit" block.
   Scope is intentionally limited to ul.wp-block-gastrodontti-trip-tags so legacy
   custom HTML tags can keep their own dark-mode safety rules. */
.japan-trip-page ul.wp-block-gastrodontti-trip-tags > li[class*="tag-"],
.wp-block-gastrodontti-trip-tags > li[class*="tag-"],
.editor-styles-wrapper ul.wp-block-gastrodontti-trip-tags > li[class*="tag-"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: .32rem !important;
  min-height: 2rem !important;
  padding: .36rem .75rem !important;
  border-radius: 999px !important;
  border-width: 1px !important;
  border-style: solid !important;
  font-size: .86rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

.japan-trip-page ul.wp-block-gastrodontti-trip-tags > li.tag-easy,
.wp-block-gastrodontti-trip-tags > li.tag-easy,
.editor-styles-wrapper ul.wp-block-gastrodontti-trip-tags > li.tag-easy {
  color: #3d6a3f !important;
  background: #e6f1df !important;
  border-color: #d4e5cc !important;
}
.japan-trip-page ul.wp-block-gastrodontti-trip-tags > li.tag-medium,
.wp-block-gastrodontti-trip-tags > li.tag-medium,
.editor-styles-wrapper ul.wp-block-gastrodontti-trip-tags > li.tag-medium {
  color: #735526 !important;
  background: #eee5d5 !important;
  border-color: #e4d7c2 !important;
}
.japan-trip-page ul.wp-block-gastrodontti-trip-tags > li.tag-fixed,
.wp-block-gastrodontti-trip-tags > li.tag-fixed,
.editor-styles-wrapper ul.wp-block-gastrodontti-trip-tags > li.tag-fixed {
  color: #7a3935 !important;
  background: #edd0cf !important;
  border-color: #e4bcba !important;
}
.japan-trip-page ul.wp-block-gastrodontti-trip-tags > li.tag-optional,
.wp-block-gastrodontti-trip-tags > li.tag-optional,
.editor-styles-wrapper ul.wp-block-gastrodontti-trip-tags > li.tag-optional {
  color: #5b6470 !important;
  background: #ece7dd !important;
  border-color: #ded6c9 !important;
}
.japan-trip-page ul.wp-block-gastrodontti-trip-tags > li.tag-walk,
.wp-block-gastrodontti-trip-tags > li.tag-walk,
.editor-styles-wrapper ul.wp-block-gastrodontti-trip-tags > li.tag-walk {
  color: #4d452d !important;
  background: #eee4d2 !important;
  border-color: #e2d3bb !important;
}
.japan-trip-page ul.wp-block-gastrodontti-trip-tags > li.tag-food,
.wp-block-gastrodontti-trip-tags > li.tag-food,
.editor-styles-wrapper ul.wp-block-gastrodontti-trip-tags > li.tag-food {
  color: #7d4c26 !important;
  background: #f2dfce !important;
  border-color: #e8cbb2 !important;
}
.japan-trip-page ul.wp-block-gastrodontti-trip-tags > li.tag-time,
.wp-block-gastrodontti-trip-tags > li.tag-time,
.editor-styles-wrapper ul.wp-block-gastrodontti-trip-tags > li.tag-time {
  color: #574630 !important;
  background: #eee5d5 !important;
  border-color: #e4d7c2 !important;
}
.japan-trip-page ul.wp-block-gastrodontti-trip-tags > li.tag-place,
.wp-block-gastrodontti-trip-tags > li.tag-place,
.editor-styles-wrapper ul.wp-block-gastrodontti-trip-tags > li.tag-place {
  color: #315d6c !important;
  background: #dfedf1 !important;
  border-color: #cbe0e7 !important;
}
.japan-trip-page ul.wp-block-gastrodontti-trip-tags > li.tag-money,
.wp-block-gastrodontti-trip-tags > li.tag-money,
.editor-styles-wrapper ul.wp-block-gastrodontti-trip-tags > li.tag-money {
  color: #74531f !important;
  background: #f1e4c8 !important;
  border-color: #e4d2ab !important;
}

:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .japan-trip-page ul.wp-block-gastrodontti-trip-tags > li.tag-easy,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-tags > li.tag-easy {
  color: #b8e9ae !important;
  background: rgba(115,174,95,.18) !important;
  border-color: rgba(177,226,164,.34) !important;
}
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .japan-trip-page ul.wp-block-gastrodontti-trip-tags > li.tag-medium,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .japan-trip-page ul.wp-block-gastrodontti-trip-tags > li.tag-time,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .japan-trip-page ul.wp-block-gastrodontti-trip-tags > li.tag-walk,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-tags > li.tag-medium,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-tags > li.tag-time,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-tags > li.tag-walk {
  color: #efd398 !important;
  background: rgba(205,158,79,.18) !important;
  border-color: rgba(232,200,142,.34) !important;
}
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .japan-trip-page ul.wp-block-gastrodontti-trip-tags > li.tag-fixed,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-tags > li.tag-fixed {
  color: #f2b4ae !important;
  background: rgba(214,106,99,.18) !important;
  border-color: rgba(239,170,163,.36) !important;
}
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .japan-trip-page ul.wp-block-gastrodontti-trip-tags > li.tag-optional,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-tags > li.tag-optional {
  color: #e0d7c8 !important;
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(248,239,227,.16) !important;
}
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .japan-trip-page ul.wp-block-gastrodontti-trip-tags > li.tag-place,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-tags > li.tag-place {
  color: #a7e1d8 !important;
  background: rgba(85,183,167,.17) !important;
  border-color: rgba(157,219,209,.34) !important;
}
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .japan-trip-page ul.wp-block-gastrodontti-trip-tags > li.tag-food,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .japan-trip-page ul.wp-block-gastrodontti-trip-tags > li.tag-money,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-tags > li.tag-food,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-tags > li.tag-money {
  color: #f4bc85 !important;
  background: rgba(238,146,88,.18) !important;
  border-color: rgba(240,180,125,.34) !important;
}

/* Version 0.2.65: restore explicit day page entry in mobile day submenu. */
@media (max-width: 760px) {
  .trip-book-nav__submenu-section--day-main {
    display: block;
    margin: 0 0 0.55rem;
  }

  .trip-book-nav__submenu-link--day-main {
    font-weight: 900;
  }
}

/* Version 0.2.66: fix trip-route-grid route tags in dark mode. */
html.gd-theme-dark .trip-city-page .trip-route-grid .trip-route-line,
html.trip-theme-dark .trip-city-page .trip-route-grid .trip-route-line,
html.gd-theme-dark .trip-city-page .trip-route-card .trip-route-line,
html.trip-theme-dark .trip-city-page .trip-route-card .trip-route-line {
  color: #f3c786 !important;
  background: rgba(238, 178, 112, .18) !important;
  border-color: rgba(238, 178, 112, .34) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}

html.gd-theme-dark .trip-city-page .trip-route-grid .trip-route-line :where(a,span,strong,em),
html.trip-theme-dark .trip-city-page .trip-route-grid .trip-route-line :where(a,span,strong,em),
html.gd-theme-dark .trip-city-page .trip-route-card .trip-route-line :where(a,span,strong,em),
html.trip-theme-dark .trip-city-page .trip-route-card .trip-route-line :where(a,span,strong,em) {
  color: #f3c786 !important;
}


/* Version 0.2.67: restore editable color styles for Sidepath and Sidepath Group tags.
   Scope this to .trip-sidepath__tags so the old legacy .trip-module-meta safety rules
   cannot force every sidepath tag into the same red/fixed style. */
.japan-trip-page .trip-sidepath__tags > .trip-tag,
.wp-block-gastrodontti-trip-sidepath .trip-sidepath__tags > .trip-tag,
.wp-block-gastrodontti-trip-sidepath-group .trip-sidepath__tags > .trip-tag,
.editor-styles-wrapper .trip-sidepath__tags > .trip-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: .32rem !important;
  min-height: 2rem !important;
  padding: .36rem .75rem !important;
  border-radius: 999px !important;
  border: 1px solid #ded6c9 !important;
  font-size: .86rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.japan-trip-page .trip-sidepath__tags > .trip-tag.tag-easy,
.wp-block-gastrodontti-trip-sidepath .trip-sidepath__tags > .trip-tag.tag-easy,
.wp-block-gastrodontti-trip-sidepath-group .trip-sidepath__tags > .trip-tag.tag-easy,
.editor-styles-wrapper .trip-sidepath__tags > .trip-tag.tag-easy {
  color: #3d6a3f !important;
  background: #e6f1df !important;
  border-color: #d4e5cc !important;
}

.japan-trip-page .trip-sidepath__tags > .trip-tag.tag-medium,
.wp-block-gastrodontti-trip-sidepath .trip-sidepath__tags > .trip-tag.tag-medium,
.wp-block-gastrodontti-trip-sidepath-group .trip-sidepath__tags > .trip-tag.tag-medium,
.editor-styles-wrapper .trip-sidepath__tags > .trip-tag.tag-medium {
  color: #735526 !important;
  background: #eee5d5 !important;
  border-color: #e4d7c2 !important;
}

.japan-trip-page .trip-sidepath__tags > .trip-tag.tag-fixed,
.wp-block-gastrodontti-trip-sidepath .trip-sidepath__tags > .trip-tag.tag-fixed,
.wp-block-gastrodontti-trip-sidepath-group .trip-sidepath__tags > .trip-tag.tag-fixed,
.editor-styles-wrapper .trip-sidepath__tags > .trip-tag.tag-fixed {
  color: #7a3935 !important;
  background: #edd0cf !important;
  border-color: #e4bcba !important;
}

.japan-trip-page .trip-sidepath__tags > .trip-tag.tag-optional,
.wp-block-gastrodontti-trip-sidepath .trip-sidepath__tags > .trip-tag.tag-optional,
.wp-block-gastrodontti-trip-sidepath-group .trip-sidepath__tags > .trip-tag.tag-optional,
.editor-styles-wrapper .trip-sidepath__tags > .trip-tag.tag-optional {
  color: #5b6470 !important;
  background: #ece7dd !important;
  border-color: #ded6c9 !important;
}

.japan-trip-page .trip-sidepath__tags > .trip-tag.tag-walk,
.wp-block-gastrodontti-trip-sidepath .trip-sidepath__tags > .trip-tag.tag-walk,
.wp-block-gastrodontti-trip-sidepath-group .trip-sidepath__tags > .trip-tag.tag-walk,
.editor-styles-wrapper .trip-sidepath__tags > .trip-tag.tag-walk {
  color: #4d452d !important;
  background: #eee4d2 !important;
  border-color: #e2d3bb !important;
}

.japan-trip-page .trip-sidepath__tags > .trip-tag.tag-food,
.wp-block-gastrodontti-trip-sidepath .trip-sidepath__tags > .trip-tag.tag-food,
.wp-block-gastrodontti-trip-sidepath-group .trip-sidepath__tags > .trip-tag.tag-food,
.editor-styles-wrapper .trip-sidepath__tags > .trip-tag.tag-food {
  color: #7d4c26 !important;
  background: #f2dfce !important;
  border-color: #e8cbb2 !important;
}

.japan-trip-page .trip-sidepath__tags > .trip-tag.tag-time,
.wp-block-gastrodontti-trip-sidepath .trip-sidepath__tags > .trip-tag.tag-time,
.wp-block-gastrodontti-trip-sidepath-group .trip-sidepath__tags > .trip-tag.tag-time,
.editor-styles-wrapper .trip-sidepath__tags > .trip-tag.tag-time {
  color: #574630 !important;
  background: #eee5d5 !important;
  border-color: #e4d7c2 !important;
}

.japan-trip-page .trip-sidepath__tags > .trip-tag.tag-place,
.wp-block-gastrodontti-trip-sidepath .trip-sidepath__tags > .trip-tag.tag-place,
.wp-block-gastrodontti-trip-sidepath-group .trip-sidepath__tags > .trip-tag.tag-place,
.editor-styles-wrapper .trip-sidepath__tags > .trip-tag.tag-place {
  color: #315d6c !important;
  background: #dfedf1 !important;
  border-color: #cbe0e7 !important;
}

.japan-trip-page .trip-sidepath__tags > .trip-tag.tag-money,
.wp-block-gastrodontti-trip-sidepath .trip-sidepath__tags > .trip-tag.tag-money,
.wp-block-gastrodontti-trip-sidepath-group .trip-sidepath__tags > .trip-tag.tag-money,
.editor-styles-wrapper .trip-sidepath__tags > .trip-tag.tag-money {
  color: #74531f !important;
  background: #f1e4c8 !important;
  border-color: #e4d2ab !important;
}

:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .japan-trip-page .trip-sidepath__tags > .trip-tag,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-sidepath .trip-sidepath__tags > .trip-tag,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-sidepath-group .trip-sidepath__tags > .trip-tag {
  color: #eadfce !important;
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(248,239,227,.16) !important;
}

:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .japan-trip-page .trip-sidepath__tags > .trip-tag.tag-easy,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-sidepath .trip-sidepath__tags > .trip-tag.tag-easy,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-sidepath-group .trip-sidepath__tags > .trip-tag.tag-easy {
  color: #b8e9ae !important;
  background: rgba(115,174,95,.18) !important;
  border-color: rgba(177,226,164,.34) !important;
}

:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .japan-trip-page .trip-sidepath__tags > .trip-tag.tag-medium,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .japan-trip-page .trip-sidepath__tags > .trip-tag.tag-time,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .japan-trip-page .trip-sidepath__tags > .trip-tag.tag-walk,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-sidepath .trip-sidepath__tags > .trip-tag.tag-medium,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-sidepath .trip-sidepath__tags > .trip-tag.tag-time,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-sidepath .trip-sidepath__tags > .trip-tag.tag-walk,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-sidepath-group .trip-sidepath__tags > .trip-tag.tag-medium,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-sidepath-group .trip-sidepath__tags > .trip-tag.tag-time,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-sidepath-group .trip-sidepath__tags > .trip-tag.tag-walk {
  color: #efd398 !important;
  background: rgba(205,158,79,.18) !important;
  border-color: rgba(232,200,142,.34) !important;
}

:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .japan-trip-page .trip-sidepath__tags > .trip-tag.tag-fixed,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-sidepath .trip-sidepath__tags > .trip-tag.tag-fixed,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-sidepath-group .trip-sidepath__tags > .trip-tag.tag-fixed {
  color: #f2b4ae !important;
  background: rgba(214,106,99,.18) !important;
  border-color: rgba(239,170,163,.36) !important;
}

:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .japan-trip-page .trip-sidepath__tags > .trip-tag.tag-optional,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-sidepath .trip-sidepath__tags > .trip-tag.tag-optional,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-sidepath-group .trip-sidepath__tags > .trip-tag.tag-optional {
  color: #e0d7c8 !important;
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(248,239,227,.16) !important;
}

:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .japan-trip-page .trip-sidepath__tags > .trip-tag.tag-place,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-sidepath .trip-sidepath__tags > .trip-tag.tag-place,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-sidepath-group .trip-sidepath__tags > .trip-tag.tag-place {
  color: #a7e1d8 !important;
  background: rgba(85,183,167,.17) !important;
  border-color: rgba(157,219,209,.34) !important;
}

:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .japan-trip-page .trip-sidepath__tags > .trip-tag.tag-food,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .japan-trip-page .trip-sidepath__tags > .trip-tag.tag-money,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-sidepath .trip-sidepath__tags > .trip-tag.tag-food,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-sidepath .trip-sidepath__tags > .trip-tag.tag-money,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-sidepath-group .trip-sidepath__tags > .trip-tag.tag-food,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-sidepath-group .trip-sidepath__tags > .trip-tag.tag-money {
  color: #f4bc85 !important;
  background: rgba(238,146,88,.18) !important;
  border-color: rgba(240,180,125,.34) !important;
}


/* Version 0.2.68: readable extra text field inside sidepath groups in dark mode. */
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .japan-trip-page .trip-sidepath-group__extra,
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-sidepath-group .trip-sidepath-group__extra,
.editor-styles-wrapper .is-root-container .trip-sidepath-group__extra {
  background: rgba(35, 29, 24, .78) !important;
  border-color: rgba(248, 239, 227, .18) !important;
  color: #f1e7d7 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .japan-trip-page .trip-sidepath-group__extra :where(p, li, strong, em, a),
:where(html.gd-theme-dark, html.trip-theme-dark, html.dark, html[data-theme="dark"], html[data-color-scheme="dark"], html[data-appearance="dark"], body.gd-theme-dark, body.trip-theme-dark, body.dark, body.dark-mode, body.is-dark, body.is-dark-theme, body[data-theme="dark"], body[data-color-scheme="dark"], body[data-appearance="dark"]) .wp-block-gastrodontti-trip-sidepath-group .trip-sidepath-group__extra :where(p, li, strong, em, a),
.editor-styles-wrapper .is-root-container .trip-sidepath-group__extra :where(p, li, strong, em, a) {
  color: #f1e7d7 !important;
}

/* Version 0.2.69: tag block editor reorder buttons. */
.block-editor-block-inspector .jt-tag-editor-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-top: .35rem;
}


/* 0.2.71: Navigation utility label dedupe.
   The heading "Koosteet" is produced by .trip-book-nav__tools::before.
   Hide/remove the old inline label so it does not appear twice. */
.trip-book-nav__tools > .trip-book-nav__tools-label {
  display: none !important;
}
