/* ZZZ FINAL LOCK: loaded last */

/* title text replacements */
body.home-page .special-panel .retro-title {
  text-align: center !important;
}

/* remove any soccer ball that appears near profile/left side */
body.home-page .retro-left img[src*="soccer"],
body.home-page .profile-panel img[src*="soccer"],
body.home-page img.soccer-divider,
body.home-page .floating-soccer,
body.home-page .soccer-floating {
  display: none !important;
}

/* together counter */
.shuma-together-days {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  margin-top: 3px !important;
}

.shuma-day-heart {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 25px !important;
  height: 23px !important;
  color: #fff !important;
  background: #e8a2ca !important;
  border: 1px solid #c67eaa !important;
  border-radius: 50% 50% 45% 45% !important;
  font-family: monospace !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.shuma-day-heart::before {
  content: "♥" !important;
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #e8a2ca !important;
  font-size: 29px !important;
  z-index: 0 !important;
}

.shuma-day-heart > span {
  position: relative !important;
  z-index: 1 !important;
}

.shuma-together-word {
  margin-left: 3px !important;
  color: #557d9a !important;
  font-family: monospace !important;
  font-size: 9px !important;
  font-weight: 900 !important;
}

/* right column spacing */
body.home-page .retro-right {
  gap: 6px !important;
  row-gap: 6px !important;
}

body.home-page .retro-right .retro-box {
  margin-bottom: 6px !important;
}

/* tighter Hello Kitty trip rows */
body.home-page .trip-panel .retro-title {
  padding: 5px 8px !important;
  min-height: 23px !important;
  font-size: 12px !important;
}

body.home-page .trip-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  padding: 6px 8px !important;
}

body.home-page .trip-row {
  min-height: 46px !important;
  height: 46px !important;
  padding: 4px 7px !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: 34px 1fr 40px !important;
  align-items: center !important;
  column-gap: 6px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body.home-page .trip-icon {
  width: 34px !important;
  height: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.home-page .trip-icon img,
body.home-page .trip-row img {
  width: auto !important;
  height: auto !important;
  max-width: 31px !important;
  max-height: 31px !important;
  object-fit: contain !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.home-page .trip-info strong {
  display: block !important;
  margin: 0 !important;
  font-size: 10px !important;
  line-height: 1.05 !important;
  color: #5f688e !important;
  text-align: left !important;
}

/* hide the repeated big D-number text */
body.home-page .trip-info span[id^="trip-"] {
  display: none !important;
}

body.home-page .trip-pill-final {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 15px !important;
  justify-self: end !important;
  align-self: end !important;
  background: rgba(255,255,255,.82) !important;
  border: 1px solid #a994c8 !important;
  color: #735f96 !important;
  font-family: monospace !important;
  font-size: 8px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

/* World Cup title centered, not skewed */
body.home-page .world-cup-panel .retro-title {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  text-align: center !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.home-page .world-cup-ball-final {
  width: 20px !important;
  height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  object-fit: contain !important;
  display: inline-block !important;
  flex: 0 0 auto !important;
}

/* calendar: keep style, remove bottom lines */
body.home-page .calendar-final-clean {
  overflow: hidden !important;
}

body.home-page .calendar-final-clean .retro-title {
  padding: 5px 8px !important;
  min-height: 24px !important;
  font-size: 12px !important;
}

body.home-page .calendar-final-body {
  padding: 7px !important;
  background: url("/images/patterns/pink-gingham.jpg") center/155px auto repeat !important;
}

body.home-page .calendar-final-month {
  margin: 0 0 6px 0 !important;
  padding: 7px !important;
  text-align: center !important;
  font-weight: 900 !important;
  font-size: 14px !important;
  color: #586c91 !important;
  background: #d8ffb8 !important;
  border: 1px solid #ef8eb9 !important;
}

body.home-page .calendar-final-grid {
  display: grid !important;
  grid-template-columns: repeat(7, 1fr) !important;
  border-left: 1px solid #ef8eb9 !important;
  border-top: 1px solid #ef8eb9 !important;
  background: rgba(255,255,255,.9) !important;
}

body.home-page .calendar-final-cell {
  min-height: 26px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-right: 1px solid #ef8eb9 !important;
  border-bottom: 1px solid #ef8eb9 !important;
  font-size: 10px !important;
  color: #5d6c8d !important;
  box-sizing: border-box !important;
}

body.home-page .calendar-final-head {
  background: #fff2bf !important;
  font-weight: 900 !important;
}

body.home-page .calendar-final-sun {
  color: #db628a !important;
  background-color: rgba(255,238,244,.72) !important;
}

body.home-page .calendar-final-sat {
  color: #4a8bc4 !important;
  background-color: rgba(232,244,255,.72) !important;
}

body.home-page .calendar-final-today {
  background: #e8659c !important;
  color: #fff !important;
  font-weight: 900 !important;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.55) !important;
}

/* bottom-right boba */
body.home-page .boba-final-clean .retro-title {
  text-align: center !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  padding: 5px 8px !important;
}

body.home-page .boba-final-clean img {
  display: block !important;
  width: 100% !important;
  height: 105px !important;
  object-fit: cover !important;
}

/* real popup, no dark side overlay */
body.home-page .letter-clean-overlay {
  position: fixed !important;
  inset: 0 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  backdrop-filter: none !important;
  z-index: 999999 !important;
}

body.home-page .letter-clean-overlay.open {
  display: flex !important;
}

body.home-page .letter-clean-window {
  position: relative !important;
  margin: 0 auto !important;
  transform: none !important;
  max-width: min(92vw, 720px) !important;
  max-height: 82vh !important;
  overflow: auto !important;
}
