/* ==============================
   SIM専門 Spring Theme
   前提: top.css の後に読む
   対応TPL:
   header / .brand / .site-name
   .container / .stack / .card
   .device-badge
   .q-title / .note
   .choices / .choice / .label
   .actions / .btn
   .result-panel / .result / .cta
   .seo-intro / .seo-guide / .faq-block
   ============================== */

body.theme-spring {
  background: linear-gradient(to bottom, #fffafc 0%, #fff5f7 100%);
  color: #4a2a35;
}

/* ==============================
   Header
   ============================== */
body.theme-spring header {
  background: linear-gradient(135deg, #fff7fb 0%, #fff1f2 100%);
  border-bottom: 1px solid #f8cddd;
}

body.theme-spring .brand {
  padding: 28px 0 20px 0;
}

body.theme-spring .site-name {
  color: #c2185b;
  font-weight: bold;
}

body.theme-spring .brand h1 {
  color: #9d174d;
}

body.theme-spring .brand p {
  color: #7a284f;
}

/* ==============================
   Common card / block
   ============================== */
body.theme-spring .card {
  background: #fffdfd;
  border: 1px solid #f3c7d8;
  box-shadow: 0 4px 16px rgba(190, 24, 93, 0.06);
}

body.theme-spring .card h2,
body.theme-spring .card h3 {
  color: #9d174d;
}

body.theme-spring .note {
  color: #8a4b63;
}

/* ==============================
   Device badge
   ============================== */
body.theme-spring .device-badge {
  background: #fff1f5;
  border: 1px solid #f5bfd2;
  color: #8f1d4f;
}

body.theme-spring .device-badge strong {
  color: #be185d;
}

/* ==============================
   Intro / SEO sections
   ============================== */
body.theme-spring .seo-intro,
body.theme-spring .seo-guide,
body.theme-spring .faq-block {
  background: #fffdfd;
}

body.theme-spring .seo-intro p,
body.theme-spring .seo-guide p,
body.theme-spring .faq-block p {
  color: #5b3a46;
}

/* ==============================
   Question area
   ============================== */
body.theme-spring .q-title {
  color: #9d174d;
}

body.theme-spring .choices {
  gap: 12px;
}

body.theme-spring .choice {
  display: block;
}

body.theme-spring .choice .label {
  background: #fffdfd;
  border: 1px solid #f4cada;
  border-radius: 14px;
  box-shadow: 0 2px 8px rgba(190, 24, 93, 0.05);
  transition: all 0.2s ease;
}

body.theme-spring .choice:hover .label {
  border-color: #ec4899;
  box-shadow: 0 10px 24px rgba(236, 72, 153, 0.14);
  transform: translateY(-1px);
}

body.theme-spring .choice .label strong {
  color: #9d174d;
}

body.theme-spring .choice .label span {
  color: #7b5563;
}

/* radio checked */
body.theme-spring .choice input[type="radio"]:checked + .label {
  background: linear-gradient(135deg, #fff0f6 0%, #ffe4ec 100%);
  border-color: #ec4899;
  box-shadow: 0 0 0 3px rgba(236, 72, 153, 0.12);
}

body.theme-spring .choice input[type="radio"]:focus + .label {
  outline: none;
  box-shadow: 0 0 0 3px rgba(236, 72, 153, 0.18);
}

/* ==============================
   Buttons
   ============================== */
body.theme-spring .actions .btn,
body.theme-spring .btn {
  background: #ec4899;
  border: 1px solid #ec4899;
  color: #fff;
}

body.theme-spring .actions .btn:hover,
body.theme-spring .btn:hover {
  background: #db2777;
  border-color: #db2777;
}

body.theme-spring .actions .btn.secondary,
body.theme-spring .btn.secondary {
  background: #fff1f5;
  border: 1px solid #f5bfd2;
  color: #8f1d4f;
}

body.theme-spring .actions .btn.secondary:hover,
body.theme-spring .btn.secondary:hover {
  background: #ffe4ec;
  border-color: #ec9fbb;
}

/* ==============================
   Result area
   ============================== */
body.theme-spring .result-panel .result {
  background: #fffdfd;
  border: 1px solid #f4cada;
  box-shadow: 0 4px 16px rgba(190, 24, 93, 0.06);
}

body.theme-spring .result h2 {
  color: #9d174d;
}

body.theme-spring .result p {
  color: #6a4553;
}

body.theme-spring .cta {
  border-radius: 12px;
  transition: all 0.2s ease;
}

body.theme-spring .cta.primary {
  background: #ec4899;
  border: 1px solid #ec4899;
  color: #fff;
}

body.theme-spring .cta.primary:hover {
  background: #db2777;
  border-color: #db2777;
}

body.theme-spring .cta.secondary {
  background: #fff1f5;
  border: 1px solid #f5bfd2;
  color: #8f1d4f;
}

body.theme-spring .cta.secondary:hover {
  background: #ffe4ec;
  border-color: #ec9fbb;
}

/* ==============================
   Footer
   ============================== */
body.theme-spring footer,
body.theme-spring .footer {
  color: #8a4b63;
}

/* ==============================
   Debug
   ============================== */
body.theme-spring #debug {
  background: #fff7fb;
  border-color: #e8a8c2 !important;
  color: #8f1d4f;
}