/*
Theme Name: swan
Author: swan
Version: 1.0
*/

/* ===== Minimal Reset for WordPress + Tailwind ===== */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

ul,
ol {
  margin: 0;
  padding: 0;
}

a {
  text-decoration: none;
  color: inherit;
}

button,
input,
textarea,
select {
  font: inherit;
}

.swan-color {
	background: #bb797e;
}

.footer-nav li a::before {
  content: "＞ ";
}

html {
  scroll-behavior: smooth;
}

/* 記事本文内の画像：回り込み禁止、幅100%、角丸 */
.prose img,
.entry-content img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
  margin: 1.5rem 0;
}

/* Gutenbergの回り込みクラスを無効化 */
.prose .alignleft,
.prose .alignright,
.entry-content .alignleft,
.entry-content .alignright {
  float: none !important;
  margin: 0 !important;
}


/* =========================================
   CF7 Layout
   ========================================= */

.contactWrap{
  max-width: 1000px;
  margin: 0 auto;
  padding: 40px 20px;
}

.cf7Table{
  border: 1px solid #d9d9d9;
  background: #fff;
}

.cf7Row{
  display: grid;
  grid-template-columns: 1fr;
  border-bottom: 1px solid #d9d9d9;
}

@media (min-width: 768px){
  .cf7Row{
    grid-template-columns: 320px 1fr;
  }
}

.cf7Th{
  background: #f3f3f3;
  padding: 24px;
  display: flex;
  align-items: center;
  gap: 15px;
}

@media (min-width: 768px){
  .cf7Th{
    border-right: 1px solid #d9d9d9;
  }
}

.cf7Td{
  background: #fff;
  padding: 24px;
}

/* 必須・ラベル */
.required{
  background: #e33a2e;
  color: #fff;
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 4px;
  line-height: 1;
}

.label{
  font-weight: 700;
  font-size: 16px;
}

/* textarea行だけ上揃え */
.textareaRow .cf7Th{
  align-items: flex-start;
}

/* =========================================
   CF7 Base Controls
   ========================================= */

.wpcf7-form-control-wrap{
  display: block;
}

.cf7Td input[type="text"],
.cf7Td input[type="email"],
.cf7Td input[type="tel"],
.cf7Td input[type="date"],
.cf7Td select,
.cf7Td textarea{
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #bfbfbf;
  background: #f7f7f7;
  font-size: 16px;
  outline: none;
}

.cf7Td input[type="text"],
.cf7Td input[type="email"],
.cf7Td input[type="tel"],
.cf7Td input[type="date"],
.cf7Td select{
  height: 44px;
  padding: 0 16px;
  max-width: 620px;
}

.cf7Td textarea{
  min-height: 360px;
  padding: 16px;
  max-width: 100%;
}

/* =========================================
   予約希望日（date + select）横幅調整
   ========================================= */

.twoCol{
  display: grid;
  grid-template-columns: 220px 1fr; /* 左(date)固定 / 右(select)伸びる */
  gap: 12px;
  align-items: center;
}

/* twoColの中は最大幅制限を解除（はみ・潰れ防止） */
.twoCol input[type="date"],
.twoCol select{
  max-width: none;
}

@media (max-width: 640px){
  .twoCol{
    grid-template-columns: 1fr;
  }
}

/* selectの矢印を統一（任意だけど綺麗） */
.twoCol select{
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #bb797e 50%),
                    linear-gradient(135deg, #bb797e 50%, transparent 50%);
  background-position: calc(100% - 18px) 18px, calc(100% - 12px) 18px;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 34px;
}

/* =========================================
   連絡方法（ラジオ）送信ボタン風
   ========================================= */

.radioGroup .wpcf7-radio{
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  align-items: center;
}

.radioGroup .wpcf7-list-item{
  margin: 0;
}

/* inputを隠す */
.radioGroup .wpcf7-radio input[type="radio"]{
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}

/* ラベル（ボタン外側） */
.radioGroup .wpcf7-list-item label{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #bb797e;
  border-radius: 9999px;
  background: #fff;
  color: #bb797e;
  font-weight: 700;
  cursor: pointer;
  transition: all .25s ease;
  overflow: hidden; /* spanの角丸を綺麗に */
}

/* 文字span（ボタン本体） */
.radioGroup .wpcf7-list-item label > span{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 28px;
  min-width: 180px;
  border-radius: 9999px;
}

/* hover：反転（送信ボタンと同じ） */
.radioGroup .wpcf7-list-item label:hover > span{
  background: #bb797e;
  color: #fff;
}

/* 選択中：常に反転 */
.radioGroup .wpcf7-radio input[type="radio"]:checked + span{
  background: #bb797e;
  color: #fff;
}

/* =========================================
   送信ボタン（反転hover）
   ========================================= */

.submitWrap{
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

.submitWrap input[type="submit"]{
  width: 220px;
  height: 52px;
  border-radius: 9999px;
  background: #fff;
  color: #bb797e;
  border: 2px solid #bb797e;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .05em;
  cursor: pointer;
  transition: all .25s ease;
}

.submitWrap input[type="submit"]:hover{
  background: #bb797e;
  color: #fff;
}

/* =========================
   確認画面：戻るボタン（wpcf7-previous）
   ========================= */

.submitWrap{
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

/* 戻るボタン */
.submitWrap input.wpcf7-previous{
  width: 220px;
  height: 52px;
  border-radius: 9999px;  /* ← ここを変えるだけ */
  background: #fff;
  color: #bb797e;
  border: 2px solid #bb797e;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .05em;
  cursor: pointer;
  transition: all .25s ease;
}

/* hoverで反転（送信ボタン風） */
.submitWrap input.wpcf7-previous:hover{
  background: #bb797e;
  color: #fff;
}


