/* Region cards with their towns built in (Claude, 2026-10-25) */
.edition-card { position: relative; }
.edition-card .edition-link { color: inherit; text-decoration: none; }
.edition-card .edition-link::after { content: ""; position: absolute; inset: 0; z-index: 1; }   /* whole card clicks through to the region */
.edition-card .edition-link:focus-visible { outline: none; }
.edition-card:has(.edition-link:focus-visible) { outline: 3px solid #4fa9d6; outline-offset: 3px; }
.edition-card:hover .edition-more { color: #9cc8ff; }
.edition-more { display: inline-block; margin-top: 18px; font: 700 18px/1 'Barlow Condensed', sans-serif; letter-spacing: .01em; color: #f8f6f0; transition: color .2s ease; }

.edition-towns { position: relative; z-index: 2; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.town-chip {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 12px 7px 13px; border-radius: 999px;
  background: rgba(248, 246, 240, .08); border: 1px solid rgba(248, 246, 240, .22);
  color: #f8f6f0; text-decoration: none; font: 600 13px/1 'Public Sans', sans-serif;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.town-chip:hover { background: #d61c2c; border-color: #d61c2c; transform: translateY(-1px); }
.town-chip:focus-visible { outline: 2px solid #4fa9d6; outline-offset: 2px; }
.town-chip-temp { font: 700 13px/1 'Barlow Condensed', sans-serif; letter-spacing: .02em; color: #9cc8ff; display: inline-flex; align-items: center; gap: 4px; }
.town-chip-temp:empty { display: none; }
.town-chip:hover .town-chip-temp { color: #fff; }
.town-chip-temp svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
@media (prefers-reduced-motion: reduce) { .town-chip { transition: none; } }
.region-cover-copy .edition-more { display: inline-block; margin-top: 20px; font: 700 19px/1 'Barlow Condensed', sans-serif; letter-spacing: .01em; color: #f8f6f0; text-transform: none; }
.region-cover-copy .town-chip { font-size: 14px; padding: 8px 13px 8px 14px; }
.region-cover-copy .town-chip-name, .region-cover-copy .town-chip-temp { margin: 0; letter-spacing: 0; text-transform: none; }

/* special boxes among the region cards: quote · merch · tall tale · recipe */
.edition-extra { display: flex; flex-direction: column; justify-content: center; padding: 48px 44px; border-radius: 12px; min-height: 100%; box-sizing: border-box; }
.extra-kicker { display: block; font: 700 12px/1 'Public Sans', sans-serif; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 14px; }
.extra-line { font-style: italic; opacity: .85; }
.extra-quote { background: #d61c2c; color: #fff; }
.extra-quote blockquote { margin: 0; }
.extra-quote p { margin: 0; font: 700 clamp(26px, 3vw, 40px)/1.12 'Barlow Condensed', sans-serif; letter-spacing: .005em; text-wrap: balance; }
.extra-quote cite { display: block; margin-top: 20px; font: 600 14px/1 'Public Sans', sans-serif; font-style: normal; opacity: .9; }
.extra-goods { background: #dfeaf2; color: #0e243a; padding: 0; overflow: hidden; }
.extra-goods a { display: flex; flex-direction: column; height: 100%; padding: 32px 40px 40px; color: inherit; text-decoration: none; }
.extra-goods img { width: 100%; height: 300px; object-fit: contain; margin: -8px 0 20px; transition: transform .4s ease; }
.extra-goods a:hover img { transform: scale(1.03) rotate(-1deg); }
.extra-goods strong { font: 700 34px/1 'Barlow Condensed', sans-serif; margin-bottom: 10px; }
.extra-goods b { margin-top: 18px; font: 700 18px/1 'Barlow Condensed', sans-serif; color: #d61c2c; }
.extra-tale { background: #0e243a; color: #f8f6f0; background-image: radial-gradient(circle at 85% 15%, rgba(214, 28, 44, .35), transparent 45%); }
.extra-tale .extra-kicker { color: #ff7a85; }
.extra-tale h3, .extra-recipe h3 { margin: 0 0 14px; font: 700 clamp(34px, 4vw, 52px)/1 'Barlow Condensed', sans-serif; }
.extra-tale p, .extra-recipe p { margin: 0 0 12px; font-size: 16px; line-height: 1.55; max-width: 520px; }
.extra-recipe { background: #f7e6b5; color: #0e243a; border: 1px solid #ecd48e; }
.extra-recipe .extra-kicker { color: #9a5b12; }
@media (max-width: 700px) { .edition-extra { padding: 36px 28px; } .extra-goods a { padding: 24px 28px 32px; } .extra-goods img { height: 220px; } }
@media (prefers-reduced-motion: reduce) { .extra-goods img { transition: none; } }
/* weight the special boxes over the base .edition-card styles */
.edition-card.edition-extra { padding: 48px 44px !important; display: flex !important; flex-direction: column; justify-content: center; }
.edition-card.extra-quote { background: #d61c2c !important; color: #fff !important; }
.edition-card.extra-goods { background: #dfeaf2 !important; color: #0e243a !important; padding: 0 !important; }
.edition-card.extra-tale { background-color: #0e243a !important; color: #f8f6f0 !important; }
.edition-card.extra-recipe { background: #f7e6b5 !important; color: #0e243a !important; }
.edition-card.edition-extra h3 { display: block !important; visibility: visible !important; position: static !important; color: inherit !important; }
.edition-card.edition-extra p, .edition-card.edition-extra blockquote { position: static !important; color: inherit; }
@media (max-width: 700px) { .edition-card.edition-extra { padding: 36px 28px !important; } }
