/*
| テーマ「スイート」— パステルピンク × くすんだ金の点線 × リボン
| 調べた結果（docs/デザイン調査.md）から:
|  - ピンクでも幼く見せないため、文字は黒でなく「こげ茶がかったピンク」
|  - 金は原色でなく、くすんだ金。点線の枠とリボンにだけ使う
|  - 英字の飾り（見出しの英字・日付・数字）は Cormorant Garamond のイタリック
|  - 名前・時間・料金など大事な情報は太いゴシックのまま（読みやすさ優先）
| HTML は他のテーマと共通。ここでは見た目だけを上書きする。
*/
body[data-theme="sweet"] {
  --ink: #4b3239;
  --muted: #6d5159;
  --paper: #fffafc;
  --line: #f2d9e3;
  --second: #eaf6f3;
  --second-ink: #4d7268;
  --t-pink: #f4a7c3;
  --t-pink-soft: #fde8f0;
  --t-gold: #bf9a5a;
  --t-gold-soft: #f5ead3;
  --t-latin: "Cormorant Garamond", "Times New Roman", serif;
  --display: "Zen Maru Gothic", var(--sans);
  --radius: 14px;

  background-color: #fbeef3;
  /* アーチ窓を並べた淡い模様（自作の SVG）。ピンクの色の移り変わりの上に薄く敷いて「部屋」の空気を作る */
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='260' viewBox='0 0 180 260'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='2' opacity='.75'%3E%3Cpath d='M30 250V110a60 60 0 0 1 120 0v140'/%3E%3Cpath d='M44 250V112a46 46 0 0 1 92 0v138'/%3E%3Cpath d='M90 66v184M44 150h92M44 200h92'/%3E%3C/g%3E%3C/svg%3E"),
    radial-gradient(ellipse at 15% 10%, #ffffff 0, transparent 45%),
    radial-gradient(ellipse at 90% 70%, #fde2ec 0, transparent 50%),
    linear-gradient(170deg, #fdf1f5, #f8e3ec);
  background-size: 180px 260px, auto, auto, auto;
}
[data-theme="sweet"] .site-shell { background: #fffafc8f; box-shadow: 0 0 60px #e7a3be33; }
[data-theme="sweet"] .site-header,
[data-theme="sweet"] .home-intro,
[data-theme="sweet"] .home-visual { background: transparent; }
[data-theme="sweet"] .site-header { border-bottom: 1px dashed var(--t-pink); }
[data-theme="sweet"] .brand strong { font-weight: 700; letter-spacing: .06em; }
[data-theme="sweet"] .brand small { font-family: var(--t-latin); font-style: italic; font-size: .8125rem; font-weight: 600; letter-spacing: .06em; color: #8f6a2f; }
[data-theme="sweet"] .menu-toggle { background: var(--t-pink-soft); }

/* 見出し: 英字は大きめのイタリック、日本語は丸ゴシック。英字の前の線は小さなハート型の点に */
[data-theme="sweet"] .eyebrow {
  font-family: var(--t-latin); font-style: italic; font-weight: 600;
  font-size: .9375rem; letter-spacing: .06em; color: #8f6a2f;
}
[data-theme="sweet"] .section-heading .eyebrow::before {
  width: 7px; height: 7px; border-radius: 50%; opacity: 1; margin-right: 8px;
  background: var(--t-pink); box-shadow: 10px 0 0 -1px var(--t-pink-soft);
  vertical-align: 2px;
}
[data-theme="sweet"] .section-heading h2 { font-weight: 700; letter-spacing: .08em; font-feature-settings: "palt"; }
[data-theme="sweet"] .section + .section { border-top: 0; background-image: linear-gradient(90deg, transparent, var(--t-pink) 20%, var(--t-pink) 80%, transparent); background-size: 60% 1px; background-repeat: no-repeat; background-position: center top; }
[data-theme="sweet"] .section-new,
[data-theme="sweet"] .section-diary,
[data-theme="sweet"] .section-blog { background-color: #fff5f9b3; }
[data-theme="sweet"] .home-intro h1 { font-weight: 700; letter-spacing: .06em; font-feature-settings: "palt"; }
[data-theme="sweet"] .home-intro h1 span { background: linear-gradient(transparent 62%, var(--t-pink-soft) 62%, var(--t-pink-soft) 92%, transparent 92%); }

/* ボタンは丸く、ピンクの色の移り変わりで */
[data-theme="sweet"] .button-primary,
[data-theme="sweet"] .bottom-nav a:last-child {
  background: linear-gradient(135deg, #e6789f, #c9587f); border-color: transparent; color: #fff;
  box-shadow: 0 6px 16px #d9709a40;
}
[data-theme="sweet"] .button-primary, [data-theme="sweet"] .button-outline, [data-theme="sweet"] .contact-option { border-radius: 999px; }
[data-theme="sweet"] .bottom-nav { background: #fffafcf5; border-top: 1px dashed var(--t-pink); }
[data-theme="sweet"] .bottom-nav a[aria-current]:not(:last-child) { background: var(--t-pink-soft); }

/* ───── 人のカード: 写真の下に金の点線の枠とリボン ───── */
[data-theme="sweet"] .cast-card { background: #fff; border-radius: 6px; box-shadow: 0 10px 24px #e7a3be2e; padding-bottom: 8px; }
[data-theme="sweet"] .cast-picture { border-radius: 6px 6px 0 0; box-shadow: none; }
[data-theme="sweet"] .cast-picture::after { border-radius: inherit; box-shadow: none; }
[data-theme="sweet"] .cast-info {
  position: relative; overflow: hidden; margin: 8px 7px 0; padding: 14px 8px 10px;
  border: 2px dashed color-mix(in srgb, var(--t-gold) 75%, #fff); border-radius: 4px; text-align: center;
}
/* 左上の斜めのリボン */
[data-theme="sweet"] .cast-info::before {
  content: "Profile"; position: absolute; top: 9px; left: -30px; width: 96px;
  transform: rotate(-45deg); text-align: center;
  font-family: var(--t-latin); font-style: italic; font-weight: 600; font-size: .6875rem; line-height: 1.6;
  color: #6b5028; background: linear-gradient(90deg, #efdfbd, #f8eed8, #efdfbd);
  box-shadow: 0 1px 0 #d8c08f, 0 -1px 0 #d8c08f;
}
[data-theme="sweet"] .cast-info h3 { justify-content: center; font-family: var(--display); letter-spacing: .06em; }
[data-theme="sweet"] .cast-meta, [data-theme="sweet"] .cast-measurements { font-size: .6875rem; font-variant-numeric: tabular-nums; }
[data-theme="sweet"] .cast-tags { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: 8px; }
[data-theme="sweet"] .cast-tags span { background: var(--t-pink-soft); color: #8d3f5f; border-radius: 3px; padding: 3px 2px; text-align: center; }
[data-theme="sweet"] .cast-tagline { border-top: 1px solid var(--line); padding-top: 6px; margin-top: 8px; }
/* 出勤は写真の上の札で見せるので、下の文字は重ねて出さない */
[data-theme="sweet"] .cast-info .shift-time,
[data-theme="sweet"] .cast-info .shift-state:not(.is-quiet) { display: none; }
[data-theme="sweet"] .photo-badge {
  display: inline-flex; align-items: center; gap: 5px;
  position: absolute; left: 0; bottom: 10px; z-index: 2; max-width: calc(100% - 10px);
  padding: 5px 12px 5px 10px; border-radius: 0 999px 999px 0;
  background: #f08db3e6; color: #fff; font-size: .75rem; font-weight: 700; line-height: 1.4;
  text-shadow: 0 1px 2px #a8456d66;
}
[data-theme="sweet"] .photo-badge svg { width: 14px; height: 14px; stroke-width: 2; }
[data-theme="sweet"] .new-label {
  top: 10px; left: 10px; padding: 3px 10px; border-radius: 999px;
  background: #fff; color: #c9587f; font-family: var(--t-latin); font-style: italic; font-size: .8125rem;
  box-shadow: 0 2px 8px #c9587f33;
}

/* ───── 出勤表: 英字の日付をピンクの帯で ───── */
[data-theme="sweet"] .schedule-caption { flex-wrap: wrap; }
[data-theme="sweet"] .caption-date {
  display: inline-flex; align-items: baseline; gap: 6px; margin: 0 0 0 -24px; padding: 4px 22px 4px 24px;
  background: linear-gradient(90deg, #f4a7c3, #f8c3d7); color: #fff;
  font-family: var(--t-latin); font-style: italic; font-weight: 600; font-size: 2rem; line-height: 1.2;
  text-shadow: 0 1px 3px #c9587f59; flex-basis: auto;
}
[data-theme="sweet"] .caption-date small { font-size: .875rem; letter-spacing: .08em; }
[data-theme="sweet"] .schedule-caption h3 { flex-basis: 100%; }
[data-theme="sweet"] .date-tabs > a { background: #fff; border-color: var(--line); border-radius: 999px; }
[data-theme="sweet"] .date-tabs strong { font-family: var(--t-latin); font-style: italic; font-size: 1.625rem; font-weight: 600; }
[data-theme="sweet"] .date-tabs a[aria-current] { background: linear-gradient(160deg, #f08db3, #d9709a); border-color: transparent; }
[data-theme="sweet"] .filter-tabs a { border-radius: 999px; background: #fff; }
[data-theme="sweet"] .filter-tabs a[aria-current] { background: linear-gradient(135deg, #e6789f, #c9587f); border-color: transparent; }

/* ───── 人の詳細 ───── */
[data-theme="sweet"] .photo-stage, [data-theme="sweet"] .detail-photo { border-radius: 200px 200px 10px 10px; }
[data-theme="sweet"] .cast-detail h1 { letter-spacing: .1em; }
[data-theme="sweet"] .shift-box { background: #fff; border: 2px dashed color-mix(in srgb, var(--t-gold) 70%, #fff); }
[data-theme="sweet"] .faq summary { font-family: var(--display); }

/* ───── 料金ページ: 白いカードに金の点線、数字は英字のイタリック ───── */
[data-theme="sweet"] .price-intro { background: transparent; }
[data-theme="sweet"] .course-card {
  border: 2px dashed color-mix(in srgb, var(--t-gold) 70%, #fff); border-radius: 10px;
  box-shadow: 0 8px 20px #e7a3be2e;
}
[data-theme="sweet"] .course-card::before { display: none; }
[data-theme="sweet"] .course-time { background: linear-gradient(160deg, #fbd3e2, #f4a7c3); border: 0; color: #fff; text-shadow: 0 1px 2px #c9587f66; }
[data-theme="sweet"] .course-time strong { font-family: var(--t-latin); font-style: italic; font-size: 1.625rem; }
[data-theme="sweet"] .course-time small { font-family: var(--t-latin); font-style: italic; letter-spacing: .06em; }
[data-theme="sweet"] .course-price, [data-theme="sweet"] .extension-list strong, [data-theme="sweet"] .option-tiles strong {
  font-family: var(--t-latin); font-style: italic; font-weight: 600;
}
[data-theme="sweet"] .course-price { font-size: 1.875rem; color: #9b3e65; }
[data-theme="sweet"] .course-price small { color: var(--t-gold); }
[data-theme="sweet"] .extension-list li { background: #fff; border: 1px solid var(--line); }
[data-theme="sweet"] .extension-list strong { font-size: 1.5rem; color: #9b3e65; }
[data-theme="sweet"] .option-tiles li { border: 1px dashed color-mix(in srgb, var(--t-gold) 60%, #fff); }
[data-theme="sweet"] .option-tiles strong { font-size: 1.375rem; color: #9b3e65; }
[data-theme="sweet"] .notice-card { background: #fff; border: 1px solid var(--line); }
[data-theme="sweet"] .notice-card h3 svg, [data-theme="sweet"] .terms-fold summary svg { color: #d9709a; }
[data-theme="sweet"] .text-rows > div { border-top-color: var(--line); }

/* ───── その他 ───── */
[data-theme="sweet"] .quick-links { background: #fff; border: 2px dashed color-mix(in srgb, var(--t-gold) 60%, #fff); }
[data-theme="sweet"] .quick-links strong { font-family: var(--t-latin); font-style: italic; font-size: 2rem; }
[data-theme="sweet"] .guide-banner { background: linear-gradient(160deg, #fde8f0, #eaf6f3); }
[data-theme="sweet"] .site-footer { background: transparent; }
[data-theme="sweet"] .footer-brand { letter-spacing: .08em; }
[data-theme="sweet"] .age-dialog { border-top-color: var(--t-pink); border-radius: 24px; }

/* 数字は高さをそろえて読みやすく（この書体は標準だと数字の高さが上下にずれる） */
[data-theme="sweet"] .course-price, [data-theme="sweet"] .course-time strong, [data-theme="sweet"] .extension-list strong,
[data-theme="sweet"] .option-tiles strong, [data-theme="sweet"] .caption-date, [data-theme="sweet"] .date-tabs strong,
[data-theme="sweet"] .quick-links strong { font-variant-numeric: lining-nums tabular-nums; }

/* 本日の出勤の枠（2026-09-19 YUTAKAさん「テンプレごとに変えて」）: 金の点線の角丸フレームに、てっぺんのリボン */
[data-theme="sweet"] .rail-frame { border: 2px dotted #c9a86a; border-radius: 30px; padding: 9px; background: #fff; box-shadow: 0 10px 24px -14px #e27fa3; }
[data-theme="sweet"] .rail-frame::after { inset: -7px; border: 1px solid #f2c9d8; border-radius: 36px; }
[data-theme="sweet"] .rail-people-stage { border-radius: 22px; }
[data-theme="sweet"] .rail-people-stage::after { border-radius: 17px; border-style: dashed; border-color: #ffffffcc; }
[data-theme="sweet"] .rail-frame-ornament { font-size: 0; top: -16px; text-shadow: none; }
[data-theme="sweet"] .rail-frame-ornament::before {
  content: "♥"; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%;
  background: #e27fa3; color: #fff; font-size: .875rem; box-shadow: 0 0 0 3px #fff, 0 0 0 4px #c9a86a;
}
[data-theme="sweet"] .rail-person-info { background: linear-gradient(transparent, #b0456fa6); }

/* 人のカードの枠（2026-09-19 YUTAKAさん「全サイトに枠を」）: 白いカードに、ピンクの細い線（名前の欄の金の点線はもともとある） */
[data-theme="sweet"] .cast-card { display: flex; flex-direction: column; padding: 6px 6px 10px; border: 1px solid #f2c9d8; border-radius: 16px; }
[data-theme="sweet"] .cast-picture { border-radius: 11px; }