.kingdom-page {
  width: min(var(--site-shell-max, 1540px), calc(100% - var(--site-shell-gutter, 28px)));
  margin: var(--site-shell-top, 24px) auto 0;
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr) 310px;
  gap: 12px;
}

.kingdom-side,
.kingdom-main {
  display: grid;
  gap: 12px;
  align-content: start;
}

.side-card,
.dashboard-card { padding: 14px; }

/* Levý sloupec */
.join-card__art {
  overflow: hidden;
  aspect-ratio: 1 / 1;
  margin: 0 0 12px;
  border: 1px solid var(--k-line);
  border-radius: 11px;
  background: radial-gradient(circle at 50% 36%, rgba(214,168,79,.09), transparent 62%), rgba(0,0,0,.3);
}
.join-card__art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  image-rendering: pixelated;
}
.join-card__instruction {
  display: grid;
  gap: 5px;
  padding-top: 12px;
  border-top: 1px solid rgba(236,205,142,.12);
  text-align: center;
  color: var(--k-muted);
}
.join-card__instruction strong {
  color: #9ad978;
  font-size: clamp(1.55rem, 2.2vw, 2rem);
  line-height: 1;
  text-shadow: 0 2px 0 rgba(0,0,0,.5);
}
.join-card__instruction small b { color: var(--k-gold-2); }

.command-list { display: grid; gap: 8px; }
.command-link {
  display: grid;
  grid-template-columns: 34px 1fr;
  grid-template-areas: 'icon title' 'icon text';
  align-items: center;
  gap: 2px 10px;
  min-height: 58px;
  padding: 9px 10px;
  border: 1px solid var(--k-line);
  border-radius: 9px;
  color: var(--k-text);
  background: rgba(255,255,255,.03);
  text-decoration: none;
}
.command-link span { grid-area: icon; color: var(--k-gold-2); font-size: 1.25rem; }
.command-link strong { grid-area: title; color: var(--k-gold-2); }
.command-link small { grid-area: text; color: var(--k-muted); }

.online-stats { display: grid; gap: 10px; }
.online-stat { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--k-muted); }
.online-stat strong { color: var(--k-text); }

.social-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.social-button {
  display: grid;
  place-items: center;
  min-height: 42px;
  border: 1px solid var(--k-line);
  border-radius: 10px;
  background: rgba(255,255,255,.04);
  text-decoration: none;
  font-weight: 800;
  font-size: .82rem;
}
.social-button.twitch { color: #b992ff; }
.social-button.discord { color: #9caeff; }
.social-button.youtube { color: #ff7a72; }



.side-rotator { display: grid; min-width: 0; }
.side-rotator__viewport { position: relative; display: grid; min-width: 0; }
.rotator-slide {
  grid-area: 1 / 1;
  min-width: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(8px);
  transition: opacity .24s ease, transform .24s ease, visibility .24s linear;
}
.rotator-slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
}
.side-rotator__controls {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) 30px;
  gap: 10px;
  align-items: end;
  padding: 0;
}
.side-rotator__controls--overlay {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 3;
  pointer-events: none;
}
.side-rotator__arrow,
.side-rotator__dot {
  border: 0;
  color: rgba(241,201,109,.92);
  background: rgba(6,9,11,.34);
  cursor: pointer;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.side-rotator__arrow {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  font-size: 1rem;
  line-height: 1;
  box-shadow: 0 3px 10px rgba(0,0,0,.28);
  pointer-events: auto;
  opacity: .72;
  transition: opacity .14s ease, background .14s ease, transform .14s ease;
}
.side-rotator__arrow:hover,
.side-rotator__arrow:focus-visible { background: rgba(214,168,79,.18); opacity: 1; transform: scale(1.03); outline: none; }
.side-rotator__dots { display: flex; justify-content: center; gap: 6px; pointer-events: auto; }
.side-rotator__dot { width: 8px; height: 8px; padding: 0; border-radius: 50%; opacity: .58; box-shadow: 0 1px 4px rgba(0,0,0,.35); transition: opacity .14s ease, background .14s ease, transform .14s ease; }
.side-rotator__dot:hover,
.side-rotator__dot:focus-visible { opacity: .9; background: rgba(214,168,79,.72); transform: scale(1.08); outline: none; }
.side-rotator__dot.is-active { opacity: 1; background: var(--k-gold-2); box-shadow: 0 0 8px rgba(214,168,79,.42); }

/* Unikátní homepage banner */
.kingdom-hero-banner { display: block; min-height: 0; padding: 0; overflow: hidden; background: #0c1216; line-height: 0; }
.hero-banner-image { display: block; width: 100%; height: auto; object-fit: contain; image-rendering: pixelated; }

/* Úvod + kronika v jednom panelu */
.welcome-lore-card {
  overflow: hidden;
  background: radial-gradient(circle at 50% 0%, rgba(214,168,79,.09), transparent 52%), rgba(9,12,13,.95);
}
.welcome-card { padding: clamp(24px, 4vw, 42px); text-align: center; }
.welcome-eyebrow,
.schedule-eyebrow { margin: 0 0 8px; color: var(--k-gold-2); font-size: .76rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.welcome-card h1 { margin: 0; color: var(--k-text); font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.02; }
.welcome-card > p:not(.welcome-eyebrow) { max-width: 760px; margin: 14px auto 0; color: var(--k-muted); font-size: clamp(1rem, 1.5vw, 1.14rem); line-height: 1.65; }

.lore-card { border-top: 1px solid rgba(236,205,142,.12); background: linear-gradient(135deg, rgba(214,168,79,.04), transparent 48%); }
.lore-card summary {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 82px;
  padding: 15px 18px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.lore-card summary::-webkit-details-marker { display: none; }
.lore-card summary:hover { background: rgba(214,168,79,.045); }
.lore-summary-icon { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--k-line-2); border-radius: 10px; background: rgba(0,0,0,.26); font-size: 1.45rem; }
.lore-summary-copy { display: grid; gap: 4px; }
.lore-summary-copy strong { color: var(--k-text); font-size: 1.25rem; }
.lore-summary-copy small { color: var(--k-muted); }
.lore-toggle { min-width: 76px; padding: 7px 10px; border: 1px solid rgba(214,168,79,.25); border-radius: 8px; color: var(--k-gold-2); background: rgba(214,168,79,.055); text-align: center; font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.lore-toggle-close { display: none; }
.lore-card[open] .lore-toggle-open { display: none; }
.lore-card[open] .lore-toggle-close { display: inline; }
.lore-content { max-width: 860px; margin: 0 auto; padding: 4px clamp(20px, 5vw, 64px) clamp(28px, 5vw, 52px); color: var(--k-muted); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1rem, 1.25vw, 1.08rem); line-height: 1.8; }
.lore-content::before { content: ''; display: block; width: min(260px, 70%); height: 1px; margin: 2px auto 26px; background: linear-gradient(90deg, transparent, rgba(214,168,79,.5), transparent); }
.lore-content p { margin: 0 0 1.25em; }
.lore-dark-year,
.lore-story-start { color: var(--k-gold-2); font-weight: 800; text-align: center; }
.lore-dark-year { margin-block: 1.8em !important; font-size: 1.16em; letter-spacing: .05em; }
.lore-story-start { font-size: 1.1em; }
.lore-ending { margin-bottom: 0 !important; padding-top: 8px; color: var(--k-text); font-style: italic; }

/* Rozpis */
.schedule-card { padding: 0; overflow: hidden; }
.stream-schedule-link { position: relative; display: grid; grid-template-columns: minmax(210px, .8fr) minmax(0, 1.7fr) auto; gap: 18px; align-items: center; padding: 18px 20px; color: inherit; background: linear-gradient(90deg, rgba(24,48,59,.42), rgba(8,12,14,.2)), radial-gradient(circle at 25% 15%, rgba(214,168,79,.12), transparent 42%); text-decoration: none; }
.stream-schedule-link::after { content: ''; position: absolute; inset: 6px; border: 1px dashed rgba(214,168,79,.16); border-radius: 8px; pointer-events: none; }
.schedule-card__head { display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 11px; align-items: center; }
.schedule-campfire { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(214,168,79,.25); border-radius: 9px; background: rgba(0,0,0,.3); font-size: 1.55rem; }
.schedule-card h2 { margin: 0; color: var(--k-text); font-size: 1.12rem; }
.schedule-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.schedule-grid > div { display: grid; gap: 3px; justify-items: center; padding: 9px; border: 1px solid rgba(236,205,142,.09); border-radius: 7px; background: rgba(0,0,0,.2); }
.schedule-grid strong { color: var(--k-gold-2); }
.schedule-grid span { color: var(--k-text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.schedule-cta { color: #b992ff; font-size: .75rem; font-weight: 900; text-transform: uppercase; white-space: nowrap; }


/* 0.10.25a194f — kompaktní rozpis streamů v levém sloupci. */
.side-schedule-card .stream-schedule-link{
  grid-template-columns:1fr;
  gap:11px;
  padding:14px;
}
.side-schedule-card .stream-schedule-link::after{inset:5px}
.side-schedule-card .schedule-card__head{grid-template-columns:38px minmax(0,1fr);gap:9px}
.side-schedule-card .schedule-campfire{width:36px;height:36px;font-size:1.25rem}
.side-schedule-card .schedule-eyebrow{margin:0 0 2px;font-size:.66rem}
.side-schedule-card h2{font-size:.96rem;line-height:1.25}
.side-schedule-card .schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.side-schedule-card .schedule-grid>div{grid-template-columns:28px 1fr;justify-items:start;align-items:center;gap:6px;padding:7px 8px}
.side-schedule-card .schedule-grid span{font-size:.78rem}
.side-schedule-card .schedule-cta{justify-self:end;font-size:.68rem}

/* Střední dashboard */
.center-grid { display: grid; gap: 12px; }
.home-insights-row { grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); }
.home-services-row { grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); }
.activity-feed,
.leaderboard-preview { display: grid; gap: 8px; }
.activity-entry { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 9px; align-items: center; padding: 8px 0; border-top: 1px solid rgba(236,205,142,.1); }
.activity-entry:first-child { border-top: 0; padding-top: 0; }
.activity-entry__icon { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--k-line); border-radius: 8px; background: rgba(0,0,0,.24); }
.activity-entry strong,
.activity-entry small { display: block; }
.activity-entry small { margin-top: 2px; color: var(--k-muted); }
.activity-entry time { color: var(--k-dim); font-size: .75rem; white-space: nowrap; }
.activity-entry[data-type="rare_find"] .activity-entry__icon { border-color: rgba(151,105,211,.35); }
.activity-entry[data-type="boss_victory"] .activity-entry__icon { border-color: rgba(214,168,79,.38); }
.panel-note { margin: 10px 0 0; color: var(--k-dim); font-size: .8rem; line-height: 1.45; }

.leaderboard-group { padding-top: 10px; border-top: 1px solid rgba(236,205,142,.1); }
.leaderboard-group:first-child { padding-top: 0; border-top: 0; }
.leaderboard-group h3 { display: flex; justify-content: space-between; gap: 8px; margin: 0 0 6px; color: var(--k-gold-2); font-size: .9rem; }
.leader-row { display: grid; grid-template-columns: 28px 1fr auto; gap: 8px; align-items: center; padding: 5px 0; border-top: 1px solid rgba(236,205,142,.08); }
.leader-row:first-of-type { border-top: 0; }
.leader-rank,
.leader-value { color: var(--k-gold-2); font-weight: 900; }
.text-link { display: inline-flex; margin-top: 12px; color: var(--k-gold-2); text-decoration: none; font-weight: 800; text-transform: uppercase; font-size: .82rem; }

.boss-layout { display: grid; grid-template-columns: 160px minmax(0,1fr); gap: 14px; align-items: center; }
.boss-art { display: grid; place-items: center; min-height: 160px; overflow: hidden; border: 1px solid var(--k-line); border-radius: 12px; background: radial-gradient(circle at 50% 40%, rgba(143,44,37,.2), transparent 65%), rgba(0,0,0,.24); }
.boss-art img { display: block; width: 100%; height: 160px; object-fit: contain; object-position: center; image-rendering: pixelated; }
.boss-layout.is-empty .boss-art img { opacity: .52; filter: grayscale(.85); }
.boss-info h3 { margin: 0 0 8px; color: var(--k-text); font-size: 1.25rem; }
.boss-info p,
.reward-note { color: var(--k-muted); line-height: 1.45; }
.boss-command { width: fit-content; margin: 9px 0; padding: 7px 11px; border: 1px solid rgba(119,184,91,.28); border-radius: 8px; color: #a9da86; background: rgba(119,184,91,.08); font-weight: 900; }
.boss-party { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }
.boss-timer { margin: 10px 0 14px; }
.boss-timer strong { color: var(--k-gold-2); }

.reward-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin-bottom: 12px; }
.reward-chest { display: grid; place-items: center; min-height: 72px; padding: 8px; border: 1px solid var(--k-line); border-radius: 10px; background: rgba(0,0,0,.24); text-align: center; }
.reward-chest span { font-size: 1.7rem; }
.reward-chest strong { color: var(--k-gold-2); font-size: .82rem; }
.planned-card { position: relative; overflow: hidden; }
.planned-card::after { content: 'PŘIPRAVUJEME'; position: absolute; right: -42px; top: 18px; width: 160px; padding: 5px 0; transform: rotate(36deg); color: #1b1209; background: var(--k-gold); text-align: center; font-size: .68rem; font-weight: 900; letter-spacing: .06em; }

/* Pravý sloupec */
.updates-feed { display: grid; gap: 10px; }
.update-entry { padding-bottom: 10px; border-bottom: 1px solid rgba(236,205,142,.1); }
.update-entry:last-child { padding-bottom: 0; border-bottom: 0; }
.update-entry time { color: var(--k-dim); font-size: .72rem; }
.update-entry h3 { margin: 3px 0 4px; color: var(--k-gold-2); font-size: .96rem; }
.update-entry p { margin: 0; color: var(--k-muted); font-size: .84rem; line-height: 1.45; }

.character-card[data-mode="own"] { border-color: rgba(119,184,91,.32); }
.character-profile-link { display: block; color: inherit; text-decoration: none; border-radius: 10px; }
.character-profile-link:hover { filter: brightness(1.06); }
.character-preview { display: grid; gap: 12px; }
.character-mini { display: grid; grid-template-columns: 82px 1fr; gap: 12px; align-items: center; }
.character-avatar { display: grid; place-items: center; width: 80px; height: 92px; overflow: hidden; border: 1px solid var(--k-line-2); border-radius: 12px; background: rgba(0,0,0,.28); }
.character-avatar img { width: 100%; height: 100%; object-fit: cover; object-position: top center; image-rendering: pixelated; }
.character-avatar .portrait-fallback { font-size: 2rem; }
.character-name { color: var(--k-text); font-size: 1.15rem; font-weight: 900; }
.character-class { margin-top: 3px; color: var(--k-gold-2); }
.character-meta { display: grid; gap: 6px; margin-top: 10px; color: var(--k-muted); }
.character-stamina { display: grid; gap: 5px; margin-top: 7px; }
.character-stamina__head { display: flex; justify-content: space-between; gap: 8px; color: var(--k-muted); font-size: .8rem; }
.character-stamina__head strong { color: #a9da86; }

.community-progress-card {
  position: relative;
  overflow: hidden;
  border-color: rgba(214,168,79,.3);
  background:
    radial-gradient(circle at 100% 0%, rgba(214,168,79,.1), transparent 48%),
    rgba(9,12,13,.96);
}
.community-progress-card.is-building { border-color: rgba(138,169,213,.36); }
.community-progress-card.is-completed { border-color: rgba(119,184,91,.36); }
.community-progress-card__body { display: grid; gap: 10px; }
.community-progress-card__body h3 { margin: 0; color: var(--k-text); font-size: 1.08rem; line-height: 1.25; }
.community-progress-card__body > p { margin: 0; color: var(--k-muted); font-size: .84rem; line-height: 1.5; }
.community-state-badge {
  width: fit-content;
  padding: 5px 8px;
  border: 1px solid rgba(214,168,79,.28);
  border-radius: 999px;
  color: var(--k-gold-2);
  background: rgba(214,168,79,.08);
  font-size: .69rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.community-state-badge.building { color: #a9c4eb; border-color: rgba(138,169,213,.32); background: rgba(78,113,161,.12); }
.community-state-badge.completed { color: #a9da86; border-color: rgba(119,184,91,.32); background: rgba(119,184,91,.1); }
.community-state-badge.empty { color: var(--k-muted); border-color: rgba(236,205,142,.12); background: rgba(255,255,255,.025); }
.community-mini-requirements { display: grid; gap: 8px; padding-top: 2px; }
.community-mini-requirements[hidden] { display: none !important; }
.community-mini-requirement { display: grid; gap: 4px; }
.community-mini-requirement__row { display: flex; justify-content: space-between; gap: 8px; color: var(--k-muted); font-size: .76rem; }
.community-mini-requirement__row span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.community-mini-requirement__row strong { flex: 0 0 auto; color: var(--k-text); font-variant-numeric: tabular-nums; }
.community-mini-progress { height: 6px; overflow: hidden; border: 1px solid rgba(236,205,142,.12); border-radius: 999px; background: rgba(0,0,0,.35); }
.community-mini-progress span { display: block; width: var(--value,0%); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #8f6728, #d6a84f, #f0d58d); }
.community-progress-card__footer { display: grid; gap: 9px; padding-top: 3px; border-top: 1px solid rgba(236,205,142,.1); }
.community-progress-card__footer > strong { color: var(--k-gold-2); font-size: .84rem; }
.community-progress-card.is-building .community-progress-card__footer > strong { color: #a9c4eb; }
.community-progress-card.is-completed .community-progress-card__footer > strong { color: #a9da86; }
.community-development-button { width: 100%; justify-content: center; min-height: 42px; font-weight: 900; box-shadow: 0 0 0 1px rgba(214,168,79,.12), 0 8px 22px rgba(0,0,0,.24); }

.unlinked-character { display: grid; justify-items: center; gap: 9px; padding: 10px 4px; text-align: center; }
.unlinked-character__icon { display: grid; place-items: center; width: 58px; height: 58px; border: 1px solid var(--k-line-2); border-radius: 50%; background: rgba(214,168,79,.07); font-size: 1.8rem; }
.unlinked-character strong { color: var(--k-text); }
.unlinked-character p { margin: 0; color: var(--k-muted); line-height: 1.5; }
.unlinked-character b { color: #a9da86; }
.status-error { color: #f0a099 !important; }

.kingdom-footer { width: min(var(--site-shell-max,1540px), calc(100% - var(--site-shell-gutter,28px))); margin: 12px auto 0; display: flex; justify-content: center; gap: 18px; padding: 14px 0 20px; color: var(--k-dim); }

@media (max-width: 1320px) {
  .kingdom-page { grid-template-columns: 250px minmax(0,1fr); }
  .kingdom-side-right { grid-column: 1 / -1; grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 1040px) {
  .kingdom-page { grid-template-columns: 1fr; }
  .kingdom-main { order: 1; }
  .kingdom-side-left { order: 2; }
  .kingdom-side-right { order: 3; }
  .kingdom-side-left,
  .kingdom-side-right,
  .home-insights-row,
  .home-services-row { grid-template-columns: 1fr; }
  .stream-schedule-link { grid-template-columns: 1fr; }
  .schedule-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .schedule-cta { justify-self: end; }
}

@media (max-width: 720px) {
  .kingdom-page,
  .kingdom-footer { width: min(var(--site-shell-max,1540px), calc(100% - var(--site-shell-gutter,18px))); }
  .social-grid,
  .schedule-grid,
  .reward-grid { grid-template-columns: repeat(2,1fr); }
  .lore-card summary { grid-template-columns: 42px minmax(0,1fr); }
  .lore-toggle { grid-column: 1 / -1; width: 100%; }
  .activity-entry { grid-template-columns: 32px minmax(0,1fr); }
  .activity-entry time { grid-column: 2; }
  .boss-layout,
  .character-mini { grid-template-columns: 1fr; }
  .character-avatar { width: 100%; height: 210px; }
  .kingdom-footer { flex-direction: column; align-items: center; gap: 4px; }
}


@media (prefers-reduced-motion: reduce) {
  .rotator-slide { transition: none; transform: none; }
}

/* 0.10.25a130b – skutečně kulaté indikátory rotátoru */
.side-rotator__dot{width:6px!important;min-width:6px!important;max-width:6px!important;height:6px!important;min-height:6px!important;max-height:6px!important;aspect-ratio:1/1;padding:0!important;border-radius:50%!important}

/* 0.10.25a194h – dočasná návštěva Cestujícího obchodníka */
.merchant-event-card {
  position: relative;
  min-height: 210px;
  overflow: hidden;
  isolation: isolate;
  border-color: rgba(199,105,82,.4);
  background: #100b0a;
}
.merchant-event-art,
.merchant-event-overlay { position: absolute; inset: 0; }
.merchant-event-art { z-index: -3; }
.merchant-event-art img {
  width: 100%; height: 100%; object-fit: cover; object-position: center 43%;
  opacity: .64; filter: saturate(.86) contrast(1.05);
}
.merchant-event-overlay {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(8,7,7,.96) 0%, rgba(17,8,7,.88) 48%, rgba(31,12,10,.7) 100%),
    linear-gradient(180deg, rgba(0,0,0,.14), rgba(0,0,0,.7));
}
.merchant-event-content {
  min-height: 210px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 24px;
  padding: 24px 26px;
}
.merchant-event-copy { max-width: 760px; }
.merchant-event-copy .eyebrow { color: #e4a36d; }
.merchant-event-copy h2 { margin: .15rem 0 .45rem; color: #f2d8b0; font-size: clamp(1.35rem,2vw,1.85rem); }
.merchant-event-copy > p { margin: 0; color: #c9b9ae; line-height: 1.55; }
.merchant-event-offers { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.merchant-event-offer {
  min-width: 0; max-width: 190px; display: grid; grid-template-columns: 36px minmax(0,1fr); align-items: center; gap: 8px;
  padding: 7px 10px 7px 7px; border: 1px solid rgba(230,171,105,.25); border-radius: 9px;
  background: rgba(8,6,6,.62); box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
}
.merchant-event-offer img { width: 36px; height: 36px; object-fit: contain; image-rendering: pixelated; }
.merchant-event-offer b { color: #e6d4c0; font-size: .76rem; line-height: 1.25; white-space: normal; overflow-wrap: anywhere; }
.merchant-event-actions { display: grid; gap: 12px; min-width: 190px; justify-items: stretch; }
.merchant-event-countdown {
  display: grid; gap: 3px; padding: 12px 15px; text-align: center;
  border: 1px solid rgba(230,171,105,.34); border-radius: 10px;
  background: rgba(38,15,11,.76); box-shadow: inset 0 0 18px rgba(176,70,42,.08);
}
.merchant-event-countdown small { color: #c9aa91; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.merchant-event-countdown strong { color: #ffd7a2; font-size: 1.25rem; font-variant-numeric: tabular-nums; }
.merchant-event-button { justify-content: center; width: 100%; }
@media (max-width: 760px) {
  .merchant-event-content { grid-template-columns: 1fr; padding: 20px; }
  .merchant-event-actions { width: 100%; min-width: 0; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: stretch; }
  .merchant-event-offer { max-width: none; flex: 1 1 145px; }
}
@media (max-width: 520px) { .merchant-event-actions { grid-template-columns: 1fr; } }

/* Weekly Loyalty Redemption */
.home-services-row { grid-template-columns: 1fr; }
.loyalty-rewards-card { display:grid; gap:10px; }
.loyalty-rewards-card[hidden] { display:none!important; }
.loyalty-rewards-intro { margin:0; color:var(--k-muted); font-size:.75rem; line-height:1.5; }
.loyalty-rewards-summary { display:flex; align-items:end; justify-content:space-between; gap:10px; }
.loyalty-rewards-summary span { display:block; color:var(--k-muted); font-size:.72rem; }
.loyalty-rewards-summary strong { display:block; margin-top:2px; color:var(--k-text); font-size:1rem; }
.loyalty-rewards-today { flex:0 0 auto; padding:4px 7px; border:1px solid rgba(214,168,79,.2); border-radius:999px; background:rgba(214,168,79,.06); color:var(--k-gold-2)!important; }
.loyalty-progress-head { display:flex; justify-content:space-between; gap:10px; align-items:center; font-size:.75rem; }
.loyalty-progress-head strong { color:var(--k-text); font-weight:600; }
.loyalty-progress-head span { color:var(--k-gold-2); white-space:nowrap; }
.loyalty-tiers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.loyalty-tier { min-width:0; padding:8px; border:1px solid rgba(236,205,142,.11); border-radius:8px; background:rgba(0,0,0,.2); opacity:.64; transition:border-color .16s ease, background .16s ease, opacity .16s ease, box-shadow .16s ease; }
.loyalty-tier.is-next { opacity:1; border-color:rgba(214,168,79,.38); background:rgba(214,168,79,.07); }
.loyalty-tier.is-granted { opacity:1; border-color:rgba(119,178,129,.34); background:rgba(91,146,101,.08); box-shadow:0 0 9px rgba(119,178,129,.08); }
.loyalty-tier__head { display:flex; justify-content:space-between; align-items:center; gap:5px; margin-bottom:4px; }
.loyalty-tier__head strong { color:var(--k-gold-2); font-size:.78rem; }
.loyalty-tier__state { color:var(--k-muted); font-size:.68rem; white-space:nowrap; }
.loyalty-tier.is-granted .loyalty-tier__state { color:#98bd91; }
.loyalty-tier__reward { color:var(--k-muted); font-size:.68rem; line-height:1.4; }
.loyalty-tier.is-next .loyalty-tier__reward,
.loyalty-tier.is-granted .loyalty-tier__reward { color:var(--k-text); }
.loyalty-rewards-message { margin:0; min-height:1.2em; color:var(--k-muted); font-size:.73rem; line-height:1.4; }
@media (max-width:680px) { .loyalty-tiers { grid-template-columns:1fr; } }
.side-rotator[hidden] { display:none !important; }
.update-entry__link {
  display: inline-block;
  margin-left: .45rem;
  color: var(--k-gold-2);
  font-weight: 800;
  text-decoration: none;
}
.update-entry__link:hover,
.update-entry__link:focus-visible { text-decoration: underline; }
