/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

/* ---------- フォーム全体 ---------- */
.salon-form-wrapper {
  max-width: 650px;
  margin: 0 auto;
  padding: 30px 25px;
  background: #fff8f6;
  border: 1px solid #f1dfda;
  border-radius: 16px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

/* ---------- 1フィールド ---------- */
.salon-field {
  margin-bottom: 22px;
}

/* ---------- ラベル（改行させない） ---------- */
.salon-field label {
  display: inline-block;
  white-space: nowrap; /* ←改行させない！ */
  margin-bottom: 6px;
  color: #8a6e60;
  font-weight: 600;
  font-size: 15px;
}

/* ---------- 必須マーク ---------- */
.required {
  color: #d98282;
  margin-left: 4px;
  font-weight: bold;
}

/* ---------- input/textarea 共通 ---------- */
.salon-field input[type="text"],
.salon-field input[type="email"],
.salon-field textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #e8dcd8;
  border-radius: 10px;
  background: #ffffff;
  font-size: 15px;
  transition: 0.2s;
  box-sizing: border-box;
}

.salon-field input:focus,
.salon-field textarea:focus {
  border-color: #e3b4c3;
  box-shadow: 0 0 0 3px rgba(227,180,195,0.3);
  outline: none;
}
/* ====================================
   SELECT（都道府県など）
==================================== */
.salon-field select {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #e8dcd8;
  border-radius: 10px;
  background: #fff;
  font-size: 15px;
  color: #333;
  box-sizing: border-box;
  appearance: none; /* デフォルト矢印を消す */
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 24 24' fill='%238a6e60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10l5 5 5-5H7z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  cursor: pointer;
  transition: 0.2s;
}

.salon-field select:focus {
  border-color: #e3b4c3;
  box-shadow: 0 0 0 3px rgba(227,180,195,0.3);
  outline: none;
}

/* ====================================
   DATE（納品希望日）
==================================== */
.salon-field input[type="date"] {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #e8dcd8;
  border-radius: 10px;
  background: #fff;
  font-size: 15px;
  color: #333;
  box-sizing: border-box;
  cursor: pointer;
  transition: 0.2s;
}

.salon-field input[type="date"]:focus {
  border-color: #e3b4c3;
  box-shadow: 0 0 0 3px rgba(227,180,195,0.3);
  outline: none;
}

/* ====================================
   CHECKBOX：大人かわいい中央揃えデザイン
==================================== */
.salon-field input[type="checkbox"] {
  /* 標準チェックを消す */
  appearance: none;
  -webkit-appearance: none;

  width: 20px;
  height: 20px;
  display: inline-block;
  position: relative;
  cursor: pointer;
  margin: 0;
  margin-right: 8px;

  border: 2px solid #d8c3bd;
  border-radius: 5px;
  background: #fff;

  vertical-align: middle; /* ←文字と高さを揃える */
  transition: 0.2s;
}

.salon-field input[type="checkbox"]:checked {
  background-color: #e3b4c3;
  border-color: #e3b4c3;
}

.salon-field input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;

  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.173 12.727a1 1 0 0 1-1.414 0L1.757 9.727a1 1 0 1 1 1.414-1.414L6 11.143l6.828-6.829a1 1 0 1 1 1.414 1.415l-8.07 8.07z'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;

  /* 完全中央揃え */
  transform: translate(-50%, -50%);
  background: #fff;
}

/* 文章とのズレをなくす（重要） */
.salon-field .wpcf7-list-item {
  display: flex;
  align-items: center; /* ←上下のズレを完全に消す */
  gap: 6px;
}

/* ---------- 送信ボタン ---------- */
.salon-submit-area {
  text-align: center;
  margin-top: 10px;
}
.salon-submit-area p{
  display: flex;
  justify-content: center;
  flex-flow: column;
}

.salon-submit-area input[type="submit"] {
  background: #e3b4c3;
  color: #fff;
  padding: 12px 40px;
  font-size: 16px;
  border-radius: 25px;
  border: none;
  cursor: pointer;
  transition: 0.25s;
  box-shadow: 0 4px 10px rgba(227,180,195,0.3);
}

.salon-submit-area input[type="submit"]:hover {
  background: #d39aaa;
  box-shadow: 0 6px 14px rgba(227,180,195,0.45);
}


/* works */
.work-header {
  margin-bottom: 2rem;
}

.work-categories {
  margin: 0 0 .5rem;
  font-size: 0.9rem;
}

.work-category {
  display: inline-block;
  padding: 0.1em 0.6em;
  margin-right: 0.4em;
  border-radius: 999px;
  border: 1px solid #ccc;
  font-size: 0.8rem;
}

.work-title {
  font-size: 2rem;
  margin: 0;
}

.work-image-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 1rem;
}

.work-image-item img {
  width: 100%;
  height: auto;
  display: block;
}
