/*
Theme Name:     SHIPS Child v2 - Sotogofun Portal
Template:       ships_tcd098
Description:    そとごはん会員ポータル用の並行検証子テーマ。機能はFoodLuck Member Platformへ分離。
Version:        2.0.25
Author:         FoodLuck
*/

#header_mypage.flmp-dashboard-nav-link {
  font-weight: 700;
}

#header_mypage.flmp-dashboard-nav-link[aria-current="page"] {
  box-shadow: inset 0 -3px #ffe333;
}

#mobile_login_button .flmp-dashboard-nav-link,
#side_button .flmp-dashboard-nav-link {
  font-weight: 700;
}

#flmp-floating-dashboard-link {
  background: #191919;
  border: 2px solid #ffe333;
  border-radius: 999px;
  bottom: max(24px, env(safe-area-inset-bottom));
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.24);
  color: #fff;
  margin: 0;
  position: fixed;
  right: 20px;
  text-decoration: none;
  z-index: 99990;
}

#flmp-floating-dashboard-link button {
  align-items: center;
  background: transparent;
  border: 0;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  gap: 10px;
  line-height: 1;
  padding: 11px 12px 11px 16px;
}

#flmp-floating-dashboard-link b {
  align-items: center;
  background: #ffe333;
  border-radius: 50%;
  color: #191919;
  display: inline-flex;
  font-size: 0;
  height: 28px;
  justify-content: center;
  position: relative;
  width: 28px;
}

#flmp-floating-dashboard-link b::before {
  background: #191919;
  border-radius: 2px;
  content: "";
  display: block;
  height: 3px;
  width: 14px;
}

#flmp-floating-dashboard-link b::after {
  border-right: 3px solid #191919;
  border-top: 3px solid #191919;
  content: "";
  display: block;
  height: 8px;
  position: absolute;
  right: 6px;
  transform: rotate(45deg);
  width: 8px;
}

#flmp-floating-dashboard-link:hover,
#flmp-floating-dashboard-link:focus-within {
  background: #2c2c2c;
  color: #fff;
  transform: translateY(-1px);
}

@media screen and (max-width: 1221px) {
  html body .cb_tab_post_inner {
    box-sizing: border-box !important;
    max-width: 100% !important;
    overflow: hidden !important;
    width: 100% !important;
  }

  html body #side_button {
    left: auto !important;
    position: fixed !important;
    right: 0 !important;
  }
}

@media screen and (max-width: 750px) {
  /*
   * ログイン中はSHIPS標準の販促用フッターバーを会員導線へ置き換える。
   * 未ログイン時は従来の販促バーをそのまま表示する。
   */
  body.logged-in .p-footer-bar {
    display: none !important;
  }

  #flmp-floating-dashboard-link {
    border: 0;
    border-radius: 0;
    border-top: 3px solid #ffe333;
    bottom: 0;
    box-sizing: border-box;
    left: 0;
    opacity: 0;
    pointer-events: none;
    right: 0;
    transform: translateY(100%);
    transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
    visibility: hidden;
    width: 100%;
    z-index: 1000001;
  }

  #flmp-floating-dashboard-link.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
  }

  #flmp-floating-dashboard-link button {
    box-sizing: border-box;
    font-size: 15px;
    justify-content: center;
    min-height: 66px;
    padding: 13px 16px calc(13px + env(safe-area-inset-bottom));
    width: 100%;
  }

  #flmp-floating-dashboard-link b {
    height: 34px;
    width: 34px;
  }

  #flmp-floating-dashboard-link b::before {
    height: 4px;
    width: 18px;
  }

  #flmp-floating-dashboard-link b::after {
    border-right-width: 4px;
    border-top-width: 4px;
    height: 10px;
    right: 7px;
    width: 10px;
  }
}

/*
 * 会員ポータル固定ページはSHIPSの本文幅を広げる。
 * FoodLuck Member Platformが付与するbodyクラスを利用する。
 */
body.flmp-portal-page #main_contents,
body.flmp-portal-page #main_col,
body.flmp-portal-page .l-inner,
body.flmp-portal-page .post_content {
  box-sizing: border-box;
  max-width: 100% !important;
  width: 100% !important;
}

/*
 * 会員向け画面は学習・実践に集中できる簡易フッターにする。
 * 公開記事、販売ページ、会社案内の通常フッターには影響させない。
 */
body.flmp-member-shell-page #footer_site_desc,
body.flmp-member-shell-page #footer_free,
body.flmp-member-shell-page #footer_sns {
  display: none !important;
}

body.flmp-member-shell-page #footer {
  background: #171717;
  color: #fff;
  min-height: 0;
}

body.flmp-member-shell-page #footer_nav {
  box-sizing: border-box;
  display: block;
  margin: 0 auto;
  max-width: 920px;
  padding: 24px 24px 14px;
  width: 100%;
}

body.flmp-member-shell-page #footer_nav .footer_menu {
  width: 100%;
}

body.flmp-member-shell-page #footer_nav .footer_menu > ul {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  justify-content: center;
  margin: 0;
  padding: 0;
}

body.flmp-member-shell-page #footer_nav .footer_menu li {
  border: 0;
  margin: 0;
  padding: 0;
  width: auto;
}

body.flmp-member-shell-page #footer_nav .footer_menu a {
  color: #fff;
  display: inline-block;
  font-size: 12px;
  line-height: 1.5;
  opacity: 0.86;
  padding: 5px 0;
  text-decoration: none;
}

body.flmp-member-shell-page #footer_nav .footer_menu a:hover,
body.flmp-member-shell-page #footer_nav .footer_menu a:focus-visible {
  opacity: 1;
  text-decoration: underline;
}

body.flmp-member-shell-page #footer_nav .flmp-member-footer-company {
  flex-basis: 100%;
  text-align: center;
}

body.flmp-member-shell-page #footer_nav .flmp-member-footer-company a {
  color: #ffe333;
  font-weight: 800;
}

body.flmp-member-shell-page #copyright {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  box-sizing: border-box;
  height: auto;
  line-height: 1.5;
  margin: 0;
  min-height: 0;
  padding: 14px 20px 18px;
}

body.flmp-portal-page #side_col,
body.flmp-portal-page .p-entry__meta,
body.flmp-portal-page .post_meta,
body.flmp-portal-page .page_header {
  display: none !important;
}

body.flmp-portal-page .post_content {
  margin: 0 !important;
  padding: 0 !important;
}

/*
 * SHIPS本体のスマートフォン用.post_content余白を確実に解除する。
 * 幅100%と左右20pxの余白が同時適用され、ポータルが右へ20pxずれるのを防ぐ。
 */
body.flmp-portal-page .flmp-portal {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
}

/*
 * 買い切り商品 #27250
 * WooCommerce標準の商品画像・概要を、説明型の1カラム販売ページへ整える。
 */
body.postid-27250 .woocommerce {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 1200px;
  padding: 0 24px 80px;
  width: 100%;
}

body.postid-27250 #page_header,
body.postid-27250 #single_post_header {
  display: none !important;
}

body.postid-27250 #article {
  margin-left: auto;
  margin-right: auto;
  width: calc(100% - 48px);
}

body.postid-27250 div.product {
  margin: 0;
}

body.postid-27250 div.product .woocommerce-product-gallery,
body.postid-27250 div.product .product_title,
body.postid-27250 div.product .summary > .price,
body.postid-27250 div.product .summary > form.cart,
body.postid-27250 div.product .product_meta,
body.postid-27250 div.product .woocommerce-tabs,
body.postid-27250 div.product .related,
body.postid-27250 div.product .upsells {
  display: none !important;
}

body.postid-27250 div.product .summary {
  box-sizing: border-box;
  float: none !important;
  margin: 0 !important;
  width: 100% !important;
}

body.postid-27250 .woocommerce-product-details__short-description {
  margin: 0;
}

.fl-sales {
  --fl-black: #1f2928;
  --fl-green: #135f55;
  --fl-green-dark: #083e3a;
  --fl-cream: #f4f0e7;
  --fl-yellow: #f6d558;
  --fl-line: #dedbd2;
  color: #252c2b;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 16px;
  line-height: 1.9;
}

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

.fl-sales h2,
.fl-sales h3,
.fl-sales p,
.fl-sales ul,
.fl-sales ol,
.fl-sales dl {
  margin-top: 0;
}

.fl-sales h2 {
  color: var(--fl-black);
  font-size: clamp(28px, 4vw, 48px);
  letter-spacing: .02em;
  line-height: 1.45;
  margin-bottom: 28px;
}

.fl-sales h3 {
  color: var(--fl-black);
  font-size: 20px;
  line-height: 1.55;
  margin-bottom: 10px;
}

.fl-sales__hero {
  background:
    radial-gradient(circle at 90% 10%, rgb(246 213 88 / 45%), transparent 34%),
    linear-gradient(135deg, #f8f5ed 0%, #edf3ef 100%);
  border-radius: 30px;
  margin: 24px 0 72px;
  overflow: hidden;
  padding: clamp(42px, 7vw, 90px) clamp(24px, 5vw, 52px);
  position: relative;
  text-align: center;
}

.fl-sales__hero::after {
  border: 1px solid rgb(19 95 85 / 18%);
  border-radius: 50%;
  content: "";
  height: 280px;
  position: absolute;
  right: -110px;
  top: -120px;
  width: 280px;
}

.fl-sales__hero h2 {
  font-size: clamp(30px, 3.5vw, 40px);
  margin-left: auto;
  margin-right: auto;
  max-width: 980px;
}

.fl-sales__hero h2 span {
  color: var(--fl-green);
  display: inline-block;
  font-size: .82em;
  margin-top: 10px;
}

.fl-sales__lead {
  font-size: clamp(16px, 2vw, 20px);
  margin: 0 auto 34px;
  max-width: 850px;
}

.fl-sales__eyebrow {
  color: var(--fl-green);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .18em;
  margin-bottom: 14px;
  text-transform: uppercase;
}

.fl-sales__price {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0 auto 24px;
}

.fl-sales__price span {
  font-weight: 700;
}

.fl-sales__price strong {
  color: var(--fl-green-dark);
  font-size: clamp(42px, 6vw, 68px);
  line-height: 1.2;
}

.fl-sales__price small {
  color: #626866;
  font-size: 13px;
}

.fl-sales__cta {
  background: var(--fl-yellow);
  border: 2px solid #d5b83f;
  border-radius: 999px;
  box-shadow: 0 12px 28px rgb(31 41 40 / 14%);
  color: #191d1c !important;
  display: inline-flex;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 800;
  justify-content: center;
  line-height: 1.4;
  min-width: min(100%, 420px);
  padding: 18px 34px;
  text-align: center;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease;
}

.fl-sales__cta:hover,
.fl-sales__cta:focus-visible {
  box-shadow: 0 16px 34px rgb(31 41 40 / 20%);
  transform: translateY(-2px);
}

.fl-sales__micro {
  color: #626866;
  font-size: 13px;
  margin: 16px 0 0;
}

.fl-sales__section {
  margin: 0 auto;
  max-width: 1100px;
  padding: clamp(52px, 8vw, 96px) clamp(20px, 5vw, 64px);
}

.fl-sales__section--tint {
  background: var(--fl-cream);
  border-radius: 28px;
}

.fl-sales__section--dark {
  background: var(--fl-green-dark);
  border-radius: 28px;
  color: #fff;
}

.fl-sales__section--dark h2,
.fl-sales__section--dark h3,
.fl-sales__section--dark .fl-sales__eyebrow {
  color: #fff;
}

.fl-sales__problem-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fl-sales__card {
  background: #fff;
  border: 1px solid var(--fl-line);
  border-radius: 18px;
  box-shadow: 0 10px 28px rgb(31 41 40 / 6%);
  padding: 26px;
}

.fl-sales__card p,
.fl-sales__included p,
.fl-sales__profile p {
  margin-bottom: 0;
}

.fl-sales__formula {
  background: #fff;
  border: 1px solid var(--fl-line);
  border-radius: 20px;
  margin: 30px 0;
  padding: 26px;
  text-align: center;
}

.fl-sales__formula > div {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-size: clamp(18px, 2.6vw, 28px);
  gap: 12px;
  justify-content: center;
  margin: 8px 0;
}

.fl-sales__formula strong {
  color: var(--fl-green-dark);
}

.fl-sales__steps {
  list-style: none;
  margin: 0;
  padding: 0;
}

.fl-sales__steps li {
  align-items: flex-start;
  border-bottom: 1px solid var(--fl-line);
  display: grid;
  gap: 24px;
  grid-template-columns: 64px minmax(0, 1fr);
  padding: 26px 0;
}

.fl-sales__steps li > span {
  align-items: center;
  background: var(--fl-green);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-size: 20px;
  font-weight: 800;
  height: 54px;
  justify-content: center;
  width: 54px;
}

.fl-sales__steps p {
  margin-bottom: 0;
}

.fl-sales__curriculum {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 28px;
}

.fl-sales__curriculum > div {
  align-items: center;
  background: rgb(255 255 255 / 9%);
  border: 1px solid rgb(255 255 255 / 16%);
  border-radius: 14px;
  display: flex;
  gap: 16px;
  padding: 18px 20px;
}

.fl-sales__curriculum b {
  color: var(--fl-yellow);
  font-size: 13px;
  letter-spacing: .1em;
}

.fl-sales__curriculum span {
  font-weight: 700;
}

.fl-sales__included {
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
}

.fl-sales__included > div {
  border-radius: 20px;
  padding: 30px;
}

.fl-sales__included-main {
  background: #e9f3ef;
  border: 1px solid #c9ddd6;
}

.fl-sales__included-note {
  background: #f7f5ef;
  border: 1px solid var(--fl-line);
}

.fl-sales__included ul,
.fl-sales__checklist,
.fl-sales__price-points {
  list-style: none;
  margin: 0;
  padding: 0;
}

.fl-sales__included li,
.fl-sales__checklist li,
.fl-sales__price-points li {
  padding: 7px 0 7px 30px;
  position: relative;
}

.fl-sales__included li::before,
.fl-sales__checklist li::before,
.fl-sales__price-points li::before {
  color: var(--fl-green);
  content: "✓";
  font-weight: 900;
  left: 4px;
  position: absolute;
}

.fl-sales__notice,
.fl-sales__definition {
  background: #fff;
  border-left: 5px solid var(--fl-yellow);
  margin: 30px 0 0;
  padding: 18px 22px;
}

.fl-sales__profile {
  align-items: start;
  display: grid;
  gap: 40px;
  grid-template-columns: minmax(0, 1.25fr) minmax(240px, .75fr);
}

.fl-sales__profile > ul {
  background: var(--fl-green-dark);
  border-radius: 20px;
  color: #fff;
  list-style: none;
  margin: 0;
  padding: 18px 26px;
}

.fl-sales__profile li {
  border-bottom: 1px solid rgb(255 255 255 / 16%);
  display: flex;
  flex-direction: column;
  padding: 16px 0;
}

.fl-sales__profile li:last-child {
  border-bottom: 0;
}

.fl-sales__profile b {
  color: var(--fl-yellow);
  font-size: 25px;
}

.fl-sales__profile span {
  font-size: 13px;
}

.fl-sales__section--price {
  background: linear-gradient(135deg, #eaf3ef, #faf7ed);
  border: 1px solid #d6e1dc;
  border-radius: 28px;
  text-align: center;
}

.fl-sales__price--large {
  margin-bottom: 22px;
}

.fl-sales__price-points {
  display: inline-block;
  margin: 0 auto 28px;
  text-align: left;
}

.fl-sales__definition {
  margin-left: auto;
  margin-right: auto;
  max-width: 760px;
  text-align: left;
}

.fl-sales details {
  border-bottom: 1px solid var(--fl-line);
  padding: 0;
}

.fl-sales summary {
  cursor: pointer;
  font-size: 18px;
  font-weight: 700;
  list-style: none;
  padding: 22px 44px 22px 0;
  position: relative;
}

.fl-sales summary::after {
  color: var(--fl-green);
  content: "+";
  font-size: 28px;
  position: absolute;
  right: 8px;
  top: 16px;
}

.fl-sales details[open] summary::after {
  content: "−";
}

.fl-sales details p {
  margin-bottom: 0;
  padding: 0 0 22px;
}

.fl-sales__section--legal {
  border: 1px solid var(--fl-line);
  border-radius: 24px;
}

.fl-sales__section--legal dl {
  margin-bottom: 28px;
}

.fl-sales__section--legal dl > div {
  border-bottom: 1px solid var(--fl-line);
  display: grid;
  gap: 24px;
  grid-template-columns: 160px minmax(0, 1fr);
  padding: 15px 0;
}

.fl-sales__section--legal dt {
  font-weight: 700;
}

.fl-sales__legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
}

.fl-sales__legal-links a {
  color: var(--fl-green);
  font-weight: 700;
}

.fl-sales__final {
  background: var(--fl-black);
  border-radius: 30px;
  color: #fff;
  margin: 30px auto 0;
  max-width: 1100px;
  padding: clamp(50px, 8vw, 90px) clamp(22px, 6vw, 70px);
  text-align: center;
}

.fl-sales__final h2 {
  color: #fff;
}

.fl-sales__final p {
  margin: 0 auto 30px;
  max-width: 720px;
}

.fl-legal {
  color: #2a302f;
  line-height: 1.9;
}

.fl-legal h2 {
  border-left: 5px solid #135f55;
  font-size: 24px;
  margin: 46px 0 20px;
  padding-left: 16px;
}

.fl-legal dl > div {
  border-bottom: 1px solid #dedbd2;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(160px, 240px) minmax(0, 1fr);
  padding: 16px 0;
}

.fl-legal dt {
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  body.postid-27250 .woocommerce {
    padding: 0 14px 56px;
  }

  .fl-sales {
    font-size: 15px;
  }

  .fl-sales__hero {
    border-radius: 20px;
    margin-bottom: 36px;
    padding: 44px 20px;
  }

  .fl-sales__hero h2 br,
  .fl-sales__final h2 br {
    display: none;
  }

  .fl-sales__section {
    padding: 52px 18px;
  }

  .fl-sales__section--tint,
  .fl-sales__section--dark,
  .fl-sales__section--price,
  .fl-sales__section--legal,
  .fl-sales__final {
    border-radius: 20px;
  }

  .fl-sales__problem-grid,
  .fl-sales__curriculum,
  .fl-sales__included,
  .fl-sales__profile {
    grid-template-columns: 1fr;
  }

  .fl-sales__steps li {
    gap: 14px;
    grid-template-columns: 48px minmax(0, 1fr);
  }

  .fl-sales__steps li > span {
    font-size: 17px;
    height: 42px;
    width: 42px;
  }

  .fl-sales__included > div,
  .fl-sales__card {
    padding: 22px;
  }

  .fl-sales__section--legal dl > div,
  .fl-legal dl > div {
    gap: 4px;
    grid-template-columns: 1fr;
  }

  .fl-sales__price strong {
    font-size: 44px;
  }

  .fl-sales__cta {
    min-width: 100%;
    padding: 16px 20px;
  }
}

/* WooCommerce classic checkout and SHIPS compatibility */
.woocommerce-checkout .woocommerce,
.woocommerce-cart .woocommerce,
.woocommerce-account .woocommerce {
  box-sizing: border-box;
  margin: 40px auto;
  max-width: 1120px;
  padding: 0 20px;
  width: 100%;
}

.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-account input {
  box-sizing: border-box;
  max-width: 100%;
}

.woocommerce #payment,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
  border-radius: 12px;
}

.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt {
  background: #ffe333;
  color: #1b1b1b;
  font-weight: 700;
}

/*
 * WooCommerce マイアカウント
 * SHIPSはWooCommerce標準のfloatレイアウトを持たないため、子テーマで
 * ナビゲーションと本文を明示的に組み直す。
 */
body.woocommerce-account .woocommerce {
  align-items: start;
  color: #30302d;
  display: grid;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  gap: 28px;
  grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
  line-height: 1.8;
}

body.woocommerce-account .woocommerce::before,
body.woocommerce-account .woocommerce::after {
  display: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
  box-sizing: border-box;
  float: none !important;
  width: auto !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation {
  background: #fff;
  border: 1px solid #e3e1d9;
  border-radius: 18px;
  box-shadow: 0 12px 32px rgb(27 27 27 / 7%);
  overflow: hidden;
  padding: 10px;
  position: sticky;
  top: 24px;
}

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

body.woocommerce-account .woocommerce-MyAccount-navigation li {
  border: 0;
  list-style: none !important;
  margin: 0;
  padding: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
  border-radius: 11px;
  color: #30302d;
  display: block;
  font-size: 14px;
  font-weight: 700;
  padding: 12px 14px;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible {
  background: #f7f6f1;
  color: #1b1b1b;
  transform: translateX(2px);
}

body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
  background: #ffe333;
  color: #1b1b1b;
}

body.woocommerce-account .woocommerce-MyAccount-content {
  background: #fff;
  border: 1px solid #e3e1d9;
  border-radius: 20px;
  box-shadow: 0 12px 36px rgb(27 27 27 / 7%);
  min-height: 320px;
  min-width: 0;
  padding: clamp(24px, 4vw, 42px);
}

body.woocommerce-account .woocommerce-MyAccount-content > :first-child {
  margin-top: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content > :last-child {
  margin-bottom: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 {
  border: 0;
  color: #1b1b1b;
  font-weight: 800;
  line-height: 1.45;
  margin: 0 0 20px;
  padding: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content a:not(.button) {
  color: #806e00;
  font-weight: 700;
  text-underline-offset: 3px;
}

body.woocommerce-account .woocommerce-MyAccount-content .button,
body.woocommerce-account .woocommerce-MyAccount-content button,
body.woocommerce-account .woocommerce-MyAccount-content input[type="submit"] {
  background: #ffe333;
  border: 0;
  border-radius: 10px;
  box-shadow: none;
  color: #1b1b1b;
  cursor: pointer;
  display: inline-flex;
  font-weight: 800;
  justify-content: center;
  line-height: 1.4;
  padding: 11px 18px;
  text-decoration: none;
}

body.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
  border: 1px solid #e3e1d9;
  border-collapse: separate;
  border-radius: 14px;
  border-spacing: 0;
  overflow: hidden;
  width: 100%;
}

body.woocommerce-account .woocommerce-MyAccount-content table.shop_table th,
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td {
  border-bottom: 1px solid #e3e1d9;
  padding: 13px 15px;
  text-align: left;
}

body.woocommerce-account .woocommerce-MyAccount-content table.shop_table th {
  background: #f7f6f1;
  color: #1b1b1b;
  font-weight: 800;
}

body.woocommerce-account .woocommerce-MyAccount-content table.shop_table tr:last-child th,
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table tr:last-child td {
  border-bottom: 0;
}

body.woocommerce-account .woocommerce-Addresses {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.woocommerce-account .woocommerce-Addresses::before,
body.woocommerce-account .woocommerce-Addresses::after {
  display: none;
}

body.woocommerce-account .woocommerce-Address {
  background: #f7f6f1;
  border-radius: 14px;
  box-sizing: border-box;
  float: none !important;
  padding: 20px;
  width: auto !important;
}

body.woocommerce-account form.woocommerce-form-login {
  grid-column: 1 / -1;
  margin: 0 auto;
  max-width: 560px;
  padding: clamp(22px, 4vw, 38px);
  width: 100%;
}

@media screen and (max-width: 767px) {
  body.flmp-member-shell-page #footer_nav {
    padding: 20px 16px 12px;
  }

  body.flmp-member-shell-page #footer_nav .footer_menu > ul {
    gap: 6px 14px;
  }

  body.flmp-member-shell-page #footer_nav .footer_menu a {
    font-size: 11px;
  }

  body.flmp-member-shell-page #copyright {
    font-size: 10px;
    padding: 12px 14px 16px;
  }

  body.postid-27250 #article {
    width: 100%;
  }

  .woocommerce-checkout .woocommerce,
  .woocommerce-cart .woocommerce,
  .woocommerce-account .woocommerce {
    margin: 20px auto;
    padding: 0 14px;
  }

  body.woocommerce-account .woocommerce {
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr);
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation {
    overflow-x: auto;
    padding: 8px;
    position: static;
    scrollbar-width: thin;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex;
    gap: 6px;
    min-width: max-content;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation a {
    padding: 10px 13px;
    white-space: nowrap;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
  body.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible {
    transform: none;
  }

  body.woocommerce-account .woocommerce-MyAccount-content {
    border-radius: 16px;
    min-height: 0;
    overflow-x: auto;
    padding: 20px 17px;
  }

  body.woocommerce-account .woocommerce-Addresses {
    grid-template-columns: minmax(0, 1fr);
  }
}
