/* ===================================================
   有限会社シンセイ印刷様：入稿フォーム専用CSS（完全決定版）
   白背景／文字は黒／縦積み固定／限界まで詰める／フォーム別カラー
   入力幅・全体センタリング／ロゴ以外のヘッダー・広告非表示
   =================================================== */

/* --- 1. カラー設定（変数） --- */
:root{
  --form-bg-color:#ffffff;
  --form-text-color:#000000;
  --form-primary-color:#0056b3;
  --form-primary-shadow:rgba(0,86,179,.18);
}

/* ▼【個別設定A】データ入稿フォーム専用 */
body:has(#initial-state-forms-shareHash[value="Inp0WVdrTHpweWVKcjdHZ0pka3pKWEpLeCI="]){
  --form-bg-color:#ffffff;
  --form-text-color:#000000;
  --form-primary-color:#0056b3;
  --form-primary-shadow:rgba(0,86,179,.18);
}

/* ▼【個別設定B】別のフォーム用（例：Hakuブランド用） */
body:has(#initial-state-forms-shareHash[value="IlpMaWNyemFiV2tSeUtKeDVLRHIzQlJKdCI="]){
  --form-bg-color:#ffffff;
  --form-text-color:#000000;
  --form-primary-color:#8b4513; /* アクセント色をブラウンに */
  --form-primary-shadow:rgba(139,69,19,.18);
}


/* --- 2. 白背景の強制／外側余白の消去 --- */
body:has(#initial-state-forms-form),
body:has(#initial-state-forms-form) #content,
body:has(#initial-state-forms-form) .v-application,
body:has(#initial-state-forms-form) .theme--dark.v-application,
body:has(#initial-state-forms-form) .v-application--wrap,
body:has(#initial-state-forms-form) .layout-base,
body:has(#initial-state-forms-form) .container,
body:has(#initial-state-forms-form) .form-container{
  background-color:var(--form-bg-color)!important;
  background:var(--form-bg-color)!important;
  color:var(--form-text-color)!important;
  padding:0!important;
  box-shadow:none!important;
}

/* タイトル・説明文まわり */
body:has(#initial-state-forms-form) .form-header,
body:has(#initial-state-forms-form) .v-card__title,
body:has(#initial-state-forms-form) .v-card__text{
  padding:0!important;
  margin:0 0 4px!important;
  color:var(--form-text-color)!important;
}


/* --- 3. 見えない余白と不要な広告ポップアップの消去 --- */
body:has(#initial-state-forms-form) .v-text-field__details,
body:has(#initial-state-forms-form) .v-messages,
body:has(#initial-state-forms-form) .simple-sign-up,
body:has(#initial-state-forms-form) footer {
  display:none!important;
  height:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
}


/* --- 4. レイアウト：縦積み固定＋縦スペース限界圧縮 --- */
body:has(#initial-state-forms-form) .question,
body:has(#initial-state-forms-form) .v-input,
body:has(#initial-state-forms-form) .v-input__control,
body:has(#initial-state-forms-form) .v-input__slot,
body:has(#initial-state-forms-form) .v-text-field__slot{
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  height:auto!important;
  box-sizing:border-box!important;
}

body:has(#initial-state-forms-form) .question,
body:has(#initial-state-forms-form) .v-input__slot,
body:has(#initial-state-forms-form) .v-text-field__slot{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:2px!important;
}

body:has(#initial-state-forms-form) .question + .question,
body:has(#initial-state-forms-form) .v-input + .v-input{
  margin-top:2px!important;
}


/* --- 5. ラベル（項目名） --- */
body:has(#initial-state-forms-form) .v-label,
body:has(#initial-state-forms-form) label,
body:has(#initial-state-forms-form) .question-title{
  position:relative!important;
  transform:none!important;
  margin:0!important;
  padding:0!important;
  line-height:1.15!important;
  font-size:12px!important;
  font-weight:600!important;
  color:var(--form-text-color)!important;
  opacity:1!important;
  white-space:normal!important;
}

/* 必須マーク */
body:has(#initial-state-forms-form) .required-asterisk,
body:has(#initial-state-forms-form) .v-label--is-required::after{
  color:#d93025!important;
  margin-left:2px!important;
}


/* --- 6. 入力フィールド（黒文字＋白背景＋極限スリム） --- */
body:has(#initial-state-forms-form) input[type="text"],
body:has(#initial-state-forms-form) input[type="email"],
body:has(#initial-state-forms-form) input[type="tel"],
body:has(#initial-state-forms-form) input,
body:has(#initial-state-forms-form) textarea,
body:has(#initial-state-forms-form) .v-text-field__slot input,
body:has(#initial-state-forms-form) .v-text-field__slot textarea{
  background-color:#fff!important;
  color:#000!important;
  -webkit-text-fill-color:#000!important;
  opacity:1!important;
  border:1px solid rgba(0,0,0,.20)!important;
  border-radius:6px!important;
  padding:5px 8px!important;
  min-height:28px!important;
  font-size:14px!important;
  line-height:1.25!important;
  transition:border-color .15s ease, box-shadow .15s ease!important;
  box-sizing:border-box!important;
}

body:has(#initial-state-forms-form) input::placeholder,
body:has(#initial-state-forms-form) textarea::placeholder{
  color:rgba(0,0,0,.45)!important;
  opacity:1!important;
}

body:has(#initial-state-forms-form) textarea{
  min-height:52px!important;
  resize:vertical!important;
}

/* フォーカス時のハイライト */
body:has(#initial-state-forms-form) input:focus,
body:has(#initial-state-forms-form) textarea:focus,
body:has(#initial-state-forms-form) .v-text-field--is-focused input{
  outline:none!important;
  border-color:var(--form-primary-color)!important;
  box-shadow:0 0 0 2px var(--form-primary-shadow)!important;
  background-color:#fff!important;
  color:#000!important;
}

/* autofill（Chromeの黄ばみ防止） */
body:has(#initial-state-forms-form) input:-webkit-autofill{
  -webkit-text-fill-color:#000!important;
  box-shadow:0 0 0 1000px #fff inset!important;
}

/* disabled状態 */
body:has(#initial-state-forms-form) input:disabled,
body:has(#initial-state-forms-form) textarea:disabled{
  background-color:#fff!important;
  color:rgba(0,0,0,.55)!important;
  -webkit-text-fill-color:rgba(0,0,0,.55)!important;
}


/* --- 7. ファイル入力 --- */
body:has(#initial-state-forms-form) .question-type-file,
body:has(#initial-state-forms-form) .v-file-input{
  border:2px dashed rgba(0,0,0,.20)!important;
  background-color:rgba(0,0,0,.02)!important;
  border-radius:6px!important;
  padding:4px!important;
  margin:0!important;
}


/* --- 8. 送信ボタン --- */
body:has(#initial-state-forms-form) button[type="submit"],
body:has(#initial-state-forms-form) .v-btn.primary{
  background-color:var(--form-primary-color)!important;
  color:#fff!important;
  border-radius:18px!important;
  padding:0 30px!important;
  min-height:36px!important;
  font-weight:700!important;
  font-size:14px!important;
  border:none!important;
}


/* --- 9. 全体のセンタリング（タイトルと入力枠の左端を揃えたまま中央へ） --- */
/* フォームの各行（項目ブロック全体）の幅を固定し、左右の余白をautoにして中央に配置 */
body:has(#initial-state-forms-form) .form-header,
body:has(#initial-state-forms-form) .question,
body:has(#initial-state-forms-form) .v-input,
body:has(#initial-state-forms-form) .form-footer,
body:has(#initial-state-forms-form) .v-card__actions {
  width: clamp(280px, 90vw, 400px) !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 入力欄自体は、親ブロックの幅(最大400px)いっぱいに広げる */
body:has(#initial-state-forms-form) input,
body:has(#initial-state-forms-form) textarea,
body:has(#initial-state-forms-form) .question-inputs,
body:has(#initial-state-forms-form) .v-text-field__slot input,
body:has(#initial-state-forms-form) .v-text-field__slot textarea,
body:has(#initial-state-forms-form) .v-file-input,
body:has(#initial-state-forms-form) .question-type-file {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 送信ボタンを下部中央に配置 */
body:has(#initial-state-forms-form) .form-footer,
body:has(#initial-state-forms-form) .v-card__actions {
  padding: 0 !important;
  margin-top: 8px !important;
  margin-bottom: 0 !important;
  display: flex !important;
  justify-content: center !important; 
}

/* 保険：カード内の余計な上下余白 */
body:has(#initial-state-forms-form) .v-card,
body:has(#initial-state-forms-form) .v-card__text > *{
  margin-top:0!important;
  margin-bottom:0!important;
}


/* --- 10. ヘッダーの整理（左上のロゴだけを残す） --- */
body:has(#initial-state-forms-form) #header .header-appname-container,
body:has(#initial-state-forms-form) #header .header-shared-by,
body:has(#initial-state-forms-form) #header .header-right,
body:has(#initial-state-forms-form) #header .header-end,
body:has(#initial-state-forms-form) #header-start__appmenu {
  display: none !important;
}
body:has(#initial-state-forms-form) #header {
  background-color: var(--form-bg-color) !important;
  border-bottom: none !important;
  box-shadow: none !important;
}
/* フッター領域（会社名とアカウント作成リンクの両方）をすべて非表示にする */
footer.guest-box {
    display: none !important;
}