/* 花信 · Huaxin Florist — site stylesheet
 * Aesthetic target: 2000s amateur Chinese small-business site, this time a
 * tiny Suzhou flower shop. Same "ugly-on-purpose" vibe as the radio shop —
 * keep it manual, do not modernize. Different palette though: warm cream
 * background, jade-green chrome, deep crimson accents.
 */

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;700&display=swap');

html, body {
  margin: 0;
  padding: 0;
  background: #f3ecdb;
  color: #2a2a26;
  font-family: SimSun, "宋体", "Noto Serif SC", serif;
  font-size: 14px;
  line-height: 1.6;
}

a {
  color: #1f6d4a;
  text-decoration: underline;
}
a:visited { color: #6b1a8a; }
a:hover { color: #a8201a; background: #fff4d6; }

.wrap {
  max-width: 800px;
  margin: 0 auto;
  background: #fffbf0;
  border: 1px solid #b8a06a;
  padding: 0;
}

/* Header */
.site-header {
  background: #2f5a3f;
  color: #fbf5dc;
  padding: 12px 16px 8px;
  border-bottom: 3px double #b8a06a;
}
.site-header h1 {
  margin: 0;
  font-size: 26px;
  letter-spacing: 4px;
  font-weight: 700;
}
.site-header .tagline {
  font-size: 12px;
  color: #d8c994;
  margin-top: 2px;
}
.site-header .meta {
  font-size: 11px;
  color: #d8c994;
  margin-top: 4px;
}

/* Nav bar */
.nav {
  background: #e8dcb0;
  border-bottom: 1px solid #b8a06a;
  padding: 4px 8px;
  font-size: 13px;
}
.nav a {
  margin-right: 6px;
  padding: 2px 4px;
}
.nav .sep { color: #999; margin-right: 6px; }

/* Body content */
.content {
  padding: 14px 18px 24px;
  min-height: 320px;
}

h2 {
  color: #2f5a3f;
  border-bottom: 1px solid #b8a06a;
  padding-bottom: 3px;
  font-size: 18px;
  margin-top: 22px;
}
h3 {
  color: #5a1313;
  font-size: 15px;
  margin-top: 16px;
}

/* Two-column layout */
.cols {
  display: table;
  width: 100%;
  border-collapse: collapse;
}
.col-main {
  display: table-cell;
  vertical-align: top;
  padding-right: 14px;
}
.col-side {
  display: table-cell;
  vertical-align: top;
  width: 200px;
  border-left: 1px dashed #b8a06a;
  padding-left: 12px;
  font-size: 12px;
  color: #555;
}

.thumb {
  border: 2px ridge #b8a06a;
  padding: 2px;
  background: #fff;
  margin: 4px;
  height: auto !important;
  object-fit: contain;
}
.thumb-left  { float: left;  margin-right: 10px; }
.thumb-right { float: right; margin-left: 10px; }

.badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  padding: 1px 4px;
  margin: 0 3px;
  vertical-align: middle;
  border: 1px solid;
  font-family: Verdana, sans-serif;
}
.badge-new {
  color: #fff;
  background: #a8201a;
  border-color: #5a1313;
  animation: blink 1.2s step-end infinite;
}
.badge-rec {
  color: #fff;
  background: #2f5a3f;
  border-color: #133922;
}
.badge-hot {
  color: #fff200;
  background: #a8201a;
  border-color: #fff200;
}
@keyframes blink {
  50% { opacity: 0.35; }
}

table.data {
  border-collapse: collapse;
  width: 100%;
  font-size: 13px;
  margin: 10px 0;
}
table.data th, table.data td {
  border: 1px solid #b8a06a;
  padding: 4px 6px;
  text-align: left;
  vertical-align: top;
}
table.data th {
  background: #e8dcb0;
  color: #2f5a3f;
}
table.data tr:nth-child(even) td { background: #f8f1d8; }

input[type="text"], input[type="search"], textarea {
  font-family: SimSun, "宋体", serif;
  font-size: 13px;
  background: #fffdf6;
  border: 1px inset #b8a06a;
  padding: 3px 5px;
}
button, input[type="submit"] {
  font-family: SimSun, "宋体", serif;
  font-size: 12px;
  background: #e8dcb0;
  border: 1px outset #b8a06a;
  padding: 2px 8px;
  cursor: pointer;
}
button:active, input[type="submit"]:active {
  border-style: inset;
}

.footer {
  border-top: 3px double #b8a06a;
  background: #e8dcb0;
  padding: 10px 16px;
  font-size: 11px;
  color: #555;
  text-align: center;
}
.footer .counter {
  display: inline-block;
  margin-top: 6px;
  background: #000;
  color: #d8b94b;
  font-family: "Courier New", monospace;
  padding: 2px 6px;
  letter-spacing: 2px;
  border: 1px solid #555;
}
.footer .lie-stamp {
  color: #888;
  font-size: 10px;
}

/* Blog */
.post {
  border-bottom: 1px dashed #b8a06a;
  padding-bottom: 14px;
  margin-bottom: 14px;
}
.post .date {
  color: #888;
  font-size: 11px;
}
.post .signoff {
  color: #5a1313;
  font-size: 12px;
  margin-top: 16px;
  border-top: 1px dotted #b8a06a;
  padding-top: 8px;
  font-style: italic;
}

/* Testimonial blocks */
.testimonial {
  background: #f8f1d8;
  border: 1px solid #b8a06a;
  padding: 8px 10px;
  margin: 10px 0;
  font-size: 13px;
}
.testimonial .who {
  display: block;
  font-size: 11px;
  color: #555;
  margin-top: 4px;
  text-align: right;
}

.marquee {
  overflow: hidden;
  background: #fff4d6;
  border: 1px solid #b8a06a;
  color: #5a1313;
  font-weight: 700;
  font-size: 13px;
  padding: 4px 0;
  margin: 8px 0;
}
.marquee span {
  display: inline-block;
  padding-left: 100%;
  white-space: nowrap;
  animation: marquee 20s linear infinite;
}
@keyframes marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

.search-box {
  background: #e8dcb0;
  border: 1px solid #b8a06a;
  padding: 8px 10px;
  margin: 8px 0 14px;
}
.search-result {
  margin-top: 8px;
  font-size: 13px;
  color: #5a1313;
  min-height: 1.4em;
}

.error-page {
  text-align: center;
  padding: 40px 20px;
}
.error-page h2 {
  color: #5a1313;
  border: none;
  font-size: 32px;
}

/* A faux color-swatch chip used for paper-color legend */
.swatch {
  display: inline-block;
  width: 14px; height: 14px;
  border: 1px solid #555;
  vertical-align: middle;
  margin-right: 4px;
}
.swatch-white  { background: #fdfbef; }
.swatch-yellow { background: #f0c452; }
.swatch-red    { background: #a8201a; }
.swatch-pink   { background: #e9a7b1; }
.swatch-jade   { background: #2f5a3f; }
.swatch-purple { background: #6b3a8a; }

/* Utility */
.clear { clear: both; }
.small { font-size: 11px; color: #666; }
.center { text-align: center; }
hr.fancy {
  border: none;
  border-top: 1px solid #b8a06a;
  border-bottom: 1px solid #e8dcb0;
  height: 0;
  margin: 14px 0;
}

/* Card stack used on the-list / dispatch-log */
.card-stack { padding: 12px 0; }
.card {
  background: #fbf6e2; color: #3a2a1a;
  border: 1px solid #b8a06a; padding: 14px 18px;
  margin: 12px auto; max-width: 560px;
  box-shadow: 2px 2px 0 #888;
  font-family: "宋体", SimSun, serif;
}
.card.empty {
  background: #e8e3d4; color: #888;
  font-style: italic; border-style: dashed;
}
.card .id { color: #5a1313; font-weight: bold; font-size: 13px; }
.card .name { font-size: 18px; font-weight: bold; margin: 4px 0 8px 0; }
.card .meta { font-size: 12px; color: #666; margin-bottom: 8px; }
.card .note { font-size: 13px; line-height: 1.7; }
.card .src { font-size: 11px; color: #888; margin-top: 10px; }
