/* account style */

/* グローバルスタイルの上書き */
body.woocommerce-account :is(mark, em) {
  font-style: normal;
}

.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
  height: auto;
  color: var(--wc-form-color-text, #000);
  background: var(--wc-form-color-background,#fff);
  border-radius: var(--wc-form-border-radius);
  border:var(--wc-form-border-width) solid var(--wc-form-border-color);
}

.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row select:focus {
  border-color: currentColor;
}

.woocommerce-account .select2-container .select2-dropdown,
.woocommerce-account .select2-container .select2-selection {
  border-color: var(--wc-form-border-color);
}

/* noticeのスタイル調整 */
.woocommerce .woocommerce-notices-wrapper {
  margin-bottom: 60px;
}

.woocommerce .woocommerce-notices-wrapper ul {
  font-size: 16px;
  line-height: 2;
  padding: calc(20px + var(--tcd-half-read)) 20px;
  background: #f6f6f6;
}

.woocommerce .woocommerce-notices-wrapper ul.woocommerce-error {
  background: rgb(217 0 0 / 10%);
}

.woocommerce .woocommerce-notices-wrapper a {
  color: var(--tcd-accent-color);
}

@media (max-width: 767px) {
  .woocommerce .woocommerce-notices-wrapper {
    margin-bottom: 40px;
  }

  .woocommerce .woocommerce-notices-wrapper ul {
    font-size: 14px;
  }
}

/* ナビゲーション */
body.woocommerce-account .woocommerce-MyAccount-navigation {
  font-size: 16px;
  line-height: 2;
  width: 320px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0px;
  margin:0px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li+li {
  margin-top: -1px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: grid;
  align-items: center;
  width: 100%;
  height: 60px;
  padding-inline: 20px;
  border: 1px solid #ddd;
  color: #000;
  text-decoration: none!important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background: #f9f9f9;
}

@media not all and (max-width: 991px) {

  body.woocommerce-account .woocommerce-MyAccount-navigation ul .woocommerce-MyAccount-navigation-link--customer-logout {
    margin-top: 25px;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul .woocommerce-MyAccount-navigation-link--customer-logout a {
    font-weight: 600;
    text-align: center;
    color: #fff;
    background: #000;
    border: none;
    border-radius: 5px;
  }
}

@media (min-width: 992px) and (any-hover: hover) {

  body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    color: var(--tcd-accent-color);
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul .woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    color: #fff;
    background: color-mix(in srgb, #000 70%, transparent);
  }
}

@media (max-width: 991px) {
  body.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100%;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    padding: 1px 0px 0px 1px;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin: -1px 0px 0px -1px;
  }
}

@media (max-width: 767px) {

  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    grid-template-columns: repeat(2, 1fr);
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    font-size: 14px;
    height: 50px;
    padding-inline: 15px;
  }
}

/* メイン */
body.woocommerce-account .woocommerce-MyAccount-content {
  width: calc(100% - 320px - 50px);
  font-size: 16px;
  line-height: 2;
}

body.woocommerce-account h2 {
  font-size: 28px;
  text-align: left!important;
  margin-block: var(--tcd-half-read) calc(40px + var(--tcd-half-read));
}

@media (max-width: 991px) {
  body.woocommerce-account .woocommerce-MyAccount-content {
    width: 100%;
    margin-top: 40px;
  }

  body.woocommerce-account h2 {
    text-align: center;
  }
}

@media (max-width: 767px) {
  body.woocommerce-account .woocommerce-MyAccount-content {
    font-size: 14px;
  }

  body.woocommerce-account h2 {
    font-size: 20px;
    margin-bottom: calc(20px + var(--tcd-half-read));
  }
}

/* 基本テーブル */
body.woocommerce-account table.shop_table {
  border-collapse: collapse;
  border-spacing: 0;
  border-color: #ddd;
  border-radius: 0px;
}

body.woocommerce-account table.shop_table th {
  font-weight: 600;
  background: #f9f9f9;
}

body.woocommerce-account table.shop_table :is(th, td) {
  font-size: 14px;
  padding: calc(15px + var(--tcd-half-read)) 15px;
  border: 1px solid #ddd;
}

body.woocommerce-account table.shop_table a {
  color: var(--tcd-accent-color);
}

body.woocommerce-account table.shop_table .wc-item-meta {
  margin: 0px;
  font-size: inherit;
  padding: 0px;
}

body.woocommerce-account table.shop_table a.button {
  display: block;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  height: auto;
  text-align: center;
  color: #fff;
  background: var(--tcd-accent-color)!important;
  padding: 10px!important;
  border-radius: 3px;
}

@media (any-hover: hover) {
  body.woocommerce-account table.shop_table a.button:hover {
    background: color-mix(in srgb, var(--tcd-accent-color) 70%, #fff)!important;
  }
}

@media (max-width: 767px) {
  body.woocommerce-account table.shop_table :is(th, td) {
    border: none;
  }

  body.woocommerce-account table.shop_table td+td {
    border-top: 1px solid #ddd;
  }

  body.woocommerce-account table.shop_table a.button {
    width: fit-content;
    min-width: 60px;
    margin-left: auto;
  }
}


/* ダッシュボード */
body.woocommerce-account .dashboard-account table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

body.woocommerce-account .dashboard-account table th {
  width: 30%;
  font-weight: 600;
  background: #f9f9f9;
}

body.woocommerce-account .dashboard-account table :is(th, td) {
  padding: calc(20px + var(--tcd-half-read)) 20px;
  border: 1px solid #ddd;
}

@media (max-width: 767px) {
  body.woocommerce-account .dashboard-account table th {
    width: auto;
  }

  body.woocommerce-account .dashboard-account table :is(th, td) {
    padding: calc(15px + var(--tcd-half-read)) 15px;
  }
}

/* 注文履歴 */
body.woocommerce-account .dashboard-account+table.my_account_orders {
  margin-top: 40px;
}

body.woocommerce-account table.my_account_orders .woocommerce-orders-table__cell-order-actions {
  width: 100px;
}

@media (max-width: 767px) {
  body.woocommerce-account table.my_account_orders .woocommerce-orders-table__cell-order-actions {
    width: auto;
  }
}

/* 注文履歴詳細 */
.woocommerce-order-details,
.woocommerce-customer-details {
  margin-top: 60px;
}

body.woocommerce-account .woocommerce-customer-details address {
  padding: 11px 20px;
  border: 1px solid #ddd;
}

body.woocommerce-account .woocommerce-customer-details--phone {
  line-height: 1.8;
  margin-bottom: 7px;
}

body.woocommerce-account .woocommerce-customer-details--email {
  line-height: 1.8;
}

@media (max-width: 767px) {

  .woocommerce-order-details,
  .woocommerce-customer-details {
    margin-top: 40px;
  }
}

/* 注文ページ */
body.woocommerce-account .woocommerce-MyAccount-orders {
  margin-top: 0px;
}

body.woocommerce-account .woocommerce-pagination .woocommerce-button {
  font-size: 14px;
  font-weight: 600;
  padding: 10px 20px!important;
  color: #000!important;
  background: #fff!important;
  border: 1px solid #ddd;
}

@media (any-hover: hover) {
  body.woocommerce-account .woocommerce-pagination .woocommerce-button:hover {
    background: #f9f9f9!important;
  }
}

/* ダウンロード */
body.woocommerce-account .woocommerce-MyAccount-downloads-file.button {
  width: fit-content;
}

/* 住所 */
body.woocommerce-account .woocommerce-Address-title {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

body.woocommerce-account .woocommerce-Address-title h2 {
  flex: 1;
  font-size: 22px;
  margin-block: var(--tcd-half-read);
}

body.woocommerce-account .woocommerce-Address-title a {
  display: block;
  color: var(--tcd-accent-color);
  font-size: 12px;
  padding: 0.8em;
  line-height: 1;
  border: 1px solid var(--tcd-accent-color);
  border-radius: 5px;
}

@media (any-hover: hover) {
  body.woocommerce-account .woocommerce-Address-title a:hover {
    text-decoration: none;
    color: #fff;
    background: var(--tcd-accent-color);
  }
}

body.woocommerce-account .woocommerce-Address address {
  font-style: normal;
  padding: calc(20px + var(--tcd-half-read)) 20px;
  border: 1px solid #ddd;
}

@media (max-width: 767px) {

  body.woocommerce-account .woocommerce-Address-title h2 {
    font-size: 18px;
    text-align: left;
  }

  body.woocommerce-account .woocommerce-Address+.woocommerce-Address {
    margin-top: 40px;
  }

}

/* アカウント詳細 フォーム関連 */
.woocommerce form .form-row {
  --wc-form-border-color: #2b2d2f;
  --wc-form-border-radius: 5px;
  padding: 0px;
  margin: 0px 0px 20px;
}

.woocommerce form .form-row-wide {
  margin-bottom: 30px;
}

.woocommerce form .form-row label {
  margin-block: var(--tcd-half-read) calc(10px + var(--tcd-half-read));
}

.woocommerce form .form-row .input-text,
.woocommerce form .form-row select {
  padding: 13px 15px;
}

.select2-container .select2-selection--single .select2-selection__rendered {
  padding: 10px 15px!important;
  height: auto!important;
  line-height: initial!important;
}

.woocommerce form #account_display_name_description {
  display: block;
  font-size: 14px;
  margin-block: calc(10px + var(--tcd-half-read)) var(--tcd-half-read);
}

.woocommerce form legend {
  line-height: 1;
  margin-block: 0px 30px;
}

.woocommerce form .woocommerce-form-submit-wrapper-center {
  margin-top:0px;
}

.woocommerce-DeleteAccountForm {
  margin-top:30px;
}

/* 送信ボタン、再注文ボタン */
.woocommerce-MyAccount-content .order-again a.button,
.woocommerce-MyAccount-content button.button,
#customer_login button.button,
form.woocommerce-ResetPassword button.button {
  display: grid;
  place-items: center;
  font-size: 16px;
  color: #fff;
  font-weight: 600;
  background: var(--tcd-accent-color)!important;
  width: 280px;
  height: 60px;
  border-radius: 5px;
  margin-inline: auto;
}

@media (any-hover: hover) {

  .woocommerce-MyAccount-content .order-again a.button:hover,
  .woocommerce-MyAccount-content button.button:hover,
  #customer_login button.button:hover,
  form.woocommerce-ResetPassword button.button:hover {
    color: #fff;
    background: color-mix(in srgb, var(--tcd-accent-color) 70%, #fff)!important;
  }
}

@media (max-width: 767px) {

  .woocommerce-MyAccount-content .order-again a.button,
  .woocommerce-MyAccount-content button.button,
  #customer_login button.button,
  form.woocommerce-ResetPassword button.button {
    font-size: 14px;
    width: 240px;
    height: 50px;
  }
}

/* ログインページ */
#customer_login {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0px, 50%);
  justify-content: center;
  gap: 40px;
  font-size: 16px;
}

#customer_login::before,
#customer_login::after {
  content: none;
}

#customer_login h2 {
  text-align: center!important;
}

#customer_login>div {
  display: grid;
  grid-template-rows: auto 1fr;
  width: 100%;
  float: none;
  margin:0px;
}

#customer_login .woocommerce-form {
  padding: 40px;
  border: 1px solid #ddd;
  border-radius: 0px;
  margin-block: 0px;
}

#customer_login .woocommerce-form-login__rememberme {
  display: block;
  width: fit-content;
  margin-inline: auto;
  margin-block: var(--tcd-half-read) calc(30px + var(--tcd-half-read));
}

#customer_login .form-row {
  margin-bottom: 0px;
}

#customer_login .form-row:has(+*) {
  margin-bottom: 30px;
}

#customer_login button.button {
  float: none;
}

#customer_login .lost_password {
  text-align: center;
  margin-block: var(--tcd-half-read);
}

#customer_login .lost_password a {
  color: var(--tcd-accent-color);
}

#customer_login .woocommerce-privacy-policy-text {
  margin-block: var(--tcd-half-read) calc(30px + var(--tcd-half-read));
}

#customer_login .woocommerce-privacy-policy-text > p {
  margin-bottom: 0px;
}

#customer_login .woocommerce-privacy-policy-text a {
  color: var(--tcd-accent-color);
}

@media (max-width: 991px) {
  #customer_login {
    grid-auto-flow: row;
    grid-auto-columns: minmax(0px, 500px);
  }
}

@media (max-width: 767px) {
  #customer_login .woocommerce-form {
    font-size: 14px;
    padding: 25px;
  }

  #customer_login .form-row:has(+*) {
    margin-bottom: 20px;
  }

  #customer_login .woocommerce-form-login__rememberme,
  #customer_login .woocommerce-privacy-policy-text {
    margin-bottom: calc(20px + var(--tcd-half-read));
  }
}

/* パスワードをお忘れですか ?  */
form.woocommerce-ResetPassword {
  max-width: 600px;
  width: 100%;
  font-size: 16px;
  line-height: 2;
  padding: 40px;
  border: 1px solid #ddd;
  margin-inline: auto;
}

form.woocommerce-ResetPassword>p {
  margin-block: var(--tcd-half-read) calc(40px + var(--tcd-half-read));
}

form.woocommerce-ResetPassword .woocommerce-form-row {
  float: none;
  width: 100%;
  margin-bottom: 0px;
}

form.woocommerce-ResetPassword .woocommerce-form-row--first,
form.woocommerce-ResetPassword .woocommerce-form-row--last {
  margin-bottom: 40px;
}

@media (max-width: 767px) {
  form.woocommerce-ResetPassword {
    font-size: 14px;
    padding: 25px;
  }

  form.woocommerce-ResetPassword>p {
    margin-bottom: calc(25px + var(--tcd-half-read));
  }

  form.woocommerce-ResetPassword .woocommerce-form-row--first,
  form.woocommerce-ResetPassword .woocommerce-form-row--last {
    margin-bottom: 25px;
  }
}