/* Frogmare public portal V7: real content routes, calendar, community and locales. */

.slider::after { content: none !important; }

/* The first live tile reports database reachability, not a guessed game
   process state. Keep its failure state visually honest as well. */
.status-dot.is-offline {
  background: #d65b62 !important;
  box-shadow: 0 0 0 8px rgba(214, 91, 98, .09), 0 0 16px rgba(214, 91, 98, .52) !important;
}
.live-status strong.is-offline { color: #ef777c !important; }

/* Language switcher */
.language-picker > div {
  width: 238px !important;
  gap: 3px;
}
.language-picker > div > a {
  min-height: 38px;
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 8px 11px !important;
  border: 1px solid transparent;
  border-radius: 4px;
  color: #bdb4bc !important;
  text-decoration: none;
}
.language-picker > div > a:hover,
.language-picker > div > a.active {
  border-color: rgba(213, 167, 93, .24);
  background: rgba(151, 29, 49, .18);
  color: #fff !important;
}
.language-picker > div > a b {
  color: var(--v6-gold-bright, #e0bd79);
  font-size: 10px;
  letter-spacing: .12em;
}
.language-picker > div > a span { font-size: 11px; white-space: nowrap; }

html:lang(ko), html:lang(th) {
  --v5-serif: "Malgun Gothic", "Leelawadee UI", "Noto Sans KR", "Noto Sans Thai", sans-serif;
  --v5-ui: "Malgun Gothic", "Leelawadee UI", "Noto Sans KR", "Noto Sans Thai", Arial, sans-serif;
}
html:lang(ko) :is(h1,h2,h3,a,button,small,strong,span),
html:lang(th) :is(h1,h2,h3,a,button,small,strong,span) { letter-spacing: 0 !important; }
html:lang(ko) :is(.site-navigation a,.site-cta,.news-tag,.eyebrow),
html:lang(th) :is(.site-navigation a,.site-cta,.news-tag,.eyebrow) { text-transform: none !important; }

/* Shared content components */
.content-back {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  margin-bottom: 24px;
  color: var(--v6-gold-bright, #ddb96f) !important;
  font-weight: 700;
  text-decoration: none;
}
.content-heading,
.community-heading,
.release-list-heading,
.forum-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
}
.content-heading { margin-bottom: 38px; }
.content-heading h1,
.community-heading h1 { margin: 5px 0 0 !important; }
.content-heading > p,
.community-heading > div > p { max-width: 720px; margin: 0; color: #aaa1a8; line-height: 1.7; }
.content-empty,
.calendar-empty {
  padding: 34px;
  border: 1px solid rgba(208, 166, 96, .2);
  border-radius: 9px;
  background: linear-gradient(145deg, rgba(66, 21, 34, .25), rgba(7, 7, 11, .72));
}
.content-empty.compact { margin-top: 14px; padding: 25px; }
.content-empty h1,
.content-empty h2,
.calendar-empty h2 { margin: 0 0 9px !important; }
.content-empty p,
.calendar-empty p { margin: 0; color: #aaa1a8; line-height: 1.65; }
.content-pagination {
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-top: 24px;
  border-top: 1px solid rgba(205, 166, 101, .14);
}
.content-pagination a { color: var(--v6-gold-bright, #ddb96f) !important; font-weight: 700; text-decoration: none; }
.content-pagination span { color: #877f87; }
.secondary-a {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  border: 1px solid rgba(216, 177, 106, .35);
  border-radius: 4px;
  color: #e2d9ca !important;
  font-weight: 700;
  text-decoration: none;
}

/* Home calendar preview */
.home-calendar-card {
  min-height: 194px;
  display: grid;
  grid-template-columns: minmax(220px, .72fr) minmax(340px, 1fr) minmax(300px, 1.1fr);
  gap: 24px;
  margin-top: 14px;
  padding: 25px 28px;
  overflow: hidden;
  border: 1px solid rgba(205, 166, 101, .23);
  border-radius: 5px;
  background:
    radial-gradient(circle at 89% 30%, rgba(139, 27, 49, .18), transparent 31%),
    linear-gradient(135deg, rgba(17, 14, 22, .98), rgba(7, 7, 11, .99));
  box-shadow: 0 18px 40px rgba(0, 0, 0, .28), inset 0 1px rgba(255, 235, 198, .035);
}
.home-calendar-heading { position: relative; display: flex; align-items: flex-start; gap: 16px; }
.calendar-emblem { width: 42px; height: 42px; display: grid; flex: 0 0 42px; place-items: center; border: 1px solid rgba(223, 177, 97, .38); transform: rotate(45deg); color: #e0b96e; font-size: 19px; }
.calendar-emblem::first-letter { transform: rotate(-45deg); }
.home-calendar-heading small,
.home-calendar-summary > small { display: block; color: #aa8c61; font: 700 9px/1 var(--v5-ui); letter-spacing: .14em; text-transform: uppercase; }
.home-calendar-heading h2 { margin: 8px 0 7px !important; color: #f4eef0 !important; font: 600 23px/1 var(--v5-serif) !important; }
.home-calendar-heading strong { color: #9e969d; font-size: 11px; font-weight: 600; }
.home-calendar-heading > a { position: absolute; left: 58px; bottom: 0; color: #d4af6d !important; font-size: 10px; font-weight: 700; text-decoration: none; }
.mini-calendar { padding-left: 24px; border-left: 1px solid rgba(205, 166, 101, .15); }
.mini-calendar-weekdays,
.mini-calendar-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; text-align: center; }
.mini-calendar-weekdays { margin-bottom: 7px; color: #756e76; font: 700 8px var(--v5-ui); text-transform: uppercase; }
.mini-calendar-days > :is(span,i) { position: relative; min-height: 24px; display: grid; place-items: center; border-radius: 4px; color: #9d969d; font: 600 9px var(--v5-ui); font-style: normal; }
.mini-calendar-days span.today { outline: 1px solid #d8a958; color: #f1d594; background: rgba(164, 37, 54, .26); box-shadow: 0 0 15px rgba(202, 49, 69, .13); }
.mini-calendar-days span.has-event { color: #fff; background: rgba(137, 25, 46, .35); }
.mini-calendar-days span.has-event b { position: absolute; right: 3px; bottom: 3px; width: 4px; height: 4px; border-radius: 50%; background: #e1b868; box-shadow: 0 0 7px #e1b868; }
.home-calendar-summary { padding-left: 25px; border-left: 1px solid rgba(205, 166, 101, .15); }
.home-calendar-summary h3 { margin: 10px 0 8px; color: #f0e9eb; font: 600 20px/1.15 var(--v5-serif); }
.home-calendar-summary p { margin: 0; color: #999199; font-size: 11px; line-height: 1.55; }
.home-calendar-summary > a { min-height: 40px; display: inline-flex; align-items: center; margin-top: 10px; color: #d9b36e !important; font-size: 10px; font-weight: 700; text-decoration: none; }
.upcoming-event-list { display: grid; gap: 7px; margin-top: 12px; }
.upcoming-event-list span { display: grid; grid-template-columns: 58px 1fr; gap: 10px; color: #aba3aa; font-size: 10px; }
.upcoming-event-list b { color: #dfb970; }

/* News archive and articles */
.news-tile-small > img {
  width: 200% !important;
  max-width: none !important;
  object-position: center;
}
.news-tile-auction > img {
  right: auto;
  left: 0;
}
.news-tile-party > img {
  right: 0;
  left: auto;
}

.feature-guide-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-bottom: 46px; }
.feature-guide-card {
  min-height: 250px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 34px;
  overflow: hidden;
  border: 1px solid rgba(211, 170, 101, .22);
  border-radius: 8px;
  color: #fff !important;
  text-decoration: none !important;
  background: linear-gradient(0deg, rgba(7, 6, 10, .96), rgba(7, 6, 10, .08)), url(../images/frogmare-news-duo-v3.png) left center / 200% auto no-repeat;
  transition: transform .22s ease, border-color .22s ease;
}
.feature-guide-card.feature-party { background-position: right center; }
.feature-guide-card:hover { transform: translateY(-3px); border-color: rgba(227, 182, 101, .55); }
.feature-guide-card > span { color: #d7af6c; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.feature-guide-card h2 { margin: 10px 0 7px !important; color: #fff !important; font-size: 31px !important; }
.feature-guide-card p { max-width: 560px; margin: 0; color: #c5bec4; line-height: 1.55; }
.feature-guide-card b { margin-top: 18px; color: #e0bb75; font-size: 12px; }
.release-list { border-top: 1px solid rgba(205, 166, 101, .18); }
.release-list-heading { min-height: 88px; }
.release-list-heading h2 { margin: 0 !important; }
.release-list-heading span { color: #867e86; }
.release-list-item { min-height: 154px; display: grid; grid-template-columns: 130px minmax(0, 1fr) 35px; align-items: center; gap: 24px; padding: 24px 6px; border-top: 1px solid rgba(205, 166, 101, .13); color: inherit !important; text-decoration: none !important; }
.release-list-item time { color: #8b838b; font-size: 12px; }
.release-list-item > div > span { color: #bd985e; font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.release-list-item h3 { margin: 7px 0 !important; color: #eee8ea; font: 600 24px/1.2 var(--v5-serif); }
.release-list-item p { margin: 0; color: #9e969e; line-height: 1.55; }
.release-list-item i { color: #d9b16c; font-size: 24px; font-style: normal; transition: transform .2s ease; }
.release-list-item:hover i { transform: translateX(5px); }
.news-article { max-width: 1380px; }
.news-article h1 { max-width: 1100px; margin: 10px 0 16px !important; }
.news-article > time { display: block; margin-bottom: 28px; color: #8e868d; }
.article-lead { max-width: 900px; color: #c7bec4; font-size: 20px; line-height: 1.65; }
.feature-sections { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 38px 0; }
.feature-sections section { padding: 26px; border: 1px solid rgba(205, 166, 101, .18); border-radius: 7px; background: rgba(7, 7, 11, .46); }
.feature-sections h2 { margin: 0 0 13px !important; color: #e0b96f !important; font-size: 19px !important; }
.feature-sections p { margin: 0; color: #aaa2a8; line-height: 1.7; }
.article-source { display: grid; grid-template-columns: 100px minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 24px; border-left: 3px solid #b32942; background: rgba(104, 26, 42, .18); }
.article-source span { color: #8d858d; text-transform: uppercase; }
.article-source a { color: #ddb872 !important; font-weight: 700; text-decoration: none; }
.translation-note { padding: 14px 17px; border: 1px solid rgba(205, 166, 101, .18); border-radius: 5px; color: #a9a0a8; background: rgba(115, 83, 42, .09); }
.patchnote-body { max-width: 1080px; color: #bcb4ba; font-size: 16px; line-height: 1.75; }
.patchnote-body h4,
.patchnote-body h5,
.patchnote-body h6 { margin: 32px 0 10px; color: #eee7e9; font: 600 22px/1.25 var(--v5-serif); }
.patchnote-body ul { padding-left: 22px; }

/* Community board */
.community-heading { align-items: center; margin-bottom: 28px; }
.community-stat { min-width: 180px; display: grid; grid-template-columns: 42px 1fr; align-items: center; padding: 18px 22px; border: 1px solid rgba(205, 166, 101, .2); border-radius: 7px; background: rgba(7, 7, 11, .45); }
.community-stat > span { grid-row: 1 / span 2; color: #ddb870; font-size: 29px; }
.community-stat strong { color: #fff; font-size: 24px; }
.community-stat small { color: #8d858d; }
.community-purpose-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 34px; }
.community-purpose-grid article { padding: 22px; border: 1px solid rgba(205, 166, 101, .15); border-radius: 7px; background: rgba(7, 7, 11, .38); }
.community-purpose-grid article > span { color: #d9ae65; font-size: 25px; }
.community-purpose-grid h2 { margin: 12px 0 7px !important; font-size: 18px !important; }
.community-purpose-grid p { margin: 0; color: #948c94; line-height: 1.55; }
.forum-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(330px, .5fr); align-items: start; gap: 26px; }
.forum-section-heading { min-height: 58px; border-bottom: 1px solid rgba(205, 166, 101, .15); }
.forum-section-heading h2 { margin: 0 !important; }
.forum-section-heading span { color: #817981; font-size: 12px; }
.forum-topic-card { min-height: 142px; display: grid; grid-template-columns: 50px minmax(0, 1fr) 70px; align-items: center; gap: 18px; padding: 18px 6px; border-bottom: 1px solid rgba(205, 166, 101, .13); color: inherit !important; text-decoration: none !important; }
.forum-topic-icon { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(207, 163, 92, .25); border-radius: 50%; color: #dbb46c; background: rgba(136, 28, 46, .18); }
.forum-locale { display: inline-flex; padding: 4px 7px; border-radius: 3px; color: #d8b36f; background: rgba(151, 39, 54, .22); font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.forum-topic-card h3 { margin: 7px 0 6px !important; color: #ebe5e7; font-size: 19px; }
.forum-topic-card p { margin: 0 0 7px; overflow: hidden; color: #938b93; line-height: 1.5; }
.forum-topic-card small { color: #746d75; }
.forum-topic-card > b { display: grid; text-align: center; color: #d8b16b; font-size: 20px; }
.forum-topic-card > b small { font-size: 9px; font-weight: 600; text-transform: uppercase; }
.forum-compose { position: sticky; top: 80px; padding: 28px; border: 1px solid rgba(205, 166, 101, .2); border-radius: 8px; background: linear-gradient(145deg, rgba(68, 21, 34, .3), rgba(7, 7, 11, .72)); }
.forum-compose h2 { margin: 9px 0 !important; }
.forum-compose p { color: #9d959c; line-height: 1.6; }
.forum-compose > a:not(.blue-a) { display: inline-flex; margin: 16px 0 0 18px; color: #bfb5bb !important; }
.compose-icon { color: #deb970; font-size: 32px; }
.forum-compose form,
.forum-reply-form { display: grid; gap: 17px; margin-top: 20px; }
.forum-compose label,
.forum-reply-form label { display: grid; gap: 8px; color: #ddd4d9; font-weight: 700; }
.forum-compose :is(input,textarea),
.forum-reply-form textarea { width: 100%; padding: 14px 16px; border: 1px solid rgba(206, 169, 107, .22); border-radius: 5px; outline: 0; color: #fff; background: rgba(7, 7, 11, .72); font: inherit; resize: vertical; }
.forum-compose :is(input,textarea):focus,
.forum-reply-form textarea:focus { border-color: rgba(224, 178, 96, .64); box-shadow: 0 0 0 3px rgba(177, 45, 63, .11); }
.forum-compose form > small { color: #847c84; line-height: 1.5; }
.forum-thread { border: 1px solid rgba(205, 166, 101, .2); border-radius: 8px; background: rgba(7, 7, 11, .45); }
.forum-thread > header { padding: 28px 32px 23px; border-bottom: 1px solid rgba(205, 166, 101, .14); }
.forum-thread h1 { margin: 10px 0 13px !important; }
.forum-meta { display: flex; flex-wrap: wrap; gap: 16px; color: #817981; }
.forum-meta b { color: #d7b06b; }
.forum-post-body { min-height: 150px; padding: 32px; color: #c2bac0; font-size: 16px; line-height: 1.8; }
.forum-replies { display: grid; gap: 12px; margin-top: 22px; }
.forum-replies article { padding: 24px 27px; border: 1px solid rgba(205, 166, 101, .13); border-radius: 7px; background: rgba(8, 8, 12, .38); }
.forum-replies article header { display: flex; justify-content: space-between; gap: 16px; }
.forum-replies article header strong { color: #d9b36c; }
.forum-replies time { color: #777078; }
.forum-replies p { margin: 14px 0 0; color: #b9b0b7; line-height: 1.7; }
.forum-empty-replies { padding: 25px; border: 1px dashed rgba(205, 166, 101, .18); color: #8e868e; text-align: center; }
.forum-login-note { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 22px; padding: 22px 26px; border: 1px solid rgba(205, 166, 101, .18); border-radius: 7px; background: rgba(83, 25, 39, .2); }
.forum-login-note p { margin: 5px 0 0; color: #958d95; }

/* Honest empty event state */
.calendar-empty { display: flex; align-items: center; gap: 22px; margin-bottom: 24px; }
.calendar-empty > span { width: 54px; height: 54px; display: grid; flex: 0 0 54px; place-items: center; border: 1px solid rgba(215, 173, 99, .34); transform: rotate(45deg); color: #dcb56d; font-size: 22px; }
.event-page .calendar-day:not(.has-event) { background: linear-gradient(145deg, rgba(11, 10, 15, .72), rgba(6, 6, 10, .8)) !important; }

@media (min-width: 1800px) {
  .home-calendar-card { min-height: 265px; grid-template-columns: minmax(320px, .72fr) minmax(520px, 1fr) minmax(430px, 1.1fr); gap: 38px; margin-top: 22px; padding: 36px 42px; }
  .home-calendar-heading h2 { font-size: 31px !important; }
  .home-calendar-heading small,
  .home-calendar-summary > small { font-size: 12px; }
  .home-calendar-heading strong,
  .home-calendar-heading > a { font-size: 13px; }
  .calendar-emblem { width: 55px; height: 55px; flex-basis: 55px; font-size: 24px; }
  .home-calendar-heading > a { left: 72px; }
  .mini-calendar-weekdays { font-size: 11px; }
  .mini-calendar-days > :is(span,i) { min-height: 31px; font-size: 12px; }
  .home-calendar-summary h3 { font-size: 27px; }
  .home-calendar-summary p,
  .home-calendar-summary > a { font-size: 14px; }
  .upcoming-event-list span { font-size: 13px; }
}

@media (max-width: 1100px) {
  .language-picker > div { position: static !important; width: 100% !important; display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 4px 0 10px; }
  .home-calendar-card { grid-template-columns: 1fr 1fr; }
  .home-calendar-summary { grid-column: 1 / -1; padding: 20px 0 0; border-top: 1px solid rgba(205, 166, 101, .15); border-left: 0; }
  .feature-sections { grid-template-columns: 1fr; }
  .forum-layout { grid-template-columns: 1fr; }
  .forum-compose { position: static; }
}

@media (max-width: 700px) {
  .site-nav-open .site-account-nav { grid-template-columns: 1fr !important; }
  .site-nav-open .language-picker,
  .site-nav-open .site-login-link { grid-column: 1 / -1; }
  .language-picker > div { grid-template-columns: 1fr; }
  .content-heading,
  .community-heading,
  .release-list-heading,
  .forum-section-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .content-heading { margin-bottom: 25px; }
  .home-calendar-card { grid-template-columns: 1fr; gap: 22px; padding: 22px 18px; border-radius: 6px; }
  .home-calendar-heading { min-height: 120px; }
  .mini-calendar { padding: 19px 0 0; border-top: 1px solid rgba(205, 166, 101, .15); border-left: 0; }
  .home-calendar-summary { grid-column: auto; }
  .feature-guide-grid,
  .community-purpose-grid { grid-template-columns: 1fr; }
  .feature-guide-card { min-height: 230px; padding: 25px; }
  .feature-guide-card h2 { font-size: 25px !important; }
  .release-list-item { grid-template-columns: 1fr 25px; gap: 12px; }
  .release-list-item time { grid-column: 1; }
  .release-list-item > div { grid-column: 1; }
  .release-list-item i { grid-column: 2; grid-row: 1 / span 2; }
  .article-lead { font-size: 17px; }
  .article-source { grid-template-columns: 1fr; }
  .community-stat { width: 100%; }
  .forum-topic-card { grid-template-columns: 42px minmax(0, 1fr); }
  .forum-topic-card > b { grid-column: 2; display: flex; gap: 5px; text-align: left; font-size: 13px; }
  .forum-thread > header,
  .forum-post-body { padding: 22px 18px; }
  .forum-meta { flex-direction: column; gap: 5px; }
  .forum-login-note { align-items: stretch; flex-direction: column; }
  .forum-login-note .blue-a { width: 100%; }
  .calendar-empty { align-items: flex-start; padding: 24px 18px; }
}

/* Secure support link: the URL itself is the guest's credential. */
.secure-ticket-notice { display: flex; align-items: flex-start; gap: 14px; margin: 0 0 22px; padding: 16px 18px; border: 1px solid rgba(204, 164, 85, .48); border-radius: 10px; background: linear-gradient(135deg, rgba(85, 57, 21, .32), rgba(20, 14, 25, .92)); box-shadow: inset 0 1px rgba(255, 230, 169, .08), 0 12px 32px rgba(0, 0, 0, .18); }
.secure-ticket-notice > span { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; border: 1px solid #b9893c; border-radius: 50%; color: #efd392; box-shadow: 0 0 18px rgba(194, 137, 45, .2); }
.secure-ticket-notice strong { display: block; color: #f2deb1; text-transform: uppercase; letter-spacing: .09em; }
.secure-ticket-notice p { margin: 5px 0 0; color: #c8bdc8; line-height: 1.55; }
.guest-ticket-card { overflow: hidden; border: 1px solid rgba(122, 88, 102, .72); border-radius: 11px; background: linear-gradient(150deg, rgba(30, 21, 34, .98), rgba(13, 10, 18, .98)); box-shadow: 0 20px 50px rgba(0, 0, 0, .28); }
.guest-ticket-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 20px 22px; border-bottom: 1px solid rgba(120, 87, 101, .45); }
.guest-ticket-card > header span,
.guest-ticket-card > header small { color: #a998ab; }
.guest-ticket-card > header h2 { margin: 5px 0 8px; color: #fff; }
.guest-ticket-card .ticket-body { padding: 22px; }
.support-new-request { display: inline-flex; margin-top: 18px; }
.forum-state-locked { display: inline-flex; align-items: center; margin-left: 7px; padding: 2px 7px; border: 1px solid rgba(203, 160, 84, .34); border-radius: 3px; color: #d7b36d; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
@media (max-width: 700px) {
  .guest-ticket-card > header { flex-direction: column; }
  .secure-ticket-notice { padding: 14px; }
  .guest-ticket-card .ticket-body { padding: 16px; }
}
