/* ═══════════════════════════════════════════════════════════════════════
   全ページ共通の部品スタイル。
   色とフォントの定義は theme.js にあります（Tailwind が処理する必要があるため）。
   ここは Tailwind を通さない素の CSS です。
   ═══════════════════════════════════════════════════════════════════════ */

/* ── ロゴ ──────────────────────────────────────────────────────────
   ロゴ本体は濃紺なので、背景に沈まないよう「形だけ」を使って現在の文字色で塗る。
   色を変えたいときは、囲んでいる要素の text-◯◯ を差し替える。

   画像を data URI で埋め込んでいるのは、CSS の mask が画像を同一オリジン扱い
   するため。logo/ を参照すると file:// で開いたときに読み込みがブロックされて
   ロゴが消える。差し替えるときは下の1行を作り直す:
     base64 -i logo/Logo-EPIPHANY.webp                                    */
.logo-mark {
  display: block;
  aspect-ratio: 1532 / 230;   /* logo/Logo-EPIPHANY.webp の縦横比 */
  background-color: currentColor;
  -webkit-mask: var(--logo-src) left center / contain no-repeat;
  mask: var(--logo-src) left center / contain no-repeat;
}
:root { --logo-src: url("data:image/webp;base64,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"); }

/* ── カード四隅の「トンボ」──────────────────────────────────────────
   囲み要素に corner-ticks を付け、中に <span class="ticks-b"></span> を
   1つ置くと四隅に出る。span は absolute なので grid/flex のマスを消費しない。 */
.corner-ticks > .ticks-b {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.corner-ticks::before,
.corner-ticks::after,
.corner-ticks > .ticks-b::before,
.corner-ticks > .ticks-b::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  border: 0 solid var(--tick-color, var(--color-blueprint2));
}
.corner-ticks::before            { top: -1px; left: -1px;  border-left-width: 1.5px; border-top-width: 1.5px; }
.corner-ticks::after             { top: -1px; right: -1px; border-right-width: 1.5px; border-top-width: 1.5px; }
.corner-ticks > .ticks-b::before { bottom: -1px; left: -1px;  border-left-width: 1.5px; border-bottom-width: 1.5px; }
.corner-ticks > .ticks-b::after  { bottom: -1px; right: -1px; border-right-width: 1.5px; border-bottom-width: 1.5px; }

/* ── フォーム部品 ───────────────────────────────────────────────────
   contact.html で使用。入力欄は .field、ラベルは .field-label。 */
.field-label {
  display: block;
  margin-bottom: 10px;
  font-family: var(--font-mincho);
  font-size: 13px;
  letter-spacing: 0.08em;
  color: var(--color-cream);
}
.field-label .req {
  margin-left: 10px;
  padding: 2px 7px;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.14em;
  color: var(--color-ember);
  border: 1px solid var(--color-ember);
}
.field-label .opt {
  margin-left: 10px;
  padding: 2px 7px;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.14em;
  color: var(--color-cream-mute);
  border: 1px solid var(--color-blueprint2);
}
.field {
  display: block;
  width: 100%;
  padding: 14px 16px;
  font: inherit;
  font-size: 15px;
  line-height: 1.7;
  color: var(--color-cream);
  background: var(--color-ink);
  border: 1px solid var(--color-blueprint2);
  border-radius: 0;
  outline: none;
  transition: border-color .12s;
}
.field::placeholder { color: rgba(243,232,203,0.3); }
.field:hover        { border-color: rgba(243,228,180,0.6); }
.field:focus        { border-color: var(--color-ember); }
textarea.field      { min-height: 200px; resize: vertical; }

/* 送信ボタン。押せない見た目にならないよう hover を少しだけ明るく。 */
.btn-submit {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 22px 44px;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--color-ink);
  background: var(--color-ember);
  border: none;
  cursor: pointer;
  transition: background-color .12s;
}
.btn-submit:hover { background: #ff8259; }
