/*
Theme Name: SEJ Consumables Theme
Theme URI: https://biz-711.hellohas.co.jp/consumables/
Author: Hello Has
Author URI: https://hellohas.co.jp/
Description: セブン-イレブン加盟店向け消耗品EC専用テーマ。
Version: 1.2.6
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: sej-consumables-theme
*/

:root {
  --sej-green: #008000;
  --sej-orange: #ff6600;
  --sej-red: #e60012;
  --sej-ink: #333;
  --sej-muted: #666;
  --sej-line: #e5e7eb;
  --sej-bg: #fff;
}

* {
  box-sizing: border-box;
}

html {
  margin: 0;
  padding: 0;
}

body {
  background: var(--sej-bg);
  color: var(--sej-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", Meiryo, sans-serif;
  letter-spacing: 0;
  margin: 0;
  min-width: 320px;
}

a {
  color: inherit;
}

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

.sej-site-header {
  background: #fff;
  border-bottom: 1px solid #eee;
  position: sticky;
  top: 0;
  z-index: 100;
}
.admin-bar .sej-site-header { top: 32px; }

.sej-site-header__inner {
  align-items: center;
  display: flex;
  gap: 28px;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1180px;
  min-height: 82px;
  padding: 12px 28px;
  width: 100%;
  position: relative;
}

.sej-site-brand {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 12px;
  text-decoration: none;
}

.sej-site-brand img {
  display: block;
  height: 58px;
  max-height: 58px;
  max-width: 58px;
  object-fit: contain;
  width: 58px;
}

.sej-site-brand__copy {
  color: #263238;
  line-height: 1.4;
}

.sej-site-brand__copy strong,
.sej-site-brand__copy small {
  display: block;
}

.sej-site-brand__copy strong {
  font-size: 15px;
  font-weight: 750;
  letter-spacing: .08em;
}

.sej-site-brand__copy small {
  color: #667078;
  font-size: 12px;
}

.sej-site-nav {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 16px 28px;
  justify-content: flex-end;
}

.sej-site-nav a {
  color: #222;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
}

.sej-site-nav a:hover {
  color: var(--sej-green);
}
.sej-site-nav .sej-nav-cta { background: var(--sej-green); border-radius: 7px; color: #fff; padding: 10px 16px; }
.sej-menu-button { background: transparent; border: 0; display: none; height: 50px; margin-left: auto; padding: 7px; width: 54px; }
.sej-menu-button span { background: var(--sej-ink); display: block; height: 2px; margin: 5px auto; width: 25px; }
.sej-menu-button em { display: block; font-size: 9px; font-style: normal; }

.sej-cart-link {
  align-items: center;
  border: 1px solid #ddd;
  border-radius: 999px;
  display: inline-flex;
  gap: 8px;
  padding: 8px 12px;
}

.sej-site-main {
  margin: 0 auto;
  max-width: 1500px;
  min-height: calc(100vh - 210px);
  padding: 72px 40px 120px;
  width: 100%;
}

.sej-page-title {
  color: var(--sej-ink);
  font-size: 30px;
  font-weight: 800;
  line-height: 1.35;
  margin: 0 0 34px;
}

.sej-page-title::after {
  background: var(--sej-green);
  content: "";
  display: block;
  height: 3px;
  margin-top: 18px;
  width: 220px;
}

.sej-content {
  margin: 0 auto;
  max-width: 1500px;
  width: 100%;
}

.sej-consumables-shortcode {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1500px !important;
}

.sej-shortcode-products {
  grid-template-columns: repeat(4, minmax(240px, 1fr)) !important;
}

.woocommerce,
.sej-content > .woocommerce {
  margin-left: auto;
  margin-right: auto;
  max-width: 1500px;
  width: 100%;
}

.woocommerce ul.products {
  display: grid !important;
  gap: 28px !important;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none !important;
}

.woocommerce ul.products li.product {
  float: none !important;
  margin: 0 !important;
  width: auto !important;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.wc-block-grid__product,
.wp-block-woocommerce-product-template li,
.wp-block-post.product {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
  text-align: center;
}

.woocommerce ul.products li.product img,
.wc-block-grid__product-image,
.wc-block-grid__product-image a,
.wc-block-grid__product-image img,
.wp-block-woocommerce-product-image,
.wp-block-woocommerce-product-image a,
.wp-block-woocommerce-product-image img {
  display: block !important;
}

.woocommerce ul.products li.product img,
.wc-block-grid__product-image,
.wp-block-woocommerce-product-image {
  align-items: center !important;
  aspect-ratio: auto !important;
  display: flex !important;
  height: 260px !important;
  justify-content: center !important;
  margin: 0 auto 24px !important;
  width: 100% !important;
}

.woocommerce ul.products li.product img,
.wc-block-grid__product-image img,
.wp-block-woocommerce-product-image img {
  height: 100% !important;
  max-height: 260px !important;
  max-width: 100% !important;
  object-fit: contain !important;
  width: 100% !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title,
.wp-block-post.product .wp-block-post-title,
.wp-block-post.product .wp-block-post-title a,
.wp-block-woocommerce-product-title,
.wp-block-woocommerce-product-title a {
  display: block !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  margin: 0 auto 4px !important;
  min-height: 46px !important;
  text-align: center !important;
}

.woocommerce ul.products li.product .price,
.wc-block-grid__product-price,
.wp-block-woocommerce-product-price {
  display: block !important;
  margin: auto auto 8px !important;
  text-align: center !important;
}

.woocommerce ul.products li.product .button,
.wc-block-grid__product-add-to-cart,
.wp-block-button.wc-block-components-product-button {
  margin-left: auto !important;
  margin-right: auto !important;
}

.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.wc-block-checkout input,
.wc-block-checkout select,
.wc-block-checkout textarea,
.wc-block-components-text-input input,
.wc-block-components-combobox .components-combobox-control__input,
.wc-block-components-form .wc-block-components-text-input input {
  font-size: 16px !important;
  line-height: 1.5 !important;
  min-height: 52px !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
}

.wc-block-components-text-input label,
.wc-block-components-combobox label,
.wc-block-components-form .wc-block-components-text-input label {
  left: 18px !important;
}

.wc-block-components-combobox .components-combobox-control__suggestions-container,
.wc-block-components-text-input {
  margin-bottom: 14px !important;
}

.sej-site-footer {
  border-top: 1px solid #eee;
  color: #777;
  font-size: 13px;
  padding: 28px 40px;
  text-align: center;
}

.sej-site-footer a {
  color: #777;
}

@media (max-width: 900px) {
  .admin-bar .sej-site-header { top: 46px; }
  .sej-menu-button { display: block; }
  .sej-site-header__inner {
    align-items: center;
    flex-direction: row;
    min-height: 70px;
    padding: 10px 18px;
  }

  .sej-site-nav { background: #fff; border-bottom: 1px solid var(--sej-line); box-shadow: 0 14px 38px rgba(27,58,45,.09); display: none; flex-direction: column; gap: 0; left: 0; padding: 14px 28px 24px; position: absolute; right: 0; top: 100%; }
  .sej-site-nav.is-open { display: flex; }
  .sej-site-nav a { border-bottom: 1px solid var(--sej-line); padding: 13px 4px; width: 100%; }
  .sej-site-nav .sej-nav-cta { margin-top: 12px; text-align: center; }

  .sej-site-main {
    padding: 48px 24px 80px;
  }

  .sej-shortcode-products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .woocommerce ul.products li.product img,
  .wc-block-grid__product-image,
  .wp-block-woocommerce-product-image {
    height: 220px !important;
  }

  .woocommerce ul.products li.product img,
  .wc-block-grid__product-image img,
  .wp-block-woocommerce-product-image img {
    max-height: 220px !important;
  }
}

@media (max-width: 560px) {
  .sej-site-brand img {
    height: 48px;
    max-height: 48px;
    max-width: 48px;
    width: 48px;
  }

  .sej-site-brand__copy strong {
    font-size: 13px;
  }

  .sej-site-brand__copy small {
    font-size: 10px;
  }

  .sej-site-nav {
    gap: 10px 16px;
  }

  .sej-site-nav a {
    font-size: 13px;
  }

  .sej-site-main {
    padding: 36px 18px 68px;
  }

  .sej-page-title {
    font-size: 25px;
  }

  .sej-page-title::after {
    width: 160px;
  }

  .sej-shortcode-products {
    grid-template-columns: 1fr !important;
  }

  .woocommerce ul.products {
    grid-template-columns: 1fr;
  }

  .woocommerce ul.products li.product img,
  .wc-block-grid__product-image,
  .wp-block-woocommerce-product-image {
    height: 210px !important;
  }

  .woocommerce ul.products li.product img,
  .wc-block-grid__product-image img,
  .wp-block-woocommerce-product-image img {
    max-height: 210px !important;
  }
}
